UniswapV2是链上交换的下一个迭代。
Uniswap是以太坊区块链上的流动性协议,可实现无需信任交换代币,这意味着所有交易均通过智能合约执行,而无需中介或受托方。事实证明,这种分散式代币交换方法在ERC20代币持有者中很受欢迎,可以交换代币并为代币提供流动性。
在此之前,Uniswap在Rinkeby测试网上进行了一段时间的测试后,于2020年5月19日在以太坊主网上发布了其第二次迭代,以与v1.0.1核心合约同步发布。这个协议已在主网上使用了两个多月,到目前为止,尚未发生与智能合约的完整性有关的重大问题。
如果你持有或者交易加密货币,对以太坊开发,金融科技或金融趋势感兴趣,那么你应该关注Uniswap。到2020年第三季度,它与DeFi的蓬勃发展,取得了快速增长。Uniswap作为一项独立服务存在,但也可以集成到第三方钱包或Dapps中。除此之外,其他智能合约也依赖Uniswap作为其服务的基础。
推进UniswapV1的基础建设
UniswapV1奠定了链上代币交换和去中心化流动性池的基础,这些资金池为用户提供流动性和奖励,并收取少量费用进行交换。
代币汇率不是使用实时订单本,而是使用所谓的“恒定产品公式”来计算的。它本质是提供了一种机制,可以使代币的价值相对于所讨论的代币保持平衡。
基础代币(例如,DAI到ETH或DAI到USDC)每个都有与其关联的独立流动性池,用户可以通过将其中一个代币存入相应的资金池来为流动性做出贡献。无论何时进行交易,都会向流通量提供者收取0.3%的费用份额,该份额基于其共享代币相对于整个共享供应量的比率。
UniswapV2发展更全面
UniswapV2对协议进行了一系列升级和增强,这些协议基于第一次迭代引入的交换和流动性机制而建立。主要变化包括:
交换ERC20代币,不再需要ETH作为中间代币以促进交换过程。这也称为“ETH桥接”。取消此要求后,交易次数减少了一半,并节省了GAS费。如果没有设置直接交换代币的资金池,这也使Dapps可以有效地找到从一个代币到另一个代币的“来源”。
价格预言功能,可根据每个区块的代币对价格进行时间加权平均定价。
Flash交换或能够从Uniswap资金池中“借用”代币,与外部服务进行一些任意交易,并通过一次交易偿还最初借入的资金。这意味着如果在任何阶段事情失败了,它将全部还原。这种功能的明显例子是利用流动资金池执行套利交易,但还有其他有好处的例子,例如减少执行特定DeFi的GAS费,例如关闭MakerVault。
Glassnode首席分析师:比特币卖方风险比率接近历史最低点,大行情或即将到来:5 月 24 日,据 Glassnode 数据显示,当前比特币卖方风险比率接近历史最低点。Glassnode 首席链上分析师 _Checkmatey_解释称,该数据表明投资者已不愿在当前价格范围内实现盈利或亏损,这通常发生在买卖双方都精疲力尽的时候,表明大行情即将到来。需要注意的是,2018 年 11 月时该数据的值也非常低,仅表示交易者在此价格范围内精疲力尽,但并未告诉我们他们希望价格向哪个方向波动。[2023/5/24 15:22:29]
通过将void返回类型的转账和发送作为一个成功的转移,来支持非标准ERC20代币。这看似微不足道,但是USDT和BNB之类的主流代币在其转移方法上完全做到了上述要求。包括广泛采用的未完全遵守ERC20标准的代币,坚定了Uniswap在使用方面成为领先的链上交换的想法。
如果传输的代币数量超过Solidity能够支持的数量,则可以使用其他实用程序方法来防止溢出。
非标准ERC20代币必须支持官方EIP规范中指定的方法,但返回类型以及方法的签名可能与概述有所不同。此问题使代币成为非标准代币。重命名或删除所需的方法也会使代币成为非标准代币,但是这种做法较少实践,并且如果Uniswap之类的协议希望支持与最终规范的做法偏离,则需要采取主要的变通办法。
UniswapV2引入了可转换的0.05%协议费用,吞噬了0.3%的标准费用,但目前已关闭-只能通过分散式治理机制将其打开。
经过广泛的测试和审核后,UniswapV2正式推出。
现在已经有大量文献证明,如果智能合约中存在错误,则其不可变性会带来灾难性的丢失/冻结代币的风险。如果智能合约写得不好并且包含导致锁定资金的错误,那么就没有办法还原这些交易。
值得称赞的是,Uniswap团队遵循行业标准惯例,以确保将合同中的错误和逻辑错误风险降到最低。
从UniswapV1迁移到V2后,合约从第一版的Vyper重新编写为Solidity。这成功地克服了Vyper的局限性,并允许Uniswap开发人员利用最新的Solidity版本推出新的操作码,进一步优化了所使用的CPU资源的合约执行。
UniswapV2依赖于多个智能合约,包括V2、成对ERC20合约以及公用事业的合约。
分析师:只要BTC没有突破6800美元 将仍然看跌:加密货币分析师Crypto Michael发推称,“坦率地说,BTC的表现还不错,但这种上涨感觉有点奇怪。只要BTC没有突破6800美元,我将仍然看跌。预计将出现4200美元/4800美元的重新测试。尤其是下周各国应该会对新型冠状病更加恐慌。”[2020/3/22]
使Uniswap工作的主要合约如下:
UniswapV2正常工作的智能合约的结构Router2是Router1的优化版本,但是它们都执行相同的任务。Uniswap建议所有开发人员现在切换到使用Router2合约。
Uniswap的全面整改保证了来自开发工作室的第三方审核,以及在测试网上进行的广泛测试以模仿实际使用情况。这发生了ConsensysDiligence成为贡献自己的UniswapV2源代码综合报告的当事方之一。
似乎UniswapV2在主网发行之前已进行了广泛的审核。尽管Uniswap有一个漏洞奖励计划,如果发现了任何重大的漏洞,但对源代码尽职尽责的这项关键任务很可能确保了将来不会发现任何重大的漏洞。
安全是区块链领域一直关注的问题,考虑到该领域中交易的价值,这是可以理解的。攻击潜在区块链力学与共识,区块创建和交易验证有关的底层区块链机制的攻击是学术界许多研究的重点,但是智能合约完整性在以太坊中也同样重要,因为代币依赖于以太坊的完整性智能合约来确保它们的安全性和可访问性。
UniswapV2能做什么?
每对代币都有自己的通过合约初始化的资金池,并向资金池进行初始存款以提供流动性。
代币的汇率是根据池中两个代币的供求来计算的,即所谓的恒定产品公式。使用常数乘积公式,将基于供求来计算特定对中的代币值,其中该值沿着公式的曲线移动:
UniswapV2上的汇率的恒定乘积公式汇率基于以下简单公式自动计算:x*y=k。相应的曲线表示所有可能的代币值,每个代币对将具有自己的曲线,该曲线将调节其汇率的当前状态。
Coindesk分析师:比特币可能会在一两周内测试6000美元支撑:据Coindesk分析师,比特币即将面对小幅修正性反弹,但可能会在7000美元上方失去动力。此外,比特币可能在一两周内测试6000美元,前景依然看淡。只有每天收盘在MA10日均线上方,即7376美元,才会放弃看跌观点。[2018/6/13]
如果B代币的需求量很大并且数量枯竭,那么价格将成倍增加,结果是曲线的左侧向上移动。另一方面,如果B代币有充足的供应且相对于A代币没有需求,则价格将在曲线的右侧趋于平稳。请注意此供需余额是相对于A代币的,因此相同的B代币与不同的A代币配对将代表单独的数量和价格比。
由于这些机制的影响,Uniswap依靠套利交易来使代币的价值与其他市场保持一致。从本质上讲,这些协议仍然需要外部交易生态系统来控制代币值。每个交易对的汇率将不断更新,以匹配市场价格。这为交易者提供了巨大的机会。
在Uniswap.exchange上的交易对之间切换时,实时应用汇率。JavaScriptSDK为其他应用提供API,以提供其自己的接口来获取交易对及其汇率。除ERC20代币外,汇率还适用于本机ETH:
在UniswapV2UI中应用于ETHDAI交易对的汇率。
现在,我们来探讨可以在UniswapV2上进行的交换类型。现在可用的扩展交换选项是由于ETH不像UniswapV1中那样被用作中间代币,也称为“ETH桥接”。
UniswapV2交换选项
如上所述,在每个交换代币中都使用了UniswapVIETH。在从A代币到B代币的交换中,首先必须将一个代币转换为ETH,然后再将该ETH转换为B代币。结果导致交易费用加倍,GAS费加倍。
Uniswap文档将第一次迭代称为其去中心化自动交换概念的“原型”。这很可能是由于开发人员发现了V2中提供的更有效的交易方法。忽略ETH作为中间代币这种优化之一。
删除ETH作为实用程序已启用直接交换代币,如下图所示:
MDEX官方:UniSwap上假币MDX与MDEX没有任何关系:近日,有用户举报发现UniSwap上出现冒充MDEX的假币。据MDEX官方核实,该网站使用“MDEX.COM”标志,并使用MDX为代币名称,冒充MDEX发币严重侵犯了MDEX品牌声誉与用户利益。MDEX官方团队发布声明称:“UniSwap链上假币MDX与MDEX没有任何关系,请用户谨慎辨别。” MDEX团队同时对用户发出提醒称,有关MDEX官方的所有进展和信息,均会通过官网公告及官方渠道进行发布。请广大投资者保持警惕,谨防上当受。[2021/1/20 16:33:19]
两个ERC20代币之间的直接交换这似乎是合理且直观的,也许这就是V1的工作方式。可以调用路由器合约上的将完全代币交换为代币和确认代币和交换代币方法进行此类交易。
这些方法名称中使用的精确术语代表的是你交易的代币。在从DAI到ETH的交易中,您需要一定数量的ETH作为回报,您可以使用用代币交换准确的代币。另一方面,如果您想为相应的ETH值交易确切数量的DAI,则可以使用用确切的代币交换代币。UniswapV2的所有智能合约都使用此约定。
除了直接交换之外,用户仍然可以选择以ETH作为中间代币在两个代币之间交换。当没有用于输入和输出代币的资金池,而在ETH和两个代币之间确实存在资金池里时,这将很有用。
在通过ETH交换DAI和LINK的情况下,产生的交换如下图所示:
间接交换,其中ETH是中间代币。
允许进行此类交易的相应Solidity方法是完全交换ETH或代币和把ETH换成确切的代币,以及把代币换成ETH和用代币交换ETH。
交换代币的最后一种方法是在达到所需的输出代币之前,将交换到多个ERC20代币,或如白皮书所述的“任意ERC20代币”。当然ETH代币也可以成对出现。
请考虑以下示例,该示例将DAI值在一系列代币中移动,然后到达所需的LINK输出代币:
Uniswap宣布推出治理工具Sybil:金色财经报道,Uniswap宣布推出用于发现代表的治理工具Sybil。Sybil将链上地址映射到数字身份以维持一个代表列表,同时避免麻烦的用户注册、链上交易和手动记录保留。Sybil的目的是为治理代币持有人提供一种简单的方法来识别其社区代表,并以此增加对协议开发过程的参与。[2020/12/16 15:19:40]
通过一系列代币路由资金,以交换没有直接配对的代币。
如果你的代币之间没有资金池,则这个方法很有用,并且省略了前面提到的ETH桥接,因此可以使用此方法。
尽管这种交换方法是可行的,但是没有智能合约方法可用于自动促进多种代币交换。相反,前端应用程序必须手动对功能进行编码,并改为对Uniswap进行多个事务调用。
这种例子可能不会被大量使用在通过1或2个中间代币传递价值后,GAS费会使额外的掉期交易变得不经济。此外,在中心化的交易所上可能存在更便宜的代币交换。综上所述,一旦以太坊2.0的扩展功能和更有效的利益证明共识被买入主网,这样的功能可能会被更广泛地使用,从而使多事务交换具有更可行的前景。
预言机
Uniswap的预言机使开发人员可以基于该代币在多个区块上的价格变动来计算平均代币价格,这也可以通过其时间戳来表示一段时间。
累积的这段时间可能是最后一个小时,24小时或更长时间。
尽管Uniswap提供代币价格,但它不会在链上存储任何历史值。取而代之的是,Dapp开发人员有责任在一段时间内累积价格以计算出这段时间内的平均价格。
这些价格称为“时间加权平均价格”或TWAPS。
这个想法是通过将累计价格除以时间戳持续时间来计算一个区块周期内的平均价格时间戳)。
下图总结了此计算:
TWAP是通过在时间戳持续时间内的区块持续时间内累计价格来计算的。
TWAP是可靠的,并且会随着时间的推移反映代币的价值。这种方法可以防止闪存崩溃或价格狂涨,这种活动在加密货币交易中并不罕见。在市场波动的情况下,提供时间加权价格可以反映代币的更准确表示。
如果服务需要,开发人员可以自由利用预言机,他们可以通过UniswapJavaScriptSDK进行检索,然后将进一步访问。
闪兑
闪兑是由多阶段过程组成的事务,这些过程从Uniswap资金池借用代币,对这些代币进行处理,然后归还这些代币,所有这些都在同一笔交易中完成。如果事务的任何阶段失败,所有更改的状态都将恢复,并将代币保留在其相应的Uniswap池中。
下图显示了买方可以在没有持有代币的情况下执行快速交换交易。这是因为无论交易失败或购买者偿还同一笔交易中借入的代币,可以保证代币都能返回到池中:
闪兑的一个很好的案例是套利交易,通过这种交易,买方可以保证获利并将原始代币价值返还给Uniswap池。买方每次都能从套利交易中获得利益。
另一个案例是利用Uniswap池结算MakerVault,在那里你可以偿还债务,并从该库中提取抵押的ETH来偿还Uniswap池。
这比用你自己的钱完成同样的任务需要更少的GAS费。闪兑是Uniswap的一项相对较新的功能,但是我们可以期望不久的将来会有更多的Dapps集成该功能。
在交易机器人的案例中,还可以利用闪兑来自动执行套利交易。机器人不需要资金来执行交易,只需要识别套利机会并执行快速掉期交易即可。
新的0.05%协议费用和治理
UniswapV2以“协议费用”的形式为协议引入了额外的费用,当交易开启时,将交易金额的0.05%转到Uniswap拥有的地址。这0.05%是从交易所的标准0.3%费用中扣除。因此,一旦启用此功能,流动性提供商将是输家。
这项协议费用目前已关闭,而且Uniswap也没有公开宣布它将在不久的将来启用。
这项增加似乎是一个值得怀疑的决定,但是Uniswap开发人员认为这是长期支持Uniswap增长和可持续性的必要功能。事实是,如果他们希望启用此费用,将建立一个治理机制,社区需要对该机制进行投票,以决定是否开启该机制。
尽管激活此功能需要达成社区共识,但这样做将使Uniswap组织在财务和竞争方面具有巨大的优势,因为费用会被转移到他们的钱包中。
从好的方面来说,这笔费用将为改善协议和整个生态系统的努力提供资金,这将促进进一步的采用,并因此产生更多的交易费用,使流动性提供者受益。从理论上讲,这弥补了最初由电荷引起的损耗。下图总结了这个想法:
开启0.05%协议收费的积极结果关于决定协议收费是否开启的治理机制,目前还没有公布太多的细节,但可以假设,与Maker的治理和投票协议类似,ERC20代币将用于提交投票。
为了管理协议收费机制,UniswapFactory合约包含用于设置协议收费钱包地址的feeTo和feeToSetter的方法,账号能够分别设置feeTo值。
JavaScriptSDK开发包
值得一提的是UniswapJavaScriptSDK的存在。开源库提供了NodeJS、JavaScript框架以及任何基于浏览器的应用程序提供JavaScriptapi以与Uniswap集成。
这已经导致第三方将Uniswap直接集成到其产品和服务中。
代理钱包,转换的交易所和流动市场是将Uniswap直接集成到其产品中的众多应用程序中的3个。JavaScriptSDK文档涵盖了用于获取代币对数据和对地址的API,以及用于利用上述价格预言功能进行交易和获取定价的API。
请注意交易不能自动执行,相反,这些API将准备一个交易,考虑到中间市场价格和您愿意结算的最小输出代币金额。
交易配置完成后,用户必须使用MetaMask等钱包软件启动并签署交易。
上币有什么特别之处?
如果你想知道如何在Uniswap上线发行新的代币,这是一个手动过程,则Uniswap组织会调用要添加到其上的代币。即使某个特定ERC20的链上可能存在一个资金池,也不能保证它会出现在Uniswap官方网站的代币列表中。
如果所有代币持有者希望请求将其代币添加到uniswap的默认代币列表中,则需要在默认代币列表存储库中提交GitHub问题。
有一个函数Uniswap它允许你在代币的搜索字段中输入一个ERC20代币地址,如果存在,它将成功将其添加到你的列表中。这允许代币在Dapp上使用,但是代币不会持久保存在列表中供其他人使用,因此不会让代币曝光。
开发人员还可以通过遵循简单的JSON结构来创建自己的代币列表,以填充自己Uniswap的集成。
总结
更高效的代币交换、时间加权价格预言机和闪兑是主要的改进。其中包括在幕后进行的改进,例如转向基于Solidity的智能合约的转移,这些合约利用最新的操作码来提高执行效率。
UniswapV2仍然是一个无需信任的去中心化交易所,位于以太坊上,除非成功攻击以太坊基础协议,否则该篡改将无法被篡改。迄今为止,这种情况还没有发生,以目前正在运行的矿工和验证器的数量来看,不太可能发生这种情况。
ETH2的Medalla测试网推出20,000个验证程序,我预计这个数字对于主网的发布来说会更高,验证器将受到实际价值的激励。
另一方面,UniswapV2仍然是代币交换的一个不太完美的实现。目前,GAS费是有史以来最高的,这使每笔Uniswap交易都变得昂贵。Uniswap没有实时订单,导致交易者仍然依靠中心化交易所执行交易策略。如前所述,中心化交易所在平衡Uniswap汇率方面仍然扮演着不可替代的角色,后者依靠套利交易与平均市场价格保持同步。
UniswapV2正朝着正确方向迈出积极一步,但如果去中心化交易所渴望完全取代中心化交易所,未来仍将面临重大挑战。说到这里,整个加密货币圈,尤其是以太坊的情绪是非常积极的。人们可以充满自信地预计,在短期到中期,DeFi领域在技术能力和采用率方面不会放缓。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。