【鏈聞精選】研究總監潘致雄:Plasma 與 Rollup 是以太坊二層擴容核心 (ZK,Optimistic)

ABMedia
分享
【鏈聞精選】研究總監潘致雄:Plasma 與 Rollup 是以太坊二層擴容核心 (ZK,Optimistic)

本文發表於 2020 年 12 月,原文標題:《萬向區塊鏈蜂巢學院 | 潘致雄:為什麼相比以太坊 2.0,Layer 2 在現階段可能更重要?》,演講:潘致雄,鏈聞研究總監。(本文經授權轉載,圖表經授權後繁體中文化,以下為演講內容)

大家好,我是潘致雄。今天和大家分享的主題會圍繞以太坊 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?

Layer 2 可以快速落地。

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

我們看到至少在今年這段時間,已經有一些 Layer 2 網絡的項目上線了,明年還有更多 Layer 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 值發佈到以太坊網絡中,作為一個證明。它還糅合了一些欺詐證明的機制在裡面,如果發佈的過程中有些問題,還是可以去質疑或者懲罰節點的。

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

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

退出期比較長,因為每個節點都定期把相關的數據提交到以太坊鏈上,但因為使用欺詐證明的機制,用戶在進入以太坊鏈的時候是非常快的速度,但要退出 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 簽名,就證明這筆交易是某個發送者發出的,需要簽名,才能確保它的安全性,這個簽名就要 64 bytes。

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

我們更詳細的來看,更直接的來理解,到底 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 生態更快速發展的一年,很多應用及網絡可能就會在明年正式上線。

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