Uniswap进化史:马行千里,V4的带来机会和影响
Uniswap V0
Uniswap V1于2018年11月推出。但是,实际上在之前的一年里,Uniswapd的雏形已经形成。2017年,创始人Hayden从西门子离职,在以太坊基金会工作的朋友Karl安慰Hayden,“机械工程是个夕阳行业,以太坊才是未来。”在Karl的引导下,Hayden了解了以太坊和Solidity,在2017年11月创建出了他的Proof-of-something(Proof of concept AMM as they named it) ,也就是Uniswap V0。这张图片展示了Uniswap最开始的样子。
V1正式推出前,Hayden使用Balance和MakerDao的办公室working on V0。2018年7月底,Uniswap正式收到了以太坊基金会的Grant。
Uniswap V1
在2018年11月2日,也就是Devcon 4的最后一天,Uniswap的智能合约被部署到了以太坊主网上。当天只有30000美金的流动性被当作三种token的基础流动性存入,只能保证100美元的交易深度。接下来,uniswap.io和app.uniswap.org/#也被部署上线。
2019年9月,Uniswap V1上线了第一个流动性挖矿项目,即基于ERC-20代币的流动性挖矿。V1期间,成交量相对较小,用户规模相对较小。作为第一个版本的Uniswap协议。V1使用了一个基于自动市场制造商(AMM)的机制,允许用户在以太坊区块链上无需订单簿即可进行无许可的代币交易。采用了恒定乘积模型,即x*y=k,其中x和y是交易对中两个代币的余额。
Uniswap V1的创新机制使得用户能够快速、便捷地进行代币交易,而无需依赖传统中心化交易所;为后续版本的Uniswap奠定了基础,并成为其他AMM协议的启示。但实际上,当时的Uniswap V1版本并没有吸引很多用户。
Uniswap V2
2020年5月Uniswap V2发布。与此同时,2020年9月,SushiSwap开始出现在加密社区的舞台上,吸引了大量的关注和用户 ,这其实才使Uniswap真正开始获得用户市场关注。
Uniswap V2在Uniswap V1的基础上进行最显著的改变是引入了多个代币对的交易,增加交易对的灵活性,从ERC-20只能和ETH兑换升级为支持ERC-20到ERC-20交换。此外,Uniswap V2引入的时间加权平均价格(TWAP)预言机的重大改进。
Uniswap V2的推出巩固了Uniswap在去中心化交易领域的地位。它提供了更多的功能和灵活性,使得用户可以更好地管理流动性和进行更多类型的交易。Uniswap V2也为去中心化金融(DeFi)的快速发展做出了贡献,为用户提供了重要的流动性来源。
Uniswap V3
Uniswap V3于2021年5月推出,引入了“集中流动性”(Concentrated Liquidity)的概念。它允许流动性提供者在交易对中定义特定的价格范围,以实现更精确的价格控制。这为流动性提供者提供了更大的交易费收益,并减少了套利者利用价格差进行交易的机会。
Uniswap V3还扩展了Uniswap V2的预言机,优化了TWAP预言机的计算方式和Gas效率。V3预言机可以通过一次链上调用,将数据可用期延长至9天或更长时间,同时通过TWAP整体优化,相比 V2 降低了 50% 左右的 Gas 消耗,简单的交易将比其V2的同等功能便宜30%左右。
此外,Uniswap V2采用标准0.3%交易费,而V3提供了3个独立的费用等级:0.05%、0.3%和1%。这使得流动性提供者可以根据他们愿意承担的风险来选择资金池。V3第一次引入了使用NFT作为LP提供流动性证明的模式,也即提供的流动性由非同质化的ERC721代币来追踪。
Uniswap V3的推出在DeFi生态系统中产生了重大影响。它为流动性提供者提供了更多的选择和更好的收益机会,同时提高了交易效率。Uniswap V3还推动了去中心化交易的创新,并引领了其他交易所和协议对于提升用户体验和降低交易成本的努力。但同时被动流动性提供者被JIT和专业做市商挤占了手续费的收入空间也饱受诟病。
Uniswap V4 — Hooks改变了一切
Uniswap V4的白皮出草稿一经推出,市场就给予了充分的解读。主要提到Hook、Singleton、Flash Accounting和原生ETH等优化,其中Hook是V4最重要的创新。Uniswap V4的Hook或将成为流动性构建最有力的工具,未来,搭建一个DeFi平台并组合流动性的成本会大大降低。
Hooks
Hooks合约简单来说,是调用其他智能合约的合约, 交易生命周期中执行的逻辑。这些逻辑可以由用户定义的合约来实现,并在关键时刻被调用。
具体来说,Hooks合约可以在以下几个关键点被调用:
· onSwap:在交换发生时被调用,可以用于实现自定义逻辑,例如记录交易信息、执行特定的操作或修改交易费用等。
· onMint:在流动性提供者向池子增加流动性时被调用,可以用于自定义逻辑,例如记录流动性提供的相关信息或执行特定的操作。
· onBurn:在流动性提供者从池子中撤回流动性时被调用,可以用于自定义逻辑,例如记录流动性提供的相关信息或执行特定的操作。
先前版本的流动性池开发者仅能自定义 LP 以及 LP fee,而 V4 Hooks 可以让开发者可以在 Uniswap 的流动性和安全性基础上进行更多创新,允许开发者设置更多定制行为,Uniswap Labs展示了以下一系列可能性,揭示了产品的独特特点,包括:
· 基于时间加权平均的做市商 ( TWAMM )
· 基于波动性或其他数值的动态手续费
· 链上限价单
· 范围外的流动性存入借贷协议
· 自订义的链上 Oracle,如 geomean oracles
· 自动复投 LP 手续费到 LP 头寸
· 内置的 MEV (矿工可提取价值) 利润分配给 LP
Uniswap V4的优化和无偿损失(IL)的关系
事实上,这些优化在加强Uniswap流动性基础设施的地位的同时进一步加强资本效率,但集中流动性的无偿损失(IL)问题依旧突出。
IL是AMM内生性伴随问题,只要两种资产价格相较初始价格有背离,就会产生IL。对Uni V3, V4的集中流动性机制(以及其他类似流动性管理协议)来说,IL问题本身就由于窄区间的高Gamma而较为严重,在一些场景中可能会更加显著,例如在高波动性的市场中或者当提供流动性的资产之间的相关性较低时。
关于IL,目前有以下方式解决,但都只是间接的缓解这个问题:
· 比如使用协议代币补贴。流动性提供者可以与其流动性一起抵押。通过抵押这些代币,流动性提供者可以获得额外的奖励或补偿,以抵消潜在的临时损失。这些奖励可以以额外的代币或协议交易费的一部分形式提供。
· 实施动态费用结构,根据市场状况和流动性提供者经历的临时损失水平调整费用。在临时损失显著的时期收取更高的费用,并将这些额外费用作为补偿分配给流动性提供者。
· 平台可以设立保险基金,用于补偿流动性提供者因临时损失而遭受的任何损失。这些基金通常通过协议内的各种收入来源或平台本身的贡献来筹集。
· 对冲机制(期权等), 流动性提供者可以参与衍生合约或使用其他金融工具来对冲其对价格波动的敞口,并减轻临时损失的影响。
· 动态资产再平衡,通过根据价格波动和市场状况不断调整资产配置,旨在优化流动性提供者的敞口并降低潜在损失。
· 价格预言机和时间加权平均价格(TWAP):价格预言机和基于TWAP的定价机制可以用来减少价格突变对流动性提供者的影响。通过依赖更稳定和可靠的价格数据,流动性提供者可以更好地了解市场状况,并相应调整其仓位。
可见,Uniswap V4的动态手续费、更优化的预言机价格、更多的LP补贴(MEV补贴,自动复投手续费等)都在某种程度上间接补偿LP的IL损失。
关于安全性和合约复杂性,Uniswap V4 的核心逻辑和 V3 一样不可升级。虽然每个池可以使用自己的 Hooks 智能合约,Hooks会检查这部分功能是否需要进行外部合约调用,调用外部合约丰富了Uniswap V4的功能和实现更多的组合可能性,但仅限于在池创建时确定的特定权限。合约需要调用的外部合约过多,也会带来额外的Gas费用(因此简单的Swap或许V4不比V3/V2便宜),这也是复杂性和组合性带来的Tradeoff。
Singleton
在Uniswap V3中,为每个流动性池部署单独的合约增加了创建流动性池和执行跨多个池子的兑换的成本。在Uniswap V4中,采用了“Singleton”合约来保存所有的流动性池,这极大地节省了Gas费用,因为代币交易不再需要在不同的合约之间转移。初步估计,V4降低了创建流动性池的Gas费用高达99%。
Flash accounting
快速记账系统作为Singleton的补充。在V4中,该系统不再在每次兑换结束时进行资产的转移进出流动性池,而是只在净余额上进行转移。这种设计使得系统更高效,在Uniswap V4中能够提供额外的Gas节省。
Native ETH
之前的版本里,用户实际上是在和WETH交易,ETH并不是Token Contract而WETH是 Token Contract, 对Uniswap来说ERC20 contract更容易集成,因此每次用户Swap需要额外打包一次ETH,将ETH变成WETH,这一步引发了gas浪费。V4恢复了对原生ETH的支持,进一步节省了Gas开销。
Uniswap V4对其他赛道潜在影响和机会
1)聚合器赛道
聚合器市场来看,Uniswap V4 提供了更优的费率、更高的资本效率以及Singleton整合的巨大流动性池,这将从卷费率的赛道即聚合器市场(1inch, Cowswap)吸引更多交易量。
2)定制化DEX和类似的流动性定制功能协议
Onchain Limit Orders、定制化流动性分布、动态费率等对现有类似功能的Dex的影响,包括在Uni V3上做LP yield enhanced vault产品协议的流动性被抽走似乎是可预见的结果,这些协议或许都将面临打不过就加入的局面,最终成为Uniswap V4生态中的一部分。对于未来的DEX或其他DeFi协议来说,或许会从根本上改变其流动性搭建模式,Uniswap V4的Hook或将成为流动性构建最有力的工具,搭建DeFi平台并组合流动性的成本会大大降低。
3) CEX
对中心化交易所来说,由于限价功能和去中心化的正统性,Uniswap V4或许可以从受打击的CEX中获得更多市场份额。但事实上,DEX和CEX相比,阻碍用户进入的最大的问题是速度和效率不如CEX,并且很多时候,对于大多数人来说,使用DEX的前期门槛以及为了去中心化而牺牲的合约安全性和其他风险,使用户需要承担较为高昂的成本。简单来说,效率低和不好用需要DEFI基础设施去完善和解决,V4版本目前无法有效解决。解决这两个问题之后,DEX取代CEX的道路才会更为平坦。
4)MEV赛道
在无法给平台核心Stake holder(LP&Swapper)带去效益时,MEV和协议是对立的。
在之前的几个版本中, Uniswap V1没有特别设计用于防止或减轻MEV(矿工可提取价值)的内置机制,导致矿工或验证者通过操纵区块链网络中的交易顺序来获得额外利润损害用户利益。
Uniswap V2引入了“价格预言机”功能以帮助减轻MEV,价格预言机是提供可靠且防篡改的资产价格信息的外部价格源。通过依赖价格预言机,Uniswap V2旨在防止前端运行攻击,其中交易者利用区块确认的时间延迟来操纵价格以获利。
Uniswap V3引入了几个功能来减轻MEV,包括集中流动性和非同质化流动性(NFT LP 仓位)概念。集中流动性允许流动性提供者为其流动性指定价格范围,减少价格操纵的风险。非同质化流动性仓位使流动性提供者对其流动性拥有精细控制,降低了被挤兑或被套利者利用的风险。
Uniswap V4中,内部化 MEV 分配机制对想在V4池中占据有利角色的MEV开发者来说存在机会。
5)预言机赛道
UniswapV2 的 TWAP 是链上预言机,可适用于获取 Uniswap 上已有的任何 Token 价格,主要缺陷就是需要链下程序定时触发更新价格,存在维护成本。
UniswapV3 的 TWAP 解决了这个缺陷问题,触发数据的存储也不再需要链下程序去定时触发,而是在 Uniswap 发生交易时自动触发。在计算 TWAP 的数据源方面,UniswapV2 只存储了最新的 price0CumulativeLast、price1CumulativeLast 和 blockTimestampLast 三个值。而 UniswapV3支持多个价格观察者(Oracle Observers),可以从多个来源获取价格数据。这种设计增加了系统的容错性和价格可靠性。举例来说,Uniswap v3对同个币对的不同手续费率池子进行筛选,池子不为空且流动性最高的池子成为目标池,在流动性最好的池子中寻找价格数据作为预言机的价格源。
Uniswap V4的内置预言机会更加定制化, 如Geomean Oracles,例如对交易量大深度稳定的池子(ETH- BTC)和在流动性较差的token pair使用不同的预言机价格计算方式。
关于对预言机赛道的影响,Uniswap的TWAP预言机的操纵成本是控制代币在一段时间内的平均价格。相比之下,Chainlink的操纵成本是破坏足够的节点和操纵交易所的价格。因此,Chainlink属于链下预言机,Uniswap V4的内置预言机暂时不会对Chainlink构成威胁。对于Uniswap的生态项目(如借贷、稳定币、合成资产等),仍然需要类似Chainlink的链下预言机的参与。
总结
总得来说,Uniswap V4的方向在朝着DeFi真正的基础设施前进,对开发者来说充满想象力的实验可以在Uniswap V4上发生。
对LP来说,添加流动性将更为定制化和便捷。对用户来说,创建交易池更加便宜,交易也有了更多选择性。比如使用V2、V3、 V4各有优点,V2的合约简单、单个池的交易便宜;V4的构造复杂,但可以在需要调用多个池子的情况下帮助用户节省大量Gas费用。
DeFi的持续发展会引导管理流动性方式的持续优化。对项目方来说,Uniswap V4 Donate()功能可以帮助项目方贿赂流动性达到流动性管理的目标。另外,Uniswap V4的Hook或将成为流动性构建最有力的工具,搭建DeFi平台并组合流动性的成本会大大降低。
未来的DeFi格局也会因为V4的出现而发生很大改变。V4 代码尚未最终确定和审核,因此在正式公开发布之前还需要一些时间,这对许多协议来说是发展自身流动性和调整发展方向的窗口期。