UniswapV2是该链上交易所的新一版迭代
Uniswap是一个运行在以太坊区块链上的流动性协议,支持免信任的代币互换,也即是说,该交易所上的所有交易都是由智能合约自动执行的,用户无需依靠某个中介也无需信任某个第三方。这种去中心化的代币互换方案已经证实在ERC20代币的持有者群体中很吃香,他们愿意使用Uniswap来交易代币并为不同的交易对提供流动性。
Uniswap在2020年3月19日在以太坊主网上推出了一个新版本,还配合着公开了核心合约的1.0.1版;在发行之前,该版本已经在Rinkeby测试网上测试过一段时间了。截至撰文之时,这个新版本在以太坊主网上已经使用超过了两个月时间,而且迄今为止,没有出现任何损坏智能合约完整性的问题。
不论你是持有还是在交易密码学货币,是在搞以太坊开发还是做宽泛的金融科技业务,都有必要了解一下Uniswap,它在2020年的第三季度随着DeFi概念的崛起迎来了快速的增长。所谓一项独立的服务,Uniswap也可以集成到第三方的数字钱包和dApp中。此外,其它智能合约也可以拿Uniswap作为基础来开展服务。
ABCDE Capital发布开源并行Sequencer验证项目paraSequencer:4月8日,据官方消息,ABCDE Capital 发布开源并行 Sequencer 验证项目 paraSequencer,旨在通过并行处理的方式提高基于 Geth 的 Layer2、ZKRollup、ZKevm 项目 Sequencer 性能。据悉,在目前的 POC 版本中,paraSequencer 可比单线程串行 Sequencer 性能提高 300%-800%。[2023/4/8 13:51:45]
本文旨在向读者介绍UniswapV2带来的增强功能,并详细介绍其主要特性。
UniswapV1定下的基调
UniswapV1为链上代币互换和去中心化流动性池定下了基调,就是向交易代币的用户收取少量手续费、以此给提供流动性用户以奖励。
UniswapV1使用的不是链上订单簿,正相反,代币的交换比率是用一个叫做“恒定乘积公式”的算法来确定的,相当于提供了一种机制来保持一种代币的体量在所在交易对中的平衡。这个我们后面会进一步介绍。
NFT protocol Collection推出NFT DEX协议:1月5日消息,NFT protocol Collection 将于今天在以太坊的 Goerli 测试网上启动一个 NFT DEX 协议,允许用户为针对特定标准的 NFT 创建流动资金池。并将于 2023 年第一季度晚些时候在以太坊主网上推出。用户可以设置价格参数并将池限制为某些收藏、收藏内特征或社交策划列表,以允许人们更快、更轻松地买卖 NFT。[2023/1/5 10:23:46]
底层的代币交易对各有各的流动性池,用户可以通过同时存入两种相应的代币来提供流动性。流动性提供者可以得到所在流动性池中代币交易的手续费作为奖励,手续费率为0.3%,流动性提供者之间按份额分配——份额的大小,端看你注入流动性池的代币数量占整个流动性池数量的比重。
要是读者不太了解Uniswap,我曾写过的一篇基于UniswapV1的解释性文章肯定有所帮助——在那篇文章中我解释了协议的整个机制、交易比例是如何计算出来的、流动性提供者如何能赚到佣金、使用Uniswap的好处和缺点,等等。见此处。
UniswapV2有什么新东西
Aptos上周处理交易数量近1000万:金色财经报道,据Aptos周报速览显示,10月21日至10月28日期间,Aptos网络处理交易数量近1000万,平均TPS为16 txn/s,峰值TPS2,100 txn/s,活跃账户为1,500,000个,节点数目超1万个。[2022/11/3 12:12:21]
UniswapV2给协议带来了一系列的升级和增强功能。主要的更新包括:
ERC20对ERC20代币的交易对。即,不再需要ETH作为中介代币来协助两种ERC2O代币的互换过程。移除这个硬性要求可以减少一半的交易数量,也能节约交易的Gas费。也因此,dApp可以在缺乏直接的代币互换池子的时候,更高效地发现从一种代币到另一种代币的“路由”。这一部分我们后文还会详细讲。
价格信息传输功能,每个区块都能基于按时间加权平均的定价方式为交易对刷新价格。这一部分我们后文也会详细讲解。
闪电互换,或者说你可以从Uniswap流动性池中“借出”代币、用于与任意的外部服务交互、然后?还清?你的初始贷款,所有操作都要放在一笔交易内。这样的交易是原子化的,意思是说,交易中的任何一个操作失败,都是导致整笔交易失败、被改动的状态完全回复。这种功能的一个显而易见的用途就是利用流动性来做套利交易,但也有别的用途,比如为特定的DeFi操作节约Gas费,例如关闭Maker金库。
华纳音乐集团招聘元宇宙开发总监计划推出虚拟宇宙:金色财经报道,美国华纳音乐集团正在招聘至少两名可以开发和管理与 web3 相关的项目的人。根据LinkedIn上的招聘信息,第一份工作需要为元宇宙品牌和平台制定营销计划,并在元宇宙、web3 游戏、AR 和 VR 领域寻找新的机会。此外,华纳音乐集团希望候选人具有“深厚的游戏知识”以及对区块链感兴趣。
第二份工作侧重于与 web3、metaverse 和游戏领域的业务合作战略,专注于与这些领域的品牌、公司、平台和个人建立联系。
除了 NFT 之外,华纳音乐集团还在关注元宇宙和 web3 游戏机会。该职位发布是在唱片公司与 OpenSea 合作推出音乐 NFT 近一周后发布的,华纳音乐集团旨在通过这种合作关系来加强音乐迷的参与度。 (the block)[2022/10/6 18:40:17]
支持不标准的ERC20代币。办法是将返回?void?类型的?transfer()?和?transferFrom()?的函数调用也视作成功的transfer操作。这个功能看起来毫不起眼,但其实,许多主流代币比如USDT和BNB的transfer方法都会产生这样的返回值。支持这些广泛接受、但不完全遵守ERC20标准的代币,增强了Uniswap在链上交易所中的优势。
Solana生态算法稳定币UXD Protocol在新公链Sei上推出UXD:9月20日消息,专注于DeFi的新公链Sei今日宣布,Solana生态算法稳定币UXD Protocol正在新公链Sei上推出UXD。Sei表示,作为DeFi的基本组成部分,UXD稳定币的集成将为Sei用户提供无需许可、去中心化且稳定的记账单位。此外,UXD为在Sei上部署第一个Cosmos原生稳定币。[2022/9/20 7:07:45]
额外的功能性方法,用于防止用户所转移的代币数量超过Solidity编程语言所能支持的最大数量时出现溢出错误
注意:不标准的ERC20代币即支持正式的EIP详述所指定的方法,但返回值的类型迥异于详述的代币。这种缺陷会让一种代币变成不标准的代币。类似的,重命名或者移除了详述所指定的方法也会让代币变成不标准的,但这种情况在实践中很少见,如果像Uniswap这样的协议希望支持这样的变种,还需要大量的开发工作才能解决。
UniswapV2还引入了一个可启用的0.05%的协议层收费,就是从流动性提供者的0.3%的手续费中分一杯羹。不过,现在这个机制是关闭的——而且只能够通过一个去中心化的治理机制来触发。我们后文还会再说。
UniswapV2经过充分的测试和审计之后方才推出
智能合约一经部署就不可改变的特性所带来的风险,已经是老生常谈了。如果一个合约包含了会导致资产锁定的错误,那是没有办法让这些发送资产的交易都撤销的。
Uniswap团队遵照了行业的标准实践以尽可能地消除bug风险和逻辑错误。值得称赞!
从V1转成V2,团队也用Solidity语言重写了他们的智能合约。Uniswap的开发者因此得以跨越Vyper语言的局限性、利用最新版本的Solidity语言中的更新的操作码,进一步优化了合约执行的CPU消耗。
UniswapV2由多个智能合约组成,包括Factory、RouterV2、Pair和PariERC20,还有一个负责功能的Library。
驱动Uniswap工作的几个主要的合约如下图所示:
Router2是Router1优化之后的版本,不过它们的功能是一样的。Uniswap建议所有的开发者都切换去用Router2合约。
重写后的所有合约都得到了行内值得尊敬的开发团队的审核,也在模拟现实运行场景的测试网上做了广泛的测试。ConsensysDiligence联合多方撰写了对UniswapV2源代码的完整报告。完整的审核报告可见此处。
显然的是,UniswapV2在上线主网之前经过了充分的测试和审核。贯彻对源代码的尽职审核?很有可能?保证了未来不会发现任何重大的问题,虽然Uniswap还是发布了一个Bug悬赏,任何人发现了重大漏洞都可以获得奖金。
安全是区块链生态永不可能绕开的一个话题,而且这种担心也是可以理解的,毕竟有这么大的资金体量在这里交易。对底层区块链的攻击已经出现了大量的学术研究,但智能合约的完整性似乎仅仅在以太坊生态中才被人重视,因为被锁在合约中的资产仰赖于智能合约的逻辑来保证其安全性和可触达性。
好的,接下来我们就深入了解下UniswapV2的机制,感受一下这个协议的潜力。
UniswapV2的工作原理
每个代币交易对都要通过工厂合约建立自己的流动性池。建立流动性池时,需在其中存入初始资金,以提供流动性。
流动性池中代币对的汇率是基于供需量计算得出的,即所谓的?恒定乘积公式?。配合恒定乘积公式,一个交易对中的一种代币的价格,根据池中的供给量和交易者的需求量得出。因此,价格会在根据该公式画出的一条曲线上变动:
UniswapV2上的汇率取决于恒定乘积公式?
汇率是基于一个简单的公式?x*y=k?自动计算的。对应的曲线代表所有可能的汇率。每个交易对都有自己的曲线,用来调节当前汇率。
如果?代币B?的需求量很大,以至于流动性干涸,其价格将成倍增长,导致?k?点向曲线左侧上移。如果?代币B?的供应量很大,需求比?代币A?少得多,k?点就会向曲线右侧下移。要注意的是,这种供需平衡仅限于代币A与代币B的流动性池。如果是代币B与代币C的流动性池,会形成自己的供需平衡,汇率也会不同。
受到这些机制的影响,Uniswap依赖套利交易来让流动性池中的代币价格与市场价格保持一致。从本质上来说,这些协议依然需要通过外部交易系统来调控流动性池中代币的价格。每个代币对的汇率将根据市场价格不断波动,为交易者带来巨大的套利机会。
当用户在Uniswap.exchange的代币对流动性池中进行交易时,使用的是实时汇率。JavaScriptSDK会为其它应用提供API,再由这些应用提供自己的界面来访问不同的代币对及其汇率。这些汇率应用于ETH和ERC20代币:
-UniswapV2用户界面上ETH/DAI交易对的汇率-
现在,让我们深入探究可在UniswapV2上执行的交易类型。UniswapV2提供了更多交易选择,因为它不再像UniswapV1那样使用ETH作为中介代币来实现“ETH搭桥”。
原文链接:
https://medium.com/@rossbulat/uniswap-v2-everything-new-with-the-decentralised-exchange-52b4bb2093ab
作者:?RossBulat
翻译&校对:闵敏?&?阿剑
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。