Algorand(VRF 抽签 + BA*)
Algorand(2017)用 VRF 每轮从质押者中随机抽出提议者与委员会,委员会内跑 BA*(两阶段投票 + 门限签名)达成即时最终。抗女巫仍是质押(见 PoS 通论),但与固定验证者集合的 BFT 不同:每轮的参与者是时变的随机子集。
抽签
- 每轮种子来自上一轮最后一批投票的 VRF 输出,难以提前预知。
- 每个验证者本地计算 \(\mathrm{VRF}_{sk}(\text{round})\),结果低于阈值即中签,概率与质押权重成正比(子单位抽签精确加权),见 VRF。
- 中签者先于所有人知道结果:提案权和投票权在揭示前不可预测,攻击者无法事先锁定“这轮要打谁“。
BA*
- 抽出的提议者广播块;委员会成员对块或空投第一轮票。
- 若块获得足够多第一轮票,进入确认路径;否则委员会重新抽一轮,对最高票块继续。
- 投票用门限签名聚合,验票与传递是常数级。
最终性:诚实质押 \(\ge 2/3\) 时单轮完成(概率极高);失败则重抽重投,不引入视图切换。与 HotStuff 的差别:没有固定领导者与超时推进,靠抽签的不可预测性换 liveness。
安全模型
- 拜占庭节点不知道自己在哪些轮次的委员会中,攻击窗口不可预知;对特定轮次的蓄谋需要同时控制当轮委员会的门限。
- 消息不面向全网传播证明(无 block 传播延迟假设),一轮即终,不存在 PoW 的按确认深度概率化窗口。
- 代价:每轮签名验证多(委员会投票多但聚合),需要 BLS 类聚合签名把验票成本降下来。
对照
| Algorand | Gasper | HotStuff | |
|---|---|---|---|
| 参与者 | 每轮 VRF 随机子集 | 全体质押者 attestation | 固定验证者集合 |
| 随机源 | VRF | RANDAO | 无(轮转) |
| 最终性 | 一轮内概率确定 | 约 2 epoch | 单块 / k-chain 确定 |
| 视图切换 | 无(重抽) | epoch 推进 | 最高 QC / TC |
与 Avalanche Snow 的差别:Algorand 的投票集合是随机委员会 + 门限聚合,Snow 是任意抽样不聚合。