区块链游戏,DPOS共识停转,BP集体失声?——来自狼人游戏受害者的质疑

 0.前言

BM曾经发文表示:
代码的意图即法律。( The “Intent of Code” is Law.)如果代码意图有争议,则意向应由当选区块生产者的多数票决定,或由争端各方共同同意并由生产者颁布的仲裁者决定。
当一段恶意代码(scam code)是由出块节点开发,而其利益关联节点又不愿意对其作出仲裁或选择视而不见,将对EOS生态什么样的影响?

Thomas Cox在EOS Go社区发布四条EOS.IO 宪法草案条例:第一条:区块链的用户不得故意虚报或误导性陈述,也不得从中获利。
一部无法约束EOS持有者,甚至连节点都公然违反的法律,是否有继续存在的意义?

Martin Niemoller在波士顿犹太人大屠杀纪念碑上写道:最后,他们奔我而来,却再也没有人站起来为我说话了。(Then they came for me, but by that time,there was no one left to speak up.)
如果超级节点们持续保持沉默,受害者将永远失去希望。

众所周知,DPOS相较POW共识机制,最大的优势是利用链上治理与链下仲裁相结合的方式,使得生态中用户的生命、自由和财产获得更大程度的保障。但从狼人游戏事件发生至今已经过去一周了,整个BP圈子集体失声,不禁让我们开始思考, EOS的DPOS共识以及它的宪法,是否也是一只薛定谔的猫?

    1.背景

介于7月份FOMO 3D游戏的火热,许多EOS开发者将目光转移到EOS版本的FOMO3D游戏的开发中,7月23日,其中有一款名为 狼人游戏 的类FOMO游戏匆匆上线,7月25日,在官方宣称被盗取60686.4190个EOS之后,开发团队宣告游戏结束并终止运营,运营时间仅两天。

    2.发生了什么

    权限问题

狼人游戏上线后,有玩家发现狼人游戏存在几个安全隐患:1.代码不开源,不接受监督。2.团队保留了修改合约的权限。3.找借口获取了用户的active权限。这三点,尤其是后两点,将用户的资产安全置于极大的危险之中,开发团队完全可以通过更新合约来盗取用户的所有资产。这个问题造成了恐慌,大量的用户解除了给游戏的权限,并谴责他们的这种危险行为。随后游戏开发团队匆匆发表了公告,试图稳住玩家。
而他们的公告,又是一次公然的撒谎。在公告中,他们阐述他们的实现方式很安全,他们也不可能通过更新合约或者外部调用的方式取走用户的eos。而这个声明随后就被社区里的技术人员反驳,他们专门写了测试代码来证明开发团队在撒谎。于是游戏开发团队又草草上线了一个“解除合约权限”的功能,用户在注销账户的时候,可以解除权限。这种处理方式,草率至极,权限问题并没有得到解决。

    溢出攻击

由于这是一个未经测试,没有经过安全审计就上线的闭源合约,他的安全性也经不起推敲。游戏上线仅仅半天,就被黑客进行溢出攻击了。此时合约内部数据已经损坏,22名玩家使用极低的成本,购买了大量的key。游戏一度陷入停摆之中。随后狼人团队发表了公告,澄清虽然被攻击,但是奖金池里的EOS没有被盗取稳住了玩家,并开始进行修改合约的操作。

    修改合约

这并不是一次简单的为了修复bug而进行的合约修改。新版的合约完全修改了游戏规则,宝石价格计算公式彻底修改,导致宝石价格上升速率陡增。同时增加时间公式也进行了修改,原本每次购买钥匙都加30秒,被改成了一个介于3-21秒之间的数值。这次的改动直接导致了游戏内经济系统的崩盘。前期玩家购买的大量钥匙都基本再无回本的可能性,而狼人团队,任意修改合约公式的行为也引发了很多的讨论。更让人心寒的是,在合约修改后,更可怕的事情发生了————60686个本该属于奖金池的EOS被盗取。

    盗币

盗币者eosfomoplay1是22名刷key的玩家之一。他在溢出攻击发生后,分五次以0成本购买了接近4亿5千万的钥匙。在随后的bug修复中,狼人团队通过同步数据表的方式将游戏迁移到新的账号eosfoiowolfs上。在迁移的过程中,他们删掉了刷key用户刷的key。让人觉得匪夷所思的事情是,22名刷key玩家中,有21名刷的key都被正确移除,唯独这个玩家的key没有被移除。这就导致这名玩家在合约升级后,上线可以直接领取走60686个EOS。他用0成本,成功提现了60686个EOS。而溢出攻击仅仅只是个引子,真正造成6w个eos丢失的原因是:开发团队,没有正确地修复数据,并将这个错误,带到了新的智能合约上。

    游戏结束

在6w个eos失窃后,狼人团队并没有积极有效地和社区沟通,申请冻结这些eos。他们只是草草地发布了公告,将一切责任推给了黑客,并拒绝公开自己的身份与源码。在他们的公告里,他们建议受害者们向社区反馈申请冻结eos,将自己的责任完全撇清,也拒绝向受害者提供任何帮助。

    3.开发者是谁

由于求助开发团队无门,游戏的受害者自发组成维权群,对游戏的开发团队展开了调查,从游戏消息来源以及区块链转账记录找到了许多关联证据,而这些证据全都指向同一个团队。令人惊讶的是,这个团队居然是一个获得BITFINEX投票的备选节点,同时在游戏早期有一个出块节点的负责人通过公开渠道宣传自己的游戏邀请码,并赚取了高达800%的利润。这两个节点分别是:

helloeoscnbp——HELLOEOS团队
moreisfuture——MORE.TOP&IMEOS团队

上述两个团队在声明自己与游戏开发者没有任何关联之后,删除其公开媒体中所有与该游戏相关的内容,并拒绝与受害者代表沟通,而华语社区的出块节点由于利益关系选择袖手旁观。目前这种情况引来了华语社区群众对EOS仲裁制度的强烈质疑。

    4.为什么是IMEOS和HELLOEOS?

值得庆幸的是,在区块链的世界,一切记录都是公开的。受害者中对技术较为熟悉的人员通过查看区块浏览器,发现了如下线索:

    (1)more.top团队与开发者团队的关联

– 游戏的第二个进场账号是 haytambwgqge
– haytambwgqge曾接受shrimp111111的转账,memo为“for test”
– shrimp111111曾接受moretop11111的转账,memo为“for test”
– moretop11111为more.top钱包为用户创建EOS账号的母账号

    (2)more.top团队首席工程师与开发者团队的关联

– 游戏的第一个进场账号是 leteatshrimp
– more.top团队的首席工程师的Facebook是www.facebook.com/shrimp6
– 区块链技术博客http://www.shrimp6.com的联系方式指向 https://more.top以及shrimp.liu@gmail.com
– 数字6中文发音是“刘”,shrimp111111 and shrimp6 ? 这只是巧合?

    (3)游戏前早期创建的账号与more.top团队的关联

– 通过区块浏览器的转账记录可以查到,在游戏完成部署的前4个账号中的eosaustriabp、yllzl1111111、zhananzhanan分别可以对应more.top团队的COO、PM以及CMO的姓名。而唯一无法确认归属的zhoukaizhi55只给moreisfuture这一节点投过票。
– 在游戏完成部署一小时后的入场的mangqimangqi给lanettahuang的转账记录中直接写上了more.top团队中UX设计师的中文名,同时LanettaHuang是她的英文姓名。

    (4)游戏早期宣传者

– HELLOEOS的CEO与自媒体William是目前在互联网上能查询到的最早的宣传者,其中helloeos的CEO ZiCen通过分享其账号gtgatekeeper获得了超过800%的EOS盈利,为狼人游戏带来了大量的初始用户;
– ChenJiaen(MORE.TOP CEO)、Zicen、Shanweibuzu and ChenWeinian 在狼人游戏发布前夕曾在厦门聚餐,并将视频发布到微博上。这些人均可以在前80名参与者名单中找到关联游戏账号。

关于其他的参与者,受害者们收集了大量的关联线索,并将其整理成一张信息图(点击查看高清图)。

对于上述(1)(2)证据链的解说在以下视频中:
英文字幕版
中文无字幕版
在整个过程中,维权团队始终保持理智与克制,在向IMEOS以及HELLOEOS团队展示收集证据的同时,希望节点解释账号之间的关联原因,以便找出游戏开发团队补偿由于合约漏洞导致的EOS丢失,或协助出面追回被盗的EOS。
然而EOS社区BP们的集体沉默,受害者们不得不通过向ECAF以及当地的警方寻求帮助,目前维权发展缓慢,而IMEOS和HELLOEOS却依然活跃在EOS社区中,仿佛一切与他们无关,受害者们渐渐失去话语权。
虽然目前没有任何直接证据能证明more.top团队是狼人游戏的开发者,但从各项间接证据上毫无疑问可以得知more.top团队与开发者有千丝万缕的关联。
helloeoscnbp节点作为最早期的宣传者与获利者,在事发后否认与开发团队的关联,无疑是违反EOS宪法的行为。

    5.我们的诉求

我们强烈谴责MORE.TOP与HELLOEOS在事件发生以后选择否认与回避的不负责任行为,并对EOS华语社区不作为的超级节点表示十分的失望。
在此,我们希望能获得EOS生态中其他超级节点以及ECAF的帮助,达成如下诉求:
(1)请求MORE.TOP与HELLOEOS团队公开所掌握狼人游戏开发团队的信息,帮助受害者追回被盗EOS;
(2)请求EOS的超级节点关注此次事件,监督MORE.TOP以及HELLOEOS的行为,在仲裁投票时要求helloeoscnbp以及为其贡献投票的超级节点(starteosiobp,bitfinexeos1,eoshuobipool,zbeosbp11111)回避;
(3)重新审查moreisfuture作为备选节点的资质,并公告处理结果。

点赞