1
niseter 2013-12-28 16:28:09 +08:00
电脑都是随机数表,你要完全随机不如扔硬币
|
3
hzlzh 2013-12-28 16:30:28 +08:00
反证法:如果你做出来了这个服务叫A,我不需要去刷新A找到适合的值,我只需要Hack掉A所在的主机服务器,然后篡改随机数即可,所以公信力不足。
思路:做随机数服务还是应该去中心化,比如用 比特币 的思路,每个人都能取到数据,公信力自然就不用说了。 |
4
faceair 2013-12-28 16:31:35 +08:00 1
比特币系统每隔10分钟会产生一个新的block,同时产生一组比特币,这个过程类似彩票开奖,同时会产生一个Blockhash值,这个值可以类比于彩票的中奖号码,想提前猜中这个值几乎不可能。
查询网址:https://blockchain.info/ via:http://www.zhihu.com/question/22298502 |
5
hzlzh 2013-12-28 16:35:00 +08:00
补充一下,也就是说我不信任 random.org 这样的服务,建议看一下楼上提到的那个知乎的问题,比特币的不可篡改性
|
6
horsley OP @hzlzh 有道理,我想到的是通过简单的办法。
例如描述的第一种,开源,大家使用相同的随机源,相同的代码能够得到相同的值,即便你黑掉A,其他镜像可以随时建立起来,并且能够得出相同的值 但是如果你要黑掉随机源……那还真没办法的感觉,只能找一个强壮的源例如google并且假定能被黑掉的概率足够小 |
7
hzlzh 2013-12-28 16:39:45 +08:00
@horsley 当利益大到一定的程度的时候,你能确保 Google 的某个员工不会动一下时间戳什么的?
比如很多人把截图发到 新浪微博 或者 百度贴吧 去证明上传时间,因为他们信任这些服务。 但是贴吧里那么多预言贴谁能保证不是 管理员修改时间戳来炒作呢? |
10
horsley OP @hzlzh 如果要求1分钟的生成周期呢,比特币了解一些,刚才也看了下blockchan上面的hash,生成时间好像不是10min稳定值。双色球的话一周三次周期太长了
|
11
hzlzh 2013-12-28 16:57:56 +08:00
|
12
Sunyanzi 2013-12-28 17:05:41 +08:00
@horsley 其实我觉得在电子领域的随机没有那么复杂 ... 你甚至可以直接取当前时间戳的 hash ...
这类似于一个伪随机数列 ... 虽然每一个结果都是固定的 ... 但你无法决定结果是什么 ... 如果这样还是让你觉得不安心 ... 那么我们可以加上类似随机种子的机制 ... 比如用比特币的 hash 拼上时间戳再取 hash ... 保证下一个十分钟会产生的值无法被预知 ... |
13
jacy 2013-12-28 17:41:37 +08:00
可以自己建个算法脚本,用rar打包,提前上传就可以了,让大家下载,但是设置密码,开奖时公布密码,大家可以查看脚本。
|
16
est 2013-12-28 18:26:58 +08:00 4
搞那么复杂干嘛。不如抢楼层。
|
17
panlilu 2013-12-28 19:22:23 +08:00 via iPhone
比特币block的hash是个好主意
|
18
scg16 2013-12-28 19:33:42 +08:00
抢指定楼层、抢某时某秒第一个回复的楼层。
|
21
Hyperion 2013-12-28 22:09:16 +08:00
其实重点不是block的hash, 是P2P啊……
|
22
icanc 2013-12-28 22:10:50 +08:00
收集所有用户回复合并成文本,并公开,保证所有用户都能在文本里找到自己的回复, 利用文本做散列,再用该散列做随机数种子。
|
23
icanc 2013-12-28 22:12:42 +08:00
不用做随机数种子,散列本身就能做随机数了。
|
25
yangff 2013-12-28 23:33:17 +08:00
某支股票的收盘价格。
别提64.89了好么, |
29
likuku 2013-12-29 00:51:58 +08:00
|
32
tywtyw2002 2013-12-29 08:45:48 +08:00
彩票的某一期 然后hash一下呗。
|
33
Lone 2013-12-29 14:47:50 +08:00
股市收盘指数,A股H股美股伦敦东京等等,甚至石油价格也可以
|
34
loading 2013-12-29 15:16:07 +08:00 via iPhone
用北京mp2.5某时某刻指数,最时髦。当然要指定数据提供商
|