1. Epoch
在以太坊生態系統中,"epoch" 是一個重要的概念,特別是在以太坊 2.0 (也稱為 Eth2 或 Serenity) 中。以太坊 2.0 引入了權益證明(Proof of Stake, PoS)共識機制,epoch 在其中起到了關鍵作用。以下是關於以太坊 epoch 的詳細解釋:
什麼是 Epoch?
在以太坊 2.0 中,時間被分成了週期性的小段,每段稱為一個 epoch。每個 epoch 包含若干個 slot,每個 slot 可以處理一個區塊。在 PoS 機制下,驗證者(validators)會在這些 slot 中輪流提議和證明區塊。
Epoch 的特點
- 固定時長:
- 每個 epoch 包含 32 個 slot。
- 每個 slot 的時長是 12 秒。
- 因此,一個 epoch 的總時長是 384 秒,或者說大約 6 分鐘。
- 狀態更新:
- 每個 epoch 結束時,驗證者會對前一個 epoch 的提議和證明進行評估。這種評估會影響驗證者的獎勵和懲罰。
- 這種機制確保了網路的安全性和一致性。
- 驗證者的角色:
- 在每個 epoch 開始時,驗證者會被分配到不同的 slot 和職責。
- 這些職責包括提議新的區塊和驗證其他驗證者提議的區塊。
- 最終性:
- 以太坊 2.0 使用最終性檢查點(finality checkpoints)來確認區塊鏈的狀態。
- 每個 epoch 的第一個區塊通常被用作一個最終性檢查點。
- 驗證者會透過證明來確保這些檢查點的安全性和一致性。
為什麼 Epoch 重要?
- 網路安全:
- Epoch 的劃分幫助以太坊 2.0 網路在每個週期結束時評估驗證者的行為,確保網路的安全性和誠實性。
- 高效處理:
- 透過將時間劃分為 epoch 和 slot,以太坊 2.0 能夠更高效地管理驗證者的職責分配和工作流程。
- 一致性和穩定性:
- Epoch 提供了一種機制,使得網路可以定期地校正錯誤和調整驗證者的狀態,從而提高區塊鏈的整體一致性和穩定性。
2. validators加入週期
在以太坊 2.0 的權益證明(Proof of Stake, PoS)機制中,新的驗證者(validators)需要經過一個等待期才能啟用並開始驗證區塊。這一過程涉及多個 epochs。具體來說,新的驗證者需要等待 4 個 epochs 才能啟用。
詳細說明
- 驗證者加入流程:
- 新的驗證者需要透過存入 32 ETH 到存款合約來申請加入驗證者集合。
- 一旦存款確認,驗證者將被列入待啟用佇列。
- 啟用等待期:
- 待啟用驗證者需要等待 4 個 epochs 才能正式啟用。
- 每個 epoch 包含 32 個 slot,每個 slot 持續 12 秒,因此一個 epoch 大約持續 6.4 分鐘。
- 因此,4 個 epochs 大約持續 25.6 分鐘。
- 啟用後:
- 啟用後,驗證者開始參與區塊提議和證明工作,並開始獲得獎勵或受到懲罰,具體取決於其行為。
為什麼需要等待期?
- 安全性:等待期有助於防止惡意行為者快速加入和退出驗證者集合,從而確保網路的穩定性和安全性。
- 網路一致性:透過設定等待期,網路可以更好地管理和協調驗證者的加入和退出,確保驗證者集合的一致性。
3. validators退出週期
在以太坊 2.0 中,驗證者(validators)退出網路的過程包括多個階段,每個階段都有特定的時間要求。以下是驗證者從請求退出到完全退出所需的最短時間的詳細解釋:
退出流程
- 請求退出(Voluntary Exit):
- 驗證者首先需要傳送一條自願退出訊息,這條訊息會被包含在區塊中。
- 退出佇列:
- 在傳送退出請求後,驗證者會進入退出佇列。
- 退出佇列會根據驗證者的數量和網路狀態處理請求。在網路負荷較高時,退出時間可能會延長。
- 退出延遲:
- 一旦退出請求被處理,驗證者需要等待
MIN_EXIT_EPOCHS
才能完全退出,這個時間通常是 4 個 epochs。
- 一旦退出請求被處理,驗證者需要等待
- 退出期間:
- 退出期間的長度取決於當前網路的負荷和排隊等待的驗證者數量。
- 完全退出(Withdrawal Period):
- 在退出期間結束後,驗證者還需要等待
MIN_VALIDATOR_WITHDRAWABILITY_DELAY
以便完全退出。 - 該時間通常為 256 個 epochs(大約 27.3 小時)。
- 在退出期間結束後,驗證者還需要等待
最短退出時間
- 傳送退出請求到退出佇列:立即(0 時間)
- 退出佇列處理時間:根據網路情況,通常立即(假設網路負荷較低)
- 退出延遲:4 個 epochs(大約 25.6 分鐘)
- 完全退出等待時間:256 個 epochs(大約 27.3 小時)
綜上所述,驗證者從請求退出到完全退出所需的最短時間約為 27.6 小時(4 epochs + 256 epochs),假設網路負荷較低且退出請求能夠立即處理。