链得得|Uniswap V2 改进与创新,DeFi丨一文读懂

作者|RossBulat
链得得|Uniswap V2 改进与创新,DeFi丨一文读懂
文章图片
UniswapV2是链上交易所的下一个迭代产品 。
Uniswap是Ethereum区块链上的一个链上流动性协议 , 它可以实现无信任的代币交换 , 这意味着所有的交易都是由智能合约执行的 , 而不需要中介或受信任方 。 这种去中心化的交换代币的方法已经被证明受到ERC20代币持有者的欢迎 , 以交换他们的代币并为代币对提供流动性 。
Uniswap于2020年5月19日在Ethereum主网上推出了第二个版本 , 以配合核心合约v1.0.1的发布 , 在此之前 , Uniswap已经在Rinkebytestnet上测试了一段时间 。 在撰写本文时 , 该协议已经在主网上使用了2个多月 , 到目前为止 , 还没有发生与智能合约完整性有关的重大破损或问题 。
如果你对持有和/或交易加密货币、Ethereum发展、金融科技或一般的金融趋势感兴趣 , Uniswap应该会吸引你的注意 。 它在2020年第三季度经历了快速增长 , 以配合蓬勃发展的DeFi领域 。 Uniswap作为一个独立的服务存在 , 但也可以整合到第三方钱包或Dapps中 。 除此之外 , 其他智能合约也依靠Uniswap作为其服务的基础 。
本篇将以中立的方式向读者介绍与UniswapV2一起推出的增强功能 , 详细介绍主要功能 。
UniswapV1提供的基础
UniswapV1奠定了链上代币交换和去中心化流动性池的基础 , 为用户提供流动性的奖励 , 并收取少量费用进行交换 。
代币汇率不是实盘 , 而是使用所谓的"恒定产品公式"来计算 , 这一点将在下面简单重温 。 它本质上提供了一种机制 , 以保持代币价值相对于相关代币对的平衡 。
基础代币对(如DAI兑换ETH , 或DAI兑换USDC)都有与之相关的独立流动性池 , 用户可以通过将其中任何一种代币存入相应的池子来贡献流动性 。 然后 , 每当有交易发生时 , 流动性提供者就会得到0.3%的手续费分成奖励--这个分成是基于其池中代币相对于整个池子供应量的比例 。
UniswapV2中的新内容
UniswapV2为协议带来了一系列升级和增强 , 这些升级和增强建立在第一个迭代引入的交换和流动性机制的基础上 。 主要变化包括
ERC20到ERC20的代币交换 , 其中ETH不再需要作为中介代币来促进交换过程 。 这也被称为"ETH桥接" 。 取消这一要求后 , 交易次数减少了一半 , 节省了gas费 。 这也使得Dapps在没有设置直接交换代币池的情况下 , 可以有效地找到从一个代币到另一个代币的"路线" 。 本篇将进一步详细访问这些变化 。 价格预言机功能 , 允许根据每个区块的代币对价格进行时间加权平均定价 。 我们将详细解读这个机制背后的机制 。 闪电交换 , 或者说能够从Uniswap池中"借用"代币 , 与外部服务进行一些任意交易 , 并在一次交易中偿还你最初的借贷资金 。 该交易是具有原子性的 , 这意味着如果在任何阶段交易失败 , 它将被全额还原 。 这种功能的明显用例是利用流动性池执行套利交易 , 但也有其他用例提供了好处 , 比如削减执行特定DeFi操作的gas费用 , 比如关闭MakerVault 。 通过将无效返回类型的transfer和transferFrom视为成功转移 , 支持非标准的ERC20代币 。 这看起来似乎微不足道 , 但主要的代币如USDT(Tether)和BNB(BinanceCoin)在它们的转移方法上正是这样做的 。 包括广泛采用的没有完全遵守ERC20标准的代币 , 加强了Uniswap在使用量上优先链上交易所的主张 。 额外的实用方法 , 以防止在转移的代币数量超过Solidity所能支持的情况下出现溢出 。非标准ERC20代币必须支持官方EIP规范中指定的方法 , 但返回类型以及由此产生的方法签名可能与概述的内容不同 。 这个问题使得令牌成为非标准的 。 重命名或删除所需的方法也会使令牌成为非标准 , 但这种做法较少 , 而且如果像Uniswap这样的协议想要支持这种与最终确定的规范的偏差 , 则需要大量的变通方法 。