区块链研究实验室 | 以太坊RNG(随机数生成器)解决方案(RANDAO & VDF)( 三 )

此外有几个附加条件:

1.    第一阶段若收集到数笔一样的secret , 只接受第一笔;

2.  第一阶段会规定基本人数 , 若结束后未到达人数门坎 , 则此次的产生就失败;

3.    若第二阶段需提供s;
3.1 若未提供 , 则质押的ETH会被没收;
3.2 若此阶段有一个以上参与着未提供s , 则此次产生失败 , 并且把没收的 ETH分给有提供s的参与者 。 且退还请求者所支付的ETH;

VDF

VDF全名为Verifiable delay functions , 从字面上有点难懂在干嘛 , 从运作方面做解释 , 就是输入一个值 , 然后运算一段时间(delay) , 得出一个结果 , 最后这个结果是可以被轻易验证的 。 如下列算式 ,

f(x) =g(g(g(g(….g(x)….))))
where g(x) = xor(x^((p+1)/4) 1) mod p 其反函数为
h(x) = xor(x 1)2 mod p

上面提到「运算一段时间」的运算 , 其实是重复做同一种运算 , 从数学式看就很清楚 , 把x带入g(x) , 然后把算出的结果再带入g(x) 。 所以同一段时间 , 如果能迭代的次数比其他人多 , 那其他人就猜不到结果 , 也就没办法预测随机数结果 。

推荐阅读