1. 程式人生 > >區塊鏈黑客攻擊之女巫攻擊

區塊鏈黑客攻擊之女巫攻擊

  區塊鏈是加密貨幣的底層技術,而加密貨幣憑藉其價值,引得無數人為之瘋狂,在高利益的驅使下,不乏黑客們對區塊鏈網路發起攻擊。本文和大家分享的就是區塊鏈黑客攻擊中的女巫攻擊。

  說到女巫,我們腦袋裡面最直觀的感覺就是女巫有法術,能變成不同身份的人。通常女巫都是邪惡的象徵,並且不幹啥好事。而我們這個女巫攻擊裡面的女巫,來源於某小說,指的是一個人格分裂的女人。不過,無論是哪一個女巫,首先它是具有欺騙性的,偽裝性的,並且能讓別人輕易相信它的一種變化行為。

  最早的女巫攻擊模型時在P2P網路中,指的是一個網路節點偽裝成多重身份,並且在網路中其他網路節點對於它的每一次偽裝都認為是不同的節點,就像一個特工頻繁的換衣服化妝以達到特定目的。當這些偽裝節點達到一定數量時,那麼就成功發起了一次女巫攻擊。在P2P網路中,惡意刷票、惡意刷排名、信譽等行為均可以視為女巫攻擊。

  那麼在區塊鏈網路中,女巫攻擊又是如何呈現的呢?其實原理差不多。

  區塊鏈的節點之所以能達到一致,是因為拜占庭容錯演算法。也就是說眾多節點在收到指令時相互之間進行驗證,前提條件是錯誤節點數要小於總節點數的三分之一才能保證驗證有效,並且節點總數大於3。可以理解為4個人中有一個人叛變,當大家相互驗證訊息時,即便這個叛變的人對每一個人都發出錯誤指令,那麼其他三個正常的人也會在驗證之後得到一致結果並且可以找出叛變的人。

  但是當節點總數未知時,我們來看這樣一個例子:四個人中有一個人叛變,但是這個叛變的人可以偽裝成不同的角色。每次偽裝成不同的角色時,其他人都會認為他是一個新角色。假設這個叛變者偽裝成了4個不同的人,不斷髮出錯誤指令,那麼其他人會認為總共有七個人在進行驗證,當叛變者人數大於總人數的三分之一時,此時其他人就會被叛變者所欺騙。

  當這種情況發生在區塊鏈系統中時,就會導致好節點被叉開並且雙花自己的代幣。不過女巫攻擊普遍存在於依賴於節點數的區塊鏈系統,像聯盟鏈。例如不法者在區塊鏈金融中可以將一份財產抵押通過女巫攻擊使用多次。

  而應對女巫攻擊,做好對於節點身份驗證才是關鍵,即每加入一個節點時都要相互驗證,使得好的節點可以識別出偽裝節點。隨著共識機制的不斷升級改變,對於一些區塊鏈網路攻擊的難度也是越來越大,對於一些攻擊出現,代表著區塊鏈的不成熟,也可以使得我們認識到問題在哪來,攻擊本身既是壞事也是好事。

  作者:黑色馬里奧

  原文連結:https://www.kg.com/article/509768564106989568