以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads

區塊鏈:從技術角度解析:為什么通縮機制的代幣易受攻擊

Author:

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

概述

在區塊鏈上具有通縮機制的代幣最近經常受到攻擊。本文將討論并分析通縮機制代幣受到攻擊的原因,并給出相應的防御方案。在代幣中實現通縮機制通常有兩種方式,一種是燃燒機制,另一種是反射機制。下面我們將分析這兩種實現方式以及可能存在的問題。燃燒機制

通常,具有燃燒機制的代幣將在其_transfer函數中實現燃燒的邏輯。有時候會存在發送者承擔手續費的情況。在這種情況下,接收方收到的代幣數量不會發生變化,但發送方需要支付更多代幣,因為其需要承擔手續費。下面是一個簡單的例子:

然后我們討論這種情況下可能存在的風險。如果單看代幣合約,我們會發現這種寫法其實沒有什么問題,但是區塊鏈中有很多復雜的情況,需要我們考慮很多方面。通常,為了讓代幣有價格,項目方會在Uniswap、Pancakeswap等去中心化交易所為代幣添加流動性。其中,在Uniswap中,有一個函數skim,它會將流動性池中兩種代幣的余額和儲備金的差值轉移給調用方,以平衡余額和儲備金:

分析:從技術層面來說,Celsius可能已經資不抵債:6月6日消息,據推特用戶yieldchad分析,從技術層面來說,Celsius可能已經資不抵債。該項目一共有100萬枚ETH,但只有26.8萬枚(近27%)是有充足流動性的;另外44.5萬枚拿的是Lido的stETH,按當前Curve的匯率只能換出28.7萬枚ETH;最后28.8萬枚直接質押進了以太坊2.0合約,一時半會(至少1年內)拿不出來。按照每周5萬枚ETH的速度,Celsius在五周內就會耗盡具有流動性的ETH。[2022/6/6 4:05:49]

此時發送方變成了流動性池,當調用_transfer時,流動性池中的代幣將被部分銷毀,導致代幣價格部分上漲。攻擊者利用此特性將代幣直接轉入流動性池中,然后調用skim函數轉出,然后多次重復此操作,導致流動性池中大量代幣被燃燒,價格也隨之飆升,最后賣出代幣獲利。一個真實的攻擊案例,winnerdoge(WDOGE):

V神:從技術角度來看 ETH 2.0的實施比預期困難得多:8月17日消息,以太坊聯合創始人Vitalik Buterin最近在播客節目中表示,他承認從技術角度來看,Ethereum 2.0的實施“比他預期的要困難得多”。他稱,“我絕不認為我們有任何根本的缺陷,我認為它會完成,只是時間問題,實際上最近進展很快。”在談到他對項目發展的預期時,Buterin指出,有些以太坊應用程序會失敗,而有些則會成功。(Cointelegraph)[2020/8/17]

在WDOGE合約的_transfer函數中,當block.timestamp>closingTime時,進入else循環。在代碼第21行中,轉賬金額從發送方的余額中扣除,在代碼第31行中,發送方又被燃燒了tokensToBurn數量的代幣。攻擊者利用這種手續費的機制,通過上述的攻擊方式竊取流動性池中的所有價值代幣(WBNB)。

聲音 | 李曉楓:建議從技術方面推進區塊鏈標準化評測:新華財經消息,4月10日,“2019中國國際區塊鏈技術與應用大會”在深圳會展中心召開,中國人民銀行科技司原副司長李曉楓在本次活動上表示,金融和區塊鏈有著天然的聯系,目前區塊鏈領域一鏈一應用、一鏈一聯盟現象愈發明顯,信息孤島將成為區塊鏈治理的重大挑戰。因此,建議從技術方面推進區塊鏈標準化評測,強化監管、完善法律法規,逐步建立適應區塊鏈金融產業發展的長效機制。[2019/4/10]

反射機制

在反射機制中,用戶每次交易都會收取手續費,用于獎勵持有代幣的用戶,但不會觸發轉賬,只是單純修改一個系數。在這個機制中,用戶有兩種類型的代幣數量,tAmount和rAmount。tAmount為實際代幣數量,rAmount為反映后的代幣數量,比率為tTotal/rTotal,一般的代碼實現如下:

聲音 | 孚鏈科技創始人趙偉:區塊鏈從技術、模式、組織、融資對行業有所創新:金色財經現場報道,今日,2018中國國際區塊鏈產業融合峰會暨區塊鏈產品與應用展在石家莊舉行,在以《新時期下區塊鏈技術賦能實體與應用結合》為題的圓桌論壇上,孚鏈科技創始人、清華經管創業協會秘書長趙偉表示,區塊鏈不完全是一種技術,同時也是一種思想。區塊鏈對行業的影響可以形容為四個創新,分別是技術創新、模式創新、組織創新和融資創新。關于企業的模式創新,區塊鏈通過利益相關的模式,把一些消費者可能也拉入了甚至成為股東的角色里面去。[2018/9/21]

反射機制的代幣中一般有一個叫做deliver的函數,會銷毀調用者的代幣,降低rTotal的值,所以比率會增加,其他用戶反射后的代幣數量也會增加:

原中央國家機關工委信息中心主任徐成濤:區塊鏈的核心意義在于第一次能夠從技術層面建立信任關系:中新網北京4月27日電 區塊鏈與產業互聯網融合應用60人論壇26日晚在北京落幕。原中央國家機關工委信息中心主任徐成濤認為,區塊鏈的核心意義在于,人類有史以來第一次能夠從技術層面建立信任關系。“相信區塊鏈能推動我國的電子政務事業更上一層樓,期待越來越多的政務區塊鏈應用案例在我國落地生根,為數字中國、智慧社會建設做出積極的貢獻。”[2018/4/27]

攻擊者注意到這個函數,并用它來攻擊相應的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):

防御方案

通過解讀針對燃燒機制和反射機制代幣的攻擊手法,不難發現攻擊者攻擊的核心點是操縱流動性池的價格,因此將流動性池的地址加入白名單,不涉及代幣的銷毀,不參與代幣的反射機制,可以避免此類攻擊。總結

本文分析了通縮機制代幣的兩種實現機制以及針對這兩種機制的攻擊手段,最后給出了相應的解決方案。在編寫合約時,項目方必須考慮代幣與去中心化交易所結合的情況,以避免此類攻擊。關于EoceneResearch

AtEoceneResearch,weprovidetheinsightsofintentionsandsecuritybehindeverythingyouknowordon’tknowofblockchain,andempowereveryindividualandorganizationtoanswercomplexquestionswehadn’tevendreamedofbackthen.了解更多:Website|Medium|Twitter

Tags:區塊鏈ETHTALRES如何做區塊鏈LETHAlpha Capital (New)iExpress Token

火必下載
比特幣:美元將走向終結?一文淺議Balaji的百萬賭注

有人說,美元即將走向終結。因為美聯儲向銀行系統提供緊急流動性,這意味著重啟量化寬松政策。這一次,美國將無限印鈔,美元將比舊金山的風投機構在硅谷銀行失敗時向美聯儲發送推文的速度更快地崩潰.

1900/1/1 0:00:00
TRU:Arbitrum開啟空投,一文讀懂具體規則

今晚,Layer2擴容方案Arbitrum宣布將于3月23日向其社區成員空投治理代幣ARB,目前查詢鏈接已經公布:https://arbitrum.foundation/.

1900/1/1 0:00:00
GON:多維度對比Polygon和Avalanche的應用鏈進展

3月22日,NFT游戲Aavegotchi宣布正利用PolygonSupernets推出自己的區塊鏈Gotchichain.

1900/1/1 0:00:00
SEE:DAO正在走出烏托邦困境:Denver發令槍已響

這幾天,感覺像做了一場光怪陸離的夢,和很多DAO友線下一見如故,在寒冷的丹佛神奇地找到了一群操著不同語言的異國異種的親兄弟好同志.

1900/1/1 0:00:00
TER:透過最新上線的zkRouter,看Multichain理想中的跨鏈未來

2月22日,跨鏈路由協議Multichain宣布已在測試網上推出了基于零知識證明的跨鏈基礎設施zkRouter,并實現了從以太坊到Fantom的測試網跨鏈轉賬.

1900/1/1 0:00:00
ENS:錯過了OP、ARB?別急,還有這10個熱門空投項目

你是否因錯過了Arbitrum空投而感到惋惜?上周,$ARB空投獲得者平均賺了2350美元。像$ARB、$OP和$APT這樣的空投讓很多空投獵人成為了百萬富翁.

1900/1/1 0:00:00
ads