作为一个在Web3领域深耕多年的开发者,我经常被面试官问到Uniswap各个版本之间的区别。
今天,我想用最直白的方式,带你理解Uniswap从v1到v4的核心变化,让你在面对相关问题时能够条理清晰地回答。
先给你一个全局视角,Uniswap四个版本的关键变化:
接下来,我逐一为你展开每个版本的特点。
2018年,Uniswap v1横空出世,它最大的贡献是证明了AMM(自动做市商)模型的可行性。
v1采用了最简单的恒定乘积公式:x * y = k。这个公式看似简单,却解决了去中心化交易的核心问题——如何在没有订单簿的情况下实现价格发现。
我记得当时很多人质疑这种模型,认为滑点太大、资本效率太低。但正是这种朴素而坚实的设计,让Uniswap能够在以太坊上稳定运行,为后续的创新奠定了基础。
有趣的是,这个AMM模型现在已经成为了整个DeFi生态的基石。就连现在火热的meme launch平台,如pump.fun都采用了AMM模型。不过它们做了一些巧妙的改进——增加了前置虚拟池来构建初始价格。我在开发pump404项目时也应用了类似的设计理念,只是将传统的ERC20代币换成了ERC404,这样既保持了AMM的价格发现机制,又增加了NFT的独特性。
v1最大的限制是只支持ETH配对。想要交易ERC-20代币之间的对,必须经过ETH作为中介:
DAI → ETH → USDC(需要两次交易)
这不仅增加了gas费用,还带来了额外的滑点损失。
2020年5月,v2的发布标志着去中心化交易所进入成熟期。
任意ERC-20代币配对是v2最重要的创新。这意味着你可以直接创建USDC/DAI、WBTC/ETH等任意配对,不再需要ETH作为中介。
// v2可以直接创建任意配对
factory.createPair(tokenA, tokenB);
v2中的流动性头寸以ERC-20代币的形式表示,这些LP代币是可替代的,意味着同一个池子中的所有LP代币都是等价的。这种设计简单直观,便于转移和交易。
v2内置了闪电贷功能,虽然当时还没有这个名词,但机制已经存在。你可以在同一个交易中借出代币,进行操作,然后归还,只要最终池子的不变量得到满足。
v2引入了时间加权平均价格(TWAP)预言机,在每个区块的第一笔交易时记录价格累积值,外部合约可以通过计算两个时间点的差值来获得TWAP价格。这个功能看似不起眼,实际上为整个DeFi的爆发提供了重要基础设施。
2020年9月,Uniswap发布了治理代币UNI,但这个决定并非完全主动。当时SushiSwap发行了SUSHI代币,通过流动性挖矿吸引了大量Uniswap的流动性,对Uniswap造成了显著的"吸血攻击"。面对这种竞争压力,Uniswap被迫发行了UNI代币来挽回流动性。
我见证了那段疯狂的日子,人们为了挖矿收益,将大量资金投入各种流动性池。这次事件也开启了"流动性挖矿"的热潮,几乎每条自建公链都会推出类似的激励机制,它几乎成了DeFi生态产品的标配。
从我的实践经验来看,流动性挖矿不仅能够吸引流动性,还能帮助项目方进行市值管理。比如我参与的Sonex Swap和AIASwap两个项目,都设计了farming、staking、restaking等多种业务模式,通过不同的激励机制来维持生态的活跃度和代币价值的稳定。
2021年5月,v3的发布彻底改变了AMM的游戏规则。
v3最核心的创新是集中流动性(Concentrated Liquidity)。传统AMM中,流动性均匀分布在整个价格曲线上,但v3允许LP指定价格区间。
举个例子:
这样做的好处是资本效率大幅提升。在相同的资金量下,集中在合理区间的流动性可以提供更低的滑点。
由于每个流动性头寸都有独特的价格区间和参数,v3将LP头寸表示为ERC-721(NFT),而不是v2中可替代的ERC-20代币。这个设计虽然增加了复杂性,但准确反映了每个头寸的独特性。每个NFT都包含了头寸的完整信息:价格区间、流动性数量、未领取的手续费等。
v3支持三种手续费级别:
这让不同风险特征的交易对有了更合适的费率结构。
v3的复杂性也带来了新挑战:
我观察到,v3发布后,专业的流动性管理工具和服务快速发展,这反映了市场对简化v3操作的强烈需求。
2025年1月31日,Uniswap v4正式上线,支持多链部署,为DEX带来了前所未有的可定制性。
v4的核心创新是Hooks系统,允许开发者在交易生命周期的不同阶段插入自定义逻辑。这个系统让开发者能够在交易的关键节点实现个性化功能。
v4的核心是Hooks系统,允许开发者在交易生命周期的不同阶段插入自定义逻辑:
// Hook可以在这些时机执行自定义逻辑
beforeInitialize()
afterInitialize()
beforeModifyPosition()
afterModifyPosition()
beforeSwap()
afterSwap()
这意味着你可以实现:
v4采用Singleton架构,所有交易对共享一个合约,而不是像之前版本那样每个对一个合约。这大大降低了创建新交易对的gas成本。
v4引入了"闪存记账"系统,只在交易结束时结算净额,而不是每一步都转移代币。这进一步降低了gas消耗。
v4重新支持原生ETH交易,不再强制使用WETH,这为用户节省了包装/解包装的gas费用。
从合约架构角度,各版本的gas消耗特点:
从我的实际开发经验来看,v4的架构设计思路值得借鉴。在设计DeFi协议时,合约架构对gas效率的影响往往比算法优化更显著。
基于我的开发经验,不同场景下的选择建议:
集成复杂度:v2 < v3 < v4 功能灵活性:v2 < v3 < v4
如果你在面试中被问到Uniswap版本区别,记住这些关键点:
每次版本升级都解决了前一版本的核心痛点,同时也带来了新的复杂性和可能性。
Uniswap的演进反映了整个DeFi领域的成长轨迹。从最初的概念验证(v1),到功能完善(v2),再到效率优化(v3),最后到可定制化(v4),我们看到了一个协议如何持续创新和适应市场需求。
v4的Hooks系统让我特别兴奋,它可能催生出我们现在还想象不到的创新应用。就像v2的闪电贷功能被广泛应用于套利和清算一样,v4的可定制性可能会开启DeFi的下一个黄金时代。
作为开发者,我建议你不仅要理解这些技术区别,更要思考它们背后的设计哲学和市场需求。这种深层理解,才是真正有价值的技能。
基于全文检索与主题相似度
说在前面 2021年开发Xai-Maker借贷协议时,我们遇到了一个让整个团队头疼的问题:谁来决定借贷利率? 传统金融里,这种事银行说了算。但在DeFi的世界,如果让项目方单方面控制利率,用户凭什么信任你?如果完全放任市场,万一出现极端情况怎么办?经过调研,我把目光投向了Uniswap——这个管理着
自17年学习区块链以来,笔者先后参与开发诸多web3项目,如DeFi借贷、NFT交易平台、链游、IDO、O2C、DAO、版权、Fabric等DAPPs,近期想做些知识沉淀与分享,坚持原创,内容持续更新,欢迎关注我的公众号。 本文主要分享Uniswap是怎样做治理的,读完全文大约需要12分钟。 主要内
在区块链的世界里,DEX的效率,说白了,直接决定了你交易时能不能“多省点、多赚点”。你有没有遇到过这种情况:在Uniswap V3上把 ETH换成USDC,有时候直接兑换就挺划算的,有时候却发现绕个弯,比如先换成WBTC,再换成USDC,反而能多拿一点? 这可不是巧合,而是一套精心设计的最优路径查找