一种安全的 LP 价格的获取方法
目前,使用 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 的值,即可对整个公式进行操控。
那么有没有办法能获取一种安全的 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 的值,不然会存在一定的误差。
参考链接:
Alpha Finance 关于获取公平 LP 价格的方法:
https://blog.alphafinance.io/fair-lp-token-pricing/
参考链接:
Alpha Finance 关于获取公平 LP 价格的方法:
https://blog.alphafinance.io/fair-lp-token-pricing/
声音 | Jimmy Song:实用类令牌是一种寻租工具,最终会失败:比特币核心开发者Jimmy Song在medium上发文称,很多项目通过ICO创建实用类令牌(utility tokens),而实用类令牌实际上是一种寻租工具(类似政府征税),其不仅缺乏实用性,而且可能因为引入交易费用,阻碍DApp的发展普及。使用该令牌的人是令牌持有人,其认为通过使用可以推动令牌的投机需求。只有投机需求才能维持令牌价格,这最终使其成为一个金融局而失败。[2019/6/6]
声音 | Jimmy Song:比特币像房地产和股票一样 是一种价值储存手段:据AMBCrypto消息,比特币核心开发者Jimmy Song最近在一段视频中表示,比特币是一种价值储存手段,就像房地产和股票一样。他还指出,比特币和其他任何一种“价值储存资产”一样,也存在波动性,但这并没有削弱它的货币地位。[2019/4/29]
动态 | EOS基金会临时执行董事Thomas Cox提出节点贿选的一种解决方案:据引力观察消息,EOS基金会的临时执行董事Thomas Cox提出了节点贿选的一种解决方案: \n1.所有BP的节点收入都纳入7天托管; \n2.在这一周中,任何两个有收入的BP,按1:100缴纳一定的EOS后,可以任何理由起诉一个作恶的节点。(比如,要罚没作恶节点的EOS为3400个那么两个起诉的节点需要分别支付34个EOS)。 \n3.指控的内容可以是任何不当的行为,不局限于行政违法行为。这个非常重要。BPs 可以自行定义需要遵守的行为标准。 \n4.在起诉节点以后,将从有收入的主节点和备选节点中,随机抽取7个节点组成陪审团,对案件进行裁决,要不罚没(燃烧)或者返回资金。整个过程不超过7天。[2018/12/17]
标签:
区块链热门资讯
本文由NewBloc原创,授权金色财经首发。 如今人们迈入 2021 年,已达 1 个多月的时间,回想去年此时的金融市场,先是由于流动性紧张导致风险资产相继崩盘,后是加密货币市场的 312 事件发生,最后在全球性的原油战之下,原油期货市场也发生了挤仓现象,最终部分原油交割合约价格一度跌至 - 40 美元 / 桶,创史上原油价格新低。
2021/2/7 18:03:00如今,许多领域都在研究非同质化代币的应用,代币化现实世界资产的趋势逐渐开始流行起来。本文将全面分析十三个 NFT 的使用场景,一同探索 NFT 未来发展。 同质化代币可以实现两两互换,是货币的理想属性。举例来说,比特币便是一种同质化资产,单位与单位之间没有区别。也就是说,你钱包里的 1 个比特币和我钱包里的 1 个比特币拥有相同的价值。
2021/2/7 17:46:40“生态资产入口,价值几何? 波卡是目前市值排行第五的明星项目,虽然因为平行链还未上线, 生态还未运转起来,但位列前五的市值已经说明了市场对波卡及其生态的认可以及期待。 市场对波卡生态的期待是毫无疑问的,DeFi 的火爆让以太坊的 gas 费已经高到了令人发指的地步,普通用户基本是没法使用了。
2021/2/7 17:35:402月5日16:00,火币合约COO Tom做客「金色百家谈」直播间,本次直播由金色财经内容总监王瑜琨主持,直播主题“将低费率进行到底 火币合约要做最强让利平台?” 直播过程中,Tom就今年合约市场遇到的挑战、火币合约体系的搭建以及如何合约交易费率等问题做了分享。
2021/2/7 17:19:17DEX的全链式解决方案——Sifchain 目前不少项目都在致力于解决DEX的性能和费用问题,例如Layer 2、选择某条高性能公链。但Layer 2技术成熟还需时日,高性能公链也会受制于链上生态,为此,希芙链(Sifchain)推出了为DEX提供全链式解决方案。
2021/2/7 16:52:16原文标题:《关于以太坊MEV的一切 为何说这与你密切有关》 注:原文作者是来自Paradigm基金的研究员Charlie Noyes,在这篇文章中,他解释了矿工可提取价值(MEV)的概念及类型,其表示,MEV问题会损害用户和区块链网络。
2021/2/7 16:46:39