技术角度分析UniswapV2的一些特性以及可能带来的改进与影响。
原文标题:《UniswapV2关于预言机和闪电贷》撰文:outprog,imToken后端开发、智能合约开发来源:币乎
2018年底给大家介绍了UniswapV1,一个基于简单数学公式的去中心化交易所。如今V1版本已经在以太坊上运行了一载有余,证明了这种数学公式兑换模型的可行性和实用性。2020年3月23号,官方发布文章介绍即将问世的V2版本。那么V2有什么改进和突破呢?就让我们来瞧一瞧。
本文主要从技术角度介绍V2的一些特性,分析这些新特性可能带来的改进和影响。这些特性包括:ERC20/ERC20供给池、价格预言机和闪电兑换。其中关于预言机和闪电兑换会做一些的思考,欢迎有识之士来探讨这些问题。对某项特性感兴趣的读者可直接跳到指定章节。
ERC20/ERC20供给池
V1版本只能通过ERC20和ETH建立供给池。如果我们使用DAI去兑换ETH,那就可以直接使用DAI/ETH的供给池获得兑换。当我们要进行DAI到USDC的兑换时,V1版本是将DAI兑换成ETH,再使用ETH去USDC/ETH的供给池进行「二次」兑换,最终完成USDC到DAI的整个兑换过程。
肖风:稳慎前行才能让Web3在香港行稳致远:4月12日消息,在“2023香港Web3嘉年华”上,万向区块链董事长及HashKey Group董事长肖风在发表致欢迎词时表示,去年10月份香港政府发布虚拟资产政策宣言,今年2月份香港财政预算法案也对Web3有资金上的支持,昨天,香港特首李家超特别出席香港Web3协会成立典礼并致辞,今天也是上海升级的日期,这些都是Web3行业近期的一些“好雨”。发展Web3需要守正创新、稳健前行,适当监管与推动发展双轮驱动。稳慎前行才能让Web3在香港行稳致远,呼吁Web3从业者讲好Web3的故事,讲好香港的故事。[2023/4/12 13:58:14]
V2的供给池,可以使用任意两种ERC20代币构成。这样做的一个好处是可以降低兑换汇率的滑点,因为每个供给池都会收取一定的费用作为兑换手续费,通过两个供给池兑换那就是两倍的费用。V2对ERC20/ERC20供给池的支持,使DAI兑换USDC的时候不再需要向两个供给池进行兑换,减少了一半的费用,兑换汇率滑点也会更低。
RabbitHole 即将推出 Quest Protocol:2月9日消息,Web3 链上操作激励平台 RabbitHole 宣布即将推出 Quest Protocol,这是之后要推出的新 RabbitHole V2 体验的一部分。Quest Protocol 中任务完全在链上,每个 Quest 都将有自己的智能合约,协议能够根据自己的预定义条件指定白名单列表,并为每个相关用户存入自己的奖励。[2023/2/9 11:56:59]
如果两种ERC20Token之间没有直接的供给池,V2的路由协议可以在多个供给池之间找到一条优化的兑换路径,在多个供应池之间完成兑换。为了实现A到D的兑换,可以通过A兑换到B,B兑换到C,C兑换到D来完成。
目前代码中的路由协议是01版本,需要在链下计算好路径提交给路由协议进行处理。
价格预言机
随着DeFi应用的兴起,预言机变得越来越重要,区块链应用对预言机的依赖和要求越来越高。
武汉市政协委员刘劲松:武汉有机会成为全球元宇宙产业重要一极:1月7日消息,政协武汉市第十四届委员会第二次会议第二次全体会议召开。市政协委员、洪山区政协主席、党组书记刘劲松在会上表示,武汉有雄厚的高等教育资源、科研实力和较全的数字产业生态,有机会成长为全国乃至全球元宇宙技术创新和产业聚集的重要一极。
刘劲松表示,前瞻布局“元宇宙”产业有助于引领数字经济高质量发展,建议推进元宇宙与光电子信息、新能源与智能网联汽车、生命健康、高端装备、北斗等武汉优势产业融合,赋能实体经济。
他还建议,应引进培育一批龙头企业,推出一批“元宇宙 + 武汉特色 IP 项目”,在国内形成旗帜效应。创造条件孵化元宇宙小微企业。以元宇宙为中心,布局虚拟现实、人工智能、云计算、区块链、大数据、可穿戴设备、5G 等新兴科技产业集群。[2023/1/7 10:59:09]
但在预言机的发展和探索道路上,可谓事故频发,造成的经济损失不计其数。早有Synthetix由于预言机的错误喂价导致3500万的sETH损失;最近的bZx闪电贷套利事件,也是由于平台使用了Uniswap作为价格预言机造成了经济损失。
美联储理事沃勒:认为7月份基本预期是加息75个基点:7月14日消息,美联储理事沃勒,认为7月份基本预期是加息75个基点。在通胀率如此之高的情况下,提前收紧政策是有好处的。昨天之后应该就肯定了将加息75个基点。市场对加息100个基点的预期可能有点超前。美联储理事沃勒称,我认为中性利率是2-2.25%。(金十)[2022/7/15 2:14:15]
bZx闪电贷事件中,攻击者使用借出的资金对Uniswap进行砸盘,导致其价格剧烈变化。此时,使用Uniswap作为预言机的平台由于读取了当前砸盘后的价格,出现了巨大的套利空间。套利完成后,攻击者归还在闪电贷中借出的资金,完成交易。而整个交易过程都在一个区块的一个交易中一次性完成,是为「闪电贷」。
可以发现在bZx事件中,由于平台使用了Uniswap最后时点的执行价格产生了不符合预期的喂价。尽管这个价格在Uniswap是真实的,但和其他平台是价格存在很大的偏差。由于闪电贷在一个区块中迅速完成所有的操作,Uniswap的执行价格没有和其他平台进行套利拉平的机会,可以认为是一个不符合预期的价格。
数字货币板块异动拉升,天喻信息涨超5%:行情显示,数字货币板块异动拉升,天喻信息涨超5%,雄帝科技、飞天诚信、旗天科技、神思电子等跟涨。[2022/6/20 4:40:01]
V2的改进是历史将价格保存在链上,并加上了时间权重。它的存储方式是在链上保存了一个累积价格,通过使用两个累积价格的差值和时间差,可以计算出一个具有时间权重的平均价格。
我们知道Uniswap的价格变动是跟随交易变化的。如果一直没有交易,那么这个价格会是一个固定的值。假设两次交易的间隔10秒,第一次交易后产生的价格P1会持续存在,直到第二次交易的发生才变为P2。因此P1的累积值就是P1*10。累积价格即价格和时间差的乘积。在无数次的价格变动中,其中每次的时间间隔分别是T1、T2、T3...,就有:
priceCumulative=P1*T1P2*T2P3*T3...
有了累积价格,使用累积价格除以时间就可以得到一个基于时间权重的平均价格。
具体实现如下图:
区块122,供给池被创建后累积价格初始值为0,此时只是发生了交易,产生了一个截止价格,而累积价格并未产生。
区块123的中发生的第一笔交易会更新累积价格,区块123和上一个区块的时间差为7秒,因此累积价格就是10.2*7,即71.4。
区块124和上一次区块的时间差为8秒,使用上一次的截止价格计算的累积值为10.3*8,即82.4,加上之前的累积值即为153.8。计算过程以此类推。
当我们知道每个区块的累积价格时,可以通过公式获得任意时间范围内的,带有时间权重的平均价格:
时间权重的平均价格=/
计算过程中,累积价格包含了上一次交易区块中发生的截止价格,但不会将当前区块中的最新截止价格计算进去,这个计算要等到后续区块的交易发生时进行。因此累积价格永远都比当前区块的最新价格慢那么一个区块。由于慢了一个区块,闪电贷在同一个区块里进行的砸盘价格就不能立即生效。当恶意砸盘发生时,不会影响当前的预言机价格,但是执行价格会立即降低,发现价格变动的套利者会在下一个区块将价格缺口补平。采用这样的机制,使预言机具备了防范闪电贷中恶意砸盘行为的能力。同时,恶意砸盘产生的价格会被套利者发现并迅速补平缺口,由于快速的套利会使砸盘价格存在的时间权重较低,也能极大的提高预言机的准确性。
闪电兑换
也许是得益于闪电贷的启发,V2版本也将提供闪电兑换的功能。该功能同闪电贷异曲同工,无需任何抵押,就可以借出Uniswap供给池中的Token,这些Token用于「闪电」业务,只要在业务处理完成后,将对手方Token即刻兑还,就可以完成一笔闪电兑换。
V2核心合约Pair的swap函数中实现了calldata调用,并且可以让用户先兑后还。假设有一个支持DAI/ETH的Pair,一开始ETH会从Pair借出到外部套利合约,然后Pair会去调用套利合约实现的uniswapV2Call接口。
uniswapV2Call中可以完成一系列的「闪电」业务,之后uniswapV2Call再将相应的DAI返还给Pair。Pair对uniswapV2Call调用结束后,会进行最终的账目核对。如果Pair没有收到足够的DAI,那么整个交易都将回滚。因此对于套利者,借出一笔ETH后,必须在同一个交易结束前再将DAI返还,才能保证整个闪电兑换的成功。
反观最近发生的bZx事件,它可能不算是一种攻击,而是多种DeFi金融工具结合涌现出的一种「平仓」操作。这样的操作或许会使价值更接近本质。区块链上的价值,会以自动化算法为驱动,在整个区块链网络中以更加迅速的方式流动,bZx的闪电贷就是一种很好的体现,在一个原子交易中抹平价值和信息的差距。
闪电贷、闪电兑换应该会成为一种常态,拥有专业能力的人,在没有资本的前提下,亦可以捕获价值信息的不对称,从价值转化中获取利益。在传统领域,这必须是具有庞大资本的机构才能完成的操作。
结语
Uniswap上线之初,就不是一个能使项目方自己赚得金银满钵的项目,他的供给池是由无数的个人用户组成。只要你拥有ETH和token既可以存储在供给池中获利。通过简单的算法,供给池在交易的过程中持续的增长,最终这些收益又回馈到供给池的提供者们身上。它以低廉的成本,通过区块链完成了一种自组织、盈利和分配的机制,这种机制不会使垄断机构获取暴利,而是按照每个人所提供的资本进行平等分配,是一种真正透明、公正可持续化的机制。
在整个去中心化组织的发展历程中,由于机制的先进性和早期的不完善,不免产生各种新的问题,甚至造成巨大的经济损失。UniswapV1作为预言机存在一定的问题,但从V2的升级中我们可以看到机制的进一步完善,使之前的问题被化解。同时,闪电兑换的创新,开放了Uniswap的供给池,为那些缺乏资本拥有能力的专业人士创造了机会。通过这些持续不断的创造和改进,自组织形式在快速的发展和完善。
来源链接:bihu.com
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。