我有一个网站,根据虚拟骰子滚动为用户提供不同的结果。我希望他们相信我的随机数字是诚实的,所以不是我在我自己的代码中确定它(我怀疑的用户是我可以操作的黑盒子),我想提出一些其他的机制。
一个想法是指向一些可信的网站(例如政府),其具有随时间变化的公开可观察的随机数。然后我可以说,“我们将你的结果基于0到9之间的数字,这将是10秒内[url]的数字。”
有什么建议吗?
答案 0 :(得分:4)
我自己去this site。它有几种数字的公共匿名URL,以及观察它们的实时页面:
它还包括对scientific explanation of the source of randomness的引用及其实际演示,甚至包括specifically for dice。
您可以从代码中检索上述数字网址。
一种完全替代的方法:当截止日期落下时,检索外部控制的高流量交互式网站的主页,例如Stack Overflow的questions page。存储页面,获取其MD5或SHA1哈希值,并从中派生出滚动。
然后你可以:
任何篡改此系统的企图,例如Jeff故意重复旧页面,因为他知道它产生的MD5哈希,很容易被网站的实时性质揭穿 - 每个人都可以看到快照时问题不是最近的问题。