网红菠菜游戏EOSBet第三次被盗,究竟是投资者的天堂还是黑客的温床?

据 IMEOS 报道,EOSBet 电报消息称, EOSBet 再次遭到黑客攻击,资金被盗近14万,目前已被交易所锁定,从今日下午两点开始,EOSBet 合约服务暂停。攻击者利用EOSBet 合约在检验收款方时存在的漏洞,伪造转账通知,给自己的智能合约账号(eosbethack)转真EOS。总计从EOSBet 获利约14万个EOS。黑客曾使用 whoiswinner1 账号进行攻击尝试。


EOSBet 是运用区块链技术基于EOS 公链开发的一款菠菜游戏。


上线仅两个月,盈利近百万的 EOSBet 昨日又因营销活动推向了一个小高潮,日活突破千人, 稳坐 EOS DAPP 当日榜首。

不过好日子才兴奋了一天, EOSBet却因代码漏洞,再次被黑客攻击了。

这是 EOSBet 上线以来第三次被攻击了!

EOSBet是投机客的天堂,却更是黑客的温床。我们来看看EOSBet存在的问题。

 EOSBet工作流程图


ABI

"actions": [{

      "name":"initcontract",

      "type":"initcontract",

     "ricardian_contract": ""

    },{

      "name":"newrandkey",

      "type":"newrandkey",

     "ricardian_contract": ""

    },{

      "name":"suspendbet",

      "type":"suspendbet",

     "ricardian_contract": ""

    },{

      "name":"resolvebet",

      "type":"resolvebet",

     "ricardian_contract": ""

    },{

      "name":"betreceipt",

      "type":"betreceipt",

     "ricardian_contract": ""

    },{

      "name":"refundbet",

      "type":"refundbet",

      "ricardian_contract": ""

    }

  ]

流程与代码的解释

用户发送EOS Token到合约eosbetdice11

eosbetcasino@random调用合约函数 resolvebet 触发合约决定输赢,

绕了一圈, 最终输赢完全由庄家后台程序用账户eosbetcasino@random决定.

混淆耳目的技术:


以上为官网的故弄玄虚, 事实上, eos与ethereum一样, 并不能在链上产生不可预知的随机数合约代码量不大(见下面命令行工具), 即便不开源, 也不难看懂, 为何还要装神弄鬼, 糊弄用户?

命令行工具

#获取合约ABI和wast

cleos get code  -a dice.abi -cdice.wast eosbetdice11

正确且唯一的对赌方式

https://developers.eos.io/eosio-cpp/docs/random-number-generation

必须经过以下步骤:

双方使用各自的<秘钥>将 <原始数据> 加密后发送到区块链.

双方数据都送达, 则锁定数据, 并进入决定阶段.

决定阶段, 双方各发送自己的 <秘钥>到区块链

区块链使用双方的<秘钥>, 解密出各自<原始数据>, 决定最终结果, 并执行结果

BM在这里讨论过:

https://eosio.stackexchange.com/questions/41/how-can-i-generate-random-numbers-inside-a-smart-contract

关于随机数

我们程序员往往把区块链上随机数的产生看作技术问题, 其实能否产生它, 是个数学问题:

y=f(x) 不管方程f多复杂, 给定一个x都最多只有一个确定的y. 所以y=random(seed),你必须让seed具有不可预见性. 而我们知道计算机世界是没有随机数的(通常用系统时钟作seed), 对于区块链, 在没有任何输入参数的情况下, 链上一切都是注定的, 你若想自己不被预知, 在条件固定之前,必须至少保留一项只有你知道的参数

而对于赌博方程, 用户的seed在开牌之前, 只能用户自己知道.

如果你不想思考数学问题

试想, 如果有那么简单优雅的方法(像EOSBet声称的并且也是这么做的, 不需要用户两次参与的), 那么像github/EOSIO/dice这样做, 是多么的丑陋和多此一举!

最后

无论你用什么技术, 都改变不了简单的数学逻辑, 即: 你必须让用户在开点之前, 保留seed(或seed的参数: 秘钥), 然后锁定后再提交.

 以上逻辑说明,EOSBet 是玩家们的绞肉机,黑客的温床

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,245评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,749评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,960评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,575评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,668评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,670评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,664评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,422评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,864评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,178评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,340评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,015评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,646评论 3 323
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,265评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,494评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,261评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,206评论 2 352

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,647评论 18 139
  • 四点四十起床,到昨天早上去的地方,准备把没画完的雾松画完,挑工们已经忙碌起来,有的已经挑第二趟了,从我身边来来往往...
    焦海洋漫画阅读 585评论 0 3
  • 【七招让90后工作有士气--01】 作为管理者得会安排工作,会布置任务,不仅仅是告诉员工你需要做件什么事,还需要说...
    自如得己阅读 103评论 0 0
  • 花开花落,有始有终。我想所有一切的岁月尘埃都是遵循这个道理吧。在经过前几天的沉重打击后,我的心真的受伤了。也许...
    柔眸北海旧梦阅读 351评论 0 1
  • 我们经常会遇到对象需要copy的时候,也许你会写一个私有方法为新建对象的所有字段赋值,当然没问题,但是当一个对象有...
    joymake阅读 1,030评论 0 2