作者:ZKSwap
引言
最近一段時間,基於以太坊的Layer2產品可謂是層出不窮,市場表現極為火熱。不知大家注意沒有,每個產品推出時都會介紹“其產品是基於某種主流Layer2方案,具有何種優勢,可以給產品、某方面給用戶帶來更好體驗”等類似的宣傳語句。有心的讀者或許會深思,這些方案到底是什麼方案呢?背後的原理究竟如何?是否存在劣勢?今天, ZKSwap團隊就帶領大家縱覽Layer2全局,以技術為基礎細分整個產品市場並深度剖析背後的技術原理。
Layer2 概覽
相信之前有諸多文章已經介紹,根據數據的存儲方式和交易有效性的證明方式的不同, Layer2方案可以被劃分為四大類,如下圖所示:
圖1. Layer2方案劃分
數據存在鏈上,即具有鏈上數據可用性的方案有: ZK-Rollup 、 Optimistic Rollup;
數據存在鏈下,即不具有鏈上數據可用性的方案有: Validium 、 Plasma ;
用零知識證明來主動保證交易有效的方案有: ZK-Rollup 、 Validium ;
用戶需提交欺詐證明來主動驗證交易有效的方案有: Optimistic 、 Plasma ;
隨著Layer2技術的不斷發展, Plasma和Validium方案在市場上逐漸的失去了聲音。絕大部分產品都是基於其他兩種方案上實現的,因為兩種方案的優缺點比較明顯,因此項目方會根據不同的考量來選擇不同的方案,下面我們將通過一張表格來呈現整個Layer2上的情況:
從表格中可以看出有有兩個被標記的方案:
由Offchain Labs研發的ARU擴展方案,和ORU方案一樣被歸類於Optimistic Rollup的範疇,但與ORU主要的不同之處在於欺詐證明的交互過程,這將在後續的技術剖析環節給與分析;
本篇主要剖析ORU和ARU的挑戰原理,以更好的呈現它們之間的主要差異。
Optimistic Rollup(ORU) -- Fraud Proof 欺詐證明
首先簡單介紹ORU協議裡的兩個概念:
CTC( Canonical Transaction Chain ) :存儲所有的交易信息,保證了數據可用性(更細節的描述可以參考鏈接Optimistic Details )。
STC( State Commitment Chain ) :存儲了一系列的狀態根,和CTC裡的交易順序逐一對應(更細節的描述可以參考鏈接Optimistic Details )。
0為初始狀態根,圖中綠線表示:交易Tx1執行後,狀態根由S0 => S1 。這些操作都是由sequencer來執行, sequencer在ORU協議裡扮演者重要角色,主要負責三件事情:
假如sequencer作惡,提交了錯誤的狀態根(後續的狀態根自然也是無效的),如下圖所示, Verifier如何驗證sequencer作惡呢?
Verifier的挑戰過程主要分為三個步驟:
2.上傳L2上所有和該交易相關的狀態到L1 (因為挑戰的思想是在L1上重新執行L2上已經執行過的交易,並比較執行後的狀態);
3.在L1重新執行挑戰的交易,計算新的狀態根,並判斷sequencer是否作惡;
如果sequencer確實作惡,那麼將罰沒其押金,並將其部分獎勵給verifier 。
1.由於不是主動保證交易的有效性,因此sequencer提交的每一次狀態更新都要設置挑戰期,大概在一周左右,時間太長;
2.用戶挑戰的成本很高,具體包括:( 1 ) 發送所有和挑戰交易相關的數據到L1 ;( 2 )在L1的EVM上執行該筆交易,並更新狀態根;
Arbitrum Rollup(ARU) -- Fraud Proof
ARU協議的設計和ORU大體相似,主要的區分在挑戰機制上。在ORU協議裡, sequencer和verifier之間只有一次交互,即sequencer提交一次狀態轉換, verifier去完成後續的挑戰。由於sequencer宣稱就是“初始狀態為Si ,執行完交易Txi後,狀態根變為Si+1” 。因此,在L1上不得不完整的執行整個交易。
ARU的協議對以上過程進行了優化,實際上,在L1上執行交易的過程,其實就是在虛擬機上執行某些指令的過程; ARU協議認為,整個交易執行的過程中,狀態更新的失敗,必定是其中的某些指令執行的失敗,因此,只需要證明sequencer在執行某條指令時出現異常,那就可以證明sequencer作惡。具體的過程如下圖所示:
注:在ARU協議裡, Asserter對應ORU協議裡的sequencer , Challenger對應ORU協議裡的verifier 。
1. Asserter和Challenger間進行了多次的交互,交互次數和n成對數關係;
2.把驗證整個交易的執行過程,簡化成了單純的驗證一條指令,大大的節省了驗證成本;
當然, ARU協議仍然有很多細節還未在本篇文章裡說明,本篇不打算過多介紹,內容已經很長,如果讀者想了解ARU更多細節,請參考offchainlabs的官網。
寫在最後
雖然以Optimistic Rollup (ORU)路線為主的Layer2擴容方案逐漸的被市場上更多的產品所接受,但是未來的Layer2擴容終極方案仍然是兼容EVM的zkRollup (ZRU) 。目前的Layer2的產品市場上,對於EVM的兼容性比安全性和效率更受關注,當然完美的方案是兼容EVM的zk rollup ;在此之前, Layer2擴容方案應該會在一段時間內在兼容性和安全性之間權衡選擇。這有利於Layer2擴容技術的發展, Offchain Labs做了很好的榜樣;當然, ZKSwap團隊也會持續研究探索,按照ZKSwap的路線圖,將在今年發布兼容EVM的ZK Rollup版本,取得更好的可組合性和安全性,而不用像O ptimistic的解決方案,通過犧牲一定的安全性來實現與EVM的兼容。