尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️
51%的攻擊或雙重攻擊是區塊鏈中的礦工或礦工群體試圖在該區塊鏈上花費兩次數字加密貨幣。他們試圖「雙重花費」,因此得名。這樣做的目的並不總是加倍花費數字加密貨幣,但更常見的是通過影響其完整性來對某個加密數字貨幣或區塊鏈進行攻擊。
這是一個簡單的例子:假設我在豪華車上花了10比特幣。幾天後汽車交付,我的比特幣從我的帳戶轉帳到汽車公司。通過對比特幣區塊鏈進行51%的攻擊,我現在可以嘗試撤銷這種比特幣轉帳。如果我成功了,我將擁有豪華車和比特幣,我還可以再次使用這些比特幣。從自治的民主區塊鏈的角度來看,51%攻擊的概念似乎是顯而易見的,但對其運作方式存在一種常見的誤解。這篇簡短的文章將嘗試對51%的攻擊如何更詳細地進行清晰的解釋。如果你不知道礦工們如何向區塊鏈添加交易,我建議你先閱讀礦工如何通過七個步驟向區塊鏈添加交易,因為只需要五分鐘的就可以了。如果你不知道區塊鏈是如何工作的,我建議你從這里開始。
區塊鏈=治理
在詳細了解51%的攻擊之前,重要的是要了解區塊鏈協議基本上是一種治理形式。區塊鏈管理數據的分類帳,例如交易數據。由於區塊鏈協議可以為我們管理,我們不再需要第三方來執行此操作,例如政府或銀行。這就是(大多數)區塊鏈去中心化的原因。比特幣區塊鏈的協議基於民主自治制度,這意味著網路上的大多數參與者(礦工)將決定哪種版本的區塊鏈代表真相。
51%的攻擊如何發揮作用
當比特幣所有者在交易中簽字時,它會被放入未經證實的交易的本地池中。礦工從這些池中選擇交易以形成交易塊。為了將這個交易塊添加到區塊鏈中,他們需要找到解決非常困難的數學問題的方法。他們試圖使用計算能力找到這個解決方案。這稱為哈希( 在此處閱讀有關哈希算法的更多信息 )。礦工的計算能力越強,在其他礦工找到解決方案之前找到解決方案的機會就越大。當礦工找到解決方案時,它將與其他礦工一起廣播(連同他們的區塊),並且只有當區塊內的所有交易根據區塊鏈上的現有交易記錄有效時,他們才會驗證它。請注意,即使是惡意的礦工也永遠不會為其他人創建交易,因為他們需要該人的數字簽名才能這樣做(他們的私鑰)。因此,如果不訪問相應的私鑰,就無法從其他人的帳戶發送比特幣。
偷挖采礦——創造區塊鏈的後代
現在要注意了。然而,惡意礦工可以嘗試逆轉現有交易。當一個礦工找到一個解決方案,它應該被廣播給所有其他礦工,以便他們可以在塊被添加到區塊鏈之後進行驗證(礦工達成共識)。然而,惡意礦工可以通過不將其塊的解決方案廣播到網路的其餘部分來創建區塊鏈的後代。現在有兩個版本區塊鏈。
現在有兩種版本的區塊鏈。紅色區塊鏈可以被認為是「偷挖」模式。
一個版本正在被無瑕疵的礦工跟隨,一個被惡意的礦工跟隨。惡意礦工現在正在研究他自己的區塊鏈版本,而不是將其廣播到網路的其他部分。網路的其餘部分沒有接受這個鏈,因為畢竟它還沒有被廣播。它與網路的其他部分隔離。惡意礦工現在可以把他所有的比特幣花在區塊鏈的真實版本上,這是所有其他礦工正在研究的版本。比方說,他把它花在蘭博基尼身上。在真實的區塊鏈上,他的比特幣現在已經用完了。同時,他沒有將這些交易包含在他的隔離版區塊鏈中。在他的孤立版區塊鏈上,他仍然擁有那些比特幣。
與此同時,他仍在挑選區塊,他在隔離版的區塊鏈上自行驗證了所有這些。這就是所有麻煩開始的地方……區塊鏈被編程為遵循民主治理模式,即大多數。區塊鏈通過始終跟隨最長的(實際上最重的,但不要讓事情太複雜化)鏈來做到這一點,畢竟,大多數礦工比其他網路更快地將塊添加到他們的區塊鏈版本中( 所以最長鏈=多數 )。這就是區塊鏈確定其鏈條的哪個版本是真實的,以及錢包的所有餘額所依據的。一場比賽現在開始了。擁有最多哈希能力的人將更快地為他們的鏈接版本添加塊。
競賽——通過廣播新鏈來扭轉現有交易
惡意礦工現在會嘗試將塊添加到他的隔離區塊鏈中,比其他礦工更快地將塊添加到他們的區塊鏈(真實的)。一旦惡意礦工創建了更長的區塊鏈,他就會突然將此版本的區塊鏈廣播到網路的其他部分。網路的其餘部分現在將檢測到區塊鏈的這個(惡意)版本實際上比他們正在處理的版本更長,並且根據協議強制它們切換到這個鏈。
惡意區塊鏈現在被視為真實的區塊鏈,並且此鏈中未包含的所有交易將立即被撤銷。攻擊者之前已經將他的比特幣用在了蘭博基尼上,但這筆交易並沒有包含在他的隱形鏈中,這條鏈現在已經被掌控,所以他現在又一次控制著那些比特幣。他能夠再次花費它們。
這就是一次雙重攻擊。它通常被稱為51%攻擊,因為惡意礦工將需要比網路其餘部分組合更多的哈希能力(因此具有51%的哈希能力),以便更快地將塊添加到他的版塊的區塊鏈中,最終允許他要建立一個更長的鏈條。
那麼比特幣如何防范這種情況呢?
實際上,這些攻擊非常難以執行。如前所述,礦工將需要比網路其他部分更多的哈希能力來做到這一目標。考慮到比特幣區塊鏈上甚至可能有成千上萬的礦工,惡意礦工將不得不花費大量資金在采礦硬件上與網路的其他部分競爭。即使是地球上最強大的計算機也無法與該網路上的總計算能力直接競爭。還有無數其他反對進行51%攻擊的論點。例如,被捕和被起訴的風險,以及電費,租用所有采礦硬件的空間和存儲,覆蓋你的軌道和洗錢。像這樣的操作只是為了給攻擊者的回報需要付出太多努力,至少在比特幣區塊鏈的情況是這樣的。
其他區塊鏈是否容易受到攻擊?
另一個有趣的故事是,無論執行此類攻擊的難度如何,過去實際上已經發生了多次51%的攻擊。事實上,最近(2018年4月)在Verge(XVG)區塊鏈上進行了攻擊。在這種特定情況下,攻擊者在邊緣區塊鏈協議的代碼中發現了一個錯誤,該錯誤允許他以極快的速度生成新的塊,使他能夠在短時間內創建更長版本的Verge區塊鏈。此示例說明了一個可以觸發51%攻擊的事件,盡管非常罕見,並且通常歸功於協議代碼中的錯誤。一個可靠的區塊鏈開發人員團隊可能會注意到這樣的錯誤,並防止它被濫用。
在檢查這個「工作證明量」POW算法(挖掘算法)時,它告訴我們更多的主動哈希/計算能力可以提高51%攻擊的安全性。盡管像小型山寨幣一樣操作這種算法的較小區塊鏈可能會更容易受到這種攻擊,因為攻擊者沒有那麼多的計算能力來競爭。這就是為什麼51%的攻擊通常發生在小型區塊鏈(例如比特幣黃金)上,如果它們發生的話。比特幣區塊鏈以前從未成為51%攻擊的犧牲品。
(作者:曲速未來安全區,內容來自鏈得得內容開放平台「得得號」;本文僅代表作者觀點,不代表鏈得得官方立場)