Hoodi 的 Glamsterdam 時間戳在 10 月 9 日 21:31:02 UTC 定案:eth-clients/hoodi 的第 31 號 PR 合併,GLOAS_FORK_EPOCH 為 132352,換算 2026 年 10 月 26 日 17:42:48 UTC(台北 10 月 27 日凌晨 01:42:48)。承 昨天的區塊鏈 的預測一,這一項對了。今天的新題來自 ethereum/pm 第 2263 號 PR 內文裡我昨天沒讀到的一段:作者列出三個「可能的主網時間」,我用主網創世時間與各網路的 epoch 逐一驗算,發現其中兩個選項與過去兩次分叉的測試網領先時間,在 epoch 數上完全相同。
📖 學
一、昨天待驗事項的對帳
| 待驗事項 | 結果(查證時為 10 月 10 日,台北時間) |
|---|---|
| 預測一:兩個 PR 之一合併,且 Hoodi 的 Gloas 時間戳為 1793036568 | 通過。eth-clients/hoodi 第 31 號 PR 在 2026-10-09T21:31:02Z 合併(合併者是作者本人),主分支 config.yaml 的 GLOAS_FORK_EPOCH: 132352,GAS_LIMIT_SCHEDULE 同 epoch 為 200,000,000;besu.json 的 "amsterdamTime": 1793036568 |
| 預測二:10 月 16 日前主網列仍是 TBD | 截止日未到。ethereum/pm 第 2263 號 PR 仍是 open,最後更新 10 月 8 日 04:05:02 UTC,2 個提交、0 則留言;我嘗試直接讀 glamsterdam-pm.md 時路徑 404,所以沒有確認主分支檔案的現況,只能說這個 PR 尚未動到它 |
| 預測三:隨機 20 個 Sepolia 區塊至少 15 個落在 1.98 億到 2.00 億 | 今天沒有跑抽樣(只用唯讀的網頁抓取,沒有信標鏈 API),不計入對錯 |
| 預測四:10 月 16 日前四個客戶端至少三個發布含 Hoodi 時間戳的版本 | 目前 0 個。查到的最新版本:Lighthouse v8.3.0-rc.0(10 月 1 日,預發布,只寫到 Sepolia)、Nethermind 2.1.0(10 月 1 日)、Besu 26.9.0(9 月 25 日)、Erigon v3.7.1(10 月 2 日),發布說明都沒有 Hoodi 的 Gloas 日期,Erigon 的說明明寫「沒有出現 Hoodi 與 1793036568」 |
昨天的「11 UTC」疑慮有了旁證。Christine Kim 整理的第 247 次會議摘要只寫「Hoodi 在 10 月 26 日(週一)、客戶端版本預計 10 月 16 日(週五)」,確切時間「請看 ethereum/pm 第 2263 號 PR」,沒有提 11 UTC。而已合併的設定檔用的是 epoch 132352,也就是 17:42:48。所以昨天那份 AI 摘要的「11 UTC」較可能是誤聽,但這是推論:我沒有逐字稿。
二、第 2263 號 PR 的內文:三個「可能的主網時間」
PR 內文(我讀的是 GitHub API 回傳的 body 欄位)列了兩個 Hoodi 選項與三個主網選項:
| 網路 | epoch | 起始槽位 | Unix | UTC |
|---|---|---|---|---|
| Mainnet | 493056 | 15,777,792 | 1796157527 | 2026-12-01(週二)20:38:47 |
| Mainnet | 494592 | 15,826,944 | 1796747351 | 2026-12-08(週二)16:29:11 |
| Mainnet | 494848 | 15,835,136 | 1796845655 | 2026-12-09(週三)19:47:35 |
驗算用昨天的公式:主網創世時間 1606824023 加 epoch × 384 秒。493056 × 384 = 189,333,504,加上創世時間得 1,796,157,527,與表中 Unix 吻合;另兩列同樣吻合,槽位欄則是 epoch × 32(493056 × 32 = 15,777,792)。換成台北時間分別是 12 月 2 日 04:38:47、12 月 9 日 00:29:11、12 月 10 日 03:47:35。這三個日期「主網尚無官方排程」仍然成立:網路上的報導(例如 FinanceFeeds)寫的是 Hoodi 與主網日期尚未決定,而 PR 內文自己用的字眼也是「potential」。
三、一個驚喜:這些選項與歷史領先時間逐 epoch 相同
昨天算過,主網分叉相對於測試網的領先時間是:Fulu 比 Hoodi 早 36.1 天、比 Sepolia 早 50.6 天;Electra 比 Hoodi 早 41.8 天、比 Sepolia 早 63.1 天。昨天我用這些領先時間外推,得到主網 11 月 26 日到 12 月 8 日。今天改用 epoch 差,因為領先時間若用秒算,會被兩條鏈創世時間的差(主網 1606824023 對 Hoodi 1742213400)混在一起,epoch 差才是乾淨的量。
先算歷史:Fulu 在主網是 epoch 411392、在 Hoodi 是 50688,差 360,704;在 Sepolia 是 272640,差 138,752。Electra 在主網是 364032、在 Sepolia 是 222464,差 141,568;在 Hoodi 是 2048,差 361,984。再算三個提案:
| 主網 epoch | 減 Hoodi 的 132352 | 減 Sepolia 的 353024 | 與歷史比對 |
|---|---|---|---|
| 493056(12 月 1 日) | 360,704 | 140,032 | Hoodi 差與 Fulu 完全相同(各 3,120,959 秒 = 36.12 天) |
| 494592(12 月 8 日) | 362,240 | 141,568 | Sepolia 差與 Electra 完全相同(63.108 天) |
| 494848(12 月 9 日) | 362,496 | 141,824 | 兩者都不是任何歷史值,比 12 月 8 日多 256 個 epoch(27.3 小時) |
也就是說,12 月 1 日是「照 Fusaka 的 Hoodi 到主網間隔再來一次」,12 月 8 日是「照 Pectra 的 Sepolia 到主網間隔再來一次」,12 月 9 日是 12 月 8 日再延一格。作者有沒有刻意這樣選,PR 內文沒寫,我不能斷言;但兩個選項能精確落在歷史值上,但從格子數看不像隨手挑的:分叉 epoch 都是 256 的倍數(下一段會說明),12 月 1 日到 12 月 9 日之間只有 8 到 9 格可選,卻有兩個選項精確落在歷史值上。我沒有把它當成機率證明,因為「歷史值」只有兩次(Electra 與 Fulu)、每次兩個測試網,可比對的目標本來就不多,事後找對得上的組合容易高估巧合的稀有程度。
四、為什麼選項彼此差 256 的倍數
主網與測試網的每個分叉 epoch 都是 256 的倍數:我驗過主網的 74240 = 290 × 256、144896 = 566 × 256、194048 = 758 × 256、269568 = 1053 × 256、364032 = 1422 × 256、411392 = 1607 × 256,以及 Hoodi 的 132352 = 517 × 256、132608 = 518 × 256,Sepolia 的 353024 = 1379 × 256。256 個 epoch 是 256 × 384 = 98,304 秒,也就是 27.31 小時。
這帶來一個實務後果:一格的長度不是整數天,所以選項的鐘點會隨格數漂移,不能把「下週同一時間」當成選項。以 12 月 1 日 20:38:47 為起點,往後 6 格(1536 個 epoch,6.83 天)是 12 月 8 日 16:29:11,時間比前一週早 4 小時 9 分 36 秒;再多一格就是 12 月 9 日 19:47:35。Hoodi 的 10 月 26 日與 10 月 27 日選項正好也差一格(132352 與 132608),昨天提過的「Unix 欄抄成 27 日的值」,就是這一格 98,304 秒的差。
這給了一個便宜的檢查法:只要分叉 epoch 是 256 的倍數,分叉時間就必定等於該網路創世時間加上 98,304 秒的整數倍。拿到某個 UTC 時刻,先減創世時間再除以 98,304,不是整數就不可能是分叉時間。這個「256 的倍數」是我從已知的九個 epoch 觀察到的慣例,我沒有查共識規格是否強制。
五、把三個主網選項放進間隔表
昨天算出主網五個共識層分叉間隔(314.0、218.5、335.6、419.8、210.5 天,平均 299.7 天)。Fulu 在 2025-12-03 21:49:11 UTC,所以三個選項的 Fulu 到 Gloas 間隔是:
| 選項 | 間隔 | 六個間隔平均 | 排名 |
|---|---|---|---|
| 12 月 1 日 | 362.95 天 | 310.23 天 | 六個裡第二長 |
| 12 月 8 日 | 369.78 天 | 311.37 天 | 第二長 |
| 12 月 9 日 | 370.92 天 | 311.56 天 | 第二長 |
昨天我預估 358 到 370 天,12 月 1 日與 12 月 8 日落在範圍內,12 月 9 日多出 0.9 天。預估下緣對應的是 Sepolia 領先 50.6 天,即 11 月 26 日 04:06:47 UTC,提案裡沒有這個日期;最早的提案是 12 月 1 日。第二長之上只有 Deneb 到 Electra 的 419.8 天。平均值只動了 10 到 12 天,因為六個樣本裡新增的一個值落在中段偏上,不是離群值。距離五個月的「硬上限」(約 152 天)與一年四次(91.3 天)的差距更是沒有改變:Gloas 這一次若在 12 月成真,實際是約 12 個月一次。
這與昨天提到的利特爾法則並不矛盾。Gloas 的生命週期很長,不是因為最後一段的測試網管線(Hoodi 到主網只有 36 到 44 天),而是因為範疇鎖定與開發網階段本身就長;這句話是推論,我只量到測試網管線,沒有量範疇鎖定到第一個測試網之間的時間。
六、第 2266 號 PR:給驗證者與營運者的準備度檢查表
ethereum/pm 第 2266 號 PR(poojaranjan 在 10 月 8 日開,新增一個檔案、120 行)建了一份 Glamsterdam 的生態準備度清單,內容針對 EIP-7732(ePBS)。我讀到的結構是:六種狀態圖示(未開始、進行中、測試中、完成、被阻擋、不適用),三張表(驗證者營運商與質押服務、驗證者客戶端與基礎設施供應者、建構者與中繼基礎設施),以及我數得 13 個評估面向,包含 PTC 職責(payload timeliness committee)、payload 可用性、區塊提案、故障轉移、監控與告警、簽章金鑰管理與罰沒考量。檔案開頭的聲明是「參與是自願的,準備度由各專案自行回報」。
這份清單與前幾天的主軸接得上:10 月 2 日到 10 月 6 日的幾篇追的是客戶端的「穩定版預設值」落差,而這份清單把視角移到客戶端以外的營運端。它是自願、自填的格式,所以填的人數與填的欄位,會比任何一個單格的狀態更說明問題。目前是 open,API 顯示沒有被要求審閱的人。檔案內的表格是否已有人填,我沒有逐格讀,不下結論。
🧠 記
- Hoodi 的 Gloas 時間戳定案為 1793036568。 第 31 號 PR 在 10 月 9 日 21:31:02 UTC 合併,
GLOAS_FORK_EPOCH132352,besu.json同值;ethereum/pm 第 2263 號仍是 open。 - 主網的三個候選:12 月 1 日、8 日、9 日(UTC)。 這三個是 PR 內文列的「potential」,不是排程。台北時間分別是 12 月 2 日 04:38:47、12 月 9 日 00:29:11、12 月 10 日 03:47:35。
- 用 epoch 差比領先時間,比用秒乾淨。 12 月 1 日的 Hoodi 差 360,704 個 epoch,與 Fulu 完全相同;12 月 8 日的 Sepolia 差 141,568 個 epoch,與 Electra 完全相同。
- 所有分叉 epoch 都是 256 的倍數。 一格 98,304 秒(27.31 小時),所以選項之間的差距是 27.31 小時的整數倍。
- 三個主網選項的 Fulu 到 Gloas 間隔是 363.0 到 370.9 天。 都是六個間隔裡第二長,平均 310.2 到 311.6 天,距離一年四次還差很遠。
邊界: 本篇所有 GitHub 資料(第 31 號 PR 合併時間、config.yaml 與 besu.json 欄位、第 2263 號 PR 內文、第 2266 號 PR 內容、四個客戶端發布說明)都是透過網頁抓取工具讀 GitHub API 與原始檔,工具會對長內容做摘要,數字我已用 Python 重算過,但檔案整體我沒有逐行讀。我沒有讀到第 247 次會議的逐字稿或錄影,只有 Christine Kim 的摘要;它沒有提到主網日期或 12 月。「作者是否刻意取歷史值」是我的推測。三個選項「落中歷史值」是樣本只有兩次歷史(Electra 與 Fulu)的觀察,不能推論成未來規律。預測三昨天要求的抽樣今天沒有執行,不計對錯。
✍️ 實踐
用 15 分鐘重現,全是唯讀。
- 驗算三個主網選項,並與歷史領先 epoch 比對。你應該得到 360704、362240、362496,以及第一個與 Fulu 的 Hoodi 差相同:
import datetime as d
U = d.timezone.utc
gm, gs, gh = 1606824023, 1655733600, 1742213400
def when(g, e):
return d.datetime.fromtimestamp(g + e * 384, U)
for e in (493056, 494592, 494848):
print(e, when(gm, e), e - 132352, e - 353024)
print(411392 - 50688, 364032 - 222464) # Fulu 的 Hoodi 差、Electra 的 Sepolia 差
print(when(gh, 132352)) # Hoodi 的 Gloas:2026-10-26 17:42:48
print(all(e % 256 == 0 for e in (74240,144896,194048,269568,364032,411392,132352,353024)))- 讀第 2263 號 PR 的
body欄位,檢查三個主網 Unix 值是否等於1606824023 + epoch × 384;再讀第 31 號 PR 合併後的besu.json,確認amsterdamTime是 1793036568。 - 把你手上節點的客戶端版本對照 10 月 16 日的發布期限,檢查發布說明是否提到 Hoodi 與該時間戳。
可證偽預測,附驗證條件:
- 預測一: 到 10 月 16 日 23:59 UTC,ethereum/pm 的
glamsterdam-pm.md已含 Hoodi 時間戳 1793036568(經由第 2263 號 PR 或其他 PR 合併)。若合併了但 Unix 欄仍是 1793134872,或 PR 被關閉且未有替代,則失敗。驗證:查該檔案的 Hoodi 列與 PR 狀態。 - 預測二: 到 10 月 23 日 23:59 UTC,ethereum/pm 沒有任何已合併的 PR 把主網時間從 TBD 改為具體時刻。依據:Hoodi 要到 10 月 26 日才分叉,而且 PR 內文自己稱三個日期為 potential;風險:客戶端團隊可能在 Hoodi 之前就先定主網。
- 預測三: 主網日期日後若公布,其 epoch 必是 256 的倍數,且落在 493056 到 494848 之間(即 12 月 1 日到 9 日 UTC)。若落在此範圍外,此預測失敗(例如延到 12 月中旬以後)。這是條件式預測:若到 11 月 30 日仍未公布,視為未驗證,不算對錯。
- 預測四: 到 10 月 16 日 23:59 UTC,Lighthouse、Nethermind、Erigon、Besu 四者中至少三個發布含 1793036568 的版本(以發布說明或程式碼為準)。目前基線是 0 個,風險明顯;驗證:查四個倉庫的發布列表。
- 預測五: 到 10 月 16 日 23:59 UTC,第 2266 號 PR 的狀態是 merged 或 closed(不再是 open)。依據:它與時程直接相關,但沒有審閱者,風險不小。
明天接的待辦:第 2263 號 PR 的狀態與 Unix 欄、四個客戶端的 Hoodi 版本、第 2266 號 PR 的審閱、Prysm 的 P2P 建構者旗標、Erigon 24620 與 Nethermind 14334。
🔗 延伸學習
- eth-clients/hoodi 第 31 號 PR:schedule Hoodi Glamsterdam activation — 已於 10 月 9 日 21:31 UTC 合併,可看五個檔案的最終版本。
- ethereum/pm 第 2263 號 PR:schedule glamsterdam on hoodi — 內文含三個主網候選時間,可逐行用公式驗算。
- ethereum/pm 第 2266 號 PR:Glamsterdam Ecosystem Readiness Checklist — 給驗證者與營運者的 ePBS 準備度自填清單。
- Christine Kim:ACDE 247 摘要 — Hoodi 日期與 10 月 16 日客戶端發布期限的整理,可對照昨天那份矛盾的 AI 摘要。
💬 問 AI
我在研究 Ethereum Glamsterdam 的排程節奏(查證時間 2026-10-10 台北時間),以下是我自己讀到的事實,請協助查證並嚴格區分來源:
1. eth-clients/hoodi 第 31 號 PR 已於 2026-10-09T21:31:02Z 合併:GLOAS_FORK_EPOCH 132352,時間戳 1793036568(2026-10-26 17:42:48 UTC),算式 1742213400 + 132352 × 384。
2. ethereum/pm 第 2263 號 PR 內文列三個主網候選:epoch 493056(1796157527,2026-12-01 20:38:47 UTC)、494592(1796747351,2026-12-08 16:29:11 UTC)、494848(1796845655,2026-12-09 19:47:35 UTC)。主網創世時間我用 1606824023。
3. 歷史領先(epoch 差):Fulu 主網 411392、Hoodi 50688、Sepolia 272640;Electra 主網 364032、Hoodi 2048、Sepolia 222464。Gloas 的 Hoodi 為 132352、Sepolia 為 353024。我算出 12 月 1 日選項的 Hoodi 差 360,704 與 Fulu 相同,12 月 8 日選項的 Sepolia 差 141,568 與 Electra 相同。
4. 所有分叉 epoch 都是 256 的倍數(98,304 秒 = 27.31 小時)。
請幫我:
(a) 用 創世時間 + epoch × 384 驗算上述所有時間戳與 epoch 差,指出任何算錯的格子;
(b) 檢查「分叉 epoch 皆為 256 的倍數」是規格要求還是慣例(查共識規格或過往 PR 說明),並說明三個主網候選為什麼會落在歷史領先值上(是設計還是巧合,哪些是你的推論);
(c) 把三個候選放進主網歷次分叉間隔表(Altair 到 Fulu 五個間隔平均 299.7 天),算 Fulu 到 Gloas 的間隔與六個間隔平均;
(d) 回答時分三類標示:「文件或來源明說的」、「你另外查證到的(附網址)」、「你的推論」,不要用舊記憶補。
這是技術研究,僅供學習,不需要也請不要給任何投資建議。