跳到正文

區塊時間

區塊時間可以指排定時槽、工作量證明目標間隔,或標準鏈區塊之間的觀測間隔。本指南說明如何分別測量這些時鐘,避免與收錄、確認或最終性混淆。

更新於

僅供協定教育分析。時間目標、觀測間隔、交易收錄與最終性是不同指標;依賴延遲估算前,應核驗目前網路、分叉、標準鏈及服務政策。

直接答案

區塊時間不是一只通用秒錶。在工作量證明系統中,它通常指隨機出塊過程的長期目標;在採用時槽的權益證明系統中,它可能指一次提議機會的排定時長。兩個標準鏈區塊之間的觀測間隔是第三種指標,而交易收錄、確認深度與最終性又各有獨立時鐘。

以太坊主網目前將時間劃分為 12-second slots,每個時期包含 32 slots。提議者可能漏掉一個時槽,因此相鄰已產生區塊可能相隔 24 seconds36 seconds 或更久,即使時槽時長仍是 12 seconds。對 Bitcoin 而言,600 seconds 是難度系統採用的目標平均間隔,並非下一個區塊的截止時間。

必須說明鏈、網路、分叉、觀察視窗與時鐘口徑。區塊標頭時間戳記是協定資料,不必然等於所有節點收到該區塊的時刻。較短的名義間隔可以提前最早收錄機會,但本身不保證更高吞吐量、更低費用、更少鏈重組或更快最終性。

預計等待
1.2 min
示意區間
54s - 1.5 min

結果是教育用途的近似值。除非明確展示,否則未計入交易場所規則、稅費、延遲、預言機行為及其他協議參數。

運作方式

  1. 固定鏈、網路、層級、已啟用分叉、標準鏈頭、節點或 RPC 供應商,以及 UTC 觀察視窗。記錄區塊雜湊,不要把高度本身當成唯一識別碼。
  2. 計算前先定義指標:協定目標間隔、排定時槽時長、相鄰標準鏈區塊時間戳記差、本地接收時間差、交易收錄延遲、確認深度或最終性時間。
  3. 收集每個區塊的雜湊、父區塊雜湊、高度或時槽、協定時間戳記,以及本地單調時鐘接收時間。將漏槽、過期區塊與被重組移除的區塊保留為明確狀態,而非靜默刪除。
  4. 沿標準鏈祖先關係回溯,計算相鄰間隔,並公布樣本數、視窗、平均值、中位數、百分位數、最小值、最大值與漏槽率。單一平均值無法描述偏斜的等待時間分布。
  5. 套用相應共識模型。對以太坊,應區分時槽、時期、鏈頭、安全檢查點與最終確定檢查點。對 Bitcoin,應區分 600-second target、受雜湊率影響的隨機出塊、鏈上累積工作量、2,016-block 調整視窗及時間戳記有效性規則。
  6. 將使用者延遲拆分為廣播、本地交易池或排序器等待、區塊提議、傳播、標準鏈收錄、確認、安全或最終確定狀態,以及跨鏈橋、交易平台或應用程式處理。
  7. 使用獨立節點交叉核對,並對時鐘偏差、RPC 資料缺口、提議者漏槽、雜湊率變化、網路分割、鏈重組、最終性延遲、排序器停機與分叉參數變更進行壓力測試,再設定 SLA。

實例

  • 以太坊在時槽 1,0001,003 產生區塊。排定時間戳記間隔為 (1,003 - 1,000) * 12 = 36 seconds;時槽 1,0011,002 被漏掉。區塊高度只增加一個已產生區塊,時槽編號則增加三個。
  • 300 slots 內,排定視窗是 300 * 12 = 3,600 seconds。若產生 294 canonical blocks,就有 6 missed slots,產出率為 294 / 300 = 98%,視窗速率為 294 / 3,600 = 0.0816666667 blocks/second,其倒數為 12.2448979592 seconds/block。這是視窗統計量,不是承諾。
  • 一個以太坊時期為 32 * 12 = 384 seconds = 6.4 minutes;兩個時期的長度為 768 seconds = 12.8 minutes。檢查點投票與參與率決定最終性,因此這項算術不是固定最終性 SLA;以太坊目前將正常最終性描述為約 15 minutes
  • 在平均值為 600 seconds 的簡化 Bitcoin 指數到達模型下,1,200 seconds 內沒有區塊的機率為 e^(-1,200/600) = e^-2 = 13.5335283237%,至少出現一個區塊的機率則為 86.4664716763%。難度目標視窗為 2,016 * 600 = 1,209,600 seconds = 14 days;兩項數值都不會為單一區塊排定時間。

風險

  • 使用錯誤的鏈、網路、層級、分叉或歷史參數。
  • 比較排定時槽、工作量證明目標或觀測區塊間隔等不同指標。
  • 將協定目標或樣本平均值當成最長等待保證。
  • 選擇過短、平靜或其他經過挑選的觀察視窗。
  • 將區塊標頭時間戳記當成精確產出或接收的牆鐘時間。
  • 混用本地時間未同步的觀察者時鐘。
  • 省略漏槽,或將已產生的空區塊誤認為漏槽。
  • 在標準間隔序列中納入過期或被重組移除的區塊。
  • 只計算高度變化而未核驗雜湊、父區塊與祖先關係。
  • 將 RPC、索引器、WebSocket 或本地日誌缺口誤報為網路行為。
  • 只報告平均值而未報告中位數、百分位數、範圍與樣本數。
  • 混淆交易池或排序器等待時間與區塊產出時間。
  • 混淆首次收錄或一次確認與經濟最終性。
  • 將確認數換算為確定的分鐘數。
  • 將 Bitcoin 的 10-minute target 當成支付或挖礦 SLA。
  • 忽略雜湊率變化、難度調整延遲與礦工時間戳記邊界。
  • 忽略較短間隔帶來的傳播、驗證與暫時分叉壓力。
  • 將以太坊的 12-second slot 當成保證有非空區塊。
  • 將 L2 排序器區塊當成 L1 發布、結算或最終性。
  • 僅憑區塊時間推斷 TPS、費用、安全性或去中心化程度。

常見誤解

  • 每個以太坊時槽都有區塊。 時槽只是提議機會;提議者漏槽或傳播失敗都可能使其為空。
  • Bitcoin 恰好每十分鐘產生一個區塊。 十分鐘是難度目標與平均值模型參數,單次等待時間會大幅波動。
  • 區塊時間戳記就是所有節點收到區塊的時刻。 協定時間戳記與本地到達日誌由不同主體產生,並受不同約束與時鐘影響。
  • 區塊時間減半會自動讓安全 TPS 加倍,並使費用或最終性時間減半。 容量、工作負載、需求、傳播與共識投票仍是獨立約束。
  • 快速 L2 區塊已具備以太坊最終性。 排序器收錄、L1 資料發布、L1 標準鏈收錄與最終性是不同狀態。

相關主題

資料來源

導覽

搜尋知識庫...