Eth-2.0

為什麼乙太坊 2.0 的目標是 64 個分片?

  • December 15, 2021

我正在瀏覽乙太坊 2.0 規範,試圖尋找分片數量(64)的解釋,但我找不到任何解釋。

例如這裡

分片鏈將網路負載分散到 64 條新鏈上。

或者正式規範中提到了初始分片數量(64)以及 1024 個分片的實際限制,但也沒有任何解釋。

為什麼是64?為什麼沒有其他號碼?這有什麼理由嗎?

任何論據或源連結將不勝感激。

考慮到以下幾點,我猜原因主要是基於性能和可擴展性。

根據該提案重新定義了分片的數量,這大大簡化了分片之間的通信,正如他們在此處所述。此外,為了實現先前提議的可擴展性,塊大小從從增加到增加16kB128kB

為了支持這一新提議,必須將啟動的總分片數量從 1024 減少到新估計的 64 個,以便隨著時間(約 10 年)隨著消費筆記型電腦可用標準資源的增加而增加分片數量。以下是必要減少總分片的主要原因:

  • 每個分片在每個時隙而不是每個時期都會在網路和信標鏈上引起證明負載
  • 每個委員會必須擁有最少安全數量的驗證者。如果由於分片數量過多而導致每個 epoch 的委員會太多,那麼就不可能有足夠的 32-ETH 驗證人來安全地分配給每個委員會

編輯:

根據您的評論,我已經做了一些研究,因為我也很好奇為什麼 64 分片而不是其他數字。

首先,來自Ethereum 2.0 reddit AMA (Part 2) Justin Drake 說(在從 1024 更改為 64 分片鏈之前):

問:為什麼是 1024 個分片?

JD:因為 2048 個分片會對信標鏈造成壓力,而 512 個分片將未充分利用信標鏈。

來自Vitalik 的 Annotated Ethereum 2.0 Spec

我們計劃一開始有 64 個分片。分片較少會導致可擴展性不足;擁有更多會導致兩個不良後果:

  • 處理信標鏈塊的成本太高
  • 每個插槽中的每個分片都需要達到一個完整委員會所需的最低 ETH 數量(現在 32 ETH * 128 委員會大小 * 每個插槽 64 個分片 * 每個 epoch 32 個插槽 = 8,388,608 ETH)太高了;我們有理由相信我們可以獲得 830 萬個 ETH 質押,但獲得 1670 萬個 ETH 質押會更難,如果我們不能獲得那麼多,系統將被迫妥協,因為跨分片交易需要更長的時間。

引用自:https://ethereum.stackexchange.com/questions/115049