比特幣價格 比特幣價格
Ctrl+D 比特幣價格
ads

POS:硬核:不持有代幣也能對 PoS 網絡發起攻擊?_Galtcoin

Author:

Time:1900/1/1 0:00:00

本文為DecentralizedSystemsLab發表的討論使用最長鏈規則的PoS系統安全性的文章。按照某種劃分方法,PoS系統可以分為鏈式結構型和拜占庭容錯型;文章所闡述的漏洞是鏈式結構型系統中出現的,因此跟Cosmos的Tendermint這樣的拜占庭容錯型PoS共識算法無關;Casper不使用最長鏈規則,而是LatestMessageDrivenGhost,因此也跟這里講的漏洞無關。

這些漏洞已經影響了超過26類PoS型加密貨幣。通過這些漏洞,一個攻擊者只需使用少量權益就能摧毀任何運行相關軟件的網絡節點。

在這次公開披露之前,我們從2018年10月開始有規劃地通知受影響的加密貨幣開發團隊。大部分團隊已經部署了應對措施。

權益證明類加密貨幣,特別是那些基于鏈上PoSv3的加密貨幣,它們與比特幣很相似,都使用未花費的交易輸出模型和最長鏈共識規則。

主要的區別在于前者用代幣的所有權證明替代了工作量證明。

PoS的潛在優點包括能夠降低對環境的影響以及增強對51%攻擊的抵抗性。

Conflux:已暫停Multichain聯合鑄幣權:5月25日消息,Conflux 官方宣布,作為一項即時預防措施,已暫停 Multichain 的聯合鑄幣權,以確保用戶資產安全,目前沒有檢測到資金損失。[2023/5/25 10:39:12]

很多加密貨幣實際上是比特幣代碼庫的分叉并且加入了PoS的功能。

但是,由于它們盲目復制了比特幣的一些設計理念,留下了安全隱患,因此出現了一些在原先代碼庫中并不存在的新漏洞。

我們將這些漏洞稱為「虛假權益」攻擊。

從本質上講,該攻擊之所以有效是因為PoSv3的程序在簽發珍貴資源之前對網絡數據驗證不足。

因此,一個攻擊者只需使用很少的權益份額,就能用虛假數據填滿某個節點的硬盤和內存,致使其崩潰。

我們認為所有基于UTXO和最長鏈原則的權益證明模型都容易受到這類「虛假權益」攻擊的影響。經過調查研究,我們已經發現了一批存在漏洞的加密貨幣,并在文末附上了列表。

接下來,我們將詳細解釋這些漏洞和攻擊手法,因為它們會產生一些不易察覺的后果。

被黑客攻擊的Vanity Address從Arbitrum空投中竊取50萬美元:3月24日消息,被黑的Vanity Address已被用于從Arbitrum的空投中竊取價值 500,000 美元的代幣。Vanity Address是一種定制的加密貨幣地址,其中包含用戶選擇的特定單詞或短語,目的是使它們更加個性化和易于識別。但是,缺點包括可能被黑客攻擊的安全風險。

該推文解釋說,代幣被某人竊取,該人編譯了有資格接收 ARB 代幣的Vanity Address,使用Vanity Address生成器生成了類似的地址,并將空投的代幣定向到它們。對這些Vanity Address的黑客攻擊使得原始所有者無法索取他們的 ARB 代幣。(Cointelegraph)[2023/3/24 13:24:39]

雖然事后看來這些漏洞本身很簡單,但是想要一勞永逸地解決它們還是很困難,而且現有的解決方案可能會導致分叉。

背景

在深入了解這些漏洞的細節之前,我們將簡要介紹一些關于鏈上PoS機制原理的背景知識。

權益證明挖礦

硅谷銀行金融集團將被納斯達克摘牌:金色財經報道,硅谷銀行金融集團稱,周五接到納斯達克的通知,由于不再符合繼續上市的規定,因此其股票將被摘牌。該股在3月10日停牌,將于3月28日停止上市。據悉,公司不打算對納斯達克的決定提出上訴。[2023/3/18 13:11:51]

與PoW挖礦類似,PoS挖礦也要將區塊頭的哈希值與難度目標進行比較。

PoS的目標是確保每個權益者挖出下一個區塊的概率與他們質押的代幣量成正比。

為了達成這一目標,鏈式結構型PoS機制的哈希值不僅取決于區塊頭,還取決于權益所有者通過區塊中一筆特殊的「coinstake」交易所質押的代幣數量。

本文會涉及一些關于PoS挖礦的具體細節,更詳細的解釋可以在Earlz的博客中找到。

本文重點從1)coinstake交易和2)coinstake交易所花費的UTXO這兩方面來闡述PoS機制。

工作量證明在節約區塊驗證資源方面起到的作用

眾所周知,PoW在比特幣共識機制中扮演至關重要的作用,不過它還有一個不那么受重視的作用,就是控制對節點有限資源的訪問,例如磁盤、帶寬、內存和CPU。

以太坊開發平臺Tenderly推出節點產品“Web3 Gateway”:11月3日消息,以太坊開發平臺Tenderly宣布推出節點產品“Web3 Gateway”,幫助Web3開發人員讀取、傳輸和分析區塊鏈數據,該產品建立Tenderly的可觀察性堆棧之上,據稱該堆棧索引了20多個區塊鏈網絡中超過90億筆交易,其直接競爭對手是Infura背后公司ConsenSys、以及節點提供商Alchemy。Tenderly在2021年7月完成1530萬美元A輪融資,之后在2022年3月完成4000萬美元B輪融資。(thebharatexpressnews)[2022/11/3 12:12:25]

在免許可型公鏈網絡中,一個節點是不能信任其它對等節點的。

因此,為了防止資源耗竭型攻擊,比特幣節點要先檢查區塊的工作量證明,再決定是否花費更多硬盤或內存資源存儲這個區塊。

但是,事實表明,檢查權益證明比起驗證工作量證明要復雜的多,對環境也更為敏感。

因此,許多鏈式結構PoS機制在有效驗證上投入的資源嚴重不足。

外媒:若DigitalBits交易失敗,幣安或成為國際米蘭新的主要球衣贊助商:8月13日消息,據都靈媒體Tuttosport報道,鑒于與DigitalBits的協議存在巨大不確定性,幣安或將成為國際米蘭足球俱樂部未來的選擇之一。

DigitalBits已經成為羅馬體育俱樂部一年的球衣贊助商,至少在本賽季開始,他們將成為國米的主要球衣贊助商。在今晚與萊切的意甲揭幕戰中,這家加密貨幣公司的標志將出現在國米球衣的正面。

然而,目前還不清楚雙方的合作還能持續多久,因為該公司目前面臨的嚴重財務問題已經導致他們推遲了對國米的首付款。

據報道,國米意識到,鑒于DigitalBits的不確定性,他們可能不得不尋找新的球衣贊助商,幣安將是他們的選擇之一。(Sempre Inter)[2022/8/13 12:23:39]

為了理解資源耗竭型漏洞產生的原因,我們必須詳細說明一下區塊在被驗證之前是如何存儲的。

一個節點不僅要追蹤當前時刻最長的鏈,還要追蹤一整棵分叉鏈樹(因為任何一條分叉鏈都有可能成為最長鏈,在這種情況下,節點需要「重組」才能切換到新的最長鏈上)。

舉例來說,不當升級、雙花攻擊,或者臨時網絡分區都有可能引發這種情況。

驗證這些非主鏈上的區塊是非常困難的。

要完全驗證某個區塊,你需要上一個區塊中未花費的代幣集合。

比特幣保存的是最長鏈頂端區塊時候的UTXO集合,但是不會保存之前區塊時候的UTXO集合狀態。在完全驗證分叉鏈上的區塊主要有兩種方法:

1、將當前視圖「回滾」到分叉起始點之前

2、存儲之前每一區塊時候的UTXO狀態

*校對注:將一條鏈上的所有區塊所包含的交易都處理完之后就會形成一個UTXO的集合,這個集合就是該鏈的最新狀態。因此,哪怕在同一條鏈上,#100區塊時候的狀態與#101區塊時候的狀態也是不同的。上文的意思是,雖然每一個區塊上都有可能形成分叉,但比特幣軟件不會把每一個區塊時候的狀態都專門保存一個副本,而是只保存最新的UTXO集合;若是每一個區塊時候的狀態都要專門保存,這會變成很大一筆存儲開銷。

比特幣的代碼庫不支持第二個方法,即使它支持,這也會增加額外的存儲成本(比特幣的節點性能依賴于大幅裁減不必要的數據)。

比特幣代碼庫目前正是采用第一種方法來處理重組的。

然而,經常回滾的代價也是很昂貴的,因此,回滾和完全驗證不會在一有分叉的時候就發生,而是等到分叉鏈上的工作量證明真的超過當前主鏈的時候才會進行。

因此,當一個對等節點第一次接收到一個非最長鏈上的區塊或區塊頭時,我們將跳過完全驗證并將這個區塊保存在本地存儲區。

在將這個區塊存儲進磁盤之前,比特幣代碼庫會基于PoW機制執行一些初步驗證(不過會忽略區塊內的交易)。

初步驗證僅針對之前的區塊頭以及當前的區塊頭,因此節點驗證起來非常快。而且這是一個非常有效的防御手段,因為生成一個有效的工作量證明來通過這個初步驗證成本很高。

例如,雖然有可能欺騙一個比特幣節點將一個非法區塊存儲在硬盤內,但是以這種方式發起資源耗竭型攻擊是一個非常不經濟的行為。

PoS機制中也存在類似的初步驗證過程,就是對coinstake交易進行驗證,將它與上一個區塊的kernel值一起進行哈希運算,看最后得到的哈希值是否超過難度目標。

計算coinstake交易的哈希值很容易,難的是驗證coinstake交易中輸入的UTXO是否合法并且未被花費;但是要檢查一筆UTXO是否沒有被花費,你就需要該筆交易發生前一個區塊時候的UTXO集合狀態;如我們上文所說,節點往往是沒有專門存儲這樣一個狀態的。

因為完全驗證coinstake交易是非常困難的,大多數鏈上PoS機制提供的是一個經驗式或者近似式的驗證方法作為替代。

事實證明這些替代性的驗證方法通常并不充分并且存在漏洞。

漏洞:「我簡直不敢相信還有非權益持有者可以攻擊的漏洞」

我們第一次研究這個漏洞的時候,發現Qtum、Particl、Navcoin、HTMLcoin和Emercoin這五種密碼學貨幣都存在這個漏洞,即,在將區塊提交至內存或硬盤之前,無法對coinstake交易進行驗證。

這五種加密貨幣的共同之處是它們都采用了比特幣的「區塊頭優先」規則,將區塊分成兩類獨立的信息——區塊體和區塊頭——進行傳播。

只有當節點確認了某個區塊的區塊頭通過了PoW驗證、并且該區塊跟在最長鏈之后,才會請求區塊體的信息。

由于coinstake交易僅存在于區塊體而非區塊頭中,節點無法做到只驗證區塊頭,于是直接將區塊頭存儲在了內部數據結構里。

因此,任何網絡攻擊者,即使不持有任何權益,也可以惡意填滿一個節點的內存。

此種攻擊的還有另一個形式,可以針對相同的代碼庫實施,不過它采用的方式略微不同,而且攻擊目標也從節點的內存資源轉向了硬盤資源。

可以說,針對節點硬盤的攻擊危害更大:如果節點因內存被填滿而崩潰,只需簡單重啟即可恢復。

但是,如果硬盤被填滿了,則需要手動干預才能恢復。

如果接收的不是區塊頭而是區塊體,需要執行初步驗證也會不同。理想情況下,因為coinstake交易就包含在區塊體中,節點軟件應該先對其進行驗證,再將區塊體提交至硬盤。

但是,如上所述,如果這個區塊是在一條分叉鏈上,節點要訪問coinstake交易所花費的UTXO會難得多。也許是出于這個原因,這些代碼庫并沒有驗證coinstake交易。

對于存在上述任意一個漏洞的加密貨幣來說,即使是不持有任何權益的人也能對它們發動攻擊。

針對內存的資源耗竭型攻擊微不足道,從技術的角度來看,我們更需要堤防的是針對硬盤的資源耗竭型攻擊。

Tags:POSOINCOICOINPOSWFRZSSCOINGaltcoinWCOIN幣

芝麻開門交易所下載
COT:COTI上幣回饋,壕送555,555 COTI!_OIN

親愛的KuCoin用戶 活動時間:2019年06月05日20:00:00到2019年06月12日20:00:00新加坡時間為慶祝KuCoinSpotlight第四個項目Coti(COTI)申購圓.

1900/1/1 0:00:00
KEN:想要更多只存在15天的“公司”?試試用DAO來改造Hackathon_TOKEN

前?天看了橙皮書的這篇《一個只存在15天的“公司”》,感覺很有趣,索性就順著這個思路腦洞出了一個Token和智能合約來驅動的“分布式創業社區”,希望和大家一起探討和完善.

1900/1/1 0:00:00
IDA:IDAX交易平臺關于開放SDO充提及交易的公告_KRIDA

尊敬的用戶: ???根據市場的情況,IDAX交易平臺將于2019年6月6日12點開放SDO充提;同時在交易中心開啟SOD/ETH交易業務,并支持自動充幣業務.

1900/1/1 0:00:00
WAN:萬維鏈創始人呂旭軍:星系共識 跨鏈,探索區塊鏈3.0的下一種可能 | 火星總編時刻No.27_AIN

火星財經APP一線報道,6月6日18:00,「火星總編時刻」第27期在公鏈發展研究學習群展開,本期對話主題為「星系共識跨鏈,探索區塊鏈3.0的下一種可能」.

1900/1/1 0:00:00
COI:早行情:比特幣區間震蕩,Bitcoin SV下跌10%_COIN

過去24小時加密貨幣市場整體表現平穩。市值最高的加密貨幣比特幣在7600美元與7800美元之間震蕩整理,反彈缺乏足夠的力量,引發市場對其短期走勢的擔憂.

1900/1/1 0:00:00
BTC:交易日記:短期空頭勢頭漸弱,有個信號千萬不能忽略_BITSG價格

導讀:BTC今日凌晨繼昨日大跌后又一次放量下跌,最低跌至7500美元左右,短期回調正如期進行,這也是前期漲勢過猛的正常調節。但是小時級別的一些信號需要引人注意.

1900/1/1 0:00:00
ads