以太坊作為目前最流行的智能合約區塊鏈,一方面,由於使用全節點挖礦,導致眾多節點共同參與記帳,因此效率較低;另一方面,以太坊又是目前最流行的智能合約區塊鏈,因此在以太坊上的交易量又比較大,這導致以太坊的處理事務的速度較慢,經常出現待確認交易。用戶執行交易動輒就要等上半小時、一小時甚至更久。
以太坊分片是在以太坊內部進行擴容的性能解決方案,而Layer 2則是在以太坊區塊鏈外部進行擴容的方案。
以太坊Layer 2也經歷了若干年的發展,發展出不同的Layer 2。
從Layer 1到 Layer 2
以太坊公鏈就是Layer1,咱們在以太坊上的幣、以太坊上應用數據等都是存在以太坊公鏈上的,而這些幣的交易和各種應用都是在以太坊上運行的。
毫無疑問,以太坊作為一個全節點公鏈,那麼多節點共同協作、工作效率肯定低。而以太坊我們都知道,那是「大忙人」,幣種多、業務量大,這導致以太坊公鏈的工作效率低下,忙的時候許多業務在排隊。
這時候,鏈圈的人才就想到了Layer 2這個方法。把一些以太坊上的交易移到Layer 2上去處理,處理完成以後再把結果返回給Layer 1,這樣layer 1就沒這麼忙了。
舉個簡單的例子,一個公司業務量龐大,於是他開了一個子公司,把一些業務交由子公司處理。母公司就是Layer 1,子公司就是Layer 2。這樣,母公司的負擔就減輕了。
從側鏈到plasma
最初的Layer 2是側鏈,優點是實現了Layer 2,減輕以太坊的負擔。但側鏈的缺點是,側鏈是獨立運行的,如果側鏈上出現問題,比如側鏈節點作惡或遭到攻擊,會導致側鏈執行交易有誤,返回給Layer 1的結果當然也是錯誤的。側鏈的安全性不夠。
於是更安全的plasma出現了,plasma不是完全被託管的,它使用了欺詐性證明的退出機制,當檢測到plasma鏈上出現錯誤時,用戶可以安全的從plasma鏈上退出,因此plasma具有更高的安全性。
從plasma到rollup
Plasma的安全性比較強,但是它給Layer 1返回的僅有交易結果、沒有交易信息。
而rollup則是同時返回交易結果和交易的信息,並將這些數據進行壓縮後返回給Layer 2。
rollup是以太坊創始人V神非常看好的Layer 2技術。網上有多篇文章翻譯和解讀V神對rollup的推崇。
從rollup到ZK-rollup
ZK其實就是Zero—Knowledge Proof,零知識證明。
簡單科普一下零知識證明技術,這是一項匿名技術。在不讓用戶看到真實信息的情況可以得到驗證。說白了,你有一把鑰匙,面前有10把鎖。零知識證明,可以讓你用鑰匙打開對應的那道門,但又能讓你不知道你開的是哪一扇門,反正可以開門可以進去就對了哈哈。
說到這裡大家就明白了,ZK-rollup可以為Layer 2提供匿名性,保護Layer 2的數據隱私。
除此以外,ZK-rollup具有壓縮性。ZK-rollup Layer 2的交易數據,經過壓縮以後返回給Layer 1。
概括一下,Layer 2的形式都差不多,都是通過將交易移至另一個區塊鏈來處理,再將適當的交易信息返回到以太坊主鏈、即Layer 1上。
區別主要有二點,一是主鏈對側鏈的驗證性,二是側鏈向主鏈返回信息的內容。