编者按:本文来自以太坊爱好者,作者:thegostep,翻译:阿剑,Odaily星球日报经授权转载。Flashbots是一个研究和开发组织,成立的初衷是缓解由“矿工可抽取价值”给智能合约平台型区块链带来的负外部性和生存风险。我们提议为MEV的收取设计一种免信任、透明且公平的生态系统,来保卫以太坊的理念。过去几个月的以太坊使用量暴涨,使得一些由MEV带来的负外部性暴露出来,包括网络拥堵和链拥堵:我们的初步评估显示,通过消除无效率的MEV抽取过程,可以将以太坊的吞吐量提高至少2.4%。此外,当前的MEV抽取方法的激励体系,给以太坊的共识安全性带来了生存风险,因为它使得人们有激励为了获得过往区块的MEV而发起链重组,也使人们有激励为了隐私、低时延和排序控制权等好处而使交易的路由中心化。我们认为这些激励是有害的,因为它们会破坏以太坊的免准入性和终局性。虽然这些生存风险和负外部性一直以来都存在,但半年来的一系列事件表明网络的使用量已到临界点。我们观察到,已经有很多人在积极地开发排他性的交易路由设施,也很担心这一切,因为它有可能侵蚀以太坊今天的中立性、透明性、去中心化和公平性。这些事件也表明,前述的生存危机和负外部性有愈演愈烈的趋势。在本文中,我们会讲解Flashbots组织的细节和我们研究路线图的起步项目,MEV-Inspect和MEV-Geth。关于我们项目的背景和动机,进一步的讨论可见此文。MEV-Inspect:消除信息不对称
理解当前的MEV收集手段所带来问题的第一步是量化它们的影响。此前也有一些网页,例如frontrun.me27,和一些行业指标网站,收录于MEV相关的指标,但我们发现需要有一个标准化和可延展的方法,来利用以太坊和其他区块链所产生的此类数据。MEV-Inspect的工作原理
MEV-Inspect是一个区块链爬虫,它会扫描以太坊区块链并识别MEV的抽取活动。爬虫会遍历区块链,一条接一条交易地分析,检查发生在一笔交易内的已知操作,并从这些组合行为中推断一笔交易中可能发生了什么。分类清楚之后,统计数据会被打上重要的标签,并放入数据库中以备制表和分析。从MEV-Inspect获得的初步分析显示了下列情形:所分析的44.3万个区块中,至少有1万个区块浪费在了无效率的MEV抽取过程中平均而言,机器人在每个区块通过套利和清算至少抽取了0.34ETH的MEV机器人获得的MEV中至少有18.7%都变成了gasfee交给了矿工,这部分手续分占所有交易手续费的3.7%
此前发生Pull Rug的BNB Chain上FLARE代币部署者将超3万枚BNB转入Tornado Cash:金色财经报道,PeckShield在社交媒体上表示,此前发生Pull Rug的BNB Chain上FLARE代币部署者将约33400枚BNB(价值约930万美元)转入Tornado Cash。BNB Chain上FLARE代币于北京时间11月14日发生Pull Rug,被黑资金彼时价值约1700万美元。[2022/11/16 13:11:46]
为什么要开发MEV-Inspect?
没有MEV-Inspect这样的工作来帮助我们更好地理解MEV,以太坊的用户就更难看懂MEV了。随着越来越多在安全上至关重要的基础设施迁移到链下,以及链上状态和数据规模的增长,普通人越来越难以获得密码学货币的初始愿景之一:透明性。为用户维护一个透明的仪表盘,是我们得以客观评价MEV现状和检验Flashbots活动所造成影响的最佳方法。因此,我们承诺会一直维护这样的仪表盘,只要资金和我们组织的资源允许。增加覆盖面
通过MEV-Inspect来理解链上的MEV活动也着实不易。它需要尽最大限度的努力来分析多种多样机器人的行为,并开发出启发式的方法来分类机器人对智能合约的使用。这些分类可能永远不能尽善尽美,但我们的目标是提供有用的评估,并跟踪指标值的演变。MEV-Inspect的模块化架构,正是为允许社区参与而设计的,有了社区的贡献,我们就能不断提高工具的覆盖面和精确度。参见MEV-Inspect的Github仓库。MEV-Geth:概念验证
Flare发布改进提案FIP.01,优化生态的分配、通胀和激励池机制:8月24日消息,Flare发布改进提案FIP.01(Flare Improvement Proposal 1),旨在优化生态的分配、通胀和激励池机制。据提案介绍,Flare计划在将最初的15%FLR代币分配现有空投接受者后,剩余代币将分配给委托人。通胀从当前基于FLR的完全稀释供应总量计算的每年10%的通胀计划减少到第1年为10%、第2年为7%、第3年为5%,计算上限为每年50亿个FLR代币可用供应而不非完全稀释的供应;构建降低通胀率的跨链激励池;将分配比例改为:70%给FTSO的权重膨胀,20%给验证者,10%给到默认状态连接器集;以及启用托管工具,允许参与者延迟实现来自FTSO委托的收益,从而延迟实现持续的FTSO奖励。[2022/8/24 12:44:41]
我们已经为免许可的MEV抽取方法设计并实现了一个概念验证项目,叫做“MEV-Geth”。总的来说,它是一套用于沟通交易排序偏好的区块空间暗标拍卖机制。虽然我们的概念验证项目在信任模型上是不完备的,但我们相信它是对现状的重大改善。采用MEV-Geth应能极大地缓解由抢跑和尾随机器人所带来的网络拥堵和链拥堵。
为什么要开发MEV-Geth?
我们认为,如果不采用中立、公开、开源的基础设施是实现免准入的MEV抽取,MEV就有可能成为一个内部人的过家家。作为一个组织,我们承诺会公平、道德、中立的MEV抽取方法提供参考实现。我们也希望能通过这样做来防止以太坊被基于信任的暗池或者专门的通道侵蚀,这些都是安全上的薄弱点。我们推出MEV-Geth有双重目标,一方面希望为MEV的抽取创建一个能保护以太坊特性的生态系统,另一方面,系统能围绕我们的研究和开发路线图,与社区展开对话。设计目标
慢雾:Equalizer Finance被黑主要在于FlashLoanProvider合约与Vault合约不兼容:据慢雾区消息,6 月 7 日,Equalizer Finance 遭受闪电贷攻击。慢雾安全团队以简讯形式将攻击原理分享如下:
1. Equalizer Finance 存在 FlashLoanProvider 与 Vault 合约,FlashLoanProvider 合约提供闪电贷服务,用户通过调用 flashLoan 函数即可通过 FlashLoanProvider 合约从 Vault 合约中借取资金,Vault 合约的资金来源于用户提供的流动性。
2. 用户可以通过 Vault 合约的 provideLiquidity/removeLiquidity 函数进行流动性提供/移除,流动性提供获得的凭证与流动性移除获得的资金都受 Vault 合约中的流动性余额与流动性凭证总供应量的比值影响。
3. 以 WBNB Vault 为例攻击者首先从 PancekeSwap 闪电贷借出 WBNB
4. 通过 FlashLoanProvider 合约进行二次 WBNB 闪电贷操作,FlashLoanProvider 会先将 WBNB Vault 合约中 WBNB 流动性转给攻击者,随后进行闪电贷回调。
5. 攻击者在二次闪电贷回调中,向 WBNB Vault 提供流动性,由于此时 WBNB Vault 中的流动性已经借出一部分给攻击者,因此流动性余额少于预期,则攻击者所能获取的流动性凭证将多于预期。
6. 攻击者先归还二次闪电贷,然后从 WBNB Vault 中移除流动性,此时由于 WBNB Vault 中的流动性已恢复正常,因此攻击者使用添加流动性获得凭证所取出的流动性数量将多于预期。
7. 攻击者通过以上方式攻击了在各个链上的 Vault 合约,耗尽了 Equalizer Finance 的流动性。
此次攻击的主要原因在于 Equalizer Finance 协议的 FlashLoanProvider 合约与 Vault 合约不兼容。慢雾安全团队建议协议在进行实际实现时应充分考虑各个模块间的兼容性。[2022/6/8 4:09:22]
免准入:没有能够审查交易的中介高效:MEV的抽取过程不会导致不必要的网络拥堵和链拥堵上链前隐私性:即交易只有到打包进区块的一刻才会变成众人皆知。注意,这种隐私性并不能排除例如交易聚合者/网关/矿工这些能优先知情的参与者。竞价失败交易隐私性:意味着竞价失败的交易永远不会被曝光。这与“效率”属性紧密相关。完全隐私性:没有任何人能在交易上链前知情,包括交易聚合者/网关/矿工。终局性:一旦交易打包上链,MEV的抽取就不可逆转。用于防范time-bandit链重组攻击。MEV-Geth的概念验证基于一个事实:搜寻人可以拒绝来自特定矿工的报价,以此遏制恶意的行为。我们预计完全的隐私性需要一些隐私计算解决方案,例如SGX、ZKP和MPC,来保证交易的内容在上链前对矿工是保密的。Flashbots组织的一个核心目标是激励和生产这个方向的研究。MEV-Geth无法提供任何意义上的终局性保证。我们认为,这个问题的解决方案需要通过链状态本身的隐私性来实现交易执行后的隐私性,或者是回滚在经济上更不可行。设计具备强健终局性的系统是MEV-Geth研究的第二大目标。MEV-Geth如何工作?
Flare Network:将在二季度Flare Network启动前整合LTC:1月8日,Flare Network官方在推特上表示,Flare将在第二季度Flare Network启动之前整合LTC。这将允许在以太坊风格的智能合约上使用LTC,并赋予LTC互操作性和可组合性。官方表示将减少Flare基础代币分配,以便可以将50亿FLR分配给LTC参与者,完整细节将在下周发布。[2021/1/8 15:40:48]
MEV-Geth引入了一些新概念:“搜寻人”、“交易包”以及“区块模板”。本质上,MEV-Geth是为矿工提供了将发现和排序交易的任务外包给第三方的办法。这些搜寻人会相互竞争,争相发现利润最大化的交易排序,并使用一种标准化的模板叫做“交易包”来竞价,让自己的交易包被打包进下一个区块。这些交易包会在矿工主持的暗标拍卖中估价,产生一个“区块模板”,模板中就包含了挖出区块所需的交易排序信息。
MEV-Geth兼容所有正式的以太坊客户端。Flashbots的核心开发者正为go-ethereum客户端维护一个参考实现。作为一个搜寻人,如何使用
搜寻人的工作是监控以太坊的状态和交易池以发现MEV的机会,然后生产交易包来抽取这些MEV。任何人都能成为搜寻人。实际上,有所抽取并不是生产交易包的必要条件,但我们预计,最有价值的交易包将会抽取一些。一个MEV-Geth交易包就是一条标准化的信息,由一个有效交易的数组、一个区块高度和一个可选的时间戳范围组成。
DeFi协议Flamingo:O3钱包暂不支持跨链交易:基于Neo的DeFi协议Flamingo发推提醒称,请不要使用O3钱包进行跨链交易。跨链交易需要少量的gas费用,这一功能目前在O3中是不可用的。请暂时使用NeoLine。[2020/9/27]
signedTransactions可以是任意有效的以太坊交易。注意,必须按正确的顺序放置交易的nonce。blocknumber定义了该交易包预计要上链的块高。交易包只会在合适的高度处被估价,如果没被选中就会立即被抛弃。minTimestamp和maxTimestamp是两个可选条件,用于进一步地限定交易包的有效时间范围。MEV-Geth矿工会为自己所用的每一单位gas选出最有利可图的交易包,并将该交易包放在给定区块高度的区块模板的交易列表的开头。矿工根据下列公式来确定一个交易包的价值。注意,block.coinbase的余额变化量即表示通过一个智能合约直接转移ETH的数额。
在提交交易包的时候,搜寻人可以使用eth_sendBundle方法,直接把交易包发给矿工。因为MEV-Geth要求搜寻人和矿工的直接通信,搜寻人需要可以配置一个目标矿工的列表。作为矿工,如何使用
矿工只需运行MEV-Geth来挖MEV区块就行,或者也可以实现自己的符合规范的分叉版本。为从搜寻人处接收交易包,矿工需要发布一个公开的https端口,来暴露自己的eth_senBundleRPC接口。MEV-Geth由Flashbots核心开发者团队维护,源代码可在这里找到。超越概念验证
MEV-Geth只是我们路上的第一个里程碑。我们希望能与社区探讨现在就采用MEV-Geth的优点。我们的初步研究表明,通过消除抢跑交易和尾随交易,能使区块链拥堵缓解至少2.4%,并显著提高挖矿的收益。另外,我们相信,对MEV生存危机的可持续解决方案,需要完全隐私和终局性,这是我们的概念验证项目不具备的。我们希望MEV-Geth走向完善版本的道路上能得到社区的反馈。Flashbots:我们的组织
Flashbots起源于MEVPi-rateShip,一个中立、对链无偏见的跨学科研究团体,支持MEV相关的理论和经验研究。研究和开发是紧密结合的两大引擎,推动Flashbots阶段式发展:我们的研究工作会长期保持。我们会用研究来确定和升级我们的路线图,界定组织发展的各阶段和相关的里程碑;开发工作则以一个个里程碑为目标。我们会组织以产品为中心的团队,一边提供关键的基础设施和生态工具,一边收集数据并制作其它能反哺研究的工具。我们的研究需要开放、透明和不断迭代的集体创造,要从学术研究和应用研究中吸取灵感,也会以以太坊升级提议流程为模板。研究可以得到MEV研究者项目的经济支持。
公开承诺
作为一个开放的研究组织,我们承诺,从今往后,我们会:用我们的创造来保护以太坊的核心价值:开放性、免准入性、去中心化,迎击由MEV导致的危机;开源我们的研究和Flashbots核心基础设施的代码,让社区的所有人都能参与和从中受益;通过考虑用户、矿工、开发者、节点运营者、公共基础设施运营者及开发者、合约/应用开发者,还有生态系统研究者的需要,在整个生态的关键参与者之间建立可持续的联合;为MEV领域的开放性伦理研究问题作贡献,并且100%交付公共领域。研究目标
我们的大目标——化解MEV危机——可以分解成三个部分:揭秘,民主化和分配。对每一个部分,我们都列出了我们尝试回答的问题:揭秘黑暗森林如何能客观地度量由MEV抽取流程带来的负外部性,以及Flashbots的技术带来的影响?如何量化用户因为MEV抽取方法而受到的伤害,并为开发者提供工具来减少应用的受波及面?如何为MEV领域引入更多的透明性,让社区能为MEV的提取制定社会规范?民主化抽取过程如何能避免导致权力集中的市场机制?如何能使MEV抽取过程既高效、又没有准入门槛?如何能将MEV机会平等地向所有人开放?利益分配如何才能在矿工、交易者、DeFi开发者,等等,之间建立可持续的激励相容模式?如何能将部分利润导流到公共品生产中,形成良性循环?如何能将MEV抽取的负外部性最小化、正外部性最大化?研究路线图——PhaseI
我们将研究路线图拆分成了不同的阶段,使后续研究建立在前面的成功和结论之上。PhaseI包含两项研究:论文1:Flashbots架构摘要:描述我们正在开发的基础设施的架构及设计权衡搜寻人与矿工沟通交易排序偏好时,什么样的拍卖机制才是“好的”机制呢?这样“好的”机制有无正式的数学定义?如何利用已有的拍卖理论文献来创造交易池拍卖理论?这些机制在PoW/PoS/无领袖算法,以及有交易排序拍卖的rollup合约中,表现会不会有所不同?论文2:Flashbots伦理学摘要:讨论MEV和我们所开发的基础设施相关的伦理学问题我们是否应该开发一种“好的”拍卖机制,用于沟通交易排序偏好?如何最小化争抢优先的贿赂激励措施对共识和用户的伤害?是否应该允许系统存在MEV?是否应该限制MEV?需要什么样的社会规范?在MEV抽取中,应该允许何种程度的透明度?MEV在司法上如何定性?应该形成什么样的行业自律?征求反馈和贡献给MEV-Research贡献我们欢迎你参看我们的MEV-ResearchGithub库,了解MEVFellowship项目。可通过提出issue开始贡献,以及/或者撰写一份Flashbots研究提案,或者在MEV-Researchdiscord频道加入我们的讨论。试用我们的概念验证如果你是矿工或者矿池,欢迎你审阅我们的代码并试用MEV-Geth。如果你是一个DeFi交易员,运行着机器人,也欢迎你来测试Flashbots并尝试充当搜寻人。加入我们的Flashbotsdiscord频道,或者用info@flashbots.net联系我们。订阅MEVShip日历你可以通过订阅MEVShipCalendar来获得我们的最新更新和事件:我们大约每个月会有一次社区例会,叫做“MEVShipTreasureMapRoast”;大约每两周会有一次核心开发者会议;每周会举办一次研讨会,以及即将推出的非正式会议:MEV.wtfFlashbots现在由ScottBigelow、PhilDaian、StephaneGosselin、AlexObadia、andTinaZhen主理。感谢MEVPi-RateShip成员和Paradigm的支持,我们才能得以存在。衷心感谢AndreiAnisimov、IvanBogatyy、VaibhavChellani、BrockElmore、GeorgiosKonstantopoulos、JasonParyani、AlejoSalles、samczsun、andAustinWilliams对MEV-Geth和MEV-Inspect的贡献,以及SunnyAggarwal、SuryaBakshi、PhillippeCastonguay、TarunChitra、DanElitzer、LevLivnev、CharlieNoyes、DevOjha、DanRobinson、MarkTyneway、andMicahZoltu对MEV-Research的反馈。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。