淺論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
理財體驗金獎勵!