Hashgraph 是什么?哈希图共识如何靠 gossip 与虚拟投票达成最终性 图 1
Hashgraph 是什么?哈希图共识如何靠 gossip 与虚拟投票达成最终性 · 图 1

结论先说

Hashgraph 不是某一种新代币,也不是一条 Layer2,而是一套不靠挖矿出块的共识算法:节点之间把交易像聊天一样互相转发,再用“对八卦的八卦”把谁在什么时候告诉过谁完整记录下来,各节点最后在本地算出同一份交易顺序。承载这套机制的 Hedera 网络采用许可验证节点的公共网络模式。它主打的属性是 aBFT——异步拜占庭容错,核心承诺是:只要恶意方掌握的控制权少于三分之一的共识投票权,交易顺序就会以百分之百的概率达成最终性,且不需要对网络延迟做任何时间假设。这与工作量证明那种“多等几个区块”的概率式确认是两种完全不同的安全叙事,机制细节可以对照BFT 是什么?拜占庭容错的原理

从闲聊到哈希图:对八卦的八卦

gossip 协议很像人群里的传闻传播:节点 Alice 随机挑一个节点 Bob,把自己知道的全部信息告诉他,Bob 再随机挑别人继续讲,信息会指数级扩散。哈希图的做法更进一步——不只聊交易,还聊“我们刚才聊过什么”。两个节点每次同步完,各自创建一个带签名的“事件”:里面有时间戳、若干笔交易、两个父哈希(一个指向自己上一个事件,一个指向对方最后一个事件)。所有事件的父子关系叠起来,构成的不是链,而是一张有向无环图——记录整个网络通信史的哈希图。每个节点都保存一份本地副本;这些副本某一瞬间可能稍有先后差异,但官方文档强调它们永远彼此一致:只要两个节点都包含某个事件,它们看到的那份祖先集合必然完全相同。

节点间 gossip 同步形成的事件图

虚拟投票:不发一张选票也能计票

大家手里有同一张图,还差一步:对交易的先后达成统一顺序。哈希图里没有任何选票通过网络发送,每个节点都能从图的结构本身推导出“Alice 遇到这个问题会怎么投”,这就是虚拟投票。流程分三步:先划分轮次——当某个新事件能通过祖先路径“强看到”当前轮超过三分之二的见证事件时,它成为新一轮的见证;再判定名声——下一轮见证能否看到某个见证,等价于对它投了赞成或反对票,超过三分之二投票权的未来见证确认后才算定论;最后求顺序——为每个事件算出第一次被该轮全部著名见证看到的“接收轮次”,再取相关事件时间戳的中位数作为共识时间戳,按轮次、时间、签名依次排序。不发选票消息的好处不只是省带宽:即便真实的 Bob 作弊,他也无法让 Alice 电脑里的“虚拟 Bob”替他去投一张错误的票。

aBFT 意味着什么,不意味着什么

普通语境里“快”和“安全”经常被混为一谈,aBFT 的边界需要单独说清。它的成立条件写得很具体:攻击者控制少于三分之一的共识投票权;同时它对网络时效不做任何假设,只要求诚实节点反复发送的消息最终有一条送达。在这两个前提下,最终性一到,顺序就不会再被回滚,不存在“后面区块变多所以更稳”的说法。这与出块概率式确认的挖矿模型形成直接对照,后者在PoS 质押是什么?权益证明原理与风险一类条目里常用来比较。但 aBFT 不承诺的东西同样重要:它不阻止三分之一以上的节点离线时网络停摆;不意味着任何人都能立刻成为验证者——Hedera 的节点准入由治理安排决定,这一点与无需许可的公链不同;它也不保证智能合约层没有漏洞。

普通用户看什么

把哈希图网络与其他链做比较时,普通用户能观察到的差异主要有三处。其一,交易获得的是“中位数共识时间戳”,排序依据是大多数节点收到交易的时间,而不是出块者恰好捡起的顺序,这是官方材料中公平性说法的来源。其二,手续费结构与 gas 竞价市场不同,官方口径是相对可预测,具体数字会随网络参数调整,以官方文档为准。其三,共识确认通常很快,但快的原因是 gossip 轮次推进,而不是“多等几个块”。需要警惕的误区有两个:别把 DAG 结构理解成不需要等待就能安全,交易仍要走完 fame 判定才算最终;别把 aBFT 说成绝对安全——它是一条条件句,条件(三分之一阈值、节点准入安排)本身才是值得核对的对象。

小结

哈希图把拜占庭协议问题翻译成图传播加本地计算:对八卦的八卦让每个节点持有同一份通信历史,虚拟投票让每个节点无需通信就能算出所有其他人的选票,aBFT 为“少于三分之一恶意控制权”条件下的永久定序提供数学保证。评估这类机制时建议查三件事:安全参数算的是质押还是节点数、谁能参与验证、最终性是概率式还是确定性。本文为机制说明,依据官方文档整理,不构成投资建议。