摘要:TVL如此重要,但我竟然发现最大的DeFi协议Uniswap V3 TVL的数据存在一些错误。官方的Uniswap 图表也存在一些问题。
原文作者:Ivan Vakhmyanin
编译:PANews
2 x 2 = 5
很明显,这是错误的数学题。当我看到Uniswap V3 用户界面上显示的流动性和 TVL(锁定总价值)的数据完全错误时,我的感受和看到2 x 2 = 5的感受是一样的。
Uniswap是以太坊和整个区块链行业最大的去中心化金融(DeFi)项目。因为成千上万的流动性提供者每天都在使用Uniswap的数字来建立他们的投资策略,这些数字怎么可能不准确呢?
我试着找出我计算过程中的错误,但数小时都无成果,且实际情况比TVL不准确还更糟糕。
首先,了解什么是TVL以及如何使用TVL?
TVL是委托给区块链或协议的所有加密货币资产的总价值,通常以美元计价。这些资产可能是去中心化交易所、跨连桥、借贷协议的总流动性,或者PoS的总质押资产。
TVL被加密投资者广泛应用,主要应用于以下场景:
1、判断协议,热门的协议一般都会展示它们的TVL,因为更大的TVL意味着更大的用户信任、更低的风险以及更稳定的利润。
2、筛选协议,加密交易者一般会选择更高的TVL的DeFi工具,如去中心化交易所或跨链桥。
3、监控协议,TVL数据能快速增长的协议,是发展越来越好的信号。
TVL如此重要,但我竟然发现最大的DeFi协议Uniswap v3 TVL的数据存在一些错误。不过对于我来说,最大的发现是官方的Uniswap 图表也存在一些问题,以下是我发现这个问题的全程:
以一个流动性分析项目为例,首先将 Uniswap v3 的官方数据与我使用原始区块链数据的计算进行比较。此步骤对于数据质量标准至关重要,为了提高验证的准确性,我选择了一个热门的流动性池 USDC-WETH(0.3% 的费用水平)。
链上数据分析工具Nansen新增支持Arbitrum:11月24日消息,链上数据分析工具Nansen新增添加对以太坊二层解决方案Arbitrum的支持,目前正在整合与Arbitrum相关的数据。此前Nansen已支持以太坊、币安智能链(BSC)、Polygon、Fantom,并计划明年一季度添加对Solana的支持。[2021/11/24 7:08:56]
Uniswap v3 上第三个池子的 TVL 高达 3.33 亿美元(基于撰写本文时的 Uniswap 官方图表),每日交易量为 6100 万美元。
但我计算出来的是1.76 亿美元,和Uniswap v3 的官方数据并不一致,于是我决定到ETH的区块浏览器上进一步验证。理论上,每个 Uniswap v3 池子都是一个智能合约。因此,区块链浏览器可以显示池中拥有的代币余额,也就是这个池子的 TVL。
我预计区块浏览器池子中的代币余额会比Uniswap的官方数据大一点,因为池子还包含流动性及还未领取的费用。但这个余额几乎是Uniswap官方数据的一半,最让人惊讶的是,这和我的计算结果相同!
我再逐个检验其他资产的流动性,也出现类似的情况。这个时候,我意识到这个问题和应该不是我计算的问题。
为什么会发生这个情况?经过研究,我发现 Uniswap 依赖于去中心化的区块链索引服务The Graph。使用此服务,任何开发人员都可以为特定的区块链数据用例添加个人分析代码(称为子图),并通过 API 提供分析。所以Uniswap Labs 为 Uniswap 协议分析创建了自己的子图,并通过The Graph提供给服务来组建相关数据。比较好的一面是The Graph的代码是公开的,不好的一面是它的 TVL计算错误。
NFT资产浏览器和数据分析平台NFTSCAN推出API开放平台:10月16日消息,NFTSCAN推出API开放平台,目前,NFT开放平台支持的API主要有以下几个:
1)获取一个钱包地址中持有的NFT资产数据;
2)获取一个NFT资产合约下所有的NFT数据;
3)获取某个NFT资产的详细信息,如:铸造信息、Metadata等;
4)获取一个钱包地址与所有NFT资产合约相关的历史交易记录;
5)获取一个钱包地址与指定NFT资产合约相关的历史交易记录;
其他更多的NFT数据API还在开发和拓展中。除了上述常规的API外,NFTSCAN团队也支持NFT数据接口的定制化服务。
据悉,NFTSCAN作为一个专业的NFT资产浏览器和数据分析平台,目前已全面覆盖了以太坊网络的NFT数据,拓展多链NFT数据也在积极筹划中。[2021/10/16 20:33:53]
我对其中的代码进行了简要的分析,发现它考虑了所有兑换和流动性事件,但没有考虑费用。Uniswap 矿池对每次交换收取 0.01% 到 1% 的费用。该费用从交易资产中扣除,并计入流动性提供者。反过来,流动性提供者可以随时收取应计费用。但是,当前的 Uniswap v3 子图显示的数字好像从未累积和收取任何费用。因此,Uniswap v3 TVL 数据在每次交换时都偏离了现实。
我第一反应是向The Graph提交工单进行反馈。但我在Github上发现,这个问题在2021年11月已经被核心开发人员提出了。我不知道The Graph为什么一直没有解决这个问题,但随着时间的累积,TVL将会和实际数据相差越来越大。如现在的USDC-ETH这样的大池子,目前的TVL已经和真实的数据相差几乎一半了。
不真实的TVL会如何影响我们的投资决策呢?在开始之前,我们来看看这些偏差如何影响 Uniswap v3 的总TVL。在撰写本文时,Uniswap v3官方显示是120亿美元。
动态 | 数据分析师测试混币协议CashFusion证实其交易匿名性有效:据Bitcoin今日消息,1月29日,数据分析师James Waugh对混币协议CashFusion进行测试,证实其交易匿名性有效。据悉,CashFusion是混币工具Cashshuffle的改进方案。[2020/1/31]
从上图官方报道的数据可以看到,TVL在2022年3月6日从5亿美元稳步增长到45亿美元。但发生了一些疯狂的事情,在2022年3月7日,TVL被报道为2540亿美元。这比整个以太坊网络有史以来最高的TVL还要多2.5倍,且在一天之内发生这样的变化。显然,这个数据的错误的。在接下来的几周,官方报道TVL为100-200亿美元。
此时,我对Uniswap的分析数据失去了所有的信任,但怎么才能知道真实的TVL呢?
有以下两个选择:
选项 1 — 分叉并修复 Uniswap v3 子图。这个选项的不好的地方是子图重新索引需要几天时间,而且我不喜欢 The Graph 使用的 GraphQL 语言。
选项 2 —— 使用Datamint的高性能分析数据库,它适用于所有 Uniswap v3 和以太坊数据,可随时用于复杂的在线查询。
经过一些实验,我创建了以下算法来进行准确的 TVL 计算,下面是分步过程。
1.首先按照以下两个步骤来计算所有现有的Uniswap v3 的TVL。
2.将所有 ERC-20 代币转账添加到矿池合约(包括所有无人认领的费用)并匹配Etherscan的代币余额。
3.添加所有流动性事件,传入和导出,然后添加所有兑换交易以计算费用。
4.比较两种方法并确保不存在无法解释的差异。
5.兑换少于 50 次或 0.00000000000001 代币数量的废弃池和空池(检测到 7,863 个池,包括 2,083 对稳定池,我的算法删除了 112 个空池和废弃池)。
数据分析:BCH哈希率增长速度远超BCC:据Bitcoin报道,有数据显示过去6个月以来在哈希率的增长速度方面BCH约是BCC的2.5倍。自去年11月起,BCH的哈希率增长了480%,而BCC的哈希率则增长了190%。[2018/4/23]
6. 为每个代币找到稳定币的路径,将池中的 TVL 转换为美元。
7. 移除美元价值受损的低流动性资金池,因为某些资金池在完全移除流动性后可能显示价值不足(请查看下图作为示例)。
8. 将所有剩余货币对的 TVL 转换为美元并添加。
计算过程很快,我喝咖啡的过程中就完成了,下面是最终的计算结果。
从上图的计算结果可以看出,这几乎比报告TVL的118亿美元少了近4倍。
错误的数据会导致投资者做出一些错误的决策,我们认为实际上修复Uniswap 的TVL并不难。Uniswap Labs可选择在子图代码中修复,或计算器开发人员开始使用其他数据源。但我们对计算器的预测数据的准确性保持怀疑,我做了一些简短的计算来验证我的观点,结果和我的猜测一样,发现没有接近的数据。
这是一个非常大胆的猜测,我知道很多流动性提供者都是依靠现有的计算器来做出数万美元的投资决策。但为了便于您进一步做出自己的判断,我们复原了以下的计算过程:
首先,让我们回顾一下 Uniswap v3 协议的一些核心概念。
它的主要创新之一是集中流动性。本质上,使用 Uniswap v3,您可以选择您希望资金用作流动性提供者的价格范围。这是一个了不起的概念,可以为协议用户带来巨大的价值。流动性提供者限制了他们对无常损失的范围,交易者可以在波动性较低时享受较小的价格滑点。但所有这些潜在的好处都是有代价的,那就是复杂性。
金色财经现场报道 DATAVLT联合创造人Michelle Yeo:区块链技术赋能未来数据分析:金色财经前方记者实时报道,第二届全球金融科技与区块链中国峰会于4月12日在上海召开,DATAVLT联合创造人Michelle Yeo在现场表示,现在变革的速度非常快,公司面临的挑战第一是数据分析;第二个是分析能力;第三点就是安全。而促使数据时代的消费有几点,第一点是物联网,产生数据。另外要知道如何分析数据,同时编辑计算很重要。现在的计算基本上是集中化,区块链应用非常关键,如果这个技术不能应用,用于边缘计算的话,就不会出现一些现象性的巨大的变化。当然,还需要5G技术、AI等技术的支持。区块链已经存在十年的时间,但是依然是新兴技术,很多阻力是文化遗留的问题,这个挑战依然会存在下去。[2018/4/12]
在 Uniswap v3 中,流动性提供者选择提供流动性的价格范围。一旦价格在此范围内,他将获得兑换费用的分成。流动性提供者希望其流动性头寸的价格范围尽可能宽。但是,流动性在此范围内按比例分配。因此,范围越广,每笔交易的兑换费用就越低。
在此示例中,选项 A 显示流动性提供者选择了较宽的价格范围,而选项 B 显示了相同金额的较窄价格范围。假设在这两种情况下,价格都在所选价格范围内,流动性提供者在选项 B 中获得 3 倍以上的费用。但是,如果价格波动更大,流动性提供者最终可能在选项 A 中获得更高的利润。
因此,实际上,选择正确的价格范围应在错过价格的风险和每笔交易获得较低回报之间找到最佳平衡。
此外,还有一个被经常忽视的参数也会影响流动性提供者的利润。那就是LP利润计算器,这个参数可以改变一切。如果你想知道LP的具体计算逻辑,可以参考以下示例:
在此示例中,两个流动性提供者(LP1 和 LP2)拥有头寸。LP1 的头寸窄幅为 3 美元。LP2 拥有 5 美元的宽头寸。在这种情况下,如果价格没有超出 LP1 的持仓范围,他将获得比 LP2 多 3 倍的费用。因为 LP2 在这个范围内只有 1 美元,而这 1 美元正在与 LP1 的 3 美元竞争。
如果您查看任何 Uniswap v3 池子的流动性分布,你会发现它并不统一。
门槛越高,竞争越高,流动性提供者需要在选择有竞争力的范围和价格下跌概率较低的范围之间找到平衡。这就是为什么这种分布在 LP 利润预测和战略制定中发挥重要作用的原因,但我并不确定这个分布是否计算正确。
流动性提供者就是猜测价格、竞争状态和交易量,如果 LP 有一个愿望,那就是事先了解交易的未来以调整流动性头寸,这是可以实现的。
在研究过程中,一些不寻常的流动性提供者引起了我的注意。他们每天多次添加和删除大量流动性头寸(超过 1000 万美元)。更令人惊讶的是,他们总是在同一个区块中添加和移除流动性。
我们可以看下面这个例子:
我们有三笔交易,都在区块15413416,位置 3-5,以自下而上的顺序执行。第一个使用 Execute 方法的交易是一个名为“MEV Bot”的合约,为 USDC-WETH 池增加了 2200 万美元的流动性。
MEV Bot 增加流动性第二笔交易是通过 WETH 从 USDC 到 DogeChain 的交换,这是一笔价值约 16,500 美元的普通兑换交易。
标准兑换交易第三笔交易又是“MEV Bot”,从 USDC-WETH 池中移除了 2200 万美元的流动性。
MEV Bot 消除流动性示例中发生的事情称为“流动性狙击”,让我解释一下这是如何工作的:
1.有人发送了一笔交易,将 USDC 交换到 DogeChain;
2.MEV Bot 在内存池中检测到此交易,并使用 Flashbots 技术或类似技术激活了与矿池的私有链接;
3.MEV Bot 向矿工支付了一笔兑换交易和两笔按特定顺序进行的交易,以允许提取价值;
4.MEV Bot 在一个非常窄的价格范围内增加了如此多的流动性(2200 万美元),因此有效地,从特定的 USDC-DogeChain 交易中获得的所有费用利润都累计到他的身上;
5.MEV Bot 移除流动性并赚取费用(约 35 美元)。
因此,他扣除GAS费后的毛利润约为 30 美元。也许这个费用不是很多,但他每分钟多次执行此策略,所有这些都加起来,就是不小的数量了。你也可以通过区块浏览器,自己检查这个过程。
作为流动性提供者,这对你意味着什么呢?这意味着流动性狙击手可能会大幅削减你的费用利润。
我相信 Uniswap 是一个具有巨大潜力的伟大项目,我也尊重 Uniswap v3 核心集中流动性的想法。然而,我发现 Uniswap 生态系统的分析部分还远未成熟,我相信这个情况很快就会改变!最后,总结一下我的研究结果:
1.Uniswap v3 图表中的 TVL 数据非常不准确,所有依赖官方 Uniswap v3 子图的分析工具都存在相同的错误。
2.Uniswap v3 TVL 总额为31.4b亿美元,而官方网站报告的为 118亿美元(数据截止至撰写本文)。
3.Uniswap v3 流动性提供者的计算器对现实生活中的策略几乎没有价值,因为它们没有考虑竞争和流动性狙击手。
著名的呆伯特系列,经修改后以反应流动性提供者的现实情况
幸运的是,您现在可以更好地了解 Uniswap v3 流动性池在现实生活中的运作方式,并可以相应地调整您的研究。
虽然我无法提供投资建议,但我认为只有 2 个选项可以建立一个突出流动性的策略:
简易版,使用历史性能数据。尝试一些小额流动性头寸,看看哪些选项更有效,但这只有在市场稳定的假设下才有效。
进阶版,进行研究并相应地优化 LP 策略。如上所述,这需要深入了解 Uniswap v3 协议、数学和博弈以及实时处理大量数据的强大数据分析工具。
这两种选择有一个共同点,那就是你的决定是基于数据的而不是直觉或随机工具,有时处理数据很困难,但它有回报。
Ivan Vakhmyanin
个人专栏
阅读更多
财经法学
成都链安
金色早8点
Bress
链捕手
Odaily星球日报
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。