By:?yudan@慢雾安全团队
前言
目前,使用LPToken进行抵押借贷的需求越来越大,但是目前市面上并没有一种完善的用于安全获取LPToken价格的方法。慢雾安全团队在分析LPToken价格的获取方式的过程中关注到了AlphaFinance团队的关于安全获取LP价格的方法。在仔细阅读后,将相关的思考分享给大家。
LPToken价格获取分析
目前,常见的LPToken价格的获取方式如下:
其中,r0,r1分别代表Uniswap交易对中两种代币的存量,price0,price1分别代表r0和r1对应代币的价格。上面的公式简单来说就是算出交易对中两种代币的总价值之和,然后除以LPToken的总数量,得到了单份LP的价值。
美国红杉资本重组 人才团队裁员1/3:金色财经报道,美国红杉资本正在缩减运营团队规模,以积极面对长经济周期波动所带来的一系列副作用。这次组织“优化”涉及了人才团队约三分之一的成员。 (福布斯)[2023/7/25 15:57:39]
这个公式咋一看没什么问题,一般来说,price0和price1都会取Uniswap本身提供的延时价格。但是这里存在一个被闪电贷攻击的风险。虽然price0和price1是不能操控的,但是r0和r1却是可以操控的。通过操控r0和r1的值,即可对整个公式进行操控,具体可参考慢雾文章《采用延时喂价还被黑?WarpFinance被黑详解》
那么有没有办法能获取一种安全的LPToken价格,使代币的存量无法被操控呢?AlphaFinance团队提供了一个思路:
Terra曾与Jump Trading签订三年内提供3000万LUNA的贷款合同:金色财经报道,在美国证券交易委员会公布的文件中,有一份日期为2019年11月的合同,讨论了Terraform Labs与Jump Trading的子公司Tai Mo Shan Limited在三年内提供的3000万LUNA贷款。
此前报道,据美国证券交易委员会称,为了支持稳定币UST,Terraform及其首席执行官Do Kwon允许Jump Trading以0.3美元、0.4美元和0.5美元的价格购买LUNA代币。SEC强调,Jump Trading能够以0.4美元的价格购买这些代币,而在公开市场上的交易价格为90美元。[2023/5/17 15:07:08]
根据AlphaFinance的分析,整个过程分为3步:
稳定币跨链交易协议Meson新增支持zkSync Era:3月29日消息,稳定币跨链交易协议Meson新增支持zkSync Era,用户可将其他支持的链上的USDT、USDC和BUSD交易为zkSync Era上的USDC。[2023/3/29 13:33:13]
第1步是通过Uniswap的getReserves接口获得交易对中对应代币的数量,算出K
第2步是获取交易对中每个代币对应的价格,然后算出代币的价格的比例P
第3步是通过K和P之间的关系反推真实的代币存量。
完成以上3步后,最终LPToken的价格获取公式会变成下面这个样子:
这一波操作下来,好像有点整懵了,但是问题不大,我们来逐个分析。
国际货币基金组织呼吁加强对非洲加密市场监管:11月28日消息,国际货币基金组织(IMF)呼吁加强对非洲加密货币市场的监管,据悉,非洲加密货币市场目前是世界上增长最快的市场之一。由于FTX的崩溃及其对加密货币价格的连锁反应,国际货币基金组织表示,这促使人们再次呼吁加强消费者保护和对加密行业进行监管。
根据国际货币基金组织的数据,撒哈拉以南非洲地区25%的国家已对加密货币进行正式监管,而三分之二的国家实施了一些限制措施。另一方面,喀麦隆、埃塞俄比亚、莱索托、塞拉利昂、坦桑尼亚和刚果共和国已经禁止加密货币,占撒哈拉以南非洲国家的 20%。肯尼亚、尼日利亚和南非拥有该地区最多的加密用户。[2022/11/28 21:05:27]
首先,我们知道,Uniswap采用的是恒定乘积算法。简单来说就是?x*y=K?,也就是说,交易前后的K值是不会变的。在不讨论手续费的情况下,K值理论上是不会改变的。我们先记住这个前提。然后,获取交易对中每个代币各自的价格,比方说对USDT价格。这里以ETH-BTC交易对为例,假设ETH的价格为650USDT,BTC的价格为22,000USDT,那么ETH/BTC的价格比值P为0.03。在得到价格的比值P之后,直接用第1步得到的K计算K/P和K*P就得到了对应交易对的一个正常的数量。下面要对第3步,即获取正常的数量这一步进行相应的说明。
日本首相岸田文雄将在内阁改组中任命前防卫大臣河野太郎为数字大臣:8月9日消息,据日本共同社,日本首相岸田文雄将在内阁改组中任命前防卫大臣河野太郎为数字大臣。(金十)[2022/8/9 12:12:48]
公式思路解释
现在开始对上面的第3步进行说明,扶稳坐好:D
像前面说的,恒定乘积的公式为:
那么其实可以根据K来分别算出x,y。然后根据上一节的第2步,我们得到了x和y的价格的比值P。由于Uniswap本身是根据池中代币的比例来确定对应的价格,所以比值P本身就是x/y的价格的比值。然后,由于?K=x*y,而P是由正确的价格算出的比值,那么,我们其实就可以以这个真实的K和x/y来反推真实的x和y。
推算如下:
首先,我们根据P和r0,r1的比例得出以下公式:
接着,根据P就可以倒推真实的r0,r1,如下:
那么,拿到了正确比例的x和y之后,LP的价格会是下面这个公式:
再转换成如下:
攻击的可能性
在完成公式分析后,我们不难知道,只要有正确的价格的比例P,就能根据这个比例倒推真实的r0和r1,最后得到公式:
那么,这个公式能不能被攻击呢?从公式上可以知道,公式的price0,price1都是可信源获取的正确的价格,这个值是无法被操控的,然后是totalSupply,这个值虽然可以操控,但是在控制LP价格进行攻击的过程中改变totalSupply只能是改变你的抵押数量,这个暂时没有用。那么剩下可以操控的只有r0和r1的值了。如何改变r0,r1的值呢?下面提供两种思路进行分析:
思路一:直接进行代币兑换
我们知道,在代币池中,无论是采用什么算法进行计算,代币池在进行代币兑换的过程中,必然会发生代币数量的改变,那么这种改变最终能不能操控公式呢?其实是不可以的。我们知道,在恒定乘积的模型中,x*y=K?总是成立的,那么也就是说无论交易过程中怎么发生代币的兑换,K的值总是不变的(这里不考虑手续费的情况),而公式中采用的是r0和r1进行相乘,所以使用代币兑换来操控公式实际上是不可行的。
思路二:将代币直接打入到代币池中
这种思路比较粗暴,可以直接忽视K值来操控r0和r1相乘的值,但是经过我的运算,这种方法看似可行,其实是不行的。虽然达到了操控的目的,但是因为公式本身在获取最终价格的时候采用的是根号的模式,所以最后获得的收益是根号后的收益,比方说付出10,000的成本,最后只能获得最多100的收益,这样是明显不划算的。所以这种思路也是不可行的。
适用范围
本算法的适用范围仅限于适用AMM模型的代币池的LP价格的获取,因为整个推导过程都基于恒定乘积公式中K的基本特性来进行。获取的LP本身所属的交易对算法不使用AMM模型是不可行的,因为这种情况下,前面所有的假设都已经不成立了,那么对应的公式的推算自然也是不成立的。
总结
LP抵押已经成为了一种迫切的需求,在目前没有更好的方式(如ChainLink提供的LP喂价,Uniswap提供延时LP接口等),AlphaFinance的方式可以说是一种较为安全的实现方法,使针对数量进行控制的攻击变成不可行或成本非常高。当然,随着越来越多场景的出现,这种算法也不一定是万能的,项目方需要结合自身的场景,合理运用该算法,达到良好的效果。此外,特别需要注意的是,虽然公式的终极形式用的是开根号的r0,r1和price0,price1相乘,但是真正实现的时候,需要根据K来推导具体的r0和r1的值,不然会存在一定的误差。
参考链接:AlphaFinance关于获取公平?LP价格的方法:https://blog.alphafinance.io/fair-lp-token-pricing/v
来源:金色财经
今日快讯“华尔街之狼”:比特币表现已超其预期据TheDailyHodl2月9日消息,“华尔街之狼”JordanBelfort表示,比特币的表现已经超出了他的预期.
1900/1/1 0:00:00浅谈加密货币协议治理加密货币协议应由持币者组成的去中心化社区来管理。不是因为这种方式的效率更高,或者是出于更重要的理念原因,而是核心价值的实现:底层协议将继续按照原先的设计运行,对想要使用或在其.
1900/1/1 0:00:00作为国内商业科技云服务平台的领军企业,这是金融壹账通在个人信息保护方面的大胆探索和着力实践的经验成果,拥有这个认证也意味着金融壹账通已拥有完备的个人信息保护管理体系,以及相关的管理实践.
1900/1/1 0:00:00MMMDeFi火爆进行中,今天介绍一下参与MMMDeFi互助需要准备什么?移动端:使用任何支持TRON-TRX的钱包.
1900/1/1 0:00:00MeshBoxDeFi+NFT模式的角色价值互联网创世者,持有创世者身份NFT的价值互联网建设参与者,被称为价值互联网创世者.
1900/1/1 0:00:00Filecoin官方近日在Slack平台上向社区通告,未来几周内Filecoin网络将升级至v1.5.0版本。在新版本中,前段时间被广泛讨论的提案FIP-7和FIP-10将被执行.
1900/1/1 0:00:00