Hyden Adams 發了一則吐槽推特:'我想陳述一個事實,在UNISWAP 上我們每天將有420k 美金浪費於交易的gas 費用,而這意味著,一年將有150M 美金浪費在gas上,這不可笑,這是事實'。

聽起來是很荒謬的事情,但卻真實發生了。

實際的用戶體驗是,ETH2.0 發展遲緩,越來越多的交易導致高負載,打包速度變慢,高昂的礦工費,手續費。種種警告表示:以太坊需要自救。  

在以太坊的分片遇到瓶頸的時候,Rollup 的出現又讓Layer2 開始變得炙手可熱。在PolkaWorld 之前的一期專訪中,加密投資機構DFG 也預測2021 年的其中一個發展趨勢是DeFi 在二層網絡的實施。

Layer2 的現狀

Layer1 上效率是有極限的,這直接導致了現實世界的不便利體驗,除非修改一些限制條件,否則我們不可能突破這個極限。所以Layer2 的思想是讓大部分事情在Layer2 去做,通過和Layer1 的交互能夠將信任傳遞到Layer1。  

簡單來說就是:Layer1 能幹的活很少,Layer2 可以在線協助幹活,而且多多益善。體現在區塊鏈上的形式就是鏈外操作,鏈上記錄。

所以說Layer2 本質上是擴容解決方案一個類別的統稱,旨在通過Layer2,解決Layer1 上無法擴容的根本問題,那這一類的解決方案中,都衍生出了哪些具體的交互形式呢?

簡單來概括有四大類:狀態通道、側鏈、Plasma 和Rollup。  

前三類Layer2 的解決方案基本上已經逐漸凋零了,但也有其使用場景,因為屬於偏早期的設計模型,所以都有一些不夠完善的問題。比如狀態通道就不可避免需要鎖定相應的代幣;側鏈就沒能解決好退出週期的問題,而Plasma 則存在一個一定需要參與者實時監控的問題。

Rollup! Rollup!

Plasma 和狀態通道的解決方案是依靠所有者完全知曉狀態,但這使得此類方案無法完全通用化。 Rollups,則是一種「混合型」二層方案。 Rollups 將計算(以及狀態存儲) 移至鏈下,但將每筆交易的一些數據放在鏈上。

Rollup 又主要分為兩大類,一類是Optimistic Rollup,另一類是ZK Rollup。  

Optimistic Rollup 解決方案為欺詐證明(fraud proofs) 。  

聚合者(Batch/也只批處理交易)將批處理後的交易數據和狀態根,一起提交到L1 的Rollup 合約(智能合約),並且在這個過程中提供懲罰機制,允許任何人在挑戰期結束前來驗證交易,如果發生錯誤,則滾回區塊(Rollup!!!)

甚至可以將L1 上的智能合約遷移到L2 上,這類解決方案非常適合Defi 項目。也就是說,一般情況下在L2 上驗證交易(OVM),如果有欺詐可能,則在L1 上重新跑一遍(EVM)。  

ZK Rollups 解決方案為有效性證明(validity proofs)。  

字面理解即為證明其有效,通過在L2 上對每一筆交易做非交互式零知識證明(Zero Knowledge,簡稱ZK),將所有交易數據壓縮後與ZK 證明一起打包上L1,這樣做的優勢是安全性能高,在鏈上進行Rollup 合約密碼學驗證。雖然鏈下產生零知識證明需要消耗大量計算資源,但無論計算量有多大,該證明都能在鏈上得到極速驗證。  

為什麼波卡需要Layer2?

到今天,我們看到波卡提出以中繼鏈(Layer0)和平行鏈( Layer1)相結合的方式來處理擴展性問題的全新思路,而不是局限在以太坊的“舊城改造”上。但這樣的結構,無法直接做到對Layer2 的探索,所以還需要藉助平行鏈的擴展性帶來Layer2 的功能。目前我們也看到一些生態項目在Layer2 上的一些探索。其中,目前最為知名的就屬Plasm Network,它將作為波卡上專注於Layer1-Layer2 這樣垂直擴展性的Layer1 存在,意義重大。  

我們知道,水平可擴展性不同於垂直可擴展性,波卡有前者,但沒有後者。因此,一般來說,平行鏈需要是一條基於Substrate 框架的區塊鏈,但一個Rollup 的應用程序可以與平行鏈不同,這意味著Layer2 的應用程序不需要從第1 天開始就是一條完整的“區塊鏈”。  

另一方面,Rollups 極大概率成為以太坊Layer2 解決方案中的重要代表,甚至成為大部分項目的首選解決方案,那麼波卡必然也需要能夠與之兼容。

而如果波卡具備了更主流的Rollups 擴展方案,那麼目前基於以太坊上的Rollups 項目也是可以順利接入到波卡生態中,當然這需要波卡本身俱有良好的兼容性,至少可以與市面上大部分Layer2 方案相融合。

而這就是Plasm 網絡一直在做的事:成為更好的可擴展智能合約平台,並讓基於以太坊的開發者能夠順利遷移到Plasm 網絡中,同時讓Plasm 網絡能夠容納市面上所有的二層擴展解決方案。目前Plasm 網絡已經成功部署了Rollup,相信在不久的將來也會部署在波卡網絡中。  

Plasm 在Layer2 上的優勢

兼容所有Layer2 解決方案

Plasm 並不只滿足於支持一種Layer2 的解決方案。  

Plasm 認為幾年之后區塊鏈會分為不同的用途,像比特幣以太坊這類Layer1 的公鏈會被應用為信任層,而Layer2 將會是交易層。因此,Plasm 認為Layer2 將會是區塊鏈未來不可或缺的重要方向。

於是,Plasm 選擇了眾多Layer2 解決方案中的Plasma,因為它是最不依賴主鏈處理性能的可擴展性解決方案,可以在不犧牲去中心化的情況下管理其側鏈。 Plasm 採用了以太坊基金會支持的Plasma 團隊開發的虛擬機(Optimistic Virtual Machine,簡稱OVM)。

而OVM 是可以支持所有Layer2 協議的虛擬機,它是所有Layer2 可擴展性結構的統一,這意味著除了Plasma 以外,Plasm 還兼容其他諸如狀態通道、Optimistic Rollups、ZK Rollups等所有Layer2 的協議。  

這也是Plasm 的目標—— 成為一個包含所有Layer2 解決方案的智能合約平台,用戶可以自由選擇任意的解決方案,並降低負載。與此同時,Plasm 還因此一併兼容了支持這些不同Layer2 解決方案的項目,可謂是一舉多得。

優化了現有Layer2

Plasm 並不只是對現有Layer2 進行兼容。  

Plasm 是在波卡上利用Substrate 框架,實現了Plasma 這個Layer2 解決方案。但是Plasm 並不是簡單的把Plasma 實現了而已,Plasma 本身也有一些缺點,比如其Layer1 智能合約的有限性能,使得很多Dapps 無法實現,又比如部署一個基於Plasma 的DApp(簡稱Plapp)比一般的DApps 要更複雜,一般的DApps 只需要編寫和部署就可以創建一個DApp,Plapps 則需要存在於母鏈、子鏈、運營者和用戶上的四個智能合約組成。  

所以Plasm 通過一套標準庫和雲服務來部署和管理Plasma 組件等工具,解決了上述問題,並讓開發者能更輕鬆的開發他們的應用程序。

另一方面,Layer2 的解決方案也不能完全在Plasma 上執行,為幫助DApp 開發者應對那些不能在Plasma 上執行的Layer2,Plasm 專門建立了一個Plasma as a Service 平台來為開發者們提供支持,這也再次展現了Plasm 的高兼容性。同時,這個平台還提供了一套操作簡便的圖形用戶界面(GUI)供開發者使用,進一步的降低了開發者的學習和部署門檻。  

由於波卡中繼鏈本身不支持智能合約,波卡的生態項目中是缺少Plasm 這樣一個高兼容性強擴展性的智能合約平台,所以Plasm 可以讓波卡網絡更具價值。  

Plasm 的Layer2 發展規劃

目前Plasm 已經支持EVM 和Solidity,並且集成了Metamask、Remin、Truffle,同時也會支持ECDSA,WASM 和ink!,並在Layer2 層面已經實現了Plasma。

接下來,Plasm 的規劃是實現部署Optimistic Rollups,進一步兼容更多的Layer2 解決方案。之後,便是參與波卡平行鏈競拍,成為波卡的平行鏈,也將是作為波卡主要的垂直擴展性提供方。最後,便是推出DApp 的激勵,努力開展生態建設。

對於Plasm 網絡來說,一方面它將作為波卡智能合約的重要構成部分,另一方面也將作為波卡Layer2 的擴展解決方案,但不同於其他Layer2 方案的是,Plasm 更像是一個能夠與其他Layer2 賽道融合的“萬能貼”,幫助波卡架起一座橫跨各種Layer2 的橋樑。  

正因如此,如果說以太坊2.0 是“ ETH1.0 + 分片(+ Rollups)”,那Plasm 就是在波卡上創建ETH2.0。

特別感謝:Zenlink cz 對本文Layer2 內容的貢獻