Multicoin Capital 合夥人 Kyle Samani 詳細闡述了模塊化區塊鏈被高估的 7 個理由。
- 撰文:Kyle Samani,Multicoin Capital 合夥人
- 編譯:Luffy,Foresight News
過去兩年,區塊鏈擴展性爭論已經集中到「模塊化與集成化之爭」這個中心話題上。
請注意,加密貨幣中的討論經常將「單一」和「集成」系統混為一談。關於集成系統與模塊化系統的技術辯論,已經跨越了 40 年的漫長歷史。加密貨幣領域的這場對話應該通過與歷史相同的鏡頭來構建,這遠非一場新的辯論。
在考慮模塊化與集成時,區塊鏈可以做出的最重要的設計決策是在多大程度上向應用程序開發人員公開堆棧的複雜性。區塊鏈的客戶是應用程序開發人員,因此最終的設計決策應該考慮他們的立場。
如今,模塊化在很大程度上被譽為區塊鏈擴展的主要方式。這篇文章中,我將從第一性原則質疑這個假設,揭示模塊化系統的文化神話和隱性成本,並分享我在過去六年思考這場辯論時得出的結論。
模塊化系統增加了開發複雜性
到目前為止,模塊化系統最大的隱性成本是增加了開發過程的複雜性。
模塊化系統大大增加了應用程序開發人員必須管理的複雜性,無論是在他們自己的應用程序上下文中(技術複雜性),還是在與其他應用程序交互的上下文中(社會複雜性)。
在加密貨幣背景下,模塊化區塊鏈理論上允許更加專業化,但代價是創造了新的複雜性。這種複雜性(本質上是技術性的和社會性的)正在被傳遞給應用程序開發人員,最終使得構建應用變得更加困難。
例如,考慮一下 OP Stack。截至目前,它似乎是最受歡迎的模塊化框架。OP Stack 迫使開發人員選擇採用 Law of Chains(這會帶來很多社會複雜性),或者分叉和單獨管理。這兩種選擇都會給構建者帶來巨大的下游複雜性。如果你選擇分叉,你是否會獲得其他生態系統參與者(CEX、法幣入口等)的技術支持,而這些參與者必須承擔成本才能符合新技術標準?如果你選擇遵循 Law of Chains,今天以及明天又會有哪些規則和約束會施加在你身上?
現代操作系統(OS)是包含數百個子系統的大型複雜系統。現代操作系統處理上圖中的第 2-6 層。這是集成模塊化組件以管理向應用程序開發人員暴露的堆棧複雜性的典型示例。應用程序開發人員不想處理第 7 層以下的任何內容,這正是操作系統存在的原因:操作系統管理下面各層的複雜性,以便應用程序開發人員專注於第 7 層。因此,模塊化本身不應該是目標,而應該是達到目的的手段。
當今世界上的每一個主要軟件系統——雲後端、操作系統、數據庫引擎、遊戲引擎等——都是高度集成的,同時由許多模塊化子系統組成。軟件系統往往會高度集成,以最大限度地提高性能並降低開發複雜性。區塊鏈也是如此。
順便說一句,以太坊正在降低 2011-2014 年比特幣分叉時代出現的複雜性。模塊化支持者經常強調開放系統互連(OSI)模型,認為數據可用性(DA)和執行應該分開;然而,這一論點被廣泛誤解。對當前問題的正確理解會得出相反的結論:OSI 是集成系統而不是模塊化系統的論據。
模塊化鏈無法更快執行代碼
按照設計,「模塊化鏈」的常見定義是數據可用性(DA)和執行的分離:一組節點負責 DA,而另一組(或多組)節點負責執行。節點集合不必有任何重疊,但它們可以。
在實踐中,分離 DA 和執行並不會本質上提高兩者的性能;相反,世界上某個地方的某個硬件必須執行 DA,某個地方的某個硬件必須實施執行。分離這些功能並不會提高其中任何一個的性能。雖然分離可以降低計算成本,但只能通過集中執行來降低。
需要重申的是:無論模塊化還是集成架構,某處的某些硬件都必須完成工作,而將 DA 和執行分離到單獨的硬件上並不會本質上加速或增加總系統容量。
一些人認為,模塊化允許多個 EVM 以 Rollup 方式並行運行,從而使執行能夠水平擴展。雖然這在理論上是正確的,但這種觀點實際上強調了 EVM 作為單線程處理器的限制,而不是在擴展系統總吞吐量的背景下分離 DA 和執行的基本前提。
單獨的模塊化並不能提高吞吐量。
模塊化增加了用戶的交易成本
根據定義,每個 L1 和 L2 都是一個具有自己狀態的獨立的資產帳本。這些單獨的狀態片段可以進行通信,儘管交易延遲更長,而且開發人員和用戶面臨的情況也更複雜(通過 LayerZero 和 Wormhole 等跨鏈橋)。
資產帳本越多,所有帳戶的全局狀態碎片就越多。這對於鏈和橫跨多個鏈的用戶來說都是可怕的。狀態碎片化可能帶來一系列後果:
- 流動性減少,導致交易滑點更高;
- 更多的總 Gas 消耗(跨鏈交易需要至少兩個資產帳本上的至少兩筆交易);
- 跨資產帳本的重複計算增多(從而降低系統總吞吐量):當 ETH-USDC 的價格在 Binance 或 Coinbase 上變動時,所有資產帳本的每個 ETH-USDC 池上都會出現套利機會(你可以很容易想像這樣一個世界,每當 ETH-USDC 價格在 Binance 或 Coinbase 上變動時,各種資產帳本上就會有 10 筆以上的交易。在碎片化狀態下保持價格一致是對區塊空間極其低效的利用)。
重要的是要認識到,創建更多的資產帳本會明顯增加所有這些維度的成本,尤其是與 DeFi 相關的成本。
DeFi 的主要輸入是鏈上狀態(即誰擁有哪些資產)。當團隊啟動應用程序鏈/Rollup 時,他們自然會產生狀態碎片,這對 DeFi 來說非常不利,無論是管理應用程序複雜性的開發人員(橋、錢包、延遲、跨鏈 MEV 等),還是用戶(滑點、結算延遲)。
DeFi 最為理想的條件是:資產在單一資產帳本上發行並且在單一狀態機內進行交易。資產帳本越多,應用程序開發人員必須管理的複雜性就越多,用戶必須承擔的成本也越高。
應用程序 Rollup 不會為開發者創造新的盈利機會
應用程序鏈 /Rollup 的支持者認為,激勵措施將引導應用程序開發人員開發 Rollup,而不是在 L1 或 L2 上構建,以便應用可以自己捕獲 MEV 價值。然而,這種想法是有缺陷的,因為運行應用程序 Rollup 並不是將 MEV 捕獲回應用程序層代幣的唯一方法,而且在大多數情況下也不是最佳方法。應用層代幣只需在通用鏈上的智能合約中編碼邏輯即可將 MEV 捕獲回自己的代幣。讓我們考慮幾個例子:
- 清算:如果 Compound 或 Aave DAO 想要捕獲流向清算機器人的 MEV 的一部分,它們只需更新各自的合約,使當前流向清算人的費用中的一部分支付給自己的 DAO,而不需要新的鏈/Rollup 。
- 預言機:預言機代幣可以通過提供 back running 服務來捕獲 MEV。除了價格更新之外,預言機還可以捆綁任何保證在價格更新後立即運行的任意鏈上交易。因此,預言機可以通過向搜索者、區塊構建者等提供 back running 服務來捕獲 MEV。
- NFT 鑄造:NFT 鑄造充斥著倒賣機器人。通過簡單編碼不斷下降的利潤重新分配就可以輕鬆緩解這種情況。例如,如果有人試圖在 NFT 鑄幣後兩週內轉售其 NFT,則 100% 的收入將重新回歸發行方或 DAO。隨著時間的推移,該百分比可能會有所變化。
將 MEV 捕獲到應用層代幣沒有通用答案。然而,只要稍加思考,應用程序開發人員就可以輕鬆地將 MEV 捕獲回通用鏈上自己的代幣中。推出一條全新的鏈根本沒有必要,會給開發者帶來額外的技術和社會複雜性,並給用戶帶來更多的錢包和流動性困擾。
應用程序 Rollup 無法解決跨應用程序擁塞問題
許多人認為,應用程序鏈 /Rollup 可確保應用程序不會受到其他鏈上活動(例如流行的 NFT 鑄造)引起的 Gas 峰值的影響。這種觀點部分正確,但大部分是錯誤的。
這是一個歷史問題,根本原因是 EVM 的單線程性質,而不是因為 DA 和執行沒有分離。所有 L2 都要向 L1 支付費用,並且 L1 費用可以隨時增加。今年早些時候的 memecoin 熱潮中,Arbitrum 和 Optimism 上的交易費用一度超過了 10 美元。最近,Optimism 的費用在 Worldcoin 推出後也出現了飆升的狀況。
解決費用高峰的唯一解決方案是:1)最大化 L1 DA,2)盡可能細化費用市場:
如果 L1 的資源受到限制,各個 L2 中的使用高峰將傳遞到 L1,這將給所有其他 L2 帶來更高的成本。因此,應用鏈 /Rollup 無法免受 Gas 峰值的影響。
眾多 EVM L2 共存只是嘗試本地化費用市場的一種粗暴方式。它比將費用市場放在單個 EVM L1 中要好,但並沒有解決核心問題。當你認識到解決方案是本地化費用市場,邏輯終點是每個狀態的費用市場(而不是每個 L2 的費用市場)。
其他鏈已經得出了這個結論。 Solana 和 Aptos 自然而然地將費用市場本地化。這需要多年來針對各自的執行環境進行大量的工程工作。大多數模塊化支持者嚴重低估了構建本地費用市場工程的重要性和難度。
通過推出多個鏈,開發人員並不能解鎖真正的性能收益。在有應用程序推動交易量增加時,所有 L2 鏈的成本都會受到影響。
靈活性被高估了
模塊化鏈的支持者認為模塊化架構更為靈活。這句話顯然是正確的,但它真的重要嗎?
六年來,我一直在努力尋找通用 L1 無法為其提供的有意義的靈活性的應用程序開發人員。但到目前為止,除了三個非常具體的用例之外,還沒有人能明確說明為什麼靈活性很重要,以及它如何直接幫助擴展。我發現靈活性很重要的三個具體用例是:
利用「熱」狀態的應用程序。熱狀態是實時協調某些操作集所必需的狀態,但只會臨時提交到鏈上,不會永遠存在。熱狀態的幾個例子:
- DEX 中的限價訂單,例如 dYdX 和 Sei(很多限價單最終被取消)。
- dFlow 中實時協調和識別訂單流(dFlow 是促進做市商和錢包之間去中心化訂單流市場的協議)。
- 預言機如 Pyth,這是一個低延遲的預言機。 Pyth 作為獨立的 SVM 鏈運行。 Pyth 產生如此多的數據,以至於核心 Pyth 團隊決定最好將高頻價格更新發送到獨立鏈,然後根據需要使用 Wormhole 將價格橋接到其他鏈。
修改共識的鏈。最好的例子是 Osmosis (其中所有交易在發送到驗證者之前都經過加密),以及 Thorchain (根據支付的費用對區塊內的交易進行優先級排序)。
需要以某種方式利用門限簽名方案(TSS)的基礎設施。這方面的一些例子是 Sommelier、Thorchain、Osmosis、Wormhole 和 Web3Auth。
除了 Pyth 和 Wormhole 之外,上面列出的所有示例都是使用 Cosmos SDK 構建的,並且作為獨立鏈運行。這充分說明了 Cosmos SDK 對於所有三個用例的適用性和可擴展性:熱狀態、共識修改和門限簽名方案(TSS)系統。
但是,上述三個用例中的大多數項目都不是應用程序,它們是基礎設施。
Pyth 和 dFlow 不是應用程序,它們是基礎設施。 Sommelier、Wormhole、Sei 和 Web3Auth 不是應用程序,它們是基礎設施。它們之中,面向用戶的應用程序只有一種特定類型:DEX(dYdX、Osmosis、Thorchain)。
六年來,我一直在向 Cosmos 和 Polkadot 支持者詢問它們提供的靈活性所帶來的用例。我認為有足夠的數據可以做出一些推斷:
首先,基礎設施示例不應該作為Rollup 存在,因為它們要么產生太多低價值數據(例如熱狀態,而熱狀態的全部意義在於數據不會提交回L1),或者因為它們執行一些有意與資產賬本上的狀態更新相關的功能(例如,所有TSS 用例)。
其次,我見過的唯一一種能夠從更改核心系統設計中獲益的應用程序是 DEX。因為 DEX 充斥著 MEV,而通用鏈無法與 CEX 的延遲相匹配。共識是交易執行質量和 MEV 的基礎,因此基於共識的改變自然會給 DEX 帶來很多創新機會。然而,正如本文前面提到的,現貨 DEX 的主要輸入是正在交易的資產。 DEX 爭奪資產,從而爭奪資產發行者。在這個框架下,獨立的 DEX 鏈不太可能成功,因為資產發行者在資產發行時考慮的首要問題不是 DEX 相關的 MEV,而是通用智能合約功能以及將該功能納入到開發人員各自的應用程序。
然而,衍生品 DEX 無需爭奪資產發行者,它們主要依賴 USDC 等抵押品和預言機餵價,而且本質上必須鎖定用戶資產來抵押衍生品頭寸。因此,就獨立 DEX 鏈的意義而言,它們最有可能適用於 dYdX 和 Sei 等專注於衍生品的 DEX。
我們考慮一下目前存在的通用集成 L1 應用程序,包括:遊戲、DeSoc 系統(例如 Farcaster 和 Lens)、DePIN 協議(例如 Helium、Hivemapper、Render Network、DIMO 和 Daylight)、Sound、NFT 交易所等等。這些都沒有特別受益於修改共識帶來的靈活性,它們各自的資產帳本都有一套相當簡單、明顯和共同的要求:低費用、低延遲、訪問現貨 DEX、訪問穩定幣以及訪問到法定渠道,例如 CEX。
我相信我們現在有足夠的數據在一定程度上說明,絕大多數面向用戶的應用程序都具有與上一段中列舉的相同的通用要求。雖然某些應用程序可以通過堆棧中的自定義功能來優化邊際上的其他變量,但這些自定義帶來的權衡通常是不值得的(更多的橋接,更少的錢包支持,更少的索引/ 查詢程序支持,法幣渠道減少等)。
推出新的資產帳本是實現靈活性的一種方式,但它很少增加價值,而且幾乎總是會帶來技術和社會複雜性,而對應用程序開發人員的最終收益卻微乎其微。
擴展 DA 不需要重新抵押
你還會聽到模塊化支持者談論在擴展背景下的重新抵押。這是模塊化鏈支持者提出的最具推測性的論點,但值得討論。
它粗略地指出,由於重新抵押(例如,通過 EigenLayer 等系統),整個加密生態系統可以無限次重新抵押 ETH,為無限數量的 DA 層(例如,EigenDA)和執行層賦能。因此,在保證 ETH 價值增值的同時,從各個方面解決了可擴展性。
儘管現狀與理論上的未來之間存在巨大的不確定性,但我們理所當然地認為所有分層假設都如宣傳的那樣有效。
目前以太坊的 DA 約為 83 KB/s。隨著今年晚些時候 EIP-4844 的推出,該速度大約可以翻倍至約 166 KB/s。 EigenDA 可以額外增加 10 MB/s,但需要一組不同的安全假設條件(並非所有 ETH 都會重新抵押到 EigenDA)。
相比之下,Solana 目前提供的 DA 約為 125 MB/s(每個區塊 32,000 個 shred,每個 shred 1,280 字節,每秒 2.5 個區塊)。 Solana 比以太坊和 EigenDA 效率高得多。此外,根據尼爾森定律,Solana 的 DA 隨著時間的推移而擴展。
有很多方法可以通過重新抵押和模塊化來擴展 DA,但這些機制在今天根本沒有必要,並且會帶來明顯的技術和社會複雜性。
為應用程序開發人員構建
經過多年思考,我得出的結論是模塊化本身不應該是一個目標。
區塊鏈必須為其客戶(即應用程序開發人員)服務,因此,區塊鏈應該抽象基礎設施級別的複雜性,以便開發者可以專注於構建世界一流的應用程序。
模塊化很棒。但構建制勝技術的關鍵是弄清楚堆棧的哪些部分需要集成,哪些部分留給其他人。就目前而言,集成 DA 和執行的鏈本質上提供了更簡單的最終用戶和開發人員體驗,並最終將為一流的應用程序提供更好的基礎。