Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

PoH 与 Tower BFT

Solana 把时间从投票里拆出去:Proof of History 是可验证的顺序时钟,Tower BFT 是叠在时钟上的投票锁定。PoH 不决定分叉赢家,也不是 PoS 通论 意义上的资源证明。领导者日程由质押权重生成。

PoH

领导者对前一个输出做 SHA-256,形成哈希链:

\[ x_{i+1} = \mathrm{SHA256}(x_i) \]

交易(或条目哈希)在指定计数处嵌入链中,成为该事件的顺序证明。生成必须串行;验证可把链切成片段并行重放——这与 Wesolowski 等「证明短、验证快」的 VDF 不同。PoH 常被叫成 VDF,实现上是可分段校验的迭代哈希。

数据单位:

单位含义
tick固定次数哈希,充当时钟刻度
entry一组交易 + 嵌入时的 PoH 计数
shredentry 纠删编码后的网络分片
slot一名领导者的出块窗口,含多个 tick

验证者按质押抽签得到领导者日程。当前领导者在自己的 slot 内推进 PoH、打包 entry、广播 shred。下一领导者必须从上一 slot 的 PoH 输出接着写,否则哈希链对不上。

Tower BFT

投票对象是某个 PoH 高度上的区块(或该 slot 的银行哈希)。每张票附带 lockout:该票在后续 \(2^{k}\) 个 slot 内不可对冲突分支再投,\(k\) 为该验证者在此分叉上连续投票次数。连续投票使 lockout 指数增长,回滚要等锁定过期或放弃对应质押收益。

  • 乐观确认:观察到足够多验证者把票打在某块及其后代上。
  • rooted / finalized:lockout 已深到协议认为回滚不经济(实现里用 rooted slot 表示)。

这不是 PBFT 的 quorum 相交提交:没有「\(2f+1\) 张匹配 commit 则不可逆」的证书。安全性来自质押 + 指数锁定,重组在 lockout 未到期时仍可能发生,成本随深度上升。

与分叉选择的关系

PoH 给出全序候选;网络分区或领导者掉线会产生分叉。验证者在分叉上按 Tower 规则投票,选锁定代价更一致的那条。领导者跳过(skip)会在 PoH 上留下空洞,下一领导者从超时后的计数继续。

故障模式:领导者硬件要能持续串行哈希并播 shred,阈值高于普通 PoS 节点。日程内的单点领导者影响活性,不单独破坏已 rooted 的历史。

对照

PoH + TowerGasperCometBFT
时钟哈希链slot 壁钟height / 超时
投票指数 lockoutattestation + FFG+2/3 prevote/precommit
最终性rooted,经济上难回滚2 epoch 经济最终单块确定
出块单领导者 slot单提议者 slot轮转提议者