給區塊鏈擴容難嗎?從比特幣到以太坊
imToken
2021-03-11 05:34
本文约2797字,阅读全文需要约11分钟
起飛的DeFi業務,令以太坊擴容迫在眉睫。

DeFi 業務的增長從2020 年起飛,TVL 從$600M 到$25B,增長了40 倍。從一個現象就能直觀感受:DEX 去年從每日數千筆到達數十萬筆規模,Uniswap 的單日交易量甚至一度超過了老牌中心化交易所Coinbase。

二級標題

二級標題

給區塊鏈擴容難嗎?

早在2010 年時中本聰就已經探討過擴容問題,最初中本聰在比特幣源碼中設定區塊容量為32M,但後來區塊交易量一直很小,就把容量設置為了1M。他自己也認為如果有擴容需求,那麼在代碼中設定區塊高度自動升級區塊容量就好了。

但是後來比特幣擴容卻不是那麼順利,主要分歧在於是採用「隔離見證和閃電網絡」,還是「增加區塊容量」。前者認為「區塊容量增大要求更高帶寬和存儲,會使節點逐漸走向中心化」,希望藉助隔離見證和閃電網絡這兩項技術完成擴容,不增加區塊容量。

注:這也是為什麼Eth2 希望採用PoS 降低節點門檻,從而讓更多人可以成為驗證人,使其完成去中心化世界賬本的理想。

當然這最後已經不是技術問題了, 而是上升到了意識形態之戰,經歷香港共識的出爾反爾與不信任,最終走向硬分叉的道路,形成目前Bitcoin Core 和Bitcoin Classic 兩條擴容路線。

比特幣擴容過程就像一場戲劇,我們可以看到諸如SegWit、Schnorr Signature、Lightning Network 等擴容技術落地實現,但還未有質的改變。

  • SegWit:交易數據壓縮至25%;

  • Schnorr Signature:單簽名數據壓縮至50%;多重簽名:多筆交易壓縮成單筆交易體積;

  • Lightning Network :缺少點對點小額支付場景,資產規模僅有1000+ BTC。

後來閃電網絡白皮書的作者Joseph Poon 轉戰以太坊社區,與Vitalik 在2017 年發布Plasma 白皮書,試圖解決以太坊的擴容問題。

Plasma 主張將交易的計算和存儲搬到Layer2,然後將多筆交易壓縮成一個區塊,並將區塊的默克爾根提交到Layer1 Plasma 合約,從而提高吞吐量和降低交易成本。

Layer2 依賴Layer1 Plasma 合約作為安全信任和仲裁層,如果Layer2 出現問題/作惡,那麼用戶可以藉助Layer1 Plasma 合約退出資金。退出資金要等待約2 週的挑戰期,在此期間任何人都可以提交「欺詐性證明」證明退出無效,從而獲得獎勵。反之,若無問題則等待挑戰期結束,順利退出。

Vitalik 稱Plasma 是side chains that have a non-custodial property,究其原因主要是用戶需要信任Side Chain 機制,而無法保障自己資金的所有權,但Plasma 通過交互式欺詐性證明可以讓用戶隨時申請退出資金,即便Plasma 子鏈出現問題/作惡。

Plasma 曾是社區的希望,我們可以看到許多Plasma 變體實現諸如OmiseGo、Matic、Loom 等,但因為一些缺陷,它並沒有獲得社區最終的青睞:

  • 缺少數據可用性,用戶不得不依賴Plasma 可信任節點數據或不斷監控網絡是否作惡,無法獲得同等於Layer1 的安全性。

  • 提款週期長,依賴長達兩週的欺詐性證明挑戰期,如果有人作惡,同時挑戰期內無人發現並提交作惡( 欺詐) 證明,那麼用戶資金存在損失風險。

  • 上面這段話可能有些難以理解,我們來舉個數據可用性的例子:

當你去賭場玩德州撲克時,你從櫃檯( Layer1 ) 將美元換取籌碼,然後你開始隨便找了一張桌子玩了幾個小時德州( Layer2 交易) ,當你贏到盆滿缽滿的時候,你準備起身到櫃檯兌換籌碼。此時賭場的壞人給你當頭一棒,你失去了記憶( 數據不可用) ,牌桌上的荷官當作什麼事情沒有發生過一樣,重新開始剛才的牌局,騙走你本應贏到的籌碼。

從過去比特幣和以太坊擴容情況來看,我們逐漸找到了理想擴容方案應該有的樣子

  • 保持區塊容量大小,避免走向中心化;

  • 支持數據可用性,用戶可以從L1 上重建交易狀態;

  • 隨著2019 年以太坊硬分叉升級- Istanbul,我們離理想擴容方案越來越近,此次升級包含兩個Layer2 友好的EIP 提案

  • 二級標題

  • 二級標題

  • Layer2 Rollup 的現狀

    什麼是Rollup?

    Rollup 有不少中文譯名,其中一個打趣的翻譯是「春捲」,你可以想像將食物捲起來一口吃下去的感覺。實際上,Rollup 就是將交易數據壓縮放到Layer1 上,從而實現同樣的區塊容量可以塞下更多交易,將30 TPS 擴容到3000 TPS 級別,再搭配上Eth2 Sharding 擴容,效果可以媲美當下Visa 的水準。

    如何壓縮數據?

壓縮是Rollup 的精華,巧妙的壓縮技巧可以塞下更多的交易,同時壓縮數據上鍊可以提供「數據可用性」,保障用戶資產安全。

一筆簡單的以太坊交易( 比如發送ETH ) 通常消耗約110 字節。然而,在Rollup 上發送ETH 僅消耗約12 字節。我們以收款地址和交易簽名舉例:

  • To:使用「索引」來代替20 字節的地址( 例如:一個地址是「狀態樹」中的第4,527 個地址,我們就可以用索引4,527 來表示它) ;

  • Signature:利用零知識證明的特性,將數千筆交易簽名轉化為零知識證明,通過檢查證明的有效性,從而證實數千筆交易有效。

  • Rollup 方案對比

Rollup 方案主要分為兩種:ZK Rollup 和Optimistic Rollup。前者採用有效性證明,後者採用欺詐性證明,這兩種證明方式背後的理念是不同的:

  • 有效性證明:採用數學的方式保障資金安全、用戶體驗流暢和隱私,但短期內無法支持通用的EVM 計算;

  • 欺詐性證明:支持通用EVM 計算( 方便以太坊項目遷移) ,但短期內無法採取零知識證明,所以折衷選擇欺詐性證明,保障資金安全。

  • 最後,本文為了講述Layer2 發展歷程提及了一些過往不同的擴容方案,但這並不意味這些方案的思路是失敗的。這其中除了技術問題,商業可行性也是值得深思的,正如Vitalik 對這兩種Rollup 方案的評價:

短期內,Optimitic Rollup 很可能在通用的EVM 計算中勝出,而ZK Rollup 則可能在簡單的支付、交易和其他特定應用場景中勝出。但從中長期來看,隨著ZK-SNARK 技術的改進,ZK Rollup 最終將在所有場景中勝出。

imToken
作者文库