币圈思考者与观察者,倡导独立思维和价值投资,带你洞穿币圈,获得更多投资理财新思维,欢迎关注老赵读币
资讯 | 趋势 | 操作 | 思维 | 咨询
01
黑客拿走大奖
以太坊上近期最火爆的Dapp应用FOMO 3D 第一轮大奖于北京时间8月22日下午14点48分揭晓。
钱包地址尾号为5的获奖者(以下简称5哥)获得了价值2200万元人民币(10,469以太坊)的大奖。
而从钱包交易历史来看,该获奖人仅仅付出了6000元人民币左右的成本(2.7个以太坊)。
该玩家于8月15日开始进入游戏,经过6天时间,145笔交易的努力,在数十万的玩家中杀出重围,以小博大,斩获大奖,获得了4000倍的收益。
为何价值北京二环两套房的大奖能被5哥夺走?是命中注定还是暗箱操作?
DapDap的小伙伴们深入调查了中奖事件和5哥钱包相关的交易记录,发现事情果然不是5哥撞大运这么简单。
几乎可以断定是黑客行为。
黑客5哥所做的准备工作,也远比表面看起来的买买买这么简单。
02
真正的高级玩家
接下来,我们层层剥开事件真相。
首先,我们简单介绍一下获得大奖的规则。
规则1:最后一个购买KEY的人获得奖池中的大奖
规则2:每有人购买一个KEY,倒计时时间会增加30秒
规则3:游戏启动后从24小时开始倒计时
也就是说,只要你是最后一个购买KEY的人,就可以捧走北京两套二环房。
当然有人会怀疑团队有暗箱操作的可能。但是由于FOMO 3D 的智能合约全程开源,公开透明,因此可以查到黑客5哥是使用正常的购买功能进行购买的。
所以不存在官方暗箱操作的可能。
相关链接请见文末。
那作为想要获得2200万大奖的玩家,会怎么去做呢?
如果你是小白玩家:
你可能会24小时盯着电脑,每次在倒计时快要结束的时候,花一点钱买一个KEY,然后祈祷后面不要再有人购买。
如果你是程序员玩家:
你可能会写一个脚本,设定在倒计时快要结束的时候,自动花一点钱买一个KEY,然后不断重复该过程。
如果你真的这么做了,只能说明你很傻很天真。
因为高达2200万的大奖,只要一旦接近倒计时结束,就一定会有人去购买,甚至已经有上百个脚本会等着购买。
真正的高级玩家是这么做的:
买了KEY之后,以各种手段确保后面没有人能够再买进来。
这也是黑客5哥,拿走大奖的关键原因。
03
中奖的两个手段
如下图所示,从黑客5哥的近期钱包交易记录看,他只是每隔一段时间就会买一个KEY。
所以不少人猜测黑客5哥只是写了个脚本,然后正好赶上了以太坊拥堵,或者游戏热度下降没人关注,然后运气好中了奖而已。
但是如果进一步仔细观察
,就会发现在黑客5哥购买KEY之后长达3分钟、12个区块的时间里,仅有一人有过一次失败的购买。
除此之外,再无任何人发出过购买的指令。
这和之前每次倒计时3分钟的时候就会大抢一番完全不同,显得异常的冷清。
那么在以太坊上,如何可以做到这一点呢?主要有以下两个途径:
1)和矿主合谋,让矿主在我的交易后,不再打包其他购买KEY的交易;
2)在自己成功购买KEY之后,把以太坊堵塞,让其无法打包其他购买KEY的交易。
04
以太坊工作原理
这里给区块链小白简单科普一下以太坊网络的工作原理。
一般家用计算机每秒都在执行很多程序。但是以太坊可以理解为平均每14秒才执行一次,
专业术语叫做“打包交易”。
负责执行程序(打包交易)的计算机被称为“矿机”,拥有矿机的人叫做矿工或矿主。
这个世界上有上万台以太坊矿机,而由哪台矿机来打包交易,会受到矿机算力和全网算力的影响。争夺打包交易权力的行为被称作“挖矿”
。
一旦矿机挖矿成功,将会获得以太坊奖励,并且可以决定打包哪些交易,以及如何打包这些交易。
每时每刻都有很多用户提交自己的程序命令希望被矿机打包,被矿机打包交易需要支付给矿工一定的手续费,而矿机一般会选择付费最高的用户。
因此,通俗的讲,想要获得大奖的玩家,有以下两个途径:
1、选择和各大矿主协商好,请矿工挖矿成功后,不要打包别人买KEY的交易;
2、可以通过某种技术手段,配合高额的交易手续费,让矿机自动选择只打包我的交易,而不打包别人的交易。
矿主在这个过程中甚至毫不知情。
05
与矿主合谋的可能性
首先看与矿主合谋的可能性。
如下图,以太坊的矿机算力分布相对较为分散。
拥有最高算力的矿池Ethermine也仅占有29%的比例,其他大矿池所占比例也仅为10%左右。
出自:ethgasstation.info
由于倒计时一旦低于2分钟后,必然有大量的玩家受大奖刺激入场购买KEY。
所以大奖玩家,必须在倒计时结束前至少两分钟购买KEY,然后和挖到接下来的8-12个区块(14秒一个区块,每分钟4个,2-3分钟8-12个)的矿主协商好,让对方阻止所有要购买KEY的用户,保证自己是最后一个。
但这个做法不但在理论上较难实现,在此次事件的实际操作中,也几乎不可能达成。
如下图所示,从黑客5哥购买KEY直至确定大奖归属之间的12个区块,分别属于Ethermine、SparkPool、Nanopool、BitClubPool、bw等8个不同的矿工。
黑客5哥必须提前和这8个矿主都谈好,然后正好是这8个矿主挖矿成功。
学过概率的同学都可以很快算出来这可能性几乎为零。
分析到这里,我们基本排除了串谋矿池的可能性。
06
异常的交易数据
在分析过程中,我们也惊奇地发现,
5哥购买KEY直至中奖的这3分钟、12个区块里的交易笔数异常的低,几乎为平时的1/10不到,而交易费用却数百倍高于平时水平。
这异常的数据让我断定其中必有猫腻,而结合接下来做的一系列数据分析,我们确认:
5哥在自己购买KEY后,使用高额的以太费用和技术手段让以太坊堵塞了3分钟。
进而使得其他玩家无法打包购买KEY的交易,从而获得了最后的大奖。
以下是实锤和步骤解析:
首先,我们把中奖前以太坊12个区块的一共353笔交易全部提取出来。经过各维度分析,我们有了以下发现:
1、交易次数最多的众多账号中,有一个刚刚建立不到4天的未开源合约账户。该账户在短短3分钟时间内,交易了32笔之多。
2、我们进一步深挖发现,该可疑合约账户就是由黑客5哥在差不多3、4天前创建的。
也就是说,5哥购买KEY之后,自己用智能合约向以太坊发送了大量的交易。
到这一步,虽然我们还不确定合约内容到底是什么,但是基本可以断定5哥是在买到KEY之后做了手脚。
具体做了什么手脚,我们还需进一步分析。
3、接着我们统计了在中奖前的12个区块里的GAS消耗。