什么是閃電貸攻擊?
上月,Avalanche上的DeFi平臺(“去中心化金融,也被稱為“開放式金融”平臺)Platypus Finance遭遇閃電貸攻擊,被盜走約900萬美元。
那么,什么是閃電貸(Flash Loan)?
先說DeFi,其核心就在于“去中心化”。DeFi通過運用加密貨幣和智能合約在區塊鏈上提供交易、借貸和投資等金融服務,但不依托于任何中心化的金融機構、中介或交易場所。換言之,DeFi提供了與傳統金融服務相類似的金融服務,但又同時實現了金融脫媒。
閃電貸大多被用在套利、攻擊或置換借款的抵押品,它是一種不需要抵押品的貸款,需要透過智能合約來進行,且借款和還款必須在同一筆交易內完成。如果在交易的最后沒有還款動作,則借款的動作會被視為無效。
比如,上圖的用戶在借款A 后到DEX 將大筆的A 換成B,導致因為流動池內兩代幣的比例失衡,所以DEX 上A 的價格下跌B 的價格上升.再到其他使用上述DEX 作為價格預言機的借貸平臺抵押B 并借出A,因為抵押品的價格高于市場所以能借出大量低于市場價格的A.最后再將最初借的A 還給閃電貸協議,多出來的A 就是本筆交易的獲利。閃電貸的借款(第一步)和還款(第四步)在同一筆交易中。在區塊鏈中充斥著這種獲利方式。
黑客主要是抓住了這些項目的薄弱點去獲取利益。黑客可以竊取鎖在智能合約里的加密資產,項目的用戶往往就只能自己承擔無法贖回加密資產的損失。
那么具體怎么操作呢?舉例:
第一步,攻擊者將閃電貸獲得的4400萬USDC存入Platypus USDC池,并獲得4400萬 LP-USDC。
第二步,攻擊者將這4400萬LP-USDC存入MasterPlatypusV4。
第三步,攻擊者在PlatypusTreasure合約中調用了borrow來鑄造大約4180萬USP。(該平臺的借貸限額被設置為95%,這意味著攻擊者最多可以用他們的4400萬LP-USDC借到大約4180萬USP。)
第四步,由于借來的USP數額沒有超過限額,協議的isSolvent值將總是返回true。而isSolvent變量為true,攻擊者可以調用EmergencyWithdraw來提取其質押的4400萬LP-USDC全部資金。攻擊者在支付了移除流動性的手續費用后,總共可以提取43,999,999,921,036 USDC(LP-USDC)。
最后一步,攻擊者償還閃電貸款,并以多個穩定幣的形式獲利約850萬美元。
在閃電貸的案例中,攻擊者從 DeFi 協議中接收貸款,花費貸款資金,并在同一智能合約交易中全部歸還貸款。由于貸款的全部過程發生在同一筆智能合約交易中,因此不需要抵押品。
黑客只需要承擔非常小的風險;如果交易無法實現收支平衡,借貸人無法償付貸款,那么整筆交易就會被撤銷,也就是說用戶只會損失 GAS 費。如果黑客利用貸款資本在短期內套利,那么在歸還借來的本金后依舊還有的賺。
但是這些利潤必須有其出處,每次攻擊事件都是不同且復雜的,這些利潤往往來自那些在交易中輸給攻擊者的“失敗者”,利潤由此產生。
數字時代,任何技術的進步與發展,都將衍生出新的網絡攻擊方式。
網絡安全,已經成為經濟社會良性發展的重要保障。
下一篇:返回列表