雪球算法
雪球(Snowball) 是 Avalanche 协议的核心共识子协议,通过信心值的累积实现快速收敛。
信心值机制
每个节点维护两个状态:
- 当前偏好:目前倾向选 A 还是 B
- 连续信心计数:连续多少轮采样都支持当前偏好
初始:偏好 = A,信心 = 0
第1轮:采样20个节点,16个说A → 信心 = 1
第2轮:采样20个节点,17个说A → 信心 = 2
第3轮:采样20个节点,8个说A,12个说B → 偏好变为B,信心 = 0
第4轮:采样20个节点,15个说B → 信心 = 1
...
第20轮:信心 = 20 → 最终确定选 B
收敛的数学保证
雪球算法的关键性质:一旦某个选项在网络中占据多数(超过阈值 α),它的信心值就会单调递增,最终在所有诚实节点中收敛。
少数派节点会因为每次采样都得到多数派的回复,逐渐改变自己的偏好,加入多数阵营。
概率最终性
与 BFT 的确定性最终性不同,Avalanche 提供概率最终性:信心值达到 β 后,被推翻的概率极低,但在理论上不为零。实际中 β = 20 时,这个概率已经低到可以忽略不计。
在演示中体验
在雪球演示页面,你可以:
- 观察所有节点的初始偏好分布(红/蓝)
- 启动收敛,看节点如何通过采样逐渐趋向同一选择
- 调整参数,感受不同配置对收敛速度的影响