2026 年 10 月 22 日下午,我從兩個公開介面各拉了一段區塊。比特幣第 972,622 塊由 F2Pool 挖出,下一塊 972,623 在 7 分 25 秒之後才出現1。同樣這 445 秒裡,Hyperliquid 的鏈從第 1,193,225,778 塊走到第 1,193,231,959 塊,一共出了 6,181 個塊,每塊平均裝著三千多筆交易2。
點開其中一塊看,裡面幾乎全是同一類東西:某個地址在某個幣上掛了一張限價單,某個地址撤掉了一張單。整條鏈像是一臺交易所的流水賬,每 70 毫秒記一頁。
兩邊都叫“區塊鏈”,都是一塊接一塊、用雜湊串起來的賬本。同一類東西,為什麼出塊速度差了將近四個數量級?Hyperliquid 是把比特幣的哪一部分換掉了,又留下了哪一部分?快了這麼多,總得有人付出點什麼。
我們就從這兩段區塊開始往下拆。
一、兩條鏈的共同骨架
賬本怎麼做到“大家一致”
先把兩條鏈擺在一起看(圖 1)。比特幣和 Hyperliquid 解決的是同一個問題:很多臺互不信任的機器,各自儲存一份賬本,怎麼保證每一份都一樣?
兩者給出的骨架是相同的。賬本本身不直接同步,大家同步的是交易的順序。每臺機器從同一個初始狀態出發,按同一個順序執行同一串交易,執行規則是確定的,結果就必然相同。電腦科學裡管這個叫“複製狀態機”。交易按批打包成區塊,每一塊都記著上一塊的雜湊,改動歷史上任何一塊,後面所有的雜湊都對不上,所以歷史沒法悄悄篡改。
相同的還有哪些
授權方式相同。 比特幣的交易用 secp256k1 曲線上的私鑰簽名,Hyperliquid 也是同一條曲線,只是簽名格式沿用了以太坊的 EIP-712,所以以太坊錢包的地址可以直接用。誰有私鑰誰就能動這筆錢,交易所本身不保管金鑰。
可驗證性相同。 任何人都能把區塊下載下來自己重放。本文的資料就是這麼來的:Hyperliquid 每一塊裡的每一張掛單、每一次撤單,都可以從公共介面逐條取回來。
狀態機都是專用的。 比特幣的狀態是“哪些幣還沒花”,交易能做的事基本只有轉賬。Hyperliquid 的核心部分 HyperCore 也不是通用的合約虛擬機器,它的狀態是餘額、倉位、保證金和每個幣的訂單簿,交易能做的事就是下單、撤單、改單、轉賬這些交易所動作。這一點後面會變得很重要。
骨架既然一樣,速度的差別就只能出在兩件事上:誰來決定下一塊裡裝什麼、按什麼順序,以及執行這些交易要花多少力氣。先看第一件。比特幣為什麼要等 10 分鐘才排好一次順序?
二、比特幣的排序:工作量證明
難點:陌生人之間怎麼定順序
比特幣的網路是開放的,任何人都能隨時加入、隨時離開,沒有一份“成員名單”。在這種環境下,投票是不可能的:一個人開一千個節點,就有一千票。
中本聰的辦法是按算力投票:誰先算出一個足夠小的區塊雜湊,誰就有權寫下一塊。雜湊算不出捷徑,只能一次次試,這就是“工作量證明”(PoW)。圖 1 裡比特幣的雜湊都以一長串 0 開頭,就是這個“足夠小”的痕跡。難度每 2,016 塊調整一次,讓全網平均 10 分鐘才有人抽中一次3。
為什麼偏偏是 10 分鐘
抽中的人之間沒有任何協調。如果兩個礦池在幾秒內先後挖出了同一高度的塊,網路裡就暫時出現兩條鏈,節點各自跟著先收到的那條走。等下一塊接在其中一條後面,那條更長,另一條上的塊就作廢了(圖 2 左)。
一個新塊傳遍全網要幾秒。出塊間隔必須遠大於傳播時間,分叉才會少;間隔一短,分叉變多,算力白白浪費,攻擊者也更容易用自己的私鏈追上來。所以 10 分鐘不是“機器跑不快”,而是這套抽籤機制的安全引數。
結果:間隔隨機,終局是機率的
圖 2 右邊是 2026-10-22 往前數的 149 個出塊間隔。平均 639 秒,接近 10 分鐘,但中位數只有 377 秒;28 次超過 20 分鐘,最長的一次等了 63 分鐘,也有 14 次不到 1 分鐘。抽籤沒有記憶,下一次什麼時候中,跟上一次隔了多久無關,間隔就呈現這種長尾分佈。甚至有 5 次後一塊的時間戳比前一塊還早,因為協議只要求時間戳大於前 11 塊的中位數,礦工填的時間本來就不精確。
更要緊的是終局性,也就是“這筆交易確認以後,還會不會被撤銷”。在比特幣裡,一個塊永遠可能被一條更長的分叉替換掉,只是機率隨著後面堆的塊數指數下降。習慣上等 6 次確認,大約 1 小時,才把一筆大額轉賬當成板上釘釘。
吞吐也一樣受限。這 150 塊平均每塊 4,553 筆交易,摺合每秒 7.2 筆。拿來轉賬夠用,拿來做交易所是不可能的:一個做市商每秒改幾次報價,就能把整條鏈佔滿。
如果放棄“誰都能隨時加入”這個前提,排序能不能快得多?
三、Hyperliquid 的排序:HyperBFT
換一個前提:一組已知的驗證者
Hyperliquid 不讓任何人都來抽籤寫塊。寫塊和投票的資格屬於驗證者:質押了 HYPE 代幣、在鏈上登記過的節點,投票權按質押量算。2026-10-22 這一刻,活躍的驗證者有 27 個4。防“一人開一千個節點”的辦法從比特幣的算力變成了質押:開再多節點,票數也只跟押上的錢成正比。
成員名單一旦確定,就可以用分散式系統裡研究了幾十年的拜占庭容錯(BFT)共識:只要作惡或失聯的驗證者質押加起來不到 1/3,系統就保證不出錯。
為什麼 2/3 的簽名就能一錘定音
規則只有一條:一個塊要拿到超過 2/3 質押的簽名,才算透過,這些簽名打包在一起叫“法定人數證書”(quorum certificate,簡稱 QC)5。
為什麼這樣就不會出現兩個互相沖突的塊都透過?圖 3 右邊畫了這個論證:籤塊 X 的超過 2/3,籤衝突塊 Y 的也超過 2/3,兩群人必然有超過 1/3 的質押是重疊的。作惡的不到 1/3,所以重疊部分裡一定有誠實的驗證者,而誠實的驗證者不會在同一高度籤兩個不同的塊。於是兩個衝突塊不可能都拿到證書。
這就是 BFT 和比特幣最根本的不同:一塊一旦按規則提交,就是確定的終局,不存在被更長的鏈替換掉的可能,也就不需要“再等 6 塊”。
HotStuff:把投票做成流水線
光有 2/3 規則還不夠快。經典的 BFT 演算法(如 1999 年的 PBFT)每一步都要所有驗證者兩兩互發訊息,節點一多,訊息量按平方增長;而且一個塊要經過幾個階段的投票才算提交,下一塊得等上一塊走完。
HyperBFT 是 HotStuff 的一個變體6。HotStuff 是 2019 年的論文,後來被 Facebook 的 Libra(Diem)區塊鏈採用7。它做了兩件事:
- 投票只發給領導者。 驗證者把簽名發給下一輪的出塊者,由它聚合成一張 QC,訊息量隨驗證者數線性增長。
- 每一輪的提議都帶著上一塊的 QC。 一輪投票同時完成兩件事:給新塊簽名,也把更早的塊往“提交”推進一步。塊和塊像流水線一樣首尾相接,每一輪都出一個塊,不用等前一塊的全部階段走完。
出塊者每輪輪換。我們抓的 399 個連續塊裡出現了 27 個不同的出塊者,正好是全部活躍驗證者,相鄰兩塊幾乎總是換人(圖 3 左)。
實測下來,這 399 個塊的間隔中位數 68 毫秒,平均 72 毫秒,P99 也只有 141 毫秒。從 2025 年 11 月的第 8 億塊算到今天,長期平均每秒 13.4 塊。
代價:寧可停下,也不分叉
BFT 換來了確定的終局,也改變了網路出問題時的表現。比特幣在網路分裂時兩邊都會繼續出塊,事後再按“最長鏈”合併,丟掉一邊;HyperBFT 一旦有超過 1/3 的質押不線上,就湊不齊證書,整條鏈停下來等。它選擇的是一致性,而不是一直可用。為了減少這種情況,Hyperliquid 允許驗證者投票把響應太慢的同伴“關禁閉”(jail),被關的節點不再參加共識5,我們查詢時就有 6 個驗證者處於這個狀態。
排序的問題解決了。可是一個 70 毫秒的塊裡塞得下三千多筆訂單,靠的不只是共識。為什麼不像以太坊上的交易所那樣,把訂單簿寫成一個智慧合約?
四、把訂單簿放進狀態機
現象:鏈上幾乎全是掛單和撤單
先說明幾個交易所的術語。訂單簿是每個幣的一張買賣報價表,買方按價格從高到低排,賣方從低到高排,新來的訂單按“價格優先、同價先到先得”去撮合。往訂單簿裡放一張等別人來成交的限價單叫掛單(maker),拿一張單直接去吃掉對面已有的報價叫吃單(taker)。Hyperliquid 的訂單有幾種時效:GTC 掛到撤為止,能成交的部分立即成交;IOC 能成交多少成交多少,剩下的立刻作廢,就是典型的吃單;ALO(只掛單)如果會立刻成交就直接拒絕,保證自己一定是掛單方。
把 399 個塊裡的 124 萬筆動作按型別數一遍,結果是這樣的:
| 動作 | 含義 | 筆數 | 佔比 |
|---|---|---|---|
| 做市商在維護報價 | |||
| cancelByCloid | 按自己編的訂單號撤單 | 552,831 | 44.5% |
| order · Alo | 只掛單 | 516,693 | 41.6% |
| cancel | 按交易所訂單號撤單 | 123,513 | 9.9% |
| batchModify / modify | 改價改量 | 23,629 | 1.9% |
| 可能立即成交的訂單 | |||
| order · Ioc | 能吃多少吃多少,剩下作廢 | 15,012 | 1.2% |
| order · Gtc / 市價 / 觸發單 | 掛到撤為止、網頁市價單、止盈止損 | 2,345 | 0.2% |
| 其他 | |||
| 其餘 | 空操作、定時撤單、調槓桿、預言機報價、EVM 交易等 | 9,518 | 0.8% |
撤單和只掛單加起來佔 96%。按單筆訂單計;出錯被拒的動作也會上鍊,約佔 0.06%。
這個比例並不奇怪。價格每跳一下,做市商就要撤掉舊報價、掛上新報價,一筆成交背後是幾十次報價更新。一個想做交易所的鏈,首先得扛住的是這股撤單掛單的洪流。
第一次嘗試:訂單簿寫成智慧合約
在以太坊上,最直接的做法是寫一個訂單簿合約。每次掛單、撤單都是一次合約呼叫,要付 gas 費;以太坊 12 秒一塊,一塊的 gas 總量又有限。做市商每秒改幾次報價,光撤單的手續費就能把利潤吃光,報價還總是慢 12 秒。
所以以太坊上的交易所走了兩條別的路:一條是自動做市商(AMM),乾脆不要訂單簿,用一個公式按池子裡的存量報價;另一條是把訂單簿和撮合放到鏈下的伺服器上,只把成交結果拿到鏈上結算。後者快了,可撮合順序由運營方說了算,使用者得信任它沒有插隊。
解決:撮合引擎就是狀態機本身
Hyperliquid 的做法是第三條路:不在通用虛擬機器裡跑訂單簿,而是把訂單簿、保證金、清算直接寫成鏈的狀態機6。這就是第一節說的“專用狀態機”。一個掛單動作不需要被解釋成一串虛擬機器指令、逐條計算 gas,節點直接用原生程式碼改記憶體裡的訂單簿;掛單撤單也不收 gas,手續費只在成交時收。
這和比特幣其實是同一個思路:比特幣也只做一件事(轉賬),所以規則可以寫死、執行可以很輕。Hyperliquid 把“一件事”換成了“交易所”。官方說當前的瓶頸恰恰在執行,約每秒 20 萬單,共識和網路還有餘量。我們實測的那 28.6 秒裡,平均每秒約 4.4 萬筆。
塊內順序:撤單排在吃單前面
狀態機是自己寫的,塊內的執行順序也就可以按交易所的需要來定。Hyperliquid 規定,一個塊裡的動作分三類執行:先執行不發 GTC/IOC 的動作(包括 ALO 掛單),再執行全部撤單,最後才執行發 GTC 或 IOC 的動作;同一類裡保持出塊者排的順序8。
我們在 #1,193,223,611 這一塊裡核對了一下,3,270 筆動作的執行順序和文件完全一致(圖 4 上)。
為什麼要這樣排?設想價格突然往上一跳,做市商趕緊撤掉 81,811 的舊賣單,另一個反應快的交易者也看到了,發了一張 IOC 想搶著買下這張過時的便宜單。如果按到達先後執行,誰的網路快誰贏,做市商就會被“摘單”;Hyperliquid 規定撤單先執行,只要兩張單落在同一塊裡,做市商就安全(圖 4 下)。被摘單的風險小了,做市商才敢把買賣價掛得更近。這是我根據規則推出來的設計動機,文件本身只寫了規則。
對照一下比特幣:塊裡裝哪些交易、按什麼順序,由礦工按手續費率挑,出價高的先上;以太坊上更是演變出了專門搶排序的 MEV 生意。Hyperliquid 把排序的大部分規則寫死在了協議裡,出塊者只剩下同一類動作內部怎麼排的權力。
塊 70 毫秒一個,撮合在狀態機裡直接完成。那我在網頁上下一張市價單,是不是 70 毫秒就能看到成交?
五、出塊時間不等於下單延遲
不是。一張訂單從發出到拿到成交回報,要走完一整條路:客戶端把簽好名的訂單發給 API 伺服器,伺服器轉給驗證者,等下一位出塊者把它放進提議,驗證者投票、證書串起來、塊被提交,節點執行撮合,回報再原路返回。出塊間隔只是其中的一段。
| 口徑 | 數字 | 來源 |
|---|---|---|
| Hyperliquid 出塊間隔 | 中位 68 ms | 本文實測 399 塊,P99 141 ms |
| 下單到確認(同地客戶端) | 中位 0.2 s | 官方文件,P99 0.9 s |
| 市價單下單到成交回報(東京) | 中位 884 ms | Glassnode 2026 年 3 月實測 120 次,其中網路約 5 ms |
| 對照 | ||
| 比特幣出塊間隔 | 平均 639 s | 本文實測 149 個間隔,中位 377 s |
| 比特幣 6 次確認 | 約 1 小時 | 慣例,機率終局 |
Hyperliquid 的塊一旦提交就是終局,所以表裡前三行就是“成交且不可撤銷”所需的時間。
官方文件給的數字是:地理上和驗證者在一起的客戶端,端到端中位 0.2 秒,P99 0.9 秒6。Glassnode 在 2026 年 3 月從 AWS 東京機房發了 120 次真實市價單,中位數是 884 毫秒,其中網路傳輸只佔約 5 毫秒,其餘都在服務端9。兩者差了幾倍,Glassnode 認為是網路規模和訂單量比寫文件時大了很多;具體時間花在哪一段,外部測不出來。
還有一個容易忽略的因素:物理距離。Hyperliquid 的驗證者集中在東京10,在東京機房裡網路只要幾毫秒,從歐洲或美國發單,就要再加上一兩百毫秒的跨洋往返。這也是“快”的一部分代價:快是對離驗證者近的人而言的。
即便如此,和比特幣放在一起,差距仍然是幾個數量級:一邊是不到 1 秒就成交併且不可撤銷,一邊是平均 10 分鐘進第一個塊、1 小時才算穩。
速度的來源都清楚了。最後算一筆賬:和比特幣相比,Hyperliquid 到底放棄了什麼?
六、快的代價
逐項對照
把前面幾節的內容放回一張表裡:
| 比特幣 | Hyperliquid | |
|---|---|---|
| 相同的骨架 | ||
| 賬本模型 | 複製狀態機:按同一順序執行同一串交易,區塊用雜湊串聯 | |
| 授權 | secp256k1 私鑰簽名,自己保管金鑰 | |
| 可驗證 | 任何人都能下載全部區塊自己重放 | |
| 狀態機 | 專用:只做轉賬 | 專用:只做交易所(另有 HyperEVM 旁路) |
| 改掉的部分 | ||
| 誰能寫塊 | 任何人,按算力抽籤 | 27 個活躍驗證者,按質押輪流 |
| 終局 | 機率終局,慣例等 6 塊 | 提交即終局 |
| 出塊間隔(實測) | 中位 377 s | 中位 68 ms |
| 吞吐(實測) | 約 7 筆/秒 | 約 4.4 萬筆/秒 |
| 塊內順序 | 礦工按手續費率挑 | 協議規定:掛單、撤單先於吃單 |
| 手續費 | 每筆交易按位元組付 | 只對成交收費 |
| 付出的代價 | ||
| 網路出問題時 | 繼續出塊,事後按最長鏈合併 | 超過 1/3 質押失聯就停下 |
| 誰能加入 | 無需許可 | 要質押,活躍集合有名額 |
| 節點分佈 | 全球 | 集中在東京 |
| 節點軟體 | 開源,多種實現 | 官方釋出的二進位制,原始碼未公開 |
權力集中在哪裡
去中心化程度最直觀的指標,是寫塊的權力分在多少人手裡。圖 5 把兩邊放在一起:上面是 Hyperliquid 27 個活躍驗證者的質押,下面是比特幣近一週 1,035 個塊由哪些礦池挖出。
兩邊都談不上平均。Hyperliquid 這邊,Hyper Foundation 名下的 5 個驗證者合計 47.1%,單獨就越過了 1/3 的線:它不需要任何人配合就能讓鏈停下,但還到不了 2/3,不能單獨出塊。按質押從大到小,前 3 個(都是基金會的)就超過 1/3,前 8 個超過 2/3。比特幣這邊,前三大礦池近一週挖了 62.6% 的塊。
但集中帶來的權力並不一樣。比特幣的礦池最多能決定裝哪些交易、拒絕哪些交易,或者在掌握過半算力時重寫最近幾塊;它改不了規則,因為每個全節點都會獨立檢查每一塊,違規的塊直接被丟掉,而且礦工隨時可以換礦池。Hyperliquid 的驗證者除了排序,還承擔著交易所的運營職能:喂預言機價格、決定上下架。超過 2/3 的質押簽了什麼,鏈就執行什麼。
2025 年 3 月 26 日的 JELLY 事件就是一個例子。有人在 JELLY 這個小幣上開了大額空單,再撤走保證金,讓平臺的做市金庫 HLP 被動接下這個倉位,隨後幣價被拉高了幾倍。驗證者在幾分鐘內投票下架了 JELLY 永續合約,並按 0.0095 美元而不是當時的市場價結算所有倉位11。這次干預讓金庫免於大額虧損,也讓很多人第一次意識到:這條鏈上的“規則”,在極端情況下是可以由一小群驗證者當場改寫的。這種事在比特幣上不會發生。
另外兩處代價前面已經出現過:驗證者集中在東京,離得遠的人天然慢一截;節點軟體只發布二進位制,外界沒法逐行審計它的執行邏輯。
小結
- Hyperliquid 和比特幣是同一類東西嗎? 骨架相同:複製狀態機、雜湊串聯的區塊、secp256k1 簽名、任何人可以重放驗證,而且兩者的狀態機都是專用的。
- 比特幣為什麼慢? 開放網路裡只能按算力抽籤排序;為了讓分叉少,出塊間隔必須遠大於傳播時間,於是是 10 分鐘,終局只能靠堆確認數,慣例 1 小時。
- Hyperliquid 怎麼排序? 換成一組已知的、按質押投票的驗證者,用 HotStuff 系的 BFT 共識:超過 2/3 質押簽名即出證書,兩個衝突塊不可能同時拿到證書,提交即終局;投票流水線化,實測中位 68 毫秒一塊。
- 為什麼訂單簿能放上鍊? 訂單簿、保證金、清算直接寫成狀態機,掛單撤單不跑虛擬機器、不收 gas;鏈上 96% 的流量是做市商的撤單和掛單,塊內按協議規則先掛單、再撤單、最後吃單。
- 70 毫秒出塊,下單要多久? 完整往返在 0.2 到 0.9 秒,並且取決於你離東京的驗證者有多遠。
- 代價是什麼? 網路出問題時會停而不是分叉,驗證者少且集中,基金會一家超過 1/3 質押,驗證者可以干預市場(JELLY 事件)。比特幣用慢換來了誰都改不了規則,Hyperliquid 用這一點換來了速度。
參考資料
參考資料
-
mempool.space REST APImempool.space ↗取比特幣 #972,474–#972,623 共 150 塊的時間戳和交易數,以及近一週各礦池出塊數(2026-10-22)。https://mempool.space/docs/api/rest ↩
-
Hyperliquid Explorerapp.hyperliquid.xyz ↗本文的區塊資料來自它背後的
https://rpc.hyperliquid.xyz/explorer(blockDetails),2026-10-22 14:20 UTC 前後抓取 #1,193,223,606 起連續 400 塊,以及比特幣 #972,622 和 #972,623 兩個時間戳對應的高度。指令碼和資料在作者的調研目錄裡。https://app.hyperliquid.xyz/explorer ↩ -
Bitcoin: A Peer-to-Peer Electronic Cash Systembitcoin.org ↗第 4 節工作量證明,第 11 節計算攻擊者追上誠實鏈的機率隨確認數指數下降。https://bitcoin.org/bitcoin.pdf ↩
-
Info endpointhyperliquid.gitbook.io ↗
validatorSummaries取驗證者質押(2026-10-22),l2Book取 BTC 盤口。https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint ↩ -
Stakinghyperliquid.gitbook.io ↗quorum 是超過 2/3 質押的驗證者集合;一個 epoch 是 10 萬輪,約 90 分鐘;可投票 jail 慢的驗證者;目前沒有自動 slashing。https://hyperliquid.gitbook.io/hyperliquid-docs/hypercore/staking ↩ ↩2
-
HyperCore Overviewhyperliquid.gitbook.io ↗HyperBFT 是 HotStuff 的變體;同地客戶端端到端延遲中位 0.2 秒、P99 0.9 秒;主網約 20 萬單/秒,瓶頸在執行。https://hyperliquid.gitbook.io/hyperliquid-docs/hypercore/overview ↩ ↩2 ↩3
-
HotStuff: BFT Consensus with Linearity and Responsivenessarxiv.org ↗投票只發給領導者、聚合成證書(QC),每輪提議攜帶上一塊的 QC,三鏈規則提交。https://arxiv.org/abs/1803.05069 ↩
-
Order bookhyperliquid.gitbook.io ↗價格-時間優先;塊內先執行不發 GTC/IOC 的動作,再執行撤單,最後是發 GTC/IOC 的動作,同類內保持出塊者的順序。https://hyperliquid.gitbook.io/hyperliquid-docs/hypercore/order-book ↩
-
Hyperlatency:Fill Latencylatency.glassnode.com ↗2026 年 3 月在 AWS 東京(ap-northeast-1)發 120 次市價單,下單到成交回報中位 884 ms,範圍 695–1,634 ms,其中網路約 5 ms。https://latency.glassnode.com/fill-latency ↩
-
Hyperlatency:Aboutlatency.glassnode.com ↗驗證者集中在東京。https://latency.glassnode.com/about ↩
-
Hyperliquidate IIrekt.news ↗2025-03-26 JELLY 事件:HLP 被動接下大額空單,驗證者投票下架 JELLY 永續並按 0.0095 結算。https://rekt.news/hyperliquidate2 ↩