拯救DApp聊聊BOS随机数方案www.hp5868.com


时间: 2019-10-08

  竞猜类游戏一直占据EOS DApp游戏的大部分江山,不论是参与人数还是流水量都是十分可观,数据可以参考如下两张图。

  从DAppTotal提供的数据来看,30天日活账户数量在11万,交易金额在5百万美金,虽然是全网数据统计,但从DApp分类上面可以看到,基于随机逻辑的竞猜类DApp绝对是主流。在这繁荣的背后,其实暗流涌动。

  从区块链安全团队SlowMist提供的数据统计来看,EOS DApp 共有超过1千万的攻击损失,从这部分攻击方式来看其中很大一部分都是DApp的随机数方案有缺陷或者不合理。“随机数”这么一个看似简单的功能,为啥EOS迟迟没有给出方案?应该如何拯救这些DApp?

  对于随机数而言,不同的场景对随机数、随机程度和来源有不同的要求,基本的有以下3点要求:

  先来说说方案1,这种方法直接违背公平原则,用户输赢直接掐在游戏项目方手里,让你输就输,让赢你就赢,对玩家来说毫无公正性和可信性。

  对于方案2,在EOSIO链上数据,有两个常见哈希值,一个是 transaction_id ,这是对当前执行的这个 transaction 数据进行哈希运算得到的哈希值,知道了当前执行的操作数据,就掌握了这个哈希值,所以几乎没有DApp开发者使用。另一个是整个区块的 block_id,这是对区块头做哈希运算。区块头里包含 action_merkle 和 trx_merkle,所以需要知道一个块里的所有交易的详情才能生成这个哈希值,难度就大多了,所以很多开发者都用未来区块的 block_id 作为开奖随机数。

  常言道:没有做不到,只有想不到。这个方案最近在 EOSPlay 里也被攻破了,而且方法相当暴力,对技术要求也比较高。攻击者直接拉高CPU价格,让一个块里只出现他的操作,这样就控制了块里所有的交易,从而可以直接控制 block_id,事件详情可以参考《慢雾预警:EOS DApp EOSPlay 遭遇新型随机数攻击》(原文链接见文末)。

  再看方案3,这种方案更早就被破解了,基本上是各种附加随机内容被控制造成的。可以参考下《智能合约攻击方式汇总》(原文链接见文末)。

  • 用户生成随机数,记为 user_rand,www.hp5868.com!将其发送给项目方服务器(断绝用户作弊可能);

  • 项目方将 host_rand 发送给用户,此时用户可以验证之前收到的 hash(host_rand) 确实是由该host_rand 生成的(断绝项目方作弊可能);

  该方案同时利用项目方和用户生成的随机数,哪一方都无法控制最终结果,且全程公开透明,可验证。是符合公平、公开、安全原则的。但这个方案实现起来成本高,操作复杂需要多次交互,用户要确认方可。而且对于普通用户来说,科普成本很高。

  众里寻他千百度以后,到底有没有一个十分安全并且易用的链上随机数方案?耐心找寻以后,发现了这一EOS历史悠久的问题,已经被BOS解决了,实现方式简单安全。BOS是基于EOSIO项目具有3秒共识以及首个原生支持去中心化IBC的DPoS公链,技术十分厉害。其他不表,直接看下BOS是怎样解决随机数这一难题的。

  • F:将block_timestamp按照0.5向下取整,降低BP调整时间戳来进行投机概率。

  基于BOS的随机数方案,可以让一部分数据从客户端生成,这样一个随机数的生成包含了项目方、BP、玩家三方,安全度十分高,对上面提到的攻击方法都免疫,使用也很方便。满足公平、公开、不可预测的原则,推荐在游戏中作为随机数来源使用。

  从BOS提供的“更安全随机数方案”(原文链接见文末)来看,十分契合“更可用的链 , 为DApp而生”这一主旨。

  安全的随机数来源对区块链上的游戏至关重要,希望项目方能使用合理的生成方案,给用户们带来优秀的游戏,让用户们玩的放心,玩的开心。后续也会持续关注BOS带来的其他“落地”特性。

 
 
 

               
    友情链接:
    红楼梦中特网,777762.com,高手论坛,诸葛亮高手论坛,天机神算高手论坛,香港天堂鸟高手论坛,123香港高手论坛,广东鹰坛高手论坛图库。
香港挂牌之全篇管家婆| 正版挂牌| 香港最快开奖结果直播| www.508118.com| 2233红姐图库| 今天晚上开马结果| www.64757.com| 香港王中王挂牌| 牛魔王心水论坛彩图| www.38789.com| 香港挂牌之完整篇| www.11838.com|