由于利益团体因素,目前市面上出现了很多针对FarmEOS随机数的黑文,现Farm团队开示验证方法。
随机数算法10月17日游戏启动时就已公开:
https://github.com/farmeos/farmeos/blob/master/random.cpp
现为方便大家验证,我们从2018年10月21日中午12点增加账本内容,将每笔交易中涉及随机数的参数进行记录:
https://eosflare.io/account/farmeoslogxx
此账本里最后六行参数就是随机数算法中的六个变量。
tapos_prefix即tapos_block_prefix() ←下注两秒后接口的结果,此参数由主网提供
tapos_num即tapos_block_num() ←下注两秒后接口的结果,此参数由主网提供
name即用户名,此参数由用户提供
game_id即游戏ID(每次加1),此参数由规则决定
current_time即时间戳,由用户下注时间决定
pool_amount即当前合约账户剩余额度,此参数由市场决定
通过以上参数,懂技术的朋友即可自行验证结果的一致性,同时由于以上信息项目方均无法控制,且任何一项参数变化,都会导致结果完全不同,杜绝项目方做恶的任何可能性。
随机数依赖的6个参数已经记录在farmeoslogxx中。大家可以通过开源的随机数算法验证所开出来的随机数(运算过程中可能存在int类型溢出,以及类型强转等问题,所以建议通过c++语言验证,同时确保编译版本和eos主网环境一致)
为确保完全公正,Farm团队邀请第三方大神们制作随机数验证器,并提供给普通用户使用,欢迎各位技术大佬参加制作,我们将选择所有开发者给出的最优一项方案并奖励200EOS(如一周内无第三方随机数验证器,FarmEOS团队将会自行提供随机数验证器,烦请各位技术大佬谨慎提供,勿提供错误验证器,避免误导普通用户)。