Uniswap V3給合約審計帶來的新挑战

2021-03-27 12:03:30

萬衆期待的Uniswap V3終於面世了,它的白皮書(https://uniswap.org/whitepaper-v3.pdf)及相關源代碼(https://github.com/Uniswap/uniswap-v3-core/tree/main/contracts)已經向業界全面公开。

這兩天各個專業人士發表了對V3的看法,這些看法主要集中在V3所具備的新特點、帶來的新體驗。作為在安全領域從業的我們則更加關注V3對合約審計尤其是去中心化交易所合約審計帶來的新挑战。

V3的問世毫無疑問將掀起新一輪DEX的升級大潮,因為它在資金效率、費用消耗、預言機優化等方面所作的改進將再次成為現有項目模仿的範本,也將成為衆多正在DEX賽道上創業團隊參照的藍本。

我們相信一批新的DEX合約會用到V3的實現方式,而這些新的DEX合約可能產生安全問題的源頭在以下兩方面: 

Uniswap V3給合約審計帶來的新挑战

1.由於V3引入了新的代碼許可協議,因此在商業方面將使得一些項目想直接照抄,拷貝變得有所顧忌,而不得不模仿它的實現方式,改寫它的源代碼。一旦改寫代碼就會給合約審計帶來挑战。

2.在整體安全性上Uniswap的合約還是相當不錯的,這其中最重要的一個原因就是它的代碼簡潔、功能刪繁就簡。而V3在一系列細節上進行了修改,這在功能及性能上比V2有了極大提高,但在安全性方面就增加了復雜度。如果模仿團隊對這些改動不求甚解、完全照搬、甚至和以前的實現方式混用則會引入潛在的風險。

那么具體V3在哪些方面對准備借鑑、參考它實現方式的團隊帶來了安全性方面的挑战呢?

我們認為有以下四大方面:

Uniswap V3給合約審計帶來的新挑战

一、交易對由單個流動性池變為多個流動性池

V3的這個做法是為了提高資金效率,讓用流動性提供者將資金存入到交易量最大的價格區間。然而這就導致流動性池由單個變為多個。那么交易過程就會涉及到交易在多個資金池之間的切換,就會涉及到復雜的合約交互。

此外,每個流動性池現在可以設置不同的費率,這其中的計算邏輯就會比單一流動性池要復雜,這其中稍有不慎就會涉及到邏輯實現和計算過程的錯誤。

二、LP代幣由同質(ERC-20)通證變為非同質通證

在V2中,流動性池的代幣都被設計為同質通證,而在V3,它被設計為非同質通證。為了因應這個變化,V3中累積的費用會存在另外的池子中。但凡多了資金池,就多了被黑客攻擊的對象、就多了風險隱患,因此對這類新增加的資金池在安全方面的保障和維護就成為團隊必須要考慮的問題。

三、 UNI治理權可以轉交給其它地址

本質上這種方式如果使用得當、管理周全倒也不會對系統造成嚴重的風險。但權力是“固定”的、人卻是“靈活”的。如果這個治理權被轉移到不當地址(比如非DAO社區、非多籤錢包等)則後患無窮。

四、預言機的優化

V3對預言機進行了大膽的優化:其最重大的變化在我們看來就是價格計算方式的變化以及由計算方式帶來的一系列實現方式、流程邏輯的變化。

V3將價格的計算由算術平均值(arithmetic mean)變為幾何平均值(geometric mean)。用通俗的話說就是由加法運算變為對數運算。理論上,這極大拓展了價格的覆蓋區間,使得傳統上利用外在因素在極短時間引發價格劇烈波動從而操控交易的方式進一步失效。

但“福兮禍也”,這會不會在看上去一片大好的情況下引發新的問題?現在還不得而知,只能有待時間來證明。

此外,在V3白皮書中提到,這種方式讓其它合約調用預言機時能從某個交易對的多個流動性池中得到更可靠的數據。對此我們的擔心在於,如果某個池子被攻擊時,這個預言機所報的數據會不會不僅無效,而且誤差被更加放大?

對此,我們依然建議項目方在處理預言機喂價方面要謹慎又謹慎,盡量從多個數據源取數據,而不要依賴單一數據源,無論這個單一的數據源在理論計算上看上去多么美好、多么健壯。

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。

推薦文章

從“以太坊殺手”到合作夥伴:一文讀懂 Solana 轉型之路

Solana 是導致以太坊 L2 rollups 混亂的原因。在 2021 年的牛市中,我們見證了...

coincaso
25 1周前

今日推薦 | Wintermute DeFi 治理摘要:2024 年 7 月 第 2 周

本周的提案包括:Frax Finance 以 FXB 獎勵 veFXS 持有者。EtherFi 為...

coincaso
20 2周前

兄弟因涉嫌利用以太坊區塊鏈漏洞在12秒內盜竊2500萬美元而被捕

兄弟因涉嫌利用以太坊區塊鏈漏洞在12秒內盜竊2500萬美元而被捕 在一個具有特別意義的首例案件中,...

Allen Li
67 2個月前

模塊化區塊鏈:Web3的最後一塊拼圖

一. 引言模塊化區塊鏈是一種創新的區塊鏈設計範式,旨在通過專業化和分工提高系統的效率和可擴展性。模...

coincaso
83 2個月前

英國考慮對去中心化金融 (DeFi) 借貸和質押活動進行稅收修訂 — 這是最新的消息

英國考慮對去中心化金融 (DeFi) 借貸和質押活動進行稅收修訂 — 這是最新的消息 根據一份咨詢...

Asad Gilani
82 2個月前

CFTC委員會建議加強對DeFi的理解和監管

CFTC委員會建議加強對DeFi的理解和監管 CFTC building. Source: Ado...

Allen Li
109 2個月前