本文发布于以太坊爱好者,作者:Kai。
设想一种情形:用户在AMM类型的DEX上做交易,无论设置什么滑点,最终都会在你能接受的最差价格上成交。这可能是个对用户来说很可怕的场景。
TLDR;
目前的MEV-Geth实现机制改变了原本网络中预期的交易排序规则,导致诸多细思极恐的公开公正性问题,并且可能已经对生态中的用户产生利益损害。
以太坊网络交易池原生规则
当前以太坊网络中,如果用户通过原生的方式发送交易,这笔交易会在整个由以太坊全节点组成的点对点网络传播,并且交易的内容完全透明,这意味着任何网络中任一全节点能看到绝大部分交易的交易内容。
由此,以太坊网络中会出现几种破坏交易发送者预期和体验的情况:
1.抢跑,指通过让特定交易在同个区块中排在目标交易前而获利,主要针对清算和套利交易;
2.尾随,指通过让特定交易在同个区块中排在目标交易后而获利,典型的针对对象是信息输入机制交易或大单交易;
3.三明治夹击,上述两种攻击形式的结合,让目标交易恰好夹在两笔特定构造交易中间,从而获利。三明治攻击大大拓宽了可攻击的范围,哪怕是一笔普通的AMMDEX交易,都有可能成为针对对象。攻击者的第一笔构造交易制造更大的交易价格波动,待目标交易执行完之后紧接着执行第二笔构造交易,换回发动攻击的代币完成获益。
以太坊Layer2上总锁仓量为98.03亿美元:金色财经报道,L2BEAT数据显示,截至目前,以太坊Layer2上总锁仓量为98.03亿美元,近7日涨1.24%。其中锁仓量最高的为扩容方案Arbitrum One,约58.92亿美元,占比60.10%,其次是Optimism,锁仓量22.41亿美元,占比22.86%。[2023/7/2 22:13:10]
发起攻击的对象是不确定的。理论上,所有知道了你的交易内容的人都有可能攻击你,dApp项目方、专业攻击者、钱包、矿池,都有可能攻击你。
攻击的难易程度,与网络的共识规则和生态中普遍可用的基础设施有关;例如,如果大家完全遵守当前的交易池规则,仅通过GasPrice竞争来影响出块者对交易的排序,则三明治攻击是比较难发动。
目前,由于能够直接决定自己所打包区块中的交易的执行顺序,矿工-矿池一直被当成是最有可能发动攻击的参与者,这也是“MEV”这个概念的由来;但实际由于攻击机会具备一定时效性,可能转瞬即逝,攻击者和矿池更多表现为一种分成合作的关系。
这些背景,正是使我对MEV-Geth和其他形式的、矿池直接从事三明治攻击的现象感到不安的原因。
当前的MEV-Geth实现
目前MEV-Geth实现的功能仅为,搜索网络中MEV机会的搜索器,转发原子交易包到注册矿池节点,出块节点允许插队。构建出仅在注册矿池和Relay服务器间的简单网络。
以太坊域名服务 ENS 已在 Goerli 测试网部署 NameWrapper:9月20日消息,以太坊域名服务(ENS)开发者 jefflau.eth 表示,现已将新的 ENS 合约套件部署到 Goerli 测试网络,这是 ENS 协议最终向主网发布新合约套件的重要一步,已部署的新合约有 NameWrapper、新的 .eth 注册控制器、新的反向注册登记、新的公共解析器、指数价格曲线 Oracle 以及静态元数据服务。不过,当前新合约尚未连接到 ENS V2 应用,因此用户在很大程度上可能无法使用 UI 与这些合约进行交互。
ENS NameWrapper 允许将 ENS 域名包装为 ERC-1155 NFT,一个父域名能够为其子域设置更多的权限。[2022/9/21 7:09:30]
MEV-Geth是一种特殊定制的以太坊节点客户端,运行在矿池方,允许通过该客户端存储Relay分发的MEVBundle,并将这些特殊的交易打包到区块中的队列头部位置。
使用者可使用MEV-Geth广播称为Bundle的交易包;一个Bundle内包含的信息有:一个交易列表,套利计算区块高度,最小最大超时时间。在单个Bundle上链的区块中,发送者会通过coinbase交易,向出块者支付ETH作为分佣。
在当前的MEV-Geth实现中,每一个区块只能存在一笔Bundle,因此出块者会会选出coinbase支付最大的一笔Bundle上链。
以太坊智能合约自动执行工具GelatoNetwork上线主网:以太坊智能合约自动执行工具GelatoNetwork上线主网,作为一个经过审核的智能合约协议,它允许开发人员自动执行用户交易,无需运行任何底层服务器基础架构,GelatoNetwork的设计目标是激励一个开放和去中心化化的网络中继器自动化智能合约执行且抗审查。GelatoNetwork是以太坊零编程自动化工具GelatoAlpha版Gelato.finance背后运行功能,今年2月,由Gnosis生态基金和MetaCartel资助的Gelato团队正式公开首个工具GelatoFinance,这是一个无需编程就可以创建基于以太坊的自动化程序的工具,Gelata的目标是帮助用户全天候自动执行基于以太坊平台的任务,用户可通过Gelato创建自己的以太坊机器人,类似于互联网的IFTTT。目前,GelatoFinance功能已被弃用。[2020/7/4]
这个当前的实现简化了实施三明治夹击的难度。一方面,攻击者可以显式地声明夹击交易的前后关联;其次,夹击者没有了后顾之忧,即使在与其他夹击者的上链竞争中落败,其交易也只会在MEV-Relay网络中超时无效,不需要付出Gas费用。
根据Flashbots团队的公开声明,他们正在开发允许同一个区块包含多笔Bundle的方案,或许我们很快会看到区块中充满大量零Gas费的三明治夹击。
动态 | Circle向以太坊网络新增发1,200万枚USDC:据DAppTotal.com稳定币专题页面数据显示:11月28日06时00分 ,USDC发行方Circle向以太坊网络新增发1笔价值1,200万美元的USDC, 块高度为:9012094,交易哈希值为:0x19b1b5b2cb18b30461b202f26c5737d69e1f80662f84c6a845a8123467154d22 。截至目前,Circle在以太坊网络上的ERC20 USDC总发行量已达466,737,223枚。[2019/11/28]
找到MEV-Geth交易
根据目前的实现,MEV-Geth交易最显著的特点就是前后两笔夹击交易的GasPrice都为0。
打开区块浏览器网站etherchain.org,查看任一区块的交易列表,如果在列表开头出现了三明治夹击,且夹击交易的GasPrice为0,则这很有可能是通过MEV-Geth发起的Bundle。
-12200018高度区块的列表头部-
-某笔被夹击交易全过程-
网络已全面部署MEV-Geth
当前MEV的情况可以通过对0gasprice并且gasused大于21000交易查询获得,具体见我临时建立的dunedashboard:
以太坊创始人V神推特改名:以太坊创始人Vitalik Buterin(V神)推特账号已改名为Vitalik “No I’m not giving away ETH” Buterin(Vitalik·我没有送出任何ETH·Buterin)。此前曾有人假冒V神账号“宣布了”一项ETH活动,向指定地址发送ETH即可获得奖励。[2018/3/4]
从图中可看到,不少矿池都已参与,每天有约超过3500笔MEV相关交易,大约一千多次MEV交易产生。按照平均出块时间在12s来算,每天有7200(60x60x24/12)个区块,即每天有近1/3的区块中存在MEV-Geth交易。还有部分矿池未使用MEV-Geth,套利者还未切换到这种新的竞争模式。
不同环境下的博弈
我们可以借助比较几种交易池运作情形,来了解用户得到了什么,又失去了什么。
公开博弈状态
如果网络回归到原生状态,而且出块者恪守行业自律,所有交易全公开,任何人都能通过建立节点或者通过节点服务发现未被打包的交易;那么,如果想夹击某笔交易,就需要发送两笔交易,并设置gasprice为被攻击交易前后来保证夹击顺序,并且在有竞争的情况下还要发送多份拷贝交易提高成功率,最后在任意交易执行失败时要面临花出矿工费的惩罚。
从用户方来看,大家都处于平等公开的环境下,当看到自己交易被夹击或抢跑时,是有机会有方法加速或取消这笔交易来避免潜在损失的。
而且,最终成型的区块,不仅能显示出交易池竞争的胜者,还能真实地反映交易池竞争的实际情形。
隐私交易服务
此处的“隐私交易”指的是矿池开设专门的通道,由该通道进入矿池交易池的交易不对外广播,但仍根据GasPrice高价优先的形式排序并打包交易。
普通用户使用隐私交易服务时,其交易对外不公开,因此,除非矿池自身违反保密承诺或参与攻击,否则用户不会受到上述攻击。
再从另外一头考虑,如果攻击者通过隐私交易服务攻击公网可见交易,被攻击者无法发现事情即将发生,无法做出应对。但是,三明治夹击仍然受限于交易路由和交易池排序的随机性,无法轻易实施。
而且,当多人竞争同一个获利机会时,只要矿池不透露相互竞争的交易,他们便无法了解竞争对手出价,只能盲出价格进入排序队列,这变相提高攻击成本和难度。
此外,最终成型的区块,仍然能真实地反映出交易池竞争的全部情形,外部可以观测到成功失败及其原因。
若MEV-Geth成为主流
MEV-Geth出现后,套利者抢跑者会将可套利可夹击的交易提交到这个网络中竞价,筛选出上交矿池利益最大的Bundle会放到下一个打包的区块中优先执行,保证被打包交易能达到100%成功率。
在当前,如果你也部署了一个MEV-Geth节点,Bundle内容对你来说是透明的,因此如果有人攻击你,你也能及时响应。
但如果你并不知道什么是MEV-Geth,你的情形与有人动用隐私交易攻击你相同;变得更差的是,攻击者的确定性提升不少,并且攻击过程的竞价也无法得知,因为成型的区块将只暴露那笔胜出的交易,而不会暴露竞争的过程。
Flashbots认为,这会给网络带来一些好处:套利者竞争博弈的过程被移到另外一个网络,可以缓解以太坊P2P网络的负担;只有胜出者占据区块空间,可以缓解区块拥堵。在subreddit/EtherMining上有发布报告列出目前区块中的额外获利情况,但或许长期不一定能赶上矿工费下降带来的总收入减少,需要更多长期数据跟踪研究。
去中心愿景
原本网络共识预期是,以太坊Defi用户和抢跑者处于同一规则下,并且竞争的过程和结果也是透明地暴露在区块中。随着矿池的介入,事情变得更加复杂,隐私交易和MEV-Geth,都让网络底层开始明确介入上层业务。而MEV-Geth似乎用各种好处正当化了对用户的三明治夹击,并且让竞价过程在一个外部无法观测的网络中发生,网络运行过程变得变得不友好也不透明。
我这里有几个问题:
1.矿池为提供算力的矿工获得利益出发,部署目前这个阶段的MEV-Geth去获取更多利益,这可能无可厚非。但这是否符合去中心和网络的公开公正呢?
2.Flashbots之前公开承诺里有提到保护以太坊的开放性去中心化,目前MEV-Geth隐私性和公开拍卖竞争问题未解决之前,部署到当前的网络中是否是合适的时机呢?
3.矿池的排序权引申出来的超级能力,可能在去中心化网络中无法被去除,也就是MEV是个客观存在的事物。但对于MEV-Geth出现让MEV的滥用变得更加便利,甚至成为正当借口去夹击用户交易,这是否造成长期不良影响?
社区中也是有不少关于MEV或MEV-Geth实现的争议,不少声音是担心:
康奈尔教授AriJuels在CoinDesk上发表的《Miners,Front-Running-as-a-ServiceIsTheft》
OffchainLab联合创始人EdFelten发表的《MEVauctionsconsideredharmful》,这篇不是针对这个议题,反对的是拍卖一天排序权的这种方法。Vitalik有一篇对此的回应。
EthererumResearch论坛上网友pmcgoohan发表的《MEVAuctionsWillKillEthereum》
Paramdigm基金合伙人CharlieNoyes发表的《MEVandMe》中也提到“MEVCanHarmUsers,MEVCanHarmEthereum”
如果以太坊想成为支撑整个世界的金融基础平台,那么维持用户资产安全以及交易排序的公平性就非常重要。所有参与方都是按照矿工费竞价规则竞争打包队列位置,执行失败会失去支付的矿工费。矿池在打包过程中完全忽略交易内容,仅以矿工费高低来为交易排序,网络验证人和应用参与方隔离开来,互不干涉影响。
MEV-Geth的全面部署以及矿工对以太坊网络的应用层逐步侵入,让我感觉到有些不对劲,周末两天思考和查阅材料,最后写下了这篇内容,希望能让更多人来思考这个可能会对以太坊影响深远的问题,也感谢这几天帮助校对内容的朋友们,特别感谢阿剑老师不断对阐述逻辑和顺序向我发问让文章内容更加完善与逻辑完备。
回顾NFT发展历史,每次牛市都有一个NFT代表项目引领市场。第一次牛市,以ColoredCoin为大家所知,ColoredCoin可标记多种特有资产,类似在1美元钞票上打上一行信息「可兑换1股T.
本文作者是Matti,并由巴比特翻译。在这篇文章中,Matti通过反身性理论解释了“投机正在吞噬世界”的现象,而这也是发生在特斯拉、比特币以及DeFi身上的事情.
链捕手消息,Vitalik在昨天发起EIP3298提案,提案内容为在伦敦升级中移除“执行SELFDESTRUCT获得gas费减少奖励”的规则.
Stacks?是一个公链项目,目前致力于建立基于比特币的上层应用,比特币共识极强,安全性高,且生态开发有较大的想象空间.
本文于2020年7月16日首发于链闻ChainNews,并由殷耀平撰文。手握大资金,心怀?大愿景?,投资也总是大手笔——在区块链这个新兴领域的投资赛道中,硅谷那些传统风险投资机构究竟是大韭菜,还.
本文系链捕手原创文章,作者:Rilak。以太坊为任何连接互联网的人带来了去中心化的交易、借贷和收益,在过去几年中实现了一个拥有多种数字资产类型的去中心化生态系统——拥有安全代币、实用代币和非同质.