跳至內容
0%

什麼是 danksharding?

發布於 2022年6月22日閱讀時間 2 分鐘

一種名為 proto-danksharding 的新分片設計,已作為邁向完整區塊鏈分片路線圖的一部分被提出。由於這項設計相當新,許多人尚未完全理解它。

本文將對 proto-danksharding 進行完整、易懂的分析,說明它將如何協助 Layer 2 擴容。讓我們開始吧。

什麼是分片?

分片(sharding)是指將區塊鏈拆分成較小的部分,以提升整體效率。

舉例來說:與其在 Ethereum Mainnet 上處理一筆價值 10 萬美元的交易,這筆交易可以拆分成十個分片,每個分片承載價值 1 萬美元的交易資料。這樣做的目的是減少網路壅塞。

除了速度之外,分片鏈還能提供更大的儲存空間並降低費用。

值得注意的是,分片是一項需要經過多個階段才能達到最終形態的實作。

什麼是 danksharding?

Danksharding 是一種實作合併市場手續費(merged market fee)概念的分片設計;與一般分片不同,一般分片中每個分片都有各自的區塊和區塊提議者,而 danksharding 中只存在一個提議者。

區塊建構者(block builder)負責選擇要放入區塊每個時段(slot)的資料和交易。

Danksharding 與分片彼此相關,但並不相同。分片是為了擴展 Ethereum而拆分網路的整體設計,而 danksharding 則是實現此目標的其中一個步驟。

Tim Beiko——最重要的 Ethereum 研究人員之一——曾在 Bankless podcast 中解釋 Danksharding 這個名稱的由來,它是以另一位資深 Ethereum 研究人員 Dankrad Feist 的名字命名的。

Danksharding 如何運作?

區塊建構者提出請求,決定要放入每個時段的內容,之後這些時段會組成一個區塊,接著由提議者選出出價最高者。一旦某個建構者被選中負責某個時段,他們就須負責處理整個區塊。

在某些情況下,oracle 有可能扮演區塊建構者的角色。根據 Ethereum 團隊的說法,這種設計背後的主要原因,是為了遏止礦工目前擁有的兩種不公平的控制權——也就是最大可提取價值(Maximum Extractable Value,簡稱 MEV)。

首先,礦工可以透過選擇自己或熟人的交易來展現不公平的偏好。其次,礦工可以只挑選出價最高者的交易,導致數百萬筆其他交易滯留在 mempool 中長達數小時甚至數天。

然而,在 danksharding 中,沒有人知道建構者提交的交易排序清單內容為何。因此,提議者 的權力受到了限制。

區塊建構者與提議者有什麼不同?

區塊建構者負責建構區塊,而區塊提議者則選擇應加入區塊的交易標頭並相應地廣播出去。這兩者是相輔相成的。

區塊建構者將交易打包成時段或區塊,以便加入到區塊中,接著建構者將這些提交給提議者以供選擇。提議者成功選出一個區塊後,區塊建構者便會處理該區塊。

Danksharding 中的資料可用性抽樣

區塊鏈的一項基本原則是透明性。如果一個惡意或無效的區塊被加入鏈中,可能會對整個網路造成不良影響。

通常在 Ethereum 生態系中,完整節點可以向輕節點——以及整個網路——提出詐欺證明,作為某筆交易無效的證據。但這種方式僅在 roll-up 中運作良好,對於 danksharding 來說可能不太適用。

礦工可以透過抽樣可用的資料來驗證經過 danksharding 處理的區塊。首先,資料可用性意味著某個雜湊值背後的底層資料已經發布在鏈上。在今年的 ETH Dubai 大會上,Protolambda 將資料可用性解釋為 在無需許可的情況下重建狀態的能力permissionless ability to reconstruct the state)。

實務上,這種資料可用性抽樣是透過糾刪碼(erasure codes)來實作的。糾刪碼可以被抽樣,以取得實際加入該時段或區塊的資料。

交易處理完成後,關於資料何時應從 Ethereum 區塊鏈中刪除以避免造成吞吐量瓶頸,可能仍存在持續的爭論。

目前的計畫是,資料將在一個月後被刪除。不過,即使過了到期日,這些資料仍然可以透過 Graph Protocol 和區塊瀏覽器等各種方式取得。

什麼是 proto-danksharding(EIP-4844)?

就目前而言,要實現完整的 danksharding,仍有許多事項有待確定。這促成了 EIP-4844 提案的誕生,這是一種實作 proto-danksharding 的格式。

此提案旨在實作核心變更——特別是交易格式——這是實現完整分片所需的變更。proto-danksharding 這個名稱,同樣是取自另一位 Ethereum 研究人員 Proto Lambda 的名字。

Proto Lambda 為 danksharding 引入的實際變更稱為 Binary Large Objects,通常簡稱為「blob」。事實上,blob 在程式設計中並不是新概念,JavaScript 和 Python 中都存在這個概念。然而,新的地方在於 blob 有可能與智慧合約產生關聯。要更清楚理解這一點,我們需要先問:「blob 究竟是什麼?」

什麼是 blob(binary large object)?

blob 是由區塊提議者提出的。它們被比喻為 大包裝 或可以裝載較便宜資料的大型可攜式包裹。每個區塊能容納的這種 大包裝 數量是有限的。就結構而言,一個典型的 blob 有主體(body)和標頭(header)。

blob 的主體始終儲存與交易直接相關的資料。而標頭則包含較少的資訊,例如提議者的簽章。

在 proto-danksharding 中,每筆交易都始終有一個對應的 blob,其最終目的是讓交易更便宜。為了提升可擴展性,proto-danksharding 中每個時段大多會有 1 MB 的資料頻寬。

注意:Ethereum Virtual Machine 只能存取 包裝 在 blob 中的較便宜資料,而無法存取 blob 本身,因為 danksharding 中的交易不會存在於一般的 mempool 中,而是存在於另一個不同的 mempool 中。

EIP-4844 與 EIP-4488 有什麼不同?

差異在於:EIP-4844 提供的解決方案與整個分片路線圖一致,甚至能加速其進展;而 EIP-4488 只是嘗試暫時解決目前的問題。

從本質上看,EIP-4488 試圖大幅降低 call data 的 gas 成本。雖然這在目前有所幫助,但一旦實現完整分片,它就會變得無關緊要,因為屆時分片會使用 blob。相對地,EIP-4844 計畫在其交易格式中使用 blob。

不過,我們也必須留意,這兩項提案不必被視為互相競爭或彼此取捨的關係。雖然 proto-danksharding 可能因為若干工程技術上的細節而需要一段時間,但 EIP-4488 可以先被實作,透過 roll-up 解決當前的成本問題。

Proto-danksharding 會降低 gas 費用嗎

答案很明確:「不會。」Proto-danksharding 不會降低 Ethereum 的 gas 費用,但會降低 Layer 2 協議的交易成本。

事實上,這個問題在關於 proto-danksharding 的討論中經常出現。之所以會產生這種誤解,是因為 proto-danksharding 將引入 blob。

即便如此,blob 也只會取代 roll-up 通常使用的 call data。因此,Ethereum 協議上的 gas 費用仍然維持不變。

事實上,多年來一直關注 Ethereum 生態系更新動態的開發者都會同意,目前大多數提案都不會直接影響或大幅降低主要 Ethereum 協議的 gas 費用,即使是 The Merge 也是如此。

Proto-danksharding 的現況

自從今年二月稍早提出 proto-danksharding 改進提案以來,各界一直期待著這項提案是否有任何進展。

雖然 Ethereum 研究團隊仍在研究若干關鍵問題,但 proto-danksharding 要成為完整分片的先驅,仍有很長的路要走。

首先,資料可用性抽樣仍停留在理論階段,尚未實際實作。部分原因在於,開發者仍在決定該 Ethereum Improvement Proposal 是否應僅實作 point evaluation precompile,並放棄將其與 blob verification precompile 結合的構想。

事實上,blob verification precompile 在 Layer 2 之間是可以自行達成的。因此,Ethereum 社群正在考慮是否仍有必要正式提供這項功能。

Ethereum 團隊正在研究 blob 最實際可行的架構,以及應採取哪些最明智的安全措施。

Proto-danksharding 的未來

多年來,Ethereum 網路一直在對抗吞吐量相對緩慢和 gas 費用高昂的問題,Ethereum 研究人員也提出了包括分片在內的各種技術解決方案。

Proto-danksharding 是實現完整分片路線圖的一條途徑,其主要目的是透過以 blob 為核心的交易格式,降低 layer-2 協議的交易成本。

Ethereum 社群一直致力於推進其模組化目標,為 Layer 2 區塊鏈提供所需的架構,以便在 Ethereum 協議上實現更具擴展性的建構。

Background gradient

打造區塊鏈魔法

Alchemy 結合最強大的 Web3 開發者產品與工具,並提供資源、社群與卓越的支援。