logo

著名的「區塊鏈51%攻擊」並沒有那麽可怕?

瀏覽數

99+

在比特幣和加密貨幣世界中,遇到很多從未見過的概念和表達,並且真正理解其含義的現象並不少見。在本文中,我將試圖揭開其中一個概念的神秘面紗,即著名的51%攻擊。

51%攻擊與其它概念密不可分,例如挖礦、共識機制、孤塊和雙花問題,如果讀者不熟悉這些名詞將會很難理解。在這里為不限制我對51%攻擊的討論,我將進行簡要講解。

2019092915315759469.jpg

簡介

比特幣是基於分佈式賬本的點對點支付系統,該賬本由網絡所有參與者共享。分佈式賬本就是一個記錄簿,網絡權益持有者之間的所有交易往來都記錄在上面。這個賬本由一個個區塊鏈接而成,新的交易被記錄在新區塊上,新區塊被不斷被添加到現存鏈上,因此有了區塊鏈這個術語。

向現有的鏈添加新區塊(連同其上所載交易)需要高強度的計算工作,我們將這項工作稱為挖礦,由比特幣網絡上被稱為“礦工”的指定節點執行。礦工的計算能力被稱為哈希率,以每秒哈希數(H/s)或若干倍的哈希數來度量。所有的礦工都在互相競爭,誰贏了誰就可以把新區塊加到鏈上,並得到相應的獎勵。哈希率越高贏得比賽的機會就越大。

由於比特幣賬本是分佈式的,例如,網絡上的每一個節點都有一份區塊鏈的副本,因此不同的參與者有必要就一套規則達成一致,使整個網絡的支付系統可靠且一致。我們將這套規則稱為共識協議。

共識協議要解決的問題之一是如何處理不同的節點最終呈現出不同區塊鏈版本的場景。當兩個礦工幾乎同時各自延長區塊鏈時就會出現這種情況,導致出現兩個版本略有不同且相互競爭的賬本。這種不一致通過等待下一個礦工將新的區塊添加到兩條鏈中的任一條來解決。首先被延伸的鏈將贏得網絡共識,另一條鏈從而將被丟棄。用一個通用說法來解釋就是,最長的鍊是國王。包含在被丟棄的鏈上的區塊(通常只有一個)被稱為孤塊。孤塊上包含的交易(除非也被添加到最長鏈)則會被返回內存池,這是一種不確定狀態,所有未被確認的交易都等待被選擇並打包進一個新區塊。

如果一筆交易(無論是否來自孤塊)在內存池等待時間過長(幾天),該交易都將被取消,資金會被返還到發送者錢包。這將可能導致雙花問題,最終用於購買商品或服務的交易會被取消,並且買家在保留原先購買的商品或服務的同時收回其資金。

為了避免雙花問題,只有在將一定數量的新區塊添加在該筆交易相關的區塊之上後,此交易才會被確認。在比特幣中,新區塊數被設置為6個。

現在我們已經了解所有的概念和術語了,可以來最終討論51%攻擊了。

51%攻擊

51%攻擊並不是試圖破壞或乾擾共識協議,相反,它遵循協議規則幫助攻擊者更改區塊鏈的內容從而受益。為了解釋如何實施51%攻擊,我們需要考慮以下情形。一組超過整個比特幣網絡51%算力的礦工決定將自己從其它部分中分離,同時在自己的部分中保持通信。

1569734060726733.png

描述1:一組超過整個比特幣網絡51%算力的礦工決定將自己從其它鏈中分離,同時在自己的鏈中保持通信。

在切斷與其它部分的連接後,該組礦工將照常進行挖礦工作,不同的是,他們將不會與另外一組礦工共享任何進度,也不會收到另一組礦工的進度更新。換句話說,雖然在分離時,兩組礦工擁有相同的賬本副本,但是在分離後,兩組將開始彼此獨立延伸其內部共享的副本。

現在,哪個區塊鏈版本將更快被延伸?由於分離的組(攻擊者)算力已經超過剩餘部分,因此,它能比剩餘組更快的延伸自己的鏈副本。給定一定的時間,兩個版本的鏈的長度之差將與兩組哈希算力之差在統計上成正比。

1569734349238858.png

描述2:由於分離的組(攻擊者)擁有更大算力,因此他們能比剩餘部分更快地延伸其版本鏈。

如果現在分離組的礦工重新加入剩餘組,則該鏈的兩個競爭版本將在整個網絡中廣播,根據共識協議規則,節點將保留較長版本鏈並刪除較短版本。這就意味著,從分離之時到重聚之時,剩餘組所挖的較短鏈上的區塊將被孤立,區塊上的交易(至少一部分交易)將被返還至內存池。

1569734385403692.png

描述3:如果與網絡分離的礦工重新加入剩餘組,且他們的區塊鏈版本更長,其將贏得共識。

如果被返還到內存池的交易被用於購買商品,這種情況將打開雙花的可能性大門。最重要的是,最初從網絡中分離出來的一組礦工可以阻止那些被選擇並打包進新區塊的交易,因為他們仍然擁有超過全網51%的算力。如果這些交易在內存池中停留時間超過一定時間限制(比特幣為72小時),則交易取消,資金會返還給原始接收者(買方錢包)。這時,買方將保留資金並獲得用這些資金購買的商品。如果51%攻擊是有預謀和協同進行的,攻擊者可能會利用這一尚未解決的雙花問題,擁有他們最終並沒有支付的商品。

作者 | Ettore Murabito來源 | Medium翻譯 | 頭等倉(First.VIP)轉載請保留文末信息。原文:https://medium.com/swlh/the-51-attack-what-is-it-d295e70b9ac4稿源(譯):https://first.vip/shareNews?id=2255&uid=1