以太坊已經確認了以Rollup為中心的2.0路線圖,這讓Rollup成為了炙手可熱的技術,也可以說已經成為了layer2擴容的主流技術。如果與零知識證明證明搭配起來,Rollup會是layer2技術里解決方案的集大成者。
但正所謂“沒有絕對安全的系統”,Rollup同樣存在一定安全隱患,以太坊研究者論壇的開發者已經在討論此事。1月20日,以太坊開發者「jchancehud」發布了關于虛擬Rollup攻擊的討論。
以下為關于虛擬Rollup攻擊的討論。經白計劃團隊整理,有所修改和批注。
Rollup的安全風險原因
模擬Rollup攻擊的基本原理是:只要虛擬狀態有效,任何以太坊節點都可以向OptimisticRollup協調員撒謊。而協調員只有在嘗試發送交易或切換以太坊供應商時才會發現這一點。
OptimisticRollup是通過在以太坊網絡上使用calldata存儲塊信息來進行。這各過程允許任何人操作以太坊節點并下載Rollup狀態。但實際上,有些人不會操作他們自己的以太坊節點,而是依靠托管解決方案。
當前以太坊Gas費上漲至139GWei:金色財經報道,據ultrasound.money數據顯示,當前以太坊Gas費升至139GWei附近,表明ETH鏈上活躍度有所上升。[2023/5/5 14:44:02]
需要驗證有效性
如果要快速低成本地構建有效的Rollup鏈,需要做的是進行交易、構建狀態并將其存儲在以太坊網絡以外的其他位置。當Rollup協調員從以太坊節點接收狀態歷史記錄時,協調員可以通過重播狀態交易來確定數據是否有效。然而,協調員不能確定鏈上是否存在該狀態,最好的辦法是詢問以太坊節點。
如果出現人為攻擊
如果想象一個名為Untrust的以太坊節點服務。Untrust為以太坊dapp提供了低成本的基礎架構。如果他們選擇不信任,則可以查看特定的Rollup并創建虛構的歷史記錄。他們甚至可以通過從某些真實交易中提取通信數據并將其與虛擬交易混合來創建半虛擬歷史。
這樣,他們將創建一個完全不同的當前狀態哈希,但只有在使用Untrust的Rollup運算符去提交一個塊的情況下,這才會被發現。
以太坊Geth客戶端開發者考慮移除對存檔節點功能的支持:9月13日消息,以太坊Geth客戶端開發者Peter Szilagyi發推表示,考慮移除對存檔節點功能的支持,在Gas越來越高的情況下,存檔節點沒有可持續發展的意義。
Peter Szilagyi在回復中表示也有可能采用一種混合模式,讓用戶有一個用于訪問存檔數據的全局數據分發層和自己的完整客戶端,可以驗證和證明數據是正確的。[2021/9/13 23:20:50]
這種類型的攻擊并不是特別強大。攻擊者無法偽造簽名,不能直接竊取資金,但可以在Rollup中撒謊自己的活動。
想象一下,Untrust變得更加復雜。他們決定攻擊名為MoneyMover的Rollup。
當收到對MoneyMover地址的請求時,它們會從運行完全獨立的以太坊網絡的節點返回信息。在這個獨立的以太坊網絡中,Untrust鏡像了大多數交易,并在需要時注入自己的交易。
現在說Untrust找到一個使用MoneyMoverRollup付款的網站。該網站運行自己的MoneyMover協調員,該協調員連接Untrust以訪問以太坊網絡。
以太坊開發人員:自始至終只有一個以太坊,沒有兩個單獨的資產:以太坊開發人員Ryan Berckmans今日在推特上稱,隨著ETH2信標鏈在10小時內啟動,自始至終只有一個以太坊。ETH1和ETH2使用相同的ETH,沒有兩個單獨的資產。名稱“ ETH1”和“ ETH2”是臨時的,這有些誤導。ETH1和ETH2將在2022年合并。他表示,我們已經知道,最終會有Coinbase ETH2, KrakenETH2等被標記的代幣,因為CEX(中心化交易所)受到DeFi增長的沖擊,并在0階段為質押者提供獨特的流動性。他表示,CoinbaseETH2是Coinbase的IOU代幣,它代表的是托管在Coinbase上的ETH。最后他表示,只要大家都清楚只有一種ETH,就很高興看到CoinbaseETH2、KrakenETH2以及其他百花齊放。它們將成為第1.5階段的肥料。[2020/12/1 22:42:52]
Untrust可能會在其鏡像網絡中創建虛構的交易,MoneyMover協調員將其解釋為有效。由于MoneyMover協調員未與任何對等方連接,因此確定鏈上存在的唯一方法是詢問以太坊節點。
聲音 | 李啟威:以太坊基金會缺乏透明度:1月16日消息,針對有人將以太坊基金會拋售7萬枚ETH一事和萊特幣拋售事件作比較,萊特幣創始人李啟威近日在接受采訪時表示,以太坊基金會拋售ETH萊特幣拋售是不同的。一是以太坊公開披露拋售已是拋售行動發生兩年之后了;而是V神和以太坊基金會持有的ETH是被預先開采的。隨后,李啟威談到以太坊基金會缺乏透明度問題稱,以太坊基金會根本不透明。他們不會告訴別人任何流程,資金分配方式及資金信息。作為一種集中式的基金會,預采代幣,因此更應對出售代幣更加透明。至少Ripple對于其每個月或每年要轉儲多少XRP相當透明。(AMBCrypto )[2020/1/16]
Untrust在其鏡像網絡上進行了一次虛構的交易,該網站運營的MoneyMover協調員將其檢測為有效付款。Untrust現在無需付費即可訪問該網站。網站只會在他們提交交易或切換到其他以太坊供應商時才發現這種虛構的付款。
實際可能出現的風險
以上的攻擊是僅當協調員未運行其自己的以太坊節點時,此攻擊才有意義。有一些情況是有問題的:
聲音 | 以太坊研究者Justin Drake:預計最早于2019年底推出信標鏈:1月24日,在AMA活動中,有人詢問推出PoS的最新時間表。以太坊研究者Justin Drake回答稱,預計信標鏈(核心PoS鏈)將在2019年底推出。理想情況下,規范應該會在第一季度接近完成,第二季度會推出跨客戶端測試網,第三季度則是安全審計,第四季度則是主網發布。 根據經驗,12月份的發布會因為假期而難以實現。所以2019年11月和2020年1月份是我認為最可能的發生時間。[2019/1/26]
1.協調員數據的下游使用者無法知道他們接收的數據是否存在,他們不能信任協調員正在使用的eth節點,因為使用者沒有自己運行該節點。
2.欺詐證明者尤其容易受到這種攻擊,因為它們僅在檢測到欺詐行為時才會提交交易。惡意的eth節點可能會從區塊鏈數據中剝離無效交易,并僅返回不同的狀態哈希。欺詐證明者將無法得知狀態哈希是虛構的,并且永遠不會提交欺詐聲明。
3.eth節點操作員向Rollup協調員說謊,以誘使他們要么提交無效的狀態交易,要么提交無效的欺詐聲明。一旦發生這種情況,惡意的eth節點運營商就可以充當有效的交易對手并收集抵押的資金。
解決方案1
在工作量證明鏈的背景下,協調員可以請求塊數據并檢查其是否足夠困難。檢查當前難度的至少一半應該可以使大多數攻擊因為財務問題無法實現。
在權益證明鏈中,這個過程變得不可行,因為惡意的eth節點可能會從未投票的地址提供簽名。他們可以通過在查詢時質押抵押金額來做到這一點。
解決方案2
一個不太優雅的解決方案是:對信譽良好的節點不斷簽名,并發布已存在于鏈上的Rollup狀態哈希的列表。該列表可以在IPFS之類的服務上發布。協調員節點可以包括一個已知的信譽良好的公共密鑰的預設列表。
如果出現以下情況,協調員會知道Rollup數據是真實的:
1.所有狀態交易均有效。
2.所有狀態散列均由信譽良好的來源進行簽名。
這將確保Rollup數據有效且非虛構,并且將允許Rollup節點使用任何以太坊節點來同步數據。
以上是「jchancehud」討論的Rollup安全攻擊的可能性。
主要是因為Rollup是鏈下狀態,容易在很多狀態里出現信息同步不及時的情況,據「jchancehud」表示的,需要驗證鏈下狀態是否有效的一方需要同步其他以太坊全節點的數據才可以確認最終安全性,這意味著很多平臺需要運行一個以太坊節點。
對于上文舉出的虛擬攻擊方式,以太坊的layer2解決方案團隊SKALELabs首席技術官「KonstantinKladko」表示,“這真的很有趣!我認為這表明,通過破壞Infrua,可以基本上破壞所有Rollup。”
當然,這是代表著那些通過Infura來與以太坊通訊的產品,Infura承擔著很大的以太坊節點服務規模,此前也有關于Infura是否會是以太坊網絡最大單點漏洞的討論。而對于這個單點安全風險,主要是以多節點負載均衡的方式處理,盡力規避。
而對于「jchancehud」的討論,最有趣的是開發者「adlerjohn」提出,這種虛擬的“攻擊”似乎不僅適用于optimisticRollup,而且還適用于zkRollup,實際上也適用于任何智能合約。
這一推論很可能是基于“只要存在信息不對稱危險”的協作過程,就會面臨「jchancehud」所說的攻擊風險。
所以「adlerjohn」提出,在比特幣的白皮書第8節,有如何驗證信息對錯的方式,即驗證者確定最長鏈,信任最長鏈,這個方式描述了一種眾所周知的方案,這個該方案可用于防止Sybil節點提供虛假信息,這樣可以不要求大多數計算是誠實的。
比特幣白皮書的第8節
此外,「adlerjohn」提出,Rollup的狀態根可以作為事件發出,甚至可以存儲在以太坊狀態中,也可以進行偽造交易的查詢。
比特幣白皮書的第8節
另外,「adlerjohn」還提到了關于optimisticRollup方案中,還可以包含名為“最小可行合并共識”的設計,該設計可以通過發布有序數據來實現數據可用性,可以讓多個側鏈、分片使用。
白計劃注:最小可行合并共識的解讀在如下鏈接
https://ethresear.ch/t/minimal-viable-merged-consensus/5617
但可以預見的是,使用「adlerjohn」提出的方式,是存在較大的設計難度的。
在討論的最后,「jchancehud」回復「adlerjohn」表示,不能確定這種攻擊預測是否適用于ZKRollup。但因為ZK證明更難生成,至少會更加困難。如果Rollup被廣泛采用,那么這樣考慮Rollup尤其重要。
Rollup協調員可以在使用節點之前驗證節點中的所有區塊頭,這是另一種潛在的解決方案,盡管時間和帶寬昂貴。但用戶最好運行自己知道可以信任的eth輕節點。如果已經解決驗證問題,運行輕節點還可以查詢事件。
討論在最后,我們會發現為了實現安全性、可擴展性、效率,這些方案按工程化的思路是可以嘗試的,但實施過程一定是困難的,因為不同開發者的討論思路最后還要合成代碼,以及包含網絡結構、客戶端、語言、操作界面等多個挑戰。
時間戳向前,區塊不停,我們繼續期待吧。
親愛的用戶:幣安本周將上線CHZ、INJ1-20倍USDT永續合約,具體上線時間如下:香港時間2021年01月21日15:00上線CHZ1-20倍USDT永續合約香港時間2021年01月22日1.
1900/1/1 0:00:00今天比特幣如期的下跌,日內比特幣的拋壓比較大,承接盤的力量比較薄弱,所以今天比特幣跌的比較狠。目前比特幣跌破30日線附近了,30日線在交易市場里面又叫做生命線,這是短線交易市場的一個多空力量的分.
1900/1/1 0:00:00尊敬的ZT用戶: “參與DMCH/BTC”瓜分1000枚DMCH活動已結束。活動獎勵已于1月20日發放至用戶ZT賬戶中,用戶可登陸自己ZT賬戶,在資產中查看是否已到賬.
1900/1/1 0:00:00據Bitcoinwin交易所平臺行情顯示:過去24h內,BTC持續震蕩下行,昨日0時價格觸及頂峰37900,日內持續下跌直至今早凌晨,一度下跌到33402后才有所反彈.
1900/1/1 0:00:00建議市民如非必要不要前往中高風險地區,如需前往,請務必做好個人防護;返邵后,應主動向所在社區(村組)和單位(酒店)報備相關情況和配合相關防控措施數據:Starknet網絡TVL超1.4億美元.
1900/1/1 0:00:00在榆所有人員,應減少不必要出行,避免前往中、高風險地區,盡量不組織、參與大規模聚會聚餐。春節農村返鄉人員需持7天內有效新冠病核酸檢測陰性結果,返鄉后實行14天居家健康監測,期間不聚集、不流動,
1900/1/1 0:00:00