Hyperliquid:揭秘高性能區塊鏈共識引擎HyperBFT

大家好,今天我們一起探討Hyperliquid這個高性能區塊鏈項目以及它背后的共識引擎。Hyperliquid能在擁擠的去中心化交易賽道(DEX)中脫穎而出,很大程度上要歸功于其高效的共識機制——HyperBFT。

為了徹底搞懂HyperBFT,我們必須先了解它的“靈感來源”——HotStuff算法。今天,我們就來一場深度解析,從HotStuff的核心原理講起,再看看Hyperliquid如何“魔改”它,打造出屬于自己的性能怪獸。
在這里插入圖片描述

引言:為什么高性能DEX需要一個“猛獸級”共識?

在去中心化金融(DeFi)的世界里,去中心化交易所(DEX)長期以來都在努力追趕中心化交易所(CEX)的速度和用戶體驗。 傳統的DEX常常受限于底層區塊鏈的性能,面臨著交易速度慢、Gas費用高和流動性分散等問題。

Hyperliquid的目標就是打破這個僵局,它希望提供CEX級別的交易速度和深度,同時保留DEX的去中心化和資產自托管特性。 為了實現這個目標,它不能依賴現有的通用型區塊鏈,而是選擇自建一條專為高頻交易設計的Layer-1區塊鏈。 這條鏈的心臟,就是其定制化的共識算法——HyperBFT。

HyperBFT讓Hyperliquid實現了驚人的性能指標:平均0.2秒的區塊確認時間高達20萬筆/秒的訂單處理能力。 這樣的性能足以讓專業交易員無縫遷移他們的自動化策略。

那么,這一切是如何實現的?讓我們從HotStuff開始說起。

HotStuff:簡潔高效的BFT共識新星

在HyperBFT出現之前,拜占庭容錯(BFT)共識算法已經發展了幾十年。BFT的目標是解決分布式系統中的信任問題:即使網絡中存在少數惡意或故障節點(拜占庭節點),整個系統依然能夠對交易順序和狀態達成一致。

然而,經典的BFT算法如PBFT,雖然安全,但在“領導者(Leader)”切換時(即“視圖切換”),流程非常復雜和低效,這會直接影響區塊鏈的出塊速度和穩定性。

HotStuff的出現,就是為了解決這個問題。它由VMware的研究團隊提出,并因其簡潔和高效的設計,迅速成為許多高性能區塊鏈項目(包括Facebook曾經的Diem項目)的基礎。

HotStuff的核心創新

HotStuff最大的創新在于它簡化了視圖切換機制,并將其與常規的區塊確認流程融為一體。 這使得換領導者不再是一個昂貴的“意外事件”,而是一個常規、高效的操作。

它主要通過以下幾個關鍵設計實現:

  1. 三階段確認(Three-Phase Commit):相較于傳統PBFT的兩階段確認,HotStuff增加了一個階段,分別是準備(Prepare)預提交(Pre-Commit)提交(Commit)。 聽起來步驟變多了,但正是這個設計,讓HotStuff的節點通信模式變得異常簡潔和線性。

  2. 鏈式結構(Chained HotStuff):HotStuff將區塊組織成一個鏈式結構。每個新區塊都包含了對其父區塊的“法定票數證明”(Quorum Certificate, QC)。這個QC實際上是上一個區塊經過足夠多驗證者簽名確認的證據。這種設計使得驗證過程可以像流水線一樣高效進行。

  3. 線性視圖切換(Linear View Change):這是HotStuff的“殺手锏”。在HotStuff中,領導者輪換非常簡單。當一個領導者完成出塊后,下一個領導者可以直接基于前一個區塊的QC開始提議新區塊。整個過程無需復雜的協調和消息廣播,像接力賽一樣順暢,因此被稱為“線性”的。

HotStuff工作流程建模

為了更直觀地理解,我們可以用UML來描述一個簡化的HotStuff工作流程。在這個模型中,領導者(Leader)向驗證者(Replica)提議一個新區塊,并經歷三階段確認。
在這里插入圖片描述

這個簡化的模型展示了HotStuff如何通過有序的投票和廣播,一步步將區塊推向最終確認。

HyperBFT:為速度而生的“魔改版”HotStuff

了解了HotStuff的基礎,我們再來看HyperBFT就清晰多了。Hyperliquid的官方文檔和相關資料都明確指出,HyperBFT是HotStuff的一個變種(variant)或深受其啟發(heavily inspired)。 它繼承了HotStuff的核心優點,并針對Hyperliquid的特定場景——低延遲交易——進行了深度優化。

HyperBFT的優化之道

雖然Hyperliquid沒有公布HyperBFT的全部技術細節,但根據其性能表現和公開信息,我們可以推斷出它的優化方向:

  1. 為低延遲而生:HyperBFT的首要目標是優化端到端的延遲。 這意味著從用戶下單到交易被最終確認的整個過程必須極快。這可能涉及到對網絡通信協議棧的定制、減少共識過程中的消息往返次數,以及采用更激進的流水線處理技術。

  2. 共享狀態,統一共識:Hyperliquid的系統包含兩個主要部分:一個是核心的訂單簿和撮合引擎(HyperCore),另一個是通用的以太坊虛擬機(HyperEVM)。HyperBFT為這兩個不同的執行環境提供統一的共識,確保了整個生態系統狀態的一致性。

  3. 拜占庭容錯保障:與HotStuff一樣,HyperBFT能夠容忍最多1/3的惡意驗證者,這是BFT類共識算法的標準安全配置,確保了網絡的安全和穩定。

  4. 快速的領導者輪換:HyperBFT很可能沿用了HotStuff高效的領導者輪換機制。 在高頻交易場景下,任何由領導者故障引起的停頓都是不可接受的。快速、無縫的領導者切換是保障系統持續可用性的關鍵。

實用建議:我們能從中學到什么?

對于開發者和系統架構師來說,Hyperliquid和HyperBFT的成功實踐提供了寶貴的經驗:

  • 沒有一招鮮的解決方案:通用的共識算法(如PoW或一些標準的PoS)雖然成熟,但可能無法滿足特定應用場景的極端性能需求。針對場景進行定制和優化是通往高性能的必經之路。
  • 簡潔性就是生產力:HotStuff之所以被廣泛采用,很大程度上得益于其設計的簡潔性。 簡單的協議不僅更容易實現和驗證,也為后續的優化留下了更多空間。
  • 延遲是關鍵性能指標:在很多交互式應用(如交易所、游戲)中,端到端的延遲比單純的TPS(每秒交易數)更能影響用戶體驗。設計系統時,應將延遲作為一個核心優化目標。

結論

總的來說,Hyperliquid通過采用并優化HotStuff共識算法,成功打造了一個兼具去中心化特性和中心化交易所性能的平臺。

  • HotStuff通過其創新的三階段確認線性視圖切換機制,為構建高性能BFT系統提供了一個簡潔而強大的基礎。
  • HyperBFT則是HotStuff在低延遲交易這個特定領域的“特化版本”,它將HotStuff的理論優勢轉化為Hyperliquid驚人的交易速度和響應能力,最終為用戶帶來了極致的交易體驗。

學習HyperBFT和HotStuff,不僅能讓我們理解Hyperliquid成功的技術內幕,更能啟發我們在設計自己的分布式系統時,如何根據實際需求,選擇和優化最適合的共識算法。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/91786.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/91786.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/91786.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

大模型開發框架LangChain之構建知識庫

1.前言 為了避免 llm正確的廢話和幻覺,知識庫可以說是現在開發 agent的必備了。同時,作為 rag中的 r,知識庫召回的成功率會極大的影響 llm的最終回復效果。一般,會把知識庫召回的內容作為背景知識給到 llm,并在 prompt…

NPM打包時,報reason: getaddrinfo ENOTFOUND registry.nlark.com

先說解決方法:將 package-lock.json 文件中的 registry.nlark.com 改為 registry.npmmirror.com現象:npm ERR! code ENOTFOUND npm ERR! syscall getaddrinfo npm ERR! errno ENOTFOUND npm ERR! network request to https://registry.nlark.com/url-too…

python內置庫os與sys的區別是什么?分別能實現什么功能?

Python 的 os 和 sys 是兩個功能截然不同但都非常重要的內置庫,它們分別服務于不同的交互場景:前者專注于與操作系統交互,后者專注于與 Python 解釋器本身交互。以下是詳細解析: 一、os 庫:操作系統交互接口 os 庫&…

【云計算】云主機的親和性策略(一):快樂旅行團

《云主機的親和性策略》系列,共包含以下文章: 1?? 云主機的親和性策略(一):快樂旅行團2?? 云主機的親和性策略(二):集群節點組3?? 云主機的親和性策略(三&#xf…

USRP捕獲手機/路由器數據傳輸信號波形(下)

目錄: USRP捕獲手機/路由器數據傳輸信號波形(上) USRP捕獲手機/路由器數據傳輸信號波形(中) USRP捕獲手機/路由器數據傳輸信號波形(下) 四、路由器MIMO-OFDM系統 本文深入分析采集手機與路由…

位運算在權限授權中的應用及Vue3實踐

在現代前端應用中,權限管理是一個至關重要的功能模塊。隨著應用復雜度的提示功能,權限細粒度越來越精細,如何高效地管理和判斷權限成為前端開發的一大挑戰。位運算作為一種高效的運算方式,在權限管理領域有著獨特的優勢。本文將詳…

面試實戰,問題二十二,Java JDK 17 有哪些新特性,怎么回答

Java JDK 17 新特性面試回答指南 作為一名Java開發者,了解JDK 17的新特性是面試中的關鍵點。JDK 17(Java SE 17)于2021年9月發布,是一個長期支持(LTS)版本,引入了多項改進以提升開發效率、安全性…

【MySQL安全】什么是SQL注入,怎么避免這種攻擊:前端防護、后端orm框架、數據庫白名單

基本概念SQL注入是OWASP Top 10安全風險之一,它利用了應用程序對用戶輸入數據的不當處理。當應用程序直接將用戶輸入拼接到SQL查詢中而沒有進行適當的過濾或轉義時,就可能發生SQL注入攻擊。攻擊原理假設有一個登錄表單的SQL查詢:SELECT * FRO…

pyqt5顯示任務欄菜單并隱藏主窗口,環境pyqt5+vscode

環境 pyqt5vscode 環境搭建見 https://blog.csdn.net/huiaifen/article/details/125175261 新建一個QMainWindow 1 在VSCode的資源管理器中,右鍵選擇 PYQT:New Form,打開Qt Designer2 在打開的窗口中選 “Main Window”,然后選“創建”3 直接…

SpringBoot項目數據脫敏(自定義注解)

文章目錄前言一.配置1.脫敏類型枚舉:DesensitizeType2.注解:Desensitize3.序列化類:DesensitizeJsonSerializer4.工具類:DesensitizeUtil二、測試:DesensitizeTest三、效果展示總結前言 在互聯網應用中,用戶…

PSO-TCN-BiLSTM-MATT粒子群優化算法優化時間卷積神經網絡-雙向長短期記憶神經網絡融合多頭注意力機制多特征分類預測/故障診斷Matlab實現

基本介紹 1.Matlab實現PSO-TCN-BiLSTM-MATT粒子群算法優化時間卷積神經網絡-雙向長短期記憶神經網絡融合多頭注意力機制多特征分類預測,PSO-TCN-BiLSTM-Multihead-Attention; 多頭自注意力層 (Multihead-Self-Attention):Multihead-Self-Atte…

第一篇:Linux 運維入門:虛擬機部署與基礎環境配置

目錄 一、準備工作與環境規劃 二、虛擬機網絡配置 1、虛擬網絡編輯器設置 2、系統網絡配置 3、主機名配置 三、Hosts 文件與 SSH 免密配置 配置 hosts 文件編輯/etc/hosts文件實現主機名解析: 分發 hosts 文件到其他節點 SSH 免密登錄配置在 zhangsan101 上…

(一)全棧(react配置/https支持/useState多組件傳遞/表單提交/React Query/axois封裝/Router)

文章目錄 項目地址 一、基礎配置 1.1 支持https 1. 安裝所需要的包 2. 配置 1.2 常用 1. 字符串拼接 二、組件 2.1 useState組件傳遞 1. App里初始化useState 2. useState和方法的傳遞 3. 接收傳遞來的狀態和方法 2.2 表單提交 1. 表單組件處理用戶輸入數據 2. App傳來的submit…

【abc417】E - A Path in A Dictionary

Problem StatementYou are given a simple connected undirected graph G with N vertices and M edges. The vertices of G are numbered vertex 1, vertex 2, …, vertex N, and the i-th (1≤i≤M) edge connects vertices Ui? and Vi?.Find the lexicographically smalle…

linux火焰圖

火焰圖簡介火焰圖是一種性能分析的可視化工具,它將CPU的調用棧(Call Stack)信息以矩形火焰的形式展現出來。Y軸:代表調用棧的深度(函數A調用了函數B,B就疊在A上面)。X軸:代表CPU的抽…

解剖 .NET 經典:從 Component 到 BackgroundWorker

1?? 背景與定位在 .NET Framework 2.0 時代,微軟引入了 BackgroundWorker 來解決 WinForm/WPF 場景下“耗時操作阻塞 UI 線程”的問題;而 Component 早在 1.0 就已存在,是所有可視化/非可視化設計器的“基類”。理解這兩者的源碼與機制&…

桌面端界面設計 |貨物 TMS 系統 - SaaS UI UX 設計:審美積累之境

在物流數字化的浪潮中,貨物 TMS 系統的 SaaS 化與 UI/UX 設計正構建著獨特的審美坐標系。這不僅是技術與功能的融合,更是一場關于效率美學的深度探索,為行業審美積累注入了鮮活的實踐樣本。SaaS 模式賦予貨物 TMS 系統輕盈而強大的特質&#…

多架構鏡像整合全攻略:在Docker中實現單一鏡像支持同時支持amd64和arm64架構

多架構支持的挑戰 :隨著異構計算(如 ARM、x86、RISC-V 等)的普及,開發者需要為不同硬件平臺提供對應的鏡像,傳統方式需維護多個版本(如 image:v1-amd64 和 image:v1-arm64 ),導致版本…

Linux730 tr:-d /-s;sort:-r,-n,-R,-o,-t,-k,-u;bash;cut:-d,-c;tee -a;uniq -c -i

回顧 sort sort [選項] 文件-u:唯一,去除重復 -r:按數字大小,倒序排序,大到小 -o:輸出文件 -n:按數字大小,順序排序,小到大 -t: -t后加分割符,按分割符為標準,進行篩選 -k:k后加數字…

力扣457:環形數組是否存在循環

力扣457:環形數組是否存在循環題目思路代碼題目 存在一個不含 0 的 環形 數組 nums ,每個 nums[i] 都表示位于下標 i 的角色應該向前或向后移動的下標個數: 如果 nums[i] 是正數,向前(下標遞增方向)移動 |nums[i]| 步…