作者:LeoLiu,GuangwuXie
翻译:VanessaCao
校对:LeoLiu,GuangwuXie
排版:JaneHu
感谢:FangyuanZhao,ShowenPeng,DW,LianxuanLi,DaveWhite,DanRobinson,VanessaCao,JaneHu
本文由星际密探和DachaleResearch战略合作伙伴BTXCapital独家授权星际密探发布,在本文中,我们将首先回顾由Bancor、Uniswap、Balancer和Curve协议实现的四种自动做市商(AMM)算法。还将讨论AMM算法的最新发展、可能的改进和未来。
由于本论文过长,本文总共分为上、中、下篇阐述自动做市商算法、现状及未来迭代的思考。。
目录
BancorNetwork的联合曲线概念和交易公式
Uniswap的无常损失计算?
当价格变动在2ρ之间时的正向收益
流动性分布、流动性注入、UniswapV3范围订单
Balancer的做市函数和交易公式
智能订单路由算法
......
BancorNetwork的联合曲线概念和交易公式:
Bancor1利用联合曲线的概念来确定价格。联合曲线是代币价格与其总供应量之间的关系。
Bancor1?
BancorProtocolContinuousLiquidityforCryptographicTokensthroughtheirSmartContracts
https://storage.googleapis.com/website-bancor/2018/04/01ba8253-bancor_protocol_whitepaper_en.pdf
韩国Summony Asset资产管理集团 与TrueChain达成深度战略投资及合作协议:据韩国政经新闻消息,近日, 韩国Summony Asset资产管理集团与第三代公链的代表TrueChain达成深度战略投资及合作协议。据悉,Summony Asset将投资TrueChain,并将联合其合作银行针对TRUE发行新的金融产品。自2020年成立以来,Summony Asset一直在运营和咨询价值数百亿韩元的数字资产,并在韩国金融业和数字投资中拥有不同寻常的影响力。[2021/3/29 19:26:52]
联合曲线BondingCurve:
联合曲线模型可以理解为描述“代币买卖价格”与“代币发行总量”之间的函数关系,可以由智能合约以去中心化的方式自动执行。
https://medium.com/linum-labs/intro-to-bonding-curves-and-shapes-bf326bc4e11a
BancorNetwork选择的不变量是F,称为连接权重。在第一个表达式中R是指流动性池中的储备代币数量,S是流动性池外的BNT总供应量,P是BNT和储备代币的相对价格。我们可以代入P的方程,对两边积分2得到P和S之间的关系。这是一个指数表达式,其中指数α与连接权重F有关。F越小,α越大,这意味着价格相对于BNT的总供应量变化得更快。
两边积分2
FormulasforBancorsystem
https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA
使用这个表达式和简单的积分,我们可以导出T和E之间的关系,其中R0,S0是R和S的当前值。
如果我们想在代币A和代币B之间交换,则将代币A出售给代币B。我们首先需要使用代币A从池A购买BNT代币。接下来,我们需要使用BNT从池B购买代币B。下面是计算我们将收到多少代币所需的精确公式。代币A和代币B之间的相对价格可以用BNT代币和代币A/B之间的相对价格表示。
开源-联盟、ChainUP与四川链存科技有限公司达成深度战略合作:据官方消息,开源-联盟、ChainUP宣布与四川链存科技有限公司达成战略合作,双方将在IPFS分布式存储、Filecoin生态建设等方面展开深度合作,共同推进IPFS分布式文件技术、5G技术、云与边缘计算技术、Al大数据及区块链技术等创新技术应用落地。
开源-联盟 f040665 属于开源矿池节点,开源矿池致力于研发分布式存储,以为用户提供分布式存储解决方案为使命,产品包括分布式存储服务器、智能应用系统开发、算力云和分布式存储服务器托管运维等服务,目前拥有成熟的技术研发体系和完整的产业生产供应链。[2021/1/7 16:39:46]
优点:Bancor允许在某些池中进行单边流动性的注入,这由Bancor治理决定。可以存入多少单边流动性是有限制的,这也是由Bancor治理决定的。在限额内,当用户以其他代币的形式存入单边流动性时,Bancor将补充等值的BNT代币。这使得用户提供的有效流动性加倍。如果达到限额,如果人们想要存单边流动性,就得等有人提取单边流动性,或者有人把BNT做为单边流动性注入。
Bancor协议以BNT部分赚取的手续费补偿用户在存入单边流动性时的无常损失。如果交易费用不能完全补偿无常损失,Bancor将铸造BNT以确保无常损失为零。因此,流动性提供者如果将流动性存入一定的时间,就可以享受稳定的收入。
缺点:如上所述,所有交易都需要BNT代币作为中介。因此,我们将经历两次滑点。由于相同的原因,所有流动性池都由BNT和另一个代币组成,因此缺乏多样性。BNT代币价格也可能受到影响,因为需要弹性供应才能实现无常损失补偿和单边流动性存款。
Bancor引入了连接代币BNT的概念,它连接到所有具有不同连接权重的代币,对应不同决定价格的联合曲线。
Uniswap的无常损失计算:
Uniswap使用恒定乘积做市商(CPMM)来决定价格。在我们深入研究UniswapV2和V3使用的算法之前,让我们先了解什么是无常损失(IL)以及如何计算它。
火币大学校长于佳宁:DC/EP将促进信息流与资金流的深度融合:8月21日12:00,火币大学校长于佳宁受邀做客第一财经广播《财经午间道》栏目,就“厘清我国数字货币的发展前景”的主题参与讨论。
于佳宁表示,法定数字货币是很重要的“新基建”,在5G时代,无人驾驶汽车、物联网设备、工业互联网将得到广泛应用,物与物之间的交易需求将不断增加,未来世界的一切事物在都会有相应的数字身份。DC/EP的推出,将促进信息流与资金流的深度融合,最终实现实物流、信息流、资金流的\"三流合一\",让金融科技真正赋能实体经济发展,全面推进数字中国、数字社会。[2020/8/21]
恒定乘积做市商(CPMM)
ConstantProductMarketMaker
强制要求两种资产储备量的乘积必须始终保持不变x*y=k
https://ethresear.ch/t/improving-front-running-resistance-of-x-y-k-market-makers/1281
无常损失
ImpermanentLoss
是指资金在流动性池中面临的损失。
https://finematics.com/impermanent-loss-explained/
如果AMM函数是凸的,那么没有交易费用补偿的单笔交易总是会导致流动性提供者赔钱。假设一笔交易导致AMM函数从点1移动到点2。点1和点2的现货价格是P1和P2。P3为实际交易价格。由于凸函数的性质,P1>P3>P2。无常损失定义为交易后池中流动性提供者代币的当前价值与流动性提供者的代币当前价值之间的差值,如果他只是持有他的代币而不将它们用于流动性提供,则表示为V和Vheld。为方便起见,无常损失和价格将以代币Y表示。经过一些简单的推导,很容易证明无常损失总是小于零。
Uniswap3V2使用一个简单但功能强大的公式来确定交易。池代币储备数量的乘积是一个常数。与Bancor相比,它摆脱了连接代币的依赖。交易完全由流动性池中的代币数量决定。
国家邮政局:加快推动区块链等与制造业供应链的深度融合:国家邮政局发布《关于促进快递业与制造业深度融合发展的意见》,加快推动5G、大数据、云计算、人工智能、区块链和物联网与制造业供应链的深度融合。[2020/4/2]
Uniswap3
UniswapV2Core
https://uniswap.org/whitepaper.pdf
由于此函数的性质,池中两个代币的价值将始终相同。
使用相同的逻辑,不难计算UniswapV2中单笔无手续费的无常损失。假设交易将价格从P更改为Pk。以百分比衡量的无常损失可以单独表示为k的函数。
毫不奇怪,这个函数总是小于或等于零,正如我们从上面没有费用的无常损失图中可以看出的。如果在对数空间中绘制横轴,则IL(k)将是对称的。结论是:相对价格变化越大,无常损失就越大。这可以解释为流动性提供者的更有价值的代币从池中被买出,留给他们更多价值较低的代币。
当价格变动在2ρ之间时的正向收益:
接下来,让我们看看如果我们添加交易费用,IL(k)会如何表现:
导出的无常损失函数IL(k,ρ)看起来与无费用的无常损失函数非常相似。我们可以通过将ρ设置为零来进行合理性验证,得出相同的结果。典型的UniswapV2费用百分比为ρ=0.3%。在绘制无常损失函数时,我们可以看到在大约k=0.994到1之间有一个高于零的部分。在该地区,无常损失是正的,这意味着流动性提供者实际上获得了价值。通过引入交易费,当价格在一定范围内波动时,流动性提供者将获得正收益。
当价格变动更加波动时,流动性提供者似乎总是会出现亏损。然而,实际情况并非如此。我们知道DaveWhite4等人解决了这个难题。遗憾的是,它超出了这篇介绍性论文的范围。我们打算在未来进一步研究这个问题。
DaveWhite4
Uniswap’sFinancialAlchemy
声音 | 最高法党组副书记江必新:积极推进互联网、区块链等现代科技在司法领域深度应用:最高人民法院党组副书记、副院长江必新在接受新华社记者采访时表示,人民法院将坚持把司法体制改革和智慧法院建设作为“车之两轮,鸟之两翼”,以审判体系和审判能力现代化推动国家治理体系和治理能力现代化。积极推进互联网、人工智能、大数据、云计算、区块链、5G等现代科技在司法领域深度应用,努力把智慧法院建设提升到新水平。(新华网)[2019/11/29]
https://research.paradigm.xyz/uniswaps-alchemy
至于其他流行的AMM算法的无常损失推导,我们向读者推荐JiahuaXu?等人的这篇论文。这些推导将是下一次的主题。
JiahuaXu?
SoK:DecentralizedExchanges(DEX)withAutomatedMarketMaker(AMM)protocols
https://arxiv.org/abs/2103.12732
优点:第一个用池中代币数量的凸函数来确定价格。
缺点:流动性供应均匀分布于所有价格范围,这意味着资本效率较低。
流动性分布、流动性注入、UniswapV3范围订单:
为了提高流动性效用并降低无常损失风险,Uniswap?V3允许用户仅在特定价格范围内提供流动性。
Uniswap?
UniswapV3Core
https://uniswap.org/whitepaper-v3.pdf
FromUniswapV3whitepaper
这是通过对UniswapV2函数进行平移来实现的:
FromUniswapV3whitepaper
将函数向下平移a点的y值,向左平移b点的x值,如上图和等式所示,确保a和b之间的有效交易结果,就像我们使用绿色曲线作为我们的价格决定函数。当价格超出此范围时,其中一个代币储备将被售罄,从而有效地将流动性集中到此价格范围内。
DanRobinson?发表了一篇关于计算多个AMM的流动性分布的优秀论文。
DanRobinson?
UniswapV3:TheUniversalAMM
https://www.paradigm.xyz/2021/06/uniswap-v3-the-universal-amm/
也可以简单地证明,两个流动性提供者在同一价格范围内的流动性可以简单地加在一起。
在存入流动性时,如上所示,UniswapV3中每个资产的价值不一定相等。只有当P等于Pa和Pb的几何平均值时,每个资产的价值才相等。当P小于几何平均值时,资产X的价值大于资产Y的价值。当P大于几何平均值时,资产X的价值小于资产Y的价值。
当当前价格完全超出流动性提供者设定的价格区间时,UniswapV3将流动性提供者的输入算作范围订单(RangeOrder),只允许其存入一种代币。例如,考虑一个由ETH和Dai组成的流动性池。如果设定的价格区间完全高于ETH的当前价格,则只允许用户存入ETH。如果价格区间完全低于ETH的当前价格,则只允许用户存入Dai。当价格完全越过流动性提供者设定的价格区间时,他存入的资产将全部转换为另一种的代币。由于用户只能存入一种代币,范围订单只能实现传统限价订单中四分之二的订单。另一方面,买入止损订单和止损订单无法实现。截至目前,我们不知道限制范围订单代币类型的目的是什么。
范围订单
Range?Orders
本质上并不是真正的订单,而是LP向资金池某个特定价格点提供的聚合流动性。虽然不是真正的订单,但「范围订单」所表现出的特性,却很好地模拟了限价单的基本功能。
https://docs.uniswap.org/protocol/concepts/V3-overview/range-orders
优点:UniswapV3引入了流动性分布的概念,允许其用户在价格范围内存入流动性。通过集中流动性,提高资本效率。当存入相同价值的资产时,可以获得更高的流动性和更低的滑点。在某个价格范围内提供流动性也在某种程度上降低了无常损失的风险。
缺点:用户在进行范围订单时只能存入某些类型的代币。因此无法实现买入止损订单和止损订单。
UniswapV2和V3在其AMM算法中引入了CPMM和流动性分布。提供价格范围内的流动性本质上使UniswapV3成为一个通用的AMM,能够通过改变其流动性分布成为任何可能的AMM。
Balancer的做市函数和交易公式:
Balancer?将UniswapV2的双代币池扩展到多代币池。Balancer池中每种资产的价值都持有一个不变的权重,加起来为1。不难证明,这相当于每种资产的储备数量的幂乘积是一个常数。资产n相对于资产t的价格也可以导出为资产t和n的储备数量之间的比率,通过它们的权重进行归一化。
Balancer?
Anon-custodialportfoliomanager,liquidityprovider,andpricesensor
https://balancer.fi/whitepaper.pdf
基于常数不变式,我们可以求导出有不同输入值的交易公式。在这种记法标准中,资产o始终是买出的资产。资产i是卖出的资产。A和B是打入/接收的代币和当前的代币储备数量。我们还可以根据价格的变化计算打入的代币或买出的代币数量。
智能订单路由算法:
Balancer还引入了智能订单路由(SOR?)算法。
SOR?
SmartOrderRouterV2
https://docs.balancer.fi/developers/smart-order-router
来源:https://docs.balancer.fi/v/v1/smart-contracts/sor/
该算法的总体思路是将一个订单分成几个小块在不同的Balancer池中进行交易,以获得更好的交易结果。假设我们要在代币池1和代币池2进行交易,如果我们要交易的总金额N低于上图中的A,我们将只在代币池1进行交易,因为代币池1的价格总是比代币池2价格好。如果总金额超过A,我们将部分订单在代币池1中交易,部分在代币池2中交易。在每个代币池中交易的数量将使每个池中的价格相等。
很容易证明最优策略总是使每个池中的价格相等的策略。
价格函数,相对于交易量,通常是一个非线性函数。Balancer将价格函数简化为线性函数。如果有n个代币池,最优策略可以表示为:
如果存在一个价格函数总是大于或小于范围(0,N)的其余价格函数,则应从上述计算中删除该价格函数和相应的池,以确保结果有效。如果价格函数总是较小,那么显然的最佳策略将是在该池中交换所有代币。
在这个计算中,不用考虑gas费用。实际上,最优策略应该是在路由收益和gas费用损失之间保持平衡。
SOR算法,我们相信可以在更广泛的背景下使用。例如,价格函数可以是其他AMM协议池的函数。由于我们目前知识的限制,我们不确定实际的AMM聚合器是否使用相同的逻辑来实现更好的价格。没有任何价格函数近似的更通用的解决方案将在本文后面讨论。
优点:Balancer将2个代币池推广到多个代币池,并引入SOR算法为其用户实现更好的价格。
缺点:“流动性池的强度取决于其最弱的资产。”一个池中的代币类型越多,风险就越高。
Balancer是一种多代币投资组合管理工具,允许灵活的代币价值分配,具有价格优化算法。
由于本论文过长,Curve的讨论及后续内容将于中篇和下篇公布。
标签:ANCUNIUniswapSWAPAggregated FinanceBunicornuniswap币卖出没反应KDXSwap
关于Gate.io免费空投计划为回馈平台用户,Gate.io上线“免费空投计划”,在Startup区不定期进行区块链项目的免费空投计划.
1900/1/1 0:00:00亲爱的CoinW用户:币赢CoinW将于2021年9月23日18:00在NFT区首发ASH,开通ASH/USDT交易对.
1900/1/1 0:00:00据欧科云链链上大师数据显示,截至今日10时30分,以太坊2.0存款合约地址已收到776.75万ETH,占当前以太坊供应量的6.63%。大量质押的ETH也催生出了流动性质押这一庞大的市场.
1900/1/1 0:00:00尊敬的用户:GTP项目维护完成,现已开放GTP/USDT交易,如有任何问题,请联系WBF官方客服.
1900/1/1 0:00:00在传统在线音乐市场中,不仅市场巨头垄断现象严重,而且网络音乐作品极易被盗版。版权收益低,在此恶性循环下,在线音乐市场的每一位参与者都深受其害.
1900/1/1 0:00:00巴比特讯,9月20日,嘉楠科技宣布,其董事会已授权股份回购计划,根据该计划,公司可以回购价值高达2000万美元的已发行(i)美国存托股(“ADS”),每股代表15股A类普通股.
1900/1/1 0:00:00