Uniswap 的反覆運算升級讓我們看到了 DeFi 世界的無窮潛力,它從始至終都沒有違背 X*Y=K 的初衷和規則。
作者:Ac-Core,YBB Capital Researcher
字數: 本文超 5500 閱讀時長:13 minute
封面:Uniswap
導讀:
相比於 21 年 5 月時隔兩年的 V3 版本,V4 擁有了更為自由靈活的資產可組合性以及大幅降低了提供流動性和交易所需的 Gas 費用。 在新功能 Hooks(鉤子)的加持下,開發者無需開發 xxSwap , 只需在 Hooks 中定製流動性並加上前端頁面和符合自身需要的元素,即可開設 “制定場所” ,與此同時也無需擔心 “制定場所” 流動性不足的問題的問題。 讓我們一探究竟 Uni V4 是如何引領 DeFi 從「樂高時代」邁入「萬鉤演義」。。
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 位置变化时执行一些附加操作。
通过 Hooks 矿池创建者可以调整矿池参数并向 AMM 引入新功能,甚至还可允许在 Uniswap 构建各种 DeFi 策略,最终使 LPs / swapper 受益更多。我们不难想象 Hooks 的引入将为开发者带来更大的灵活性和创新空间,可以根据自己的需求和策略创建独特的流动性池,以提供更多创新和个性化的交易体验,例如:
- 时间加权平均市场制造者(TWAMM):开发者可以利用 Hooks 机制创建支持 TWAMM 策略的流动性池,以在一段时间内平均分散大额订单的交易。
- 动态费用:通过 Hooks,流动性池可以根据市场波动性或其他输入参数动态调整费用,以更好地适应市场情况。
- Onchain 限价订单:Hooks 可以实现在链上创建和执行限价订单,使用户能够以指定价格进行交易。
- 与借贷协议的交互:开发者可以通过 Hooks 将超出流动性范围的资金自动存入借贷协议,从而最大化资金的效用。
与此同时 Uniswap V4 目前支持如下图所示的八种 Hooks 回调,这些 Hooks 可以在交易开始开始前和交易结束后执行,从而实现链上限价订单的功能。实际操作中可在交易开始前设置一个限价,随后在交易结束后检查是否满足这个限价,如果满足,就执行交易,如果不满足,就取消交易。
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 中实现更加便宜的资产交换和合约部署体验。
全新的单例结构: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 系统,这有助于进一步实现成本优化。
如何允许定制的 Oracle 并将内部化的 MEV 分发给 LP 持有者
UniSwap V4 是一个去中心化交易协议,旨在实现在以太坊上进行无需信任的代币交易。它通过使用定制的 Oracle 实现和内部化的 MEV(最大化交易价值)分发机制,为此提供了更高的流动性和更好的交易体验。要允许定制的 Oracle 实现并将内部化的 MEV 分发给流动性提供者(LP 持有者),可以考虑以下步骤:
- 设计定制的 Oracle :你需要开发一个能够提供定制化价格数据的 Oracle。Oracle 是一个获取外部数据的合约,它将实时市场价格等信息提供给智能合约。可以根据自身需求,开发一个根据交易对、时间或其他因素定制的 Oracle 合约。
- 实现内部化的 MEV 分发机制:MEV 是指在区块链交易中由于交易顺序变化而产生的利益。UniSwap V4 通过内部化的 MEV 分发机制,将这些利益直接分发给流动性提供者。你可以设计一个机制,使得当 MEV 出现时,一部分收益直接分配给相应的 LP 持有者。
- 合约集成和部署:将定制的 Oracle 和内部化的 MEV 分发机制集成到 UniSwap V4 的智能合约中。只需要在相应的合约中进行修改和扩展,即可支持这些功能。确保在合约开发和修改过程中遵循安全性最佳原则,并进行充分的测试和审计。
- 通知和激励机制:向流动性提供者宣传这个新的特性,并为他们提供适当的激励。可以通过社媒渠道、或其他方式与用户进行沟通,让他们了解到新的定制 Oracle 和内部化 MEV 分发机制的好处。
- 监测和改进:在部署后,密切关注系统的运行情况。监测交易和 MEV 分发的效果,并根据需要进行改进。同时反馈和参与社区的建议对于进一步优化这个机制非常重要。
定制化流动性池的优势
Uniswap V4 引入定制化流动性池的概念,但定制化是建议在集中流动性的基础之上的,所以这种转变不仅影响了 Fork Swap 发展格局,聚合器的存在意义,甚至还为流动性提供者和交易者带来了许多优势。
- 拓展流动性提供的选择: 传统的 AMM 模型通常具有固定的规则和参数,这限制了流动性提供者的选择。然而,Uniswap V4 通过 Hooks 机制允许定制化流动性池,使得流动性提供者能够根据自己的偏好和策略创建不同类型的流动性池。这使得市场上可以出现各种规模的流动性池,为用户提供更多选择和灵活性。
- 减少费用和提高效率: Uniswap V4 的架构通过引入”Singleton” 合约,将所有流动性池集中在一个智能合约中。这种架构可以减少交易的成本,提高交易的效率,同时简化合约的部署和维护。此外,定制化流动性池还可以根据具体需求设置更适合的费用结构,以满足不同用户的需求。
- 提供更广泛的交易策略和风险管理工具: 定制化流动性池为交易者提供了更多交易策略和风险管理工具的机会。例如,通过支持 TWAMM 策略,大额订单可以在一段时间内平均交易,从而降低对市场价格的冲击。此外,定制化流动性池还可以与其他 DeFi 协议进行集成,例如借贷协议和自定义预言机,为用户提供更全面的交易解决方案。
- 全面提升灵活性和创造力:定制化流动性池为流动性提供者带来更大的灵活性。他们可以根据市场需求和策略来定制化管理自己的流动性。这种灵活性和创新潜力可以激励更多的流动性提供者参与,为交易者提供多样化的流动性选择。
值得思考的问题
1.Curve 解决了 Uni V3 什么问题?
Uni V3 AMM 模型是基于 X*Y=K 为基础的交易模型,在我们实际组合 LP 的过程中会发现当出现极端行情时,不仅总价值会出现无偿损失的风险,同时也是会出现流动池兑换率超出范围的情况。Curve 和 Uniswap V3 是两种不同的去中心化交易协议,它们面对的问题和目标略有不同。
相比于 V3,Curve 解决了以下问题:
- 赚取低流动性区间的利润:Uniswap V3 的特点是将流动性集中在特定的价格区间内,受到其 AMM 模型影响,而其他价格区间则缺乏流动性。这导致在较大价格范围内交易时,交易成本较高且流动性有限。相比之下,Curve 专注于稳定币之间的交易,并通过使用自适应的流动性曲线来增加价格区间内的流动性。这意味着用户可以在较大的价格范围内以更低的滑点进行稳定币交易。
- 低成本交易:由于 Curve 专注于稳定币之间的交易,其中包括具有固定价格关系的资产,它采用了特定的算法和策略来降低交易的滑点和成本。这使得用户可以以更具竞争力的价格进行稳定币交易。
- 更好的价格发现:Curve 提供了更大范围内的流动性,特别是在稳定币之间进行交易时,它能够提供更好的价格以被发现。这意味着用户可以更准确地获得稳定币的市场价格,从而更好地进行交易决策。
- 高效的稳定币交易: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 下一步的發展趨勢,讓我們拭目以待吧。
免責聲明:作為區塊鏈資訊平臺,本站所發佈文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。 文章內的資訊僅供參考,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。