本文旨在探討與分析以太坊的模塊化趨勢。

作者:  0x1,IOBC Capital

封面: Photo by MagicPattern on Unsplash

區塊鏈的模塊化趨勢

站在 2022 年的當下看 Crypto 的發展趨勢,在這個時候去做一個 L1 新公鏈難免有點牽強,模塊化區塊鏈的敘事不可忽視。The Merge 之後,Ethereum 的發展路線越來越傾向於模塊化區塊鏈(Modular Blockchain)的方向。模塊化區塊鏈與單片區塊鏈(Monolithic Blockchain)的區別主要在於:單片區塊鏈在一個基礎共識層同時實現執行、結算、共識和數據可用性四個功能,而模塊化區塊鏈則分為多個模塊負責這些功能實現。事實上,並非只有以太坊在規劃模塊化的架構:最早提出模塊化區塊鏈思路的 Celestia 正基於 Cosmos 生態為 Rollups 搭建一個數據可用性層;Tezos 也正在擁抱以 Rollup 為中心的路線圖;NEAR 也正在對數據可用性分片進行設計。本文主要討論以太坊的模塊化趨勢。

以太坊的擁堵現狀,已經反映了單片區塊鏈的弊端——可擴展性差、不可定制、費用高。單片區塊鏈的問題在於:在共識層必須執行許多不同的任務,並且僅針對其中一項功能進行優化無法有效提高區塊鏈的性能。形像地說,單片區塊鏈就像一個由 4 塊木板構成的木桶,它的容量(性能)取決於最短的那根,只要有一個屬性短板整體性能就有短板,而 “區塊鏈不可能三角” 又限制了所有屬性同時實現極致發展的可能,所以單純地基於單片區塊鏈的思路做擴容是無法解決以太坊的困境的。

模塊化混合擴容:layer1(data sharding)+layer2(rollups)

實際上模塊化區塊鏈本質上是一種混合擴容的方案。在第六屆區塊鏈全球峰會上,Vitalik 的演講主題是《以太坊第二層協議生態的崛起》,會上 Vitalik 認為以太坊生態系統中不單純是 Layer1 擴容或者 Layer2 擴容,採取的是混合擴容的方式。而模塊化區塊鏈的本質就類似 layer1 和 layer2 混合擴容。

以太坊的模塊化架構

以太坊的模塊化架構設計主要分為四層:執行層、結算層、共識層、數據可用性層。目前很多情況下,行業內也會把執行層和結算層統一稱執行層,共識層和數據可用性層統一稱為共識層。

執行層(Execution Layer):負責處理鏈上交易、執行鏈上訂單並驗證轉賬和智能合約的執行,主要將以 Rollup 為主。模塊化區塊鏈發展到一定階段後,用戶通常是基於執行層與區塊鏈進行交互,包括簽名交易、部署智能合約以及轉移資產等。執行層解決了區塊鏈的可擴展性。

結算層(Settlement Layer):結算層用於驗證 Rollup 等執行層的執行結果以及解決爭議,並結算出狀態承諾。

共識層(Consensus Layer):共識層通過全節點網絡下載和執行區塊的內容,就狀態轉換的有效性達成共識,從而提供排序和最終確定性,並以 PoS 機制驗證出塊。

數據可用性層(Data Availability Layer):保證交易數據可以被使用(保證存儲且可驗證與可用)。需要將驗證狀態轉換有效性所需的數據發布並存儲在這一層,一旦遭遇惡意區塊提議者扣留交易數據的事件,數據可用性層的數據可用作驗證。在 The Merge 後可預見的短中期階段,以太坊的結算層、共識層和數據可用性層是統一的。未來的 Danksharding 將會把以太坊 L1 的數據分片(Data Sharding)轉變為數據可用性引擎、信標鏈作為共識層、原來的以太坊主網成為一個執行層,更多的執行層則是 L2 的 Rollups。此外,在目前 L2 的基礎上,行業裡已經開始探索定制化的 L3 也將是執行層的擴展。如果說當下的以太坊還只是理論性 “世界計算機”,那麼模塊化區塊鏈則是以太坊成為 “世界計算機” 的工程化方案。

以太坊接下來的規劃

眾所周知,The Merge 是關於從 PoW 轉換為 PoS,Beacon Chain 和原以太坊主鏈合併。The Merge 之外,以太坊其實還同時並行推進著 The Surge、The Verge、The Purge、The Splurge。這些升級的推出順序尚不確定,因為它們是相互獨立、平行進行的。

The Surge 是關於引入分片,屆時將允許以太坊網絡通過分片來實現大規模擴展。

The Verge 是關於 Verkle Trees,以幫助優化以太坊上的存儲並幫助減少節點大小。這次升級將致力於通過 Verkle Trees 優化存儲,這是一種數學證明,是 Merkle Trees 的升級。通過減少驗證者需要在其電腦上存儲的數據量來運行操作,節點規模將縮小,並允許更多用戶成為驗證者。這將進一步使網絡去中心化,提高安全性。

The Purge 將減少驗證者所需的硬盤空間,因為消除了歷史數據和技術債務。這意味著存儲簡化,從而減少網絡擁堵。

The Splurge 是對以太坊網絡的一系列微調,包含各種較小的升級,讓以太坊網絡更絲滑。

vitalik 表示,以太坊在完成以上 5 個關鍵階段後可以實現 10 萬 TPS,真正成為他當初設想的 “世界計算機”。
以上五個並行的關鍵階段的命名雖然押韻,但可能還是挺難理解以太坊在未來三四年的具體規劃。如果把其中的更關鍵更具體的升級事件拎出來講,也許更能看清以太坊的模塊化趨勢

1、原型分片(EIP-4844)

Proto-danksharding 是一個提議,用於實現構成完整 Danksharding 規範的大部分邏輯和基礎規則(例如:交易格式、驗證規則等),但這個階段尚未實現任何分片。在 Proto-danksharding 階段,所有驗證者和用戶仍然必須直接驗證完整數據的可用性。
Proto-danksharding 引入的主要特徵是新的交易類型,稱為 “攜帶 blob 的交易”。攜帶 blob 的事務類似於常規事務,主要區別是它還攜帶一個稱為 blob 的額外數據。Blob 大概 128kb,比類似大小的 Calldata 便宜很多。但是 EVM 執行無法訪問 blob 數據,EVM 只能查看對 blob 的承諾。

目前以太坊的區塊大小是由 Gas 容量決定,在 EIP-4844 實施後 Blob 的數量將會成為決定區塊大小的另一個維度。Blob 是一種二元數據結構,大小約為 128kb,以太坊區塊對每個區塊中可以容納的 Blob 做了限制,目標 Blob 數量是 8 個,最大可以為 16 個,因此每個區塊將額外增加 1-2MB(128*8-128*16)的存儲空間。

Blob 主要用於存儲 Layer2 的數據,在此之前 Layer2 數據的存儲是通過 Calldata 實現的。在引入 Blob 後,區塊內可用於存儲的空間將得到大幅增加。但由於 Blob 數據較大,如果每個區塊額外增加 1MB 的 Blob 數據,那麼以太坊區塊鏈一個月就會多出數 TB 的數據,為了解決數據量快速增加的問題,這些 Blob 數據將會採取離線存儲的方式,而且 30 天后會自動刪除

由于 Blob 的数据没有与现有以太坊交易的 Gas 使用量竞争,因此仍然可以获得很显著的扩容效果。如果要比较简单地理解 Proto-Danksharding 的这个 EIP-4844 提议,可以理解为——以太坊 layer1 在保持 1MB 的区块大小的基础上,通过采取 30 天短期、离线存储的方式以 Blob 这种形式来存储 Layer2 的数据,以此实现扩容效果。

2、Danksharding

Danksharding 是為以太坊提出的新分片設計。以前計劃的分片是狀態分片(State Sharding),後來決定以 Rollups 為中心的路線圖,實施 layer1(data sharding)+layer2(rollups)模塊化混合擴容方案後,實施的是數據分片(Data Sharding)。數據分片本質上是模塊化區塊鏈的思路,將以太坊分成多個數據分片,每個數據分片連接一個或多個 Rollup,Rollup 作為執行層,以太坊作為共識層和數據可用性層。

Danksharding 引入的核心機制主要:PBS 和 DAS。

PBS(Proposer builder separation)是指構建區塊時區塊提議者(Proposer)和區塊構建者(builder)分離。由 Proposer 提議區塊,Builder 競拍交易的排序權併計算區塊頭,Proposer 根據 Builder 的計算結果打包交易並將區塊頭寫入區塊完成出塊。在 PBS 之前的區塊提議者(Merge 前是 Miner,Merge 後是 Validator)可以通過查看 mempool 中有哪些交易並採取一些策略來獲得 MEV 的機會以最大化他們的挖礦收益。引入 PBS 機制後,這種角色分離機制結合 Builder 排序權的競拍機制可以一定程度上解決 MEV 問題,最後的 MEV 收益相當於會被全網驗證者共享。除此之外,PBS 還有助於解決分片與信標鏈的同步問題、以太坊網絡的抗審查問題等。

DAS(數據可用性抽樣,Data Availability Sampling)是解決區塊鏈狀態爆炸的有效方法。讓驗證節點檢查區塊可用性,通過使用 DAS 檢查,輕客戶端可以通過僅下載一些隨機選擇的塊來驗證一個塊是否已發布。由於 DAS 可以對區塊數據做並行化驗證,所以未來數據分片(Data Sharding)的數量即使很多,也不會增加單個驗證節點的負擔,反而會刺激更多驗證節點加入,從而保證驗證節點的充分去中心化。

最終,Danksharding 能夠通過 PBS 實現以太坊的中心化出塊,通過 DAS 實現去中心化驗證,並且具備一定程度的抗審查性,從而確保以太坊成為可擴展的共識層和數據可用性層,並且能夠承接住執行層的更多 Rollups。(PS:中心化出塊、去中心化驗證也是 Vitalik 在 Endgame 中提出的對以太坊未來發展的構想。)

總結

我其實一直覺得以太坊創始團隊是很有情懷的,有很多細節讓我覺得他們會不忘初心、砥礪前行。

在以太坊歷次升級中,有三個升級讓我印象深刻,分別是:437 萬區塊高度的拜占庭硬分叉、728 萬區塊高度的君士坦丁堡硬分叉、906.9 萬區塊高度的伊斯坦布爾網絡升級。

很有意思的是,拜占庭、君士坦丁堡和伊斯坦布爾是同一個城市。這個城市橫跨歐亞,北瀕金角灣、南臨馬爾馬拉海、東與小亞西亞半島隔海相望、只有西邊與陸地相連。拿破崙曾對這座城市慷慨陳詞:“如果世界是一個國家,他的首都一定是伊斯坦布爾”。這座古城因為以太坊的緣故,與區塊鏈世界構建了微妙的聯繫,這三次升級的命名也傳遞了一種訊息——以太坊始終如一。

也許以太坊的模塊化區塊鏈之路不會走得那麼快,但可以確定的是,無論大主題的 The Merge、The Surge、The Verge、The Purge、The Splurge 等旨在實現 10 萬 TPS 的五階段,還是具體的關鍵升級 Proto-danksharding、Danksharding,最終目的都是要推動以太坊實現 “世界計算機” 的初衷。

免責聲明:作為區塊鏈信息平台,本站所發布文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。本文內容僅用於信息分享,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。