Solana 插槽與出塊時間:400毫秒解釋
Learn how Solana's 400ms block time works. Understand slots, epochs, Proof of History, and why Solana is faster than Ethereum and Bitcoin.
Solana 插槽與出塊時間:400毫秒解釋
Solana 是一個 Layer-1 區塊鏈,專為高吞吐量、低成本應用而設計。由曾任高通工程師並在 2017 年白皮書 中提出歷史證明的 Anatoly Yakovenko 共同創立,Solana 於 2020 年啟動其主網,此後成為最活躍的開發平台之一,被定位為以太坊的替代方案。其原生代幣是 SOL。Solana 在交易速度的基礎上,常與以太坊和比特幣進行比較,本文將在架構層面解釋這種比較實際的含義。
目錄
- 什麼是 Solana 插槽與出塊時間?
- 什麼是 Solana 出塊時間?
- 歷史證明如何讓 Solana 快速運轉
- Epochs 與領導者排程
- Solana 出塊時間 vs. 以太坊 vs. 比特幣
- 實際效能圖景
- 交易最終確定性:400 毫秒實際上對您意味著什麼
- 為何快速的出塊時間很重要:DeFi 與實際應用
- 技術規格一覽
- 常見問題
- 關鍵要點
什麼是 Solana 插槽與出塊時間?
Solana 中的插槽是一個大約 400 毫秒(協議級常量)的固定時間窗口,在此期間,一個指定的驗證者可以生產一個區塊。這個持續時間大約是一個眨眼的時間。插槽是時間窗口,而不是區塊。這兩個術語不能互換,理解它們之間的區別是本文其他一切內容的基礎。
每個插槽遵循相同的序列。稱為插槽領導者的驗證者已提前被分配到該插槽。插槽開啟,領導者收集待處理的交易,並生產一個包含這些交易的區塊。然後下一個插槽自動開始。這個週期大約每秒運行 2.5 次。如果指定的領導者未能生產區塊,該插槽將被跳過,網絡將繼續進行而無需等待。400毫秒的插槽持續時間由 Solana 的歷史證明 (Proof of History) 時鐘強制執行,詳情請見下文。
插槽是時間窗口;區塊是包含在該窗口內生產的已確認交易的實際數據結構。每個區塊佔用一個插槽,但並非每個插槽都會生產區塊。不生產區塊的插槽稱為已跳過的插槽,發生時網絡將持續進行而不會中斷。
在插槽之下是一個更小的單位,稱為 tick(脈衝),是 Solana 架構中最小的時間單位。每個插槽包含正好 64 個 tick。每個 tick 大約為 6.25 毫秒(400毫秒除以 64)。Tick 是歷史證明生成器使用的內部計時信號,對終端用戶不可見,但會出現在 Solana 的 RPC API 和開發者文檔中。
關鍵規格: Solana 目標插槽持續時間:約 400 毫秒(0.4 秒)。以每插槽 400 毫秒計算,網絡每秒最多生產 2.5 個插槽。
Solana 時間層級
| 單位 | 持續時間 | 每父層計數 | 功能 |
|---|---|---|---|
| Tick | ~6.25毫秒 | 每插槽 64 個 | 內部 PoH 計時信號 |
| Slot | ~400毫秒 | 每秒 2.5 個(最大) | 區塊生產窗口 |
| Block | 可變 | 每插槽 1 個(生產時) | 交易數據容器 |
| Epoch | ~2 天 | 不適用 | 質押和排程週期 |
什麼是 Solana 出塊時間?
Solana 的出塊時間是連續生產區塊之間的平均間隔。目標出塊時間約為 400 毫秒(0.4 秒),因為網絡每個插槽生產一個區塊。
插槽時間與出塊時間有關聯但並不相同。插槽時間(400毫秒)是 Solana 架構中每個時間窗口的固定持續時間。它不會改變。出塊時間是實際生產的區塊之間的平均間隔。當沒有插槽被跳過時,出塊時間等於插槽時間。實際上,出塊時間會略高,因為有些插槽根本不生產區塊。
400毫秒是一個目標,而非保證。跳過的插槽和生產條件的變動可能導致觀察到的出塊間隔變長,結果會因測量窗口而異。目前的插槽和出塊時間應直接測量,而不是總結為永久性的低於 500 毫秒的平均值。
目標出塊時間:約 400 毫秒(0.4 秒)
歷史證明如何讓 Solana 快速運轉
Solana 之所以比以太坊更快,歸功於三項架構創新:
- 歷史證明消除了傳統拜占庭容錯系統所需的協調開銷。
- Gulf Stream 協議在無需內存池 (mempool) 的情況下,將交易預先路由給即將到來的插槽領導者。
- Sealevel 在每個區塊內并行處理數千個非重疊交易。
這些將在下面逐一解釋。
什麼是歷史證明?
歷史證明 (PoH) 充當密碼學時鐘:一個共享、可驗證的時間記錄,讓所有驗證者無需等待相互通信即可就事件順序和時間達成一致。
該機制分為四個步驟:
- Solana 的 PoH 生成器生產一個順序化的 SHA-256 雜湊鏈。
- 每個雜湊輸出作為下一個雜湊的輸入。
- 由於 SHA-256 雜湊無法並行計算,該鏈本身就證明了一定的計算時間已經過去。
- 任何驗證者都可以快速驗證序列,即使生產它需要實際經過的時間。
這種結構是一種可驗證延遲函數 (VDF),由 Yakovenko 在其 2017 年的白皮書 中首次提出。實際後果是:在傳統區塊鏈系統中,驗證者必須交換帶時間戳的消息才能就事件順序達成一致。這種來回通信會引入延遲。PoH 完全消除了這種需求。驗證者信任密碼學記錄,而不是等待往返網絡確認,這是 Solana 插槽能以 400 毫秒運行的核心原因。
一個重要的釐清:歷史證明並非 Solana 的共識機制。Solana 使用 Tower BFT 進行共識,並使用權益證明 (PoS) 進行驗證者選擇。PoS 意味著驗證者將 SOL 作為抵押品質押,他們的被指定為插槽領導者的機率與其質押權重成正比。PoH 提供了使這兩種系統都更快的共享時鐘。
Tower BFT 是 Solana 的共識算法,它是對實用拜占庭容錯 (Practical Byzantine Fault Tolerance) 的一種優化變體,利用 PoH 時鐘作為共享時間戳。Tower BFT 不是要求驗證者交換消息來就區塊排序達成一致,而是將驗證者的投票錨定在 PoH 序列的特定位置。
鎖定機制通過指數級回退 (exponential back-off) 來運作。驗證者對特定分叉 (fork) 投票後經過的插槽越多,切換到不同分叉的計算成本就越高。隨著插槽的累積,驗證者逐漸致力於給定的歷史記錄,而這種漸進式承諾正是產生最終確定性的原因。Tower BFT 的投票發生在插槽內部和跨插槽進行,這種插槽錨定的投票將區塊生產轉化為已確認的歷史記錄。
Gulf Stream 是 Solana 的交易轉發協議。由於領先者排程(leader schedule)是完全公開且預先計算的,驗證者和用戶端應用程式可以在時段(slot)開始前,直接將待處理交易轉發給接下來幾位預定的時段領先者。
這消除了對傳統內存池(mempool)的需求,即交易在被區塊生產者提取前排隊的緩衝區。在 Solana 上,交易通常在時段開啟前就已預先定位在領先者節點。Gulf Stream 依賴於領先者排程,這將在下一節中介紹。
Solana 的 Turbine 區塊傳播協議負責處理分發端:一旦在某個時段內產出區塊,Turbine 就會使用樹狀結構將其發送到整個驗證者網絡,從而最大限度地減少每個驗證者的頻寬需求。Sealevel 是 Solana 的並行智能合約執行環境,它允許在單個區塊內同時執行數千個非重疊交易,是吞吐量容量的主要貢獻者。
Epoch 與領先者排程:Solana 如何在大規模環境下組織時間
什麼是 Solana Epoch?
Solana 中的一個 Epoch 是由 432,000 個時段組成的固定期間,按每個時段約 400 毫秒計算,大約相當於主網實際時間的 2 天。計算過程為:432,000 個時段乘以 400 毫秒等於 172,800,000 毫秒,即 172,800 秒,約為 48 小時。選擇該數值是為了配合質押獎勵發放和領先者排程計算的目標節奏;這是一個可配置參數,在 devnet 和 testnet 上有所不同。
在每個 Epoch 邊界會發生三件事:
- 質押獎勵:根據驗證者及其委託者在已完成 Epoch 期間的參與情況進行發放。
- 領先者排程:計算下一個 Epoch 的領先者排程,確定哪位驗證者將擔任未來 432,000 個時段中每個時段的領先者。
- 驗證者集變更:變更正式生效,這意味著新質押的 SOL 轉為活躍狀態,且退質押(unstaking)請求被處理。
Epoch = 432,000 個時段 ≈ 2 天 | 時段 = ~400ms | 每個時段的 Ticks = 64
領先者排程如何指派區塊生產者
領先者排程是一個預先計算的指派列表,它指定了在哪個驗證者擔任未來 Epoch 中每個時段的領先者(負責產出區塊的驗證者)。
該過程分為三個步驟:
- 在每個 Epoch 開始前,網絡會計算未來 432,000 個時段中,每個時段將由哪位驗證者擔任領先者。
- 質押權重決定指派:持有更多質押 SOL 的驗證者會獲得比例更高的時段領先者指派。持有總質押 SOL 5% 的驗證者將被指派約 5% 的時段。
- 完整排程在 Epoch 開始前公開,對網絡上的每個驗證者和用戶端均可見。
由於排程是完全公開且預先計算的,驗證者和錢包可以在時段開始前直接將交易轉發給接下來的幾位領先者。這就是 Gulf Stream 的實際運作:領先者排程的可預測性使無內存池的交易路由成為可能。
可靠性方面的一個影響是:如果指定的領先者在其時段到達時處於離線狀態,該時段將被跳過。排程會直接移至下一個指派的驗證者,而不會暫停。
Solana 區塊時間 vs. 以太坊 vs. 比特幣:速度對比
Solana 約 400 毫秒的區塊時間意味著在以太坊產出一個區塊的時間內,它大約能產出 30 個區塊。以太坊目前的區塊時間約為 12 秒(2022 年 9 月合併後,權益證明架構)。比特幣的目標是每 10 分鐘產出一個區塊,這種速度是刻意為了安全性和去中心化而非速度而設定的。在主要的智能合約平台中,Solana 的區塊時間約為 400 毫秒,是最快的之一。
| 區塊鏈 | 區塊時間 (目標) | 區塊時間 (實際平均) | TPS (理論) | TPS (典型) | 樂觀終局性 (Optimistic Finality) | 完全終局性 |
|---|---|---|---|---|---|---|
| Solana | ~400ms | 略高於 400ms | 65,000+ (Solana Labs) | 2,000-4,000 (非投票) | ~1-2 秒 | ~13 秒 |
| 以太坊 (合併後) | ~12 秒 | ~12 秒 | 15-30 | 15-25 | ~12 秒 | ~15 分鐘 |
| 比特幣 | ~10 分鐘 (目標) | ~10 分鐘 (變動) | 7 | 4-7 | 機率性 | ~60 分鐘 (6 次確認) |
來源:Solana Labs 文檔;以太坊基金會;比特幣白皮書。以太坊數據反映了合併後(2022 年 9 月)的權益證明架構。
關於術語的說明:以太坊的權益證明系統也使用「slot」(12 秒)和「epoch」(32 個 slot,約 6.4 分鐘)這些術語。這些與 Solana 的時段(slot)和 Epoch 定義完全不同。
區塊鏈可擴展性三難困境在此提供了背景:在實踐中,網絡的速度與其去中心化程度是相互制衡的。批評者認為,Solana 對驗證者硬體的要求遠高於以太坊,這使網絡向速度傾斜,但在某種程度上犧牲了去中心化。這仍然是一個活躍的開發領域。
真實的性能圖景:跳過的時段與實際 TPS
400 毫秒的區塊時間是一個目標。以下是實踐中的真實情況,以及為什麼誠實的評估對於任何評估 Solana 主張的人都很重要。
跳過的時段:當 400 毫秒的時鐘滴答作響卻沒有區塊時
當指定的時段領先者未能產出區塊時(通常是因為驗證者離線或遇到網絡問題),就會發生跳過時段(skipped slot)。Solana 網絡不會等待:它會立即進入下一個時段,400 毫秒的節奏保持中斷。跳過時段時不會丟失任何交易;待處理交易保留在隊列中,並被包含在下一個可用時段中。
量化影響是可衡量但適中的。在正常的網絡條件下,Solana 歷史上的時段跳過率大約在 3-8% 之間(來源:Solana Beach)。5% 的跳過率意味著大約每 20 個時段中有 1 個不產出區塊,這使得平均區塊時間在 400 毫秒目標基礎上增加約 20 毫秒。實際平均值仍遠低於 500 毫秒。這是網絡的一個正常特性,而非故障模式,且這是大多數性能行銷完全忽略的區別。
跳過時段與網絡中斷是不同的情況。在跳過時段期間,網絡正常運行。在全面中斷期間,時段生產會停止較長時間,並需要驗證者協調重啟。Solana 自主網啟動以來已經歷過數次此類中斷。這些事件推動了重大的基礎設施改進,包括用於交易轉發的 QUIC 實作以及 FiredDancer 驗證者用戶端的部署。在擁堵(而非中斷)期間,無論需求如何,時段排程都會繼續其約 400 毫秒的節奏,儘管當區塊空間被完全消耗時,用戶可能會遇到交易被丟棄的情況。
有關當前跳過率和時間數據,請參閱:Solana Beach 或 Solscan。
Solana 的實際 TPS vs. 65,000 TPS 的主張
65,000 TPS 的數據反映的是特定的設計場景而非典型運作。理解三個不同的 TPS 數據是區分誠實評估與行銷手段的關鍵。
- 理論峰值 TPS (65,000+): Solana Labs 的設計規範,基於最佳硬體、滿額區塊利用率及特定的交易大小配置。這代表了架構在理論上可以支持的水平。
- 觀測到的總 TPS (通常為 3,000-5,000): 包含投票交易在內的實測吞吐量。驗證者通過投放投票來確認每個區塊,這些投票交易消耗了大量的區塊空間。它們是真實的交易,但代表的是內部共識開銷,而非用戶活動。
- 非投票用戶交易 TPS (通常為 2,000-4,000): 對應用程式開發者和最終用戶最有意義的數據。這是正常條件下實際由用戶生成的交易量。
FiredDancer 是由 Jump Crypto 開發的高性能驗證者客戶端,目前正在 Solana 主網進行主動部署。其設計旨在提高網路吞吐量,同時保持約 400 毫秒的時段 (Slot) 排程。具體的效能提升取決於採用率和網路狀況。
交易最終確認性:400 毫秒區塊時間對您的實際意義
400 毫秒的區塊時間說明了 Solana 產出區塊的速度,但這並不代表您的交易確認所需的時間。兩者是不同的概念,而大多數競爭對手往往會混淆這一區別。
一筆交易在被視為不可逆轉之前,會經過兩個階段:
樂觀確認 (Optimistically confirmed): 當絕對多數(超過三分之二)的驗證者質押權重對包含該交易的區塊進行投票時,交易即達到樂觀確認,通常在 1-2 秒內完成。對於大多數用途(發送 SOL、在去中心化交易所兌換代幣、鑄造 NFT),此確認級別已足夠。大多數 Solana 應用程式都將樂觀確認視為運作標準。
已最終確定 (Finalized): 交易在區塊產生後約 32 個時段(約 13 秒)達到最終確定。此時,Tower BFT 鎖定機制使逆轉在計算上變得極其困難。此級別對於高額轉帳、跨鏈橋或任何對不可逆性要求極高的情境至關重要。
完整的確認路徑:
提交交易 → 透過 Gulf Stream 預先路由至即將上任的領導者 → 在時段內納入區塊 → 驗證者透過 Tower BFT 投票 → 樂觀確認(約 1-2 秒)→ 完全最終確定(約 13 秒)
一筆 Solana 交易需要多長時間?當您從錢包發送 SOL 或與 DeFi 協議互動時,通常會在 1-2 秒內看到交易已確認。這是「樂觀確認」,而非原始的 400 毫秒區塊產出間隔。400 毫秒的區塊時間意味著區塊產出非常迅速,為您的交易提供了多個短暫的納入窗口。您觀察到的用戶端確認時間稍長,是因為需要累積驗證者的投票。
官方承諾級別文件:docs.solana.com/cluster/commitments.)
為何快速區塊時間至關重要:DeFi 與現實應用
區塊時間會直接且具體地影響鏈上應用程式。去中心化金融 (DeFi) 是指在區塊鏈上構建、無需中心化中間機構的金融應用,包括去中心化交易所 (DEX)、借貸協議和收益耕種平台(在 Solana 的術語中,智能合約被稱為「程式 (Program)」)。
在區塊時間為 12 秒的網路中,套利下單機器人在大多數用戶反應之前,有 12 秒的窗口來識別並利用跨市場的價差。而在 Solana 約 400 毫秒的區塊時間下,該窗口被壓縮至半秒以內,這使得市場效率更高,並減少了自動化參與者相對於普通參與者的優勢。快速的區塊時間還支持具有亞秒級價格更新的鏈上訂單簿,這類應用在延遲較長的鏈上是不切實際的,因為從下單到執行之間存在延遲。
區塊時間也會影響交易手續費。以太坊 12 秒的區塊時間造成了區塊空間的稀缺:當需求激增時,用戶會在費用拍賣中競爭,導致擁堵期間成本急劇上升。Solana 的高吞吐量(得益於快速區塊時間和透過 Sealevel 實現的並行執行)減少了對區塊空間的競爭,通常將每筆交易的費用維持在 0.01 美元以下。然而,在極端擁堵期間,Solana 自身的手續費市場也可能飆升。費用波動並非慢速鏈所特有。
除了 DeFi 之外,快速的區塊時間還支持低延遲遊戲和微交易支付系統,這些系統要求每筆交易的確認時間必須讓人感覺不到。
更快的區塊時間擴展了 Solana 能有效支持的應用範圍,這可能會影響開發者的活躍度和網路採用率。這種技術優勢是否能轉化為長期的網路價值,是投資者在衡量採用率、開發者活動和代幣經濟學時會考慮的另一個問題。區塊速度是該評估中的一項投入。
Solana 的速度也伴隨著公認的權衡:驗證者的硬體要求明顯高於以太坊,批評者認為這限制了去中心化程度。這仍是一個活躍的發展和爭議領域。
技術規格一覽
下表彙整了 Solana 的核心時間規格,供快速參考。
| 規格 | 數值 |
|---|---|
| 刻度 (Tick) 持續時間 | ~6.25 毫秒 |
| 每個時段的刻度數 | 64 |
| 時段 (Slot) 持續時間 | ~400 毫秒 (0.4 秒) |
| 每秒時段數 (理論最大值) | 2.5 |
| 每個紀元 (Epoch) 的時段數 (主網) | 432,000 |
| 紀元持續時間 (主網) | ~2 天 (~48 小時) |
| 區塊時間 (目標) | ~400 毫秒 |
| 區塊時間 (實際平均) | 略高於 400 毫秒 (參見實時數據) |
| 樂觀確認 | ~1-2 秒 |
| 完全最終確定 | ~32 個時段 / ~13 秒 |
開發者可以使用 Solana JSON-RPC 的 getSlot() 方法獲取當前時段編號(文件:docs.solana.com/api/http#getslot).))。
實時時段和效能數據:Solana Beach | Solscan
關於 Solana 時段與區塊時間的常見問題
什麼是 Solana 中的時段 (Slot)?
Solana 中的時段是指大約 400 毫秒的固定時間窗口,在此期間一名指定的驗證者(時段領導者)可以產生單個區塊。時段並不等於區塊。當指定的領導者未能採取行動時,該時段會被跳過,網路會立即進入下一個時段。
Solana 的區塊時間有多長?
Solana 文件歷來引用的目標時段持續時間約為 400 毫秒。實際的時段和區塊間隔會有所變動,且跳過時段的百分比取決於日期、叢集和測量方法;請參考實時數據,而不要假設一個固定的 500 毫秒以下平均值。如需查看最新數據,請造訪 Solana Beach。
一個 Solana 紀元 (Epoch) 有多少個時段?
一個 Solana 紀元包含 432,000 個時段,在主網上約相當於實際時間 2 天(432,000 乘以 400 毫秒約等於 48 小時)。Devnet 和 Testnet 使用較短的紀元。
Solana 中的時段 (Slot) 和區塊 (Block) 有什麼區別?
時段是一個時間窗口(約 400 毫秒),在此期間「可能」會產出一個區塊。區塊是包含已確認交易的實際數據結構。每個區塊都佔用一個時段,但並非每個時段都會產出區塊。沒有區塊的時段被稱為「跳過的時段 (Skipped Slots)」。
為什麼 Solana 比以太坊快?
這歸功於三項架構創新:(1) 歷史證明 (PoH) 作為加密時鐘,消除了傳統共識系統所需的協調開銷;(2) Gulf Stream 在時段開始前將交易預先路由至即將上任的時段領導者,從而移除了內存池 (Mempool);(3) Sealevel 在每個區塊內並行處理數千個非重疊交易,大幅提高了吞吐量。
當 Solana 時段被跳過時會發生什麼?
當一個時段被跳過時,Solana 網路會立即進入下一個時段。交易不會遺失;它們保持待處理狀態,並會被納入下一個可用時段。約 400 毫秒的頻率會不間斷地持續。在正常情況下,歷史跳過率約為 3-8%,使平均區塊時間增加了約 20 毫秒。
Solana 交易需要多長時間確認?
在正常情況下,大多數 Solana 交易在 1-2 秒內達到樂觀確認。當 Tower BFT 的鎖定機制使交易在計算上不可逆轉時,即達到完全最終確定,大約需要 13 秒(約 32 個時段)。對於發送代幣或在去中心化交易所交易等日常使用案例,用戶體驗到的是樂觀確認。
Solana 中的時段時間 (Slot Time) 和區塊時間 (Block Time) 有什麼區別?
Slot time(400 毫秒)是協定常數:指每個時間窗口的固定持續時間。Block time 是測量出的平均值:指實際產生的區塊之間的間隔。當沒有插槽(slot)被跳過時,兩者相等。在實務中,由於跳過率的關係,block time 會略長於 slot time。
相關 Solana 指南
在 Bybit 上探索 SOL
讀者可以查看 目前的 SOL 市場資訊 或 SOL/USDT 現貨市場. 這些連結提供市場資訊與存取管道;它們並不驗證技術主張,也不暗示 SOL 適合每位讀者。
重點摘要
- Solana slot 是一個約 400 毫秒的時間窗口,在此期間一名驗證者可以產生一個區塊;slot 與區塊(block)並不相同
- Solana 的目標 block time 約為 400 毫秒,但由於跳過插槽(歷史跳過率為 3-8%),實際平均值略高
- 每個紀元(epoch)包含 432,000 個插槽(在主網上約為 2 天);領導者排程在每個紀元邊界重新計算
- 歷史證明(Proof of History)是一個加密時鐘,消除了協調開銷,但它不是 Solana 的共識機制(Tower BFT 處理共識;質押證明則處理驗證者選擇)
- Solana 實際的非投票交易 TPS 通常為 2,000-4,000;65,000+ 的數字是理想條件下的理論峰值
- Block time(400 毫秒)不等於最終性(finality):樂觀確認約需 1-2 秒;完全最終性約需 13 秒
- 快速的 block time 實現了 DeFi 應用、具競爭力的費用結構,以及在較慢區塊鏈上不切實際的使用場景,同時也伴隨著公認的驗證者硬體需求權衡
即時效能數據請參閱:solanabeach.io。技術文件請參閱:docs.solana.com。
本文僅供資訊與教育目的使用。不構成財務建議、投資建議,或買入、賣出、持有任何加密貨幣(包括 SOL)的建議。加密貨幣市場具有波動性與投機性。讀者在做出投資決策前應自行研究並諮詢合格的財務顧問。