Uniswap V3给合约审计带来的新挑战_SWAP:Dexpools

作者 | Fairyproof TechCEO谭粤飞,美国弗吉尼亚理工大学(Virginia Tech, Blacksburg, VA, USA) 工业工程(Industrial Engineering) 硕士(Master)。曾任美国硅谷半导体公司 AIBT Inc(San Jose, CA, USA) 软件工程师,负责半导体设备程序的开发、负责与公司关键客户---台积电的全面技术对接和交流。自2011至今,从事嵌入式,互联网及区块链技术的研究,深圳大学 《区块链概论》 课程教师,中山大学区块链与智能中心客座研究员,广东省金融创新研究会常务理事,拥有4项区块链相关专利四项。

万众期待的Uniswap V3终于面世了,它的白皮书(https://uniswap.org/whitepaper-v3.pdf)及相关源代码(https://github.com/Uniswap/uniswap-v3-core/tree/main/contracts)已经向业界全面公开。

DEX平台在2021的交易量达到1万亿美元,Uniswap以71%份额占比领先:12月24日消息, The Block Research发布的一份报告显示,DEX平台在2021的交易量达到1万亿美元。在过去的7天里,基于以太坊的DEX平台处理了210亿美元,Uniswap交易量占据了当今所有基于以太坊的DEX交易量的71%。(bitcoin)[2021/12/24 8:01:53]

这两天各个专业人士发表了对V3的看法,这些看法主要集中在V3所具备的新特点、带来的新体验。作为在安全领域从业的我们则更加关注V3对合约审计尤其是去中心化交易所合约审计带来的新挑战。

V3的问世毫无疑问将掀起新一轮DEX的升级大潮,因为它在资金效率、费用消耗、预言机优化等方面所作的改进将再次成为现有项目模仿的范本,也将成为众多正在DEX赛道上创业团队参照的蓝本。

DEX聚合平台ParaSwap已支持UniswapV3:5月13日消息,DEX聚合平台ParaSwap发推称,已支持UniswapV3。

注:ParaSwap是一种中间件,可简化用户与各种DeFi服务的交互。它将主要的去中心化交易所的流动性聚集在一个方便的界面上,抽象出大部分交换的复杂性,从而使最终用户可以方便地使用它们。[2021/5/13 21:59:43]

我们相信一批新的DEX合约会用到V3的实现方式,而这些新的DEX合约可能产生安全问题的源头在以下两方面:?

Uniswap创始人:竞争性流动性挖矿AMM导致Gas费疯狂上涨:Uniswap创始人Hayden Adams发推称,导致Gas费疯狂上涨的原因:竞争性流动性挖矿自动做市商模式(AMM)创造大量套利机会,在区块空间有限的情况下,用户并不能够总获胜,而且Gas费比滑点加用户费加起来还要高。[2021/2/7 19:08:27]

1.由于V3引入了新的代码许可协议,因此在商业方面将使得一些项目想直接照抄,拷贝变得有所顾忌,而不得不模仿它的实现方式,改写它的源代码。一旦改写代码就会给合约审计带来挑战。

2.在整体安全性上Uniswap的合约还是相当不错的,这其中最重要的一个原因就是它的代码简洁、功能删繁就简。而V3在一系列细节上进行了修改,这在功能及性能上比V2有了极大提高,但在安全性方面就增加了复杂度。如果模仿团队对这些改动不求甚解、完全照搬、甚至和以前的实现方式混用则会引入潜在的风险。

现场 | UNIKRN联合创始人:区块链可解决电子体育痛点:据cointime.com现场报道,UNIKRN联合创始人兼CEO RAHUL SOOD在2018西雅图区块链大会上介绍称,区块链可以在电子体育领域解决原有在不同平台购买的痛点,提升用户体验,建立一个OTC平台,以证券通证的形式进行实时进行交易,提升系统内的交易速度和安全性的同时(KYC、AML),把实时赛事、玩家等众多参与者带到同一个生态系统中。[2018/8/22]

那么具体V3在哪些方面对准备借鉴、参考它实现方式的团队带来了安全性方面的挑战呢?

我们认为有以下四大方面:

一、交易对由单个流动性池变为多个流动性池

V3的这个做法是为了提高资金效率,让用流动性提供者将资金存入到交易量最大的价格区间。然而这就导致流动性池由单个变为多个。那么交易过程就会涉及到交易在多个资金池之间的切换,就会涉及到复杂的合约交互。

此外,每个流动性池现在可以设置不同的费率,这其中的计算逻辑就会比单一流动性池要复杂,这其中稍有不慎就会涉及到逻辑实现和计算过程的错误。

二、LP代币由同质(ERC-20)通证变为非同质通证

在V2中,流动性池的代币都被设计为同质通证,而在V3,它被设计为非同质通证。为了因应这个变化,V3中累积的费用会存在另外的池子中。但凡多了资金池,就多了被黑客攻击的对象、就多了风险隐患,因此对这类新增加的资金池在安全方面的保障和维护就成为团队必须要考虑的问题。

三、 UNI治理权可以转交给其它地址

本质上这种方式如果使用得当、管理周全倒也不会对系统造成严重的风险。但权力是“固定”的、人却是“灵活”的。如果这个治理权被转移到不当地址(比如非DAO社区、非多签钱包等)则后患无穷。

四、预言机的优化

V3对预言机进行了大胆的优化:其最重大的变化在我们看来就是价格计算方式的变化以及由计算方式带来的一系列实现方式、流程逻辑的变化。

V3将价格的计算由算术平均值(arithmetic mean)变为几何平均值(geometric mean)。用通俗的话说就是由加法运算变为对数运算。理论上,这极大拓展了价格的覆盖区间,使得传统上利用外在因素在极短时间引发价格剧烈波动从而操控交易的方式进一步失效。

但“福兮祸也”,这会不会在看上去一片大好的情况下引发新的问题?现在还不得而知,只能有待时间来证明。

此外,在V3白皮书中提到,这种方式让其它合约调用预言机时能从某个交易对的多个流动性池中得到更可靠的数据。对此我们的担心在于,如果某个池子被攻击时,这个预言机所报的数据会不会不仅无效,而且误差被更加放大?

对此,我们依然建议项目方在处理预言机喂价方面要谨慎又谨慎,尽量从多个数据源取数据,而不要依赖单一数据源,无论这个单一的数据源在理论计算上看上去多么美好、多么健壮。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

水星链

[0:15ms0-1:543ms