万众期待的UniswapV3终于面世了,它的白皮书及相关源代码已经向业界全面公开。
这两天各个专业人士发表了对V3的看法,这些看法主要集中在V3所具备的新特点、带来的新体验。作为在安全领域从业的我们则更加关注V3对合约审计尤其是去中心化交易所合约审计带来的新挑战。
V3的问世毫无疑问将掀起新一轮DEX的升级大潮,因为它在资金效率、费用消耗、预言机优化等方面所作的改进将再次成为现有项目模仿的范本,也将成为众多正在DEX赛道上创业团队参照的蓝本。
我们相信一批新的DEX合约会用到V3的实现方式,而这些新的DEX合约可能产生安全问题的源头在以下两方面:?
Uniswap将L2版本从Alpha过渡至Beta,可供用户无缝访问所有支持网络:9月22日消息,Uniswap发布产品更新计划,将Uniswap在Optimistic Ethereum和Arbitrum上的部署从Alpha版过渡到了Beta版,用户能够直接在Uniswap中无缝访问所有支持的网络。另外,Uniswap还发布了一个快速确认UX来展示二层网络的闪电速度。
此外,Uniswap表示,Uniswap App目前与EIP-1559实现了完全兼容,自EIP-1559发布以来,与Uniswap协议交互的交易已销毁了43,577枚ETH。[2021/9/22 16:57:17]
1.由于V3引入了新的代码许可协议,因此在商业方面将使得一些项目想直接照抄,拷贝变得有所顾忌,而不得不模仿它的实现方式,改写它的源代码。一旦改写代码就会给合约审计带来挑战。
数据:Uniswap V3 Gas消耗量比V2高近100%:据Reddit网友消息,Uniswap主网上,所有三种交易类型(交换、添加和删除)在V3中的平均Gas费用要比V2高得多。其中,在V3中交换代币要比V2多使用24%的Gas;在V3中添加代币要比V2多使用249%的Gas;在V3中移除代币要比V2多使用33%的Gas。从平均数来看,Uniswap V3要比V2多用102%的Gas。[2021/5/6 21:29:35]
2.在整体安全性上Uniswap的合约还是相当不错的,这其中最重要的一个原因就是它的代码简洁、功能删繁就简。而V3在一系列细节上进行了修改,这在功能及性能上比V2有了极大提高,但在安全性方面就增加了复杂度。如果模仿团队对这些改动不求甚解、完全照搬、甚至和以前的实现方式混用则会引入潜在的风险。
Uniswap推出治理代币后ETH未确认交易上涨30%:根据区块链浏览器Etherscan的数据,Uniswap推出治理代币后,以太坊网络上每分钟未确认交易数量从约160,000跃升至210,000以上。上涨30%。
三个小时内超过18,000笔交易被发送到UNI治理代币的智能合约地址,当时有5,000笔以上的交易正在等待处理。截至发文时,交易总数现已超过26,000,而待处理交易已降至约3,700。(coindesk)[2020/9/17]
那么具体V3在哪些方面对准备借鉴、参考它实现方式的团队带来了安全性方面的挑战呢?
我们认为有以下四大方面:
一、交易对由单个流动性池变为多个流动性池
V3的这个做法是为了提高资金效率,让用流动性提供者将资金存入到交易量最大的价格区间。然而这就导致流动性池由单个变为多个。那么交易过程就会涉及到交易在多个资金池之间的切换,就会涉及到复杂的合约交互。
此外,每个流动性池现在可以设置不同的费率,这其中的计算逻辑就会比单一流动性池要复杂,这其中稍有不慎就会涉及到逻辑实现和计算过程的错误。
二、LP代币由同质通证变为非同质通证
在V2中,流动性池的代币都被设计为同质通证,而在V3,它被设计为非同质通证。为了因应这个变化,V3中累积的费用会存在另外的池子中。但凡多了资金池,就多了被黑客攻击的对象、就多了风险隐患,因此对这类新增加的资金池在安全方面的保障和维护就成为团队必须要考虑的问题。
三、UNI治理权可以转交给其它地址
本质上这种方式如果使用得当、管理周全倒也不会对系统造成严重的风险。但权力是“固定”的、人却是“灵活”的。如果这个治理权被转移到不当地址则后患无穷。
四、预言机的优化
V3对预言机进行了大胆的优化:其最重大的变化在我们看来就是价格计算方式的变化以及由计算方式带来的一系列实现方式、流程逻辑的变化。
V3将价格的计算由算术平均值变为几何平均值。用通俗的话说就是由加法运算变为对数运算。理论上,这极大拓展了价格的覆盖区间,使得传统上利用外在因素在极短时间引发价格剧烈波动从而操控交易的方式进一步失效。
但“福兮祸也”,这会不会在看上去一片大好的情况下引发新的问题?现在还不得而知,只能有待时间来证明。
此外,在V3白皮书中提到,这种方式让其它合约调用预言机时能从某个交易对的多个流动性池中得到更可靠的数据。对此我们的担心在于,如果某个池子被攻击时,这个预言机所报的数据会不会不仅无效,而且误差被更加放大?
对此,我们依然建议项目方在处理预言机喂价方面要谨慎又谨慎,尽量从多个数据源取数据,而不要依赖单一数据源,无论这个单一的数据源在理论计算上看上去多么美好、多么健壮。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。