我在最活跃的区块链平台上深入研究套利业务的迷人故事。
这个故事开始于一个漫长的晚上,当时我正在定期分析交易者在 BSC 区块链上的表现。我正在使用我们的Datamint 数据分析引擎来寻找最赚钱的演员。该引擎包含从每日活跃用户数量最活跃的区块链——BNB 智能链(原币安智能链)不断流式传输的历史和实时数据。我有一个假设,即可以从这些交易者的行为中找到交易见解。
突然,一件事引起了我的注意。我发现一位交易员设法夸大市场270 BNB (撰写本文时为 65,000 美元,甚至超过交易时的金额)。他仅使用去中心化交易所(DEX)来实现这一结果。
好吧,“不好也不可怕,”我想。然后,我运行了一个查询来了解他花了多少时间才达到这个结果。查询控制台想了几秒钟,给了我一个惊人的答案:有一天。真的吗?好的,但是他发送了多少笔交易?只有一个?怎么会这样?
好吧,从技术上讲,在一笔交易中进行多笔交易是可能的。在类似以太坊的区块链(如 Polygon、Avalanche C-Chain 等,当然还有 BSC)上,这需要你编写和部署智能合约。您需要使用 Solidity 语言进行编码,但如果您有一些编码经验,这并不难(请注意,大多数在线推广的“Uniswap Arbitrage Bot”代码示例都是骗取您的钱的骗局)。
但是你到底怎么能在一个原子步骤中提取这么多价值❓
是时候检查交易内容了。
https://bscscan.com/tx/0x724e64f8426af9329c71ff3eee16e2bf5fc03b979370217c277e8bbf917f3bb7
让我们仔细看看这里发生了什么。
我们看到这个幸运儿拿了1500 BNB兑换成 BUSD 稳定币。然后,他将 BUSD 换成 BSC-USD(另一种与美元挂钩的稳定币)。之后,交易者将 BSC-USD 换成 CAKE(Pancakeswap DeFi 协议的原生代币),然后以打包的形式换回 BNB。最终,交易者获得1769 BNB ,有效提取了 269 BNB 的利润。
这称为套利。许多资产在多个去中心化交易所(DEX)上交易,不同 DEX 和资产对的价格不断变化。聪明的参与者可以利用这些价格差异并在一次交易中提取价值。
经过一些研究,我发现这个例子虽然令人印象深刻,但并不常见,因为有两件事。首先,在这种情况下,玩家使用自己的资金进行交易。其次,他提取的数量非常大。
所以这是另一个更常见的套利例子:
https://bscscan.com/tx/0x257af7585ca32e8648c4307e839d70e2e7d2a6879375a29abe9c15145b204015
首先,您可能会看到操作的顺序很奇怪。套利者在付款之前从流动性池中取出代币。这被称为“闪电贷” 。像 Uniswap v2(Bancakeswap 和 BSC 上的大多数其他 DEX 是 Uniswap v2 的分叉)之类的交易协议允许您提取任意数量的资金(不超过池的总流动性金额)。但是您必须在交易结束前偿还所有借入的资金。该协议在这里不承担任何风险,因为如果您不完全偿还贷款,它将强制恢复交易。
所以,这个套利者利用了闪电贷款。这样,他可以在没有一分钱营运资金的情况下进行套利(gas 费用除外)。但我们这里还有另一个不同之处:微利。交易者只得到了 1.26 美元并支付了大约 0.54 美元的汽油费。所以,他这笔交易的净利润不到 1 美元。但是,像这样的套利者每分钟可能会进行数十次套利尝试。这意味着他可能仍然赚了很多钱。很快,我们就会知道到底有多少。
在这一点上,我对这些例子感到非常兴奋,我决定深入研究。我决心找出这个市场究竟是如何运作的。也许……了解如何通过进入套利业务来赚取 Lambo 😃。
剧透:我仍然没有兰博,但这是一段迷人的旅程。我也学到了很多关于套利的知识,甚至试图把自己放在套利者的位置上。
你准备好跟随我踏上这段旅程了吗?让我们开始吧!
我决定从计算套利者的收入开始。
今天,我们只讨论所谓的闪现“套利者”。这些人接受闪电贷、执行交易、偿还贷款并保持利润——所有这些都在一笔交易中完成。
这部分套利市场非常甜蜜。事实上,您不需要营运资金来做这件事,也不会冒失去资金的风险。当您发送交易时,您要么获胜,要么交易被撤销。您只会损失少量的汽油费,通常不到 10 美分。但是如何计算闪电套利者的总利润呢?在进行了几次人工审核实验后,我提出了一个执行以下步骤的查询:
仅过滤满足以下条件的交易:
- 从 BSC 上流动性最强的资产之一中提取的价值:BNB、BUSD、USDT、USDC、WBTC 或 WETH。
- tx 接收器不是公共合约(例如 PancakeSwap 路由器)。我们排除了这些合约,以正确计算套利 gas 费用总额,包括尝试失败的费用。
找出合约创建者——我们需要这个,因为一个套利者可能有多个合约,我们希望将它们组合在一起。
使用交易当天的资产中位数-BUSD DEX 价格计算总收入并将所有收入转换为美元价值。
计算成功和不成功尝试的 gas 成本。
注意:当谈到套利者的利润时,我们指的是毛利润:收入减去汽油成本。实际上,套利者很可能还有其他重大成本,包括研发团队工资和基础设施支付(服务器租金、专用网络链接等)。确切的成本结构是套利者对套利者的专有技术,我们无法通过链上分析发现。这个工具很强大,但显然有局限性。
结果查询结果确实是计算密集型的。在正常情况下,执行可能需要几天或几周的时间(尤其是考虑到 BNB 智能链档案的巨大规模)。然而,由于 Datamint 数据分析引擎核心的非常快速的分析数据库以及我同事在查询优化方面的一些帮助,我在几分钟内就获得了所有数据。然后,我将可视化工具连接到生成的数据集市。在这里你有它: Datamint BSC Flash Arbitrage Monitor 。您可以在我们的网站上实时查看(请参阅文章末尾的链接)。
但是让我们回到我们的分析。我们可以看到,自 2021 年 1 月 1 日以来,所有盈利的套利者都赚了 13805 亿美元。这几乎是 BNB 智能链的全部历史。 BNB 智能链于 2020 年 9 月推出,并在 2020 年第四季度获得发展势头。
我们还可以看到套利者的利润缓慢而稳定地下降。 (这不包括我们稍后将讨论的尖峰)。我将这种下降解释为 DeFi 市场变得更加成熟和高效,通过套利提取价值的空间越来越小。
我对有多少套利者遭受直接损失感到惊讶——其中一些人损失了数千美元。
这并不是因为天然气成本(对于大多数套利者来说,天然气成本实际上只是收入的一小部分)。他们实际上不必承担这些损失,因为如果您发现交易即将产生负利润,您可以撤消交易。我只能认为他们的损失是由于数学不好。这并不奇怪,因为这个甜蜜的市场吸引了专业人士和业余爱好者。
让我们来看看最成功的人,我称他为“BSC套利王” 。他从一开始就参与其中,到 2022 年第二季度末赚了近 800 万美元。
他拥有 32 份套利合约,所有这些合约都有利可图(嗯,他是专业人士,毫无疑问)。从他的盈利动态来看,我们看到他在 2022 年的盈利普遍低于 2021 年。这部分是因为市场效率更高,部分是因为 BNB 价格较低( 2022 年的平均 BNB 价格为 ~300 美元 vs ~ 2021 年为 400 美元)和整体市场下滑。但是,我们可以看到他在 5 月份的利润大幅飙升。 2020 年,他通常每天赚 5-15k$ 左右。但在 5 月 12 日,他赚了惊人的 320k$! (我可以想象他的团队那天晚上有多么疯狂的派对)。如何?
好吧,为了得到正确的答案,我只需要谷歌“2022 年 5 月 11 日至 12 日加密市场发生了什么?”。但我决定更深入地研究链上数据。我想以艰苦的方式学习一切。因此,我组装了第二个查询,它允许我按套利中使用的资产细分套利利润。
注意:很多套利涉及连续3个甚至4个资产,所以下图的数字是非累加的(总交易利润计入所有参与资产)。
当我运行查询并将日期过滤器设置为 5 月 11 日时,我一眼就明白了一切。
是的,是 LUNA 和 UST 。这是 LUNA 协议中流动性不足导致算法 UST 稳定币与美元脱钩的那一天。然后,LUNA 代币的大规模自动铸造导致其价格跌至深渊。
但这对套利者的利润有何影响?这很简单。
当这样的事情发生时,就会发生大规模的售罄。 DEX 协议的大销售意味着价格的大变化。这导致不同 DEX(例如 Pancakeswap 和 BiSwap)之间的价格差异很大。而这正是套利者所渴望的。当人们开始恐慌时,他们倾向于更快地卖出,而不是以最优价格卖出。在正常情况下,他们会拆分订单,开始以更高的流动性卖出,等待价格回升等。但那天,他们没有足够的时间去做所有这些。此外,超额抵押的链上贷款协议(通常用于做空)中的许多头寸都被清算人平仓。抵押品被自动出售以支付贷款。这些大规模的自动销售也造成了效率低下。所有这些都为我们引以为豪的 BSC 套利之王带来了 320k$。当天所有套利者的总利润超过 200 万美元。
为了了解哪些资产(特别是我称之为“路径”的资产组合)在“正常”时期最有利可图,我不得不组装另一个查询。此查询通过排序路径而不是单个资产对利润进行分组(同样,以非累加方式) 。然后,我调整了日期过滤器以从观察中排除峰值。
我预计仅由 CAKE、ALPACA 和 SHIB 等最具流动性和最受欢迎的资产组成的路径将是最有利可图的。但那不是真的。
出于某种原因,许多最赚钱的路径都包括我以前从未听说过的 FIST 代币。一些简短的谷歌搜索向我展示了几个声称是 FistSwap 或 FstSwap DEX 附属于 FIST 令牌的网站。至少其中一些肯定是骗局。我确信这里的更多调查可以带来有趣的见解,但我认为这超出了本研究的范围。
有趣的是,我找不到市场波动和套利收益之间的任何显着相关性。
这是我最初的假设:市场波动越大,套利者赚得越多。然而,除了几个大的峰值之外,我无法确定套利利润和波动性之间的任何密切关系。
好的,现在我们知道了两个主要的事情。首先,套利市场确实有一些钱。其次,尽管美元整体利润稳步下滑,但勇敢者仍然可以找到获利机会追逐。
但是,在我们深入研究之前,我们想知道一件非常重要的事情:
因为如果市场是不公平的,它有多少钱并不重要——你将无法用一些秘密优势来削减分享玩家。我们有很多理由怀疑市场的公平性。这是因为 BNB 智能链上的一些参与者可以拥有巨大的优势。这就是为什么。
当套利机会出现时,所有的套利者都在试图阻止它。这意味着他们将交易放在创造机会的交易之后的下一个位置(例如,用 2000 BNB 交换 CAKE)。我称这个交易为“触发器” 。赢家通吃,其他人只需为不成功的尝试支付油费。为了做到这么快,套利者必须竞相检测内存池中的触发器(待处理交易的临时存储)。然后,他们必须先将套利交易发送给验证者。
显然,两种类型的参与者在这里有很大的优势——RPC 节点(通过 RPC API 从你的 Metamask 钱包获取交易)和验证节点。
验证者节点可以对交易进行重新排序以发挥其优势,甚至可以私下挖掘交易而无需将其发送到内存池。这种优势称为 MEV(矿工可提取价值)。在以太坊网络上,我们甚至发现了一个名为 Flashbots MEV 的特殊计划。该倡议试图提供对私人采矿的公平访问。但是,BSC 没有这样的东西。它只有 21 个验证器。在任何特定时刻,我们都可以怀疑这些验证者正在玩套利游戏以增加他们的利润。
那么,我们先来看看市场份额分布。
自 2021 年 1 月 1 日以来,我观察到1972 名套利者使用6689 份定制合约。其中只有 430份盈利(有 2648 份盈利合约)。如果我们看一下目前的情况(比如 2022 年第二季度),我们会看到总共 645 名套利者中有 129 名获利。市场也相当稳固——前 7 名玩家占据了 50+% 的市场份额,前 20 名占据了 80+% 的市场份额。然而,许多小玩家仍然处于利润分配的尾部,他们仍然能赚到一分钱。
嗯,这种市场分布并不能说明市场有多公平。我们需要其他方法来解决这个问题。
这时候我们又想再次使用链上数据水晶球🔮了。
此刻,我们拥有所有成功套利交易的完整历史记录。对于每笔交易,我们都知道区块的编号。我们还知道其验证者的地址(有时是名称)。我们可以假设任何套利者不可能同时与所有 21 个验证者建立“特殊”关系。因此,如果套利者利用 MEV,他的利润应该偏向某个验证者。
好的,看起来是时候进行另一个查询了。这一次,我以 2021 年 1 月 1 日为时间段,计算了每个成功套利者的以下指标:总利润、每笔交易的平均利润、他们成功的交易数量,最重要的是,他们拥有的最大利润份额使用单个验证器。
理论上,如果套利者对验证者没有任何偏好,这个“topValidatorProfitShare”指标应该接近 1/21 = ~5%。实际上,许多其他因素会影响成功率。例如,套利者的节点可以与一些验证者共享同一个数据中心。或者他们的节点可以与验证者直接对等。启发式地,我假设低于 20% 的所有内容都是公平竞争的指标。
因此,我运行了一个查询并按总利润对结果进行了排序。和…
好吧,至少前 10 名套利者没有与验证者有特殊关系的迹象。第一个可疑条目 (0x92ef7fac0708fc3c49921907361429ec14cd8cb6) 位于第 15 位,利润为 39%。它从 NodeReal 验证的区块中总共获得了 1,100 万美元。但是,这还不足以说这是不公平的游戏。一个更可疑的条目 (0xba5276f63492b351c7227a4f285593cefa250ad3) 位于第 45 位,利润为 89%。它从 HashQuark 验证的区块中总共获得了 566k 美元。这可能是从属关系的强烈迹象,但在这种情况下,总利润看起来太小了。它大约是整个市场的 1/21 的 6 倍。
然后,我尝试验证此条目是否与 HashQuark 有特殊关系。我只选择了 HashQuark “偏爱”的套利者,并按他们的“ topValidatorProfitShare”降序对它们进行排序。
可疑的家伙是第一位的。顺便说一句,他的每笔成功交易的平均利润确实惊人——331 美元。好多啊。然而,在第二位,我们绝对没有看到总利润低于 2k$ 的出色套利者。同时,他的topValidatorProfitShare仅比第一个少 2%。看起来他并没有从隶属关系中获利。他还有超过 6674 笔成功的交易,所以这看起来不是一个意外。
好吧,也许两者只是不小心共享数据中心的同一个架子?我们永远无法确定。
但是,我可以说,总体而言,对于一个竞争激烈的市场,从属关系的证据非常薄弱(或伪装得很好) 。看起来大多数玩家都在公平竞争,没有鲸鱼主宰市场。 😌
好的,所以我们现在知道,BNB Smart Chain 上的闪电套利市场规模不错,结构看似公平,机会很多。看起来我们已经准备好进入它并为兰博而战了!
好吧,没那么快!拼图中仍然缺少一块。
套利机会是如何创造的?
我们知道这通常是如何运作的——大型 DEX 掉期、清算等。但要开始监控内存池,我们需要确切知道套利者观察到的触发交易类型。
让我们回到在一次交易中提取 60k$+ 的幸运者身上。记住?那家伙开始了我的迷人之旅。通过在 BSCScan explore 上探索区块,我们可以很容易地找到他的触发交易。这是在套利者交易之前开采的同一个区块中的交易。这里是:
https://bscscan.com/tx/0x06de0901e11bd19b3a42f0746e17604a9c8c502bdc4202737f24407bf1743f75
这是Alpaca Finance借贷协议的清算交易。有人在这个协议中占有很大的位置,很明显,这不完全是他们的日子。他们的头寸被清算,他们的抵押品在 PancakeSwap DEX 上自动出售。
显然,检查每千万套套利交易的触发器并不是一种选择。你已经知道我将如何解决这个问题。
Datamint 服务器和数据库,数据分析工具,和几杯☕️ 。
这个查询可能是最复杂和计算密集型的。当我点击“执行”时,我几乎可以听到我们数据服务器的粉丝像喷气发动机一样嚎叫。值得庆幸的是,这种服务器折磨并没有持续多久,我得到了结果。
所以,结果一点也不奇怪。超过三分之一的套利利润涉及到 PancakeSwap DEX 的交易作为触发器。用作触发器的最流行的函数是“swapExactTokensForTokens” 。它约占所有利润的 14% 。这个功能是 BSC 上的大多数 DEX 分叉的 Uniswap V2 的一部分——例如 BiSwap、ApeSwap 等。唯一令人惊讶的是 FstSwap(或 FistSwap?)在 PancakeRouter 之后紧随其后。
此时,我们可以简单地选择触发地址和功能的任意组合。现在,我们已经准备好进行实验了!
我和我的团队花费了一些资源对触发器进行了更深入的研究。主要是分析竞争与不同触发因素的盈利能力之间的关系。但是,这显然超出了本文的范围。因此,如果您对更多详细信息感兴趣,请与我们联系。
在这一点上,我拥有了我需要的所有理论,但没有实践,理论就什么都不是。意思是…
我必须从免责声明开始——我的目标不是建立一个有利可图的闪电套利机器人。我没有幻想,我完全理解这是一项复杂的开发任务。
我的实际目标是尽可能地偷工减料。我想了解市场上经验丰富的玩家和新手之间的距离有多大**。**
所以,我决定我不会:
1.对每笔交易创造的潜在利润进行模拟或启发式估计。我的猜测是,这是专业套利者在计算速度上竞争的地方。对于我的研究,我将自己制作触发器并仅响应我自己的触发器。
2.编写和部署一个实际的套利合约。这并不难,但我的研究不需要它。如果我可以将我的虚拟交易放在我自己的触发器超越竞争旁边,那么编写合约就是一个技术问题。
3.进行具体优化。我不会调整区块链节点、优化基础设施、网络等。这是一个兔子洞。如果没有它我不能赢,那肯定不会轻松。
考虑到这一切,我启动了一个 BSC 节点并用 Python 编写了一个简单的脚本。这样,我可以通过 IPC 连接不断地获取它们来监控内存池中的所有新事务。然后,我可以寻找我精心设计的触发器并立即发送一个响应的虚拟交易(将 0 BNB 转移到我自己的账户)。
这是理论上它应该如何工作的。
但我想说几句话关于制作触发器。我需要发送一笔能引起活跃套利者注意的交易。这应该是至少 10k 美元的大交换。但是,如果我不想在游戏中投入真钱,我该怎么做呢?幸运的是,当在内存池中竞争反应速度时,套利者没有时间检查发送方是否有资金进行请求的交换。
所以,我以我自己的小掉期交易为例,对其进行了编辑。
通过这种方式,它在 Pancakeswap 以 100 万美元 (BUSD) 与 CAKE 的互换形式出现。
这就是交易负载在 BSCScan 上的样子。
第一个实验表明这种方法非常有效。我的触发器被挖掘,被还原(因为我的钱包里还没有 100 万美元😆),并且被大约 400 次套利尝试反冲。 400……那时,我在想,我试图过分夸大大个子的尝试注定要失败。
但我决心把事情做好。因此,我启动了我的 Python 脚本,等待节点连接初始化,并使用 Metamask 的自定义十六进制数据字段和在线 ABI(应用程序二进制接口)编码器https://abi.hashex.org/发送我精心制作的触发器。几乎立即,我在节点的控制台中看到一条通知,在内存池中检测到触发器并发送了虚拟响应事务。几秒钟后,两个交易都被挖掘出来了,我打开了 BSCscan(当你交叉手指时,这并不容易做到)。我评估了结果:
我的期望很低,但天哪,结果相当令人失望。即使我设法将我的响应交易与触发器放在同一个区块中,我还是输给了数百名其他套利者。
这意味着他们所有人都拥有巨大的基础设施优势——他们调整了强大的节点、特殊的网络解决方案、更好地与其他节点对等,以及一些我什至不知道的其他优化。
我们应该在这里停下来吗?这本来是明智的,但我想把事情做到极致。我将向活跃的套利者提出一个非常艰巨的测试。
为了更好地理解以太坊 P2P 协议的工作原理,这里有一个简短的题外话。当一个节点获得新事务(来自 RPC 或来自其他节点)时,它会将它们添加到内存池中。然后,它将它们重新传输到其他连接的节点(对等节点)。这个过程有两个特别之处:
知道了这两件事,我可以模拟出我这边的巨大优势。
我可以在一个数据包中同时发送触发和响应事务。
我也可以确定我会立即发送完整的交易。因此,理论上,套利者不应该能够在我的触发器和我的响应之间插入他们的交易。它们合并在一个数据包中,因此它们之间没有任何延迟。
在我花了几个小时深入研究 BNB 智能链的官方节点软件 bsc-geth 的源代码之后,这个想法似乎不像一开始那么美妙。然而,一切都过去了,最后,我能够向我节点的 150 个对等方发送自定义数据包。
我精心制作了触发和响应事务,将它们打包成一个数据包,然后发送给对等方。我从来没有如此紧张过打开 BSCScan。
我所看到的让我无言以对。
结果和之前的运行几乎一样!我仍然输给了 100 多个套利者。怎么可能?我在这里只看到两个选项。要么验证者在游戏中(根据我的研究结果这不太可能),要么……或者,BNB 智能链有这么多套利节点!这意味着他们可以拦截到验证者的每条路线上的交易。套利者会找到触发器,插入自己的响应交易,并延迟较弱对手的交易(是的,像我这样的人😢)。
看起来闪电套利利润根本不是容易赚钱的。我很可能不会从这个市场上得到兰博……但是,在我陷入沮丧之前,想到我破碎的梦想,我回忆起我的业务不是套利。
我从事链上数据分析和增值数据服务。这项研究对我的业务非常有用!它显示了仅使用公共区块链数据、正确的工具和承诺可以学到多少。
这是一段引人入胜的旅程,再次证明了链上数据的力量。但不仅仅是任何数据;我的意思是使用适当的分析和高效工具(如Datamint 数据引擎)来利用数据。故事还没有结束,因为我们已经在我们的网站上发布了Datamint BSC Arbitrage Monitor分析应用程序。您可以自己继续旅程,并从中寻找更多见解。
但为了总结这项研究,我将重申主要发现:
这就是今天的全部内容。如果你喜欢这个故事,请给我们写几行关于你对链上数据领域感兴趣的话题。这将有助于我们为即将发布的内容(包括文章、研究、在线工具和网络研讨会)确定主题的优先级。
愿数据与你同在!
关于作者*:* Ivan Vakhmyanin 是一位拥有多年经验的数据分析和可视化(BI、大数据、数据科学)专家。他还是一名区块链和 Web 3.0 专家,可将领先区块链平台(以太坊、BNB 智能链、Solana 等)的链上数据用于分析。 Ivan 热衷于通过为专家和高管开发数据驱动管理领域的教育计划来分享经验。
也在这里发布