← 回到 DEVCON 8

以太坊分區二元樹提案:縮小狀態證明,規劃不停鏈遷移

Trie Another Way: The new state trie and Ethereum’s State Migration

場次摘要

以太坊狀態保存帳戶餘額、智慧合約程式碼與儲存資料,並透過區塊標頭中的狀態根供驗證。Maria 說明,目前的 MPT 結構採帳戶樹搭配各帳戶的儲存樹,驗證儲存位置須串接兩份證明。她介紹分區二元樹(PBT)提案,將帳戶、程式碼與儲存資料納入同一棵樹,希望縮小證明,又不拖慢區塊執行。 遷移規劃從已最終確認的區塊轉換狀態,再驗證並更新至鏈上最新狀態;期間維持兩種樹,仍以 MPT 作為正式驗證依據,直到分叉才切換。這裡的「離線」指轉換在共識之外進行,並非區塊鏈停機。Maria 表示,四個客戶端已完成主網影子分叉遷移演練,但效能仍待基準測試確認,確切節省幅度與上線日期也未定。

值得記下的 5 件事

  1. [2:20]
    單一狀態樹整合帳戶、儲存與程式碼 PBT 提案將三類資料分區放在同一棵二元樹之下

    帳戶標頭緊鄰其前 64 個儲存位置,讓相關資料可共用短證明;程式碼則分塊保存,相同程式碼可共用這些分塊,避免重複儲存。

  2. [7:00]
    縮小證明是改造的主要目標 相較於 MPT,二元樹每層只需提供一個兄弟節點的雜湊值,也就是供驗證資料用的摘要;相關資料還可共用通往根節點的路徑

    不過,實際驗證成本能省下多少,仍取決於查詢內容,尚未定案。

  3. [8:40]
    離線遷移不代表區塊鏈停機 規劃先選定已最終確認的區塊作為轉換基準,節點可下載快照或自行轉換,再驗證並更新至鏈上最新狀態

    轉換在共識之外進行,期間驗證者須維持兩種樹,仍以 MPT 作為正式驗證依據,直到分叉才切換。

  4. [10:00]
    使用者與節點承擔不同遷移工作 依 Maria 的規劃,一般使用者無須操作,地址、餘額與智慧合約維持不變

    節點與驗證者須預留磁碟空間,暫時保存兩種樹;使用以太坊狀態證明的應用,則須在分叉時改用新證明格式。

  5. [14:00]
    四客戶端完成演練,不代表主網已啟用 Maria 表示,樹結構與遷移均已有規格及測試,Geth、Erigon、Nethermind、Besu 已在開發測試網執行新結構,也成功完成主網影子分叉遷移演練

    這仍是測試成果,正式啟用日期尚未確定。

下載摘要 下載 Word 摘要(.docx)

更多來自 DEVCON 8

訂閱