按照技術原理分類,ETH Layer2可以被分為Plasma、Rollups和Sidechains,這些方案在實現邏輯、安全性、可拓展性和去中心化程度等方面各有優劣,
Plasma
Plasma一開始是由以太坊的核心開發者Vitalik和Joseph在他們的論文《Plasma: Scalabe Autonomous Smart Contracts》之中提出的。
Plasma是由智能合約和Merkle樹構建的無數子鏈構成的,它將交易轉移至子鏈上運算與保存,并定期向主鏈報告狀態變更結果來處理爭議。
它的實現邏輯是由專門的、已抵押押金的驗證節點負責運算和記錄子鏈上所有的交易。
當用戶想要將資產從鏈下提回鏈上時,由驗證節點將鏈下的最終狀態結果提交至鏈上,隨后進入一段時間的“挑戰期”,
在“挑戰期”內如果有其他節點可以提供“欺詐證明”來證明該驗證節點所提交的最終狀態結果并非是最新的。那么主鏈將不會接受原驗證節點所提交的狀態,并將部分押金轉給提出異議的節點,
在這一模式下,理論上可以產生無數條子鏈,能夠將ETH網路的TPS提升到新的數量級,
用戶也可以在子鏈上享受更快的交易確認速度和極低的gas fee,極大地拓展了以太坊區塊鏈網路的性能,
Plasma確實是一個解決可拓展性的方案,但它的安全性卻存在著較大的風險,
在Plasma中,由于子鏈上的具體交易內容是由個別的驗證節點記錄在鏈下的,交易的原始數據對于其他節點不具備可得性,
如果原先所有的驗證節點同時怠機,存在子鏈上的資金就將無法提回至主鏈。受限于此,Plasma方案在ETH Layer2中的應用不如其他方案。
Rollups
Rollups可以被譯為匯總交易,它是Plasma在可拓展性上做出部分犧牲的折大陸案,也是目前ETH Layer2中被廣泛應用的方案,
它的實現邏輯與Plasma類似,也是由專門的驗證節點負責運算子鏈上的所有交易,
但與Plasma不同的是,Rollups會將所有原始交易記錄和最終狀態變更結果都存儲在主鏈上。
這樣一來,即使原先所有的驗證節點同時怠機,其他節點也可以利用原始的交易數據來成為新的驗證者,幫助用戶提取存在子鏈上的資金,
Rollups按照防止驗證節點作惡的方式不同,又可分為Optimistic Rollups和ZK-Rollups,
Optimistic Rollups中文譯為樂觀匯總交易,與Plasma一樣,采用的是“欺詐證明”,
與Plasma不同的是,它把原始的交易記錄也保存在主鏈上,如果驗證節點提交的狀態變更結果與交易記錄不符,那么任何人都可以在“挑戰期”內提交“欺詐證明”,使得錯誤的狀態變更結果被正確的覆蓋并獲得驗證節點的押金,
在“欺詐證明”被提交前,其他節點都會默認驗證節點提交的狀態變更結果是正確的,所以這類Rollups被稱為樂觀匯總交易,
Optimistic Rollups的優點在于良好的兼容性,可以基本滿足復雜智能合約的需求。目前ETH主網上的主流智能合約幾乎都可以被部署在基于Optimistic Rollups的Layer2網路上。
例如由Off Chain Labs團隊開發的Arbitrum,其主網Arbitrum One已經上線了諸如INCH、Uniswap、Sushiswap和Curve等一系列主流DeFi項目。
Optimistic Rollups的缺點則在于一些安全隱患和資金轉回主鏈需要等待較長時間,
Optimistic Rollups的安全性是由驗證節點的押金而非算法擔保的,且有可能會受到針對主鏈的“審查攻擊”,
即在“挑戰期”內,作惡者串通礦工不打包挑戰者的申訴,一旦超過“挑戰期”,錯誤的交易將無法被回滾,
而且,由于“挑戰期”一般被設置為7-14天,這一等待時間無疑是漫長的,對于部分用戶來說也是無法接受的。
Zk-Rollups,中文譯為零知識匯總交易,采用的是 “有效證明”。“有效證明”的實現邏輯是,驗證節點除了向主鏈提交原始的交易記錄和狀態變更結果外,還會提交一個“零知識證明”,
其他節點僅需要驗證該證明就可以確保驗證節點提交的狀態變更結果和交易記錄是匹配的,
驗證“零知識證明”要比直接運算每筆交易簡單得多,并且“零知識證明”的有效性是由密碼學原理保證的,而非驗證節點的押金所擔保的,
Zk-Rollups的優點在于,資金從Layer2網路轉回主鏈時不需要“挑戰期”,至多幾十分鐘即可到賬。
Zk-Rollups的缺點在于同樣存在安全隱患和較差的兼容性。部分零識證明算法,如ZK-SNARK,需要可信的初始設置,即算法中一些與安全相關的隨機數是需要初始節點選取的,
如果有惡意節點保存了這些初始數據,它就可以利用初始數據生成虛假的證明,從而偷走用戶在Layer2的資金,
而且目前正式上線的基于Zk-Rollups的Layer2網路僅支持“轉賬”和“期貨交易”這類較為簡單的智能合約,尚不支持部署更為復雜的DeFi項目。
原因就在于,盡管驗證“零知識證明”要比具體計算每筆交易簡單得多,但生成一個“零知識證明”卻要復雜得多。
盡管鏈上其他節點的工作量小了很多,但驗證節點在鏈下的工作量卻增大了更多,
Sidechains
Sidechains,中文譯為側鏈,是兼容以太坊虛擬機的獨立區塊鏈,它們采用自己的共識模型和區塊參數來有效處理交易,
同時也可以實現與ETH主網的互操作性,也就可以將部署在ETH主網的智能合約移植到側鏈上,從而實現資金和數據的跨鏈傳輸。
與Plasma和Rollups都不同,Sidechains自行負責其安全性和共識實現過程,并不需要定期向ETH主網報告最新狀態變更結果,也不需要將側鏈上的交易記錄提交至ETH主網,
側鏈與ETH主網的交互方式可以被稱為“雙向掛鉤”,當資金從ETH主網轉移到側鏈上時,會被鎖定在ETH主網上,并在側鏈上被“鑄造”。
當資金返回時,側鏈上的通證會被“銷毀”,從而解鎖原先鎖定在ETH主網上的通證會被解鎖,
嚴格來說,Sidechains并不是以太坊的子鏈,而是獨立運行并與ETH主網并行運行的區塊鏈網路,
其優點是允許更多的創新和優化,用戶有機會獲得更快的交易速度和更低的交易成本;其缺點是安全性將與ETH主網脫鉤,以太坊網路的算力無法保障側鏈不受到“51%攻擊”。
各Layer2方案的特點
嚴格來說,各種Layer2方案實際上都存在或大或小的安全隱患,并不能達到與ETH主網相同的安全性。
總體而言,Sidechains的安全性最弱,首先,在區塊鏈網路基礎安全層面上,Sidechains明顯不如ETH主網。
分布式賬本的不可篡改性是區塊鏈網路共識的基礎,而攻擊者篡改側鏈賬本的成本顯著低于篡改以太坊賬本,
其次,側鏈上的DeFi項目可能存在更多智能合約漏洞,側鏈上流行的DeFi項目多是對ETH主網上項目的模仿,而這些仿盤團隊的代碼開發能力往往不如原創團隊,
即使這些項目能通過第三方審計公司的審計,但經審計的項目在后續的迭代版本中發生智能合約風險的情況也時有發生。
Rollups的風險在于,智能合約漏洞、抗審查攻擊、密碼學漏洞和人為交易排序等,
首先,用戶在Layer2網路中使用的資金實際上儲存在主網上的智能合約中,如果智能合約收到惡意代碼升級,用戶資金就有可能被盜。
其次,對于Optimism Rollups,潛在的挑戰者未必能夠檢查驗證節點發布的所有狀態變更結果。
而一旦超過挑戰期,即使狀態變更結果與交易記錄不符,錯誤的結果也無法回滾,用戶資金就有可能受損,
再者來說,對于Zero Knowledge Rollups,ZK-SNARKs的初始化信任設置一直被認為具有風險,而ZK-STARKs是較新的和實驗性的密碼學原理,仍需要時間來證明其安全性,
最后,Rollups的交易排序是可被人為控制的。在Arbitrum One中,雖然任何人都可以對驗證節點提出挑戰,但如果運營商利用交易排序器搶先用戶一步,就能夠讓驗證節點的保證金落入項目方自己的口袋,
ETH Layer2的發展方向應當是在保證安全性的前提下,以盡可能去中心化的方式實現更高的可拓展性,
綜合三方面來考慮的話,采用ZK-STARKs的Zero Knowledge Rollups是較為均衡些的方案,
從安全性方面看,Rollups勝過Sidechains,Zero Knowledge Rollups勝過Optimism Rollups,ZK-STARKs勝過ZK-SNARKs。
在去中心化方面,盡管零知識證明的生成是由運營商提供的,但其正確性是由密碼學原理保證的,并不依賴挑戰者和驗證節點間的博弈,也就減少了中心化交易排序的環節,
在效率上,無需挑戰期的設定也能方便用戶快捷地提取資金,
在兼容性和可拓展性方面,隨著技術的成熟,ETH主網上的智能合約基本都能夠被移植到Zero Knowledge Rollups Layer2上,而Layer2網路的高交易吞吐量使得可拓展性得到極大提升。