Web3系列研究 | 中国信通院陈文曲:Uniswap——以太坊领先的DeFi平台
The following article is from 星火链网 Author 陈文曲
一、目标愿景
随着区块链与金融的深入融合发展,去中心化交易所成为去中心化金融最热门的领域之一。交易所是实现不同资产之间交易兑换的重要场所,传统交易所采用中心化模式,即交易双方通过第三方交易平台按照特定汇率进行交易,交易平台收取服务费用。根据世界交易所联合会统计有250家交易所,股票市值达到109万亿美元。随着区块链技术的发展和金融创新的深入融合,作为公链上币币交易服务项目,去中心化交易所逐渐成为去中心化金融(DeFi)的热门项目。截止2022年4月18日,DeFi项目市场规模达756亿美元,去中心化交易所资产规模达240亿美元,去中心化交易所占DeFi项目的31.7%。
订单簿模式是传统交易所最常见模式,通过订单簿系统撮合实现交易。传统交易所中,机构运行维护一个中心化订单簿,利用该订单簿来撮合交易。当买家发出买单,在订单簿中登记买入价格及数量,系统将在订单簿中查询是否存在合适的对手单,如果没有匹配到合适的对手单,则将该买单存入订单簿以等待合适的对手单,直到系统匹配到合适的对手单,则该交易撮合完成。订单簿记录该交易所所有参与的买单、卖单信息,其典型特征是一方面如果交易所买卖活跃,中心化订单撮合能保证交易的高并发和低时延,另一方面如果交易所买卖不活跃,用户发出的订单就会出现长时间的挂单,交易效率低。
图1 订单簿交易模式
Uniswap是首个采用自动做市商模式,基于以太坊的去中心化加密资产交易平台。为了解决订单簿模式的低效问题,传统交易市场发明了做市商模式,做市商通常是由具备一定实力和信誉的机构担当交易中的特许第三方,能以自由资金和证券为基础向中心化交易所进行买入卖出双向报价,为原本难以匹配合适交易单的买卖双方提供新的渠道,通过增加订单簿对手单从而撮合更多的交易实现。做市商模式的本质是通过第三方代理提高交易流动性从而提升交易效率。Uniswap平台采用了一种利用智能合约实现自动化做市商模式的去中心化交易协议(Uniswap),其智能合约中锁定的做市资产是去中心化、安全透明公开可查的。
二、技术方案
Uniswap是一个完全自主运行在以太坊的去中心化交易所,通过智能合约实现ERC20通证之间的自动兑换。Uniswap是由Uniswap Labs开发的基于Uniswap protocol智能合约协议的自动做市商(AMM)交易平台,建设部署在以太坊上以实现ERC-20通证的点对点做市和交易。Uniswap protocol是一组持久的、不可升级的智能合约。为了便于用户与协议的轻松交互,Uniswap Labs开发了The Uniswap Interface界面。截止目前,Uniswap共有三个版本,均部署在以太坊上。
1、特点分析
Uniswap的核心是采用了基于“恒定乘积”定价模式的自动化做市商机制。Uniswap平台采用完全开源的去中心化协议Uniswap构建流动性池。流动性池里有两种可供交易的资产通证A和通证B,并通过智能合约进行连接。通过观察流动性池中通证的配比,可以得出流动性池中两种资产的报价,在某特定时刻,Uniswap提供的限界价格=通证A储量/通证B储量。在交易前后,两种资产储量乘积不变。
Uniswap V2通过链上存储累计价格数据实现高度分散、抗操纵的报价。任何交易发生前,每个交易对都会在区块开始时测量市场价格,这个价格是由上一个区块的最后一笔交易设定的,因此操纵成本很高。将区块最后价格添加到核心合约中的单个累积价格变量中,并对此价格时间周期进行加权,得到合约历史中的Uniswap累计价格,外部合同可使用该变量跟踪任何时间间隔内的准确时间加权平均价格。许多去中心化金融应用,包括类似于衍生品、贷款、保证金交易、预测市场等的应用,链上价格反馈都是一个关键组成部分。
2、实施方案
从产品角度看,Uniswap包括网页前端、数据分析、智能合约系统。网页前端交易,主要包括展示页面和两个SDK,展示页面(如图3所示)通过调用两个SDK实现网页交互提供交易和提供流动性功能。数据分析展示,包括网页展示和数据分析模块,网页通过调用数据分析模块展示重点统计分析数据,如整体展示、典型通证、典型交易对、钱包地址分析四个模块。通过整体统计页面(如图4所示)可以查看Uniswap流动性历史变化信息、24小时市值变化信息、50个典型通证变化信息、185个典型交易对变化信息、以及最新的交易信息。用户可以选择图4中任意一个交易对进行交易(点击图中【兑换】按钮)或为其提供流动性(点击图中【增加流动性】按钮),通过点击左侧的交易对,用户可以查看该交易对流动性的详细信息。智能合约系统,主要包括核心智能合约、路由合约、工具合约库三个部分。其中核心智能合约为与Uniswap互动的各方提供基本安全保障,路由合约提供与核心合约交互的方法提高用户安全性,uniswap-lib则封装了一些工具合约。
图2 Uniswap V2 整体架构
图3 Uniswap V2 前端界面
图4 Uniswap V2 展示界面
从工作原理看,Uniswap设计了交易和流动性管理两种智能合约。一种是Swap交易模块,支持ETH和ERC20通证之间,或者ERC20与ERC20通证之间的兑换。另一种是Pool模块,即流动性管理,每个交易对的流动性都通过一个单独的以太坊合约来管理。用户可以通过【Add】添加某个交易对流动性,也可以通过【Remove】取出某个交易对的流动性,即为做市商池充/提通证的过程。如果某个交易对还没有建立,用户可以通过增加流动性的方式,创建这个交易对的做市池,Uniswap的工作原理如图3所示。
图3 Uniswap工作原理
三、发展历程
2018年11月2日,Uniswap公开宣布上线并部署到以太坊主网,推出第一个版本Uniswap V1,作为一个新型去中心化交易方式自动做市商的概念验证,任何人都可以将资产汇集到该交易平台。 2020年5月19日,在V1基础上进行全面技术升级的Uniswap V2版本上线,增加了自由组合交易对、价格预言机、闪贷、最优化交易路径等功能,为后面总锁仓金额的指数增长奠定了坚实基础。 2020年9月17日,Uniswap宣布其协议治理通证UNI在以太坊主网上发布,针对每一个使用过Uniswap protocol的区块链地址空投400个UNI,UNI的持有者拥有对平台新的发展及改变的提议的投票权,初步构建起Uniswap治理系统。 2021年5月5日,Uniswap V3版在以太坊主网上线,提供了集中流动性、多重收费等级、高级价格预言机、流动性预言机等新特征,核心目标是大幅提高流动性提供者的资金效率。
四、思考评论
Uniswap是去中心化金融中的自动化资产交易所,通过智能合约,在以太坊上实现自动化的资产交易。去中心化交易所主要有两种形式,订单簿做市和自动做市商。Uniswap引领了去中心化自动做市商潮流,其代码被很多其它协议借鉴。
Uniswap采用自动做市商模式提升交易效率。去中心化交易所由于采用区块链技术,其资金不再严重依赖传统的中心化交易机构,而是掌握在用户手中,资金安全性、交易透明度都有了较大提升。但是由于大多数去中心化交易所资金规模有限,导致资产流动性较差,交易速度成为制约去中心化交易所发展的瓶颈。Uniswap通过AMM机制将所有用户资产汇聚到流动性池,通过“恒定乘积”算法模型进行做市商,大大提升资产交易效率。
陈文曲 | 博士
中国信息通信研究院工业互联网与物联网所技术研究部工程师
主要从事新型基础设施、工业互联网、区块链与通证经济等方面研究。
Web3专题系列介绍
校 审 | 陈 力、珊 珊
编 辑 | 凌 霄
推荐阅读