火星链 火星链
Ctrl+D收藏火星链

以太坊:干货 | Flashbots:关于加速EVM的几种方法

作者:

时间:1900/1/1 0:00:00

原文作者:Flashbots团队XinyuanSun

感谢AlejoSalles、HongboZhang、AlexObadia和KushalBabel对本文的反馈和审阅。

原标题:《关于加速EVM的几种方法,实现更好的可扩展性和更高效的MEV提取》

借助性能更高的以太坊虚拟机(EVM),我们可以实现更好的网络可扩展性和更高效的最大可提取价值(MEV)提取。本系列文章分析了几种加速EVM的方法,重点是并行化和共享数据冲突分析。

出于多种原因,以太坊虚拟机(EVM)的性能至关重要。首先,如果我们有更快的虚拟机,那么以太坊客户端将能够更快地处理和验证交易,从而让每个人都更容易运行一个完整的节点,并加强网络的去中心化和安全性。第二,作为以太坊上的MEV提取变得更加突出,我们需要使MEV提取更容易,以便从中获得的利润可以更均匀地分配,以防止网络经济集中化。性能更高的EVM通过帮助搜索者产生更有利可图的完整区块和中继以具有更好的延迟来实现这一点。这意味着建设者市场将变得更有效率,从而吸引更多的搜索者并使市场更具竞争力,这反过来又使人们更难以进行危及网络稳定性的重组。

为了通过向后兼容性和对共识规则或存储实现方式的最小更改来提高EVM性能,我们需要并行性。在本系列的第1部分中,我们认为需要并行EVM,并介绍实现它的一般方法,例如EIP648、EIP2930和推测执行。在第2部分中,我们研究了静态分析和形式化方法如何使EVM可并行化,具体来说,我们提出了两种实现并行化的简单算法。

Trezor CEO:不打算引入任何私钥恢复工具:金色财经报道,Trezor首席执行官Matej Zak表示,在允许投资者成为他们自己的银行的同时,自我托管的概念也使用户成为对其比特币安全负责的唯一实体。此责任中最重要的部分是保护私钥或助记词的安全和私密性。Trezor不打算引入任何私钥恢复工具,因为它已经提供了所有可能的工具来帮助用户保护助记词。[2023/6/16 21:42:38]

背景

去中心化对区块链安全至关重要:去中心化网络的参与者很难串通。理想情况下,这是通过尽可能多的单独方运行节点来验证正在进行的交易来实现的。然而,拥有个人电脑的普通用户通常需要3天以上的时间才能在以太坊上启动一个完整的节点。这种低效率的背后是以太坊的大存储容量,更具体地说是EVM的存储设计:

对于节点性能,EVM存储维护是一大瓶颈,目前占用了超过70%的事务处理时间。而对于另外20%+的实际EVM指令解释时间,最耗时的操作码是SLOAD,因为在涉及IO访问的大型数据库中,Merkletrie节点的随机访问。

Binance.US上的BTC出现近720美元溢价:金色财经报道,截止发稿,Binance.US上的BTC现报价28293.78美元,Binance上的BTC暂报27573.25美元,出现约720美元溢价。对此,Cinneamhain Ventures合伙人Adam Cochran在社交媒体上称,目前传言是做市商退出导致Binance US上的BTC/USD价格出现溢价。我的预计是,Binance在CFTC结算中被迫退出美国市场,并连续进行BUSD->BTC->USDT的转换,我认为这种跨实体重新分配资金推动了BTC/USD价格的上升。这解释了美元的溢价、BTC的大量抛售、Binance自己的大量BTC移动以及现在Binance.US上BTC/USD价格的严重偏离。

但这还不能解释为什么其他交易所似乎也有点脱节,所以可能是附带伤害。[2023/5/9 14:52:27]

那么,要在不影响去中心化的情况下扩展以太坊,我们能做些什么呢?

提出了几个方向:

无状态,它在以太坊节点中引入了角色分离,一些节点是“存储节点”,而另一些是“验证节点”。验证者节点将仅在验证块时接收部分存储。通过传输其合法性证明来确保存储的正确性。但这会产生额外的网络IO开销。解决方案是为以太坊存储使用新的数据结构,例如Verkle树来压缩存储验证证明。RainBlock,也是一个分离节点功能的提议。除了存储节点和验证节点之外,它还引入了一个特殊的IO-helper节点。这个提议遇到了同样的问题,即产生额外的网络IO开销,它使用他们称为DSM-tree的自定义数据结构解决了这个问题。分片类似于节点功能的垂直分离,将计算卸载到不同的网段。这些提议虽然很有希望,但都涉及对基础客户端或共识规则的重大改变。

乌克兰计划实施MiCA的一些条款使加密资产在乌克兰合法化:金色财经报道,在欧洲议会通过加密资产市场 (MiCA) 法规之后,乌克兰监管机构公开表示他们也将在本国采用该立法方案。乌克兰税务委员会副主席 Yaroslav Zheleznyak在他的电报频道中表示,我们与 NKCPFR [国家证券和股票市场委员会] 以及其他监管机构的同事一起,已经在努力实施MiCA 的一些条款使加密资产在乌克兰合法化。[2023/4/21 14:18:55]

作为正交方向,我们现在可以做的是使EVM并行。这有助于直接增加EVM的吞吐量,因此我们可以提高gas限制并在一个块中包含更多交易,从而提高每秒交易量(tps)。此外,这还可以横向帮助现有的可扩展性提议,如分片。

高效的MEV提取

下图显示了可用于MEV提取的具有多个相关AMM交易的区块数量。作者仅在2021年5月之前从三个DeFi协议中对确定性单块MEV机会进行抽样,但结果令人震惊。

今天,MEV机会要复杂得多,典型的验证者在每个区块中看到超过10个MEV发射交易。

由于区块构建和捆绑利润优化是一个NP完全问题,而且我们有太多的MEV捆绑要考虑,因此蛮力是不现实的,区块构建者很难有效地生产最优的完整区块提议者建造者分离,巨型捆绑)。

央行:试点地区数字人民币交易额破千亿元:金色财经报道,中国人民银行数字货币研究所发布的数据显示,数字人民币在批发零售、餐饮文旅、教育医疗、公共服务等领域已形成一大批涵盖线上线下、可复制可推广的应用模式。截至8月31日,15个省(市)的试点地区累计交易笔数3.6亿笔、金额1000.4亿元,支持数字人民币的商户门店数量超过560万个。

此外,2022年以来,各试点地区政府围绕“促进消费”“抗击疫情”“低碳出行”等主题累计开展了近30次数字人民币消费红包活动,各商业机构还开展了多次市场化推广活动,有力促进社会消费回补与潜力释放。(光明日报)[2022/10/13 14:26:19]

对EVM并行化的研究可以帮助解决这个日益具有挑战性的捆绑合并问题。本质上,并行化算法设计的双重问题是理解冲突是如何在搜索包中发生的:它们都需要知道事务的共享数据访问信息。此外,并行EVM可以帮助完整的区块构建者进行更多的模拟,从而产生更有利可图的捆绑包。

并行化问题的细分

并行化EVM可能并不像看起来那么简单。像投机并发这样的幼稚解决方案已经表明,随着以太坊变得越来越拥挤,乐观执行的冲突率也会增加。仅就2017年的交易而言,冲突率已经高达35%。

高冲突率表明我们需要设计更精细的并行化算法,这将需要更精确的存储访问信息。接下来,我们正式确定这些任务的范围。

设当前区块号为k,以太坊区块链的状态为s/k,顺序EVM的状态转换函数为δ(tˉ,s),它返回一个新的EVM状态给定的交易ˉt和状态s的列表。假设在列表ˉt中有n个事务,从txn_1到txn_n,顺序为

Delio与BlockFi及三箭资本签署价值6亿美元的资产供应合同:6月7日消息,韩国加密资产金融科技公司Delio宣布与加密借贷平台BlockFi及三箭资本签署了价值6亿美元的资产供应合同,根据这份合同,Delio将获得两家公司价值6美元的BTC、ETH和USDT资产支持。Delio计划利用这笔担保资金优先扩大目前提供的存贷服务所处理的资产,并提高贷款额度。

据报道,目前,在此供应合同之外,Delio也正与BlockFi讨论加密资产金融业务上的合作方式。(edaily)[2022/6/7 4:07:31]

意味着我们只有在完成txni执行后才开始执行txnj?。

我们的目标是设计一个并行的EVM执行状态转换函数δp,例如δ(tˉ,sk?1?)=δp?(tˉ,sk?1?)。请注意,δ总是按照它们传入的顺序执行tˉ。而在δp?中,tˉ的执行没有按顺序。例如,在两个不同CPU内核上运行的两个事务可以同时完成执行,或者txnj?的执行将在我们开始执行txni?之前完成。

为了让我们获得一个好处,我们有两个作业要做:

1.为每个事务获取有关可能的共享数据冲突的信息。这意味着如果我们只在事务级别进行并行化,共享数据冲突将只是EVM存储,因为来自一个事务的信息可以溢出到另一个事务的唯一方式是通过存储。如果我们在更深层次上并行化,比如EVM操作码,那么我们得到的信息也将包括EVM堆栈和内存。

形式上,这意味着对于每个txni,我们都有一些关于其共享数据访问κ(txni?)的信息。此信息可以是任何东西,例如,κ(txni?)可以在交易调用的合约代码中返回一组存储位置文字。假设完美信息函数是k_perfect,那么我们推导出的κ是对Kperfect的估计。

2.基于信息的准确性,我们设计了我们的算法δp?(tˉ,sk?1?,κ),它现在将k作为附加参数。我们并行化的确切策略和抽象级别取决于k的精炼程度以及我们容忍冲突的程度。例如,有了关于每个事务的调用数据、堆栈、内存和存储的完美信息Kperfect?,我们可以设计一个在操作码级别并行化而没有冲突的δp?。

为简单起见,我们在这篇文章中只考虑事务级并行性。也就是说,我们假设κ仅包含有关存储访问的信息。我们将更精细的并行化模型留给以后的帖子。

我们意识到这种形式化不同于通常用于实现并行EVM所采用的形式。我们选择这种形式化的原因是,通过分离κ,我们可以轻松地将算法重新用于优化操作批处理和缓存等优化。

存储访问信息

要检索有关存储访问的信息,可以直接从手动输入中获取。例如,更改交易的传递方式并要求开发人员/用户列出他们将使用的地址的高估,或者像Solana或其他基于UTXO的链一样,让每笔交易都包含与之交互的帐户签名列表.这似乎是一个简单的解决方案,因为我们不会为κ的生成产生运行时开销并且始终可以确保其稳健性。但是这些方法至少需要更改客户端或在客户端之前实现一个附加层。此外,它们极大地改变了用户/开发人员的习惯,因此可能难以实施。

或者,来自Optimism的BenJones在一次演讲中提议,我们将工作外包给flashbots搜索者,因为他们需要在想出一个有利可图的捆绑包时以任何方式模拟交易。这种方法通过提供k=K_perfect来实现最佳精度,但它依赖于搜索者诚实地传递附加信息及其捆绑包,并且仅涵盖使用mev-geth的客户端。更重要的是,如果不设计一些额外的激励系统,就很难在像flashbots这样的无权限系统中执行。

另一个想法是在运行时之前使用推测生成的存储信息并将其缓存。因为这种方法是推测性的,所以收集到的存储信息是不健全的,在这种情况下,我们会退回到正常的存储访问。如果我们在Rainblock中进行节点功能分离,则此建议效果最佳。但如前所述,假定不存在。

另一个有趣的想法是形式化方法辅助字节码分析以实现高性能并行化,我们将在下一篇文章中介绍。其中一个例子是Forerunner,它与rawgeth相比实现了8倍的性能提升,也是基于推测执行的思想,并且与我们在第二篇文章中的方法最相似,因为它们也使用形式方法技术来帮助生成的κ。

并行化算法

在这个阶段,我们应该已经使用我们选择的任何方法获得了必要的共享数据访问信息κ。现在,出于演示目的,我们使用κ的特定示例。假设我们有两个事务txn_i<txn_j?都访问存储位置σ,我们将它们的访问信息记录为元组{(r,w),(r,w。的元组。第一个元组(r,w)表示txn_i的读/写操作,第二个元组表示txn_j的元组。例如,写入{(r),(r,w。表示txn_i?读取但未写入σ,而txn_j既读取又写入σ。

使用这种形式化,我们可以想到四种简单的情况:

{(r),(r。:txn_i和txn_j是可并行的,假设\sigmaσ只是这两个事务的“读取”集中的一个。

{(r),(w。:txn_i和txn_j必须按照tˉ的顺序依次执行。

{(w),(r。:txn_i和txn_j必须按照tˉ的顺序依次执行。

{(w),(w。:如果对s'的写操作是可交换的,那么txn_i和txn_j是可并行的,否则它们必须按照tˉ的顺序执行。

但是,txn_i和txn_j不仅访问σ,还访问更多位置,因此我们扩展了我们的四个简单规则,包括每个事务的读取集和写入集,并且在搜索要执行的可并行事务时,我们循环遍历每个事务的存储访问信息\kappaκ并应用上述规则。

或者,我们可以使用Vitalik在EIP648中描述的简单算法:每个事务都包含它访问的地址的集合β,如果两个事务txn_i和txn_j满足β_i∩β_j=?,则并行执行它们,否则不。

最终,这一切都取决于我们的κ有多精细,以及我们希望并行执行有多精细。例如,它可能不仅仅是二次的,这意味着我们的κ不仅包含存储访问信息,还包含内存/调用数据上的信息,因为我们也在单个事务中进行并行化。

当然,在这四种情况下,有很多复杂性。例如:{(w),(w。。在这种情况下,我们可能让txn_i先读取s'然后更改它,但分配给s'的值始终等于txn_j的分配值,因为智能合约是如何编写的。所以这有效地减少到{(r),(r。的情况。或者这很容易反其道而行之,简化为{(w),(r。,{(w),(w。或{(r),(w。。即便如此,也可能是编写器以某种方式不会更改存储的值,或者读取器不会影响EVM中的状态更改。

这些例子的重点只是说有很多特定类别的情况我们的并行化算法不能以最佳方式工作。所以这意味着根据κ的确切结构,我们有很多长尾优化设计截然不同的并行化算法以获得最佳性能。我们将在下一篇文章中回到精确的优化。

结论

EVM并行化促进了以太坊的吞吐量增加,而不会影响去中心化或需要对协议进行重大更改。并行EVM研究的采用和开放共享还有助于通过允许更多个人使用更好的捆绑合并和生产来最大限度地减少MEV的经济中心化。

在这篇文章中,我们探索了以太坊可扩展性解决方案的前景,并讨论了为什么当前的并行化技巧不能顺利运行。我们还通过将并行化问题分为两部分来展示我们对并行化问题的形式化:生成共享数据访问信息和设计利用该信息的并行化算法。

标签:以太坊MEVBTCNAN怎么得到以太坊币的钱MEVR200BTC是什么意思PhiFiV2 Finance

酷币交易所热门资讯
以太坊:Vitalik在谈到以太坊的发展时说:“我们已经走了50%的路”

VitalikButerin在最新的Bankless播客上向听众介绍了一个由五部分组成的路线图,他概述了以太坊生存和繁荣发展的必要步骤.

1900/1/1 0:00:00
PRI:Prismatic完成200万美元种子轮融资,Borderless Capital领投

据BeInCrypto1月22日消息,Prismatic于近期完成200万美元种子轮融资,BorderlessCapital领投.

1900/1/1 0:00:00
元宇宙:区块链政策周报 | 不断做强做优做大我国数字经济

中央:不断做强做优做大我国数字经济1月16日出版的第2期《求是》杂志将发表中共中央总书记、国家主席、中央军委主席的重要文章《不断做强做优做大我国数字经济》.

1900/1/1 0:00:00
ION:卢森堡金融监管机构CSSF发布区块链白皮书

据LedgerInsights1月25日消息,卢森堡金融监管机构CommissiondeSurveillanceduSecteurFinancier(CSSF)发布了一份关于区块链的白皮书.

1900/1/1 0:00:00
KTO:1700亿元的NFT市场,阿里、腾讯、字节跳动、京东之间的卡位战

来源:财联社丨区块链日报作者:徐赐豪 NFT从加密圈扩张到艺术圈、互联网圈,市场规模正在迅速膨胀.

1900/1/1 0:00:00
DIE:Diem启动出售谈判,马克·扎克伯格的稳定币野心分崩瓦解

来自|彭博社,编译|PANews由于美联储对Diem感到不安,这个由社交媒体巨头Meta支持的稳定币项目正在尝试出售资产.

1900/1/1 0:00:00