本章節主要介紹以太坊合并使用PoS共識機制以后,可能面臨的共識層面的攻擊。
*以下僅為安全技術研究,不構成投資建議,本文部分內容翻譯自jmcook.eth發表在mirror上的文章,詳細內容可自行查閱。
今天是“以太坊大合并”系列的最后一篇,在前兩篇,我們介紹了以太坊為什么會升級,以及以太坊會面臨哪些監管問題和應用層問題。
本章節主要介紹以太坊合并使用PoS共識機制以后,可能面臨的共識層面的攻擊。
1、小型質押者的攻擊
短程重組
這是一種針對信標鏈的攻擊,該攻擊通常由攻擊者向其他驗證者隱藏部分信息,然后在某個特定時刻發布,從而實現雙花或通過front-running大額交易來提取MEV。這種攻擊還可以擴展到多個區塊,但成功的可能性會隨著重組長度的增加而降低。
這種攻擊本質上是一種區塊重組,區塊重組分為事前重組和事后重組兩種。其中,事前重組指的是在區塊尚未被創建時,攻擊者從主鏈中將其替換;事后重組則指的是攻擊者刪除主鏈中已經驗證的區塊。在PoS以太坊中,如果要進行事后重組必須擁有其超過2/3的權益。同時有研究表明,即使攻擊者擁有了以太坊65%的權益,攻擊成功的機率也小于0.05%。
短程重組攻擊是通過事前重組實現的,攻擊者不需要控制以太坊中大多數質押的ETH就可以實現,且成功的機會會隨著控制質押比例的增加而增加。
彈跳攻擊和平衡攻擊
平衡攻擊攻擊指的是攻擊者采取特定手段,將誠實的驗證者集合拆分為對區塊持不同意見的離散小組。
具體地說,攻擊者等待機會提出一個區塊,當它到達時,他們會在同一個slot中提出兩個區塊。他們將一個區塊發送給誠實驗證者集的一半,將另一個區塊發送給另一半。分叉選擇算法將檢測到這種沖突的情況,并且區塊提議者會被罰沒并從網絡中彈出。但上述兩個區塊仍然存在,并且將有大約一半的驗證者集證明其中的每一個分叉。
在花費單個驗證者罰沒成本的情況下,攻擊者成功地將區塊鏈一分為二。與此同時,其余的惡意驗證者扣留了他們的證明。然后,在執行分叉選擇算法時有選擇地將有利于一個或另一個分叉的證明發布給足夠的驗證者,這使得他們能夠生成任何一個具有最多累積證明的分叉。這可以無限期地繼續下去,攻擊者在兩個分叉上保持驗證者的平均分配。由于兩個分叉都無法吸引2/3的絕對多數,所以信標鏈無法最終達成共識并出塊。
美聯儲主席鮑威爾:大多數委員會成員認為年底前還會有兩次加息:金色財經報道,美聯儲主席鮑威爾表示,勞動力市場將逐漸降溫,通脹將緩解;委員會的絕大多數成員認為今年年底前還會有兩次加息;上周的暫停加息決定是為了今后更慢地前進;美聯儲目前已接近需要達到的目標。[2023/6/23 21:55:25]
這種攻擊方式中,攻擊驗證者控制的質押權益比例越大,在任何給定epoch時間段進行攻擊的可能性就越大,因為他們越有可能選擇驗證者在每個slot中提議一個區塊。即使只控制1%的質押權益,發動平衡攻擊的機會平均每100個epoch時期就會出現一次,這并不需要等待太久。
一種名為彈跳攻擊的類似攻擊方式,也只需要控制一小部分質押權益。在這種情況下,攻擊者的驗證者將拒絕投票。該方式中,攻擊者沒有發布投票來保持兩個分叉之間的平均分配,而是在適當的時候使用他們的投票來證明在分叉A和分叉B之間交替的檢查點的合理性。兩個分叉之間的這種翻轉,可停止最終確定性。
雪崩攻擊
2022年3月的一篇論文?描述了另一種稱為雪崩攻擊?的攻擊類型。這篇論文的作者認為,提議者權重提升方案無法防止雪崩攻擊的某些變體。然而,論文作者也只展示了對以太坊分叉選擇算法的高度理想化版本的攻擊。其中,GHOST分叉選擇算法會將第一個分叉區塊和其對應的所有子孫區塊所得票數累加,并選擇其中得票數最多的分叉作為主鏈。
假設要發動一次雪崩攻擊,前提條件是攻擊者能夠控制多個連續區塊的提議者。當提議者針對slot提議時,攻擊者將扣留并收集他們的區塊,直到扣留區塊達到和主鏈區塊相等的累加權重。然后,攻擊者將釋放被扣留的全部區塊,此時由于主鏈和子鏈擁有相同的權重,使得區塊鏈產生分叉,造成后續區塊順序混亂。例如,攻擊者扣留6個區塊,第一個誠實區塊n與第一個敵對區塊n同時競爭,此時在系統中產生了一個分叉。然后攻擊者將剩余的5個敵對區塊全部都并行連接在第一個敵對區塊后的n+1處。
具體如下圖所示,由于GHOST分叉選擇算法的特性,此時敵對區塊n和其后的所有5個分叉和原鏈中6個區塊累加的權重相等,這意味著系統中第7個區塊有一定概率會選擇連接在攻擊者制造的分叉后。在這種情況下,攻擊者可以對剩余的扣留區塊重復此操作,阻止誠實的驗證者繼續跟隨在證實主鏈后,直至攻擊者用盡所有預留區塊。如果攻擊者在攻擊過程中有更多機會提出區塊,他們可以使用這些區塊來擴展攻擊,這樣,越多的驗證者參與共謀攻擊,攻擊持續的時間就越長,并且可以將更多誠實的區塊從主鏈中移出。
Coinbase:如有必要將會把與美SEC的法律斗爭推向美最高法院:金色財經報道,加密交易所Coinbase Inc.表示,隨著美國政府機構擴大對其認為是上市證券的代幣的打擊力度,它愿意將其與美國證券交易委員會(SEC)的法律斗爭一直持續到美國的最高法院。
Coinbase的頂級律師Paul Grewal在接受采訪時表示,“如果需要到最高法院去,這就是我們準備做的,我認為,每一個審視這個問題的法院都會得出結論,美國證券交易委員會從根本上是搞錯了。”[2023/6/7 21:21:12]
圖源自《TwoAttacksOnProof-of-StakeGHOST/Ethereum》
而LMD-GHOST分叉選擇算法的LMD部分減輕了雪崩攻擊,LMD,即“最后一條消息驅動”,指的是每個驗證者保存的一個表格,其中包含從其他驗證者收到的最新消息。只有當新消息來自比特定驗證者表中已存在的slot更晚的slot時,該字段才會更新。在實踐中,這意味著在每個slot中,接收到的第一條消息就是它接受的消息,其他消息將會忽略。換句話說,共識客戶端使用來自每個驗證者最先到達的消息,并且相互矛盾的消息會被簡單地丟棄,以防止雪崩攻擊。
長程攻擊
長程攻擊也是一種權益證明共識機制下特定的攻擊方式,主要包含以下兩種情況:
第一種情況是,攻擊者作為參與創始區塊的驗證者,在原本的區塊鏈旁維護一個單獨的區塊鏈分叉,并最終說服誠實的驗證者在很久以后的某個時間點切換過去。但是該攻擊在信標鏈上無法實現,因為“finalitygadget”可確保所有驗證者定期就誠實鏈的狀態達成一致,此后檢查點之后的區塊將無法再進行重組。
第二種情況是,當新節點加入網絡時,將從離其最近的節點處獲取信息作為偽創始區塊構建區塊鏈。這將為加入網絡的新節點創建一個“信任網關”,然后其才能開始自己驗證區塊。然而,從區塊瀏覽器等客戶端收集構建檢查點所需的可信區塊信息,并不能增加客戶端本身的可信度,因此主觀性是“弱的”。因為根據定義,檢查點由網絡上的所有節點共享,所以不誠實的檢查點是共識失敗的狀態。
2、大型質押者的攻擊
33%
質押的ETH數量為33%是攻擊者的一個基準,如果其超過了這個數量,他們就有能力阻止信標鏈最終確定,而無需精細控制其他驗證者的操作。這是因為要最終確定信標鏈,必須有2/3的質押ETH來證明檢查點對。
隱私公鏈Secret Network集成IBC Bridge:3月30日消息,隱私公鏈 Secret Network 宣布已和 Cosmos 交易終端 TFM 集成 IBC Bridge,該集成支持用戶在 Secret 和其他 14 個支持 IBC 的鏈之間轉移資產,支持本機 SCRT 和 SNIP-20 代幣。[2023/3/30 13:35:52]
如果1/3或更多的質押ETH被惡意證明或未能證明,那么2/3的絕對多數就不可能存在。對此的防御措施是信標鏈的消極懲罰機制,這是一種緊急安全措施,它會在信標鏈4個epoch后仍未能finalize時被觸發。消極懲罰標識了那些未能證明或證明與大多數人相反的驗證者。這些非證明驗證者擁有的質押ETH會逐漸流失,直到最終它們占總數的比例不到1/3,這樣區塊鏈才能再次finalize。
50%和51%
理論上,在一個惡意驗證者控制的質押ETH比例達到50%的情況下,他可以將以太坊區塊鏈分裂成兩個大小相等的分叉。與前面描述的平衡攻擊類似,攻擊者可通過為同一個slot提出兩個區塊,然后只需使用其全部50%的質押權益與誠實的驗證者集進行相反的投票,從而維持兩個分叉并防止最終確定性。
在四個epoch之后,兩個分叉上的消減懲罰機制將激活,因為每個分叉都會看到其一半的驗證者無法證明。每個分叉都會消減驗證者集的另一半質押權益,最終導致兩條鏈都無法達到2/3的絕大多數驗證者驗證。在這一點上,唯一的選擇就是依靠社區恢復。
而當攻擊者控制的質押權益占到51%以上,則可以控制分叉選擇算法。在這種情況下,攻擊者將能夠以多數投票作證,讓他們有足夠的控制權來進行短期重組,而無需欺騙誠實的客戶端。控制51%的質押權益不允許攻擊者改變歷史,但他們有能力通過將多數投票應用于對其有利的分叉,或將區塊重組來影響未來。
誠實的驗證者會效仿,因為它們的分叉選擇算法也會將攻擊者選擇的鏈視為最重鏈,因此該攻擊鏈可以最終確定。這使攻擊者能夠審查某些交易,進行短程重組,并通過重新排序對其有利的區塊來提取最大MEV。針對該問題的防御手段就是多數質押權益的巨大成本,這會讓攻擊者會面臨巨大的風險,因為社交層可能會介入,并采用誠實的少數派分叉,從而使攻擊者的質押權益大幅消減。
66%
控制66%或更多比例質押ETH的攻擊者可以確定其首選鏈,而無需控制其他誠實的驗證者。攻擊者可以對他們想要選擇的分叉進行簡單的投票,然后最終確定它。作為絕對多數的質押者,攻擊者將始終控制最終區塊的內容,其擁有花費、回滾和再次花費的權力,他還能審查某些交易并隨意重組區塊鏈,此時攻擊者實際上擁有了事后重組和最終性反轉的能力。而唯一的防御措施,就是通過社交層介入來協調采用替代分叉。
Safe與Stripe和Gelato合作推出新開發堆棧“Core”:金色財經報道,自托管基礎設施提供商Safe宣布與支付巨頭Stripe和去中心化金融協議Gelato合作推出新開發堆棧Safe Core,集成帳戶抽象(account abstraction)以簡化以太坊區塊鏈上的智能合約開發,還將簡化交易費用和支付流程,并允許法幣入金(fiat on-ramping)。
Safe聯合創始人Richard Meissner表示,帳戶抽象對于新用戶的入門和提高web3的可用性至關重要,并認為Safe Core將吸引更多的開發人員在以太坊上進行開發,并為web3生態系統的發展做出貢獻。
此外,Safe團隊表示將舉辦為期一個月的名為\"March for Account Abstraction\"的黑客松活動,以鼓勵開發人員參與并在Safe Core上進行構建,合作伙伴包括Stripe、BASE、Gelato、Web3Auth、Gnosis Chain、Cowswap和Superfluid。[2023/3/1 12:37:03]
總的來說,盡管存在這些潛在的攻擊向量,但信標鏈的風險很低,甚至要低于工作量證明的等效鏈。這是因為攻擊者為了用投票權壓倒誠實的驗證者,需要將質押ETH的巨大成本置于風險之中。內置的“胡蘿卜加大棒”激勵層可以防止大多數的惡意行為,尤其是對于低質押的攻擊者。更微妙的彈跳攻擊和平衡攻擊也不太可能成功,因為真實的網絡條件使得很難實現對特定驗證者子集的消息傳遞進行精細控制,并且客戶端團隊已經用簡單的補丁快速修復了已知的彈跳攻擊、平衡攻擊以及雪崩攻擊問題。
但34%、51%或66%攻擊可能需要社區進行投票解決,所以社區的有效治理對攻擊者來說是一個強大的抑制因素。對于攻擊者來說,一次技術上成功實現的攻擊仍然存在被社區阻止的風險,這降低了攻擊者獲利的可能性,足以起到有效的威懾作用。這也是維持一個價值觀一致的有效社區對于投資而言如此重要的原因。
3、ETHPoW安全性
自以太坊成立以來,礦工一直在以太坊中扮演著重要角色,但以太坊的合并將打破這一局面。據Bitpro估計,GPU礦工要想在合并后的加密生態系統中保持盈利,需要關閉大約95%的GPU。但是如此多的GPU不太可能在合并后立即關閉,所以礦工可能在合并后試圖進行PoW分叉。事實上,目前確實已有一些礦工明確表示了對ETHPoW分叉的支持。而如果同時再有部分交易所也支持分叉,那么分叉的壽命將會比預期的更長。
印度尼西亞正在發展區塊鏈游戲生態系統:金色財經報道,近日,在巴厘島的NXC峰會上,Anantrupa首席執行官Ivan Chen表示,印度尼西亞正在利用區塊鏈技術建設游戲生態系統,并表示,印度尼西亞很大一部分游戲玩家都擁有加密貨幣,這表明他們接受區塊鏈游戲。同時,出席NXC峰會的印度尼西亞政府部長表示,在該地區將會創建更多的區塊鏈游戲公司。[2022/9/10 13:20:35]
此外,目前以太坊分叉項目EthereumPow官網已成立,且已開始有所動作:
2022年8月15日,以太坊分叉項目EthereumPow發推文稱,ETHWCore的初始版本已在GitHub上發布,主要特點是:1、禁用難度炸彈;2、EIP-1559變更,基礎費用改為礦工和社區共同管理的多簽錢包;3、調整了ETHW的起始挖礦難度。
2022年8月26日,以太坊分叉項目EthereumPoW發推稱,ETHW第一個測試網“冰山”發布。隨之而來的是區塊鏈瀏覽器和RPC服務器。我們歡迎社區中所有潛在的合作伙伴加入我們,共同構建一個真正的PoW驅動的以太坊生態系統。
那么,在以太坊合并升級后,出現的硬分叉ETHPoW可能會面臨哪些安全問題呢,我們下面來詳細分析。
1、算力攻擊
51%算力攻擊是針對區塊鏈網絡的潛在攻擊,當系統中惡意的單個實體或組織能夠控制大部分,即全網超過51%的算力時,由于PoW算法中的共識由算力決定,這使得攻擊者可以利用算力篡改賬本,導致系統遭受惡意攻擊。而在以太坊合并之后,無法再通過挖礦獲取收益的礦工會關閉礦機,這導致基于PoW的ETH分叉可能會丟失部分算力,比如目前最大的礦池Ethermine已發布公告,將停止支持ETHPoW挖礦。
圖源自ethermine.org
而一旦支持ETHPoW的算力下降,就會降低攻擊者發動算力攻擊的成本。則攻擊者可以通過租用大量礦池算力,使得其算力達到51%以上,此時可以利用算力優勢更快地生成區塊,當生成的區塊成為系統中最長的鏈時,就可以回滾區塊交易,實現數據篡改,造成巨大危害,比如:雙花、控制任意地址的交易等。下面將分別進行介紹:
雙花
雙花攻擊是指攻擊者企圖重復花費自己賬戶所擁有的同一筆數字代幣的攻擊行為。舉個例子:
假設A擁有51%的算力,在區塊高度1000時,A轉給B一個ETH,該轉賬交易被礦工打包。
待交易被確認后,A依靠51%的算力優勢在區塊高度999后重新生成了一條“更長的鏈”,并在區塊高度1000處重新將該ETH轉給C且該交易記錄被打包,即該鏈包含了A將一個ETH轉給C的記錄。
根據“最長鏈共識”,包含給C轉賬記錄的鏈成為主鏈,則A轉給B的一個ETH則為“無效支付“。
控制任意地址的交易
如果擁有了51%的算力,則攻擊者可以任意打包或者不打包某個地址的交易,也可以阻止區塊確認任意交易,甚至阻止部分礦工獲得有效的記賬權,從而達到控制任意地址交易的目的。
但是,擁有51%的算力也不是萬能的,比如無法修改其他人的交易記錄,也不能阻止交易的發出,更不能憑空產生ETH。
2、重放攻擊
傳統計算機術語中,重放攻擊又稱重播攻擊、回放攻擊,是指攻擊者發送一個目標主機已接收過的數據包,來達到欺騙系統的目的。而在區塊鏈領域,重放攻擊通常出現在區塊鏈硬分叉的時候,指的是“一條鏈上的交易在另一條鏈上也往往是合法的”。
2016年7月20日晚,以太坊在第192萬個區塊高度發生了硬分叉,產生了兩條鏈,分別稱為ETHchain和ETHClassicchain,對應的代幣分別為ETH和ETC。
由于這兩條鏈上的地址和私鑰相同,交易格式也完全相同,因此其中一條鏈上的交易在另一條鏈上也是完全合法的。所以你在其中一條鏈上發起的交易,將其放到另一條鏈上去重放,可能也會得到確認。由于事先沒有做好預案,很多人利用這個漏洞,不斷在交易所進行ETH充提操作,獲取額外的ETC。至此,“重放攻擊”得以在區塊鏈世界被重新定義。
本次以太坊合并升級,大概率出現的硬分叉ETHPoW,理論上也可能存在上述的問題。
針對重放攻擊,應該如何防范呢?其實對于以升級為目的的分叉而言很容易就能達到,因為硬分叉升級將采用不同的客戶端版本,交易的前綴中通常包含有發起交易客戶端的版本信息。分叉后礦工為了避免打包舊客戶端的“非法交易”,通常會拒絕一定版本號以前的交易,保證惡意攻擊者很難在硬分叉升級時通過重放攻擊竊取資金。
而在2022年8月23日,以太坊分叉項目EthereumPoW官方發文稱,ETHWCore發布第二次代碼更新,強制執行EIP-155。此次更新后,所有交易都必須使用鏈ID進行簽名。這將保護ETHW用戶免受來自ETHPoS和其他分叉Token的重放攻擊。
這里簡單介紹下EIP-155:
該提案名為“簡單的重放攻擊保護”。提案中規定:如果block.number>=FORK_BLKNUM并且CHAIN_ID是可用的,那么在計算交易的哈希以進行簽名時,不是僅對之前的六個rlp編碼元素(nonce,gasprice,startgas,to,value,data)進行哈希處理,而是應該對九個rlp編碼元素(nonce,gasprice,startgas,to,value,data,chainid,0,0)進行哈希處理。此時,簽名中的v值不再是recid,而是recid+chainID*2+35。
因此,簡單來說,在交易簽名時,需要提供一個簽名器(Signer)和私鑰(PrivateKey)。需要Singer是因為在EIP-155修復簡單重復攻擊漏洞后,需要保持舊區塊鏈的簽名方式不變,但又需要提供新版本的簽名方式。因此通過接口實現新舊簽名方式,根據區塊高度創建不同的簽名器。而EIP-155中實現的新哈希算法,主要目的是獲取交易用于簽名的哈希值TxSignHash。和舊方式相比,哈希計算中混入了鏈ID和兩個空值。注意這個哈希值TxSignHash在EIP155中并不等同于交易哈希值。
圖源自《區塊鏈技術與實現》
如此一來,一筆已簽名的交易就只可能屬于某唯一確定的區塊鏈。
此外,為了保證項目安全,建議項目方在合約中進行離線簽名校驗時,簽名數據中應包含ChainID,避免因跨鏈簽名重用導致資產損失。
3、應用層項目
事實上,常規性的分叉是需要用算力做選擇,選擇的主角是礦工,而這次以太坊升級如果真的有兩條以太坊鏈同時出現,需要作出選擇的,是以太坊的整體生態,是其中的項目方,是用戶,是投資者。
如今的以太坊與2016年硬分叉時相比早已今非昔比了,DeFi項目已經占了以太坊生態的半壁江山,但DeFi項目的基礎是鏈上的資產,所以項目方主要是跟著資產方走的。所謂資產方,是如USDT、USDC這種鏈上穩定資產,DeFi的抵押借貸生態基本都是基于資產方的。
對于這些穩定資產的發行方而言,如果以太坊網絡分叉,他們就會突然面臨一個危險的問題:出現兩個版本的穩定幣。作為穩定幣的發行者,每發行一個穩定幣,就會突然有兩個債務義務。
雖然大多數人認為,穩定幣發行方會把新的PoS鏈視為“真正的”以太坊網絡,但如果他們想要支持PoW鏈呢?畢竟他們有足夠的經濟動機去做。
例如,他們可以做空PoS以太坊代幣,在PoW網絡上宣布贖回,然后大撈數十億美元。這可能會破壞新的以太坊網絡,導致貸款被清算,協議、交易所以及相關的額DeFi項目等被關閉。這將造成一場巨大的混亂,并可能大范圍地摧毀加密貨幣市場。
同樣,以太坊分叉項目EthereumPow8月17日發推文稱,ETHWCore將引入流動性池凍結技術保護用戶資產,即在以太坊PoW硬分叉之后,特別是最初的幾個區塊,用戶存放在流動性池中的ETHW代幣,如Uniswap、Susiswap、Aave、Compound,將被黑客和科學家使用棄用的或沒有價值的方式交換或借出USDT、USDC、WBTC,這將對整個網絡和社區造成巨大的混亂。因此,ETHWCore暫時凍結某些LP合約以保護用戶的ETHW代幣,直到協議的控制器或社區找到更好的歸還用戶資產的方法。凍結將不適用于僅涉及單一資產的質押合約。ETHWCore建議每個人在硬分叉之前從LP中提取他們的ETH。
參考文獻:
《EthereumPoSAttackandDefense》
https://mirror.xyz/jmcook.eth/YqHargbVWVNRQqQpVpzrqEQ8IqwNUJDIpwRP7SS5FXs
《什么是區塊鏈上的重放攻擊》
https://zhuanlan.zhihu.com/p/163121813
《區塊鏈技術與實現》
https://learnblockchain.cn/books/geth/part3/sign-and-valid.html
分享至微信
作者:成都鏈安來源:panewslab
來源:金色財經
網絡向權益證明的轉變對環境、費用和以太坊作為“網絡狀態”產生了影響。但它不會改變一切。 截至發稿時,估計以太坊的合并,或從工作量證明到基于權益證明的交易驗證和結算的過渡,將在9月15日美國東部時.
1900/1/1 0:00:00???以前北美有這樣一種捕捉火雞的方法:獵手把一個籠子放在曠野之中,再把籠子的門卷起來,隨后用玉米鋪條路,讓火雞順著玉米鋪成的路跑進籠子里.
1900/1/1 0:00:00區塊鏈操作系統再次回來了。Cartesi在全世界各地的論壇活動中與開發人員和Web3社區建立了聯系,名單上的第一名是BlockchainRio,這是拉丁美洲最大的區塊鏈活動之一,為了闡明區塊鏈的.
1900/1/1 0:00:00技術分析: 以目前12點小時線來看,當前市價在斐波那契分割線786一線附近,且在持續試探上方壓力位。經過之前的一波下探之后,下方的支撐位隱隱已經無法繼續維持。已經在布林帶下軌位置觸底一次.
1900/1/1 0:00:00其實在很早之前,我就計劃寫一篇《Web3新手教程》,送給想要進入Web3或者剛剛進入Web3的小伙伴,但是考慮到兩點原因,我還是打算把這件事推遲一些時日.
1900/1/1 0:00:00芝加哥2022年9月12日,全球領先的衍生品市場CME集團宣布推出以太坊期貨期權。CME集團股票和外匯產品全球主管TimMcCourt表示,由于市場參與者期待即將到來的以太坊合并,這是一個可能改.
1900/1/1 0:00:00