验证者选择

每一轮出块,系统需要从所有活跃验证者中选出一位来负责打包区块。这个选择过程需要兼顾公平性(随机)和激励相容(质押越多越有机会)。

加权随机抽签

最常见的方式是加权随机抽签:将所有验证者的质押金额作为权重,在总质押量构成的"线段"上随机投一个点,点落在谁的区间,谁就被选中。

总质押: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)**来生成随机数,确保:

  • 结果不可预测(防止提前知道下一个出块者后发动攻击)
  • 结果可被所有人验证(防止作弊)

在演示中体验

在验证者演示页面,你可以:

  • 多次触发"选择验证者",观察选中结果的分布
  • 对比各验证者的质押权重与实际出块次数
  • 直观感受权重如何影响长期出块频率