关于Uniswap V4,你需要知道的一切!以及如何实现限价单交易?
V4对Uniswap本身以及整个DeFi都将产生广泛的影响。
目录
*以下是 Uniswap V4 版本的主要功能:
*挂钩 Hooks
*单例模式 The Singleton
*治理、发布和分发
*对于 DeFi 的意义
*Uniswap V4是如何实现限价单交易的?
*关于 Hooks
*V4 限价单机制
*1. 创建限价单(place)
*2. 执行限价单(fill)
*3. 撤销限价单(kill)
*4. 提取资金(withdraw)
*有了 Hooks,限价单的运行机制就很明显了:
*Uniswap v4 白皮书
V4对Uniswap本身以及整个DeFi都将产生广泛的影响。
原文来源:Bankless原文编译:BlockBeats对于 Web3 来说,身处熊市,我们即将度过艰难的六月,但 Crypto 开发者并不会停止动作。今日,Uniswap 发布了 Uniswap V4 版本代码草稿,以便可以公开构建 V4 版本。Bankless 与 Uniswap 创始人 Hayden Adams 交谈后,深入了解到将到来的 V4 版本的所有功能更新。BlockBeats 将其编译如下:
在这之前,我们先熟悉一下上个版本 V3 的具体情况,Uniswap V3 于 2021 年 5 月发布,引入了集中流动性(可以在特定价格范围内提供流动性),从而显着提高 DEX 的资本效率,也奠定了 Uniswap 作为 DeFi 领域最大 DEX 的地位。目前 Uniswap 在 DeFi 链上交易量中占有 57.4% 的份额,是该领域排名第二 DEX 的 3 倍之多。
Uniswap V4 的愿景是允许任何人通过引入「挂钩」(Hooks)来做出这些权衡决定。
以下是 Uniswap V4 版本的主要功能:
挂钩 Hooks
Uniswap V4 的核心特点是挂钩(Hooks),挂钩是在资金池生命周期的某个特定时刻运行的代码片段。与之前的 Uniswap 版本相比,新版本资金池的可定制程度更高,因此无论是创建池子,还是 LP(流动性提供者)添加/移除流动性,抑或是在 swap 之前/后,挂钩起到的作用都非常重要。
例如,挂钩可以用来创建具有根据市场条件变动的动态交换费用的资金池,而不是预先设置和静态的交换费用。同时,挂钩还使交易者能够下更复杂的订单,例如限价订单或 TWAP(时间加权平均价格)订单,这些订单会在一定时间内买入/卖出一定数量的 Token。
图源:Uniswap不仅如此,挂钩还允许以不同的方式使用 Uniswap 的流动性。这类似于 Balancer 的 Boosted Pools,超出范围的流动性可以存入其他协议,例如借贷者,以获得额外的收益。
以上这些有关挂钩的示例,仅仅是 Uniswap 团队构思出的一些应用。除此之外,任何人都可以无需获得许可的构建和部署自己的挂钩。
律动 BlockBeats 注:在 DeFi 中,Hooks是一种编程概念,指的是一组用于在智能合约执行特定操作时自动触发的函数或代码片段,可用于在特定事件发生前、后或期间执行自定义逻辑。Hooks 为开发者提供了一种在智能合约的不同阶段执行自定义逻辑的方式。通过使用挂钩,开发人员可以实现更灵活、可定制和可扩展的 DeFi 应用程序。「单例模式 The Singleton」
Uniswap V4 带来的第二个重大变化是引入了 Singleton 模式。顾名思义,Singleton 是一个包含了 Uniswap V4 中所有不同池子的单个合约。这与之前的 Uniswap 版本不同,之前的版本中每个池子都保存在其自己独立的合约中。
这种模式显著提高了 V4 的 Gas 效率,因为复杂的 Swap 将通过单个合约路由,而不是多个不同的合约,后者会消耗大量的 Gas。使用 Singleton 模式预估能够将部署的新池子(即新的交易对)的成本降低高达 99%。
图源:UniswapSingleton 还利用了 Uniswap Labs 所称的「闪电记账系统」(flash accounting system)。这将进一步降低在 DEX 上交易时的 Gas 成本,因为只有在完成 Swap 时才转移池子中的 Token 净余额。这与 Uniswap V3 不同,V3 在 Swap 过程中会将涉及交易的所有资产转移进/出池子。
治理、发布和分发
Uniswap V4 将由 Uniswap DAO 和 UNI Token 的持有者进行治理。
与之前的 V3 和 V2 一样,该协议将包括一个费用开关,Uniswap 治理可以在逐个池的基础上激活该开关,以从流动性提供者产生的费用中抽取一部分。
V4 将在 Business Source License 1.1 的许可下发布,该许可证将持续四年,并限制协议仅供经过治理批准的实体使用。
最后,值得注意的是,Uniswap V4 并不是即将发布。据 Hayden 在播客中所说,V4 的代码尚未最终确定并经过审计,因此会在协议正式发布之前的某个时间点公布。
对于 DeFi 的意义
V4 对 Uniswap 本身以及整个 DeFi 都将产生广泛的影响。
首先,此次升级应该有助于 Uniswap 保持其作为交易量最大的 DEX 的地位,因为挂钩可以提高协议的资金效率,相对于 V3 而言更加可定制且 Gas 效率更高。后两个特性应该有助于 Uniswap 吸引更多来自 DEX 聚合器和较长尾的异质交易对的订单流,同时保持其在较高交易量的交易对(如 ETH/USDC、ETH/USDT、ETH/DAI 等)中的主导地位。
此外,此次升级使得 Uniswap 能够创建更多类型的订单,如 TWAP 和限价订单,这应该有助于 Uniswap 吸引更多需求多样的交易者转向 DEX,进而增强与 CEX 的竞争力。这一角度来说,此前 FTX 的崩盘,和近期对 Binnace 和 Coinbase 此类 CEX 施加的监管压力,链上交易活动大幅增加,目前的情况可能有助于 Uniswap 这类 DEX 在加密交易中更竞争力。
在 5 月份,DEX/CEX 交易量比达到历史新高,之后有所回落。随着 Uniswap V4 逐渐成熟,它似乎有很大的机会将这一比率推至新的高度。
最后,V4 应该有助于使 Uniswap 成为一个更具可组合性的协议。众所周知,Uniswap V3 由于分叉许可和管理集中化流动性头寸的挑战而难以构建。在挂钩和 Singleton 模式之间,相对于 V3 版本,似乎更容易构建和利用 V4 流动性。这可能带来一波新的有趣应用,并在 DeFi 行业迫切需要创新的时刻激发创意的浪潮。
总的来说,Uniswap V4 应该有助于推动 DeFi 领域向前发展,能够给 DeFi 带来更完善的未来。但是,它还需要一段时间才能推出。届时 DeFi 将再次领头 Crypto 行业。
Uniswap V4是如何实现限价单交易的?
未来即将推出的 Uniswap V4 版本代码草稿,相比 V3 出现了很多创新点。其中,最引人瞩目的一点就是 V4 版本出现了限价单交易。大家对于 Uniswap V4 如何实现限价单交易比较好奇,接下来为大家深入分析一下 Uni V4 版本如何实现限价单交易。
关于 Hooks
根据 Uniswap 官方白皮书,限价单交易隶属于其新功能的 Hooks 之下,所以是依靠 Hooks 机制来实现链上限价单交易。
Hooks 是 Uniswap V4 的核心机制,指的是在资金池生命周期的某个特定时刻运行的代码片段。与之前的 Uniswap 版本相比,新版本资金池的可定制程度更高,因此无论是创建池子,还是 LP(流动性提供者)添加/移除流动性,抑或是在 swap 之前/后,Hooks 起到的作用都非常重要。
在 DeFi 中,Hooks 是一种编程概念,指的是一组用于在智能合约执行特定操作时自动触发的函数或代码片段,可用于在特定事件发生前、后或期间执行自定义逻辑。Hooks 为开发者提供了一种在智能合约的不同阶段执行自定义逻辑的方式。通过使用 Hooks,开发人员可以实现更灵活、可定制和可扩展的 DeFi 应用程序。
例如,Hooks 可以用来创建具有根据市场条件变动的动态交换费用的资金池,而不是预先设置和静态的交换费用。同时,Hooks 还使交易者能够下更复杂的订单,例如限价订单或 TWAP(时间加权平均价格)订单,这些订单会在一定时间内买入/卖出一定数量的 Token。
不仅如此,Hooks 还允许以不同的方式使用 Uniswap 的流动性。这类似于 Balancer 的 Boosted Pools,超出范围的流动性可以存入其他协议,例如借贷者,以获得额外的收益。
V4 限价单机制
通过GPT分析 Uniswap V4 的限价单 LimitOrder.sol 的示例合约代码,得出的限价单运行流程大概如下:
通过 LimitOrder 合约,Uniswap 实现了限价单的创建(place)、执行(fill)和撤销(kill)等操作:
1. 创建限价单(place)用户可以调用 place 函数来创建一个限价单。这个函数需要接收一个 PoolKey(包含交易对的信息),一个 tickLower(价格区间下限),一个 zeroForOne 标志(表示交易方向)和预期添加的流动性 liquidity。这个函数会创建一个新的 Epoch(时间段),并将相关信息存储在 epochInfos 中,然后触发 Place 事件。
2. 执行限价单(fill)在每一次交易结束后,都会调用 afterSwap 函数。这个函数会检查当前的价格是否穿过了任何限价单的价格区间,如果有,就会调用 lockAcquiredFill 来执行限价单。执行限价单的过程中会从池子中提取相应的资金,并触发 Fill 事件。
3. 撤销限价单(kill)用户可以调用 kill 函数来撤销一个限价单。这个函数会接收一个 PoolKey,一个 tickLower,一个 zeroForOne 标志和一个接收者地址 to。这个函数会从 epochInfos 中删除相关信息,并将限价单中的资金退回给接收者,然后触发 Kill 事件。
4. 提取资金(withdraw)在限价单执行后,用户可以调用 withdraw 函数来提取他们的资金。这个函数会接收一个 Epoch 和一个接收者地址 to,然后将用户在那个时间段内执行的所有限价单的资金提取出来,并触发 Withdraw 事件。
有了 Hooks,限价单的运行机制就很明显了:
-在 Hooks 合约上下订单;
-Hooks 合约将你的订单添加到其 V4 交易上;
-根据自定义或托管预言机,当价格到限价单价格时,会触发 Hooks 自动执行 Swap 操作,并调整流动性;
-Hooks 自动 remove order
-订单取消或完成。
BlockBeats 提醒,以上的解释是基于这个智能合约代码的表面行为。实际的行为可能会受到其他因素(比如其他智能合约的交互、链上数据的变化等)的影响,因此在使用这个合约时应该注意审查其代码并理解其工作原理。
Uniswap v4 白皮书
白皮书下载链接:https://github.com/Uniswap/v4-core/blob/main/whitepaper-v4-draft.pdf
编译:theblockbeats
来源链接:https://www.theblockbeats.info/news/42667
原文链接:https://twitter.com/Uniswap/status/1668603580184502276
②https://blog.uniswap.org/uniswap-v4
研报分享群请加微信vcpeblo添加微信请注明:姓名-职业更多精彩内容,尽在“报告财经”官网
▼ 点击“阅读原文”,或者登陆官网:baogaocj.com
发表回复