开场白

我最近了解到了小升初摇号的事情
我对摇号的方式很感兴趣
我便构思了一个摇号算法
一个好的摇号算法应满足:
1.人为不可控制
2.事后公开可查

下面是我构思的算法

1 制定标准

由教育局发布一个摇号标准文件,公开给大众
此文件需包含"构造随机种子"的方法、随机数算法等信息

2 构造随机种子

我们要选一个完全无法预测、无法控制、但事后又公开可查的事件,事件最好每年不变
可以选择一个区块链
每年特定时间一个区块的哈希摘要
我选择的是比特币区块链
比如2020年摇号选择的是
2020.7.5 中午12:00的区块
2021摇号则选择的是
2021.7.5 中午12:00的区块

3 每个学校对参与本学校摇号的人进行编码

按照报名的人的身份证号大小进行编号
作为摇号过程中的编号使用

4 生成随机数

用选取的随机种子进行随机数生成
随机数范围在学校报名人数内
生成的个数范围在预计招生人数内

与官方流程对比

我的流程的好处在于:

  1. 初始种子不可作假
    并且满足无法预测、无法控制、但事后又公开可查的特性

所以这一步就堵死了

  1. 公开了摇号过程中使用的种子、随机算法
    所有人都可以复现此过程,验证真伪
  2. 并不需要像官方流程一样录像,因为摇号结果本身就是一个录像

作假

那作假到底可不可能呢?
理论是可能的,但现实中几乎不可能
我们要操控一个区块首先要比别人算的快
所以,算力要>=全网算力的51%
这样才有可能算过别人
目前全网算力约为100EHz
以神马矿机M30S++112T
其算力为112THz
需要这样的928571台,先不说有没有供货
按市价61600元/台
也就是572 0000 0000元
显然不可能
更何况这只是为了抢先一步算出区块
还没提到控制种子,达到让某人摇中的目的呢!
如果比特币不被认可
选择其他区块链时
需要注意
共识机制必须是工作量证明的(PoW)[注8]区块链

后记

我的计算过程没有经过专业论证
可能有很多不对的地方
欢迎大家指正!

Last modification:July 8, 2022
大哥给点钱吧~ヽ(・ω・´メ)(微信 支付宝 QQ都是一个码哦~