最長鏈比特幣
① eth挖礦是什麼原理
凡是涉及到幣,就一定離不開挖礦。以太坊網路中,想要獲得以太坊,也要通過挖礦來實現。說到挖礦,就一定離不開共識機制。
不知道大家還記得比特幣的共識機制是什麼嗎?比特幣的共識機制是 PoW (這是英文 Proof of Work 的縮寫,意思是「工作量證明機制」)。簡單來說,就是多勞多得,你付出的計算工作越高,那麼你就越有可能第一個找到正確的哈希值,就越有可能得到比特幣獎勵。
但是,比特幣的PoW存在著一定的缺陷,就是它處理交易的速度太慢,礦工們需要不斷地通過計算來碰撞哈希值,這是勞民傷財且效率低下的。對區塊鏈知識有涉獵的朋友們應該看到這樣一種說法:
以太坊為了彌補比特幣的不足,提出了新的共識機制,名叫 PoS(這是英文的縮寫,意思是「權益證明」,也有翻譯成「股權證明」的)。
PoS 簡單來講,其實就跟它的字面意思一樣:權益嘛,股權嘛,你持有的幣越多相當於你的股權越多,你的權益越高。
以太坊的PoS就是說:你持幣越多,你持有幣的時間越久,你的計算難度就會降低,挖礦會容易一些。
在以太坊最初的設定中,以太坊希望能夠通過階段性的升級,在前期依舊採用PoW來構建一個相對穩定的系統,之後逐漸採用 PoW+PoS,最後完全過渡到 PoS。所以,說以太坊的共識機制是PoS,沒錯,但是PoS只是以太坊發布之初的一個計劃或者說目標,目前以太坊還沒有過渡到 PoS,以太坊採用的共識機制仍是 PoW,就是比特幣那個 PoW,但是又和比特幣的PoW稍稍不同。
這里的信息量有點大,
第一個信息點是:以太坊目前採用的共識機制也是PoW,但是和比特幣的PoW稍稍不同。那麼,和比特幣的PoW到底有什麼不同呢:簡單來說,就是以太坊挖礦難度可以調節,比特幣挖礦難度不能調節。就好比咱們高考,因為各個省份的教學情況、生源人數都不一樣,所以高考分為全國卷和各省自主命題。
以太坊說我贊成這樣分地區出題,比特幣說:不行,必須全國同一卷,大家難度都一樣!
通俗解釋,就是,比特幣是利用計算機算力做大量的哈希碰撞,列舉出各種可能性,來找到一個正確哈希值。而以太坊系統呢,它有一個特殊的公式用來計算之後的每個塊的難度。如果某個區塊比前一個區塊驗證的更快,以太坊協議就會增加區塊的難度。通過調整區塊難度,就可以調整驗證區塊所需的時間。
以太坊協議規定,難度的動態調整方式是使全網創建新區塊的時間間隔為 15 秒,網路用 15 秒時間創建區塊鏈,這樣一來,因為時間太快,系統的同步性就大大提升,惡意參與者很難在如此短的時間發動51%(也就是半數以上)的算力去修改歷史數據。
第二個信息點是:以太坊最初的設定中,希望通過階段性升級來最終實現由 PoW 向
PoS過渡的。
時間追溯到 2014 年,在以太坊發布之初,團隊宣布將項目的發布分為四個階段,即 Froniter(前沿)、Homestead(家園)、Metropolis(大都會)和 Serenity(寧靜)。前三個階段共識機制採用 PoW(工作量證明機制),第四個階段切換到 PoS(權益證明機制)。
2015年7月30號,以太坊第一個階段「前沿」正式發布,這個階段只適用於開發者使用,開發人員可於在以太坊網路上編寫智能合約和去中心化應用程序 DAPP,礦工開始進入以太坊網路維護網路安全並挖礦得到以太幣。前沿版本類似於測試版,證明以太坊網路到底是不是可靠的。
2016年3月14日,以太坊進入到第二個階段「家園」,這一階段,以太坊提供了錢包功能,讓普通用戶也可以方便體驗和使用以太坊。其他方面沒有什麼明顯的技術提升,只是表明以太坊網路已經可以平穩運行。
2017 年 9 月,以太坊已經進行到第三個階段「大都會」。「大都會」由拜占庭和君士坦丁堡兩次升級組成,這個階段的的目標是希望能夠引入 PoW 和 PoS 的混合鏈模式,為 PoW向PoS的順滑過渡做准備。最近比較熱門的「以太坊君士坦丁堡升級」升級的就是這個,在君士坦丁堡升級中呢,以太坊將對底層協議和演算法做一些改變,來為實現 PoW 和
PoS奠定良好的基礎。
以太坊挖礦會得到對多少獎勵呢?贏得區塊創建競爭成功的礦工會得到這么幾項收入:
1、 靜態獎勵,5個以太坊;
2、 區塊內所花費的燃料成本,也就是Gas,這部分我們上一期內容講過;
3、 作為區塊組成部分,包含「叔區塊」的額外獎勵,叔就是叔叔的叔,每個叔區塊可以得到挖礦報酬的1/32作為獎勵,也就是5乘以1/32,等於0.15625 個以太坊。這里我們簡單解釋一下「叔區塊」,「叔區塊」這個概念是以太坊提出來的,為什麼要引進叔塊的概念?這還要從比特幣說起。在比特幣協議中,最長的鏈被認為是絕對的正確。如果一個塊不是最長鏈的一部分,那麼它被稱為是「孤塊」。一個孤立的塊是一個塊,它也是合法的,但是可能發現的稍晚,或者是網路傳輸稍慢,而沒有能成為最長的鏈的一部分。在比特幣中,孤塊沒有意義,隨後將被拋棄掉,發現這個孤塊的礦工也拿不到采礦相關的獎勵。
但是,以太坊不認為孤塊是沒有價值的,以太坊系統也會給與發現孤塊的礦工回報。在以太坊中,孤塊被稱為「叔塊」(uncle block),它們可以為主鏈的安全作出貢獻。 以太坊十幾秒的出塊間隔太快了,會降低安全性,通過鼓勵引用叔塊,使引用主鏈獲得更多的安全保證(因為孤塊本身也是合法的) ,而且,支付報酬給叔塊,還能激發礦工積極挖礦,積極引用叔塊,所以,以太坊認為,它是有價值的。
② 什麼是比特幣挖礦
秒懂比特幣挖礦:
1.我手上現在有一張面值100元的人名幣。(比特幣)
2.誰關注公眾號我就給誰。
3.但是需要在評論裡面猜出這張錢的編號才行。(挖礦,隨機填充數值求解)
自己想盡辦法猜,猜中得100元全款——個人挖礦
出錢召集一些人來一起猜——礦場
召集認識不認識的人一起來猜,通過猜測的次數,按比例分配這100元——礦池
以上是一個簡單的類比例子,當然,你們關注並猜出了我兜里100塊錢的編號,我保證給你。
那麼,比特幣挖礦到底是怎麼回事呢?
商業轉載請聯系作者獲得授權,非商業轉載請註明出處。
當張三想要通過A賬號轉賬1000元給李四的B賬號時:① 張三大吼一聲:大家注意啦,我用A賬號給李四的B賬號轉1000塊錢。② 張三附近的村民聽了確實是張三的聲音,並且檢查張三的A賬號是否有足夠余額。③ 檢查通過後,村民往自己的賬本上寫:A賬號向B賬號轉賬1000元,並修改余額:A賬號余額=3000-1000=2000元,B賬號余額=2000+1000=3000元。④ 張三附近的村民把轉賬告訴較遠村民,一傳十十傳百,直到所有人都知道這筆轉賬,以此保證所有人賬本的一致性。聰明如你一定發現了,在步驟② 如果張三吼了一聲,附近村民假裝沒聽到,都不去核實記賬,那麼這個系統不就停止工作了嗎?為解決這個問題,村裡商討後決定,誰第一個確認是張三的聲音的會獲得500元。於是大家都豎起耳朵,時刻監聽村裡的每一個動靜,真可謂草木皆兵。評論區有人問,這500元是哪兒來的?我這里也簡答講一下。1.比特幣平均差不多每10分鍾產生一個區塊,這個區塊能打包的交易數量是有限的,我們就算800筆吧。但是呢,曠工不會平白無故給你打包交易到並廣播,所以需要收取手續費。而且,由於交易的人很多,先打包誰的交易也取決於手續費的高低。所以你可以看到,現在比特幣火熱了,手續費水漲船高。2.我們都知道比特幣總量2100萬個,發幣機制是逐年遞減。當曠工第一個成功打包這個區塊並廣播,並且是最長的鏈的話,那麼他還會獲得獎勵,目前只有12.5個比特幣。最開始是50個,已經衰減2次了。這里當然還有小問題,比如為什麼要最長鏈,怎麼確定是最長鏈,哪些鏈會被拋棄?如果大家有興趣再深入說說。以上就是曠工的獎勵。2017/12/8更新。在比特幣的世界裡,大約平均每10分鍾會產生一個區塊。所有的挖礦計算機都在嘗試打包這個區塊並提交,而第一個成功生成這個數據塊的人,就可以得到一筆比特幣報酬。最初,大約每10分鍾就可以產生50個比特幣的比特幣報酬。但是該報酬每4年減半,現在每10分鍾比特幣網路就可以產生25個比特幣。好了,接著上面的故事講,張三這一吼,驚動了全村的人,大家都紛紛表示自己是第一個聽到張三聲音的人。這500塊錢該給誰呢?於是村裡又商討出新的規定,需要有證據證明這是張三的聲音。張三在喊的這一聲里帶有特定的聲波數據,誰先破解出來就給誰。在比特幣世界裡,這是就是一個新的概念,共識機制。比特幣是通過工作量證明的共識機制來決定記賬權的,通俗來講,誰證明了自己的工作量最大,誰就負責記賬。工作量大小是通過計算符合某一個標準的比特幣區塊頭的哈希散列值來體現的。區塊頭通常包含前一個區塊的哈希散列值、Merkle根、時間戳、難度目標、以及一個填充的隨機值。試圖爭奪記賬權的節點稱為挖礦節點,挖礦過程就是求出一個能夠填充本區塊頭的隨機值,讓區塊頭的哈希散列值符合某一個標准。
作者:Leaf
鏈接:https://www.hu.com/question/20792042/answer/261310341
③ 最長區塊鏈才是正確的區塊鏈
什麼是最長鏈?為什麼是正確的區塊鏈?
比特幣白皮書規定,節點永遠認為最長鏈是正確的區塊鏈,並將持續在它上面延長。所有礦工都在最長鏈上挖礦,有利於區塊鏈賬本的唯一性。如果給你轉賬的比特幣交易不記錄在最長鏈上,你將有可能面臨財產損失。
怎樣算是「最長的區塊鏈」呢?因為全世界的礦工同時在挖礦,有可能同時有2個礦工算出了正確的答案,那麼區塊鏈就會形成分叉,剩下的礦工有可能在其中任意一條分叉上繼續挖礦,延長區塊鏈。
所以我們通常要求在比特幣轉賬被打包之後,還需要經歷6個區塊的確認,確保礦工不會再回到另一條分叉上挖礦時,才算真正的轉賬成功。
④ 區塊鏈中的工作量證明機制(POW)是什麼
比特幣挖礦採用工作量證明機制,是什麼意思呢?
工作量證明(Proof of Work,簡稱POW)是共識機制的一種,可簡單理解為一份證明,證明你做過一定量的工作,即我通過查看工作結果就能知道你完成了指定量的工作。
比特幣挖礦採用的就是工作量證明機制,比特幣網路通過調節計算難度,保證每次競爭記賬都需要全網礦工計算約10分鍾,才能算出一個滿足條件的結果。該結果即「區塊頭」里包含的隨機數。
工作量證明是指,如果礦工找到了一個滿足條件的結果,我們便可以認為全網礦工完成了指定難度系數的工作量。獲得記賬權的幾率取決於礦工工作量佔比全網的比例,如果佔比30%,那麼獲得記賬權的幾率也是30%。所以提高工作量佔比才能提高競爭力,才能獲得更多新誕生的比特幣!
⑤ 比特幣如何防止篡改
比特幣網路主要會通過以下兩種技術保證用戶簽發的交易和歷史上發生的交易不會被攻擊者篡改:
非對稱加密可以保證攻擊者無法偽造賬戶所有者的簽名;
共識演算法可以保證網路中的歷史交易不會被攻擊者替換;
- 非對稱加密演算法3是目前廣泛應用的加密技術,TLS 證書和電子簽名等場景都使用了非對稱的加密演算法保證安全。非對稱加密演算法同時包含一個公鑰(Public Key)和一個私鑰(Secret Key),使用私鑰加密的數據只能用公鑰解密,而使用公鑰解密的數據也只能用私鑰解密。
- 1使用如下所示的代碼可以計算在無限長的時間中,攻擊者持有 51% 算力時,改寫歷史 0 ~ 9 個區塊的概率9:
- #include
- #include
- double attackerSuccessProbability(double q, int z) {
- double p = 1.0 - q;
- double lambda = z * (q / p);
- double sum = 1.0;
- int i, k;
- for (k = 0; k <= z; k++) {
- double poisson = exp(-lambda);
- for (i = 1; i <= k; i++)
- poisson *= lambda / i;
- sum -= poisson * (1 - pow(q / p, z - k));
- }
- return sum;
- }
- int main() {
- for (int i = 0; i < 10; i++) {
- printf("z=%d, p=%f\n", i, attackerSuccessProbability(0.51, i));
- }
- return 0;
- }
- 通過上述的計算我們會發現,在無限長的時間中,佔有全網算力的節點能夠發起 51% 攻擊修改歷史的概率是 100%;但是在有限長的時間中,因為比特幣中的算力是相對動態的,比特幣網路的節點也在避免出現單節點佔有 51% 以上算力的情況,所以想要篡改比特幣的歷史還是比較困難的,不過在一些小眾的、算力沒有保證的一些區塊鏈網路中,51% 攻擊還是極其常見的10。
- 防範 51% 攻擊方法也很簡單,在多數的區塊鏈網路中,剛剛加入區塊鏈網路中的交易都是未確認的,只要這些區塊後面追加了數量足夠的區塊,區塊中的交易才會被確認。比特幣中的交易確認數就是 6 個,而比特幣平均 10 分鍾生成一個塊,所以一次交易的確認時間大概為 60 分鍾,這也是為了保證安全性不得不做出的犧牲。不過,這種增加確認數的做法也不能保證 100% 的安全,我們也只能在不影響用戶體驗的情況下,盡可能增加攻擊者的成本。
- 研究比特幣這樣的區塊鏈技術還是非常有趣的,作為一個分布式的資料庫,它也會遇到分布式系統經常會遇到的問題,例如節點不可靠等問題;同時作為一個金融系統和賬本,它也會面對更加復雜的交易確認和驗證場景。比特幣網路的設計非常有趣,它是技術和金融兩個交叉領域結合後的產物,非常值得我們花時間研究背後的原理。
- 比特幣並不能 100% 防止交易和數據的篡改,文中提到的兩種技術都只能從一定概率上保證安全,而降低攻擊者成功的可能性也是安全領域需要面對的永恆問題。我們可以換一個更嚴謹的方式闡述今天的問題 — 比特幣使用了哪些技術來增加攻擊者的成本、降低交易被篡改的概率:
比特幣使用了非對稱加密演算法,保證攻擊者在有限時間內無法偽造賬戶所有者的簽名;
比特幣使用了工作量證明的共識演算法並引入了記賬的激勵,保證網路中的歷史交易不會被攻擊者快速替換;
- 通過上述的兩種方式,比特幣才能保證歷史的交易不會被篡改和所有賬戶中資金的安全。
非對稱加密
圖 4 - 51% 攻擊
總結
⑥ 美國一程序員把7500個比特幣當垃圾扔掉,比特幣現在值多少錢
比特幣現在的價格是245453,他的概念一開始是在2009年被提出來的。而且預估2021年也會是比特幣的一個牛市。比特幣的主要取決他有以下這些優點。
⑦ 比特幣系統規定要幾個個體確認後才算交易完成呢
6個區塊確認。
解釋:
A君給B君轉1個比特幣,除了要輸入交易金額1個比特幣外,還需要設置一定量的礦工費,在輸入秘鑰並點擊發送之後,需等待交易打包和6個區塊確認,才能完成這筆轉賬,而這個過程大概需要花費30分鍾~1小時。
比特幣網路上有很多節點,假設B和C節點在短時間差內都計算出工作量證明解,然後把自己挖到的區塊傳播到網路中,先傳播給鄰近節點,而後傳播到整個網路。
B和C礦工的區塊數據是不一樣的,但都是正確的,因此在這一刻出現了兩個都滿足要求的不同區塊,B和C附近進的D、E、F等等礦工在監聽到這個兩個區塊時,是有先後順序區別的。怎麼辦,先入為主,節點把先監聽的區塊復制過來,然後開啟新區塊的挖礦工作。
那這個時候不同節點,同時有不同版本的區塊鏈,而這兩個版本的區塊鏈,都被礦工們繼續開采。但是兩個版本的區塊鏈其增長速是不一樣的,總有一條鏈的長度要超過另一條鏈。當D、E、F等等礦工發現全網路中有一個條更長鏈的時候,他們會拋棄當前較短的鏈,轉到更長鏈上進行挖礦。而那些被礦工成功挖掘的塊,因為不是在最長鏈上而被拋棄了,他們叫過時塊。這些過時塊中的數據,又需要等待重新被寫入區塊中。
當一筆交易獲得6個區塊確認後,從而以確認該交易是在最長分支的區塊鏈里,不可篡改,然後才能夠花費小星轉他的比特幣。
(7)最長鏈比特幣擴展閱讀
比特幣交易確認過程
(1)錢包創建交易
錢包軟體通過收集UTXO、 提供正確的解鎖腳本、 構造支付給接收者的輸出這一系列的方式來創建交易。 產生的交易隨後將被發送到比特幣網路臨近的節點, 從而使得該交易能夠在整個比特幣網路中傳播。
(2)交易獨立效驗
每一個收到交易的比特幣節點將會首先驗證該交易,有效的交易將被傳遞到臨近的節點,這將確保只有有效的交易才會在網路中傳播, 而無效的交易將會在第一個節點處就被廢棄。
驗證的交易添加到交易地:驗證交易後, 比特幣節點會將這些交易添加到自己的交易池, 用來暫存尚未被加入到區塊的交易記錄。
(3)節點確認交易
假設有個比特幣網路節點A,其收集到了區塊277,314。接下來A節點做兩件事:1.嘗試挖掘新區塊;2.監聽其他節點是否挖出新的區塊。 如果A節點監聽到了區塊277315,則標志著277,315區塊競爭結束。與此同時開啟區塊277,316的競賽。
A節點在接收並驗證區塊277,315後,會檢查內存池中的全部交易, 移除已經在區塊277,315中出現過的交易記錄,確保任何留在內存池中的交易都是未確認的,等待被記錄到新區塊中,而被移除的交易記錄獲得一次確認交易。把包含在區塊內且被添加到區塊鏈上的交易稱為確認交易。
⑧ 比特幣每枚價格一度超過3.3萬美元!為何這么多人痴迷比特幣
比特幣有以下的優點。
一、無法篡改,無法偽造。在現實生活中我們可能會遇到假鈔,但是在比特幣的系統中,所有東西都是記錄在案的,不需要擔心假幣的問題。
在比特幣的網路上,他是採用工作量證明機制以及最長鏈機制保障的,比特幣的網路裡面,一般認為最長的鏈才是最正確的鏈,正是因為這個鏈條負責,修改起來也是十分有難度的。除非你擁有超過一般的算力,否則是沒有辦法完成篡改的。
換句話來說,如果你的個人的私鑰不丟失,你的比特幣就永遠都是你的,不會被別人篡改。
⑨ 為什麼比特幣不怕被盜
比特幣最重要的特性是去中心化,比特幣的去中心化是用非對稱加密技術和分布式存儲實現的。比特幣第2個特性是不可篡改,這是用工作量證明機制和最長鏈機制來保障的。
⑩ 區塊鏈本質是什麼比特幣原理又是什麼二者究竟有何區別
一枚比特幣價格從2萬多美元狂漲到4萬美元。這不由得引起了我的研究興趣,或者說簡單了解了一下比特幣到底是什麼,它的機理具體是什麼樣子的,揭開它的神秘面紗。因此,簡單搜索了一些資料,也對比特幣有些了解,便把手頭上的資料整理了一下。
(3)目的:去中心化,減少風險
中心式網路只有中央伺服器能夠存儲和處理數據,其缺點是工作量大,一旦癱瘓則整個系統癱瘓;數據存儲量大;中央管理者許可權大。
分布式網路中的所有伺服器均能夠存儲和處理數據,各伺服器之間地位平等,可以存儲更多的數據和具有更高的安全性。
大致的科普內容就是這樣,如果還想多了解一些,可以看看中本聰的論文和下面的官方科普視頻。