值得信赖的区块链资讯!
比推数据  |  比推终端  |  比推英文  |  比推 APP  | 

下载比推 APP

值得信赖的区块链资讯!
iPhone
Android

通过 Gnosis Safe 来减少 MEV 影响的可行解决方案

比推BitpushNews

原标题:Mitigating Miner Extractable Value (MEV) with Gnosis Safe

来源:Medium

作者:Tobias Schubotz

编译、整理:Chen Zou


矿工可提取价值(MEV)的存在,给智能合约钱包用户带来了独特的挑战,但它们并非无法防备。MEV 的数量最近一直在大幅上升。本文将介绍多个不同的MEV案例,以及如何用 Gnosis Safe 来减少MEV,以提高人们的认识。

MEV是衡量矿工(或验证者、排序者等)通过在其生产的区块内任意包括、排除或重新排序交易的能力所能获得的利润。

image.png

在这一点上,MEV主要是在交易上提取的。然而,在未来,我们期望观察到更复杂的MEV,比如在定时协议中进行操作或类似的情况。


案例1:"经典 "MEV


每当用户想执行一项交易时,交易数据将提前被签署,然后广播到mempool。在那里,矿工们会提取该交易并将其纳入一个区块,以便执行交易,并在以太坊区块链上继续运作下去。

mempool是公开的,任何人都可以访问。矿工们可以根据自己的选择自由地对交易进行分类。该模式造就了以下这个 "经典 "的MEV类型。

“抢跑”—— 前置交易(Frontrunning)

矿工已经了解用户交易意图,并知道该交易将被执行,于是将一笔交易插入到预期的用户交易之前,从而牟利。这方面的例子包括借贷协议中发生的清算行为或智能合约漏洞。在这两个例子中,用户交易通常会失败。

后跑Back Running)

在用户交易之后立即插入一个交易,紧随该交易之后完成自己的交易。这种情况可能发生在用户在单一协议上执行大额交易而不是使用DEX聚合器。

三明治攻击(Sandwiching)

结合抢跑和后跑,将用户交易夹在中间牟利。这里的典型例子是具有高滑点的交易。这对于像Safe这样的多签名钱包尤其重要,因为在签名收集时间跨度较大的情况下,需要有较高的滑点容忍度来承受加密市场的价格变化。

比较不同类型的MEV的交易顺序


除此之外,还有更强大的mempool explorers和flashbots等辅助工具(后文统一称为 searchers,搜索者 ),用于寻找更容易受到MEV影响的交易,并最终利用它们牟利。

任何提交到公链的交易都容易受到我们所说的 "经典 "MEV的影响。这包括通过智能合约钱包(如Safe)以及直接通过基于私钥的账户(EOA)触发的交易。即使是通过私人mempools提交的交易,也有一些MEV的风险,因为有可能出现孤儿区块,这将使以上那些搜索者能够检查以前的私人交易。

通常来说,安全交易比传统的由EOA(Externally Owned Account 外部账户:是指由用户掌握私钥的地址(用户的钱包地址一般为这种类型))提交的交易更容易受到MEV的影响。例如,要实现对EOA交易的三明治攻击必须通过 "捆绑 "提交,其中包含原始的用户交易(如交易),以及攻击者试图提取MEV的另外两个交易。虽然flashbots试图以 "有或无 "的方式执行捆绑交易,但并不能保证最终交易能按照该模式执行。理论上,开盘交易可能会被包含在一个无主区块中,而没有受害者的起始交易和攻击者的结束交易。

有了Gnosis Safe,这种 "三明治 "的起始交易和结束交易可以被捆绑在一个以太坊交易中,使MEV攻击更加可预测。关于这一点,在随后的章节中会有更多介绍。


案例2:智能合约钱包的MEV


Gnosis Safe是一个智能合约钱包。每个Safe都有一组签名者账户("所有者")和一个阈值。一旦有足够数量的所有者签名并达到特定阈值,交易就可以执行。Safe 支持不同类型的签名。Gnosis Safe使用的是链外签名,与需要另一个链上交易的审批相比,它们可以实现更好的用户体验。另一方面,它们必须通过链外服务进行交换。对于 Gnosis 保险箱来说,该步骤是通过特定的安全交易服务(代码)完成的。

Gnosis Safe的设计方式是,只要满足这个阈值,任何账户都可以执行保险箱交易。执行不限于所有者。这是为了让交易中继者执行交易,因此实际上在所有其他支持交易中继的智能合约钱包中也是如此。

这对MEV意味着什么?

为非所有者启用执行意味着搜索者不需要等到公共mempool中出现安全交易。相反,他们可以直接查询我们的公共签名服务的API,虽然其中还有一部分的工作,因为每个 Safe 都必须被监控分开。

一旦搜索者找到一个具有MEV潜力的交易,以及所有需要的签名以满足阈值,他们可以自己触发执行。这只能发生在最后签名的安全所有者没有立即执行安全交易的情况下。假设他们确实只是签署,但没有执行,该交易有可能被夹在一个单独的以太坊交易中,这消除了上一节中提到的攻击者的一些风险。

因此,一个已经收集了所有签名但尚未执行的安全交易在MEV的影响面前稍显脆弱。(请注意:这并不意味着任何人都可以随便触发任何安全交易。在上面介绍的情况下,保险箱所有者已经签署了交易,因此已经授权。在区块链环境中,签名不能轻易收回。)


如何使用Gnosis Safe时减轻MEV的影响


以下3节阐述了在使用智能合约钱包时,可以采取哪些措施来具体缓解MEV现象。但上面的 "经典 "MEV的攻击载体仍然适用。

不要在执行前添加最后的签名

如果一个安全交易还不应该被立即执行,那么防止别人这样做的最简单的缓解措施就是不要添加最后的签名。只有当交易真正应该被执行时,最后的所有者才应该添加上签名。

在Gnosis Safe界面中,默认设置是由最后一个需要的所有者立即执行交易。用户将不得不主动决定只签署交易而不执行。

image.png

这么做仅仅可以防止上面的案例2,但不能防止案例1。

使用认证的服务来收集签名

目前,Gnosis Safe交易的签名是通过safe-transaction-service交换的。它有一个公共的API,任何人都可以检索到签名。为了防止上述案例2的发生,高级用户或团队可以托管自己的后台实例来交换签名。这可以通过VPN或其他认证手段进一步确保安全。

将执行限制在安全的所有者

虽然Safe的核心合同没有限制哪个账户可以执行已签署的Safe交易,但在Safe v1.3.0中,可以配置交易防护。交易守护可以用来在执行安全交易之前增加额外的检查。这样的检查可以是,调用Safe的`msg.sender`——实际上是各自Safe的所有者,从而防止外部账户执行。交易防护需要在保险箱上明确启用。

虽然前面3个部分只适用于Gnosis Safe的用户,但下面的部分适用于任何钱包的用户,用于减轻 "经典 "MEV的影响。

通过一个私有的mempool提交交易

通过使用私人mempool服务,如Taichi,用户将不允许搜索者检测他们在公共mempool中的交易。这可以防止一些MEV场景,但是却引入了另一个第三方,即mempool运营商。

使用内置MEV保护的dapp/网络

Eden(以前称为ArcherDAO)是一个交易网络,可以保护用户免受MEV的影响。他们是通过自己充当 MEV 提取者的角色,并与网络原生代币持有人分享利润,来避免所谓的 MEV 情景。而CowSwap,一个由Gnosis建立的交易所,通过点对点的匹配减少可提取的价值量,并将交易执行委托给专业方,在执行时使用非常严格的滑点界限来保护用户免受MEV的影响。CowSwap对用Gnosis Safe进行的交易特别有吸引力,因为用户只承诺一个限价,而不是一个特定的交易路径(最佳路径可能随着签名的收集而改变),而且他们的系统能确保同一批次/区块中的所有交易获得相同的、公平的结算价格。


结论


虽然智能合约钱包一般不太容易受到MEV的影响,但与基于私钥的账户相比,用户在签署交易而不立即执行时需要注意其产生的价格波动影响。私人mempool目前似乎是防止经典类型的MEV的合适解决方案,但却带来了将以太坊变成许可链的严重风险,除非以下问题得到解决。

1.矿工如何加入各自的网络并获得交易流的权限?如果任何人都可以加入网络,那么就变得毫无意义,因为它基本上就是另一个公共mempool。

2.如何监控矿工是否有不当行为?这不是小事,因为例如,加入网络的矿工可以创建一个区块(利用MEV),使用不同的coinbase地址,但并没有连接到改地址,从而作恶。

本文是基于与来自yearn.finance的poolpitako和monoloco的对话而编译整理。他们目前采用的是让最后一个签字人立即通过Tachi执行交易的方案,来避免MEV。他们可能很快就会改成通过交易守卫来强制执行来自于所有者的交易。


本文来自比推Bitpush.News,转载需注明出处

说明:比推所有文章只代表作者观点,不构成投资建议
原文链接:https://www.bitpush.news/articles/1722760

比推快讯

更多 >>

下载比推 APP

24 小时追踪区块链行业资讯、热点头条、事实报道、深度洞察。

邮件订阅

金融科技决策者们都在看的区块链简报与深度分析,「比推」帮你划重点。