随着 $ZERO 新高,其fork也如雨后春笋,今天看了一下这个Avalanche上的 $ZERO “改进版” - Nullity $NULL



核心概念:

1. 纯链上计算的随机数
2. 区块"暴击"
3. 更好的通用标准

首先这个链上随机数怎么实现的?

$ZERO 随机数公布了一个相对公平的算法,但实际上还是链下计算的。 $NULL 开奖的随机数使用的是未来区块的数据,但不是在当前区块内计算随机数来开奖。

它使用了一个称之为 FutureHash Lottery 的算法,使用第3个区块的哈希和第4个区块的难度数据进行随机数计算,然后在第5个区块开奖。因为没有人能预测未来还没有产生的区块数据,所以这个纯链上的随机数纯度还是挺高的。

简单来理解就是你在星期一买了一张彩票,然后在星期五开奖。

什么是区块"暴击"

另外一个有趣的机制是Lucky Ticket,与 $ZERO 不同的是每个区块内奖券数量不是固定的1,而是随机出奖券的数量1-6,一个区块最多能出6张ticket。

那么假设当前区块内的奖券数量为最大6:

如果当前区块中只有1个人参与,则他就会包揽所有奖池,花1份mint的钱,买6个奖券,中奖率600%,如果是2个人参与,那每个人的中奖率大概就是300%.... 这就是一个区块内的参与人数越少,越容易发生“暴击”

💥



这个设定对散户比较友好,在测试网刚开始的一段时间,经常有人打出100%以上的中奖率,也就是说你没有脚本,手中的资金也很少的情况下,随便点几下可能出现超额回报。

另外对于协议扩展性来说,这种完全链上计算的方法通用型更强,也更适合标准化并无需可地使用。