好奇一个事,博彩网站上的那些随机数生成机制是什么

2018-11-29 11:13:15 +08:00
 guhuaiyu
5582 次点击
所在节点    Java
20 条回复
F1024
2018-11-29 11:19:31 +08:00
菠菜网有随机数?活久见
SeaRecluse
2018-11-29 11:19:35 +08:00
张口就来,正则枚举
php01
2018-11-29 11:19:57 +08:00
1.大家都是人,有趋利避害的天性,所以追求公平与安全,可以推导出没人愿意相信一个没有公信力的开奖结果
2.事实上也是如此,大多数的菠菜项目的开奖结果,都是以一个公众能方便查询到的,且有公信力的,且与本菠菜平台没有利益相关的事物。例如私菜大多数是以福菜的开奖结果为结果,还有一些是以 QQ 的在线人数统计为开奖结果。
3.最重要的一点是共识,大家相信的且无异议的开奖,才是正常的,不然没人敢去玩。比如线下,那叫眼见为实,亲眼所见就在面前,线上,全世界人民都能查到某一期的某一次开奖,都没有差别。
ipoh
2018-11-29 11:23:05 +08:00
比特币的最新区块 hash
zpxshl
2018-11-29 12:42:08 +08:00
@php01 但是那些在线纸牌游戏呢。。。
Cbdy
2018-11-29 12:49:14 +08:00
可以考虑用当前的上证指数、纳斯达克指数
yang3121099
2018-11-29 12:54:33 +08:00
@Cbdy 还有一些网站参考美元汇率,比特币汇率什么的
imn1
2018-11-29 13:05:23 +08:00
性感荷官在后面掷色子决定的
slimhigh
2018-11-29 13:28:46 +08:00
生成*真*随机数是很困难的一件事情。一般各种语言里面提供的 `random()` 函数都是生成的伪随机数。`random()`的底层实现实际上是一个数学公式,例如,这个公式接收一系列初始值,然后根据这个初始值就可以生成一个数列,每次`random()`函数获取的随机数,不过是取这个数列中的一项。伪随机数的安全关键点在于,初始值的选择,一旦别人猜出你的初始值,就可以知道你后面要生成的所有伪随机数。
有很多人初始化随机数种子喜欢使用当前时间戳,但是要注意使用这种方式生成的随机数不能用于安全相关的场景,例如用它来生成每期的中奖号码。黑客可以根据的使用的编程语言,知晓伪随机数的公式,然后根据你大概的执行时间,来尝试初始化这个公式,根据历史号码对比,得出你使用的初始化时间戳,从而获得以后的中奖号码。
为了使伪随机数不可预测,选择合适的初始化参数至关重要,初始化参数要不可预测,也就是说要*真*随机。一般来说安全的方式是使用`/dev/random`( Linux 系统)设备产生的随机字节数据。`/dev/random`中的数据来源于计算机硬件设备的环境噪声,例如放大电路的热噪声,因此`/dev/random`中的数据非常非常难以预测,接近于*真*随机数,各种编程语言中大部分涉及加密的函数库,初始化参数都会用到`/dev/random`的数据。
不过`/dev/random`在虚拟机环境下可能不是十分安全,例如在 AWS、阿里云这种云平台场景下,所有的虚拟机设备都是虚拟化出来的,导致`/dev/random`的数据可能会被猜测出来。这中情况下需要考虑别的*真*随机数生成方式,例如专门的随机数生成硬件设备,或者使用像 random.org 这样的服务,random.org 的随机数据来自于地球的大气噪声。
widdy
2018-11-29 13:40:45 +08:00
不都是用户和平台各自生成一个种子,然后将种子 hash 发送给对方,最后双方拿种子开奖的么。
lsido
2018-11-29 13:41:37 +08:00
所以你是说系统彩随机开号吗?
还能什么机制,就是你想的那种最简单的
php01
2018-11-29 15:19:30 +08:00
@zpxshl 目前的在线棋牌类游戏,也都是房卡游戏了,也就是说,是自己几个熟人之间去玩,相当于约好一起去麻将馆打牌,只是这个麻将馆是在线上。
jasonyang9
2018-11-29 15:29:04 +08:00
@slimhigh #9 rndg 服务就是做这个事情的,Hardware RNG Entropy Gatherer Daemon
guhuaiyu
2018-11-29 15:33:33 +08:00
guhuaiyu
2018-11-29 15:34:43 +08:00
@F1024 我是说类似那种分分彩,一分钟开一期,五个数字,好奇这组数据是怎么来的
guhuaiyu
2018-11-29 15:36:02 +08:00
@imn1 有种分分彩,一分钟开一期,性感荷官摇得过来吗
F1024
2018-11-29 15:53:21 +08:00
@guhuaiyu
这个一般是用的地方彩的数据
不是网站自己发明的彩票 这样的话别人不会去玩的
petelin
2018-11-29 17:22:01 +08:00
可以这么解决, 用户上传一个种子, 然后菠菜拿一个私钥和一个数据(比如时间戳)对着个种子加密之后用一定的算法的出来一个数. 用户可以用公钥去验证这个数是不是这么开出来的.
区块链还是有价值的
phpcxy
2018-11-29 17:39:55 +08:00
在线纸牌发牌的随机算法呢?
ranleng
2018-11-29 20:17:04 +08:00
我记得原来有个菠菜网是给出算法,
每天给出两个种子, 第二天给出前一天的第三个种子,
然后用户可以按照算法+三个种子 推算所有游戏的结果,

感觉没什么漏洞,

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

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

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

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

© 2021 V2EX