木星链 木星链
Ctrl+D收藏木星链
首页 > BNB > 正文

INT:浅谈Curve:最强大的稳定币兑换协议-ODAILY

作者:

时间:1900/1/1 0:00:00

简介

Curve协议,一种基于以太坊平台的去中心化交易所,主要聚焦于稳定币、封装资产等的交易。相对于其他DEX,Curve提供的交易对更集中,拥有极低的滑点和手续费,可以满足巨额的资产交易需求。极低的滑点和手续费以及crv的生态,都使得Curve在众多DeFi协议中能占据重要的一席之地。

StableSwap

StableSwap是Curve在白皮书中设计提出的一种稳定币交易模型,该模型能提供极低的交易滑点和无限的流动性。

做市函数

StableSwap模型的恒定函数做市商曲线如下:

该设计理念基于融合恒定和与恒定积两种做市模型,兼具了恒定和的低滑点以及恒定积的无限流动性的特点

推导

假设现共有n个稳定币,则有:

给恒定和部分添上杠杆系数,并加上恒定积部分,则有:

其中系数X引入了偏度的概念,由放大系数和偏度构成,其中偏度用来衡量流动池中各代币的平衡程度

结合以上两式化简即可得出公式(1)

特点

StableSwap模型的曲线兼具恒定和与恒定积的特点,在各稳定币相对平衡的情况下,公式由恒定和占主导,曲线趋于直线,滑点较低;当在极端情况下,各稳定币不平衡,则公式由恒定积占主导,曲线与坐标轴无交点,不会出现流动性枯竭的情况

Distyl AI与OpenAI组建服务联盟并完成700万美元种子轮融资:金色财经报道,生成式AI公司Distyl AI宣布已与OpenAI组建服务联盟并完成了700万美元种子轮融资,对冲基金Coatue和Dell Technologies Capital联合领投,Nat Friedman(前GitHub首席执行官)、Brad Gerstner(Altimeter创始人、首席执行官)和 Jim Cash博士(哈佛商学院教授)参投。Distyl AI表示将利用新资金推动生成式AI与工作流进行无缝集成,并提供人工智能研究(例如 GPT-4)和基础设施(例如专用实例)支撑。(tullahomanews)[2023/4/14 14:03:43]

Basepool

basepool为Curve推出的基础兑换池,最常见的有3pool,由三种稳定币DAI、USDC、USDT组成

basepool合约实现了基本的StableSwap交易模型

参数计算

StableSwap模型的做市曲线公式(1)中,有两个重要的参数A与D,其中参数A为放大系数,由官方调整设置每个池子的放大系数;而参数D则为池中代币总量,是动态变化的。在basepool合约中,参数D的计算由_get_D函数实现:

@pure@internaldef_get_D(_xp:uint256,_amp:uint256)->uint256:"""Dinvariantcalculationinnon-overflowingintegeroperationsiterativelyA*sum(x_i)*n**n+D=A*D*n**n+D**(n+1)/(n**n*prod(x_i))Convergingsolution:D=(A*n**n*sum(x_i)-D**(n+1)/(n**nprod(x_i)))/(A*n**n-1)"""S:uint256=0Dprev:uint256=0for_xin_xp:S+=_xifS==0:return0D:uint256=SAnn:uint256=_amp*N_COINSfor_iinrange(255):D_P:uint256=Dfor_xin_xp:D_P=D_P*D/(_x*N_COINS)#Ifdivisionby0,thiswillbeborked:onlywithdrawalwillwork.AndthatisgoodDprev=DD=(Ann*S/A_PRECISION+D_P*N_COINS)*D/((Ann-A_PRECISION)*D/A_PRECISION+(N_COINS+1)*D_P)#Equalitywiththeprecisionof1ifD>Dprev:ifD-Dprev<=1:returnDelse:ifDprev-D<=1:returnD#convergencetypicallyoccursin4roundsorless,thisshouldbeunreachable!#ifitdoeshappenthepoolisborkedandLPscanwithdrawvia`remove_liquidity`raise

芝商所推出3种元宇宙参考汇率:金色财经报道,芝商所(CME Group) 计划推出三种元宇宙加密资产的参考利率和实时指数,使投资者能够使用传统金融中常用的方法更可靠地跟踪定价数据。 从1月30日开始,CME Group和CF Benchmarks将推出Axie Infinity (AXS)、Chiliz (CHZ)和Decentraland (MANA) 的参考汇率。参考汇率和指数非可交易产品,而是CME Group加密货币产品。

AXS、CHZ和MANA的参考汇率和实时指数将使用至少两个加密货币交易所的定价数据计算,包括Bitstamp、Coinbase、Kraken、itBit和LMAX Digital。资产的参考利率将以美元计价,并于伦敦时间每日下午4 点公布。[2023/1/6 10:24:36]

_get_D函数的算法将做市函数公式(1)以D为变量,通过牛顿迭代法计算出合适的D值,算法可谓精妙简洁

同样的算法还用于_get_y函数计算y值

@view@internaldef_get_y(i:int128,j:int128,x:uint256,_xp:uint256)->uint256:"""Calculatexifonemakesx=xDonebysolvingquadraticequationiteratively.x_1**2+x_1*(sum'-(A*n**n-1)*D/(A*n**n))=D**(n+1)/(n**(2*n)*prod'*A)x_1**2+b*x_1=cx_1=(x_1**2+c)/(2*x_1+b)"""#xintheinputisconvertedtothesameprice/precisionasserti!=j#dev:samecoinassertj>=0#dev:jbelowzeroassertj<N_COINS#dev:jaboveN_COINS#shouldbeunreachable,butgoodforsafetyasserti>=0asserti<N_COINSA:uint256=self._A()D:uint256=self._get_D(_xp,A)Ann:uint256=A*N_COINSc:uint256=DS:uint256=0_x:uint256=0y_prev:uint256=0for_iinrange(N_COINS):if_i==i:_x=xelif_i!=j:_x=_xpelse:continueS+=_xc=c*D/(_x*N_COINS)c=c*D*A_PRECISION/(Ann*N_COINS)b:uint256=S+D*A_PRECISION/Ann#-Dy:uint256=Dfor_iinrange(255):y_prev=yy=(y*y+c)/(2*y+b-D)#Equalitywiththeprecisionof1ify>y_prev:ify-y_prev<=1:returnyelse:ify_prev-y<=1:returnyraise

彭博社:美国德克萨斯州部分矿企濒临破产边缘:金色财经报道,为了成为加密挖矿的避风港,德克萨斯州以低廉的电力和优惠的法规积极吸引矿工,促使许多人获得数十亿美元的贷款来购买昂贵的机器并建设基础设施。然而,能源成本飙升、比特币价格大幅下跌以及竞争加剧压缩了利润率,使矿工难以偿还债务,有些濒临破产边缘。

根据德克萨斯州电力可靠性委员会提供的最新数据,截至10月20日,德克萨斯州拥有约1.5吉瓦的加密货币挖矿能力,主要是比特币,其中约37吉瓦的电力正在争夺连接到国家电网。这条队列在六个月内增加了一倍多。虽然排队表明今年早些时候矿工的电力需求不断增长,但这个数量可能会被夸大。权力掮客和矿业公司可以为同一个矿区提交多个申请,因为这些申请不需要存款。(彭博社)[2022/12/6 21:26:11]

流动性

Curve池的流动性添加不同于Uniswap必须添加交易对的两种资产,basepool可以仅添加池中某一种资产

@external@nonreentrant('lock')defadd_liquidity(_amounts:uint256,_min_mint_amount:uint256)->uint256:"""@noticeDepositcoinsintothepool@param_amountsListofamountsofcoinstodeposit@param_min_mint_amountMinimumamountofLPtokenstomintfromthedeposit@returnAmountofLPtokensreceivedbydepositing"""assertnotself.is_killed#dev:iskilledamp:uint256=self._A()old_balances:uint256=self.balances#InitialinvariantD0:uint256=self._get_D_mem(old_balances,amp)#hunya#初始状态D0lp_token:address=self.lp_tokentoken_supply:uint256=CurveToken(lp_token).totalSupply()new_balances:uint256=old_balancesforiinrange(N_COINS):iftoken_supply==0:assert_amounts>0#dev:initialdepositrequiresallcoins#balancesstoreamountsofc-tokensnew_balances+=_amounts#InvariantafterchangeD1:uint256=self._get_D_mem(new_balances,amp)#hunya#添加流动性后理论D1assertD1>D0#Weneedtorecalculatetheinvariantaccountingforfees#tocalculatefairuser'sshareD2:uint256=D1fees:uint256=empty(uint256)mint_amount:uint256=0iftoken_supply>0:#hunya#非首次添加流动性进行手续费扣出#Onlyaccountforfeesifwearenotthefirsttodepositfee:uint256=self.fee*N_COINS/(4*(N_COINS-1))admin_fee:uint256=self.admin_feeforiinrange(N_COINS):ideal_balance:uint256=D1*old_balances/D0difference:uint256=0new_balance:uint256=new_balancesifideal_balance>new_balance:difference=ideal_balance-new_balanceelse:difference=new_balance-ideal_balancefees=fee*difference/FEE_DENOMINATORself.balances=new_balance-(fees*admin_fee/FEE_DENOMINATOR)new_balances-=feesD2=self._get_D_mem(new_balances,amp)#hunya#扣除手续费后的D2mint_amount=token_supply*(D2-D0)/D0#hunya#LP铸币量else:self.balances=new_balancesmint_amount=D1#Takethedustiftherewasanyassertmint_amount>=_min_mint_amount,"Slippagescrewedyou"#Takecoinsfromthesenderforiinrange(N_COINS):if_amounts>0:#"safeTransferFrom"whichworksforERC20swhichreturnboolornot_response:Bytes=raw_call(self.coins,concat(method_id("transferFrom(address,address,uint256)"),convert(msg.sender,bytes32),convert(self,bytes32),convert(_amounts,bytes32),),max_outsize=32,)iflen(_response)>0:assertconvert(_response,bool)#dev:failedtransfer#end"safeTransferFrom"#MintpooltokensCurveToken(lp_token).mint(msg.sender,mint_amount)logAddLiquidity(msg.sender,_amounts,fees,D1,token_supply+mint_amount)returnmint_amount

BNB Chain疑似暂停网络运行,最新出块约18分钟前:10月7日消息,Bscscan数据显示,BNB Chain疑似已暂停网络运行,最新出块停止在约18分钟前,区块高度21962147。[2022/10/7 18:41:38]

Metapool

metapool为basepool基础上扩展衍生的新池,用作将新型的稳定币向basepool的LP代币锚定。basepool池的流动性提供者可以将basepool的LP代币再次在metapool中添加流动性,进一步赚取额外的交易手续费收益。

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

三箭资本创始人Zhu Su正寻求甩卖价值2.4亿RMB的新加坡优质洋房:6月30日消息,位于Yarwood Ave的优质洋房(GCB)正在寻求甩卖(Urgent Sell)。这栋房子据信是去年12月由三箭资本创始人Zhu Su花费4880万新币(约2.4亿rmb)买入的,也就是说距离此前购房仅过去半年时间,这也与最近传闻的“三箭资本陷入破产清算”相吻合。

传闻目前该房产售价低于买入价格。如果再算上第一年卖出持有私人地产的12%卖家印花税,屋主或亏损超过1000万新币(5千万rmb)。

据悉,新加坡优质洋房,Good Clas Bungalow,简称GCB,是新加坡最顶尖的私人住宅房地产类别,整个新加坡只有约2800栋。(微信公众号@美港坡笔记)[2022/6/30 1:42:15]

若兑换情况涉及basepool代币和metapool池代币,则会通过basepool的LP添加或移除流动性来做中间流程;若只是basepool代币的兑换,则直接调用basepool的exchange函数进行兑换。

总结

总的来看,无论是白皮书的理论设计还是代码的算法实现都是十分优秀的,理论设计巧妙夯实,代码算法高效简洁。这些优秀的实现都使得Curve在稳定对价资产交易领域中有着明显的竞争优势。

标签:INTUINBASBASEINTR价格gokuinuBase ProtocolBASED

BNB热门资讯
NFT:NFT是否提供了一种民主化和增加科学资助的方式?-ODAILY

介绍拥有民主化的科学不是很好吗?当然是!然而,许多人会说这是一个乌托邦的愿景,而不太可能成真。简单来说,尽管科学家向资助机构提交了许多好的项目,每个项目都代表了特定群体的需求,但由于公共系统能力.

1900/1/1 0:00:00
DOT:波卡插槽拍卖正在进行时,顶峰AscendEX持续为其赋能-ODAILY

波卡及其平行链插槽拍卖之所以会成为当下备受关注的焦点,与其创始人GavinWood以及其背后宏大的Web3.0愿景有关.

1900/1/1 0:00:00
GEN:EigenPhi报告:如何通过稳定币套利,在4个月内大赚1.13亿美元?-ODAILY

五大要点1.MIM-UST套利策略在过去四个月中收获了超过1.13亿美元。2.本质上是一种无需资本投资的快速贷款的高级形式,它仅支付Gas费而获得650倍的回报,而无需像三明治套利这样提供高额的.

1900/1/1 0:00:00
EFI:最大化使用链上数据,助推GameFi项目的发展-ODAILY

March2022,LesleyDataSource:FootprintAnalyticsGameFi是游戏与去中心化金融的合体,通过Playtoearn的模式.

1900/1/1 0:00:00
SUP:SupraOracles宣布与次世代交易平台Mizar达成合作-ODAILY

SupraOracles很高兴地宣布与次世代交易平台Mizar合作。Mizar是次世代交易平台,允许交易者找到安全分配资金的策略,并使用各种交易工具启动其资产.

1900/1/1 0:00:00
AXI:「多玩少赚」模式会做出更好的元宇宙游戏-ODAILY

区块链的“互操性”可能是解释元宇宙游戏中宏观经济学原理的关键,也是让元宇宙游戏保持“可玩性”乐趣的关键.

1900/1/1 0:00:00