Uniswap V2上的事务选择
如上所述,Uniswap V1上的每个事务对都包含ETH。如果您想将a代币转换为B代币,必须先用a代币购买以太坊,然后再使用以太坊购买代币B,因此交易者需要支付两笔交易费和汽油费。
Uniswap文件称V1为去中心化自动交换的“原”这可能是因为开发人员已经找到了一种更有效的方式来执行v2提供的事务。删除ETH作为中间代币是一种优化。
如下图所示,ETH不再作为中间代币使用后,可以在交易对之间进行直接交易:
-直接交换两个ERC20代币-
这种直观的操作方式似乎应该采用V1。只需调用路由合约上的swapexceptokensfortokens和swaptokensforexacttokens方法进行交易。
上面的方法名中的精确值表示要在交换中为哪个代币设置限制。如果您希望使用Dai购买一定数量的ETH,则应使用Swaptokens ForExactTokens;另一方面,如果您希望使用一定数量的Dai购买ETH,则应使用SwapexactTokens。Uniswap V2的智能合约采用了这两种方法。
除了直接交易,用户仍然可以选择使用ETH作为中间代币来实现两个代币之间的交易。用户不需要直接在输入代币和输出代币之间创建流动性池,只要两个代币和以太坊之间有流动性池。
例如,使用ETH作为中介代币,实现Dai与link的交易,其过程如下:
-使用ETH作为中间代币的间接交换(类似于uniswp V1)-
相应的坚固性方法为Swapexecthfortekens和swapETHforexceptokens,以及swapexectTokensForExceptokens和swapexacttokensforETH。
实现代币交易的**一种方法是交易多个ERC20代币,直到得到想要的输出代币,白皮书中称之为“任意ERC20交易对”当然,所谓的任意代币对也可以包含ETH。
下图显示了如何通过一系列代币将Dai的值传输到理想输出代币链接:
-对于没有直接事务对的代币,可以通过一系列中间代币事务获得输出代币-
如果您的输入代币和您想要获得的输出代币之间没有流动性池,并且上面提到的ETH不一定需要作为中间代币,则可以这样做。
虽然这种交易方式是可行的,但目前还没有智能合约能够自动实现这么多的代币交易。您只能手动将此函数写入前端应用程序的代码,并对Uniswap进行多个事务调用。
这种方法的使用频率可能不会太高,因为额外的GAS FEE用会使迂回的交易在通过一个或两个中间代币转移价值后变得不经济。或许通过中心化交易所进行交易的成本更低。然而,一旦ETH2.0主线采用更高效的POS机制,再加上可伸缩性特点,使迂回交易更加可行,这种方法将得到更广泛的应用。
价格信息传递机制
Uniswap的价格信息传输机制允许开发者根据代币在几个块中的价格波动(或用两个时间戳之间的时间区间表示)来计算代币的平均价格。
此时间区间可以是第一个小时、前24个小时或更长时间。
尽管Uniswap提供代币价格,但它不存储任何历史价格。dappp开发者需要根据一段时间内的累计价格来计算这段时间内代币的平均价格。
这些平均价格被称为时间加权平均价格(twap)。
所谓twap,就是在链中选择一个块作为时间区间,将该块中代币的累计价格(每个块中代币的价格)除以时间戳区间(结束块的时间戳减去起始块的时间戳),得到该块中代币的平均价格。示意图如下:
-Twap是根据块中的累计代币价格计算的-
Twap是可靠的,反映了代币价格随时间的变化(记住,这是基于特定的代币对)。通过这种方式,你可以避免闪电下跌和价格剧烈波动,这在加密货币市场很常见。当市场存在价格波动时,twap可以更准确地反映代币的情况。
如果需要,开发者可以通过Uniswap的JavaScript SDK免费获取价格信息。详情如下。
闪电交易
快速掉期是指从Uniswap的流动性池中借出代币的多阶段过程,使用这些代币进行操作,并通过交易偿还这些代币。如果进程的任何阶段失败,所有状态更改都将撤消,相关代币将返回到相应的Uniswap流池。
下图显示了交易员如何在不持有代币的情况下执行闪电交易。这是因为从流动性池中借入的价值必须归还给该池。要么交易失败,要么交易者返还借入的代币:
闪速交易的一个重要使用案例是套利交易,交易员必须能够盈利,并将之前借入的代币价值返还给Uniswap流动资金池。交易者每次都可以很容易地通过套利获利。
另一个用例是使用Uniswap流动性池结算maker vault。您可以偿还债务,并从maker vault获得ETH(或其他代币)作为抵押品,以偿还Uniswap流动资金池。这种方法比直接使用你自己的代币消耗更少的汽油。
闪电交易是Uniswap上相对较新的功能,但我们很快就会看到更多的dapp集成了这一功能。
在交易机器人的情况下,闪电交易也可以用来自动执行套利交易。交易机器人不需要资金来执行交易,只需要识别套利机会并执行闪电交易。
新的0.05%协议费和治理
Uniswap V2还引入了一种新的协议费用,称为“协议费”启用此机制后,Uniswap上0.05%的事务量将被传输到Uniswap持有的地址。这0.05%是从Uniswap标准的0.3%手续费中提取出来的,如果这一机制被激活,流动性提供者的利益将受到损害。
目前,这一机制仍处于关闭状态,联合国信息和通信系统项目方没有公开声明,表示它计划启用这一机制。
加入这一机制似乎有些可疑,但Uniswap开发者认为,有必要支持Uniswap的发展和可持续性。更重要的是,有一个事实可以为他们辩护:这需要一个治理机制来启用这一机制,而是否激活它则取决于社区投票。
虽然启动这一功能需要社区的共识,但它将给联合国信息和通讯系统项目各方带来巨大的利益和竞争优势。
好的一面是,这笔费用可以用来升级协议和整个生态系统,提高接受度,最终使流动性提供者获得更大的利益;理论上,它可以弥补他们在这一机制中的利益损失。整个过程如下图所示:
-收取协议费0.05%的积极效果-
目前没有关于治理机制的***息,但可以假设ERC20代币将用于收集选票,类似于maker的治理和投票机制。
为了管理协议收费机制,Uniswap工厂合同包括设置接收资金的地址的feeto和feetosetter方法,以及有权更改feeto地址的账户。
JavaScript SDK开发包
本文旨在避免过于技术化,但有必要提及Uniswap的JavaScript SDK。这个开源库提供了用于node的JavaScript API、JavaScript框架和所有基于浏览器的应用程序来集成Uniswap。
这足以让第三方应用程序将Uniswap直接集成到自己的产品和服务中。
Agent wallet、switcheo exchange和STREAMR marketplace是与Uniswap直接集成的三种产品。
JavaScript SDK的文档解释了提取代币对数据和代币对地址的API,以及启动事务和获取定价的API。应用程序可以使用上述价格信息传输功能。
请注意,API不能自动执行交易,它只能帮助您准备交易,同时考虑到您愿意接受的中间市场价格和**交易额(称为“滑动点”)。
一旦交易准备就绪,用户必须使用metamask等钱包软件手动启动并签署交易。
在Uniswap的代币列表上
如果你好奇的话Uniswap.exchange如何确定上的代币列表非常简单。它是手动的。Uniswap团队将通过视频会议讨论添加哪些代币。因此,即使出现了一些ERC20代币的交易池,也并不意味着该代币将出现在Uniswap官方网站的代币列表中。
如果您是代币的发行者,您希望您的代币出现在[Uniswap.exchange]在默认代币列表中,您需要在默认代币列表存储库中提交GitHub问题。
Uniswap.exchange还有一个功能。您可以在搜索框中键入ERC20代币的地址,以查找代币并将其添加到自定义列表中。这样,你可以在dapp中交易代币,但这并不意味着其他人可以看到代币,因此不会增加代币的曝光率。
开发人员还可以通过遵循简单的ON结构,在自己的Uniswap集成中创建定制的代币列表。有关更多操作详细信息,请参阅Uniswap的代币列表存储库。
总结
本文对Uniswap V2进行了全面的回顾,揭示了其改进方案和工作原理。更有效的代币交换、时间加权价格信息识别机制和闪电交换功能都是主要的改进。在这些改进的背后,基于SOLidness编写合同的技术工作使Uniswap V2能够使用**的操作码实现更高效的执行。
Uniswap V2保持了信任自由和去中心化的特性。它存在于以太坊区块链中,除非底层协议被分解,否则无法销毁。到目前为止,这一切都没有发生,而且考虑到矿工组织的规模(以及核查人员的规模),这在未来不太可能发生。
以太坊2.0的测试网络在启动时有20000个验证器,我预计当主网络启动时这个数字会更高,因为验证器会得到经济回报。
另一方面,作为代币交换,Uniswap V2并不完美。在撰写本文时,以太坊网络的燃气成本处于历史**水平,这使得使用Uniswap的燃气成本极其昂贵。Uniswap没有实时的订单记录功能,因此交易者只能找到一个中心化的交易所来使用交易策略。如上所述,Uniswap需要用户套利,以保持交易中代币价格与市场价格一致。中心化兑换在平衡Uniswap汇率方面仍然发挥着不可替代的作用。
Uniswap V2是朝着正确方向迈出的积极一步,但要使去中心化交换机完全取代中心化式交换机,还有很长的路要走。尽管如此,加密货币界(尤其是以太坊生态)的观点是非常乐观的——我们可以有把握地说,无论是技术能力还是接受度,DeFi的进展都不会在短期内放缓。
文章标题:关于uniswap V2的科普知识
文章链接:https://www.btchangqing.cn/96862.html
更新时间:2020年09月03日
本站大部分内容均收集于网络,若内容若侵犯到您的权益,请联系我们,我们将第一时间处理。