概述
在區塊鏈上具有通縮機制的代幣最近經常受到攻擊。本文將討論并分析通縮機制代幣受到攻擊的原因,并給出相應的防御方案。
在代幣中實現通縮機制通常有兩種方式,一種是燃燒機制,另一種是反射機制。下面我們將分析這兩種實現方式以及可能存在的問題。
燃燒機制
通常,具有燃燒機制的代幣將在其_transfer函數中實現燃燒的邏輯。有時候會存在發送者承擔手續費的情況。在這種情況下,接收方收到的代幣數量不會發生變化,但發送方需要支付更多代幣,因為其需要承擔手續費。下面是一個簡單的例子:
然后我們討論這種情況下可能存在的風險。
SushiSwap CEO:從技術上講我看好加密貨幣:金色財經報道,SushiSwap CEO Jared Grey在社交媒體上表示,監管的唯一好處是創造一個公平的競爭環境。坦率地說,這通常是失敗的。盲目的貪婪通常會獲勝,而在位者則會通過陰險的利益沖突為自己開路。從技術上講,我看好加密貨幣,因為它阻礙了人類最惡劣的濫用特性。[2023/7/24 15:54:17]
如果單看代幣合約,我們會發現這種寫法其實沒有什么問題,但是區塊鏈中有很多復雜的情況,需要我們考慮很多方面。
通常,為了讓代幣有價格,項目方會在Uniswap、Pancakeswap等去中心化交易所為代幣添加流動性。
火幣論壇對話汪弘彬:從技術層面來說,區塊鏈將在金融領域發揮領先作用:新加坡時間12月30日下午,歐洲貨幣機構投資者集團大中華區CEO汪弘彬做客火幣論壇,以“回顧與展望,從疫情到復蘇”為主題,與火幣商務副總裁Ciara探討在疫情的持續影響下,企業該如何進行數字化轉型。
汪弘彬認為,疫情推動了數字浪潮的發展,從技術層面來說,區塊鏈和加密貨幣行業將在金融領域發揮領先作用,并且會迅速成長為不同于大數據、人工智能和物聯網的另一種新技術,未來勢必會有很大的發展空間。比特幣在2020年表現突出。但如果比特幣要成長為更成熟的資產類別的話,必須要經歷一系列的周期,比特幣至今還沒有一個完整的周期。成熟的機構投資者要了解這一點,然后再進入這個市場。
“據我個人觀察,比特幣的資產類別變得愈來愈清晰了,這會吸引越來越多的機構進入這個市場,但我們還是要從宏觀角度來看比特幣整體周期的發展。但從長遠來看,我對這類資產很樂觀。”汪弘彬最后總結道。[2020/12/31 16:08:51]
其中,在Uniswap中,有一個函數skim,它會將流動性池中兩種代幣的余額和儲備金的差值轉移給調用方,以平衡余額和儲備金:
掌柜調查署|節點資本創始合伙人杜均:單純從技術角度來看,并沒有看到IPFS技術的突破:在今日舉行的掌柜調查署中,針對“IPFS和Filecoin有哪些重大創新,為什么大家如此關注“的問題,節點資本創始合伙人杜均表示,個人認為,無論是比特幣為代表的區塊鏈1.0,還是以太坊為代表的區塊鏈2.0,以及現在我們大熱的IPFS(激勵層Filecoin),都是一群“技術中立”信仰者構建的理想國,希望通過“CODE IS LAW”促進社會變得更公平更美好。單純從技術角度來看,我并沒有看到技術的突破,我更多看到的是利用區塊鏈思維對傳統互聯網訪問協議以及分布式存儲的升級。大家關注的點不一樣,只有極少數人關注到IPFS的技術創新,更多的人關注的是如何賺錢。更多詳情見原文鏈接。[2020/7/4]
此時發送方變成了流動性池,當調用_transfer時,流動性池中的代幣將被部分銷毀,導致代幣價格部分上漲。
動態 | 經濟日報:推動完善區塊鏈產業生態系統 需從技術創新等方面入手:經濟日報今日發表題為《推動完善區塊鏈產業生態系統》的分析文章。文章表示,近年來,我國區塊鏈產業發展迅猛,但在技術突破、人才支撐、安全防控等方面仍存在不小挑戰。對此,需采取有針對性的措施加以解決,不斷完善區塊鏈產業生態系統。文中提到,目前制約我國區塊鏈產業生態系統發展完善的主要因素有以下幾個方面:一是區塊鏈技術仍處于發展的初期,基礎研究與協同攻關較為薄弱;二是區塊鏈領域的人才缺口較大;三是區塊鏈安全隱患不容忽視,風險防控有待加強;四是區塊鏈產業布局需進一步統籌;五是區塊鏈產業相關政策法規尚不完善。文中建議,進一步推動完善區塊鏈產業生態系統,必須從技術創新、人才培養、風險防控、生態協調、產業監管五個方面著手,尋找解決之道。[2019/12/25]
攻擊者利用此特性將代幣直接轉入流動性池中,然后調用skim函數轉出,然后多次重復此操作,導致流動性池中大量代幣被燃燒,價格也隨之飆升,最后賣出代幣獲利。
一個真實的攻擊案例,winnerdoge(WDOGE):
在WDOGE合約的_transfer函數中,當block.timestamp>closingTime時,進入else循環。在代碼第21行中,轉賬金額從發送方的余額中扣除,在代碼第31行中,發送方又被燃燒了tokensToBurn數量的代幣。攻擊者利用這種手續費的機制,通過上述的攻擊方式竊取流動性池中的所有價值代幣(WBNB)。
反射機制
在反射機制中,用戶每次交易都會收取手續費,用于獎勵持有代幣的用戶,但不會觸發轉賬,只是單純修改一個系數。
在這個機制中,用戶有兩種類型的代幣數量,tAmount和rAmount。tAmount為實際代幣數量,rAmount為反映后的代幣數量,比率為tTotal/rTotal,一般的代碼實現如下:
反射機制的代幣中一般有一個叫做deliver的函數,會銷毀調用者的代幣,降低rTotal的值,所以比率會增加,其他用戶反射后的代幣數量也會增加:
攻擊者注意到這個函數,并用它來攻擊相應的Uniswap的流動性池。
那他該如何進行利用呢?同樣從Uniswap的skim函數開始:
Uniswap中reserve是儲備金,與token.balanceOf(address(this))不同。
攻擊者先調用deliver函數銷毀自己的代幣,導致rTotal的值減少,比率隨之增加,所以反射后的代幣的值也會增加,token.balanceOf(address(this))也會相應變大,與reserve的值出現了差距。
因此,攻擊者可以通過調用skim函數轉出數量為兩者之間差值的代幣從而進行獲利。
一個真實的攻擊案例,BEVONFTArtToken(BEVO):
而當代幣合約中存在burn函數時,存在了另外一種相似的攻擊手法:
當用戶調用burn函數時,自己的代幣會被銷毀,同時tTotal的值會減少,所以比率會降低,對應的反射后的代幣數量也會減少,所以在此時流動性池的代幣的數量也會減少,從而代幣的價格會上漲。
攻擊者利用這個特性通過多次調用burn函數來減少tTotal的值,然后調用流動性池的sync函數同步reserve和balances。最后,流動性池中的代幣大幅減少,價格飆升。然后攻擊者出售代幣以獲取利潤。
一個真實的攻擊案例,SheepToken(SHEEP):
防御方案
通過解讀針對燃燒機制和反射機制代幣的攻擊手法,不難發現攻擊者攻擊的核心點是操縱流動性池的價格,因此將流動性池的地址加入白名單,不涉及代幣的銷毀,不參與代幣的反射機制,可以避免此類攻擊。
總結
本文分析了通縮機制代幣的兩種實現機制以及針對這兩種機制的攻擊手段,最后給出了相應的解決方案。在編寫合約時,項目方必須考慮代幣與去中心化交易所結合的情況,以避免此類攻擊。
作為中心化交易所的老大哥,幣安創始人趙長鵬(CZ)周一(3月13日)亞市午盤突然在推特上發出重大宣布,稱幣安將對穩定幣與銀行近日風暴讓步,把10億美元產業復蘇基金的剩余款項.
1900/1/1 0:00:00美國聯準會今晨在一份聯合聲明中表示,他們與財政部和FDIC已達成共識拯救矽谷銀行、并將提供緊急貸款給金融機構.
1900/1/1 0:00:00尊敬的XT.COM用戶:WALV-BEP20錢包升級維護已完成,XT.COM現已恢復WALV-BEP20提現業務.
1900/1/1 0:00:00硅谷銀行、SignatureBank倒閉的影響仍在擴大,投資者競相在部分準備金銀行系統之外尋找更安全的資本避風港,美國銀行類股票遭受重創,部分股票跌幅高達-35%,但加密市場反彈驚人.
1900/1/1 0:00:003月12日,比特幣期貨交易價格比常規現貨交易所低5.5%,導致衍生品市場波動。比特幣的價格在確認金融監管機構拯救了倒閉的硅谷銀行(SVB)的儲戶后,3月12日至13日期間增長了14.4%.
1900/1/1 0:00:00親愛的ZT用戶: ZT創新板即將上線DORDAO,並開啟DORDAO/USDT交易對。具體上線時間如下:充值:已開啟;交易:2023年3月18日18:18(UTC8); DORDAO 項目簡介:.
1900/1/1 0:00:00