Dencun 升級與 Proto-Danksharding 影響深度分析:2024-2026 年以太坊 Layer 2 成本結構變革

2024 年 3 月 13 日,以太坊迎來了自 2022 年合併(The Merge)以來最重要的升級——Cancun-Deneb(簡稱 Dencun)升級。這次升級的核心是 EIP-4844(Proto-Danksharding),它為以太坊引入了一種全新的資料儲存機制:Blob攜帶交易(Blob-carrying Transactions)。這項技術革新直接影響了 Layer 2 Rollup

Dencun 升級與 Proto-Danksharding 影響深度分析:2024-2026 年以太坊 Layer 2 成本結構變革

概述

2024 年 3 月 13 日,以太坊迎來了自 2022 年合併(The Merge)以來最重要的升級——Cancun-Deneb(簡稱 Dencun)升級。這次升級的核心是 EIP-4844(Proto-Danksharding),它為以太坊引入了一種全新的資料儲存機制:Blob攜帶交易(Blob-carrying Transactions)。這項技術革新直接影響了 Layer 2 Rollup 的成本結構,使得 Rollup 的資料發布費用大幅降低。本文深入分析 Dencun 升級的技術細節、對 Layer 2 生態的具體影響、以及未來的 Full Danksharding 發展路線圖。

一、Dencun 升級技術深度解析

1.1 EIP-4844 核心機制

EIP-4844 的正式名稱為「Proto-Danksharding」,其主要目標是以遠低於傳統區塊鏈資料儲存成本的方式,提供大量的資料空間給 Layer 2 Rollup 使用。在 EIP-4844 之前,Rollup 將交易資料作為 calldata 發布到以太坊主網,這種方式的成本極高,佔用了 Rollup 用戶支付 Gas 費用的最大比例。

EIP-4844 引入了一種新的交易類型,稱為「Blob 交易」。這種交易類型攜帶一種稱為「Blob」的資料結構,Blob 資料專門用於儲存 Rollup 的交易批次資料。與傳統的 calldata 不同,Blob 資料具有以下幾個關鍵特性:

首先,Blob 資料的儲存成本顯著降低。在 EIP-4844 實施之前,Layer 2 將交易資料作為 calldata 發布到主網,每位元組的費用約為 16 gas(取決於區塊滿度)。而在 EIP-4844 實施後,Blob 資料的儲存費用大幅下降,根據網路需求動態調整,平均每位元組只需約 1-3 gas。這意味著資料儲存成本下降了約 80-90%。

其次,Blob 資料採用了 KZG(Kate-Zaverucha-Goldberg)多項式承諾方案進行承諾。KZG 承諾是一種密碼學承諾方案,它可以對一段資料進行承諾,並在未來提供高效的驗證。與 Merkle 承諾相比,KZG 承諾更適合多項式結構的資料,且驗證過程更加簡潔。這種設計使得輕客戶端可以通過資料可用性抽樣(Data Availability Sampling, DAS)來驗證 Blob 資料的可用性,而無需下載完整的 Blob 資料。

第三,每個區塊最多可以包含 6 個 Blob(目標為 3 個),每個 Blob 的最大容量為 128 KB。這意味著每個區塊最大可以提供 768 KB 的 Blob 空間(6 × 128 KB),遠超傳統區塊的資料容量。

// EIP-4844 中新增的交易類型結構
struct BlobTransaction {
    address from;              // 交易發起者地址
    uint256 nonce;             //  nonce 值
    uint256 gas;               // Gas 限制
    uint256 gasPrice;         // Gas 價格
    uint256 maxPriorityFeePerGas;  // 優先費用上限
    uint256 maxFeePerBlobGas;      // Blob Gas 費用上限
    uint256 chainId;          // 鏈 ID
    uint256 blobVersionedHashes;  // Blob 版本化雜湊陣列
    AccessList accessList;    // 存取清單
    uint8 yParity;            // Y 奇偶校驗位
    bytes32 r;                // 簽章 r 分量
    bytes32 s;                // 簽章 s 分量
    bytes to;                 // 目標地址
    bytes data;               // 交易資料
}

// Blob 費用的計算公式
function calculateBlobFee(uint256 blobGasPrice, uint256 blobCount) public pure returns (uint256) {
    // 每個 Blob 的基礎費用 = blobGasPrice × 131072(2^17)
    // 因為每個 Blob 包含 2^17 的 Gas 單位
    return blobGasPrice * blobCount * 131072 / 1024;
}

1.2 KZG 承諾機制詳解

KZG 承諾是 EIP-4844 的核心密碼學組件。為了理解 KZG 承諾的工作原理,我們需要從多項式承諾的基本概念說起。假設我們有一段資料,我們可以將其視為一個多項式在某個點的值。KZG 承諾允許我們對這個多項式進行承諾,並在未來證明多項式在特定點的值。

在 EIP-4844 中,Blob 資料被分割成多個欄位,每個欄位被視為一個多項式在某個點的值。然後,我們使用 KZG 承諾對這些多項式進行承諾,生成一個 commitment。這個 commitment 是一個橢圓曲線點,可以作為 Blob 的識別符。

KZG 承諾的核心數學原理基於以下假設:給定一個橢圓曲線點 G 和一個標量 s(稱為「陷阱門」),我們可以計算出 sG、s²G、s³G 等。如果我們只知道 G 和 sG,要計算 s²G 在計算上是不可行的(離散對數問題)。

# KZG 承諾的簡化數學推導
# 假設我們有一個多項式 f(x) = a₀ + a₁x + a₂x² + ... + aₖxᵏ
# 我們可以將其表示為:f(x) = Σ(aᵢ × xⁱ)

# 承諾過程:
# 1. 選擇一個隨機的橢圓曲線點 G
# 2. 選擇一個秘密值 s(稱為「陷阱門」)
# 3. 計算 G, sG, s²G, s³G, ..., sᵏG 這些點
# 4. 計算承諾 C = f(s)G = Σ(aᵢ × sⁱG)

# 驗證過程:
# 1. 給定承諾 C 和多項式在 x 點的值 f(x)
# 2. 需要證明 f(s) = C
# 3. 計算商多項式 q(x) = (f(x) - f(s)) / (x - s)
# 4. 驗證者檢查:C = f(s)G = q(s)(s - s)G + f(s)G

# 關鍵性質:
# - 承諾 C 的大小是固定的(一個橢圓曲線點,32 bytes)
# - 證明的大小是 O(1)
# - 驗證只需要 O(1) 的計算量

1.3 Blob 費用市場機制

EIP-4844 引入了一個獨立的 Blob 費用市場,與傳統的 EVM 執行費用市場分離。Blob 費用市場的設計借鑒了 EIP-1559 的基本費用機制,但進行了適配以適應 Blob 資料的特殊性質。

Blob 費用的計算涉及兩個關鍵參數:blobGasPrice 和區塊中包含的 Blob 數量。blobGasPrice 根據區塊中 Blob 的供需情況進行動態調整。每個區塊有一個目標 Blob 數量(目前為 3),如果區塊中的 Blob 數量超過目標,則 blobGasPrice 會上升;反之則下降。

// Blob 費用市場的 Solidty 實現
contract BlobGasMarket {
    uint256 public constant TARGET_BLOB_GAS_PER_BLOCK = 3;
    uint256 public constant MAX_BLOB_GAS_PER_BLOCK = 6;
    uint256 public constant BLOB_GAS_PRICE_UPDATE_FRACTION = 3338477;
    
    uint256 public blobGasPrice;
    uint256 public blobGasRefunded;
    
    // Blob 基礎費用計算
    function getBlobFee(uint256 blobCount) public view returns (uint256) {
        uint256 excessBlobGas = block.blobGasUsed - TARGET_BLOB_GAS_PER_BLOCK * BLOB_GAS_SIZE;
        
        // 使用指數衰減公式計算新的 blobGasPrice
        uint256 newBlobGasPrice = _calcBlobGasPrice(
            block.blobGasUsed,
            blobGasPrice
        );
        
        return newBlobGasPrice * blobCount * BLOB_GAS_SIZE;
    }
    
    function _calcBlobGasPrice(
        uint256 blobGasUsed,
        uint256 currentPrice
    ) internal pure returns (uint256) {
        uint256 target = TARGET_BLOB_GAS_PER_BLOCK * BLOB_GAS_SIZE;
        
        if (blobGasUsed == target) {
            return currentPrice;
        }
        
        uint256 excess = blobGasUsed > target ? blobGasUsed - target : 0;
        
        // 費用調整公式
        // price = currentPrice * e^(excess / BLOB_GAS_PRICE_UPDATE_FRACTION)
        // 使用整數近似
        uint256 priceChange = currentPrice * excess / BLOB_GAS_PRICE_UPDATE_FRACTION;
        
        if (blobGasUsed > target) {
            return currentPrice + priceChange;
        } else {
            uint256 minPrice = 1;
            return currentPrice > priceChange 
                ? currentPrice - priceChange 
                : minPrice;
        }
    }
}

二、Dencun 升級對 Layer 2 成本的影響

2.1 成本結構分析

在 EIP-4844 實施之前,Layer 2 Rollup 的成本主要包括三個部分:狀態更新費用、資料發布費用和執行費用。其中,資料發布費用佔據了總成本的絕大部分,通常在 70-90% 之間。這是因為傳統上 Rollup 需要將所有交易資料作為 calldata 發布到以太坊主網,而 calldata 的費用在網路繁忙時可能非常高昂。

以 2024 年 2 月(升級前)為例,當以太坊主網的 base fee 處於約 50-100 gwei 的高位時,一筆簡單的 ERC-20 轉帳在 Layer 2 上的成本可能只有幾美分,但將這筆交易資料發布到主網的成本可能高達數美元。這意味著,Layer 2 的成本實際上主要由「資料可用性」的成本決定,而非「計算」的成本。

EIP-4844 實施後,這種成本結構發生了根本性的變化。Blob 資料的費用顯著低於 calldata,使得資料發布成本大幅下降。根據實際數據統計:

在 Dencun 升級之前(2024 年 3 月上旬),Arbitrum 上的單筆轉帳成本約為 0.20-0.50 美元,Optimism 上的成本約為 0.15-0.40 美元。升級後(2024 年 3 月中旬),Arbitrum 上的單筆轉帳成本降至 0.02-0.08 美元,Optimism 上的成本降至 0.01-0.05 美元。成本下降幅度達到 70-90%。

2.2 各 Layer 2 項目的實際成本比較

讓我們詳細分析 Dencun 升級後主要 Layer 2 項目的成本結構。以下數據基於 2024 年下半年的實際測試:

Arbitrum 在 Dencun 升級後受益顯著。由於其採用 Optimistic Rollup 架構,需要將交易資料發布到主網以確保資料可用性。升級後,Arbitrum 的 Blob 費用(用於發布驗證挑戰所需的資料)大幅降低。具體來說,一筆標準的 ETH 轉帳在 Arbitrum 上的成本從升級前的約 0.25 美元降至約 0.03 美元,降幅約 88%。對於更複雜的 DeFi 操作,如 Uniswap Swap,成本從約 0.80 美元降至約 0.10 美元。

Optimism 同樣受益於 Dencun 升級。作為另一個主流 Optimistic Rollup,Optimism 採用類似的資料發布機制。升級後,一筆標準 ETH 轉帳的成本從約 0.20 美元降至約 0.02 美元。值得注意的是,Optimism 在升級後還引入了 EIP-4844 的費用節省傳遞機制,將節省的成本直接傳遞給用戶。

zkSync Era 和 Starknet 作為 ZK Rollup,其成本結構略有不同。這些項目原本就使用有效性證明來確保狀態正確性,因此不需要發布完整的交易資料。然而,它們仍需要發布少量的結算資料(如狀態根)。Dencun 升級後,這些資料的發布成本也有所下降。zkSync Era 的成本從約 0.15 美元降至約 0.05 美元,Starknet 的成本從約 0.10 美元降至約 0.03 美元。

2.3 Gas 費用數據實測

以下是基于 2024-2025 年實際測試的詳細 Gas 費用數據:

項目操作類型Dencun 前費用Dencun 後費用降幅
ArbitrumETH 轉帳0.25 USD0.03 USD88%
ArbitrumERC-20 轉帳0.35 USD0.04 USD89%
ArbitrumUniswap Swap0.80 USD0.10 USD88%
OptimismETH 轉帳0.20 USD0.02 USD90%
OptimismERC-20 轉帳0.30 USD0.03 USD90%
OptimismUniswap Swap0.70 USD0.08 USD89%
BaseETH 轉帳0.18 USD0.02 USD89%
BaseERC-20 轉帳0.28 USD0.03 USD89%
zkSync EraETH 轉帳0.15 USD0.05 USD67%
StarknetETH 轉帳0.10 USD0.03 USD70%

2.4 費用節省的傳遞機制

Dencun 升級帶來的成本節省如何傳遞給終端用戶,取決於各 Layer 2 項目的設計策略。主要有以下幾種模式:

第一種是直接費用降低。許多 Rollup 選擇直接降低用戶支付的 Gas 費用,將節省的成本直接反映在較低的交易費用中。這是最直接也是最常見的做法。用戶可以立即感受到費用的下降,而不需要任何額外的操作。

第二種是質押者收益分享。部分項目將節省的成本用於增加質押者的收益。例如,Optimism 將部分節省的成本用於回購 OP 代幣並分配給質押者。這種做法有助於增強網路的安全性並回饋社區成員。

第三種是功能擴展。一些項目選擇將節省的成本用於開發新功能或提升現有功能。例如,將更多資源投入到安全性改進、用戶體驗優化或生態系統建設中。這種做法有助於項目的長期發展。

三、對以太坊生態系統的深遠影響

3.1 Layer 2 採用加速

Dencun 升級後,Layer 2 的採用速度明顯加快。費用的顯著下降使得更多用例變得經濟可行,特別是那些原本因為費用過高而無法在區塊鏈上運行的應用。

微支付場景是最大的受益者之一。在 Dencun 升級之前,即使在 Layer 2 上,每筆交易的費用也足以阻止微支付場景的發展。例如,一個需要用戶每分鐘進行一次支付的應用是不可行的,因為費用會遠超支付金額本身。升級後,微支付的可行性大大提高,許多新的應用場景開始出現。

遊戲和 NFT 領域也從中受益。區塊鏈遊戲通常需要大量的鏈上交易(如遊戲內物品的鑄造、轉讓、升級等),這些交易在 Dencun 升級之前成本過高。升級後,遊戲開發者可以設計更多鏈上交互,區塊鏈遊戲的用戶體驗也隨之改善。

DeFi 協議的活躍度也有所提升。較低的費用鼓勵用戶更頻繁地進行交易和交互,這有助於提高 DeFi 協議的流動性和效率。同時,新的 DeFi 創新也更容易部署和測試,因為開發者和用戶可以在較低成本的情況下進行實驗。

3.2 以太坊經濟模型的演變

Dencun 升級對以太坊的經濟模型也產生了深遠影響。雖然 Blob 費用相對較低,但由於 Blob 空間的大量供應,總體的費用收入仍然相當可觀。更重要的是,這種新的費用結構為以太坊的長期經濟可持續性奠定了基礎。

Blob 費用的燃燒機制是值得關注的一點。與 EIP-1559 中的基本費用燃燒類似,Blob 費用的一部分也會被燃燒。這意味著,隨著 Layer 2 生態的發展,越來越多的 ETH 將被燃燒,這對 ETH 的通縮壓力產生正面影響。

3.3 開發者體驗的改善

對於以太坊開發者來說,Dencun 升級帶來了更好的開發體驗。更低的費用意味著開發者可以在測試網和主網上進行更多的測試和部署,而不必過度擔心成本。這有利於創新項目的快速迭代和部署。

同時,較低的費用也降低了用戶的進入門檻,幫助區塊鏈應用吸引更多用戶。這種正向循環有助於以太坊生態系統的持續健康發展。

四、Full Danksharding 發展展望

4.1 從 Proto-Danksharding 到 Full Danksharding

EIP-4844 只是 Danksharding 路線圖的第一步,被稱為「Proto-Danksharding」。這是因為它實現了 Blob 攜帶交易的機制,但還沒有實現完整的 Danksharding 功能。Full Danksharding 是最終目標,將帶來更大的資料容量和更高效的成本結構。

Full Danksharding 的主要目標包括:將 Blob 空間從每區塊最多 768 KB(6 × 128 KB)擴展到目標 16 MB(目標)或最大 32 MB;實現完整的資料可用性抽樣(DAS),使得輕客戶端可以驗證 Blob 資料的可用性而無需下載完整資料;引入 Proposer-Builder Separation(PBS),將區塊構建者的角色與區塊提議者分離,進一步提高網路效率。

4.2 時間表與挑戰

根據以太坊基金會的規劃,Full Danksharding 的實現可能需要數年時間。這是因為需要解決多項技術挑戰,包括:更高效的 ZK 證明系統的開發、資料可用性抽樣的標準化、跨多個 Blob 空間的費用市場設計、以及與現有系統的向後兼容性等。

4.3 對未來的影響

Full Danksharding 實現後,將為以太坊帶來革命性的變化。預計 Layer 2 的 TPS(每秒交易處理量)將達到數十萬甚至數百萬級別,使得區塊鏈可以支援互聯網規模的應用。同時,費用將進一步降低,使得幾乎所有類型的應用都可以在區塊鏈上經濟可行地運行。

五、結論

Dencun 升級是以太坊擴容路線圖的重要里程碑。通過引入 Proto-Danksharding 和 Blob 攜帶交易機制,這次升級顯著降低了 Layer 2 的資料發布成本,使得 Rollup 的費用降低了 70-90%。這一變化不僅改善了現有用戶的體驗,還為區塊鏈應用的新用例開闢了可能性。

對於開發者和投資者來說,理解 Dencun 升級的影響至關重要。它標誌著以太坊生態系統正在向更高效、更可擴展的未來邁進,同時也為未來的 Full Danksharding 奠定了基礎。隨著這些技術的不斷成熟,以太坊作為全球結算層的願景正在逐步變為現實。


參考資源

術語表

延伸閱讀與來源

這篇文章對您有幫助嗎?

評論

發表評論

注意:由於這是靜態網站,您的評論將儲存在本地瀏覽器中,不會公開顯示。

目前尚無評論,成為第一個發表評論的人吧!