作者:ZKSwap

引言

最近一段時間,基於以太坊的Layer2產品可謂是層出不窮,市場表現極為火熱。不知大家注意沒有,每個產品推出時都會介紹其產品是基於某種主流Layer2方案,具有何種優勢,可以給產品、某方面給用戶帶來更好體驗等類似的宣傳語句。有心的讀者或許會深思,這些方案到底是什麼方案呢?背後的原理究竟如何?是否存在劣勢?今天, ZKSwap團隊就帶領大家縱覽Layer2全局,以技術為基礎細分整個產品市場並深度剖析背後的技術原理。

Layer2 概覽

相信之前有諸多文章已經介紹,根據數據的存儲方式和交易有效性的證明方式的不同, Layer2方案可以被劃分為四大類,如下圖所示:

1. Layer2方案劃分

數據存在鏈上,即具有鏈上數據可用性的方案有: ZK-RollupOptimistic Rollup;

數據存在鏈下,即不具有鏈上數據可用性的方案有: ValidiumPlasma

用零知識證明來主動保證交易有效的方案有: ZK-RollupValidium

用戶需提交欺詐證明來主動驗證交易有效的方案有: OptimisticPlasma

隨著Layer2技術的不斷發展, PlasmaValidium方案在市場上逐漸的失去了聲音。絕大部分產品都是基於其他兩種方案上實現的,因為兩種方案的優缺點比較明顯,因此項目方會根據不同的考量來選擇不同的方案,下面我們將通過一張表格來呈現整個Layer2上的情況:

從表格中可以看出有有兩個被標記的方案:

Offchain Labs研發的ARU擴展方案,和ORU方案一樣被歸類於Optimistic Rollup的範疇,但與ORU主要的不同之處在於欺詐證明的交互過程,這將在後續的技術剖析環節給與分析;

本篇主要剖析ORUARU的挑戰原理,以更好的呈現它們之間的主要差異。

Optimistic Rollup(ORU) -- Fraud Proof 欺詐證明

首先簡單介紹ORU協議裡的兩個概念:

CTC( Canonical Transaction Chain ) :存儲所有的交易信息,保證了數據可用性(更細節的描述可以參考鏈接Optimistic Details )。

STC( State Commitment Chain ) :存儲了一系列的狀態根,和CTC裡的交易順序逐一對應(更細節的描述可以參考鏈接Optimistic Details )。

兩者的關係如下圖所示:

0為初始狀態根,圖中綠線表示:交易Tx1執行後,狀態根由S0 => S1 。這些操作都是由sequencer來執行, sequencerORU協議裡扮演者重要角色,主要負責三件事情:

1.接受來自用戶的交易;

2.將這些交易rollup ,並添加到CTC上;

3.計算每筆交易提交後的狀態根並添加到STC上;

假如sequencer作惡,提交了錯誤的狀態根(後續的狀態根自然也是無效的),如下圖所示, Verifier如何驗證sequencer作惡呢?

Verifier的挑戰過程主要分為三個步驟:

1.宣稱要挑戰的交易,並且提供在此交易執行前的狀態根;

2.上傳L2上所有和該交易相關的狀態到L1 (因為挑戰的思想是在L1上重新執行L2上已經執行過的交易,並比較執行後的狀態);

3.L1重新執行挑戰的交易,計算新的狀態根,並判斷sequencer是否作惡;

如果sequencer確實作惡,那麼將罰沒其押金,並將其部分獎勵給verifier  

Optimistic具有的缺陷是:

1.由於不是主動保證交易的有效性,因此sequencer提交的每一次狀態更新都要設置挑戰期,大概在一周左右,時間太長;

2.用戶挑戰的成本很高,具體包括:( 1 ) 發送所有和挑戰交易相關的數據到L1 ;( 2 )在L1EVM上執行該筆交易,並更新狀態根;

優點:

1.兼容EVM

Arbitrum Rollup(ARU) -- Fraud Proof

ARU協議的設計和ORU大體相似,主要的區分在挑戰機制上。在ORU協議裡, sequencerverifier之間只有一次交互,即sequencer提交一次狀態轉換, verifier去完成後續的挑戰。由於sequencer宣稱就是初始狀態為Si ,執行完交易Txi後,狀態根變為Si+1” 。因此,在L1上不得不完整的執行整個交易。

ARU的協議對以上過程進行了優化,實際上,在L1上執行交易的過程,其實就是在虛擬機上執行某些指令的過程; ARU協議認為,整個交易執行的過程中,狀態更新的失敗,必定是其中的某些指令執行的失敗,因此,只需要證明sequencer在執行某條指令時出現異常,那就可以證明sequencer作惡。具體的過程如下圖所示:

注:在ARU協議裡, Asserter對應ORU協議裡的sequencerChallenger對應ORU協議裡的verifier

據上所知:

1. AsserterChallenger間進行了多次的交互,交互次數和n成對數關係;

2.把驗證整個交易的執行過程,簡化成了單純的驗證一條指令,大大的節省了驗證成本;

3.同樣兼容EVM

當然, ARU協議仍然有很多細節還未在本篇文章裡說明,本篇不打算過多介紹,內容已經很長,如果讀者想了解ARU更多細節,請參考offchainlabs的官網。

寫在最後

雖然以Optimistic Rollup (ORU)路線為主的Layer2擴容方案逐漸的被市場上更多的產品所接受,但是未來的Layer2擴容終極方案仍然是兼容EVMzkRollup (ZRU) 。目前的Layer2的產品市場上,對於EVM的兼容性比安全性和效率更受關注,當然完美的方案是兼容EVMzk rollup ;在此之前, Layer2擴容方案應該會在一段時間內在兼容性和安全性之間權衡選擇。這有利於Layer2擴容技術的發展, Offchain Labs做了很好的榜樣;當然ZKSwap團隊也會持續研究探索,按照ZKSwap的路線圖,將在今年發布兼容EVMZK Rollup版本,取得更好的可組合性和安全性,而不用像O ptimistic的解決方案,通過犧牲一定的安全性來實現與EVM的兼容。