希望通过第三方随机数提供网站 random.org 得到有公信力的随机数,而且可回查。比如某一时间请求 get 到一个随机数 x,其“序号”是 n,之后可以通过 n 查询到相对应的随机数是 x,以证明其公正性。
不知道这种方式是否可行,请用过的大佬指点:
不知道这是不是正确的使用姿势,求教。
1
alvin666 2019-05-06 00:42:03 +08:00 via Android
第一个需求可以用一些库来实现,不知道你用的什么语言,python 的 random 库能指定随机数种子,生成相同的随机数
|
2
alvin666 2019-05-06 00:43:17 +08:00 via Android
但是这个网站用的是“ atmospheric noise ”,显然不能做到你的需求
|
3
mango88 2019-05-06 00:53:00 +08:00
应该可行,
用当前大气噪声得到随机时间,再用随机时间时的大气噪声用来生成随机数列是`真正的随机数`了, |
4
Kagari 2019-05-06 00:58:14 +08:00
|
5
geelaw 2019-05-06 01:26:42 +08:00 via iPhone
使用受信任第三方进行投硬币是从理论上令人不满意的,存在着一个高效的多方计算协议可以产生近乎公平的随机数。
|
6
acehow 2019-05-06 06:57:58 +08:00 via Android
证明公平性很简单,把随机调用部分代码公开为一个 web 服务,生成随机数时记录种子和结果同步记录到 web 上就可以了。只要算法保证了公平公开,真随机还是伪随机并不是关键,也没必要调 random.org
|
9
cy97cool 2019-05-06 12:29:05 +08:00 via Android
就算你公开调用 random.org 的序号 n
如果想做手脚,你完全可以多调用几次直到输出符合你的要求 只公开这个 n |
11
sen2 OP @cy97cool 对,所以需要一个固定的点,比如说时间点,每分钟的 00''的随机数。但是在这个网站没有找到可以 by time 查询的,最多就是按日期。
|
13
GeruzoniAnsasu 2019-05-06 13:39:28 +08:00 via Android
随机数可回查是想干啥。。。真随机数又不是用来做零知识证明的
确保一个数是公认随机的数,只需参与各方各提供一个随机数即可 |
14
Kagari 2019-05-06 15:24:33 +08:00
@sen2 #10 看起来你也不一定要真随机数,但是要求输入时间戳不可预知未来结果,这样就不能选择基于时间生成随机数的方法
这样看来你写个 api 调用 random.org 的 api 咯,然后再把调用的结果和时间戳返回并公布在网站上,这样根据时间戳就能查询历史结果。公正性的话把轮子做大做广公正性就出来了 |
15
sen2 OP @Kagari 明白你意思,但是把返回的结果和时间戳公布在自己的网站上并没有可信度,而且时间戳与结果并不唯一绑定,这个网站也没有提供 by time 的 API。
|
16
sen2 OP @GeruzoniAnsasu 理论上是对的。
|
17
zhaishunqi 2019-05-10 16:56:49 +08:00
股指很随机,哈哈
|
18
sen2 OP @zhaishunqi 哈哈
|