
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 提案 二級標題 二級標題 什麼是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 最終將在所有場景中勝出。Layer2 Rollup 的現狀