丹克分片是以太坊成為真正可擴展區塊鏈的方式,但要實現這一目標需要進行幾次協定升級。原始 Danksharding 是過程中的一個中間步驟。兩者的目標都是讓第二層 (L2) 上的交易對使用者來說盡可能便宜,並應將以太坊擴展至每秒超過 100,000 筆交易。
什麼是原始 Danksharding?
原始 Danksharding,也稱為 EIP-4844 (opens in a new tab),是匯總將更便宜的資料新增至區塊的一種方式。這個名稱來自提出該想法的兩位研究人員:Protolambda 和 Dankrad Feist。從歷史上看,匯總在降低使用者交易成本方面一直受到限制,因為它們將交易發布在 CALLDATA 中。
這非常昂貴,因為它由所有以太坊節點處理並永遠存在於鏈上,即使匯總只需要這些資料很短的時間。原始 Danksharding 引入了可以發送並附加到區塊的資料塊。EVM 無法存取這些資料塊中的資料,並且會在固定時間段後自動刪除(在撰寫本文時設定為 4096 個 epoch,約 18 天)。這意味著匯總可以更便宜地發送其資料,並以更便宜的交易形式將節省的成本轉嫁給終端使用者。
如何驗證資料塊資料?
匯總將它們執行的交易發布在資料塊中。它們還發布對資料的「承諾」。它們透過將多項式函數擬合到資料來實現這一點。然後可以在各個點上評估此函數。例如,如果我們定義一個極其簡單的函數 f(x) = 2x-1,那麼我們可以針對 x = 1、x = 2、x = 3 評估此函數,得出結果 1, 3, 5。證明者將相同的函數應用於資料,並在相同的點上對其進行評估。如果原始資料被更改,函數將不相同,因此在每個點評估的值也不相同。實際上,承諾和證明更為複雜,因為它們被包裝在密碼學函數中。
什麼是 KZG?
KZG 代表 Kate-Zaverucha-Goldberg,這是將資料塊縮減為小型密碼學「承諾」 (opens in a new tab)方案的三位原作者 (opens in a new tab)的名字。必須驗證匯總提交的資料塊,以確保匯總沒有不當行為。這涉及證明者重新執行資料塊中的交易,以檢查承諾是否有效。這在概念上與執行客戶端使用默克爾證明 (Merkle proofs) 檢查第一層 (L1) 上以太坊交易有效性的方式相同。KZG 是一種將多項式方程式擬合到資料的替代證明。承諾在一些秘密資料點上評估多項式。證明者將在資料上擬合相同的多項式,並在相同的值上對其進行評估,檢查結果是否相同。這是一種驗證資料的方式,與某些匯總以及最終以太坊協定其他部分所使用的零知識技術相容。
什麼是 KZG 儀式?
KZG 儀式是以太坊社群中許多人共同產生一串可用於驗證某些資料的秘密隨機數字字串的一種方式。這串數字不為人知且無法被任何人重新建立,這一點非常重要。為了確保這一點,參與儀式的每個人都會收到來自前一位參與者的字串。然後,他們會建立一些新的隨機值(例如,透過允許他們的瀏覽器測量滑鼠的移動),並將其與前一個值混合。然後,他們將該值發送給下一位參與者,並從其本機機器中將其銷毀。只要儀式中有一人誠實地執行此操作,攻擊者就無法知道最終值。
EIP-4844 KZG 儀式向公眾開放,數以萬計的人參與其中以添加他們自己的熵(隨機性)。總共有超過 140,000 次貢獻,使其成為世界上同類儀式中規模最大的。要破壞該儀式,100% 的參與者必須主動不誠實。從參與者的角度來看,如果他們知道自己是誠實的,就不需要信任任何人,因為他們知道自己保護了儀式(他們各自滿足了 N 分之 1 誠實參與者的要求)。
什麼是丹克分片?
丹克分片是從原始 Danksharding 開始的匯總擴展的完全實現。丹克分片將為以太坊帶來大量空間,供匯總傾倒其壓縮的交易資料。這意味著以太坊將能夠輕鬆支援數百個獨立的匯總,並使每秒數百萬筆交易成為現實。
其運作方式是將附加到區塊的資料塊從原始 Danksharding 中的六 (6) 個擴展到完整丹克分片中的 64 個。其餘所需的變更都是對共識客戶端運作方式的更新,以使其能夠處理新的大型資料塊。其中一些變更已經在路線圖上,用於獨立於丹克分片的其他目的。例如,丹克分片要求已實作提案者與建構者分離 (PBS)。這是一項將建構區塊和提案區塊的任務分離到不同驗證者的升級。同樣,丹克分片需要資料可用性採樣 (DAS),但開發不儲存太多歷史資料的非常輕量級客戶端(「無狀態客戶端」)也需要它。
目前進度
完整的丹克分片還需要幾年的時間。同時,KZG 儀式已經結束,有超過 140,000 次貢獻,而原始 Danksharding 的 EIP (opens in a new tab) 已經成熟。該提案已在所有測試網中完全實作,並於 2024 年 3 月隨著 Cancun-Deneb(「Dencun」)網路升級在主網上線。
進一步閱讀
- 原始 Danksharding 筆記 (opens in a new tab) - Vitalik Buterin
- Dankrad 關於丹克分片的筆記 (opens in a new tab)
- Dankrad、Proto 和 Vitalik 討論丹克分片 (opens in a new tab)
- KZG 儀式 (opens in a new tab)
- Carl Beekhuizen 在 Devcon 上關於可信設定的演講 (opens in a new tab)
- 更多關於資料塊的資料可用性採樣 (opens in a new tab)
- Dankrad Feist 談 KZG 承諾與證明 (opens in a new tab)
- KZG 多項式承諾 (opens in a new tab)
頁面最後更新: 2026年6月6日