原文作者:YBB Capital Researcher Ac-Core
导读:
相比于 21 年 5 月时隔两年的 V3 版本,V4 拥有了更为自由灵活的资产可组合性以及大幅降低了提供流动性和交易所需的 Gas 费用。在新功能 Hooks(钩子)的加持下,开发者无需开发 xxSwap,只需在 Hooks 中定制流动性并加上前端页面和符合自身需要的元素,即可开设“制定场所” ,与此同时也无需担心“制定场所”流动性不足的问题的问题。让我们一探究竟 Uni V4 是如何引领 DeFi 从“乐高时代” 迈入“万钩演义”。
YBB Capital Researcher Ac-Core 自制
Uniswap V4 — 熊市为数不多的真创新
Uniswap 的迭代升级让我们看到了 DeFi 世界的无穷潜力,它从始至终都没有违背 X*Y=K 的初衷和规则。Uniswap V4 的创新主要集中在提供更加定制化的交易逻辑,改进 Gas 效率和开发者体验,以及提高交易的便利性和效率。相比于使用 V3,无论是开发者还是用户,都能获得更加开放、自由且高效的自动化做市商服务。下文将全面介绍V4的升级及最重要的两个改变:Hooks 和 Singleton 。
改变一切的引入:Hooks(钩子)
Uniswap V4 版本的核心功能 - Hooks,它可以让每一位开发者创建出满足场景需求的定制化 DEX,组建出自己的“乐高积木” 。Hooks 是 Uniswap V4 引入的重要概念,它们是用于定制化流动性池、交换、费用和流动性提供者(LP)位置交互的插件。通过 Hooks 机制,开发者可以在流动性池的生命周期中的关键时刻执行特定的操作,例如在交换之前/之后,或在 LP 位置发生变化之前 / 之后。
同时,Hooks 也是智能合约,它们与 Uniswap V4 的核心合约进行交互,可以在流动性池中的不同“关键点”执行(关键点是指:交换之前/之后的操作,或 LP 存款/取款时等),允许开发者以灵活的方式定义和执行自定义逻辑。Hooks 可以被绑定到特定的流动性池中,做到控制池的行为和交互方式。例如,开发者可以创建一个在每次交换之前验证特定条件的 Hook,或者在 LP 位置变化时执行一些附加操作。
YBB Capital Researcher Ac-Core 自制
通过 Hooks 矿池创建者可以调整矿池参数并向 AMM 引入新功能,甚至还可允许在 Uniswap 构建各种 DeFi 策略,最终使 LPs / swapper 受益更多。我们不难想象 Hooks 的引入将为开发者带来更大的灵活性和创新空间,可以根据自己的需求和策略创建独特的流动性池,以提供更多创新和个性化的交易体验,例如:
时间加权平均市场制造者(TWAMM):开发者可以利用 Hooks 机制创建支持 TWAMM 策略的流动性池,以在一段时间内平均分散大额订单的交易。
动态费用:通过 Hooks,流动性池可以根据市场波动性或其他输入参数动态调整费用,以更好地适应市场情况。
Onchain 限价订单:Hooks 可以实现在链上创建和执行限价订单,使用户能够以指定价格进行交易。
与借贷协议的交互:开发者可以通过 Hooks 将超出流动性范围的资金自动存入借贷协议,从而最大化资金的效用。
与此同时 Uniswap V4目前支持如下图所示的八种 Hooks 回调,这些 Hooks 可以在交易开始开始前和交易结束后执行,从而实现链上限价订单的功能。实际操作中可在交易开始前设置一个限价,随后在交易结束后检查是否满足这个限价,如果满足,就执行交易,如果不满足,就取消交易。
YBB Capital Researcher Ac-Core 自制
V4 的另一个 Hooks —— “Action Hooks”
Uniswap V4版本中除了 Hooks 外,还存在着另一个“Action Hooks” 。它只有在满足 Flag 条件时才能触发运行合约,因此它可在合约执行期间调用逻辑。参考下面流程图来解释说明,在我们资产交换之前,合约需检查 Flag 以此来评估流动性池的波动性,如果流动性很高,Flag 会变成 True 并运行执行我们的 Hooks,如果流动性不足,Flag 会变成 False 从而拒绝 Hooks 保持交互不变,通过如下图示执行操作“Action Hooks” 则启用了一种更为节省 Gas 的方法来执行我们所需要的 Hooks,接下来将介绍 Singleton 结构和 Flash accounting 将在 V4 中实现更加便宜的资产交换和合约部署体验。
YBB Capital Researcher Ac-Core 自制
全新的单例结构:Singleton
在 Uniswap 往期版本中,Factory-Pool 是从V1延用至今的合约架构,同时也是 DeFi 世界中众多 DEX 和衍生品最常使用的合约架构,但在V4版本中它舍弃了 Factory-Pool 取而代之是单例合约“Singleton“结构。在V3中每次创建流动性池都需要重新部署全新的合约,这样部署的成本是非常昂贵的,但在V4里,单例结构将所有流动性池全部保存在了一个合约当中,这样可以最大限度的降低创建流动性以及跨链池(合约)中的 Gas 消耗,这样代币交易不需要在不同的合约之间转移,甚至能从V3基础上降低 99% 的 Gas 费用。
这种单例架构还配备了全新的Flash Accounting系统。在V3中当每次交互结束时,都需要在流动性池之间转移资产,而在V4版本里,该系统仅在“净余额”上进行资产转移,每个操作(交换/部署)只会导致内部余额的变化,资产余额以单位“delta”表示,在交换结束时,它只会在一系列计算后交换掉净“delta”余额,这意味着一个更高效的系统能够为 Uniswap V4再次提供额外的 Gas 节省。
借助 “Singleton” 和 “Flash Accounting”,Uniswap V4 支持了 Native ETH。用户可以直接使用以太币(ETH)进行交易,再无需进行额外的转换操作,以此提高交易的便利性和 Gas 费的节省。这让 Uni 和 ETH 生态紧密捆绑,起到反哺以太坊的作用。
在合约结构方面,V4的流动性仓位数据存储与封装也发生了巨大的变化。在V2版本中流动性是位于全区间分布的(如上图 1),所以 Uni 协议使用的是同质化 Token(ERC-20)作为流动性凭证。V3版本中,由于加入了限价流动性,所以在选择对应的流动性显示上变为了非同质化代币(ERC-721)来展示。而在V4版本中我们猜测流动性显示不会用 Token 化的方式表现,而是会使用每一个钱包的地址进行管理。此外,坎昆升级中的 EIP-1153 的“transient storage”(瞬态存储)也利于V4系统,这有助于进一步实现成本优化。
YBB Capital Researcher Ac-Core 自制
如何允许定制的 Oracle 并将内部化的 MEV 分发给 LP 持有者
UniSwap V4 是一个去中心化交易协议,旨在实现在以太坊上进行无需信任的代币交易。它通过使用定制的 Oracle 实现和内部化的 MEV(最大化交易价值)分发机制,为此提供了更高的流动性和更好的交易体验。要允许定制的 Oracle 实现并将内部化的 MEV 分发给流动性提供者(LP 持有者),可以考虑以下步骤:
1. 设计定制的 Oracle :你需要开发一个能够提供定制化价格数据的 Oracle。Oracle 是一个获取外部数据的合约,它将实时市场价格等信息提供给智能合约。可以根据自身需求,开发一个根据交易对、时间或其他因素定制的 Oracle 合约。
2. 实现内部化的 MEV 分发机制:MEV 是指在区块链交易中由于交易顺序变化而产生的利益。UniSwap V4 通过内部化的 MEV 分发机制,将这些利益直接分发给流动性提供者。你可以设计一个机制,使得当 MEV 出现时,一部分收益直接分配给相应的 LP 持有者。
3. 合约集成和部署:将定制的 Oracle 和内部化的 MEV 分发机制集成到 UniSwap V4 的智能合约中。只需要在相应的合约中进行修改和扩展,即可支持这些功能。确保在合约开发和修改过程中遵循安全性最佳原则,并进行充分的测试和审计。
4. 通知和激励机制:向流动性提供者宣传这个新的特性,并为他们提供适当的激励。可以通过社媒渠道、或其他方式与用户进行沟通,让他们了解到新的定制 Oracle 和内部化 MEV 分发机制的好处。
5. 监测和改进:在部署后,密切关注系统的运行情况。监测交易和 MEV 分发的效果,并根据需要进行改进。同时反馈和参与社区的建议对于进一步优化这个机制非常重要。
定制化流动性池的优势
Uniswap V4引入定制化流动性池的概念,但定制化是建议在集中流动性的基础之上的,所以这种转变不仅影响了 Fork Swap 发展格局,聚合器的存在意义,甚至还为流动性提供者和交易者带来了许多优势。
拓展流动性提供的选择: 传统的 AMM 模型通常具有固定的规则和参数,这限制了流动性提供者的选择。然而,Uniswap V4通过 Hooks 机制允许定制化流动性池,使得流动性提供者能够根据自己的偏好和策略创建不同类型的流动性池。这使得市场上可以出现各种规模的流动性池,为用户提供更多选择和灵活性。
减少费用和提高效率: Uniswap V4的架构通过引入Singleton合约,将所有流动性池集中在一个智能合约中。这种架构可以减少交易的成本,提高交易的效率,同时简化合约的部署和维护。此外,定制化流动性池还可以根据具体需求设置更适合的费用结构,以满足不同用户的需求。
提供更广泛的交易策略和风险管理工具: 定制化流动性池为交易者提供了更多交易策略和风险管理工具的机会。例如,通过支持 TWAMM 策略,大额订单可以在一段时间内平均交易,从而降低对市场价格的冲击。此外,定制化流动性池还可以与其他 DeFi 协议进行集成,例如借贷协议和自定义预言机,为用户提供更全面的交易解决方案。
全面提升灵活性和创造力:定制化流动性池为流动性提供者带来更大的灵活性。他们可以根据市场需求和策略来定制化管理自己的流动性。这种灵活性和创新潜力可以激励更多的流动性提供者参与,为交易者提供多样化的流动性选择。
值得思考的问题
YBB Capital Researcher Ac-Core 自制
1.Curve 解决了 Uni V3什么问题?
Uni V3 AMM 模型是基于 X*Y=K 为基础的交易模型,在我们实际组合 LP 的过程中会发现当出现极端行情时,不仅总价值会出现无偿损失的风险,同时也是会出现流动池兑换率超出范围的情况。Curve 和 Uniswap V3是两种不同的去中心化交易协议,它们面对的问题和目标略有不同。
相比于V3,Curve 解决了以下问题:
1. 赚取低流动性区间的利润:Uniswap V3的特点是将流动性集中在特定的价格区间内,受到其 AMM 模型影响,而其他价格区间则缺乏流动性。这导致在较大价格范围内交易时,交易成本较高且流动性有限。相比之下,Curve 专注于稳定币之间的交易,并通过使用自适应的流动性曲线来增加价格区间内的流动性。这意味着用户可以在较大的价格范围内以更低的滑点进行稳定币交易。
2. 低成本交易:由于 Curve 专注于稳定币之间的交易,其中包括具有固定价格关系的资产,它采用了特定的算法和策略来降低交易的滑点和成本。这使得用户可以以更具竞争力的价格进行稳定币交易。
3. 更好的价格发现:Curve 提供了更大范围内的流动性,特别是在稳定币之间进行交易时,它能够提供更好的价格以被发现。这意味着用户可以更准确地获得稳定币的市场价格,从而更好地进行交易决策。
4. 高效的稳定币交易:Curve 采用了专门优化的算法和流动性曲线,旨在提供高效的稳定币交易。这使得用户可以快速、安全地进行稳定币之间的兑换,而不需要过多的价格滑点或成本。
2. 利用 Uni V2创建的双 Token 经济模型 DEX:Camelot
Camelot 原是位于 Fantom 发布的项目,原名:Excalibur,随后因采用 UST 作为稳定币而崩盘,随机迁移至了 Arbitrum 生态,更名为 Camelot 。与 GMX 不同的是,Camelot 更加侧重为新项目做流动性的引导,其主要创新机制为无许可「Nitro Pools」,项目可完全自己控制激励措施,达到建立自身发展所需的流动性类型。
需要重点强调的是 Camelot 的双 Token 经济模型,将 Uniswap V2与 Curve 的去中心化交易协议相结合,且同时支持波动性和稳定性 Token 对交易,将流动性分散在从零到无穷大的整个区间内。最重要的是可以让项目方根据市场条件和协议的具体情况设置交易手续费用的比例,达到管理动态定向交易费用的目的。
除此之外,Camelot 的自定义 Launchpad 也是无许可的,以供项目发行 Token 并为其引导更多流动性。不仅如此,每个在 Camelot AMM 上启动或与之合作的项目都可以为其 LP 配置特定的交易利率,以适应其项目自身的流动性策略需求。
综上述小结
Uniswap V4作为去中心化交易所的重要升级,通过引入 Hooks 和定制化流动性池的概念,为 DeFi 生态系统带来了更大的灵活性和创造空间。Hooks 机制允许开发者根据自己的需求和策略创建独特的流动性池,并提供了丰富的交易策略和风险管理工具。定制化流动性池拓展流动性提供的选择、减少费用和提高效率,以及提供更广泛的交易策略和风险管理工具。
然而,V4的出现必定再次重建 DeFi 的底层基础,它提供了一个超大的流动性底池,开发者可以利用这个底池来部署自己的 Hooks 或生态,甚至不需要功能单一的 xxSwap 即可获得高额的流动性,让更多开发者在 Uniswap 平台上开发各种多功能性的生态,Hooks + SingLeton 是否会结合 Curve+Camelot 的优势影响 DeFi 下一步的发展趋势,让我们拭目以待吧。