请选择 进入手机版 | 继续访问电脑版
| |

PalletOneClub

github登录
 找回密码
 注册
查看: 206|回复: 2

Fomo3D死亡3分钟:黑客用0.8ETH赢下了10000个ETH

[复制链接]

3

主题

14

帖子

115

积分

Administrator

Rank: 9Rank: 9Rank: 9

积分
115
QQ
发表于: 2018-08-24 01:01:53
| 显示全部楼层 |阅读模式
文章来自:https://mp.weixin.qq.com/s?__biz ... fwVgBlgnh5O8rwRn#rd

8月22号下午2点,沉默已久的Fomo3D再次引发大家的关注,被认为永不终结的赌局,结束了。




在2点48分22秒,一个地址为0xa169df5ed3363cfc4c92ac96c6c5f2a42fccbf85的玩家往Fomo3D的奖池里投下了0.0055个ETH。




令人奇怪的是,直到倒计时结束也没人购买下一把key。




这位玩家成为了Fomo3D第一轮游戏的最后一个下注者,顺利拿走了奖池里的10469个ETH,近300万美金。




0xa169这个地址在8月15号才有第一笔交易,且在当天就开始了Fomo3D的游戏,之后的有效交易也几乎全部与Fomo3D有关,可以肯定是冲着最后的大奖而来。





但0xa169效率很高,有媒体统计在取得最后的胜利之前,该玩家累计仅投入0.8个ETH,投资回报率高达13000倍。




为什么没有人与0xa169争夺最后的30秒?从该游戏的设计机制上看,这个游戏的宿命更应该是“永不结束”。





Fomo3D的最后3分钟




从Eetherscan去看看最后的30秒究竟发生了什么。Eetherscan上的数据表明,问题不仅是出在最后30秒,而是最后3分钟——在这个时间以秒记的游戏里,整整3分钟没有下一个玩家出现。




交易图显示,在2点48分之前和2点51分之后,每一分钟都会有多个玩家买入Fomo3D,但独独在48分和51分之间,交易完全停止了。



黄框内为最后的赢家0xa169




以太坊在这3分钟发生了什么?




2点48分,0xa169买key的交易完成,区块高度是6191896;3分钟后,2点51分,下一笔Fomo3D交易产生,区块高度6191909,但这笔交易来的太迟,永远错过了Fomo3D第一轮的竞争。





在区块6191896和区块6191909之间,是死亡三分钟,也是所有问题的答案。




区块的秘密




区块6191896,一切正常,0xa169的这笔交易也赫然在列。区块6191897在6秒之后被挖出,基本正常。






但在下一个区块,6191898,出现了一个0x18e1b664c6a2e88b93c1b71f61cbf76a726b7801的地址,有2笔交易与其有关。




紧接着,区块6191899中,3笔交易与其有关;区块6191900中,3笔;区块6191901中,2笔;区块6191901中,2笔;区块6191902中,4笔;区块6191903中,2笔。







接下来,区块6191904,该区块一共只打包了3笔交易,全部来自0x18e;区块6191905中,全部7笔交易中的3笔;区块6191906中,全部的3笔交易。



区块6191907中,全部4笔交易中的3笔;区块6191908中,全部5笔交易中的4笔。








终于,到了区块6191909,0x18e消失了。




摆脱0x18e的区块一口气打包了166笔交易,多笔与Fomo3D相关的交易包含其中,但它们被耽搁的太久,游戏结束了。







0x18e有什么特别?为何死亡三分钟里以太坊上所有的区块都包含与它有关的2到4条交易?原因就出在它对gas的消耗上。





0x18e的一笔交易需要耗费360万或420万的gas,两笔交易加起来是780万gas,而ETH一个区块目前能容纳的gas总量是800万左右。




这样一样,因为0x18e总gas费高,会被优先选择打包,又因为它占的gas量大,所以两笔交易就能填满整个区块,容不下其他的交易。









于是,在交易消失的3分钟里,在区块6191896与区块6191909之间,所有的节点都在打包与0x18e相关的交易(虽然这些交易全因gas超量失败了,也就是说0x18e并没有真正的为这些交易付费)。




而所有与Fomo3D有关的交易,同以太坊上其他的交易一起,被留在了交易池排队等候。





3分钟很短,但足够结束一个以30秒为倒计时的游戏。




诡异的0xa169与0x18e




在0xa169买入最后一个key后,0x18e“堵塞”了以太坊3分钟。是巧合吗?不是。




0x18e在8月18号被创建,晚0xa169地址3天,之后两者频繁互动,应该是在测试攻击模型。




8月21号,两者间的互动结束,8月22号,0xa169发起了最后一役,它主攻,0x18e掩护。






看看0x18e掩护0xa169的时间点。




在最后一次攻击中,0xa169在6点48分22秒完成交易,0x18e在6点48分43秒至6点52分01秒之间发起攻击,堵塞网络。




但这不是他们第一次配合,0xa169曾在5点50分42秒发起一笔交易,0x18e在5点51分10秒至5点52分57秒之间发起攻击;在此之前,0xa169在5点35分46秒发起交易,0x18e在5点36分49秒至5点37分28秒间发起攻击。





0x18e为0xa169争取到最多时间的一次,就是它们成功的一次。在0xa169拿走奖金之后,0x18e这个地址再无任何动作。




所以,如果你真以为有人用0.8个ETH赢了Fomo3D,未免天真。这是一场投入技术、金钱,被精心策划、全力以赴的战役。




不过,如果说这场胜利完全与幸运无关也不全对。因为0xa169能拿走奖金还跟它的对手,一个倒霉的人有关。

  

错失胜利的人




简单讲讲这个运气不好的家伙。地址是0x32ad247B94E46bB75caC37B81e6CB53173002370,就是0xa169上方的这一位。






0x32ad是个狠角色,因为在这个地址上,它总共就出手一次,而且几近成功。







它算准在最后的时刻出击,用极高的gas单价被选中进入区块打包(单个交易,gas费551美金),它也是整个死亡3分钟内唯一闯入区块打包环节的Fomo3D交易(区块6191907)。







但它失败了,缘于一个有趣的不幸。它设置的Gas Limit是379000,但交易耗费的gas超过了379000。







在Fomo3D中,几乎没有gas超过379000的交易,但这一次,最重要的一次,偏偏就超了。
区块链改变未来。
回复

使用道具 举报

4

主题

16

帖子

101

积分

Moderator

Rank: 7Rank: 7Rank: 7

积分
101
QQ
发表于: 2018-08-24 17:06:16
| 显示全部楼层
所以,别轻易动。以为是舞台中央跳舞,其实是在荒草地跳舞
回复

使用道具 举报

90

主题

205

帖子

697

积分

Moderator

Rank: 7Rank: 7Rank: 7

积分
697
发表于: 2018-08-29 23:25:23
| 显示全部楼层
技术成就财富
每天都怀揣着对未来的憧憬,然后努力奋斗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archive|手机版|小黑屋|palletone.club

GMT+8, 2019-02-23 08:53 , Processed in 0.009843 sec., 12 queries .

Powered by Discuz! X3.4

Release 20180101, © 2001-2019 Comsenz Inc.

MultiLingual version, Rev. 811, © 2009-2019 codersclub.org

快速回复 返回顶部 返回列表