本篇內(nèi)容介紹了“類Fomo3D攻擊實例分析”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!
創(chuàng)新互聯(lián)是一家專業(yè)提供青縣企業(yè)網(wǎng)站建設,專注與成都網(wǎng)站設計、做網(wǎng)站、HTML5、小程序制作等業(yè)務。10年已為青縣眾多企業(yè)、政府機構等服務。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設公司優(yōu)惠進行中。
在分析整個事件之前,我們需要對類Fomo3D游戲的規(guī)則有一個基本的認識。
Fomo3D游戲最最核心的規(guī)則就是最后一個購買的玩家獲得最大的利益
其中主要規(guī)則有這么幾條:
游戲開始有24小時倒計時
每位玩家購買,時間就會延長30s
越早購買的玩家,能獲得更多的分紅
最后一個購買的玩家獲得獎池中48%的eth
其中還有一些細致的規(guī)則:
每位玩家購買的是分紅權,買的越多,分紅權就會越多
每次玩家購買花費的eth會充入獎金池,而之前買過的玩家會獲得分紅
隨著獎池的變化,key的價格會更高
換而言之,就是越早買的玩家優(yōu)勢越大。
最終,資金池里的 ETH 48%分配給獲勝者, 2%分配給社區(qū)基金會,剩余的 50%按照四種團隊模式進行分配。
游戲規(guī)則清楚之后,就很容易明白這個游戲吸引人的地方在哪,只要參與的人數(shù)夠多,有人存在僥幸心理,就會有源源不斷的人投入到游戲中。游戲的核心就在于,莊家要保證游戲規(guī)則的權威性,而區(qū)塊鏈的可信以及不可篡改性,正是完美的匹配了這種模式。
簡單來說,這是一個基于區(qū)塊鏈可信原則而誕生的游戲,也同樣是一場巨大的社會實驗。
可,問題是怎么發(fā)生的呢?讓我們一起來回顧一下事件。
2018年8月22日,以太坊上異?;鸨腇omo3D游戲第一輪正式結(jié)束,錢包開始為0xa169的用戶最終拿走了這筆約10,469 eth的獎金。
看上去好像沒什么問題,但事實真的是這樣嗎?
在Fomo3D的規(guī)則基礎上,用戶a169在購買到最后一次key之后,游戲的剩余時間延長到了3分鐘,在接下來的3分鐘內(nèi),沒有任何交易誕生。這3分鐘時間,總共有12個區(qū)塊被打包。但沒有任何一個Fomo3D交易被打包成功。
除此之外,這部分區(qū)塊數(shù)量也極少,而且伴隨著數(shù)個合約交易失敗的例子
這里涉及到最多的就是合約0x18e1B664C6a2E88b93C1b71F61Cbf76a726B7801,該合約在開獎的那段時間連續(xù)的失敗交易,花費了巨量的手續(xù)費。
而且最重要的是,該合約就是上面最后拿到Fomo3D大獎的用戶所創(chuàng)建的
在這期間的每個區(qū)塊中,都有這個合約發(fā)起的巨額eth手續(xù)費的請求。
攻擊用戶通過這種方式,阻塞了其他游戲者購買的交易,最后成功拿到了大獎。
那么為什么呢?
在解釋事件發(fā)生原理之前,我們需要先了解一下關于區(qū)塊鏈底層的知識。
以太坊約14s左右會被挖出一個區(qū)塊,一個區(qū)塊中會打包交易,只有被打包的交易才會在鏈上永不可篡改。
所以為了獎勵挖出區(qū)塊的礦工,區(qū)塊鏈上的每一筆交易都會消耗gas,這部分錢用于獎勵礦工,而礦工會優(yōu)先挑選gas消耗比較大的交易進行打包以便獲得更大的利益,目前,一個區(qū)塊的gas上限一般為8000000。
而對于每一筆交易來說,交易發(fā)起者也可以定義gas limit,如果交易消耗的gas總值超過gas limit,該交易就會失敗,而大部分交易,會在交易失敗時回滾。
為了讓交易不回滾,攻擊者還使用了一個特殊的指令assert(),這是一個類似于require的函數(shù),他和require唯一的區(qū)別就是,當條件不滿足時,assret會耗光所有的gas。原理是因為在EVM底層的執(zhí)行過程中,assret對應一個未定義過的操作符0xfe,EVM返回invalid opcode error,并報錯結(jié)束。
而攻擊者這里所做的事情呢,就是在確定自己是最后一個key的持有者時,發(fā)起超大gasprice的交易,如圖所示:
當攻擊者不斷的發(fā)起高手續(xù)費的交易時,礦工會優(yōu)先挑選這些高花費的交易打包,這段時間內(nèi),其他交易(包括所有以太坊鏈上發(fā)起的交易、Fomo3D的交易)都很難被礦工打包進入。這樣一來,攻擊者就有很高的概率成為最后一個持有key的贏家。
整個攻擊流程如下:
Fomo3D倒計時剩下3分鐘左右
攻擊者購買了最后一個key
攻擊者通過提前準備的合約發(fā)起大量消耗巨量gas的垃圾交易
3分鐘內(nèi)不斷判斷自己是不是最后一個key持有者
無人購買,成功獲得大獎
“類Fomo3D攻擊實例分析”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!
文章名稱:類Fomo3D攻擊實例分析
網(wǎng)站鏈接:http://www.rwnh.cn/article44/gopsee.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、品牌網(wǎng)站設計、小程序開發(fā)、App設計、網(wǎng)站內(nèi)鏈、網(wǎng)站營銷
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)