首页 > 区块链 > 关键词 > EOS最新资讯 > 正文

拯救DApp,聊聊BOS随机数方案

2019-09-27 14:57 · 稿源:链内参公众号

区块链3

声明:本文来自于微信公众号链内参(ID:lianneican),作者:技术范儿,授权站长之家转载发布。

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

活跃用户

交易金额

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

EOS DApp被黑损失总金额,数据来源 slowmist

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

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

1. 公平,不能由游戏方直接控制结果;

2. 公开,需要让用户了解随机数的来源规则;

3. 不可预测,一旦可预测攻击者就能盗取游戏资产,损害其他玩家利益。

当前常见的EOS随机数有几种方案:

1. 直接由游戏方的后端服务器生成随机数,对游戏开奖;

2. 使用未来区块的数据(如block_id);

3. 使用未来区块的数据加其他随机来源,如账户id等。

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

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

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

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

有一个理论上可信的“中本聪骰子”方案生成随机数,具体过程如下:

• 项目方服务器生成随机数,记为 host_rand. 对其进行哈希运算,记为 hash(host_rand),将hash(host_rand) 发送给用户;

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

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

• 项目方将 hash(host_rand +user_rand) 作为随机数使用;

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

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

BOS的随机数生成方式:

• BP_Sign_Key : 使用BP私钥签名,避免他人进行投机计算。

• Fblock_timestamp按照0. 5 向下取整,降低BP调整时间戳来进行投机概率。

• global_action_sequence: 全局action自增标识,防止 INLINE_ACTION 攻击。

它的使用也很简单,可以直接在合约的中调用,例如:

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

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

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

本文提到的文章原文如下:

《慢雾预警:EOS DApp EOSPlay 遭遇新型随机数攻击》

(http://www.btc126.com/view/51547.html)

《智能合约攻击方式汇总》

(https://www.tuoniaox.com/news/p-274286.html)

《BOS更安全随机数方案》

(https://github.com/boscore/Documentation/blob/master/BOSCoreTechnicalWhitePaper_zh.md#%E6%9B%B4%E5%AE%89%E5%85%A8%E9%9A%8F%E6%9C%BA%E6%95%B0%E6%96%B9%E6%A1%88)

  • 相关推荐
  • 大家在看
  • 极光:8月新兴车企智能汽车app DAU榜单, Tesla登顶

    极光(Aurora Mobile, NASDAQ:JG)发布《 2020 年中国智能汽车行业研究报告》,从智能汽车行业概述、智能汽车app整体运营情况、智能汽车厂商案例分析、智能汽车app发展趋势等方面洞察 2020 年中国智能汽车行业。极光观点:1. 今年 8 月,智能汽车app用户月活规模达636. 49 万,同比增长76.6%;2.8 月新兴车企智能汽车app DAU榜单, Tesla登顶;3. 今年 8 月,蔚来app MAU规模达 20 万,小鹏汽车app MAU突破 10 万,理想汽车app MAU达4

  • DataPipeline助力吉利集团实时数据采集同步平台建设

    9月20日,吉利集团和DataPipeline公司共同宣布,DataPipeline协助吉利集团搭建的集团化实时数据采集同步平台正式投入使用。该项目的实施对于推动吉利集团实现企业数字化转型、数据规范化和集约化管理、增强其持久核心竞争力具有重要意义。1986年诞生的吉利集团,经过34年的发展,确立了其中国品牌汽车领袖的市场地位,进入全球汽车行业第一阵营。2019年,吉利集团旗下各品牌在全球累计销售汽车超217.8万辆,市占率从6.2%提升至6.5%,全年营

  • 佳能EOS C70发布:首款RF卡口4K摄影机

    9月24日,佳能宣布推出数字电影摄影机新品——EOS C70,预计2020年11月销售,售价暂未公布。它是佳能首款采用RF卡口的CINEMA EOS数字电影机,同时也是EOS R系统中首款采用Super 35m

  • 美食视频平台日日煮DayDayCook筹备赴港上市

    据IPO早知道消息,美食短视频日日煮DayDayCook近期正与投行密切接触,筹备赴港上市。

  • iPadAir4和iPadPro买哪个 iPadAir4购买建议

    苹果在9月16日发布了新一代的iPad Air4平板电脑,这一次的iPad Air4对比上一代提升巨大,除了外观上采用了iPad Pro一样的全面屏设计外,还首发了5nm技术的A14芯片,各方面性能都直追苹果高端的iPad Pro,那么这两款的平板要选择比较好呢。

  • iPadAir4什么时候上市 iPadAir4上市时间介绍

    苹果iPad Air4是今年发布的一款全新iPad,采用了全面屏的外观设计,和iPad Pro十分相似,同时还拥有多个彩色的配色,外观颜值很高。因此这款iPad Air4就获得了很多用户的关注,想要知道iPad Air4什么时候上市发售,这里我们来看下iPad Air4具体的上市时间。

  • iPadAir4值得买吗 iPadAir4和iPadPro怎么选

    苹果的iPad Air4一经发布之后就获得了大量用户的关注,首先这款机型采用了全面屏设计,首发A14芯片,还支持第二代的Apple Pencile和妙控键盘,除了部分配置外,几乎和iPad Pro没有太大区别,那么在选购iPad Air4和iPad Pro2020时,怎么选比较好呢,我们来看下具体的购买推荐。

  • 原神taptap预约奖励领取教程 taptap预约奖励怎么领取

    原神中不少玩家都是在taptap上预约了这款游戏,但是一些小伙伴还不清楚其中taptap的预约奖励到底怎么领取,下面就来为大家详细的介绍一下攻略。

  • 进来算算你 Prime Day 2020 亏了多少钱?

    亚马逊的财务核算非常重要,不会算、算错、算漏都有可能自己亏了都不知道!真不是大卖卖瞎说,因为亚马逊平台的收费项目实在是太多了!很多亚马逊新手卖家都是做了很久的亚马逊运营之后自己单干,原来根本没接触过财务核算。所以虽然运营都做的都不错,但要算账时就一脸懵逼了!甚至有的做了大半年都不知道到底是赚还是亏!▲ 图片来源:知无不言特别是 Prime Day 2020,看着出了一堆订单,但降价参加秒杀导致利润减少,而且秒杀费

  • 沃尔玛88亿美元出售连锁超市Asda

    DoNews10月12日消息(记者 翟继茹)据外媒报道,近日,沃尔玛以约88亿美元的将旗下英国连锁超市Asda出售给了Issa brothers和TDR Capital。交易完成后,沃尔玛保留Asda的董事会席位和股权投资。报道称,出售之后,沃尔玛本财年预计将录得约25亿美元非现金亏损。Asda成立于1949年,1999年被沃尔玛收购,致力于“无污染”食品的生产。再次被出售后,Asda的总部仍在利兹,并将继续由Asda首席执行官Roger Burnley领导。(完)

  • iPadAir4上市时间确定,有望和iPhone12一起推出

    苹果iPad Air4成为了秋季发布会上最受关注的一款产品,甚至填补了大家对于iPhone12缺席带来的遗憾,不过这款iPad Air4没有在发布会之后马上就上市,而是要等到10月份,甚至苹果也没有公布10月份具体的时间。

  • FDA警告:有食品公司正在将危险化学物质混入膳食补充剂

    据外媒报道,美国食品和药物管理局(FDA)警告消费者,一些膳食补充剂公司在他们的产品中加入了一种新的膳食成分,然而这种成分并没有得到FDA的批准也没有被证明是安全的。同样地,这种化合物有时在市场上被虚假和危险的宣传,其被说成是可以治疗癌症,而这会让病人陷入危险之中。

  • 小米金融App正式更名为天星金融App

    今日,雷军宣布,小米金融业务“小米数科”品牌升级为“天星数科”,小米金融App 正式更名为天星金融App。

  • iOS14轻App在哪里 轻app使用方法介绍

    苹果iOS14系统加入了一个轻App功能(App Clips),这被不少用户认为是有点像小程序的功能,可以在不下载应用程序的同时,使用到该软件的核心功能,具体轻App要怎么使用呢,我们来一起看下轻App具体使用方法。

  • iPad8和iPadAir3区别是什么 iPad8购买建议

    苹果今年9月份发布的iPad8作为入门款iPad产品成为了很多人关注、并且打算购买的一款平板,但是iPad Air3和iPad8的性能、价格比较接近,那么购买哪一款比较合适呢,这里我们来看下iPad8和iPad Air3的购买建议。

  • iOS14小组件app推荐 有哪些软件APP的小组件比较好用

    iOS14小组件成为了最受欢迎的一个功能,可以让很多应用的核心功能都直接呈现在桌面上,那么有哪些外观好看值得我们下载使用的APP软件呢,我们来一起看下吧。

  • iOS14App资源库可以编辑吗 app资源库怎么隐藏

    iOS14系统加入了很多个全新功能,比如小组件、画中画、双击背部截图等,都获得了不错的用户反馈,但是有一个app资源库功能却没有获得很多用户欢迎,不少用户想要删除app资源库或者隐藏,具体要怎么做呢,我们来看下app资源库能否被编辑隐藏。

  • iOS14小组件app推荐 实用好看的小组件app汇总

    iOS14新加入的小组件功能成为了新版本系统里最受欢迎的一个功能,这个功能可以让用户在iPhone桌面上自定义很多新的界面和功能,方便用户快速查看和启动一些功能,那么有哪些比较实用好看的小组件APP呢,我们来一起给大家推荐一些。

  • iOS14怎么取消app资源库页面 app资源库页面怎么关闭

    苹果iOS14加入了App资源库的新功能,这个功能就是将所有手机下载安装的app全部都显示在一个页面中,可以让用户找到想要的app软件,但很多用户表示不喜欢这个app资源库,那么如何将app资源库页面删除呢,我们来一起看下吧。

  • 首批18款App获颁安全认证 包括云闪付、苏宁易购等App

    【首批18款App获颁安全认证】据新华网消息, 9 月 20 日,云闪付、苏宁易购、中国移动、百度地图等 10 家企业的 18 款App(移动互联网应用程序)在京获颁安全认证证书,标志着我国App安全认证工作正式开展。

  • 参与评论
文明上网理性发言,请遵守新闻评论服务协议
  • 热门标签

热文

  • 3 天
  • 7天