大家好,我是潘致雄。今天和大家分享的主題會圍繞以太坊Layer 2,從Plasma到現在最流行的Rollup擴容方案。

其實以太坊社區在三年前就已經非常關注擴展性問題了,但也就從今年真正應用生態的爆發之後,大家才深刻地認識到擴容的重要性,所以大家也越來越多地討論到我們在現階段應該做什麼樣的事情。

今天的分享主要是回答以下這些問題:

1、以太坊為什麼要亟需擴容?

2、目前有哪些Layer 2的方案?

3、第一代擴容技術Plasma有哪些具體的問題?

4、第二代擴容技術Rollup原理,為什麼Rollup可以擴容,它是怎麼來實現的?以及Rollup有哪些子方案,包括ZK Rollup和Optimistic Rollup這兩類。

5、Rollup生態如何?

一以太坊為什麼非常緊迫的需要擴容?

其實是來源於以太坊本身的限制,以太坊在設計之初整體的容量,至少沒到以太坊2.0之前,它的容量是有限的。根據大家簡單的估算,以太坊網絡中如果是純普通轉帳類的交易,每秒交易數量(TPS)應該是會少於30筆。如果有一些更高級或更複雜的智能合約類需要運算的,它的TPS可能會遠小於30筆,所以它存在天然的瓶頸。

以太坊區塊鏈又是一個競價機制的網絡,每個人都可以出自己的目標價格,價高者的那筆交易會盡快被確認,所以以太坊網絡中被稱為gas price的指標就可以很明顯地來評估以太坊網絡的擁擠程度。我們拉取了Blockchair統計的以太坊鏈上每日gas的中位數,以此來衡量以太坊每日gas的情況和趨勢。

在以太坊真正投入使用,並且gas開始發生波動的時候可能是在2017年左右,其實在2017年、2018年、2019年,甚至2020年初,可以看到gas費一般都是在10以內,甚至是個位數。可能會有些波峰,比如在2017年底,以太坊第一次真正大規模的應用就是降低了初創團隊融資成本的應用,把以太坊的gas一下就推到了接近100左右的水平。

2018年也會有些其他更通用應用的場景,也把gas推到了100左右的水平,但是一次性的,立馬就回到了個位數的水平。

我們看到2020年年中之後,以太坊的gas費突飛猛進,增長非常快,最高達到了500多,可能是原來平均水平的幾百倍,至少提升了兩個數量級。

540那天正好是以太坊鏈上最著名的一個去中心化交易協議Uniswap當天發布了新的動向,並且做了些空投的操作,導致鏈上有非常非常多的人進行轉帳或者操作,導致以太坊這個鏈非常擁擠。

540是什麼樣的水平呢?最普通的轉帳,就至少要幾美元甚至十幾美元,複雜點的智能合約類的操作也要至少幾十美元、上百美元,所以就是這樣的一個水平。 Uniswap這件事情過了後,我們看到雖然下落很明顯,但依舊保持了比較強的歷史高位水平,可能100不到的平均水平。

換個角度看,鏈上金融業務一個很明顯的數據,我們用了DeBank的數據,DeBank採取了以太坊鏈上所有的數據。這是今年一整年以太坊鏈上去中心化交易所相關的交易次數的趨勢圖,在年初的時候,每日交易次數可能1萬不到的水平,到了年底,每日已經到十幾萬的水平,至少提升了一個大的數量級。

而且最大的問題是根本沒有任何下降的趨勢,交易次數是直接和以太坊gas成本相關,而且相關性非常強,因為每次交易都需要付出gas成本,而且鏈上金融類、交易類的智能合約是比普通的轉賬要更複雜一些,所以它所需要花費的成本會更高,會消耗鏈上更多的計算資源。

所以問題就來了,既然碰到以太坊鏈上應用根本沒有任何下降或者是更少的趨勢,那現在最大的問題就是非常需要擴容,因為在提升了1-2個數量級的gas成本之後,以太坊普惠金融的這種概念已經沒法去實現了,所以需要非常快的速度來讓更多人能使用到它,如果需要讓更多人使用到的話,就需要非常快的速度來進行擴容。

二以太坊2.0或Layer 2?

(1)Layer 2可以快速落地。

以太坊2.0我們都知道,它最終解決的也是可擴展性和擴容的問題,但是以太坊2.0可能真的需要2年甚至更長時間來最終上線以太坊的第一階段和第二階段。雖然現在第零階段已經上線了,但也只是信標鏈,而且以太坊本身的基礎架構和方向也有些微調。

我們看到至少在今年這段時間,已經有一些Layer 2網絡的項目上線了,明年還有更多Layer 2網絡的項目會上線,所以開發者的選擇也會越來越多,這個生態可能也會越來越複雜。

(2)以太坊2.0也會圍繞Layer 2技術。

以太坊2.0應該也會圍繞Layer 2,特別是Rollup這一類,來進行可擴展性的提升。

至少大家都還挺認同的一點,就是應對近期和中期的擴容性需求,整個以太坊生態系統需要將發力點集中到Rollup上,Rollup就是Layer 2其中的一種技術。

三什麼是Layer 2?

既然大家都確定要大力發展Layer 2,那什麼是Layer 2呢?

Layer 2中文直譯就是二層網絡,它其實是個相對概念,而不是很直接的概念。它相對的概念是Layer 1,什麼是Layer 1呢?就是區塊鏈底層協議,對於以太坊來說,Layer 1就是以太坊網絡本身。在以太坊網絡本身之外,上面再搭建的其他獨立出來的網絡,可以提供其他額外的計算或者儲存、普通交易,都可以把以太坊本身的這些資源在Layer 2上進行,然後通過一些節點以及無許可的方式,Layer 2網絡和Layer 1網絡進行具體數據交互,就可以為以太坊網絡進行擴容。

當然,這根本的原因是因為以太坊網絡的容量本身就是有限制的,每秒交易的次數就在30以內。那怎麼樣把以太坊Layer 2的網絡用得更好呢?其實還有一點,這裡我雖然只畫了一個Layer 2網絡,其實對於以太坊網絡而言,它是可以兼容非常多,每個團隊都可以開發一個自己的二層網絡,所以以太坊網絡可能是單個Layer 1再加上多個Layer 2網絡的形式,共同發展。

四Layer 2有哪些擴容解決方案?

如果按時間來分,2018年之前我稱它為第一代擴容技術,2018年之後可能慢慢興起了一些第二代擴容技術,實際上官方不會這麼提,但這樣比較好記。

第一代擴容技術主要是以Plasma為主,另外其實還有一些比較早期的擴容技術方案,包括狀態通道。狀態通道有點類似於比特幣的閃電網絡,兩個用戶之間可以建立一個快速的網絡通道,兩者可以在通道內存取一部分資金,定時去更新它們的最新狀態,最終退出時到Layer 1上進行結算。

Plasma稍後會大概介紹下,其實目前已經有幾家研究團隊放棄了Plasma技術,包括Plasma技術裡面最重要的一個團隊Plasma group,它們是以太坊基金會資助的團隊,在去年末今年初的時候表示Plasma團隊會解散,然後重組,重組之後他們會研究Rollup技術,他們研究的Rollup技術叫Optimistic Rollup。但目前還有Matic和OMG團隊仍在開發和研究Plasma的技術,Matic的主網應該已經上鍊了。

第二代擴容技術,也就是以Rollup為首的一些其他相關方案。 Rollup主要有兩個比較大的概念:(1)ZK Rollup,利用零知識證明來實現數據的安全性;(2)Optimistic Rollup是Rollup的一些特性糅合上了Plasma的一些特性,所組合出來的一種擴容方案。當然,還有Volition(Validium),這套方案也有點糅合了Rollup和Plasma相關的技術。所以整體來說,Layer 2的擴容解決方案中還是以Plasma和Rollup兩個比較大的為主。

我這裡整理了相關的時間線,可以作為參考。 Plasma論文發布其實是在2017年8月,後續也發布了幾個優化版,包括Plasma Cash等,有一些進展。但到了2020年,Plasma Group團隊解散,它們重組研究Optimistic Rollup技術。

Rollup和ZK Rollup其實是在2018年的9月份,在2019年年中的時候,有團隊提出Optimistic Rollup概念,糅合了ZK Rollup和Plasma的一些優點,組合出這樣一個概念。差不多在2020年的時候,關於ZK Rollup和Optimistic Rollup概念的項目已經有上測試網。

包括國內的團隊路印(Loopring),它們在2020年初的時候,ZK Rollup的交易就已經上線了,不過它們是專用解決方案,是只為它們自己交易所的應用來實現,目前還沒有給其他團隊提供通用的解決方案。

五Plasma

我會簡單介紹下Plasma是怎樣的實現方式,後面我會用更多的時間來介紹Rollup。

這是第一版Plasma白皮書中畫的一張圖,簡單理解,最下面的Root Chain就是以太坊,以太坊之上有一個Plasma Blockchain,就等離子體區塊鏈的另外一層網絡。上面的Alice是其中一個人,當然還有其他人,會定期把很多人的狀態一層層匯總到Plasma Blockchain,並且會定期把最底層的一些Hash值發佈到以太坊網絡中,作為一個證明。它還糅合了一些欺詐證明的機制在裡面,如果發布的過程中有些問題,還是可以去質疑或者懲罰節點的。

簡單來說是這樣一個概念,但真正在社區推的時候或者項目在採用時會發現一些問題,比較大的兩個問題有兩個。

1、在Plasma區塊鍊和以太坊鏈進行交互時,是沒有包含Plasma鏈的所有交易數據,其實也就是沒有包含Plasma鏈每一次狀態變更的數據,會導致以太坊鏈如果脫離了Plasma圈,是沒有辦法復原每一次的數據,所以它非常依賴Plasma保護。

2、退出期比較長,因為每個節點都定期把相關的數據提交到以太坊鏈上,但因為使用欺詐證明的機制,用戶在進入以太坊鏈的時候是非常快的速度,但要退出Plasma區塊鏈的時候最少可能需要一周時間,才能保證比較高的安全性,不然可能有人在其中短時間作惡,資金可能就會產生風險。

不過Plasma本身還是會有些優勢,因為不會把所有數據都提交到主鏈上,所以潛在的擴容效果會很高,可能遠比之後Rollup的方案更高。

六Rollup

接下來會介紹Rollup,Rollup目前還沒有比較合適的中文翻譯,可以把它理解成蜷曲、捲起或者是收納、聚合的概念。雖然社區裡也有討論過給它起個中文名,但我覺得也不是特別合適。

其實Rollup現在主要有兩個概念,主要是解決了Plasma數據可用性的問題,其實使用了兩套不同的方案來實現,一個叫ZK Rollup,一個叫Optimistic Rollup。

ZK就是使用零知識證明,Optimistic是樂觀的意思,它的機制裡面會有很多很樂觀的地方,相信誠實的人會提交誠實的數據,如果不誠實它會進行懲罰。

ZK Rollup主要的團隊包括Matter Labs、路印、Hermez和Aztec這四個團隊。 Optimistic Rollup主要有OPTIMISM、Offchain Labs、Fuel Labs,OPTIMISM其實是之前Plasma Group重組的團隊。 OFFCHAIN從大類上分也是屬於Optimistic Rollup的,但它們又稱為Arbitrum Rollup,使用了更複雜的多輪交互方案。

最直觀的來理解什麼是ZK Rollup和Optimistic Rollup。 ZK就是零知識證明,它利用了零知識證明技術;Rollup,像我前面解釋,它是聚合的意思,或者你可以把它理解成壓縮的意思,我覺得把它理解成交易壓縮會比較好理解。那Optimistic這個詞是來源於Plasma中的欺詐證明,欺詐證明就是它先樂觀的相信你會提交準確數據,然後再去質疑你。

所以Optimistic Rollup是Plasma的欺詐證明機制加上了Rollup所直接代表的交易壓縮含義。那ZK Rollup,社區裡也會把它叫做有效性證明,就相對於欺詐證明Fraud Proof,也可以叫Validity Proof,因為它是直接提供了一個非常明確的證據,告訴你這筆交易是有效的。

我們可以先簡單來理解一下什麼叫“交易壓縮”,什麼叫Rollup?

我們拿取Hermez團隊白皮書中的一個截圖,我覺得很好理解。左邊是一筆普通的以太坊轉賬交易所需的字節數,簡單說就是所需要的容量,比如說一筆接收用戶的地址就需要20字節,但同時以太坊鏈上的交易需要提交ECDSA簽名,就證明這筆交易是某個發送者發出的,需要簽名,才能確保它的安全性,這個簽名就要64bytes。

Hermez而當時提供的方案是發送者和接收者都只需要3bytes,Amount只需要2bytes,所以相比之下差別非常大,只要不到10bytes裡就可以實現一筆交易。

我們更詳細的來看,更直接的來理解,到底ZK Rollup是怎麼來壓縮數據並且加上了ZK部分。比如說鏈上有一些交易,每一筆交易都有它的發送地址、接收地址、數量或者簽名數據,就像剛剛Hermez團隊一樣。發送地址、接收地址可能都是比較複雜的以太坊鏈上公鑰的地址,是20字節的,那ZK Rollup怎麼做呢?

第一步,把零散交易的發送、接收和數量這些數據進行壓縮,可以把原來非常複雜的公鑰地址映射到某串數字上,比如說可以映射成10293這樣的數字上,發送地址、接收地址都可以壓縮到這麼小的數量上。

第二步,針對簽名數據進行壓縮,使用ZK,零知識證明其中有一個特性,怎麼理解呢,就它把原來的這6筆簽名數據等價的變成了一個零知識證明,只要拿著這一個零知識證明就能證明這6筆交易都是由發送者簽名發出的有效交易。然後把這6筆交易打包成一筆大的Rollup交易,然後提交到主鏈上。

當然在實際操作中,真正交易的數量會更多,上千甚至更多,我這邊6筆只是做一個簡單的示例。隨著數量的增多,零知識證明容量的增幅可能不會這麼大,所以很多交易都會平攤它那部分證明的成本。

ZK Rollup也會帶來一些新的挑戰,當然也有它的優勢。

挑戰1:它與簽名機制不同,生成零知識證明需要大量計算資源,可能會針對不同的硬件去開發不同的解決方案,所以計算資源這件事情可能是需要比較大的投入。

挑戰2:在通用智能合約的支持上難度相對較大,因為零知識證明它不是普通的智能合約就能實現的,裡面是有它的電路、設計之類的東西,所以在通用的智能合約支持上難度相比較之後OR的來說,會相對難度大一點。

優勢:

相比較Plasma,它的優勢在於每筆交易數據都是存在於以太坊鏈上。可以提供與Layer 1幾乎相同的安全性,因為它也是相當於每筆交易都有自己的簽名,來證明每筆交易都是有效的。在用戶進入網絡和退出網絡的時候速度可以非常快,而不像Plasma或者OR,退出網絡可能是以天為單位來計算的,它們可能幾分鐘就可以實現。

根據各家之前公開的數據來看,ZK Rollup能達到的擴容效果可能是提升最多兩個數量級,應該會小於3000的TPS,但是提升一個數量級就對整個網絡的貢獻非常非常大了。

其實Optimistic Rollup理解起來,可以直接和ZK Rollup進行一些對比,怎麼理解呢?壓縮(Rollup)的部分都是比較類似的,可以把發送、接收的數據進行壓縮,但它有個很大的特點是沒有零知識證明確保狀態準確無誤,也沒有零知識證明來保證它的每筆交易都是有效的,但它是通過欺詐證明來確保的。

就是任何節點都可以將這筆Rollup交易發送到以太坊主鏈,但如果有人發現提交的數據有誤,是可以提交欺詐證明的,提交自己的證據,如果這個證據也能被證明是有效的,那之前提交的節點是會受到一些經濟上的懲罰。所以是通過博弈論以及經濟學的機制設計來確保鏈的安全性,確保Optimistic Rollup的安全性。

Optimistic Rollup相比ZK Rollup的挑戰、優勢也不太一樣。

挑戰1:由於採用欺詐證明,所以用戶的退出週期比較長,帶來的用戶體驗可能比較差。當然,其實有一些項目在嘗試解決退出期比較長的問題。

挑戰2:雖然大家都說Optimistic Rollup的安全性是可以達到和主鏈相同,但整體來說,因為它沒有ZK的部分,所以我們會認為它整體安全性可能會略低於以太坊主鏈。

不過還是有它自己的優勢。

優勢1:和ZK Rollup一樣,相比較Plasma,每筆交易數據都是存在主鏈上,所以數據可獲得性是沒問題的。

優勢2:支持通用智能合約技術比較容易,比如說Optimism的OVM技術就可以兼容以太坊的智能合約,所以對於開發者來說它的遷移成本在Layer 2上可能會低一些。

也有些團隊公開了它們的擴容效果,大概來看其實也就和ZK差不多,最多兩個數量級的水平,可能也是理論最大值了。

我們直接來看這三者的對比,兩個Rollup相比較Plasma最大的優勢就是交易數據、狀態轉換數據都是保存在主鏈上,所以這個鏈脫離了Layer 2(二層網絡)也是能繼續運作的,而不是說脫離了Plasma之後數據可獲得性就沒有了。

還有些特點,ZK Rollup是依賴了密碼學和零知識證明的,Optimistic Rollup是依賴了欺詐證明,依賴了博弈論、經濟機制設計。支持通用型智能合約,ZK Rollup相對而言會難一些,另外兩者相對簡單一些。退出期來看,Plasma可能要2週左右,當然有更優的方案可能會更短,Optimistic 可能以天來計。安全性來說,可能ZK Rollup是安全性最高的,其他兩者雖然也不會損失資金,但可能會付出一些時間成本在裡面。

可以看下我們近期製作的以太坊八大擴容方案生態全景圖,從通用解決方案來說,前面的3-4個團隊可能是目前生態建設最好的項目,它們有著比較強的投資機構,包括以太坊基金會都在裡面。 Paradigm、STARKWARE、MATTER這些,都在支持擴容方案的團隊。

從生態來看,Optimistic已經有了OPTIMISM,ZK Rollup有了Matter Labs。應用上其實Optimistic的應用SYNTHETIX、UNISWAP、Compound都是頭部團隊,以太坊上金融DeFi應用的頭部團隊。下面的一些團隊,Aztec、LOOPRING、Fuel、Hermez目前也還在搭建它們的生態。

今天主要回答了這幾個問題:

為什麼以太坊亟需擴容?因為應用發展的速度太快,特別是金融類應用發展速度太快,以太坊鏈的容量存在天然的天花板,短期內沒法直接把它打通。

目前有哪些Layer 2方案?核心的可能還是Plasma和Rollup,是社區最關注的兩套方案。

第一代擴容技術Plasma最大的問題是缺少了數據可獲得性,所以這幾年時間裡沒有得到快速應用。

第二代擴容技術Rollup,它最大的原理就是對鏈上交易、狀態或者是智能合約進行數據壓縮,當然還有子方案,包括ZK Rollup是用零知識證明,Optimistic Rollup是用欺詐證明,來保證了安全性。

Rollup生態如何?剛剛我們看到它發展的速度非常快,不同的解決方案都已經在建設生態了,明年可能會是Rollup生態更快速發展的一年,很多應用及網絡可能就會在明年正式上線。

以上就是我今天的分享,感謝大家的時間。

【注:本文僅代表演講嘉賓觀點,不代表萬向區塊鏈立場】

End