【发布时间】:2018-02-07 06:00:26
【问题描述】:
我正在构建一个每周一进行赠品的项目。共有三个奖品,基本奖、“幸运”奖和头奖奖。基本奖在 70% 的时间里发放,幸运奖在 25% 的时间里发放,头奖奖在最后 5% 的时间里发放。
每个星期一都有多人获得奖品。赠品中的每个人都至少获得基本奖品。
现在我只是在本地计算机上生成一个随机数,然后将奖品分配给每个参与者。这行得通,但参与者必须相信我没有操纵赠品。
我想通过使用区块链作为随机数生成器来改进这个赠品。问题是我不知道如何在技术上做到这一点。
这是我开始弄清楚如何做到这一点:创建赠品时,区块高度被定义为随机性的来源。每个参与者都有一个用户 ID。当找到特定的块号时,将块哈希连接到用户ID,然后进行哈希处理。然后,生成的哈希值会在赠品中定义的赔率中“排列”。
我想不通的部分是如何进行“测距”。我认为它可能涉及模运算符,但我不确定。如果生成的哈希值落在 5% 的范围内,那么该用户将获得头奖。如果哈希值落在 70% 的范围内,那么他就得到了基本奖,等等。
【问题讨论】:
标签: python probability blockchain