算法分析- 「EOS Cannon社区联合币乎50000eos砸向你」

「2018.6.1」这个eos主网上线的大日子已经扑面而来了。eos节点竞选预备赛相当火热,最近这些日子各路节点纷纷路演,直播,宣传团队,用一句话就是-来吧持有者们选我们就对了。其中EOS cannon团队在上周四也发布了一个重磅活动-以抽奖方式空投50000eos给支持者。用他们的话说,是为了更多人认识了解eos,为整个生态发展做贡献。真的都好高尚啊,但着实为团队宣传的同时,又一次给eos攒了一波热度。他们同时选择了最强大区块链信仰者的聚集地-币乎来发布活动。以下是其在币乎社区的活动原文:

https://m.bihu.com/article/402867?from=singlemessage&isappinstalled=0

其实无论你最终是否会投票给EOS cannon节点,都可以参加此次抽奖空投活动。团队公布的他们社区800+大户,人均持币量10万+。直接拿出5万+eos来回馈支持者,诚意还是足的。有趣的是,为了体现公开公平,团队并没有采用一般的奖券随机摇号方法,而是-

「用比特币的区块哈希值和参与者的奖券号计算的随机值做排序,决定名次和eos空投数量」:

算法分析- 「EOS Cannon社区联合币乎50000eos砸向你」_第1张图片
图片发自App

活动页面也贴出了抽奖算法的原代码,由于最近我正好在学习Python语言,就去亲自验证了一把。

https://github.com/bihu-id/bihu-tools/blob/master/bihu-airdrop-tool.py

如活动所述,整个算法的第一步是基于北京时间5.25号中午12点之后比特币区块链上挖出的第一个区块哈希值为基础。而这个值是全世界人民都可以验证的,每个区块都用一个唯一长长的十六进制的字符串进行了编号,准确地说叫区块哈希,是根据交易信息计算的。任何一个比特币区块信息都是公开可以在http://blockchain.info上查到的,比如比特币区块469629信息:https://blockchain.info/zh-cn/block-height/469629

这个开头就很完美。

现在将这串届时大家都能查到的哈希值作为共同的lucky_num。再结合每个人手里拿到的奖券号码lottery_id,这个id是随机函数派发的,就是传统抽奖时的券号,这是我的:

算法分析- 「EOS Cannon社区联合币乎50000eos砸向你」_第2张图片
图片发自App

算法将每个人的奖券号码lottery_id和比特币的区块哈希值lucky_num,按哈希加密算法sha256做运算,得到一个随机值。

算法分析- 「EOS Cannon社区联合币乎50000eos砸向你」_第3张图片
图片发自App

这个随机值每个奖券对应一个,最后算法会调用Python系统排序函数对这些随机数按从大到小排序,最大号即为第一名,就是那个最后可以拿到5000个eos的家伙。依次类推。

算法中暂时设置的参与人数为10万,这个参数会根据最终实际人数做修改。目前多少人参与未知,但截止今天中午,该活动文在币乎点赞数目如下,和steemit一样,币乎是基于区块链的分布式内容分发平台,币乎文的点赞不是单纯的点赞,估计来了就踩了,参与此次空投的人估计也都踩了吧。

算法分析- 「EOS Cannon社区联合币乎50000eos砸向你」_第4张图片
图片发自App

如果最终有5万人(挺保守的说)参与抽奖,那么,你的地址得到5000个eos空投的概率为0.002%,即十万分之二。得到1000个eos的概率为0.01%,即万分之一。

洗洗睡吧。

你可能感兴趣的:(算法分析- 「EOS Cannon社区联合币乎50000eos砸向你」)