脈衝資本

後互聯網時代財富永動機

關注

Fomo3D 死亡 3 分鐘:黑客用 0.8ETH 贏下了 10000 個 ETH

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 分之間,交易完全停止了。

Fomo3D 死亡 3 分鐘:黑客用 0.8ETH 贏下了 10000 個 ETH

黃框內爲最後的贏家 0xa169

以太坊在這 3 分鐘發生了什麼?

2 點 48 分,0xa169 買 key 的交易完成,區塊高度是 6191896;3 分鐘後,2 點 51 分,下一筆 Fomo3D 交易產生,區塊高度 6191909,但這筆交易來的太遲,永遠錯過了 Fomo3D 第一輪的競爭。

在區塊 6191896 和區塊 6191909 之間,是死亡三分鐘,也是所有問題的答案。

區塊的祕密

區塊 6191896,一切正常,0xa169 的這筆交易也赫然在列。區塊 6191897 在 6 秒之後被挖出,基本正常。

Fomo3D 死亡 3 分鐘:黑客用 0.8ETH 贏下了 10000 個 ETH

但在下一個區塊,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 掩護。

Fomo3D 死亡 3 分鐘:黑客用 0.8ETH 贏下了 10000 個 ETH

看看 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 上方的這一位。

Fomo3D 死亡 3 分鐘:黑客用 0.8ETH 贏下了 10000 個 ETH

0x32ad 是個狠角色,因爲在這個地址上,它總共就出手一次,而且幾近成功。

Fomo3D 死亡 3 分鐘:黑客用 0.8ETH 贏下了 10000 個 ETH

它算準在最後的時刻出擊,用極高的 gas 單價被選中進入區塊打包(單個交易,gas 費 551 美金),它也是整個死亡 3 分鐘內唯一闖入區塊打包環節的 Fomo3D 交易(區塊 6191907)。

Fomo3D 死亡 3 分鐘:黑客用 0.8ETH 贏下了 10000 個 ETH

但它失敗了,緣於一個有趣的不幸。它設置的 Gas Limit 是 379000,但交易耗費的 gas 超過了 379000。

Fomo3D 死亡 3 分鐘:黑客用 0.8ETH 贏下了 10000 個 ETH

在 Fomo3D 中,幾乎沒有 gas 超過 379000 的交易,但這一次,最重要的一次,偏偏就超了。

Fomo3D 死亡 3 分鐘:黑客用 0.8ETH 贏下了 10000 個 ETH

Fomo3D 死亡 3 分鐘:黑客用 0.8ETH 贏下了 10000 個 ETH

脈衝資本

共同見證區塊鏈改變世界

長按掃碼關注我們

Fomo3D 死亡 3 分鐘:黑客用 0.8ETH 贏下了 10000 個 ETH