简介
Curve协议,一种基于以太坊平台的去中心化交易所,主要聚焦于稳定币、封装资产等的交易。相对于其他DEX,Curve提供的交易对更集中,拥有极低的滑点和手续费,可以满足巨额的资产交易需求。极低的滑点和手续费以及crv的生态,都使得Curve在众多DeFi协议中能占据重要的一席之地。
StableSwap
StableSwap是Curve在白皮书中设计提出的一种稳定币交易模型,该模型能提供极低的交易滑点和无限的流动性。
做市函数
StableSwap模型的恒定函数做市商曲线如下:
该设计理念基于融合恒定和与恒定积两种做市模型,兼具了恒定和的低滑点以及恒定积的无限流动性的特点
推导
假设现共有n个稳定币,则有:
给恒定和部分添上杠杆系数,并加上恒定积部分,则有:
其中系数X引入了偏度的概念,由放大系数和偏度构成,其中偏度用来衡量流动池中各代币的平衡程度
FOX记者:SEC官方已否认“主席Gary Gensler辞职”:7月3日消息,福克斯商业新闻记者Eleanor Terrett发推称,美国SEC公关团队已否认所谓“Gary Gensler在接受内部调查后辞去SEC主席一职”的消息。
据此前报道,TheCryptoAlert等推特账号声称“内部官员透露,美国SEC主席Gary Gensler在接受内部调查后已递交辞呈”。对此,Eleanor Terrett表示,“我在SEC的消息人士表示,这是在胡说八道。我已经联系SEC通讯部门寻求官方评论,并将在收到答复后发布。”
据悉,TheCryptoAlert此前曾发布“Ripple将回购100亿枚XRP”等虚假消息。[2023/7/3 22:14:21]
结合以上两式化简即可得出公式(1)
特点
StableSwap模型的曲线兼具恒定和与恒定积的特点,在各稳定币相对平衡的情况下,公式由恒定和占主导,曲线趋于直线,滑点较低;当在极端情况下,各稳定币不平衡,则公式由恒定积占主导,曲线与坐标轴无交点,不会出现流动性枯竭的情况
Basepool
basepool为Curve推出的基础兑换池,最常见的有3pool,由三种稳定币DAI、USDC、USDT组成
basepool合约实现了基本的StableSwap交易模型
参数计算
StableSwap模型的做市曲线公式(1)中,有两个重要的参数A与D,其中参数A为放大系数,由官方调整设置每个池子的放大系数;而参数D则为池中代币总量,是动态变化的。在basepool合约中,参数D的计算由_get_D函数实现:
/img/20230515004332881267/5.jpg "/>
metapool合约中,间接耦合了新型稳定币和基础池的稳定币,在提供了不同稳定币之间的兑换功能的同时,一定程度上分隔了新型稳定币的风险。
稳定币兑换
metapool合约中的exchange_underlying函数实现了稳定币之间的相互兑换功能
@external@nonreentrant('lock')defexchange_underlying(i:int128,j:int128,_dx:uint256,_min_dy:uint256)->uint256:....#Usebase_iorbase_jiftheyare>=0base_i:int128=i-MAX_COINbase_j:int128=j-MAX_COINmeta_i:int128=MAX_COINmeta_j:int128=MAX_COINifbase_i<0:meta_i=iifbase_j<0:meta_j=jdy:uint256=0...ifbase_i<0orbase_j<0:#hunya#兑换中包含meta池代币old_balances:uint256=self.balancesxp:uint256=self._xp_mem(rates,old_balances)x:uint256=0ifbase_i<0:#hunya#输入代币为meta池代币x=xp+dx_w_fee*rates/PRECISIONelse:#hunya#输入代币为base池代币#iisfromBasePool#Atfirst,gettheamountofpooltokensbase_inputs:uint256=empty(uint256)base_inputs=dx_w_feecoin_i:address=self.coins#Depositandmeasuredeltax=ERC20(coin_i).balanceOf(self)Curve(base_pool).add_liquidity(base_inputs,0)#hunya#base池添加流动性#Needtoconvertpooltokento"virtual"unitsusingrates#dxisalsodifferentnowdx_w_fee=ERC20(coin_i).balanceOf(self)-xx=dx_w_fee*rates/PRECISION#Addingnumberofpooltokensx+=xp...#Withdrawfromthebasepoolifneededifbase_j>=0:#hunya#输出代币为base池代币out_amount:uint256=ERC20(output_coin).balanceOf(self)Curve(base_pool).remove_liquidity_one_coin(dy,base_j,0)#hunya#base池移除流动性dy=ERC20(output_coin).balanceOf(self)-out_amountassertdy>=_min_dy,"Toofewcoinsinresult"else:#hunya#纯base池代币兑换,直接调用base池exchange函数#Ifbotharefromthebasepooldy=ERC20(output_coin).balanceOf(self)Curve(base_pool).exchange(base_i,base_j,dx_w_fee,_min_dy)dy=ERC20(output_coin).balanceOf(self)-dy...logTokenExchangeUnderlying(msg.sender,i,_dx,j,dy)returndy
Bitstamp:大多数机构投资者正在积极向客户推荐加密资产:5月2日消息,加密交易平台 Bitstamp 最近的一项研究发现,机构投资者正在积极向他们的客户推荐数字资产。Bitstamp Crypto Pulse 报告对来自全球 23 个国家的 5500 多名专业投资者和 23000 名散户投资者进行了调查,报告显示大多数机构投资决策者支持将加密资产作为客户的投资。报告称,“机构投资者现在正在积极向他们的客户推荐加密货币,散户投资者开始使用加密货币。这是后续浪潮中值得关注的关键领域,以衡量当前的金融环境如何推动在原始生态系统之外采用加密货币。”根据这项研究,接受调查的机构投资者中有 68% 表示他们正在积极推荐加密货币,而 15.2% 表示谨慎行事。只有 6.4% 的人表示他们不向客户推荐虚拟资产。Bitstamp的研究还发现,近40%的散户和机构投资者两年前才开始交易数字资产。[2022/5/2 2:44:41]
若兑换情况涉及basepool代币和metapool池代币,则会通过basepool的LP添加或移除流动性来做中间流程;若只是basepool代币的兑换,则直接调用basepool的exchange函数进行兑换。
总结
总的来看,无论是白皮书的理论设计还是代码的算法实现都是十分优秀的,理论设计巧妙夯实,代码算法高效简洁。这些优秀的实现都使得Curve在稳定对价资产交易领域中有着明显的竞争优势。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。