验证者选择
每一轮出块,系统需要从所有活跃验证者中选出一位来负责打包区块。这个选择过程需要兼顾公平性(随机)和激励相容(质押越多越有机会)。
加权随机抽签
最常见的方式是加权随机抽签:将所有验证者的质押金额作为权重,在总质押量构成的"线段"上随机投一个点,点落在谁的区间,谁就被选中。
总质押:8000
Alice [0 ─────── 3200] 占 40%
Bob [3200 ──── 5000] 占 22.5%
Charlie[5000 ──────── 7500] 占 31.25%
Dave [7500 ─ 8000] 占 6.25%
随机数 = 4500 → 落在 Bob 区间 → Bob 出块
结果的随机性
每次抽签结果是随机的,即使质押最少的 Dave 也有机会被选中。从长期来看,每位验证者的实际出块比例会趋近于其质押权重比例。
VRF 可验证随机函数
真实系统(如 Ethereum)使用**可验证随机函数(VRF)**来生成随机数,确保:
- 结果不可预测(防止提前知道下一个出块者后发动攻击)
- 结果可被所有人验证(防止作弊)
在演示中体验
在验证者演示页面,你可以:
- 多次触发"选择验证者",观察选中结果的分布
- 对比各验证者的质押权重与实际出块次数
- 直观感受权重如何影响长期出块频率