大量明星公鏈即將在 2020 年上線,並且都聲稱能夠解決區塊鏈的可擴展性問題。讓我們再次深入了解當前項目都如何應對可區塊鏈的可擴展性問題,而公鏈的可擴展性問題又該如何解決。
區塊鏈並不一定是為了速度而創建
中本聰在設計比特幣時,將安全性和去中心化置於首位,他也承認,在與中心化的競爭對手如主流信用卡網路競爭時,比特幣系統將面臨壓力。而實際上,比特幣的 10 分鐘出塊時間和較小的區塊卻讓它能夠維護一個全球性的、無領導網路的共識,因為這樣做減少了非故意的賬本分叉的頻率,又能維持節點運營的低成本和存儲的低要求。
比特幣很慢:在過去一年中,它每秒處理的交易量(tps)還不到 4 次。而且比特幣無法輕易擴大其吞吐量,這在圍繞「區塊大小」而展開的多年治理鬥爭中已顯而易見。這場鬥爭的高潮是在 2017 年底,比特幣現金 ( bitcoin cash ) 成為該網路的首個主要硬分叉。為比特幣區塊設置一個硬性的大小限制,這使得「數字黃金」的說法從此佔據主導地位。
如今,大多數投資者似乎已滿足於將比特幣作為一個低吞吐量系統,更看重其對高價值交易的強大結算保障,而不怎麼在乎它對全球支付網路的支持。原因顯而易見!交易的方程式表明,速度(即資金的交易速度)一旦提高,會給其價格帶來下行壓力。
以太坊怎麼樣?
類似的說法現在也在以太坊浮現。這個所謂的「世界計算機」項目正在做三難選擇,到底是側重高價值的交易結算,還是偏重高吞吐量的去中心化應用。簡而言之,以太坊現在只和去中心化金融 (DeFi)有關。
這種轉變是必然的。以太坊在 2017 年變得非常火,其較弱的處理能力(平均 7.5 tps)無法跟上交易量的快速增長。未確認交易不斷積壓導致交易費飆升,並進一步讓結算時間不斷延遲,使得以太坊作為平台難以滿足特定遊戲應用和交易所的需求。
最著名的例子是加密貓 (CryptoKitties)危機,這是一款鏈上收藏品的遊戲。在 2017 年末推出後實在太火爆,不久它就讓以太坊幾近停滯、顏面掃地。為了應對這種窘境,基於區塊鏈的遊戲和博彩應用,後來選擇了性能更高、收費更友好的其他智能合約平台,如 EOS 或Tron。甚至始作俑者,即加密貓的創造者、創造力旺盛的 Dapper 實驗室,也籌集了 1,100萬美元去創建一個競爭性的網路,目標就是解除困擾以太坊的交易瓶頸。
當比特幣遇到擴展難題時,它從支付演變成了結算。
而在同樣的挑戰中,以太坊從世界計算機演變成了 DeFi。
下一代區塊鏈項目似乎不應該忽視這樣一個顯而易見的事實:高吞吐量的加密應用普遍缺乏一個承載平台,這為新項目打開了機遇的大門。但誰能解決用戶體驗和激勵配置等問題呢?短期解決方案可能是兩個,一是說服客戶相信,非監管的金融和數據服務比現在的方案更值得考慮(行為轉變),一是提供一個在性能上打敗現有系統的環境(技術進步) 。
消費者行為的轉變需要時間和教育,才能達到預期的效果。在我們這個即時滿足、而且時間有限的世界裡,這種方法效率很低。作為應對,大多數開發人員和投資者選擇去解決技術問題,以構建可擴展的區塊鏈網路。
一些高吞吐量選項
分析一下近期融資的項目你會發現,可擴展性是贏得用戶的首選策略。在我們的樣本中,投資者已經向主打優異性能的以太坊替代品投入了超過24 億美元。然而,這些「超級鏈」中有75% 尚未推出,其他已上線系統也未兌現它們在性能方面的承諾。
▲主要的 layer 1 高性能區塊鏈項目
這一輪投資熱潮還延伸到「第二層解決方案」。這些項目從基礎層網路中分擔了一些計算和數據存儲職能,在每秒處理的交易量和節點操作成本方面,性能都有所提高。第二層解決方案的投資者,押注於區塊鏈網路的垂直擴展,而非水平擴展。
▲Layer 2 擴展性解決方案
儘管注入了大量資金,但可擴展的區塊鏈解決方案仍然難以名狀。一個揮之不去的問題是,既然所有這些資金都被投入到區塊鏈擴展的研究和開發中,那麼,為什麼沒有出現一個主導性的解決方案呢?
規模更大,問題越多
基於去中心化的基礎設施和一個節點運營者社區來讓某一網路實現規模擴展,難度很大。這是因為,去中心化、安全性和可擴展性之間的關係非常糾結,這有時被稱為「可擴展性不可能三角」,它讓區塊鏈系統無法同時具備這三個特性。
所有現有的網路項目都需要進行取捨。比特幣和以太坊選擇將去中心化(節點運營成本低)和安全性(攻擊成本高)放在可擴展性(每秒交易量高)之上。像幣安鏈 (Binance Chain)這樣的替代型項目,則通過控制可訪問節點數量、犧牲去中心化而獲得性能的優化。另一些替代方案選擇了部分犧牲網路的安全性。
▲面對「可擴展性不可能三角」,不同項目的不同取捨
由於計算性能是功能和被採用的先行指標,因此,試圖解決這個三難問題的任何努力,都能讓人們發現,到底何種策略有可能讓區塊鏈網路獲得擴展。過去的許多項目常常忽略了影響某一網路能夠擴展的各參數之間的關係。除了每秒交易量,應考慮的參數還包括驗證者的數量、交易的成本和終結性所需的時間。
關於可擴展性的早期嘗試,大多較為笨拙,都試圖在不影響其他參數的情況下搗鼓某一個參數。
比特幣現金和它的 BSV 分叉通過改變比特幣代碼來增加區塊大小,使得每個區塊可包含更多的交易。Tps 的增加是以犧牲去中心化為代價的,因為這種「升級」對節點運營者的數據存儲提出了更高要求。比特幣現金和 BSV 都宣傳自己的交易費低,但其實交易費低會減少礦工的收入,並對網路的安全構成長期的生存威脅。
另一種控制運營者成本的方法是,嚴格限制驗證節點的數量。這種方法在 DPoS 網路中很常見,比如 EOS 和 Tron,在這些項目裡,被選定的某一批節點結合在一起,控制所有的投票權。這個驗證者的集合很小,所以網路能夠在短時間內對交易順序和驗證達成一致,但是系統也因此放棄了去中心化和抗審查的特性。
尋找更有前景的解決方案
更有前景的第一層解決方案認識到,上面列出的可擴展性參數需要以一種集體的方式擴展。這些方法涉及更大的技術複雜性,因此在研究和開發上需要更長時間。其中一些實驗包括分片、時間和狀態的分離以及互操作性。
像以太坊 2.0、Zilliqa 和 NEAR 這樣的項目,正在考慮採用分片來解決可擴展性問題。分片模型將網路劃分為不同的組(稱為分片),節點只需驗證其所在分片上的交易。這種「分而治之」的方法使鏈的各部分能夠並行處理各自的網路交易,從而提升性能。
各節點也只負責處理網路中總交易的一小部分,這反過來又降低了運營者的成本並保持了去中心化。儘管有好處,但分片是一個極為頭疼的工程問題,而且其在高壓力下保持運轉的能力仍然存疑。雖然 Zilliqa 主網號稱實現了實時分片架構,但分片面臨的真正考驗,應該是在以太坊啟動 Serenity 的最後階段時發生。
另一方面,Solana 則放棄了分片策略,選擇了時間和區塊鏈狀態的分離這一方法。它的網路具有一種被稱為歷史證明 (PoH) 的內嵌機制,可以實時同步交易的順序。PoH 消除了在交易排序上達成共識的需要,也就免掉了相應的時間損耗,使節點能在收到交易時立刻處理它們。然而,與分片一樣,PoH 並無先例,並且仍處在發展中。Solana 的團隊也發現,在內部測試中很難達到預期的 tps上限(約 40,000- 50,000)。隨著 Solana 從內部測試場所切換到公共的測試網,它將面臨更大的挑戰。
關於可擴展性的另一個前沿難題是互操作性。作為中介,互操作性的解決方案能夠促進不同的第一層網路之間進行信息傳輸,這種跨網路連接還可以促使各種鏈的相互利用,並將性能或安全需求外包。在某種意義上說,當前的以太坊可以將某些處理型的工作交給更高性能的鏈,通過「並行計算」實現可擴展性。而接收了這些工作的網路將受益於以太坊的安全級別、代幣流動性和用戶基礎。雖然跨鏈協作這個想法令人振奮,像 Cosmos 和 Polkadot 這樣的項目也在進展中,但是互操作性到底能否解決可擴展性難題,這一設想仍未被證實。
所有這些解決基礎層可擴展性的嘗試,都涉及極度複雜的技術方案。複雜性在於,人們很難在大規模情形下很好地協調某一區塊鏈設計的各種參數(安全性、去中心化、交易成本等)。這一艱鉅的挑戰促使一些項目尋找可行的替代方案。
尋找上述問題的答案
第二層方案,存在於區塊鏈網路之上的一層,通常通過雙向掛鉤或專門的智能合約連接到底層平台。這些雙向通道為基礎層提供了一個出口,以減輕一些計算責任並緩解各種交易壅塞。我們可以將這些第二層網路看作是某些高交易量、低吞吐量的區塊鏈的減壓閥。
當基礎層獲得性能提升時,第一層/ 第二層的關係完全是相互促進的:大多數第二層解決方案依賴於它們的底層網路來實現安全性和解決爭議。這種動態關係使得在第二層的設計有更大的靈活性,團隊可以在不犧牲基本層去中心化的情況下,用安全性(有時是信任最小化)來換取可擴展性。
閃電網路 ( LightningNetwork )是一個最突出的例子。它是一個建立在比特幣區塊鏈之上的支付渠道系統,使用戶能夠在一個低費用、高吞吐量的環境中進行交易。用戶可以定期將閃電網路的交易記錄在比特幣網路上結算,而無需把每筆交易都提交到鏈上,這就減輕了比特幣網路的整體工作負擔。雖然閃電網路和類似的項目(如狀態通道)在理論上是令人興奮的概念,但這些項目的適用範圍較為有限:支付和狀態通道對執行智能合約或更複雜的操作的貢獻甚少。於是,一些項目開始探索其他第二層擴展解決方案,也就是側鏈(sidechain)和 rollup。
側鏈是獨立的網路,通常具有唯一的共識層,通過雙向掛鉤連接到一個基礎層協議。由於沒有第一層設計的負擔,側鏈可以支持超出其基礎層能力的某些特性,包括但不限於可擴展性和互操作性,同時不依賴於第一層的存儲。儘管有這些所謂的好處,但這些分支網路需要參與者之間更多的信任和協作,而這對加密業的信眾來說是比較為難的要求。
這一兩難困境可以解釋為什麼側鏈缺乏需求。Loom Network 正試圖通過接入多個第一層網路(現在是以太坊和 Tron,不久的將來還有幣安鏈)來強推其採用率,希望某一項努力能掘到金礦。即使是那些歷練更多的側鏈項目,比如 POA Network 的 xDai 鏈,在活躍度和日活用戶方面的排名也明顯低於基礎層的應用程序。支持側鏈的一個更有說服力的論點是,如果市場對互操作性的需求激增,這將推動用戶使用已上線的第二層解決方案,因為第一層互操作性的協議仍在開發中。
另一方面,rollup方案受到了包括 Vitalik Buterin 在內的加密精英的廣泛關注。Rollup 是一種基於以太坊的智能協議,它可以管理側鏈和第一層網路之間的跨層傳輸。與大多數側鏈使用的雙向掛鉤機制不同,rollup 合約會將包含數千個交易的大量狀態變化打包到一個區塊中,然後才發佈到基礎層。這種方法為鏈上數據存儲和計算提供了一種更經濟的替代方法。
Rollup 也分為兩種:ZK Rollup 和 Optimistic Rollup。在較高的層級上,ZK Rollup 使用 zk-SNARKS 的加密魔法來自動驗證每一個新的交易區塊。而 Optimistic Rollup 則繞過了這個數學路障(SNARKS 成本高昂且難以實施),其運營者和用戶可以復查已發布的狀態,如果無效則回滾該區塊。這兩種方案都還處於開發的早期階段,需要克服兩類挑戰才能成為可行的選項,一是安全(rollup 由一個合約組成,對於攻擊來說是一個非常誘人的蜜罐),一是實現最終性所需的時間。
可擴展性解決方案面臨的嚴峻現實
時間還是太早了。
上面描述的每一項新技術都需要時間來開發、調試和改進。而嚴峻的現實是,在區塊鏈可擴展性方面出現的最好的技術可能不會笑到最後。正如 Dan Zuller 所說,
「還有社會和經濟因素會決定誰是最終的贏家(們)。」
這種觀點顯然更青睞像比特幣和以太坊這樣的區塊鏈網路,因為它們在實用性、交易量、開發者和利益相關者社區方面具有明顯的優勢。控制這些因素的網路效應將繼續積累價值和需求,以促成更穩健、更成熟的區塊鏈。因此,基於更受歡迎的基礎層而構建的擴展方案將更容易被採用,並進而發現更大的需求。
剩下的問題是:以太坊將何去何從?如果擴大網路規模的艱苦戰鬥一直受困於延遲問題,那麼,用戶和項目是否會整體遷移到其他競爭鏈上去?短期來看,可能不會。以太坊已通過DeFi 和多樣的利益相關者社群,建立了足夠的護城河,可以防止失去重要的地盤。第二層解決方案的出現,特別是 rollup 合約,可以緩解以太坊短期的性能擔憂,並提供足夠的緩衝,直到以太坊 2.0 的網做好準備。
「高性能」的區塊鏈項目並沒有獲得採用,這說明可擴展性並不是吸引用戶的決定性功能。它只是一個營銷術語,一個有效的術語,用於為前產品時期的融資提高估值。但它的確能對主流的區塊鏈帶來增值;可擴展性解決方案拓展了現有垂直領域(如 DeFi)的功能,使應用程序能夠應對更廣泛的用例,並吸引更廣大的用戶群。
(本文由作者同意後轉載,觀點皆代表原作者,不代表桑幣筆記 Zombit 立場)