Uniswap V2 White Paper
原文地址:https://static.binschool.app/doc/uniswap-whitepaper-v2.pdf
摘要
这篇技术白皮书解释了Uniswap v2核心合约背后的设计决策。内容覆盖了合约的新特性,包括任意ERC20代币的交易对,强化的价格预言机制(price oracle),允许交易者先接收资产并使用,随后在转账中支付的快速互换(flash swaps)功能,在未来可以开启的协议手续费(protocol fee)为了减少受攻击面,重新设计了合约的架构。本白皮书描述了Uniswap v2核心合约的运行机制,包括储存流动性提供者资金的交易对合约,和用于实例化交易对合约的工厂合约。
1 介绍
Uniswap v1是一个以太坊区块链上的智能合约系统,基于常数乘积公式实现了自动流动性协议。每个Uniswap v1交易对在资金池里储存两种资产,并为这两种资产提供流动性,维持这两种资产的乘积不减少。交易者支付30bp(译者注:0.3%)的交易手续费给流动性提供者。合约是不能升级的。
Uniswap v2基于同样的公式实现,添加了几个特性。最重要的一个是支持ERC20代币/ERC20代币交易对,而不像v1只支持ERC20代币/ETH交易对。除此以外,它也强化了价格预言,在每个区块开始处累积两个资产的相对价格。这允许其他以太坊合约计算两个资产在任意时间区间上的TWAP价格。最后,它启用了快速互换(flash swaps)功能,用户可以自由地接收资产并把他们用在链上的其他地方,只要在转账的最后支付(或返还)即可。
虽然合约通常来说不可升级,但是有一个私钥能够更新一个变量,打开链上5bp的手续费,这个变量一开始是关闭的,可以在未来打开,打开之后流动性提供者在每笔交易上赚取25bp,而不是30bp。
Uniswap v2修复了一些v1中的小问题,也在实现中重新设计了架构,减少了Uniswap的受攻击面,通过把逻辑最小化放在核心合约(core contract)中,这个核心合约维持了流动性提供者的资金,从而使系统变得更容易升级。
这篇论文描述了核心合约(core contract)的运行机制,以及用来实例化核心合约的工厂合约(factory contract)。实际上使用Uniswap v2需要通过一个“路由”合约(router contract),计算交易/存款数额并转移资金到交易对合约(pair contract)。
......
详见:https://static.binschool.app/doc/uniswap-whitepaper-v2.pdf