一种安全的 LP 价格的获取方法:以Alpha Finance为例
读趣百科>科普>金融财经

一种安全的 LP 价格的获取方法:以Alpha Finance为例

前言

目前,使用 LP Token 进行抵押借贷的需求越来越大,但是目前市面上并没有一种完善的用于安全获取 LP Token 价格的方法。慢雾安全团队在分析 LP Token 价格的获取方式的过程中关注到了 Alpha Finance 团队的关于安全获取 LP 价格的方法。在仔细阅读后,将相关的思考分享给大家。

LP Token 价格获取分析

目前,常见的 LP Token 价格的获取方式如下:

其中,r0,r1 分别代表 Uniswap 交易对中两种代币的存量,price0,price1 分别代表 r0 和 r1 对应代币的价格。上面的公式简单来说就是算出交易对中两种代币的总价值之和,然后除以 LP Token 的总数量,得到了单份 LP 的价值。

这个公式咋一看没什么问题,一般来说,price0 和 price1 都会取 Uniswap 本身提供的延时价格。但是这里存在一个被闪电贷攻击的风险。虽然 price0 和 price1 是不能操控的,但是 r0 和 r1 却是可以操控的。通过操控 r0 和 r1 的值,即可对整个公式进行操控,具体可参考慢雾文章《采用延时喂价还被黑?Warp Finance 被黑详解》

那么有没有办法能获取一种安全的 LP Token 价格,使代币的存量无法被操控呢?Alpha Finance 团队提供了一个思路:

根据 Alpha Finance 的分析,整个过程分为 3 步:

第 1 步是通过 Uniswap 的 getReserves 接口获得交易对中对应代币的数量,算出 K

第 2 步是获取交易对中每个代币对应的价格,然后算出代币的价格的比例 P

第 3 步是通过 K 和 P 之间的关系反推真实的代币存量。

完成以上 3 步后,最终 LP Token 的价格获取公式会变成下面这个样子:

这一波操作下来,好像有点整懵了,但是问题不大,我们来逐个分析。

首先,我们知道,Uniswap 采用的是恒定乘积算法。简单来说就是x * y = K,也就是说,交易前后的 K 值是不会变的。在不讨论手续费的情况下,K 值理论上是不会改变的。我们先记住这个前提。然后,获取交易对中每个代币各自的价格,比方说对 USDT 价格。这里以 ETH-BTC 交易对为例,假设 ETH 的价格为 650 USDT,BTC 的价格为 22,000 USDT,那么 ETH/BTC 的价格比值 P 为 0.03。在得到价格的比值 P 之后,直接用第 1 步得到的 K 计算 K/P 和 K*P 就得到了对应交易对的一个正常的数量。下面要对第 3 步,即获取正常的数量这一步进行相应的说明。

公式思路解释

现在开始对上面的第 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 接口等),Alpha Finance 的方式可以说是一种较为安全的实现方法,使针对数量进行控制的攻击变成不可行或成本非常高。当然,随着越来越多场景的出现,这种算法也不一定是万能的,项目方需要结合自身的场景,合理运用该算法,达到良好的效果。此外,特别需要注意的是,虽然公式的终极形式用的是开根号的 r0,r1 和 price0,price1 相乘,但是真正实现的时候,需要根据 K 来推导具体的 r0 和 r1 的值,不然会存在一定的误差。

最新金融财经科普

曝光过度:DeFi索引的分散程度不如您想象的那样

研究发现,过度暴露一些“蓝筹” DeFi令牌是索引的问题。新研究表明,基于分散式金融代币的指数缺乏分散性,这对于寻求减轻风险的高级投资者而言并不理想。索引是一...
展开详情

wotoken钱包最新贴吧背后的故事,有多少人因此被骗?

wotoken钱包最新贴吧在出现后又引来投资者的关注,殊不知wotoken钱包最新贴吧的出现也同样有许多的隐患,毕竟在进入到牛市之后,有许多人都会选择投资,可...
展开详情

一些评论家说,以太坊还没有为DeFi做准备

随着DeFi项目涌向以太坊,专家警告该网络尚未准备好支持狂潮。数学家,前对冲基金经理,奥地利加密交易平台Morpher的创始人Martin Froehler告...
展开详情

比特币匿名混币最好办法是什么?看完就会了

比特币混币是大家都知道的匿名交易好方式,不过很多人都不知道比特币匿名混币最好办法是什么?虽然可以防止别人窥探账户,可若是不知道比特币匿名混币最好办法,很可能会...
展开详情

太空中的比特币:Blockstream的卫星网络现在快25倍

Blockstream针对其卫星服务的更新协议使无需互联网即可下载完整节点成为可能。Blockstream刚刚升级了他们的卫星网络,该卫星网络近两年来首次拥有...
展开详情

区块链行业是干什么的,做什么可以在区块链行业赚钱?

区块链行业是干什么的?如今的互联网信息早已进入飞速发展的阶段,很多人都曾经听说过区块链,但是却并不知道区块链行业是干什么的,首先我们需要了解区块链技术实现一夜...
展开详情

比特币矿机需要联网吗?挖矿需注意什么?

比特币挖矿需要使用到矿机,那么比特币矿机需要联网吗?没有挖过比特币的人不知道比特币矿机需要联网吗,因为从未使用过。其实比特币挖矿以前不需要矿机,只要购买一个家...
展开详情

Yearn.finance效果:SushiSwap(SUSHI)为什么在1周内上涨了75%

改善基础知识并与Yearn.finance进行重大合并可能有助于SushiSwap重新确立其作为主要DeFi平台之一的地位。SushiSwap去中心化交易所的...
展开详情
热门推荐

比特币“数字黄金”的称号是不是真的没有了?

最近这一个月,想必许多 币圈朋友的心态都崩了,不光币价崩盘,更重要的是,比特币的一大故事“数字黄金”,看上去破灭了。这个月的起伏,超过了绝大多数人的想象,很早...
展开详情

持有14万枚比特币的Mt.Gox交易所推迟清算,会震动加密货币市场吗

加密货币市场的黑天鹅Mt.Gox交易所宣布推迟清算赔偿。原因就在于清偿受托人需要重新确定清偿计划,在这个计划的制定中需要仔细核实一些信息,所以Mt.Gox交易...
展开详情

数字货币挖矿机现在售价如何?未来会如何发展?

熟悉数字货币挖矿的朋友都知道,在挖矿过程中数字货币挖矿机是必不可少的。随着以比特币为代表的挖矿行业的发展,数字货币挖矿机的出现也有七、八年的时间了,如今俨然形...
展开详情

BitMEX交易所比特币数量大幅下降

BitMEX在3月13日经历了大规模的比特币抛售之后,交易所中比特币数量出现了大幅的下跌。BitMEX目前约有244,000个BTC,较3月13日时市场峰值3...
展开详情

电脑比特币挖矿软件怎么回事,比特币挖矿成本有哪些?

最近在不少论坛上都能看到大家对电脑比特币挖矿软件的讨论,电脑比特币挖矿软件是进行比特币挖矿必不可少的一个工具。今年,比特币价格再一次突破10000美元,让很多...
展开详情