淺論Restone:它不是Plasma,而是Optimium變體

中級1/7/2024, 10:33:43 AM
本文講解原先 Plasma 的弊端,以及Redstone如何借鑒併解決關鍵的數據扣留攻擊。

近期,一個叫Redstone的項目成爲了熱點。這個由Lattice團隊推出的鏈游專項Layer2設施,於11月15日正式髮布,目前已上線測試網。有趣的是,Lattice團隊稱“Redstone是受到Plasma啟髮的Alt-DA鏈”。

就在Redstone髮布的前一天,Vitalik剛剛髮錶了文章“Exit games for EVM validiums: the return of Plasma”,文中簡單回顧了本已消失在以太坊生態的技術方案“Plasma”,併指出可以引入有效性證明(與ZK Proof混淆),來解決Plasma的問題。對此,有不少朋友認爲,Vitalik髮錶這篇文章,是爲了給Redstone站颱,甚至在極客Web3社群內也有人説,Vitalik搞不好投資了Redstone。再加上此前傳的沸沸揚揚的“以太坊Layer2定義之爭”,一時間人們普遍認爲,接下來會引髮“Plasma的覆興”,而Celestia等以太坊生態外的DA方案可能因此被抑製,因爲Plasma沒有對DA的嚴格要求。但據本文作者考證,Redstone併不符合Plasma方案的大緻框架,其自稱“受到Plasma啟髮”反而有蹭Vitalik文章熱點的可能性,而不是Vitalik真要爲Redstone站颱。此外,Redstone的DA挑戰方案與Layer2項目Metis在2022年4月推出的方案頗有相似之處,隻不過兩者在更新Stateroot——髮布DA數據這兩個步驟上的先後次序不衕。所以,真實的情況是,大家可能對Redstone産生了“過度解讀”。下文中將通過一些簡單的推理來爲讀者解釋Plasma的原理及其爲何對智能合約及Defi不友好,以及Redstone到底是什麽東西。

Plasma:遇到了數據扣留攻擊就要緊急提款

Plasma的歷史可以追溯到2017年以太坊IC0熱潮時期,彼時以太坊用戶的交易需求呈爆炸式增長,而TPS低下的ETH不堪重負。在這樣的關頭,Plasma最早的理論版本髮布了,文中提出了一種二層擴容方案,可以處理“世界上幾乎所有的金融場景”。簡單來説,Plasma是一種隻把Layer2的區塊頭/Merkle Root髮布到Layer1上的擴容方案,區塊頭/Merkle Root之外的那部分數據(DA數據)隻在鏈下髮布。如果Plasma的排序器/Operator在L1上髮布的Merkle Root關聯了一筆無效交易(數字簽名錯誤等場景),相關用戶可以提交欺詐證明,證明排序器提交的Root關聯著一筆無效交易。但問題在於,要髮布欺詐證明必鬚保證DA數據不被扣留,但Plasma對DA層沒有嚴格要求,不能保證用戶或L2節點可以接收到數據。如果排序器在某個時間點髮動數據扣留攻擊(也被稱作數據可用性問題),隻髮布新的區塊頭/Merkle root,卻不髮布對應的區塊體,讓人無法驗證區塊頭/root是否有效,用戶就隻能默認排序器“無藥可救”,通過名爲“Exit Game”的緊急退出機製,把資産從Layer2撤到Layer1上。

這一步操作需要用戶提交Merkle Proof,證明自己在L2上的確有相應數額的資産,我們可以將此稱爲“資産證明”。有意思的地方在於,Plasma的Exit Game和ZK Rollup的逃生艙模式併不一樣,ZK Rollup用戶必鬚提交對應最近一個有效Stateroot的Merkle Proof,而Plasma用戶卻可以提交很久前的Merkle Root對應的Proof。爲什麽設計成這樣?隻是因爲,ZK Rollup提交的Stateroot,會被Layer1上的合約立刻投入判斷(判斷有效性證明是否有效)。如果這個剛提交不久的Stateroot是有效併合法的,那麽用戶就應當提交對應合法Stateroot的Merkle Proof來充當資産證明。但Plasma的排序器提交的Merkle Root,Layer1合約無法判斷是否有效,隻能讓L2節點主動髮起挑戰來排除無效Root,所以會有挑戰機製,這使得Plasma和Zk Rollup的運作原理迥然不衕。假設排序器剛髮布了一個無效的Merkle Root 101,衕時髮動數據扣留攻擊,讓L2節點無法證明101號root是無效的,此時用戶可以提交對應100號root或更早以前root的merkle Proof,把自己的資産提走。

當然這裡有個問題需要解決,就是某個用戶可能提交對應30號root或更早期root的資産證明,請求把資産撤到Layer1,但這個人在30號root髮布後,資産狀況可能有變化。換句話説,他提交的是過時的資産證明,這就是典型的雙花攻擊/雙重支付。

對此,Plasma允許任何人針對上述情況提交欺詐證明,指出某個髮起提款聲明的用戶提交的“資産證明”是過時的。通過引入這種“任何人都可以挑戰別人的提款聲明”,Plasma不需要像ZK Rollup那樣處理緊急提款請求。但還是有一種可能,就是排序器先把其他人的資産畫轉到自己的L2賬戶下,然後再髮動數據扣留攻擊,讓外人無法對自己的作弊行爲髮起挑戰。之後,排序器自己的賬戶髮起緊急提款,提交“資産證明”宣稱自己的確在L2上擁有這些資産。顯然,這種時候因爲缺失了一段歷史記録,人們無法直接證明排序器的資産來源有問題。那麽這種情況下該怎麽辦?Plasma的早期版本比如Plasma MVP考慮到了這點,他們提出了“提款優先級”。如果一個人提交的資産證明對應的root更早,它的提款請求就會被優先處理。

假如排序器是在提交第101號root時進行上麵説的作弊行爲併髮起提款,那麽用戶可以提交對應99號或更早root的資産證明來緊急提款。顯然,排序器隻要無法篡改已經髮布到Layer1上的歷史記録,用戶就有辦法逃出生天。但Plasma還是有一個緻命bug:隻要排序器髮動數據扣留,人們就要靠緊急提款(又稱Exit Game)來保證資産安全,如果短時間內大量用戶集體提款,Layer1很容易處理不過來;更嚴重的是,像Defi合約上記録的資産,該由誰來提取到Layer1?假設有人往DEX的LP池子充了100個ETH,之後Plasma的排序器故障或作惡了,人們需要緊急提款,這時候用戶的100個ETH都還爲DEX合約所控製,請問這個時候這些資産該由誰提到Layer1上?最好的辦法其實是先讓用戶從DEX池子裡贖回自己的資産,再由用戶自己去把錢提到L1上,但問題是Plasma排序器已經故障/作惡了,用戶沒法執行贖回資産的操作。可如果我們允許DEX合約的owner去把合約控製的資産提到L1,顯然會賦予合約owner以資産所有權,他可以隨時把這些資産提到L1上併跑路,這豈不是太可怕了?所以到最後,該怎麽處置這些由Defi合約所支配的“公共財産”,是一個巨大的雷。如果走社會共識,在Layer1上重建一個映射了Layer2上defi合約的鏡像合約,似乎也可以,但這會引入相當巨大的麻煩,增加機會成本,由哪些人來投票決定鏡像合約的處置方式,也會是個大問題。這其實涉及到公權力分配的難題,此前響馬曾在訪談《高性能公鏈難出新事,智能合約涉及權力分配》中談到過這點。

當然,Vitalik在最近的文章“Exit games for EVM validiums: the return of Plasma”中也指出了這一點,併強調這是Plasma對智能合約不友好的因素之一。過往的知名Plasma變體如Plasma MVP和Plasma Cash等,採用了UTXO或類似的模型來替代以太坊的賬戶地址模型,併且不支持智能合約,這樣可以避免上麵談及的“資産所有權分配”問題,每個UTXO的所有權固然歸屬於用戶自己,但UTXO本身也有諸多缺陷,且對智能合約不友好。所以Plasma方案最適合簡單的支付或訂單簿式交易所。到後來,隨著ZK Rollup的走紅,Plasma本身也退出了歷史舞颱,因爲Rollup不存在Plasma的數據扣留問題。假如ZK Rollup的排序器髮動數據扣留攻擊,隻往ETH鏈上提交Stateroot但沒有DA數據,這樣的root會判定爲無效,直接被L1上的Verifier合約拒絶。所以,ZK Rollup的合法Stateroot對應的DA數據,在ETH鏈上必定可查。這樣就不存在“隻髮布區塊頭或merkle root,卻不髮布對應的區塊體”,也就是可以解決數據可用性問題/數據扣留攻擊。衕時,Rollup的過往DA數據在以太坊上可查,任何人都可以通過ETH鏈上的歷史記録來啟動Layer2節點,這將去中心化乃至無需許可的排序器方案難度大幅降低。相比之下,Plasma對DA沒有嚴格要求,實現去中心化排序器的難度也更大(要實現可替換的去中心化排序器,首先要保證所有的L2節點都認可相衕的block,這就對DA實現方式提出了要求)。此外,如果ZK Rollup的排序器嘗試把無效交易包含進Layer2區塊,也無法成功,這是由有效性證明的原理來保障的。歸根結底,ZK Rollup排序器的作惡空間與Plasma相比要狹小許多——它最多能讓Stateroot的更新停滯,在UX層麵相當於停機,或者拒絶某些用戶的請求,俗稱交易審查。衕時,Rollup方案中如果排序器故障了,其他節點要替代它也會更容易。理想狀態下的Rollup,可以將Plasma中Exit game模式的觸髮概率降至0(ZK Rollup中叫逃生艙)。


(L2BEAT上的Proposer Failure一欄,展示了各個L2方案如何應對排序器故障問題,Self Propose往往指其他節點可以替代當前處於停機狀態的排序器)

時至今日,以太坊生態內幾乎沒有團隊還在堅持Plasma路線了,幾乎所有的Plasma項目都胎死腹中。


(Vitalik解釋爲何ZK Rollup比Plasma更優越,其中有提到無需許可的排序器運行和DA問題)

Redstone是個啥:它不是Plasma,而是Optimium的變體

上文我們簡單闡述了Plasma以及其被Rollup替代的簡要因素,而至於Redstone,想必大家也看到了它和Plasma的不衕:Redstone可以解決數據扣留攻擊問題,比如它不會立刻髮布新的stateroot,而是先在ETH鏈下髮布原始的DA數據,然後把DA數據的datahash作爲一個關聯的憑證commitment,髮布到ETH鏈上,稱自己在鏈下已髮布這段datahash所對應的完整數據。


(Redstone官方對自己的防止數據扣留攻擊方案的解釋)

任何人都可以髮起挑戰,稱Redstone的排序器沒有在鏈下髮布這段datahash對應的原始數據。此時,排序器需要在鏈上髮布datahash對應的數據,以應對質疑者的挑戰。如果排序器被挑戰後,沒有及時在ETH鏈上髮布數據,則它之前髮布的datahash/commitment會被視爲無效。如果排序器及時響應了挑戰者的請求,那麽挑戰者就可以及時穫取到datahash對應的原始DA數據。最終,所有L2節點基本都可以穫取到所需的DA數據,以解決數據扣留攻擊問題。當然,挑戰者本身需要先支付一筆費用,這筆費用約等於排序器在ETH鏈上髮布原始DA數據的成本,這個舉措是爲了防止惡意挑戰者無成本的挑戰排序器,緻使後者蒙受損失。最後,當針對datahash的挑戰期結束後,排序器將髮布對應的stateroot,也就是執行datahash對應的DA數據中 包含的交易序列後,得到的root。此時L2節點可以使用欺詐證明繫統來挑戰那些無效的root。如果此前某個datahash在被挑戰後,排序器沒有及時髮布對應的原始DA數據,則排序器即便後麵髮布了這個datahash對應的stateroot,也會被默認爲無效。由於Redstone是先髮布DA數據,之後才髮布對應的有效Stateroot,直接解決了數據扣留攻擊問題(排序器隻髮布root而不髮布DA數據)。顯然這種模式和普通的Optimium(不用以太坊實現DA的OP Rollup,比如Arbitrum Nova)不衕,Optimium一般依賴於鏈下DAC委員會確保數據可用性,DAC每隔一段時間曏鏈上提交一個多簽txn,Layer1上的Rollup合約收到多簽txn後,會默認排序器已在鏈下髮布最新一批的DA數據。


(圖源:L2beat)

而像Metis和Arbitrum Nova等是衕時提交Stateroot和datahash,如果有人認爲排序器扣留了DA數據,便會嘗試髮起挑戰,排序器會把datahash對應的DA數據髮到鏈上。所以,Redstone和Metis的關鍵區別在這一步:前者是先髮布datahash,等DA挑戰期結束,才髮布stateroot;Metis卻是衕時髮布stateroot和datahash,如果有人髮起挑戰,則把DA數據上鏈。顯然Redstone的方案更安全些,因爲Metis的方案下,如果排序器一直不響應挑戰者對DA數據的請求,則數據扣留攻擊問題無法快速解決,隻能依靠緊急提款和社會共識,或是讓其他節點接替當前的排序器;

但換做Redstone,如果排序器搞數據扣留,則其髮布的stateroot直接被認作無效,所以stateroot和DA數據是綁定關繫,這使得Redstone可以穫得和Rollup較接近的DA保證,本質上是比Arbitrum Nova和Metis更優越的Optimium變體。

聲明:

  1. 本文轉載自[極客web3],著作權歸屬原作者[Faust],如對轉載有異議,請聯繫Gate Learn團隊,團隊會根據相關流程盡速處理。
  2. 免責聲明:本文所錶達的觀點和意見僅代錶作者個人觀點,不構成任何投資建議。
  3. 文章其他語言版本由Gate Learn團隊翻譯, 在未提及Gate.io的情況下不得覆製、傳播或抄襲經翻譯文章。

淺論Restone:它不是Plasma,而是Optimium變體

中級1/7/2024, 10:33:43 AM
本文講解原先 Plasma 的弊端,以及Redstone如何借鑒併解決關鍵的數據扣留攻擊。

近期,一個叫Redstone的項目成爲了熱點。這個由Lattice團隊推出的鏈游專項Layer2設施,於11月15日正式髮布,目前已上線測試網。有趣的是,Lattice團隊稱“Redstone是受到Plasma啟髮的Alt-DA鏈”。

就在Redstone髮布的前一天,Vitalik剛剛髮錶了文章“Exit games for EVM validiums: the return of Plasma”,文中簡單回顧了本已消失在以太坊生態的技術方案“Plasma”,併指出可以引入有效性證明(與ZK Proof混淆),來解決Plasma的問題。對此,有不少朋友認爲,Vitalik髮錶這篇文章,是爲了給Redstone站颱,甚至在極客Web3社群內也有人説,Vitalik搞不好投資了Redstone。再加上此前傳的沸沸揚揚的“以太坊Layer2定義之爭”,一時間人們普遍認爲,接下來會引髮“Plasma的覆興”,而Celestia等以太坊生態外的DA方案可能因此被抑製,因爲Plasma沒有對DA的嚴格要求。但據本文作者考證,Redstone併不符合Plasma方案的大緻框架,其自稱“受到Plasma啟髮”反而有蹭Vitalik文章熱點的可能性,而不是Vitalik真要爲Redstone站颱。此外,Redstone的DA挑戰方案與Layer2項目Metis在2022年4月推出的方案頗有相似之處,隻不過兩者在更新Stateroot——髮布DA數據這兩個步驟上的先後次序不衕。所以,真實的情況是,大家可能對Redstone産生了“過度解讀”。下文中將通過一些簡單的推理來爲讀者解釋Plasma的原理及其爲何對智能合約及Defi不友好,以及Redstone到底是什麽東西。

Plasma:遇到了數據扣留攻擊就要緊急提款

Plasma的歷史可以追溯到2017年以太坊IC0熱潮時期,彼時以太坊用戶的交易需求呈爆炸式增長,而TPS低下的ETH不堪重負。在這樣的關頭,Plasma最早的理論版本髮布了,文中提出了一種二層擴容方案,可以處理“世界上幾乎所有的金融場景”。簡單來説,Plasma是一種隻把Layer2的區塊頭/Merkle Root髮布到Layer1上的擴容方案,區塊頭/Merkle Root之外的那部分數據(DA數據)隻在鏈下髮布。如果Plasma的排序器/Operator在L1上髮布的Merkle Root關聯了一筆無效交易(數字簽名錯誤等場景),相關用戶可以提交欺詐證明,證明排序器提交的Root關聯著一筆無效交易。但問題在於,要髮布欺詐證明必鬚保證DA數據不被扣留,但Plasma對DA層沒有嚴格要求,不能保證用戶或L2節點可以接收到數據。如果排序器在某個時間點髮動數據扣留攻擊(也被稱作數據可用性問題),隻髮布新的區塊頭/Merkle root,卻不髮布對應的區塊體,讓人無法驗證區塊頭/root是否有效,用戶就隻能默認排序器“無藥可救”,通過名爲“Exit Game”的緊急退出機製,把資産從Layer2撤到Layer1上。

這一步操作需要用戶提交Merkle Proof,證明自己在L2上的確有相應數額的資産,我們可以將此稱爲“資産證明”。有意思的地方在於,Plasma的Exit Game和ZK Rollup的逃生艙模式併不一樣,ZK Rollup用戶必鬚提交對應最近一個有效Stateroot的Merkle Proof,而Plasma用戶卻可以提交很久前的Merkle Root對應的Proof。爲什麽設計成這樣?隻是因爲,ZK Rollup提交的Stateroot,會被Layer1上的合約立刻投入判斷(判斷有效性證明是否有效)。如果這個剛提交不久的Stateroot是有效併合法的,那麽用戶就應當提交對應合法Stateroot的Merkle Proof來充當資産證明。但Plasma的排序器提交的Merkle Root,Layer1合約無法判斷是否有效,隻能讓L2節點主動髮起挑戰來排除無效Root,所以會有挑戰機製,這使得Plasma和Zk Rollup的運作原理迥然不衕。假設排序器剛髮布了一個無效的Merkle Root 101,衕時髮動數據扣留攻擊,讓L2節點無法證明101號root是無效的,此時用戶可以提交對應100號root或更早以前root的merkle Proof,把自己的資産提走。

當然這裡有個問題需要解決,就是某個用戶可能提交對應30號root或更早期root的資産證明,請求把資産撤到Layer1,但這個人在30號root髮布後,資産狀況可能有變化。換句話説,他提交的是過時的資産證明,這就是典型的雙花攻擊/雙重支付。

對此,Plasma允許任何人針對上述情況提交欺詐證明,指出某個髮起提款聲明的用戶提交的“資産證明”是過時的。通過引入這種“任何人都可以挑戰別人的提款聲明”,Plasma不需要像ZK Rollup那樣處理緊急提款請求。但還是有一種可能,就是排序器先把其他人的資産畫轉到自己的L2賬戶下,然後再髮動數據扣留攻擊,讓外人無法對自己的作弊行爲髮起挑戰。之後,排序器自己的賬戶髮起緊急提款,提交“資産證明”宣稱自己的確在L2上擁有這些資産。顯然,這種時候因爲缺失了一段歷史記録,人們無法直接證明排序器的資産來源有問題。那麽這種情況下該怎麽辦?Plasma的早期版本比如Plasma MVP考慮到了這點,他們提出了“提款優先級”。如果一個人提交的資産證明對應的root更早,它的提款請求就會被優先處理。

假如排序器是在提交第101號root時進行上麵説的作弊行爲併髮起提款,那麽用戶可以提交對應99號或更早root的資産證明來緊急提款。顯然,排序器隻要無法篡改已經髮布到Layer1上的歷史記録,用戶就有辦法逃出生天。但Plasma還是有一個緻命bug:隻要排序器髮動數據扣留,人們就要靠緊急提款(又稱Exit Game)來保證資産安全,如果短時間內大量用戶集體提款,Layer1很容易處理不過來;更嚴重的是,像Defi合約上記録的資産,該由誰來提取到Layer1?假設有人往DEX的LP池子充了100個ETH,之後Plasma的排序器故障或作惡了,人們需要緊急提款,這時候用戶的100個ETH都還爲DEX合約所控製,請問這個時候這些資産該由誰提到Layer1上?最好的辦法其實是先讓用戶從DEX池子裡贖回自己的資産,再由用戶自己去把錢提到L1上,但問題是Plasma排序器已經故障/作惡了,用戶沒法執行贖回資産的操作。可如果我們允許DEX合約的owner去把合約控製的資産提到L1,顯然會賦予合約owner以資産所有權,他可以隨時把這些資産提到L1上併跑路,這豈不是太可怕了?所以到最後,該怎麽處置這些由Defi合約所支配的“公共財産”,是一個巨大的雷。如果走社會共識,在Layer1上重建一個映射了Layer2上defi合約的鏡像合約,似乎也可以,但這會引入相當巨大的麻煩,增加機會成本,由哪些人來投票決定鏡像合約的處置方式,也會是個大問題。這其實涉及到公權力分配的難題,此前響馬曾在訪談《高性能公鏈難出新事,智能合約涉及權力分配》中談到過這點。

當然,Vitalik在最近的文章“Exit games for EVM validiums: the return of Plasma”中也指出了這一點,併強調這是Plasma對智能合約不友好的因素之一。過往的知名Plasma變體如Plasma MVP和Plasma Cash等,採用了UTXO或類似的模型來替代以太坊的賬戶地址模型,併且不支持智能合約,這樣可以避免上麵談及的“資産所有權分配”問題,每個UTXO的所有權固然歸屬於用戶自己,但UTXO本身也有諸多缺陷,且對智能合約不友好。所以Plasma方案最適合簡單的支付或訂單簿式交易所。到後來,隨著ZK Rollup的走紅,Plasma本身也退出了歷史舞颱,因爲Rollup不存在Plasma的數據扣留問題。假如ZK Rollup的排序器髮動數據扣留攻擊,隻往ETH鏈上提交Stateroot但沒有DA數據,這樣的root會判定爲無效,直接被L1上的Verifier合約拒絶。所以,ZK Rollup的合法Stateroot對應的DA數據,在ETH鏈上必定可查。這樣就不存在“隻髮布區塊頭或merkle root,卻不髮布對應的區塊體”,也就是可以解決數據可用性問題/數據扣留攻擊。衕時,Rollup的過往DA數據在以太坊上可查,任何人都可以通過ETH鏈上的歷史記録來啟動Layer2節點,這將去中心化乃至無需許可的排序器方案難度大幅降低。相比之下,Plasma對DA沒有嚴格要求,實現去中心化排序器的難度也更大(要實現可替換的去中心化排序器,首先要保證所有的L2節點都認可相衕的block,這就對DA實現方式提出了要求)。此外,如果ZK Rollup的排序器嘗試把無效交易包含進Layer2區塊,也無法成功,這是由有效性證明的原理來保障的。歸根結底,ZK Rollup排序器的作惡空間與Plasma相比要狹小許多——它最多能讓Stateroot的更新停滯,在UX層麵相當於停機,或者拒絶某些用戶的請求,俗稱交易審查。衕時,Rollup方案中如果排序器故障了,其他節點要替代它也會更容易。理想狀態下的Rollup,可以將Plasma中Exit game模式的觸髮概率降至0(ZK Rollup中叫逃生艙)。


(L2BEAT上的Proposer Failure一欄,展示了各個L2方案如何應對排序器故障問題,Self Propose往往指其他節點可以替代當前處於停機狀態的排序器)

時至今日,以太坊生態內幾乎沒有團隊還在堅持Plasma路線了,幾乎所有的Plasma項目都胎死腹中。


(Vitalik解釋爲何ZK Rollup比Plasma更優越,其中有提到無需許可的排序器運行和DA問題)

Redstone是個啥:它不是Plasma,而是Optimium的變體

上文我們簡單闡述了Plasma以及其被Rollup替代的簡要因素,而至於Redstone,想必大家也看到了它和Plasma的不衕:Redstone可以解決數據扣留攻擊問題,比如它不會立刻髮布新的stateroot,而是先在ETH鏈下髮布原始的DA數據,然後把DA數據的datahash作爲一個關聯的憑證commitment,髮布到ETH鏈上,稱自己在鏈下已髮布這段datahash所對應的完整數據。


(Redstone官方對自己的防止數據扣留攻擊方案的解釋)

任何人都可以髮起挑戰,稱Redstone的排序器沒有在鏈下髮布這段datahash對應的原始數據。此時,排序器需要在鏈上髮布datahash對應的數據,以應對質疑者的挑戰。如果排序器被挑戰後,沒有及時在ETH鏈上髮布數據,則它之前髮布的datahash/commitment會被視爲無效。如果排序器及時響應了挑戰者的請求,那麽挑戰者就可以及時穫取到datahash對應的原始DA數據。最終,所有L2節點基本都可以穫取到所需的DA數據,以解決數據扣留攻擊問題。當然,挑戰者本身需要先支付一筆費用,這筆費用約等於排序器在ETH鏈上髮布原始DA數據的成本,這個舉措是爲了防止惡意挑戰者無成本的挑戰排序器,緻使後者蒙受損失。最後,當針對datahash的挑戰期結束後,排序器將髮布對應的stateroot,也就是執行datahash對應的DA數據中 包含的交易序列後,得到的root。此時L2節點可以使用欺詐證明繫統來挑戰那些無效的root。如果此前某個datahash在被挑戰後,排序器沒有及時髮布對應的原始DA數據,則排序器即便後麵髮布了這個datahash對應的stateroot,也會被默認爲無效。由於Redstone是先髮布DA數據,之後才髮布對應的有效Stateroot,直接解決了數據扣留攻擊問題(排序器隻髮布root而不髮布DA數據)。顯然這種模式和普通的Optimium(不用以太坊實現DA的OP Rollup,比如Arbitrum Nova)不衕,Optimium一般依賴於鏈下DAC委員會確保數據可用性,DAC每隔一段時間曏鏈上提交一個多簽txn,Layer1上的Rollup合約收到多簽txn後,會默認排序器已在鏈下髮布最新一批的DA數據。


(圖源:L2beat)

而像Metis和Arbitrum Nova等是衕時提交Stateroot和datahash,如果有人認爲排序器扣留了DA數據,便會嘗試髮起挑戰,排序器會把datahash對應的DA數據髮到鏈上。所以,Redstone和Metis的關鍵區別在這一步:前者是先髮布datahash,等DA挑戰期結束,才髮布stateroot;Metis卻是衕時髮布stateroot和datahash,如果有人髮起挑戰,則把DA數據上鏈。顯然Redstone的方案更安全些,因爲Metis的方案下,如果排序器一直不響應挑戰者對DA數據的請求,則數據扣留攻擊問題無法快速解決,隻能依靠緊急提款和社會共識,或是讓其他節點接替當前的排序器;

但換做Redstone,如果排序器搞數據扣留,則其髮布的stateroot直接被認作無效,所以stateroot和DA數據是綁定關繫,這使得Redstone可以穫得和Rollup較接近的DA保證,本質上是比Arbitrum Nova和Metis更優越的Optimium變體。

聲明:

  1. 本文轉載自[極客web3],著作權歸屬原作者[Faust],如對轉載有異議,請聯繫Gate Learn團隊,團隊會根據相關流程盡速處理。
  2. 免責聲明:本文所錶達的觀點和意見僅代錶作者個人觀點,不構成任何投資建議。
  3. 文章其他語言版本由Gate Learn團隊翻譯, 在未提及Gate.io的情況下不得覆製、傳播或抄襲經翻譯文章。
即刻開始交易
註冊並交易即可獲得
$100
和價值
$5500
理財體驗金獎勵!
It seems that you are attempting to access our services from a Restricted Location where Gate.io is unable to provide services. We apologize for any inconvenience this may cause. Currently, the Restricted Locations include but not limited to: the United States of America, Canada, Cambodia, Cuba, Iran, North Korea and so on. For more information regarding the Restricted Locations, please refer to the User Agreement. Should you have any other questions, please contact our Customer Support Team.