現在來談擴容。
這裡分為兩個層面:短期與長期。
有關短期擴容,我已在其他地方詳細說明,主要包括以下幾點:
多維 gas 有一套分階段推進的路線圖。
首先,在 Glamsterdam 升級中,我們將「狀態建立」成本與「執行和 calldata」成本分離。目前,SSTORE 操作將 slot 從非零改為非零消耗 5,000 gas,從零改為非零消耗 20,000。Glamsterdam 的一次 gas 重新定價,會大幅提升這部分額外成本(例如提升至 60,000);我們這麼做的目標(同時提高 gas 上限)是讓執行能力的擴展遠超狀態容量擴展,原因我之前已有詳細說明(
https://ethresear.ch/t/hyper-scaling-state-by-creating-new-forms-of-state/24052)。因此,在 Glamsterdam 升級後,SSTORE 操作將分別收取 5,000「常規」gas 和(例如)55,000「狀態建立 gas」。
狀態建立 gas 不計入約 1,600 萬交易 gas 上限,因此可以部署比現有更大的合約。
一個挑戰是:EVM 如何支援多維 gas?EVM 的操作碼(如 GAS、CALL 等)目前假設只有一個 gas 維度。我們的解決方案如下:我們維持兩個不變性:
我們的做法是,建立 N+1 個「gas 維度」,預設 N=1(狀態建立),額外維度稱為「reservoir(蓄水池)」。EVM 執行時會優先消耗專用維度,否則消耗 reservoir。例如,若帳戶擁有(100,000 狀態建立 gas,100,000 reservoir),使用 SSTORE 新建狀態三次後,剩餘 gas 分別為(100,000, 100,000)->(45,000, 95,000)->(0, 80,000)->(0, 20,000)。GAS 回傳 reservoir,CALL 則傳遞 reservoir 中指定的 gas 量及所有非 reservoir gas。
後續將切換至多維定價,即不同維度可採用各自浮動的 gas 價格。這將帶來長期的經濟可持續性與最適化(詳見
https://vitalik.eth.limo/general/2024/05/09/multidim.html)。reservoir 機制解決了該文結尾所述的子呼叫問題。
接下來,長期擴容分為兩大部分:ZK-EVM 與 blobs。
關於 blobs,規劃是持續迭代 PeerDAS,最終目標是能理想地處理約 8 MB/秒的資料。這已足以滿足以太坊自身需求,並無意成為全球資料層。目前,blobs 主要服務於 L2。未來,規劃將以太坊區塊資料直接寫入 blobs。這對於無需親自下載和重執行即可驗證超大規模以太坊鏈至關重要:ZK-SNARKs 消除了重執行需求,PeerDAS 在 blobs 上讓用戶無需下載即可驗證可用性。
關於 ZK-EVM,目標是分階段提升依賴程度:





