Uniswap v4 Hook DualPool技术详解:LP资金闲置也能赚取收益
Uniswap DualPool现已上线 —— 这是一个开源的 Uniswap v4 Hook,由 Spark 合作设计、Uniswap Labs 开发。它允许做市商在资产闲置期间赚取借贷收益,直到交易发生时才将资金投入使用。从外部看,DualPool 就是一个普通的 v4 池:交易者、聚合器和求解器通过 PoolManager 执行交易。而在内部,池中的资金存放在 ERC-4626 收益金库中,当需要执行交易时,资金会被拉入集中流动性头寸。
闲置资本问题
链上流动性是全天候待命的。提交到 AMM 池中的资产随时可以被交易,但在交易之间的空窗期,这些资产不会产生任何收益。对于专业做市商来说,这就迫使他们必须在资金的存放位置之间做出取舍:将资金放入池中,可以赚取交易手续费,但放弃借贷收益;将资金放入借贷市场,可以赚取收益,但无法参与交易流量。对于稳定币对等交易对,手续费很薄,竞争激烈,借贷收益可能持平甚至超过手续费。因此,做市商有时会选择收益,而该流动性也就不会出现在 AMM 上。
DualPool 通过即时提供流动性消除了这种取舍:在交易间隙,资金存放在收益金库中;当交易到达时,池子在交易本身内部按需调用所需资金。
DualPool 的工作原理
在两次交易之间,DualPool 在 PoolManager 中实际持有的流动性几乎为零。其资金存放在池子运营方选择的 ERC-4626 金库中,持续赚取借贷收益。当一笔交易到达时,Hook 在交易事务内原子性地执行一个四步循环:
- 只取出刚好够用的资金:Hook 根据当前价格计算其配置区间所需的各种代币数量,仅从金库中提取差额部分。
- 部署集中流动性:按照运营方的分配方案,将资金作为一笔或多笔头寸发布。
- 正常执行交易:PoolManager 针对这些头寸运行标准的交换计算,并收取池子的固定费用,与其他池子无异。
- 将剩余资金重新存入金库:Hook 移除其添加的所有头寸,与 PoolManager 结算,并将剩余资金重新存入金库。
对交易者而言,这就是一次普通的 Uniswap 交易。运营方的资金仅在交易持续期间离开金库,交易完成后立即重新存入。由于交易本身就处理了流动性的取出和重新存入,系统可以自主运行,无需任何 Keeper 基础设施。
DualPool 的服务对象
运营方(Operators) 是专业做市商。运营方部署池子、设定费用、选择收益金库、设计流动性分布,并注入初始资金。作为回报,他们同时获得交易手续费和闲置资金产生的收益。
流动性提供者(LPs) 可以在运营方允许外部存入时加入池子。LP 按比例获得池中资产的权益,同时赚取手续费和金库收益,无需主动管理。
交易者(Swappers) 通过他们已经使用的界面、聚合器和路由器,像使用任何其他 Uniswap 池一样与 DualPool 进行交易。整个交易过程不会暴露流动性刚刚还存放在借贷金库中这一事实。
路由器和聚合器通过现有的 v4 执行路径运行 DualPool 交易,无需改动。唯一(可选的)新增工作是报价。
流动性形态
DualPool 不是将资金部署到单一价格区间。每个池子都带有运营方配置的分布方案:一组带权重的 tick 区间,在每次交易时一并部署。区间可以重叠、可以不对称地分布在当前价格两侧,也可以完全偏于一侧。这足以编码一套做市策略,而不仅仅是一个波段。运营方可能运行的几种典型分布形态包括:稳定币订单簿、杠铃型、锚定防御梯等。运营方可以在两次交易之间的任何时候替换分布方案,因此形态可以根据波动率环境灵活调整。
永不改变的特性
费用、金库和交易逻辑在池子创建时即固定,保证了对于聚合器和求解器的可预测性。运营方不能改变核心交易逻辑,也没有管理员函数可以盗取 LP 存入的资金。运营方保留的权力(暂停和恢复池子、重新调整流动性分布、限制外部存入、以及在紧急情况下切断金库访问)完全位于这三个不变性之外。
对持有零流动性的池子进行报价
DualPool 暴露了一个专用的报价接口,避免路由器因流动性为零而误判。指示性报价视图、储备视图对、暂停池子返回明确错误。执行层面没有变化,成本仅为 Gas 开销增加(当前价格下约多花几美分)。
安全模型
隔离性:按池子和货币维护分类账,一个池子的资产不能被另一个赎回。份额安全:LP 份额内部不可转让,带有虚拟偏移抵御通胀攻击,强制最短持有期。重入防护:面向用户的入口点带有标准防护,交易循环由瞬态锁保护。核心信任假设是底层收益金库,运营方必须选择治理和升级风险可接受的金库。紧急情况下可暂停池子、关闭存款、撤销金库授权并取回资产。OpenZeppelin 对 DualPool 进行了审计,未发现严重或高危漏洞。
使用 DualPool 进行构建
如果你希望你的资金在两次成交之间持续赚取收益,DualPool 现已上线。要部署你自己的 DualPool,请使用此部署指南:它指导你从官方工厂部署经过审计的 Hook。部署指南涵盖了完整流程,包括配置和验证。如需深入了解 DualPool 的工作原理,请查看 GitHub 仓库和开发者文档,其中包括面向路由器和聚合器的集成指南。
免责声明:以上内容(如有图片或视频亦包括在内)均为平台用户上传并发布,本平台仅提供信息存储服务,对本页面内容所引致的错误、不确或遗漏,概不负任何法律责任,相关信息仅供参考。
本站尊重他人的知识产权、名誉权等法律法规所规定的合法权益!如网页中刊载的文章或图片涉及侵权,请提供相关的权利证明和身份证明发送邮件到qklwk88@163.com,本站相关工作人员将会进行核查处理回复