header-langage
简体中文
繁體中文
English
Tiếng Việt
한국어
日本語
ภาษาไทย
Türkçe
掃碼下載APP
Partnered With:

USDC會成爲下一個Defi危機嗎?

閱讀本文需 6 分鐘
USDC的風險在於其擁有管理員權限的代理合約,如果權限泄露,集成 USDC 的 DeFi 項目都可能遭受攻擊。

原文標題:《去中心化金融,並不如我們所想》

原文作者: 熊煒,imToken 後端工程師



在經歷 lendf.me 被盜事件後,我們知道 ERC777 代幣合約和普通借貸池合約組合會產生漏洞,正如 imToken Simon 所說:「酒沒錯,頭孢也沒錯,放在一起,要了命」。這次事件最終導致了 2500 萬美元(摺合人民幣 1.7 億)被盜,雖然最後如數追回,卻在我們心裏刻下一次深刻的印記,讓我們不得不重新審視智能合約安全問題。


幣乎創始人親述 DeFi 踩雷經歷與教訓已經全面的分析了使用去中心化金融所帶來的風險。回過頭再來看我們其他的去中心化項目,它們還存在其他的問題嗎?

在調查中,我們發現以太坊的去中心化金融場景中,大量項目集成了 USDC。而 USDC 在其代幣實現中,加入了一個前置代理合約。簡單的說就是我們使用 USDC 合約進行轉賬時,訪問的是 USDC 的代理,該代理再通過內部設置的地址,訪問到 USDC 的目標合約上。




代理合約擁有一個管理員權限可以更改其代理的目標,當合約需要升級時就可以使用管理權限替換目標合約地址。這是一種可升級、可更替智能合約的設計模式,解決了合約升級這一難題,但同時也產生了巨大的風險。

如果代理合約的管理權限泄露,意味着攻擊者可以將代理的目標地址指向任何地址。攻擊者可以很輕易的僞造一個可以任意發行代幣的攻擊合約,再將代理合約指向這個攻擊合約。因此,USDC 代理合約一旦攻破,Compound(借貸池)也會像 lendf.me 一樣被全部抽空。甚至現今最大的穩定幣平臺 MakerDAO,也能通過對 USDC 代理合約攻擊而錯誤的生成穩定幣。任何平臺只要是集成了 USDC,皆存在該風險。而 USDC 正在去中心化應用中大規模的使用着。

當更多的代幣使用代理模式時,每一個代幣都會成爲攻擊向量,如果去中心化項目持續集成類似的項目,會使其安全性大打折扣。相比之下不使用代理合約,銷燬管理員密鑰的方式看來會更加健壯。

去中心化對信任的要求比傳統應用更高。由於智能合約要自動化的處理所有過程,在建立代碼的過程中就要求所有代碼之間之完全信任。像 USDC 這樣的代幣項目,本身具有一定的中心化屬性,大規模的應用在所有項目中時,就會把這些項目所有的信任全部集中在一箇中心化的單點上。這個單點的控制權對於整個去中心化生態而言,相當於上帝模式。此時一個單點代理合約的密鑰泄露,就可能引起整個去中心化生態的崩潰,造成無數項目被黑,無數代幣丟失。反觀,一個雖然未被黑的中心化單點,也具有控制整個去中心化生態權限,代幣管理機構可以使用同樣的手段對任何集成它的項目進行破壞或關閉。

可見,USDC 在大規模的應用過程中,使整個去中心化生態的風險全部集中在了 USDC 中心化控制的代理合約上,該合約爲 USDC 的管理機構提供了整個生態的上帝模式。或許我們所謂的去中心化,反而比傳統項目還更加中心化?

如若說去中心化還是早期階段,那在這蠻荒的開墾過程中,USDC 可謂是荒野之王。



歡迎加入律動 BlockBeats 官方社群:

Telegram 訂閱群:https://t.me/theblockbeats

Telegram 交流群:https://t.me/BlockBeats_App

Twitter 官方帳號:https://twitter.com/BlockBeatsAsia

举报 糾錯/舉報
選擇文庫
新增文庫
取消
完成
新增文庫
僅自己可見
公開
保存
糾錯/舉報
提交