2025年1月31日,一条消息在加密世界炸开了锅——Uniswap V4 正式上线,10条链同步启动。

这不是一次普通升级。它给整个 DeFi 行业递了一把钥匙,一把可以打开流动性"黑箱"的钥匙。

过去7年,Uniswap 从 V1 到 V3,处理了超过 2.75 万亿美元的交易量,零黑客事件。这个成绩放在传统金融界,相当于一家交易所运行7年没丢过一分钱。但 V3 时代有一个硬伤:你想改任何规则,就得把整个协议代码 fork 一遍,自己从头搭一套。这跟"在别人家的店面上贴自己的招牌"没什么区别——又贵又慢还容易出错。

V4 用一个叫 Hook 的东西,把这个困局彻底打破了。

说白了,Hook 就是 Uniswap 给开发者的"插头"。你可以把这个插头插到交易流程的不同节点上,让它在你需要的时候自动执行你写的代码。这跟手机装 App 一个道理——你不需要自己造手机,只需要在系统上开发应用就行。

这个小小的改变,在不到一年时间里催生了超过 2 万个 Hook 初始化,累计交易量突破 1900 亿美元,TVL(总锁仓量)在上线 177 天内突破 10 亿美元——而 V3 达到同样的里程碑花了将近一年。

Uniswap 自己说,这是 DeFi 的"App Store 时刻"。这话不是吹牛。

从封闭系统到开放平台

要理解 Hook 为什么重要,得先搞清楚 V3 有多"封闭"。

V3 的架构是这样的:每一个交易对(比如 ETH/USDC)都是一个独立的智能合约。你想创建一个新的交易池?好,部署一个全新的合约。这意味着什么?每次创建池子要花大量 Gas 费,代码重复部署,维护成本极高。更要命的是,你想给池子加点自定义功能——比如动态手续费、限价单、MEV 防护——对不起,得 fork 整个 Uniswap 代码库,自己改、自己审、自己部署。

打个比方,V3 就像 iPhone 出现之前的手机市场:每个手机厂商自己造硬件、自己写系统、自己装软件,什么都得从头来。消费者买到的每台手机都是一座孤岛。

V4 做了什么?它把 Uniswap 从"一个产品"变成了"一个平台"。

核心变化有两个。第一,所有交易池不再各自为政,而是全部住进一个叫 PoolManager 的"大房子"里。这在技术上叫 Singleton(单例)架构。创建新池子不再需要部署新合约,只是在现有合约里更新一条状态记录——成本直接降了 99%。第二,就是 Hook。开发者可以在池子生命周期的关键节点上"挂钩子",插入自定义逻辑,而完全不需要碰核心代码。

这两件事加在一起,效果就像 iOS 之于 iPhone:底层系统由苹果负责安全和维护,开发者只需要写 App 就行。

从封闭产品到开放平台
从封闭产品到开放平台

十个挂钩点的魔法

Hook 的核心机制说起来并不复杂:Uniswap V4 在资金池的生命周期里预设了若干个"检查点",每个检查点对应一个关键时刻。开发者可以选择在这些时刻之前或之后执行自己的代码。

具体有多少个挂钩点?8 个核心回调点,加上几个高级返回值变体,总共 10 多个。覆盖了资金池从出生到日常运营的每一个重要环节:

池子创建阶段:beforeInitialize 和 afterInitialize——在池子初始化前后执行,只跑一次。你可以在这里设置初始参数,或者做一些准入检查。

流动性管理阶段:beforeAddLiquidity 和 afterAddLiquidity 控制资金注入,beforeRemoveLiquidity 和 afterRemoveLiquidity 管控资金撤出。想惩罚那些"快进快出"的套利者?在 beforeRemoveLiquidity 里加个时间锁就行。

交易阶段:beforeSwap 和 afterSwap——这是最强大的两个点。交易之前可以检查条件、修改手续费;交易之后可以更新预言机、执行限价单。

捐赠阶段:beforeDonate 和 afterDonate——处理向 LP 的额外打赏。

这里有一个非常关键的技术细节:Hook 不是异步的"事后通知",它是同步执行的。什么意思?Hook 和核心 AMM 逻辑处于同一个原子事务中。Hook 一旦报错(revert),整笔交易跟着回滚。这保证了完整性,但也意味着开发者必须极其小心——一个 Bug 就能让整个池子卡死。

另一个容易踩坑的点:Hook 运行时,资产还没有真正转移。你在 Hook 里查 balanceOf,看到的都是"幻觉"——那只是记账数字,不是真实余额。所有"钱"都只是瞬时存储里的差额记录。这个设计叫 Flash Accounting(闪电记账),是 V4 的另一大创新。

十个挂钩点的生命周期
十个挂钩点的生命周期

闪电记账省了多少钱

Flash Accounting 是 Singleton 架构的"黄金搭档"。要理解它的价值,得先看看 V3 有多浪费。

在 V3 时代,假设你要做一个多跳交易:用 ETH 换 USDC,再用 USDC 换 DAI。每一步都需要真实地把代币从一个合约转到另一个合约。ETH 进 ETH/USDC 池子合约,USDC 从 ETH/USDC 合约转出来再转进 USDC/DAI 合约,最后 DAI 从 USDC/DAI 合约转给你。中间每一步都在调 ERC-20 的 transfer 函数,每一步都在烧 Gas。

V4 怎么做?所有池子都在同一个合约里。多跳交易时,中间步骤不需要真正转移代币,系统只记录余额变化(delta)。等所有操作做完了,只结算最终的净额——你付出 ETH,收到 DAI,中间的 USDC 从头到尾没有真正移动过。

这个优化能省多少?简单交易大约省 30% Gas,多跳交易最高省 50%。在网络拥堵的时候,V3 上一个三跳交易可能要花 40 美元 Gas 费,V4 上同样路线可能不到 15 美元。对于每天执行成千上万笔交易的套利者和高频交易者来说,这是实打实的真金白银。

Flash Accounting 能实现,要归功于 EIP-1153 引入的"瞬时存储"(Transient Storage)。这是一种特殊的数据存储方式:数据只在当前交易期间有效,交易结束后自动清除,不需要像普通存储那样永久写入区块链状态。这让记账变得极其便宜。

顺带说一句,V4 还恢复了原生 ETH 支持。V3 强制用户把 ETH 包装成 WETH 才能交易,多了一层不必要的操作和 Gas 开销。V4 直接支持原生 ETH,相关交易再省约 15% Gas。

闪电记账:只结算净额
闪电记账:只结算净额

权限编码的精妙设计

Hook 的权限管理是 V4 最精巧的设计之一,也是最容易被忽略的。

在 V4 中,一个 Hook 能干什么、不能干什么,不是存在合约变量里的,而是直接编码在 Hook 合约的地址里。具体来说,Hook 地址的最低几位(bit)对应不同的权限标志:某一位是 1 表示开启 beforeSwap,另一位是 1 表示开启 afterSwap,以此类推。

为什么要这么做?因为从地址读 bit 比从存储读变量便宜得多——省一次 SLOAD 操作就是省 Gas。但这带来一个有趣的副作用:部署 Hook 时不能随便选地址。你需要通过 CREATE2 配合不同的"盐值"反复计算,直到找到一个地址,它的最低几位恰好对应你想要的权限组合。这个过程叫"地址挖掘"(address mining),开发者通常用 HookMiner 之类的工具来完成。

一旦部署成功,权限就永远固定了。想改?只能重新部署一个新 Hook,建一个新池子。这种不可变性是安全设计的一部分——防止 Hook 被偷偷升级后作恶。但如果你确实需要可升级的 Hook,就得用代理合约模式,这本身又会引入新的安全风险。

每个资金池只能绑定一个 Hook 合约,但一个 Hook 合约可以服务多个池子。这个设计是有意为之的"约束"——在给予灵活性的同时,避免不同 Hook 之间的组合性灾难。

Bunni 如何吞噬市场

如果说 Hook 是 V4 的"武器",那么 Bunni 就是第一个把这把武器用到了极致的人。

Bunni V2 与 V4 同步推出,上线后一度占据 V4 全部交易量的 90% 以上。一个 Hook 协议处理的交易量超过其他所有 V4 应用之和。这不是笔误。

Bunni 的杀手锏叫"再质押"(Rehypothecation)——一个从传统金融借来的概念。简单说,就是同一笔资产同时干两件事。

在传统 Uniswap 里,LP(流动性提供者)面临一个残酷的选择:要么把资产放进池子赚交易费,要么借出去赚利息。鱼和熊掌不可兼得。Bunni 的 Hook 打破了这个二选一:你的 ETH 和 USDC 存进 Bunni 池子后,不会傻等着别人来交易。它们会同时被部署到 Aave 或 Compound 这样的借贷协议里,在不影响交易功能的前提下额外赚取借贷收益。

效果如何?早期数据显示,Bunni LP 的收益比同等 V3 仓位高出 15% 到 40%。用户看到的还是熟悉的 Uniswap 界面,复杂的收益优化全部在 Hook 内部自动完成。

不过,Bunni 后来经历了一些波折。根据 2026 年中的数据,Bunni 曾经关闭了部分流动性池,导致 V4 的 TVL 从峰值 14 亿美元回落到 6 至 8 亿美元区间。这提醒所有人:Hook 生态再繁荣,单一项目的风险依然存在。

MEV 防护进入池子层面

如果说 Bunni 解决的是"赚更多"的问题,Arrakis 攻击的则是"被偷更少"的问题。

MEV(最大可提取价值)是 DeFi 世界的一个隐形黑洞。熟练的交易者通过重新排序、插入或审查交易来获利,每年从 Uniswap LP 手中抽走数十亿美元。当套利者发现价格差异并抢跑你的交易时,LP 以过时的价格提供流动性,承担了损失。这就好比你开了一家商店,有人趁你不注意,在你的价格标签还没来得及更新之前,低价买入高价卖出,赚走差价——而亏的是你。

以前,MEV 防护主要靠钱包或私有中继——离池子远远的。Arrakis 的 Diamond Hook 把防护直接搬进了池子。它实现了一个叫 LVR(Loss-Versus-Rebalancing)最小化的概念:强制套利交易在每个区块开头执行,让 LP 在大多数交易中获得更公平的价格。可以理解为要求套利者"立即亮牌",而不是等到最佳时机再出手。

Arrakis 还有第二招:动态费用。市场平静时费用低,鼓励交易量;价格剧烈波动时费用自动提高,为 LP 捕捉更多价值。

OpenZeppelin 也贡献了两个值得关注的 Hook 实现。AntiSandwichHook 在每个区块开头记录价格检查点,后续交易如果获得了比检查点更优的价格,多出来的部分会被截留——三明治攻击者无利可图。LiquidityPenaltyHook 专门对付 JIT(Just-In-Time)流动性攻击:有人在大量交易前临时注入流动性、薅完羊毛立刻撤资,Hook 会根据区块间隔对这类操作施加惩罚,把费用返还给长期 LP。

从 Hook 看到的 DeFi 新物种

Hook 的想象空间远不止动态费用和 MEV 防护。上线一年多,生态里已经涌现出一批在以往架构下根本做不出来的创新:

链上限价单:LimitOrderHook 让你在 Uniswap 上直接挂限价单。原理很巧妙——在目标价格处创建一个只含单边资产的窄区间流动性仓位,当价格穿过时自动成交并撤出。不需要中心化撮合引擎,全部链上执行。

永续合约内嵌:HOOK Finance 把杠杆交易直接搬进了 Uniswap 池子。交易者不需要跑去别的协议,在同一个流动性池里就能开杠杆仓位。

防撤池保护:Fair Trade Hook 为新代币发行强制执行时间锁定流动性和最大持仓比例。以前需要信任项目方的安全承诺,现在变成代码强制执行。

无预言机借贷:一些实验性协议直接用 Uniswap 池子价格做借贷清算参考,跳过了 Chainlink 等外部预言机。消除了一整类攻击向量,也减少了对基础设施的依赖。

合规池:Permissioned Pool Hook 可以对交易者做白名单检查、钱包验证、地理位置限制。机构资金第一次可以在不 fork 协议的前提下,满足 KYC 合规要求。

Uniswap Foundation 还在推一个叫 Hook Design Lab 的孵化项目,首批 5 个团队各有特色:EulerSwap 把借贷基础设施和 V4 Hook 架构绑在一起,累计交易量超 37 亿美元;Aegis 做全链动态手续费,交易量近 10 亿美元;Dynamo DEX 专门为 LRT(流动性再质押代币)设计动态费率,防止脱锚;Bunni 做再质押和自动再平衡;Sorella Labs 的 Angstrom 做批量拍卖防 MEV。

Hook 催生的 DeFi 新物种
Hook 催生的 DeFi 新物种

安全这道坎有多高

Hook 越灵活,攻击面就越大。这是硬币的两面。

Uniswap 核心代码经过了 9 轮审计、一场 500 多人参与的安全竞赛、以及高达 1550 万美元的漏洞赏金计划——零关键漏洞。但 Hook 不一样。每一个 Hook 都是独立开发的智能合约,安全审查的深度和广度参差不齐。你用了带 Hook 的池子,就等于同时信任了 Uniswap 底层和 Hook 开发者的自定义逻辑。

Cyfrin、CertiK、Hacken 等安全公司对 V4 Hook 做了系统性的安全研究,总结出几类高频风险:

权限不匹配:Hook 地址编码的权限和实际实现的函数不一致。要么声明的权限没有实现对应函数(交易直接 revert),要么实现了函数但地址没编码权限(Hook 被静默跳过,关键逻辑不执行)。BaseHook 抽象合约可以在构造函数里做校验,但不继承它的合约就没有这层保护。

访问控制缺失:Hook 的回调函数必须验证调用者是 PoolManager,否则任何人都能直接调用。Cork Protocol 就因为类似的访问控制漏洞被攻击过——虽然不是 V4 Hook,但架构相似。

重入攻击:Hook 如果和外部合约交互,必须严格遵循检查-生效-交互模式。一个不规范的外部调用就可能被利用。

Gas 拒绝服务:无界循环是 Hook 里的定时炸弹。攻击者可以构造交易让循环次数爆炸,把 Gas 耗尽导致池子卡死。

精度误差:DeFi 数学里的小数精度问题在 Hook 里同样存在。一个看似微小的舍入误差,在高频交易中被放大后可能导致严重损失。

恶意 Hook:以上都是"好心办坏事"的 Hook。还有一种是有意作恶的——通过可升级代理偷偷改逻辑,或者通过复杂的 Hook 逻辑隐蔽地从 LP 手中抽走价值。用户在选择带 Hook 的池子时,必须像审查任何 DeFi 协议一样审查 Hook 本身。

好消息是,生态系统正在建立 Hook 审计和信誉体系。OpenZeppelin 发布了自己的 Hook 组件库,经过专业审计;Uniswap Foundation 为孵化团队提供审计补贴;社区也在建立 Hook 注册表,帮助用户评估风险。但归根结底,在 DeFi 里,尽职调查的责任永远在用户自己肩上。

一组数据看清 V4

V4 上线一年多的成绩单:

TVL:上线 177 天突破 10 亿美元,峰值约 14 亿美元(2025年10月),后因 Bunni 部分池子关闭回落至 6 至 8 亿美元区间。对比 V3 花了将近一年才达到 10 亿美元,V4 的增速明显更快。

交易量:截至 2025 年 9 月累计突破 1900 亿美元,到 2026 年 6 月达到约 3550 亿美元。日均交易量在 940 万美元到 10 亿美元之间波动。

池子数量:在支持的链上追踪到 4689 个活跃池,平均年化收益率约 56%。

链分布:72% 的 TVL 在 Layer 2 网络(Arbitrum、Base、Optimism),以太坊主网约 28%。Unichain(Uniswap 自己的 L2)处理了约 75% 的 V4 交易。

Hook 数量:上线时 150 个,到 2025 年 7 月超 2500 个,9 月突破 2 万个,最新数据显示超过 23500 个 Hook 初始化。

市场份额:V4 占 Uniswap 总交易量约 30% 到 40%,V3 仍占约 60%。但趋势清晰——V4 份额逐月增长,V3 逐月下降。

费用节省:简单交易省约 30% Gas,多跳交易最高省 50%,池子创建成本降 99%。

Hook 采用率:尽管 Hook 初始化数量爆发,但实际通过 Hook 池子完成的交易量占比只有 2% 到 12%。大多数 Hook 仍处于实验阶段,尚未成为主流交易选择。

流动性的未来长什么样

回过头看,Uniswap V4 做的事情本质上是一次权力下放。

以前,Uniswap 官方决定了池子怎么运行、收多少手续费、用什么价格曲线。开发者想改?去 fork。用户想用特殊功能?去别的协议。V4 把这些权力交了出来:手续费可以动态调,价格曲线可以自定义,交易流程可以插入任意逻辑。Uniswap 从一个"产品"变成了一个"操作系统",Hook 就是上面的"应用程序"。

这个转变带来的影响是深远的。以前需要数月开发、数百万美元审计才能上线的新 DeFi 功能,现在可以在经过实战检验的 Uniswap 代码之上,几周内构建完成。核心合约的安全属性延伸到了 Hook 层面,虽然并未完全消除漏洞攻击面,但大幅降低了基础架构层面的风险。

竞争格局也在变化。Curve、Balancer、SushiSwap 都在更新路线图,加入类似 Hook 的定制化功能。模块化、可扩展架构正在成为下一代 DEX 的标配。Uniswap V4 设定了标杆,竞争对手要么追上、要么被甩开。

但悬念依然存在。Hook 采用率只有个位数到低双位数——大多数人还在用"裸"池子。Bunni 一家独大然后又部分退场的剧情,让人对单一 Hook 的集中风险心存警惕。安全审计能否跟上 Hook 爆发的速度,是个未知数。而 V3 向 V4 的流动性迁移,虽然趋势明确,但远未完成。

Uniswap 自己也清楚这些。1550 万美元的漏洞赏金仍在悬赏,Hook Design Lab 的第二批团队正在路上,更多链的部署还在推进。

2025 年 1 月 31 日那天,Uniswap 翻的不是版本号,而是整个 DeFi 的底层逻辑。问题是:这个"应用商店"里,下一个爆款 App 会是谁?又会是谁写出第一个让人始料未及的"恶意应用"?

答案还在链上跑着。

UNI
UNI
4.135
-1.64%