关于 random.org 的使用

2019-05-06 00:40:02 +08:00
 sen2

希望通过第三方随机数提供网站 random.org 得到有公信力的随机数,而且可回查。比如某一时间请求 get 到一个随机数 x,其“序号”是 n,之后可以通过 n 查询到相对应的随机数是 x,以证明其公正性。

不知道这种方式是否可行,请用过的大佬指点:

  1. random.org 提供 Random Calendar Date Generator,可以返回一个随机的日期 rd。
  2. 再在获取某种随机数时用 Advanced Mode,以 rd 为日期参数,这样就可以返回一个对应的随机数,以证明公正性。

不知道这是不是正确的使用姿势,求教。

4030 次点击
所在节点    程序员
18 条回复
alvin666
2019-05-06 00:42:03 +08:00
第一个需求可以用一些库来实现,不知道你用的什么语言,python 的 random 库能指定随机数种子,生成相同的随机数
alvin666
2019-05-06 00:43:17 +08:00
但是这个网站用的是“ atmospheric noise ”,显然不能做到你的需求
mango88
2019-05-06 00:53:00 +08:00
应该可行,
用当前大气噪声得到随机时间,再用随机时间时的大气噪声用来生成随机数列是`真正的随机数`了,
Kagari
2019-05-06 00:58:14 +08:00
geelaw
2019-05-06 01:26:42 +08:00
使用受信任第三方进行投硬币是从理论上令人不满意的,存在着一个高效的多方计算协议可以产生近乎公平的随机数。
acehow
2019-05-06 06:57:58 +08:00
证明公平性很简单,把随机调用部分代码公开为一个 web 服务,生成随机数时记录种子和结果同步记录到 web 上就可以了。只要算法保证了公平公开,真随机还是伪随机并不是关键,也没必要调 random.org
sen2
2019-05-06 11:58:37 +08:00
@alvin666 需要有公正性,所以才用第三方。
sen2
2019-05-06 12:09:38 +08:00
@mango88 可行是可行的,但是回头想想,无法证明第 1 步得到的随机日期就是第三方给的。
cy97cool
2019-05-06 12:29:05 +08:00
就算你公开调用 random.org 的序号 n
如果想做手脚,你完全可以多调用几次直到输出符合你的要求 只公开这个 n
sen2
2019-05-06 12:31:54 +08:00
@Kagari 我只想要随机数,而且可根据时间回查的。
sen2
2019-05-06 12:38:45 +08:00
@cy97cool 对,所以需要一个固定的点,比如说时间点,每分钟的 00''的随机数。但是在这个网站没有找到可以 by time 查询的,最多就是按日期。
sen2
2019-05-06 12:45:40 +08:00
@acehow 要的是公正性,如果这样的话这个网站的作者就没有必要瞎忙活这么多年。
GeruzoniAnsasu
2019-05-06 13:39:28 +08:00
随机数可回查是想干啥。。。真随机数又不是用来做零知识证明的


确保一个数是公认随机的数,只需参与各方各提供一个随机数即可
Kagari
2019-05-06 15:24:33 +08:00
@sen2 #10 看起来你也不一定要真随机数,但是要求输入时间戳不可预知未来结果,这样就不能选择基于时间生成随机数的方法
这样看来你写个 api 调用 random.org 的 api 咯,然后再把调用的结果和时间戳返回并公布在网站上,这样根据时间戳就能查询历史结果。公正性的话把轮子做大做广公正性就出来了
sen2
2019-05-06 15:32:56 +08:00
@Kagari 明白你意思,但是把返回的结果和时间戳公布在自己的网站上并没有可信度,而且时间戳与结果并不唯一绑定,这个网站也没有提供 by time 的 API。
sen2
2019-05-06 15:36:50 +08:00
@GeruzoniAnsasu 理论上是对的。
zhaishunqi
2019-05-10 16:56:49 +08:00
股指很随机,哈哈
sen2
2019-05-10 17:40:49 +08:00
@zhaishunqi 哈哈

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/561299

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX