大家好,今天我们一起探讨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]| 步…