如何从区块链上数据识别出套利行为或者抢跑三明治交易

news2024/11/15 11:43:33

如何识别链上套利行为或者抢跑夹子三明治行为或交易

识别原子 MEV交易

鉴于交易可以任意复杂并且可以有无数未知交易模式,使用特定交易模式匹配的方法无法应对新的 MEV 模式。为了确定交易中是否发生套利,我们需要对交易进行通用抽象。

以下是我们为认可设立的原则。

我们将交易视为资产转移的集合,我们使用一组规则通过评估这些转移的结果来查看是否发生了 MEV。根据经验,交易中有不止一次转账(或互换),交易者最终会有盈余。

抽象方法

Transaction 可以抽象为以下行为:Transfer、Trade 及其组合。TransferTable 是通过将 Transfers 合并到一个名为 Transfer Table 的表中生成的。然后我们合并TransferTable中相同地址的行,得到CombinedTransferTable。

执行

下面是一些术语和方法的定义和解释。

资产

· ETH 或 ERC20 代币

转移方式

我们用它来描述交易中两个地址之间的资产流动。

· 转账::(从地址,到地址,资产,金额)

· 含义:将资产从一个地址转移到另一个地址。

转账表

· makeTransferTable :: [传输] -> 传输表

我们用它来描述一次交易中所有涉及的地址之间发生的多个资产流动的过程。

· TransferTable 的列是资产。

· TransferTable的每一行表示一个Address的一个Asset发生了变化,正值表示增加,负值表示减少。

· 一笔Transfer对应TransferTable中的两行:一行为from Address,对应负资产值,表示资产流出;另一行为to Address,对应正资产值,表示资产流入.

组合转移表

我们用它来描述一次交易中所有涉及的地址之间发生的多个资产流的最终结果。

我们合并 TransferTable 中具有相同地址的行,并将所有资产值相加,生成 CombinedTransferTable。

· makeCombinedTransferTable :: TransferTable -> CombinedTransferTable

交易

当一个地址在交易后资产发生变化时,据说该地址已经进行了交易其中一项资产减少而另一项资产增加。

MEV识别规则

当交易后满足以下条件时,MEV 被认为已经发生。

·  MEV 交易者在另一个地址进行了多次交易。

·  交易中涉及的每项资产在各自的交易中都经历了流入和流出。

·  交易者净盈余为正

一个典型的套利例子

典型的套利涉及  确定的 3 个代币和 3 个流动性池:

·    EtherScan上的交易

转账列表:

From

To

Asset

Amount

MEV Bot 0x80d

SushiSwap USDC 0x397

USDC

76860.06

SushiSwap USDC 0x397

SushiSwap USDT 0x06d

WETH

38.232

SushiSwap USDT 0x06d

MEV Bot 0x80d

USDT

77666.66

Uniswap V3 USDC-USDT 0x785

MEV Bot 0x80d

USDC

77406.53

MEV Bot 0x80d

Uniswap V3 USDC-USDT 0x785

USDT

77666.66

交易的TransferTable:

USDC

WETH

USDT

MEV Bot 0x80d

-76860.06

SushiSwap USDC 0x397

+76860.06

SushiSwap USDC 0x397

-38.232

SushiSwap USDT 0x06d

+38.232

SushiSwap USDT 0x06d

-77666.66

MEV Bot 0x80d

+77666.66

Uniswap V3 USDC-USDT 0x785

-77406.53

MEV Bot 0x80d

+77406.53

MEV Bot 0x80d

-77666.66

Uniswap V3 USDC-USDT 0x785

+77666.66

生成的 CombinedTransferTable:

Address

USDC

WETH

USDT

Trade?

SushiSwap USDC 0x397

76860.06

-38.232

True

SushiSwap USDT 0x06d

38.232

-77666.66

True

Uniswap V3 USDC-USDT 0x785

-77406.53

77666.66

True

MEV Bot 0x80d

546.47

False

判断

·  根据CombinedTransferTable,我们可以看出——SushiSwap USDC 0x397,SushiSwap USDT 0x06d,和Uniswap V3 USDC-USDT 0x785——这三个地址都进行了交易。

·   3笔交易涉及USDC、WETH和USDT,每笔资产的列均有正值和负值。

·  MEV-Bot 0x80d 没有贸易,其净盈余为正。

因此,我们将本次交易认定为套利交易。

 

识别Cross-Transaction

(三明治)MEV

跨事务结构分析是上述事务内分析方法的扩展。

三明治 MEV 具有以下字符。

·  在同一个区块中,攻击者的交易包含一个开始交易、一个结束交易,以及介于两者之间的一个或多个受害者交易。

·   Attacker和Victim的组合需要满足一个基本条件:from Address不一样。

三明治模式具有(攻击者开始交易、受害者交易、攻击者结束交易)的组合。每笔交易的 CombinedTransferTable 包含处理交易的相同地址。结合攻击者的 Start Transaction 和 End Transaction,我们得到包含最终净盈余的此 MEV 的 CombinedTransferTable。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/151157.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Java寒假打卡】Java基础-集合Set

【Java寒假打卡】Java基础-集合Set概述哈希值hashSet原理HashSet存储学生对象并遍历小结概述 底层数据结构是哈希表不能保证存储和去除的顺序完全一致没有带索引的方法,所以不能使用普通的for循环进行遍历 使用增强for循环或者迭代器进行遍历由于是Set集合&#xf…

PC企业微信4.0 HOOK逆向

最新功能 企业微信已更新到4.0.X版本 ,支持控制台的朋友圈、群发等操作。 功能列表: 企业微信接口文档 个人微信已更新至3.7.6.44 个微接口 ***********************分割线***************************** 请求命令码 2000 获取自己的信息 2001 获取指定好友的信息 2…

Reeds-Shepp曲线基础运动公式推导过程

本文是对之前文章“Reeds-Shepp曲线学习笔记及相关思考【点击可跳转】”的补充,因小伙伴的提问,本文补充介绍上述文章第三部分中基础运动公式的推导过程。 本文以上面的第一个公式为例进行介绍,即Reeds-Shepp曲线基础运动中的向前左转运动&am…

JDK 17 史诗级JVM调优

文章目录 JDK 17 之 JVM调优 史诗级 教程 1 调优层次2 调优指标3 JVM调优原则3.1 优先原则3.2 堆设置3.3 年轻代设置3.4 老年代设置3.5 方法区设置3.6 GC设置3.6.1 GC发展阶段3.6.2 G1的适用场景3.6.3 其他收集器适用场景4 JVM调优步骤4.1 监控分析4.1.1 如何生成GC日志4.1.2 …

python + pandas 如何实现web网页的断点连续采集

目录 一、实战场景 二、知识点 python 基础语法 python 文件读写 pandas 数据处理 web 连续采集 三、菜鸟实战 列表页断点连续采集基本思路 基本思路 网页列表页断点连续采集实现 Pandas 保存数据 csv 文件 详情页断点采集思路 基本思路 网页详情页断点连续采集代…

RealWorldCTF2023体验赛 部分WEB

WEB 🐑了拼🐑 拼图或者直接搜索js文件代码 Evil Mysql Server Mysql恶意服务器读取文件,MySQL_Fake_Server或者Rogue-MySql-Server直接读文件,填写vps的ip端口让服务器连接。 Be-a-Language-Expert 前段时间thinkphp6 多语言…

初级软件测试面试会问什么 拿好这些问题的标准答案,offer不在话下

随着互联网的不断发展,企业对于IT方面的人才需求也越来越大,在追求人才数量的同时,也注重人才质量。而面试就成为把握质量的拦门砖,因此,你想要走心仪的公司,那么你在面试中的表现将会直接决定你求职的成败…

C++ 语法基础课7 —— 类、结构体、指针、引用

文章目录1. 类和结构体1.1 类的定义1.2 类的使用1.3 结构体1.4 构造函数2. 指针和引用2.1 指针2.2 数组2.3 引用2.4 查询地址3. 链表3.1 添加结点3.2 删除结点1. 类和结构体 1.1 类的定义 class Person {private:int age, height;double money;string books[100];public:stri…

嵌入式系统移植导学

目录 系统移植导学 系统移植过程 Windows装机 Linux系统移植 开发板启动过程 系统移植导学 操作系统:向下管理硬件、向上提供接口 操作系统为我们提供了: 1.进程管理 2.内存管理 3.网络接口 4.文件系统 5.设备管理 那系统移植是干什么呢&am…

Zabbix使用LLD自动发现规则发现监控docker容器(下)

本篇是使用Zabbix监控docker容器下篇。利用ZABBIX自动发现监控功能,在部署zabbix agent客户端的服务器上,编写自定义功能脚本,实现自动获取服务器上运行的docker服务并监控其运行状态。 前提条件 已经部署好的zabbix监控系统 Zabbix服务器…

自动驾驶专题介绍 ———— 惯性导航

文章目录介绍工作原理特点应用场景介绍 惯性导航系统(Inertial Navigation System - INS)是一种不依赖外部输入信息、也不向外辐射能量的自助式导航系统,是通过陀螺仪和加速度计为敏感器件的导航参数解算系统。该系统根据陀螺仪输出建立导航坐…

安全—03day

虚拟主机基于域名、端口、IP访问nginx 一、虚拟主机基于域名访问nginx 1.为虚拟主机提供域名解析 echo "192.168.181.130 www.nj.com www.benet.com" >> /etc/hosts2.为虚拟主机准备网页文档 mkdir -p /var/www/html/benet mkdir -p /var/www/html/nj echo…

linux系统中QT进行文本读写操作的方法

大家好,今天主要和大家聊一聊,利用QT进行文本的读写操作方法。 目录 第一:文本读写基本简介 第二:应用实例 第三:运行效果 第一:文本读写基本简介 有时候我们需要对文件进行读写,比如写个Mp3…

第01讲:Docker入门

一、什么是Docker 1、Docker 是一个开源的应用容器引擎 2、诞生于 2013 年初,基于 Go 语言实现, dotCloud 公司出品(后改名为Docker Inc) 3、Docker 是一个可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器引擎&…

Java--集合--经典七道综合练习题

文章目录 一、集合的遍历方式 二、添加数字并遍历 三、添加学生对象并遍历 四、添加学生对象并遍历 五、添加用户对象并判断是否存在 六、添加手机对象并返回要求的数据 七、创建学生管理系统(*****) 一、集合的遍历方式 需求:定义一…

深耕5G云专网,阿里云祝顺民入选“2022年度5G创新人物”

2022 年,5G 商用发展成效显著,正在加速产业数字化,全面赋能经济社会发展。运营商 5G 投资超过 4000 亿元,共带动 8.6 万亿元的经济产出,而这一切离不开奋战在 ICT 行业的 5G 应用推动者。 日前,由中国工信…

分享104个PHP源码,总有一款适合您

PHP源码 分享104个PHP源码,总有一款适合您 链接:https://pan.baidu.com/s/1MnmNb3vsofBnQ4kKoMlSBw?pwdkl4o 提取码:kl4o 下面是文件的名字,我放了一些图片,文章里不是所有的图主要是放不下...,大家下载…

Python学生信息管理系统源码,学生教师端分离,支持数据的增删查改、数据分析与统计 基于Tkinter带图形界面

介绍 Python学生信息管理系统。学生教师端分离,支持数据的增删查改、数据分析与统计。 下载地址:Python学生信息管理系统源码 软件架构 Python3.9版本 Python-Tkinter库开发的图形界面 Python-Pandas库数据处理 Python-matplotlib库数据分析与展示 P…

C语言经典100例(006,007)

题目:用*号输出字母C的图案。 程序分析:可先用*号在纸上写出字母C,再分行输出。 程序源代码: #include "stdio.h" int main() {printf("用 * 号输出字母 C!\n");printf(" ****\n");printf("…

CSS知识点精学7-小兔鲜项目实现案例

一.网页和网站的关系 包含关系 网页和网站的关系就是包含关系,网站包含了很多的网页,网页不能单独存在于网络中。 网站是一个整体,网页是一个个体,一个网站是由很多网页构建而成。就像进入百度网站,里面还有其他许多…