中本聪骰子
具体的玩法和原理都可以参考文末的那篇文章。
该游戏能很好的证明公平性的原因有两点
- 1seed提前上链,公平性有目共睹,无人可更改。
- 2 随机幸运数字因人而异(在seed的基础上引入了txid)
- 3上链采用的是写入op return字段,实现方式可以参考omni的create raw tx函数:
- https://github.com/OmniLayer/omnicore/wiki/Use-the-raw-transaction-API-to-create-a-Simple-Send-transaction
梅森算法
根据随机种子参数随机数的算法采用的是梅森算法,同时梅森旋转算法是R、Python、Ruby、IDL、Free Pascal、PHP、Maple、Matlab、GNU多重精度运算库和GSL的默认伪随机数产生器
random库
Basic examples:
>>> random() # Random float: 0.0 <= x < 1.0
0.37444887175646646
>>> uniform(2.5, 10.0) # Random float: 2.5 <= x < 10.0
3.1800146073117523
>>> expovariate(1 / 5) # Interval between arrivals averaging 5 seconds
5.148957571865031
>>> randrange(10) # Integer from 0 to 9 inclusive
7
>>> randrange(0, 101, 2) # Even integer from 0 to 100 inclusive
26
>>> choice(['win', 'lose', 'draw']) # Single random element from a sequence
'draw'
>>> deck = 'ace two three four'.split()
>>> shuffle(deck) # Shuffle a list
>>> deck
['four', 'two', 'ace', 'three']
>>> sample([10, 20, 30, 40, 50], k=4) # Four samples without replacement
[40, 10, 50, 30]
random的几种真值分布
文章索引
1 图文详解Bch赌博游戏SatoshiDice公平性证明
2 谈谈梅森旋转:算法及其爆破
3 Generate pseudo-random numbers
4 你真的用好了Python的random模块吗
5 泊松分布和指数分布
网友评论