買以太坊 買以太坊
Ctrl+D 買以太坊
ads

TOKEN:通縮幣頻遭閃電貸攻擊,罪魁禍首竟是獎勵分配機制?_KEN

Author:

Time:1900/1/1 0:00:00

近日,CertiK監測到兩起針對FETA以及BEVO反射機制的通縮幣項目的閃電貸攻擊事件。為幫助讀者對此類攻擊事件有更全面的了解,本文將對此類通縮幣項目的背景、攻擊過程、攻擊原理以及防范方法進行具體分析并總結,期望各位讀者能對該類型攻擊有較為深入的理解和啟發。

背景

通縮幣是一種隨著交易進行不斷有token被銷毀,發行總量因此不斷減少進而實現潛在升值的數字貨幣。

隨著2021年Safemoon項目的一炮而紅,通縮幣項目在當時幾乎橫掃主流的ERC20項目,備受矚目。

對于通縮機制本身,大部分項目都使用了Reflect這一最經典的通縮獎勵分配機制。Reflect機制即“反射”機制,可以將通縮產生的收益讓所有的持幣者根據持幣量平均分配。在該機制下,用戶手里的token有了兩種計量方式,即:“反射”前的實際token數量,和“反射”后的反射token數量。

在主流L1中,2023年第一季度僅BNB與ETH處于通縮狀態:6月11日消息,據 Messari 發文稱,在主流 L1 中,2023 年第一季度僅 BNB 與 ETH 是通縮代幣,分別為 -5.4% 與 -0.2%。[2023/6/11 21:29:40]

該機制中,通縮的來源是對于token交易者的懲罰性稅收,在每次交易時對交易賬戶“反射”后的token數量進行一定比例的收稅和銷毀,從而改變了“反射”的比率,使得每個普通持幣者都可以獲得更多的“反射”前的token作為獎勵。

由此可見,Reflect是一種靜態獎勵機制,為了鼓勵長期持幣者而懲罰頻繁交易者,使得更多用戶愿意持有和參與,最終促使幣價趨于穩中有升的態勢。

有趣的是,包含Reflect機制的智能合約很多都會加入一個函數,即`deliver()`。該函數的作用是調用者以“犧牲自我”的方式,直接銷毀自己的token,從而改變“反射”機制的比率,使每一位持幣者得到獎勵。

以太坊7日年化通縮率跌破1%:金色財經報道,據ultrasound.money數據顯示,以太坊自合并以來流通量已減少超11.3萬枚,當前以太坊流通量約為120407266枚,當前的7日年化通縮率跌破1%,達1.05%。[2023/4/25 14:24:58]

這種犧牲自我利益為所有持幣者謀福利的做法不失為一種“慈善捐贈”,調用這個函數的人就好像“天使”一般。然而,天使的背后也有可能是魔鬼。CertiK最近監測到的兩起攻擊事件,正是利用了`deliver()`函數改變“反射”機制的比率,對通縮幣在去中心化交易所的交易對地址發起了閃電貸攻擊,盜走交易對中的大額WBNB。

攻擊案例分析

2023年1月31日,CertiK監測到通縮幣項目FETA遭受到閃電貸攻擊。攻擊者通過閃電貸借到18.5個WBNB后,通過調用FETA的`deliver()`函數以及去中心化交易所中FETA-WBNB交易對合約的`skim()`函數,在歸還閃電貸借款之后仍獲利10.34個WBNB。

數據:以太坊出現歷史首次月度通縮:金色財經報道,ultrasound.money數據顯示,以太坊出現歷史首次月度總量通縮,并在在過去的11天里,總供應量減少9037枚。[2022/10/21 16:34:10]

無獨有偶,在前一日,CertiK還監測到另外一起類似的閃電貸攻擊事件,被攻擊對象是通縮幣項目BEVO,攻擊者通過類似的方法獲利144個WBNB。

這兩起攻擊事件看上去仿佛只需調用兩個十分普通的函數就可以攻擊成功,那么這種“魔法”究竟是怎么施展的呢?

我們不難發現,對于普通用戶地址而言,反射機制的邏輯以及`deliver()`函數的邏輯都是沒有問題的,甚至是非常高明的獎勵機制,否則通縮幣項目也不可能如此受到認可。問題恰恰在于“不那么普通”的地址——下面我們看看如果對去中心化交易所的交易對地址使用了“反射”機制究竟會發生什么。

動態 | 火幣1月銷毀405.68萬HT HT流通盤通縮效率預計比2019年提升50%:2月15日,火幣全球站發布了2020年1月份HT運營月報。月報顯示,火幣1月份共銷毀HT 405.68萬個。1月份HT實際流通盤通縮效率是1.31%,若以1月份HT通縮率為全年平均水平,預計2020年全年HT通縮率可達15.72%。市場分析人士認為,此前火幣曾公布了2020年投資者保護基金和HT平臺運營部分的使用限額,這意味著HT的鎖倉解鎖對沖銷毀已在2019年全年基本釋放完畢,目前鎖倉中OTC商家和投資者保護基金占比達到98.8%,鎖倉量比較穩定,員工激勵增發部分跟隨回購比例釋放,HT實際流通盤通縮效率在2020年預計較2019年會提升50%。[2020/2/15]

首先,根據“反射”機制的代碼可知,在“反射”前后,用戶的token數量是通過乘以一個比率rate來相互轉化的,若我們設“反射”前的token數量為tAmount,“反射”后的token數量為rAmount,則有

動態 | QBTC交易所開啟“QT通縮計劃——交易即銷毀”:據QBTC官方消息,自2020年2月12日起,針對QBTC交易所全部與QT有關的交易對所產生的交易手續費(QT部分)將進行實時全額銷毀(銷毀的QT不包含量化及做市商賬戶)。QBTC將在平臺顯示全站QT流通量,每交易一筆產生的QT手續費將進行實時削減,用戶可實時查詢網站QT流通量及減少量。銷毀的交易手續費將定期發送至黑洞地址,發送至黑洞地址的交易詳情將以公告形式發布。

截至目前已銷毀23098000枚QT,目前總量為76902000枚QT,流通量為19078080枚QT。[2020/2/12]

其中rate系兩種計量方式的總量之比,即

把rate帶入,我們可以得到用戶的實際token數量

對于所有加入“反射”機制的地址,由于每次有交易者在交易時都會交稅并通過銷毀減少一些rTotal,根據公式,在rAmount、tTotal不變的情況下,tAmount將會增加,即實現了靜態持有時的增值。

`deliver()`函數可以直接減少rTotal,同時保持tTotal不變,此時rate將會極具下降。若此時關注該token在去中心化交易所的交易對地址pair,則pair對應的balance,即用tAmount衡量的token數量會大幅增長。

而去中心化交易所的交易對智能合約作為數字貨幣的交換池,存儲了大量該交易對的兩種token,例如BEVO-WBNB。該智能合約提供了一個函數`skim()`,可以讓用戶把合約中token的balance數值和交換池中實際存儲的token數量reserve的差值取出來,正是這個方法讓攻擊者發現了套利空間。

根據上文所述,當調用`deliver()`函數時,rTotal減少會帶動pair的balance,即用tAmount衡量的token數量的大幅增長,然而pair里面實際存儲的token數量reserve并沒有發生變化,此時,兩部分的差值全部會被攻擊者調用`skim()`全部取出來。

然而想要調用`deliver()`函數,即完成初始的“捐款”,是需要啟動資金的。對于攻擊者來說,方法總比困難多——方法即為我們平時經常聽說的閃電貸。

也就是說,攻擊者只需在一個區塊之內將錢還上,就可以借到大量的錢用`deliver()`函數操縱交易對的balance。最終,只要通過`skim()`取出來并換成WBNB的錢比借到的錢多,攻擊者就完成了一次無風險套利。

總攻擊過程如下圖所示:

攻擊防御

知道了原理,那又該怎么預防呢?

能夠帶來嚴重損失的漏洞,或許在事情發生前就進行預防,并不十分復雜。根據CertiK安全專家的分析,攻擊者要想鉆空子,需要能夠改變合約中rTotal的數量,進而操縱合約中交易對的balance。

在此,CertiK專家建議:

要么在設計合約的時候直接剔除有風險的`deliver()`函數,要么直接將交易對地址剔除Reflect機制,即在代碼中或合約部署后,調用`excludeFromReward()`將pair地址填入,使其剔除反射獎勵機制即可。此時pair的balance將無法被攻擊者通過`deliver()`函數所操縱。

寫在最后

CertiK通過兩起最近發生的通縮幣閃電貸攻擊事件,詳細講述了包含Reflect機制的通縮幣被攻擊的原理和預防方法,希望能給各位讀者有所啟示。

通縮幣作為最常見也是最經典的數字貨幣類型之一,至今仍然能被攻擊者抓住漏洞進行攻擊,主要原因也是項目方在智能合約設計時僅考慮到數字貨幣自身的智能合約邏輯,卻并未深入研究與去中心化交易所合約交互的過程,才釀成了如此的損失。

Tags:TOKENKENTOKETOKDXD TokenFairyLand TokenConi TokenJeToken

比特幣最新價格
Gnosis:關于平臺系統升級完成的公告(0316)_Gnosis Safe

親愛的的用戶: 您好!CoinMark平臺已于3月16日14:00完成本次系統升級。請您盡快按照系統提示將APP升級至最新版本.

1900/1/1 0:00:00
USDT:BKEX Global 關于\"體驗ETP專區交易,贏取新手多重好禮\"活動結果的公告_Bali Social Integrated

尊敬的用戶:?????????BKEX舉辦的"體驗ETP專區交易,贏取新手多重好禮"活動已于2023年2月12日09:00圓滿結束.

1900/1/1 0:00:00
加密貨幣:加密貨幣分析:SOL陷入區間內,而MATIC和DOGE飆升_ult幣在哪個交易所

gz呺Web3團子 在新的CPI高于預期之后,全球加密貨幣交易量在過去24小時內飆升。BTC價格漲幅限制在22,200美元以下,隨后的橫向趨勢使其他山寨幣能夠加強其趨勢.

1900/1/1 0:00:00
SAFE:關于“幣瑪啟動Luna保障基金風險援助計劃”的公告(0511)_UCOIL價格

親愛的用戶: 您好!為了踐行保護用戶設立風險保障的初衷,幣瑪將開啟“幣瑪啟動LUNA保障基金風險援助計劃”專場,幫助用戶應對此次意外風險.

1900/1/1 0:00:00
BIG:關于“元旦迎新,跨年歡樂周”活動公告_BIGPANDA幣

尊敬的用戶:? 您好!歲歲常歡愉,年年皆勝意,幣瑪為迎接元旦到來,將在合約專區限時開啟超級福利,報名參與活動,輕松瓜分50000USDT大獎.

1900/1/1 0:00:00
okex:關于下架 BNX / USDT 幣幣交易對的公告_BHTT

"親愛的用戶: 5A已于2023年02月16日14:00下架BNX/USDT幣幣交易對。BNX的充幣和提幣服務將繼續為您開啟.

1900/1/1 0:00:00
ads