Uniswap 详解:Hooks 功能
摘要: Uniswap 是 这家领先的去中心化交易所的最新升级版本,旨在提高效率并降低成本。它将所有流动性池整合到一个合约中,从而降低了gas 并简化了流动性管理。
主要升级包括闪电结算以最大限度减少代币转移、根据市场状况动态调整的手续费、ETH 原生ETH 以降低交易成本,以及可自定义的hooks 开发者修改交易执行和流动性行为。
什么是Uniswap ?
Uniswap 推出了迄今为止最具可定制性且资金利用率最高的Uniswap 。该版本于2025 年 1 月 31 日上线,不仅增强了开发者的控制权、降低了gas ,还为交易者和流动性提供者(LP)解锁了先进的流动性策略。
主要改进包括:采用闪电会计机制以减少代币转移、根据市场状况动态调整的手续费,以及将所有流动性池整合到一个系统中的单例合约。此次升级还恢复了ETH ,无需再WETH,并引入了hooks 更深入池定制hooks 。

Uniswap 的功能及工作原理
正如Uniswap Core 官方 whitepaper所述,此次升级引入了一个将所有流动性池整合在一起的单例合约、用于优化代币转账的闪电记账机制,以及hooks 开发者自定义swap hooks 。以下是对支撑Uni 的关键功能的深入解析。
Hooks
Uniswap hooks 是外部智能合约,允许开发者自定义和扩展liquidity pool 。每个池可以挂接一个钩子,而一个钩子可以被多个池使用,以在池生命周期的特定节点修改执行流程。
使用案例包括
- 特定于资源池的Hooks:Hooks 可选的,在创建资源池时必须进行指定,以便进行针对性的自定义。
- 生命周期Hooks:在池初始化、流动性添加/移除、兑换和捐赠等关键事件发生之前或之后执行逻辑。
- 细粒度流动性控制:开发人员可使用预定义的钩子函数修改流动性的添加或移除方式。
- 自定义Swap :Hooks 修改交易行为,例如集成替代定价模型或附加swap 。
- 扩展用例:Hooks 各种高级DeFi 包括自定义自动做市商(AMM)、yield 激励、合成资产以及借贷集成。

辛格尔顿合同与 Flash 会计
Uniswap 引入了一个单例合约,将所有流动性池整合到一个系统中进行管理。这简化了部署流程,并降低了gas 。
此外,闪存会计通过首先更新内部余额并在最后执行最终转账来优化交易。这样既能确保偿付能力,又能改善原子交换和多跳交易。

原生ETH
Uniswap 恢复了原生ETH 用户无需再将ETH 包装ETH WETH 或解包回原生 ETH。原生ETH gas 费用gas ERC-20 低近 50%。
通过将ETH 整合到流动性池中,Uniswap 消除了ETH WETH 之间流动性碎片化所导致的低效问题。
自定义会计
自定义会计机制允许开发者在代币交换和流动性事件期间修改代币余额,从而覆盖默认的集中式流动性模型。这使得提取手续费、替代性AMM 以及定制化的LP 结构成为可能。
动态收费
Uniswap 支持swap、按区块或按任意时间间隔调整手续费,从而根据市场状况优化费用。手续费结构可根据市场波动、交易量和网络拥堵情况进行调整,既确保流动性提供者获得公平回报,又能最大限度地降低交易者的成本。
如何使用Uniswap
Uniswap 引入了新的资金池管理功能、可自定义的hooks以及更低成本的流动性提供方案,同时与旧版本无缝兼容。无论是进行代币交换、提供流动性,还是构建自定义逻辑。
1.交换令牌
Uniswap 通过自动将交易路由至 V2、V3 和 V4 中的最高效流动性池,实现了无缝的代币兑换。
如何在Uniswap 上Swap :
- 访问Uniswap :打开Uniswap 应用并连接您的wallet 例如Metamask)。
- 选择代币:swap 下拉菜单swap 选择您想要swap 的ERC-20 。
- 输入交易金额:请输入要发送或接收的金额(USDC 0.1ETH USDC )。
- 确认swap:路由器会寻找最佳流动性路径并执行交易。

2.提供流动性
Uniswap 允许流动性提供者(LP) 在资金池中建立头寸,并可选配自定义hooks 高级策略。提供流动性可赚取交易手续费,同时还能灵活定制资金池的运作方式。
如何在Uniswap 上提供流动性:
- 打开流动性页面:访问Uniswap 应用,点击“提供流动性”。
- 选择Uniswap :选择“V4”选项。如果使用自定义钩子,请输入合约地址(可选)。
- 设置池参数:选择代币对,设置收费层级(如 0.05%、0.3%),并定义价格范围。
- 批准并存入:在您的wallet确认代币授权,完成存入操作,并开始赚取手续费。

3.创建资源库
Uniswap 允许用户无需许可即可创建流动性池,从而开辟新的交易市场并支持自定义流动性策略。
如何在Uniswap 上创建资金池:
- 打开池创建页面:访问Uniswap ,然后选择“创建池”。
- 设置池参数:选择代币对(例如USDC),选择手续费档位(例如 0.3%),并设定 tick 间隔。
- 初始化资金池:开发者可以通过智能合约或 Foundry、Hardhat、Etherscan 等web3 利用 PoolManager 设置初始价格。
- 有无流动性均可部署:要么使用 PositionManager 立即为池提供资金,要么为未来的流动性预留资金。

4. 设计Hooks
Uniswap hooks 允许开发者自定义swap 、动态手续费和流动性策略,为流动性池增添灵活性。
如何Hooks Uniswap 上开发和部署Hooks :
- 创建项目:安装Uniswap 依赖项(v4-core、v4-periphery)并配置映射。
- 编写钩子逻辑:开发可调整掉期、费用或流动性行为的智能合约功能。
- 部署钩子合约:使用 Foundry 或 Hardhat 部署合约并检索其地址。
- 将钩子附加到池:创建池时,指定钩子合约地址以修改执行流程。

Uniswap 与 V3 及更早版本的对比
Uniswap 保留了 V3 的集中式流动性模型,但将独立的资金池合约替换为单一合约,从而降低了gas 。它还具备闪电结算功能,减少了不必要的代币转移,并原生ETH ,无需再对ETH 进行包装。
与早期版本相比,V4 的gas最高。V1 和 V2 采用的是较为简单的AMM ,而 V3 虽然以更高的成本提升了资本效率,但 V4 通过更低成本的交易对、自动流动性管理以及借助hooks实现的池级自定义功能,进一步优化了这一机制。

什么是 ERC-6909?
ERC-6909是Uniswap 推出的一项代币标准,支持通过单个合约管理多个ERC-20 。该标准通过采用内部记账机制,最大限度地提高了交易效率,从而降低了申领、赎回及流动性管理过程中的gas 。
与 ERC-1155 Uniswap ERC-6909 消除了不必要的回调,简化了转账委托流程,并缩小了合约体积。它还引入了总供应量变量来追踪已铸造和已销毁的代币,通过支持代币化权益,为高频交易者和流动性提供者带来了益处。
Uniswap 许可协议
Uniswap 采用商业源代码许可协议(BUSL)授权,限制其源代码在 2027 年 6 月 15 日之前用于商业或生产环境,届时将过渡到 MIT 许可协议。Uniswap 可通过“附加使用授权”对 BUSL 授予例外许可,这与Uniswap 的做法类似。
关于Uniswap
Uniswap 由Hayden Adams 于2018年创立Hayden Adams 首个主要的去中心化自动maker AMM),此后已成为按交易量计算的最大去中心化交易所(DEX)。
在Uniswap 和 V3 平台上,该协议已处理超过 2.75 万亿美元的交易量和 4.65 亿笔交易,且从未发生过任何黑客攻击或漏洞利用事件。
最近的里程碑事件包括九次独立审计、一次有 500 多人参加的价值 235 万美元的安全竞赛,以及历史上最大的漏洞悬赏活动,为关键的 V4 漏洞提供高达 1550 万美元的奖金。

最后的想法
在完成了一项总额达1550万美元的漏洞赏金计划后Uniswap 已在包括Ethereum、BNB 、Arbitrum、Base Polygon在内的10条区块链上上线。在前两周,从V3向V4的迁移平均 TVL 带来700万美元的TVL ,这反映出其采用率稳步提升。
Uniswap 预计将通过降低运营成本,对流动性提供者(LP)和投资者产生重大影响。新的单例合约(Singleton Contract)可将gas 降低多达 30%,而动态费用机制则确保流动性提供者在市场波动剧烈时期获得更高收益。



