日食攻擊,女巫攻擊,吸血鬼攻擊都是些什麼呢?

買賣虛擬貨幣

什麼是日食攻擊?

日食攻擊是一種攻擊去中心化網路的方法,攻擊者透過這種方法試圖隔離和攻擊一個或多個特定使用者,而不是攻擊整個網路。

在這篇文章中將解釋以太坊的一些特性,包括它的叔塊機制,如何使它更容易受到這種攻擊。

區塊鏈中的資料結構

區塊鏈是一個去中心化的協議,它將資料庫分佈在其網路中的多個節點上,為過去、當前和未來的交易建立共識機制。區塊鏈中的資料結構表示為區塊。

在一個去中心化的區塊鏈網路中,參與者同意什麼是正確的,而不是一箇中央權威。區塊鏈也是透明和不可變的,所有網路參與者都可以看到網路上發生的事情,而且交易日期不能被更改,除非透過一個商定的機制。

比特幣區塊鏈中的區塊型別

創世區塊

創世區塊是任何區塊鏈的第一個區塊,該區塊是系統的基本起點,並與所有未來的交易相連。世界上第一個創世區塊是由中本聰建立的,在此過程中,他創造了比特幣。

創世區塊的存在使區塊鏈能夠透過允許新建立的區塊與以前的區塊相關聯來生成它的交易歷史。此外,創世區塊在同步網路節點方面有一個重要的功能——它們的資料庫中都必須有相同的創世區塊。這確保了區塊鏈的分散式交易簿對每個人都是相同的,從而提供了安全性。

主鏈區塊

主鏈區塊是所有經過驗證幷包含在區塊鏈中的區塊。為了實現這一點,區塊必須透過節點解決其分配的密碼謎題來獲得網路的同意。一旦網路達成共識,該區塊就包含在區塊鏈中,並由所有節點傳播。這樣,網路的每個節點都有新的區塊,並作為它的一個驗證點。

每個有效區塊內部包含一系列與該區塊一起驗證的交易。例如,在比特幣中,每個有效區塊平均承載2100筆交易。一個有效區塊中的每一筆交易都被確認。

所有有效區塊繼續確認以前的交易,充分保護網路上的所有區塊和交易。當然,每個有效的區塊包含一個允許驗證的資料結構。該結構包括區塊的雜湊值、它的時間戳、它的nunco和它的區塊交易資料。搜尋候選解決方案的過程稱為挖掘,參與的節點稱為礦工。為區塊的密碼謎題生成有效解決方案的每個礦工都成為領先者,並被允許確定未確認的交易集。然後將它們追加到區塊鏈中。

孤塊

孤塊或陳舊塊是不屬於區塊鏈的有效區塊。當兩個礦工幾乎同時驗證區塊時,或者當具有足夠雜湊能力的攻擊者試圖逆轉交易時,可以建立這些資料。在這些情況下,網路共識協議將起作用,以決定哪些區塊將被包含在鏈中,哪些將被孤立。

實際上,一個區塊鏈網路被程式設計成總是偏愛最長的區塊鏈。也就是說,它將選擇包含更多資訊或處理過的交易的區塊。在比特幣區塊鏈中,孤塊被丟棄,礦工執行的工作是無用的。

此外,正是由於這種型別的區塊,大多數交易所和一些錢包將自動等待額外的確認,才使資金可用。它們透過計算使用者正在接收的交易和當前區塊之間挖掘了多少區塊來實現這一點。

>eth.getBlock(blockNumber)

}

>eth.syncing.highestBlock -eth.getTransaction(“ “).blockNumber

區塊是如何驗證的?

區塊鏈系統使用Merkle樹資料結構,這使得它們(在理論上)是不可變的。Merkle樹是Ralph Merkle在1979年申請專利的,在密碼學中被廣泛使用。Merkle樹是驗證共享資料是否被更改、損壞或更改的基本方法,非常適合區塊鏈,因為它是輕量級的。例如,由於比特幣的Merkle樹結構,使用者的移動錢包不需要下載所有的比特幣交易來驗證它們。

給定區塊中的每個交易對應於Merkle樹中的一個葉子,透過雜湊單個交易遞迴構建Merkle根。

對交易(葉)進行雜湊以建立額外的葉節點,這些葉節點可能對應於區塊鏈網路中的交易。儘管可以從大量的交易中建立Merkle樹,但Merkle根總是對應於一個32位元組或256位的字串(例如,SHA256雜湊演算法總是輸出32位元組的固定長度,而不管輸入的大小)。透過這種方式,我們可以使用小到32位元組的資料來驗證多達數千個交易。

根據案例,任何更改,無論多麼小,都會阻止對Merkle根的驗證,並使區塊鏈的部分或全部歷史失效。

以太坊區塊鏈中的區塊型別

以太坊與比特幣的一個不同之處在於,它有一個更快的區塊建立機制,旨在加快交易過程。但是,當區塊生成之間的時間間隔非常短(大約15秒)時,會建立大量孤塊,因為將所有這些區塊都包含在區塊鏈中是低效的。

這導致了礦工在沒有獎勵的情況下浪費時間在區塊上工作的問題。為了解決這個問題,以太坊的開發者推出了GHOST協議。

GHOST代表Greedy Heaviest Observed Subtree,這個概念很簡單。它獎勵那些驗證孤塊的礦工,儘管其獎勵低於標準區塊。為了釋放獎勵,區塊必須被主鏈中的區塊引用——或者叔塊。

該機制的另一個優點是解決了網路中心化的問題。當快速建立區塊時,大型礦池很容易壟斷區塊驗證,導致較小的競爭對手建立無數無用的孤塊。

以太坊區塊鏈中的區塊型別

以太坊區塊鏈中有兩種型別的區塊:

主鏈區塊是包含在以太坊區塊鏈中的區塊。發現它的礦工將獲得獎勵。

叔塊是經過身份驗證但未包含在主區塊鏈中的區塊。礦工因此得到的報酬比有效區塊低。

想象一下,兩個在世界不同地方的礦工在同一時間開採同一個區塊。然後它們在整個網路中傳播它們的區塊。這可能會在鏈中產生分歧,所以必須選擇一個,而較大的區塊總是獲勝。未被選中的區塊將成為孤兒(在比特幣中)或叔叔(在以太坊中)。與比特幣不同的是,以太坊礦工將獲得 1/8 的完整區塊獎勵以挖掘叔塊。

叔塊獎勵如何運作

主鏈區塊的礦工可以引用叔塊,當他們這樣做時,一個額外的獎勵分配給主鏈區塊的礦工和叔塊的礦工。主鏈中包含的每個區塊可以引用最多兩個叔塊,併為每個引用的叔塊提供1/32的完整區塊獎勵。然而,支付給礦工的報酬隨著時間的推移而減少。

透過保證對浪費的計算工作的補償,並透過使獎勵隨著時間的推移而減少,競爭鏈上的礦工有動力重新加入主鏈。這些叔塊有助於鏈安全,也減少51%的攻擊概率。

在以太坊礦池中,可以以多種方式分佈:

比例支付計劃

在這個簡單的方案中,礦工將根據在池發現的兩個區塊之間的時間間隔內提交的股票數量獲得相應的獎勵。因此,一個區塊獎勵B將在池中的N個礦工之間根據他們各自提交的份額進行分配。

按最後 N 股支付 (PPLNS)

(PPLNS)計劃按照最近提交的N股份額比例分配獎勵。

基於佇列的支付計劃

Ethpool3是第一個引入基於佇列獎勵機制的以太坊採礦池。在這一機制下,礦工對提交給池運營商的每一份額累積信用。每次由池開採一個完整的區塊時,區塊獎勵被分配給池中累積信用餘額最高的礦工。然後,頂級礦工將其信用餘額重置為他們自己和池中第二高的信用餘額之間的差異。

引用關係創造了一個額外的鑄造獎勵,對於普通區塊所有者是完整區塊獎勵的1/32,對於叔塊的 (8 - i)/8。根據引用的區塊高度,變數i的範圍是1到6。

除了最佳化區塊鏈的結構,以太坊還有另外兩個安全改進。一個是隨機打破平局規則。一個節點不是接受接收到的第一條鏈,而是在所有接收到的相同長度的鏈中隨機選擇一條鏈。γ的數目不再是固定的,等於競爭鏈數的倒數。另一個目標是免除叔塊的採礦戰略。

叔塊和日食攻擊

日食攻擊是如何工作的?

日食攻擊要求攻擊者控制主機節點的殭屍網路(每個節點都有自己的IP地址),並計算出受害者的鄰近節點,基本上是透過反覆試驗。實現這一目標所需的努力取決於網路的規模和性質,但如果成功,攻擊者將在受害者登出並重新加入網路後控制所有連線節點。

在這個場景中,有三個參與者——攻擊者、受害者和一個誠實節點。如果受害者發現了一個區塊,攻擊者就不會將此區塊傳播到網路。如果攻擊者發現了一個區塊,他們就和受害者分享。透過這種方式,攻擊者為自己和被遮蔽的節點建立了一個私有區塊鏈。

這樣,攻擊者可以獲得比誠實挖礦多 96.4% 的收益。日食攻擊是可能的,因為在去中心化的網路中,一個節點不能同時連線到網路上的所有其他節點。相反,為了提高效率,一個給定節點將連線到一組選定的其他節點,這些節點依次連線到自己的選定組。因此,僅使用兩臺具有唯一IP地址的計算機就可以發起日食攻擊。

以太坊依賴於基於一種名為Kademlia的協議的結構化網路,該協議旨在讓節點更有效地連線到其他節點。透過使用金鑰生成演算法,攻擊者可以非常迅速地建立無限數量的節點ID(點對點網路上的識別符號)。更糟糕的是,攻擊者甚至可以建立節點 ID,使它們比隨機節點 ID 對受害者更具吸引力,基本上將受害者吸引到他們身邊。

以太坊有三個特徵可能使其容易受到日食攻擊。首先,快速建立區塊會創造出無盡的鬆散區塊,透過增加以太幣的供應量間接侵犯了誠實礦工的利益。其次,叔塊機制意味著節點可以從這些區塊中獲利。第三,以太坊增強的節點連線性為攻擊者提供了動機。

女巫攻擊

電腦保安方面的女巫攻擊是指一個人試圖透過在同一個網路上建立多個身份/賬戶/節點來接管網路,而這些身份/節點對該網路的其他參與者來說似乎是不同的唯一身份。女巫攻擊背後的動機是破壞聲譽系統中的權威/權力。用更簡單的術語來理解這一點——目標是讓網路中的大多數人按照引起這種攻擊的個人的需要在網路中執行過程(與網路內的規則集不一致)。讓我們透過現實世界的情況更好地理解這一點,該情況引起了很多緊張,但這將有助於使這個概念更容易,與它創造的情況不同。。

現在,在深入瞭解區塊鏈與女巫攻擊的關係以及如何阻止它們之前,先簡要介紹一下女巫這個名字是如何被選擇的。1973年《女巫》一書出版。它講的是一個名叫 Sybil Dorsett的女人,她正在接受精神分析學家Cornelia B. Wilbur的治療,她患有分離性身份識別障礙,也被稱為多重人格障礙。由於這個概念的相似性,微軟研究院的Brian Zill建議將其命名為Sybil Attack。

區塊鏈網路是一個非常容易受到攻擊的系統。區塊鏈網路由不同的節點組成,這些節點使用工作證明(Proof of Work, PoW)等共識演算法得出一個結論,即要新增的區塊是否正確。由於共識要求大多數人對區塊的真實性達成一致,因此要求這些節點不受單個實體的控制,這樣就可以防止出現故障節點的增加。這就是 Sybil 攻擊的位置:如果攻擊者建立了足夠多的假身份,攻擊者就可以從網路中擊敗誠實節點。在這種情況下,甚至可以更改交易順序;但是管理如此大量的計算能力被認為幾乎是不可能的。

為了防止女巫攻擊區塊鏈網路,使用了不同的共識演算法,如工作證明(Proof of Work, PoW)、權益證明(Proof of Stake, PoS)、委託權益證明(Delegated Proof of Stake, DPoS)。雖然它們不能直接阻止女巫攻擊,但它們使攻擊者幾乎不可能進行女巫攻擊。這些共識演算法背後的共同概念是附加在網路中建立身份的成本。例如,在工作證明(PoW)共識演算法中,使用者必須執行一系列困難的計算,然後只有他們才能新增區塊。一個試圖用大量假身份淹沒網路的攻擊者將不得不解決相應次數的計算,在計算週期中花費金錢,使攻擊更加困難和低效。這就是限制攻擊者氾濫並接管網路的原因。

吸血鬼攻擊

吸血鬼攻擊的第一步是鼓勵另一個平臺的流動性提供者將他們的LP代幣(代表所提供的流動性)抵押到一個新平臺。

在Sushi的例子中,Uniswap的流動性提供者被激勵將他們的LP代幣放在SushiSwap上,這樣他們就可以獲得以SUSHI代幣支付的額外獎勵。SushiSwap一開始就為SUSHI代幣制定了一個相當激進的發行計劃——每個以太坊區塊1000個SUSHI,分發給Uniswap的多個不同池的流動性提供者,如SNX-ETH、LEND-ETH、YFI-ETH、LINK-ETH。讓多個DeFi社群參與進來的想法已經被Yam成功地採用,並被SushiSwap重複利用。

一旦協議吸引了足夠的流動性,吸血鬼攻擊的下一步就是將已抵押的LP代幣遷移到一個新平臺。這樣一來,一個新平臺就可以將遷移的流動性用於自己的自動做市商,不僅竊取了流動性,還竊取了第一個平臺的交易量和使用者。

流動性基本上是從第一個平臺被吸走,轉移到第二個平臺,因此得名“吸血鬼攻擊”。

說到Sushi,這就是Sushi的MasterChef合同發揮作用的地方。MasterChef合約一旦被觸發,就能夠將LP代幣從Uniswap遷移到Sushiswap,基本上竊取了Uniswap的流動性。一旦流動性轉移,就可以立即用於SushiSwap上的交易。

為了鼓勵流動性提供者參與遷移,所以計劃了一些額外的激勵措施。首先,SUSHI流動性挖礦計劃將在遷移後繼續進行,但排放量會減少(每個區塊100個SUSHI)。最重要的是,那些決定持有SUSHI代幣而不是出售代幣的人將從SushiSwap獲得一大筆交易費用。

在一個成功的吸血鬼攻擊結束後,一個新的協議理論上應該可以獲取原始專案的大量流動性、使用者和交易量。

這基本上就是吸血鬼攻擊的計劃。

關於

ChinaDeFi - ChinaDeFi.com 是一個研究驅動的DeFi創新組織,同時我們也是區塊鏈開發團隊。每天從全球超過500個優質資訊源的近900篇內容中,尋找思考更具深度、梳理更為系統的內容,以最快的速度同步到中國市場提供決策輔助材料。如果您是從業者希望獲得更多海外最新技術方案及專案資訊,可以檢視Gavin的“每日文章”筆記https://day.chinadefi.com(內容可能比較生澀,但是相信可以帶來幫助)。同時歡迎加入ChineDeFi社羣,敬請關注我們的微信公眾號 “去中心化金融社羣”

Layer 2社羣 - 我們正在組建專業的Layer 2社羣,歡迎對Layer 2感興趣的區塊鏈技術愛好者、研究分析人與Gavin(微信: chinadefi)聯絡,共同探討Layer 2帶來的落地機遇作者:ChinaDeFi,來源:去中心化金融社羣

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读