为何需要随机数发生器

随机数彩票、盲盒抽奖等众多dApp均需要链上随机数。
而由于链上数据公开透明,而使用新区块的属性作为随机数容易被矿工操作的原因,实现链上随机数一直是相对困难的问题。

已有的方案

RanDAO:通过让多个EOA外部账户Commit提交随机Hash熵并质押资金,在之后的过程中进行Reveal揭露并将大家的数据整合的方式来生成最终随机数。
使用该方式的除了RanDAO还有一些骰子游戏如EOS Dice等。

RanDAO的问题在于:需要多人参与,等待周期长,而且以太坊费用高,并且除了产生随机数没有其他额外用途。

纳什协议的链上随机数发生器

而在纳什协议中,将随机数发生器作为附带的作用功能,充分发掘纳什协议在博弈过程中的额外价值。 并且可以通过Loopss绑定地址信用,建立可信的随机数渠道。

链上不存在真正的随机熵,所有状态公开透明,软件上是决定论的【拉普拉斯妖】,在硬件层面又由于逻辑与数值运算通过多台分布式的物理机运行多次运行验证,不同于单机运行的情况,从而存在物理层的芯片电路的随机性从硬件层面进入软件层面的可能。
随机熵只能通过两种方式进入系统

①挖矿生成的coinbase交易

通过延迟验证的随机数来进行链上抽奖:例如通过之后某个高度的区块hash作为随机数来进行抽奖。

②EOA外部账户发送到链上的message

纳什协议本身基于RanDAO的Commit-Reveal机制,获取的熵源均来自链外。
尤其是,预言机创建时提交的策略加密hash,本身是由【链下随机熵+策略的数据】经过散列生成的随机hash,可以直接作为链上随机数被其他协议调用。