由Flashbots开创的MEV竞拍服务已受到了矿工们的欢迎,那么这种竞拍是否是最优的呢?
注:原文作者是斯坦福大学电气工程博士GuillermoAngeris,placeholder研究员AlexEvans以及Gauntlet创始人TarunChitra。
在包分配问题中,矿工面临着固定数量的交易,而他们要将这些交易包含在给定的区块中,此外,矿工还可以选择在该区块中包含哪些包。矿工通过将每个包包含在区块中来赚取利润,然而,包具有很多必须要考虑的分配约束。在这篇文章中,我们给出了一个简单的整数线性规划问题公式,并提供了一些基本的扩展。
简介
矿工可提取价值这个术语,指的是矿工根据交易排序可获得的任何超额利润。在区块链等去中心化系统中,用户通过点对点的gossip网络向矿工提交一组交易和费用。而矿工们会收集这些交易,并将它们分批成一个完全有序的序列,然后由大多数矿工验证并接受作为下一个区块。
然而,在很多区块链中,矿工可选择要包含的交易集以及提交交易的顺序。
如果一名矿工提交一笔具有经济意义的交易,他们可以对交易重新排序以确保他们的交易首先执行,这也被称为抢先交易。自从MEV这一概念被提出以来,已经出现了很多涉及闪电贷、借贷以及三明治攻击的新型MEV形式。MEV代表了一种价值提取形式,而用户无法通过简单地修改其交易竞价行为来消除它。
公平。从理论上讲,MEV可能导致区块链共识不稳定,并可能迫使用户在预期交易费用之外支付额外的费用来处理交易。这也引出了很多研究,而这些研究的重点是保证交易排序及包含方面的“公平性”。而公平算法尝试使用密码学方法,例如对交易排序或待处理交易状态的时间锁承诺,以强制基于时间的“公平”保证。
Uniswap因Cloudflare路由问题再次宕机:11月17日消息,Uniswap已经宕机数小时无法打开。其官方Discord表示,这是Cloudflare路由的问题,在解决之前,可以通过IPFS链接使用当前版本。
今年6月,由于Cloudflare系统故障,包括FTX、OKX等加密交易所和Etherscan浏览器、Discord、Coingecko等网站受到影响。[2022/11/17 13:17:56]
MEV竞拍。或者,有一些研究工作表明,MEV是区块链独有的,它无法通过纯粹的密码学方式删除。这一系列工作有效地表明,相比用密码学方式删除MEV,矿工和用户共享MEV利润将导致稳定的均衡。
在这个由Flashbots开创的世界中,“探索者”试图找到交易的最佳顺序,然后竞标由矿工以特定顺序执行的“包”交易。这种出价通过MEV拍卖进行调解——即参与者愿意在链下拍卖中向矿工支付额外的优先出价。因此,MEV竞拍是更受欢迎的,并且这种方式在2021年为矿工创造了超过7亿美元的额外收入。
最优性。然而,一个自然要问的理论问题是,这种竞拍是否是最优的呢?目前,Flashbots竞拍通过使用约束求解器解决背包问题(Knapsackproblem)来有效地执行交易包。但是从理论上讲,我们应该期望近似整数线性规划(ILP)的解决方案是“最优”的吗?应该如何描述最优性?由于MEV是根据所有资产的可提取价值来定义的,因此任何最优概念都取决于任何一组交易和包可实现的最大利润。
总结。在这篇短论文中,我们给出了在单个区块中包含交易包的最优ILP的首个正式描述。我们的描述侧重于MEV的三种操作形式,包括抢先交易、尾随交易以及三明治交易。我们假设在实践中使用的精确gas模拟方法是作为预处理步骤执行的,它将分配问题与正确估计单个包利润的问题解耦。我们的公式可以很容易地用高级描述语言进行优化并在实践中使用。
Flashbots产品负责人Bert Miller:“0xbaDc0dE”开头地址在单笔交易中赚了 800 ETH,但一小时后被黑客盗走损失1,100 ETH:金色财经报道,据研究机构 Flashbots 产品负责人 Bert Miller 在社交媒体发文称,一个“0xbaDc0dE”开头地址的 MEV Bot 机器人操作员在单笔交易中赚了 800 ETH,但一小时后损失了高达 1,100 ETH,该地址在过去几个月中执行了 220,000 笔交易。Bert Miller 解释说,“0xbaDc0dE” 利用了一位试图在 Uniswap v2 上出售价值 180 万美元 cUSDC 的用户,通过将交易与涉及许多不同 DeFi dApp 精心套利交易赚了 800 ETH(102 万美元),而那位不幸的卖家从该交易中只收到了 500 美元。但仅仅一个小时后,“0xbaDc0dE” 所有 ETH 都被盗了,一名黑客从该钱包中获取 1,101 ETH(约合 140 万美元),区块链安全公司 PeckShield 也发现了这笔交易并发布了与黑客相关的链上信息。[2022/9/29 22:38:56]
定义
在这节内容中,我们首先来描述一下这篇论文中使用的基本定义。
交易:矿工通常从一系列的交易开始,我们把这些交易写成一些集合T。这些交易由区块链的用户提供,它们可以是Uniswap或Curve的swap交易、借贷或预言机更新等交易。
包:矿工还接受许多由用户提交的包,所谓包是一个带有关联交易的操作,每个包还包括了一些出价,例如,用户愿意支付多少钱才能将其包包含在区块中。矿工可以决定区块中包含哪些包以及交易。而矿工从包中获得的利润,等于区块中包含的各个出价的总和。
存储器大厂华邦电:元宇宙后续对Flash需求将持续增加:1月17日消息,存储器大厂华邦电表示,目前市面上的VR装置均搭载多颗NOR Flash元件,随着元宇宙的虚拟实镜装置设计将更趋轻巧,不同应用市场在运算功能及反应速度的要求提升,后续对Flash需求将持续增加。[2022/1/17 8:54:29]
操作:从以前开始,每个包都将一个操作与一笔交易相关联。可能的操作是:抢先交易t,尾随交易,以及三明治交易。
对于给定的交易t∈T,要么是进行三明治交易t,要么是进行抢先交易以及尾随交易t。例如,如果有三个包与交易t关联,其中一个在t之后进行尾随交易,一个执行抢先交易,另一个执行三明治交易,那么矿工可以选择包括抢先交易包和尾随交易包,或者是三明治交易包,但不能同时包括这两个类型。
我们把这三个操作的空间称为A。现在我们可以很容易地将包定义为与交易t∈T相关联的操作,而它会有一个出价金额。即包是一个三元组(a,t,p)∈A×T×R+,所有包的集合将由B?A×T×R+给出。
利润最大化。剩下的问题是:矿工如何选择哪些交易包含在他们的区块中,以实现利润最大化?在下一节中,我们将展示这一问题可表述为一个简单的整数线性规划问题,而其通常可通过现代计算机在合理的时间内解决。
问题表述
我们将利润最大化问题表述为整数线性规划(ILP),我们将其称为包分配问题。
设置函数。为方便起见,我们将编写定义以下函数。这里,t∈T是一笔交易,而B是所有包的集合。
我们将s定义为与三明治交易t关联的包集合:
Uniswap:由于Cloudflare IPFS网关出现问题,app.uniswap.org网站暂时无法正常运行:Uniswap Protocol发推表示,由于Cloudflare IPFS网关出现问题,app.uniswap.org网站暂时无法正常运行。[2020/11/14 20:48:21]
类似地,f是与t相关联的抢先交易,b是与t相关联的尾随交易。我们假设B由b=1,2,...索引,其中n是提议的包的数量。
问题陈述:将包分配问题写成整数线性规划问题的一种简单方法如下:
这里,
是优化变量,如果当前区块中应包含包b,则xb为1,否则为0。问题数据是
,这是一个向量,使得cb≥0是矿工在他们的区块中包含包b所获得的利润,而T是要包含在此区块中的交易集)。
动态 | 黑客正在使用假Adobe Flash更新来隐藏数字货币挖掘恶意软件:据CCN报道,人们发现,假冒的Adobe Flash更新被用于在计算机和网络上秘密安装数字货币挖掘恶意软件,给受影响的用户造成严重的时间、系统性能和功耗损失。传统上,假冒的Flash更新很容易识别和避免恶意软件,但一项新的活动采用了新的技巧,在Windows系统上偷偷下载数字货币。当受害者的Windows计算机背景中的XMRig数字货币矿工软件或其他有害程序正在悄悄运行时,潜在的受害者可能不会发现任何异常情况。该矿工软件可能会在未经受害者同意的情况下,使受害者计算机的处理器速度变慢,损坏硬盘驱动器或提取机密数据并将其传输到其他数字平台。[2018/10/13]
标准形式。问题(1)可以用矩阵表示法写得更简洁一些。为此,我们将定义m=|T|,交易总数,以及矩阵
为:
对于每笔交易t∈T和包b∈B,使用这些新的定义,问题可用以下方式编写:
其中1是适当维度的全1向量,而
是优化变量。
解释。我们可以将目标和约束解释如下。目标
仅仅是包含在区块中的包给出的利润总和。第一个约束意味着区块中最多包含一个三明治包,或者区块中最多包含两个抢先交易或尾随交易t的包。第二个约束意味着对于每笔交易t,最多包含一个抢先交易包,以及最多包含一个尾随交易包,而最后一个约束是将x的条目约束为布尔值。
放宽松。一般来说,除了非常小的实例之外,问题(1)可能很难解决,因为x的条目有布尔约束。但是,在许多实际情况下,将布尔约束放宽为边界约束,经过一些简单的舍入方案后,可以产生合理的实际性能以及合理的解决方案。一般来说,这个宽松问题的最佳目标,始终是矿工可能获得的最大利润的上限,而任何舍入方案都会给出一个下限。这可以用来给出所提议的包分配的次优程度的一个界限。例如,如果放宽后的利润为1.2ETH,而拟议分配的利润为1ETH,则拟议分配的次优性最多为1.2/1?1=20%。换句话说,最多可将提议的分配提高20%。
2.1扩展
问题有几个简单但非常有用的扩展。
包约束。例如,用户可能希望指定几个包,这些包必须由矿工一次性全部包含,或者根本不包含。我们可以把它写成包Bi?B的子集。对于i=1,。..,?,如果Bi中包含任何一个包,则矿工必须包含包Bi的整个子集。
新的优化问题由下面的公式给出:
其中优化变量是
和
,而问题数据是在(2)中定义的矩阵
和矩阵
:
换句话说,D是一个对角矩阵,其对角条目是集合Bi的大小,而F是一个矩阵,使得(Fx)i给出了Bi中要包含在区块中的包的数量。约束Fx=Dy简单地表示,对于每个可能的i,要么包含所有|Bi|包,要么只包含0个包。
gas限制。另一种可能的扩展,是在优化问题上包含总gas约束。例如,当包含在区块中时,每个包b∈B可能使用一些最大量的gas。我们可以很容易地附加约束,即包使用的最大gas总量不超过交易)执行后剩余的gas量;即
,其中M≥0是剩余的gas量。我们注意到,这可能是一个很难获得合理限制的数量,因为当区块中包含包时,交易使用的gas可能会发生巨大变化。有其他可能的方法来进行计算,但我们不在这里讨论它们。
结论
在这篇论文中,我们提供了一个简单但非常通用的公式,它可以用于解决矿工利润最大化包分配的问题。虽然该问题通常是NP问题,但我们怀疑大多数整数线性规划求解器在实际情况下可能有很好的表现。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。