金色學院前沿課第三講:以太坊Layer2最新策略與趨勢
課程介紹:
早在2008年時候中本聰發明比特幣,區塊鏈只是為了保證比特幣系統穩定運行的技術手段。 2013年Vitalik Buterin創造以太坊,區塊鏈才真正獨立於比特幣,成為改變互聯網運行模式的下一代網絡技術,逐步發展為新的數字網絡,可以通過智能合約部署一系列應用和交易的區塊鍊網絡系統。但取得成功同時缺陷逐漸顯現出來,費用高、效率低等等。以太坊的擴容問題,一直備受關注。在ETH2.0到來前,近年來Layer2成為最為有效的以太坊擴容方式之一,相當於在以太坊邊上架起另一座起橋樑,本期我們深入研究以太坊Layer2。
本期課程講師:
祁超 Celer Network 中國負責人
課程大綱:
1. Layer2的由來
2. Layer2的設計思路
3. 狀態通道及特點
4. 側鏈擴容方案
5. Rollup方案
6. 怎麼看待各個layer2的優劣?
7. 如何看待layer2以後的發展
課程內容:
1. Layer2的由來
談到layer1和layer2就不可避免的要提到一個經典話題,不可能三角,即一個區塊鏈系統無法同時滿足三個條件:安全、可擴展性、去中心化。
而對於一個底層區塊鏈系統來說,安全性和去中性化一定是最重要的,在保持了安全和去中性化的前提下,一個區塊鏈系統是肯定無法實現足夠的可拓展性的。
所以這個時候我們就需要在layer1上再搭一層來解決可拓展性,這就是layer2。
2. Layer2的設計思路
我一直認為區塊鏈系統最有趣最優美的地方就是他的系統和經濟模型的設計,非常有趣的是,Layer1設計原理是把人往壞裡想,它要防止人作惡,它要設計一個治理體系防止人們去作惡,要 can’t be evil。 Layer2剛好相反,因為layer2是一個應用層,它要把人往好了去想,因為不管是在區塊鏈世界還是在現實世界其實都是好人多,大部分區塊鏈世界中的交互,大家也是衝著互利互惠的角度去做的,我們可以先假定大家都是好的,只要有一個辦法可以在有人作惡是去很好的處理壞人就好了。
以下為常見的layer2
3. 狀態通道
我打個比方來說狀態通道的實現方式,我和小明在現實生活當中有一個合作,我們會如何來做呢,我們其實不會像layer1目前處理方式這樣,把我們的合作公之於眾,讓大家都能驗證,而是私下簽個合同,然後按照合同的步驟一步一步去做,99%的情況下我們倆合作特別愉快,這事結束了,因為這是我們兩個人之間的合作,也就把這事了了,也不用讓別人知道,非常愉快就結束了。
而如果發生了1%的情況,就是我們倆出現了糾紛,那也沒關係,我們之前簽了合同蓋了章,這個都是有法律效力的,我們可以拿著這份合同,不管是去仲裁機構仲裁還是去法院打官司,都可以把這個糾紛很好的解決掉,這是現實生活中,雙方有合作的處理方式。
其實在區塊鏈世界中我們可以用同樣的方式去做,區塊鏈世界中我們的私鑰簽名和時間戳,就可以類比現實生活中的合同和蓋章,我們鏈上的智能合約可以充當現實生活中的司法機構,在區塊鏈中非常多的交互都可以拿到鏈下來做。
一句話來簡述狀態通道就是雙方會在鏈下建立一個狀態通道,通過交換各自用私鑰進行簽名後的信息,在鏈下進行交易。
狀態通道的特點簡單總結一下就是:
● 即時確認,互聯網級別的延遲
● 固定的參與者集合(通常為雙方)
● 可以互相連通,形成通道網絡
● 資金效率較低
● 需要把應用邏輯寫成狀態機的形式
● 不適用與大部分現有的 dApp,應用場景較為局限
狀態通道是最極致、純粹的二層擴容方案,把延遲降到了互聯網應用的級別。但由於上述種種局限,特別是參與者集合的固定性,在以太坊生態內一直沒有得到大規模的應用。
4. 側鏈擴容方案
然後我們來看一種能支持動態的參與者集合的擴容方案:側鏈。側鏈在技術上的特點是:在與主鏈有一定聯繫的基礎上,採用不依賴於主鏈的獨立共識。比如Polygon會定期把狀態根同步到以太坊主鏈上,但它本身的出塊是獨立於以太坊進行的。一般來說,側鏈會採用經典共識算法,例如結合了PoS的BFT或者PoA,而非中本聰共識。因此,它們的吞吐量相對較高,延遲也相對較低。
● 獨立共識,不依賴於主鏈
● 相對較高的吞吐量 (TPS)、較低的延遲
● 靈活的參與者集合
● 一般採用經典共識算法,假設大部分驗證人是誠實的
● 安全性較弱
5. Rollup方案
由於側鏈獨立於主鏈進行共識,安全性是比較差的。那麼有沒有一種擴容方案可以結合側鏈的性能和主鏈的安全性呢?這就是Rollup。 。 Rollup這種技術的關鍵點是: 交易歷史數據的存儲開銷遠遠小於鏈上狀態的存取和計算。在側鏈的基礎上,把所有交易歷史數據打包,加上這些數據產生的狀態樹的根,匯總到主鏈,並且提供一種驗證狀態轉移正確性的機制,就成了Rollup。
Rollup分為Optimistic Rollup 和zk Rollup 兩大類。這兩大類的主要區別在於鏈上驗證狀態轉移正確性的機制。在Optimistic Rollup中,鏈上的合約提供了所謂“欺詐證明”或者叫“過失證明”的機制。在一個挑戰期限(通常為七天)之內,任何人一旦發現某個狀態根是錯誤的,都可以發起過失挑戰來證明這一點,並將Rollup鏈回滾到錯誤的狀態之前。而在zk Rollup中,運營者在提交交易歷史數據和狀態根的同時,還會提交一個由零知識證明技術生成的有效性證明,從數學和密碼學上證明所有狀態轉移都是有效的。
目前,兩種Rollup都已在以太坊主網上投入使用了。 Optimistic Rollup由於技術相對簡單,比較容易支持通用智能合約。例如Optimism, Arbitrum都已經完整支持了EVM。 zk Rollup的複雜度比較高,因而對支付、交易、NFT等特定應用的支持會比對於智能合約的支持進展更快。目前有StarkNet, zkSync等智能合約平台正在進行開發和測試。
6. 怎麼看待各個layer2的優劣?
我們在系統設計中一般都會有個取捨問題,也就是說很多時候並沒有完美的方案。目前來看,Optimistic Rollup由於能比較快地支持智能合約,短期內會更容易推廣。從長期來看,zkRollup由於提現延遲小,並且安全性由可證明的密碼學而不是難以證明的經濟學來保障,可能會得到更廣泛的應用。另外,側鏈方案也可能會長期應用在諸如游戲一類的,對TPS要求比較高而對資金安全要求較低的場景中。
7. 如何看待layer2以後的發展
思考:目前layer2的數量是不是過多了,有沒有可能會變得非常少,讓生態更具有可組合性。
開篇我就提到了不可能三角,由於不可能三角以太坊無法滿足所有的需求,會有各種各樣的需求溢出,也正是因為這樣產生了各種各樣的新型公鍊和layer2,我認為在相當長的一個階段裡,會是一個多鏈多layer2共存的狀態,
我並不認為L2會出現一家獨大的情況,相反,多個L2並存更可能是長期的方向。我們看到BSC、Polygon這樣的側鏈也時不時出現擁堵。而Arbitrum、Optimism、zkSync、Layer2.Finance這些Rollup,由於需要把交易歷史記錄在主鏈上以確保數據可用性,最終還是會受制於主鏈的性能,所以理論TPS一般會比側鏈更低一些。從技術上講,每個去中心化的擴容方案無論性能多好,最終都會遇到瓶頸,所以我認為很難出現單獨一個L2承載所有需求的情況。
除了通用的、兼容EVM的L2以外,還會有各種專用L2。例如Arbitrum在自己的Arbitrum One主網之外還會部署一個為Reddit積分系統專門定制的Rollup。 Layer2.Finance也是一個定制化Rollup,專為聚合DeFi而生。另外還有Immutable X等NFT專用L2。
至於”可組合性“,我覺得可以分為同步和異步兩種。諸如閃電貸之類,在一條鏈上的一筆交易內對多個協議進行操作,可以稱為“同步可組合性”。這種場景在多層多鏈時代會有所犧牲。與此同時,跨鏈轉賬、合約調用等“異步可組合性”會得到很大的發展。 Celer也是在今年1月推出了Celer消息跨鏈架構Celer IM,開發者可以通過Celer IM 使用跨鏈函數調用進行dApp的多鏈組合;用戶可以不必切換所鏈接的區塊鏈即可一鍵使用多鏈應用。
下次和大家分享跨鏈的時候我會和大家詳細的介紹一下這個話題~今天就到這裡,感謝大家的時間