跳到正文
RandNext
Esc

验证抽奖

根据公开种子和锁定名单重新计算中奖者。所有检查通过,就能确认名单和结果在锁定后没有被修改。

正在加载验证器……

验证器会检查什么

公开算法规定了名单、种子、信标和中奖者的检查方式;每条记录都会注明使用的算法版本。

  1. 规范化名单并固定顺序。
  2. 计算名单的 SHA-256 指纹并与锁定记录比较。
  3. 验证公开种子与锁定时发布的承诺值一致。
  4. 按记录的算法版本、种子、名单指纹和参数重新计算最终种子。
  5. 使用 HMAC-SHA256 和无偏拒绝采样生成随机数。
  6. 通过部分 Fisher–Yates 洗牌按排名选出中奖者。

v2 记录还会检查

  • 计算名单的 SHA-256 指纹并与锁定记录比较。
  • 验证公开种子与锁定时发布的承诺值一致。
  • 按记录的算法版本、种子、名单指纹和参数重新计算最终种子。

v3 多奖项抽奖还会检查

  • 验证公开种子与锁定时发布的承诺值一致。
  • 按记录的算法版本、种子、名单指纹和参数重新计算最终种子。
  • 使用 HMAC-SHA256 和无偏拒绝采样生成随机数。
  • 通过部分 Fisher–Yates 洗牌按排名选出中奖者。

验证通过可证明公开中奖者由锁定名单、承诺种子和公共随机信标共同确定。但它不能证明组织者没有创建多次抽奖,因此还应确认记录是否提前分享。

完整规范、信任模型和 Python 参考脚本 →