微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有没有办法生成可公开观察的随机数?

我有一个网站,根据虚拟骰子卷给用户不同的结果.我希望他们相信我的随机数字是诚实的,所以我不想用自己的代码(我的怀疑用户是我可以操纵的黑盒子)来确定它,而是想出一些其他的机制.

一个想法是指向具有随时间变化的可公开观察的随机数的可信网站(例如政府).然后我可以说,“我们将把你的结果作为0到9之间的数字,这将是10秒内的[url]的数字.

有什么建议么?

解决方法

我自己去 this site它有一个公共匿名URL的几种数字和实时页面来观察他们:

十六进制数字

>编号:https://qrng.anu.edu.au/ran_hex.php
流:https://qrng.anu.edu.au/RainHex.php

二进制数

>编号:https://qrng.anu.edu.au/ran_bin.php
流:https://qrng.anu.edu.au/RainBin.php

它还包括scientific explanation of the source of randomness的引用,以及它的实际示范,甚至一个specifically for dice.

您可以从您的代码获取上述号码URL.

替代方法,如果可验证性很重要

一种完全替代的方法:当最后期限落后时,检索外部受控的高流量交互式站点的主页,例如Stack Overflow的questions page.存储页面,使用MD5或SHA1哈希,并从中导出滚动条.

你可以:

>在快照时显示页面,以验证其工作的HTML
>它的HTML源码充满了时间戳,以验证几乎第二个的真实性和检索时间
>让人们根据这些验证自己的哈希
>保证值的随机性,因为在数学上无法预测您需要在像SO这样的站点上进行更改以触发给定的新哈希值

任何企图篡改这个系统的尝试,例如Jeff因为知道它生成的MD5哈希而重新定义一个页面,很容易被该网站的实时性质所破坏 – 这是所有人都可以看到的问题,最近到快照的时候.

原文地址:https://www.jb51.cc/html/224502.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐