以太坊擴容最熱門主力方案Rollup學習指南
編者按:本文來自鏈聞ChainNews(ID:chainnewscom),撰文:潘致雄,鏈聞研究總監,經授權發布。
編者按:本文來自
鏈聞ChainNews(ID:chainnewscom)
鏈聞ChainNews(ID:chainnewscom)
,撰文:潘致雄,鏈聞研究總監,經授權發布。
編者按:本文來自
鏈聞ChainNews(ID:chainnewscom)
,撰文:潘致雄,鏈聞研究總監,經授權發布。
編者按:本文來自
鏈聞ChainNews(ID:chainnewscom)
,撰文:潘致雄,鏈聞研究總監,經授權發布。
二級標題
以太坊在誕生後遭遇的最多質疑就是性能問題,在二層網絡解決方案Plasma 幾乎全面潰敗後,前沿研究領域又將眼光放在了Rollup 技術上。
另一個比較熱門的用戶場景是去中心化金融(DeFi),3 月12 日「黑色星期四」期間,以太坊網絡在鏈上清算和交易的首次大規模壓力測試中,雖說勉強可用,但交易成本提高了數百倍。只有交易成本降到比傳統方式更低之後,區塊鏈才更有實用價值。
去中心化交易所
二級標題
為了提升交易性能,以太坊設立了多個研究方向,第二層網絡(Layer 2)解決方案Plasma 曾是其中最重要的一個。但在過去2 年多的發展中,研究人員逐漸發現Plasma 以及改進版本Plasma Cash 存在不少的問題,比如要求用戶定期上線以及數據可用性問題,制約了Plasma 的發展。
在Plasma 誕生的一年後,名為Rollup 的技術浮出水面。基於此概念,還誕生了多個分支,最主流的是ZK Rollup 和Optimistic Rollup 兩個方案。
二級標題
Rollup 是什麼?
當然,Rollup 的各種方案都存在不同的取捨。比如,ZK Rollup 的缺點是支持通用型智能合約更難,而且「濃縮」數據(創建ZK 證明)的過程耗時較長;而Optimistic Rollup 的整體安全性略差一些。不過,各個開發團隊具體的實現方案,都針對性優化了上述的這些權衡,部分問題已有顯著改善。
Rollup 技術將有助於提升鏈上應用的競爭力,特別是對於高頻交易的場景,有望降低轉賬或交易費用。不過由於本身機制的設計,相比直接的鏈上交易來說,Rollup 類交易可能在鏈上的結算速度會慢一些。出於這個原因,Rollup 的具體應用場景可以包括:
二級標題
普通轉賬或支付
提升匿名性的轉賬或支付
去中心化身份系統
二級標題
去中心化社交媒體
接下來,我們更深入了解學習一下。
二級標題
Plasma 失敗了嗎?
這就是比特幣「閃電網絡」的由來。而Plasma 曾是以太坊Layer 2 解決方案中最受矚目的一個,不僅因為這是由Joseph Poon 和以太坊創始人Vitalik Buterin 共同發布的白皮書,而且還有不少項目宣布過,將基於Plasma 技術展開研發。
但畢竟這是個試驗性的項目,在項目的研發過程中,很多現實問題被暴露了出來,其中最重要的兩個挑戰是:
用戶體驗差:為了避免惡意攻擊,Plasma 在設計挑戰期的機制的時候,用戶需要定期上線網絡,否則可能錯過而遭受不必要的損失。
二級標題
雖說Plasma 也推出過更新版的標準Plasma Cash,但這些問題也依舊存在,最終導致了Plasma Group 和LeapDAO 兩個研發團隊在今年初決定,放棄Plasma 技術,並轉向另一個新技術的研發:Rollup。
而Matic 依舊堅持在Plasma 技術的開發中,他們計劃在5 月15 日至5 月底期間啟動主網的上線流程,並逐步進行去中心化,擴展到超過100 個節點。究竟Matic 有沒有處理好上述的這些問題,值得更多時間的觀察。
無論如何,研究以太坊擴容技術的開發社區,已經將更多精力切換到研究Rollup 了。
為什麼Rollup 有機會?
在Plasma 誕生的一年後,一位匿名人士Barry Whitehat 在Github 中提出了「Rollup」的概念,試圖以「SNARK」對以太坊進行擴容。
SNARK 是零知識證明的一類密碼學技術,全稱是「簡潔化的非交互式零知識證明」(zero-knowledge succinct non-interactive argument of knowledge)。
一文說透密碼學歷史、工作原理、零知識證明及潛在影響
圖片描述
Rollup 一詞本身的含義為「捲曲」或「捲起」,或者可以引申為「匯總」或「聚合」。在數據庫的標準計算機語言SQL 中,語法中的「Rollup」可以幫助Group by 語句,將搜索出的一系列結果以聚合的數據顯示,或許這是他以Rollup 命名該技術的由來。
在Barry Whitehat 提出Rollup 概念時,它是這樣被定義的:
而打包交易和驗證交易的方式是通過zk-SNARK 技術實現的,這樣就能大幅度減少交易成本,確保安全性,也可以解決Plasma 之前遇到的問題。
圖片描述
有人會將Rollup 歸類為Layer 2 技術,但Vitalik Buterin 卻不這麼認為。
在Rollup 概念被提出後,Vitalik Buterin 於同月在以太坊研究論壇中發表文章介紹該技術,他是這麼解釋的:「我們可以將在以太坊上的資產轉賬交易的規模進一步增加,而且不需要使用Layer 2 技術中引入的『活性假設』(liveness assumption,如狀態通道和Plasma),只需要使用ZK-SNARKs 為大量的交易進行驗證。」
有意思的是,「Rollup」這個名字一開始沒受到重視。 2019 年的1 月,Matter Labs 推出了名為「Plasma Ignis」的技術,因為在此之前Layer 2 的主流技術是Plasma,所以他們以「零知識證明版本的Plasma」作為研究方向。但從技術角度來說,這其實不能算是Plasma 的一類,更像是Rollup。後來該團隊全面放棄了Plasma Ignis 這個名字,轉而採用ZK Rollup 作為技術的方向,後續也推出了他們自己基於ZK Rollup 的技術實現方案ZK Sync,還進行了更多的深度定制和優化。
圖片描述
Matter Labs 聯合創始人Alex Gluchowski 在2019 年1 月份發的推特。
由於早期ZK Rollup 的概念中,主要的缺點是生成SNAKR 證明過程較長,而且也未能支持通用型的智能合約,所以Fuel Labs 聯合創始人、以太坊二層擴容方案的長期研究者John Adler在2019 年6 月提出了另一個方案,稱為Optimistic Rollup。該方案吸收了ZK Rollup 對於數據可用性的優勢,以及Plasma 的懲罰機制,由於去除了零知識證明,所以可以更方便地支持通用型的智能合約。
Optimistic 意思是「樂觀的」,所以在該方案中,不是通過SNARK 處理後再將數據聚合到鏈上,而是默認「樂觀」相信節點會將最新且準確的數據發佈到鏈上,否則其他人在驗證後,如果發現有問題可以發起挑戰,成功後節點會受到懲罰。
所以整體來看,Rollup 的技術相比較Plasma,最關鍵的是解決了數據可用性的問題,所有交易數據都是在以太坊鏈上的,安全性也能和以太坊主鏈相同級別。
那既然同樣都是把交易發佈在鏈上,為什麼Rollup 比普通的轉賬的吞吐量更高,成本更低呢?
因為在構建Rollup 類交易的時候,大量的普通轉賬行為可以通過某些技巧進行壓縮,最終在通過零知識證明SNARK 處理後,雖然SNARK 生成過程較長且資源消耗(Gas)較大,但分攤到每一筆交易中就微不足道了。在Vitalik Buterin 的初始提案中有具體的數據可以參考,雖然後續有各種不同的實現和差別。
在他的方案中,單筆交易的構成類似於:
但是由於SNARK 證明的計算資源消耗較多,約600k Gas,以及運行合約所需約50k Gas,所以這也就意味著,必須要批量處理很多交易,才可以分攤這幾百k 的間接成本。
以太坊單個區塊Gas 上限以8M 計算的話,如果以純ETH 交易來說,吞吐量約為:
8M / 21k / 15 秒≈ 25 tps
(8M - 600k - 50k)/ 892 / 15 秒≈ 550 tps
二級標題
這就是Rollup 既能保證Layer 1 數據的可獲得性,也能大幅減少數據需求並減少單筆交易的成本的主要原因。
除了上述提到的Rollup 方案研發團隊之外,不少應用層的項目也看到了Rollup 的優勢,宣布將研究或集成Rollup 技術。從目前公開的項目來看,選擇Optimistic Rollup 的項目更多一些,包括去中心化交易所、DeFi 協議、匿名服務等,很可能是因為項目方考慮到Optimistic Rollup 的優勢為支持通用智能合約,以及不會像ZK Rollup 需要花費很多時間生成SNARK 證明,畢竟在沒有優化方案之前,可能會影響應用的使用體驗。
二級標題
但曾經研發Plasma 技術的團隊LeapDAO 卻認為Rollup 技術不是萬靈藥。在他們進行了具體的數據分析後,為大家提供了很多值得參考的數據。根據他們的估算,整體而言Rollup 可以為以太坊網絡提升略超過10 倍的吞吐量,因為相比Plasma 還是犧牲了很多成本的。
除了兩個最流行的Rollup 衍生版本外,還有一些以太坊二層擴容方案也採用了Rollup 這個名字,比較常見的兩個是SKALE Labs 提出的BLS-Rollup 和Offchain Labs 的Arbitrum Rollup。
二級標題
二級標題
ZK Rollup 進展
ZK Rollup 技術研發中最重要的公司是Matter Labs 和iden3,兩者均已推出測試網。但他們產品的定位略有差異,Matter Labs 更像是通用型解決方案,而iden3 是專用型解決方案。
為了實現通用智能合約這一需求,Matter Labs 還推出了零知識證明智能編程語言及框架Zinc,在今年2 月推出了首個版本v0.1 Alpha。 Matter Labs 表示,Zinc 是用於創建安全的零知識證明線路以及基於其運行程序的智能編程語言和執行環境,Zinc 遵循Rust 原理,並基於簡化的Rust 語法,精通Rust、C++、Solidity 等語言的開發者可在一天內快速上手。
二級標題
而iden3 研究ZK Rollup 的初衷則是為了他們原本項目考慮的。 iden3 這個名字,可以想像成是identity(身份)的3.0,感受一下,是不是類似於「Web3」?所以iden3 團隊專注的是為數字世界提供一種開源的身份管理系統,利用零知識證明zk-SNARK 提升隱私特性,而Rollup 則可以增加身份認證系統和應用層在鏈上交互行為中交易吞吐量。
而從應用層來說,路印Loopring 和AZTEC 分別解決了用戶鏈上交易和隱私的需求。路印Loopring 的去中心化交易所是當前Rollup 項目中開發進度最快的一個,早在2 月底就已經上線以太坊主網,開始了公開測試。
二級標題
Optimistic Rollup 進展
Optimistic Rollup 技術中最重要的公司是Fuel Labs、Optimism (前Plasma Group)和NutBerry,他們研發的是通用型的Optimistic Rollup 解決方案。相比ZK Rollup,由於去除了複雜的零知識證明這類複雜的密碼學技術,所以支持通用的智能合約會更容易一些。
其實在Plasma Group 對外公開放棄Plasma 技術之前的2019 年年底,就組建了一家新公司Optimism,專注於實施Optimistic Rollup,該公司目前已經從加密風險基金Paradigm 和設計公司IDEO 旗下的IDEO CoLab Ventures 籌集了350萬美元種子輪融資。新募集的資金主要用於實施Optimistic Rollup 解決方案和基於該解決方案構建應用程序。儘管這是一家商業公司,但該研究小組表示,希望繼續為開源項目做貢獻,並與公眾分享自己的研究成果。https://ethresear.ch/
今年1 月,Fuel Labs 基於Optimistic Rollup 的以太坊側鏈Fuel 的公開測試網上線,代碼也已開源。值得注意的是,他們測試網的合約就已經支持所有的ERC-20 代幣了,畢竟ERC-20 本就是一種智能合約。後來在3 月,他們宣布推出一門新的以太坊底層語言Yul+,作為對Yul 的實驗性升級,為Yul (以太坊虛擬機的一種低級中間語言)添加了各種QoL 功能。 Yul 是由Solidity 開發者編寫的一門旨在進一步優化編譯目標的低級中間語言,簡單且具有實用的低級語法,讓開發人員比Solidity 更接近原始以太坊虛擬機(EVM),同時具有優化gas 費使用效率的潛力。https://ethresear.ch/
未來
二級標題
這些應用將會在後續的一兩個季度內逐步上線,不用多久就能體驗到了。
二級標題
未來


