By :?yudan@慢雾安详团队
媒介
今朝,利用 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 的值呢?下面提供两种思路举办阐明:
思路一:直接举办代币兑换
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。