header-langage
简体中文
繁體中文
English
Tiếng Việt
Scan to Download the APP
Partnered With:

The age of primitive disordered MEV has arrived

Read this article in 23 Minutes
Flashbots light up the dark forest.
The original title: the view | original disorderly MEV era"
Original source: Ethereum enthusiasts

 

Imagine a situation in which a user trades on an AMM-type Dex. No matter what slippage point is set, the user will end up trading at the lowest price you can accept. This can be a scary scenario for users.

 

TLDR;

 

The current mev-geth implementation changes the expected order of transactions in the network, resulting in a number of highly questionable public fairness issues, and may already be harming users in the ecosystem.

 

Ethereum network trading pool native rules

 

In the current Ethereum network, if a user sends a transaction natively, the transaction propagates across the entire peer-to-peer network consisting of all Ethereum nodes, and the content of the transaction is completely transparent, meaning that any node in any network can see the majority of the transaction content.


As a result, there are several instances in the Ethereum network that disrupt the transaction sender's expectations and experience (often referred to as some sort of "attack"),


1. Front-running, which refers to making profits by allowing a particular trade to rank ahead of the target trade in the same block, mainly for clearing and arbitrage trades;


Back-running refers to making a profit by placing a particular trade behind a target trade in the same block, typically an Oracle or large order trade.


3. Sandwich attack. A combination of the two forms of attack above allows the target trade to be sandwiched between two specially constructed trades to profit. Sandwich attacks have greatly widened the range of targets, making even a simple AMM Dex transaction a potential target. The attacker's first constructed trade creates more volatility in the price of the trade, and when the target trade is completed, the attacker executes a second constructed trade, and the attacker gains in exchange for the attacking token.


The target of the attack is uncertain. In theory, anyone with knowledge of your transactions can attack you: dApp vendors, professional attackers, wallets, mining pools, all of them can attack you (no "accountability").


The degree to which an attack is difficult is related to the network's consensus rules and generally available infrastructure in the ecosystem (attack difficulty, "responsiveness"); For example, if the current pool rules are fully complied with, and only Gas Price competition is used to influence the order of trades by the producers (which requires the producers to adhere to the industry's self-discipline), then the sandwich attack will be harder to pull off.


Currently, miner-pool players are considered the most likely to attack because of their ability to directly determine the order in which trades are executed in the blocks they package. This is where the concept of "MEV" (the profit a miner gets for the ability to rank trades) comes from; But in fact, because the attack opportunity has a certain timeliness and may be fleeting, the attacker and the mine pool are more of a cooperative relationship.


This background is what makes me so uneasy about Mev-Geth and other forms of mining pools directly engaging in sandwich attacks.

 

The current mev-geth implementation

 

 

At present, the function of MEV-Geth implementation (as of 2021-04-10) is only to search the searcher (Inspect) for MEV opportunities in the network, forward the atomic transaction packet to the registered mine pool node (Relay), and the block node allows queue-cutting (MEV-Geth Client). Build a simple network only between the registered mine pool and the Relay server.


Mev-geth is a special custom ethereum node client that runs on the side of the mine pool, allowing it to store MEV bundles distributed by Relay and package these special transactions into the queue head location in the block.


 

Users can use mev-geth to broadcast transaction packages called bundles; The information contained in a Bundle includes: a list of transactions (indicating the number of consecutive transactions that the sender wishes to chain), arbitrage to calculate the block height, and a minimum and maximum timeout. In blocks chained on a single Bundle, the sender will pay the ETH to the producer (i.e. the mine pool) as a commission through the Coinbase transaction (not through the Gas Price).


In the current mev-geth implementation, only one Bundle can exist per block, so the blocker selects the Bundle that Coinbase pays the largest amount to link to.


This current implementation simplifies the difficulty of performing sandwich swiping. On the one hand, the attacker can explicitly declare the context of the pincer transaction; Secondly, the pinning player has no worries. Even if he loses in the upchain competition with other pinning players, his transaction will only be timeout invalid in the mev-relay network, and there is no need to pay Gas fee.


According to a public statement from the Flashbots team, they are working on a solution that will allow multiple bundles in the same block, and we may soon see blocks filled with lots of sandwiches with zero Gas.

 

Find the Mev-Geth deal

 

According to the current implementation, the most significant feature of the MEV-Geth transaction is that the Gas Price of the two pincer transactions is 0.


Open the block browser website etherchain.org and look at the list of transactions for each block (this list shows the order in which transactions are executed within the block). If there is a sandwich sandwich at the beginning of the list and the Gas Price of the sandwiched transaction is 0, This is most likely a Bundle initiated through Mev-geth.


  - List header of 12200018 height block -


  - The whole process of a flanked transaction -

 

The network is fully deployed with MEV-GETH

 

The current situation of MEV can be obtained by query on transactions with 0 gas price and gas used greater than 21000. For details, see my temporary   dune dashboard


 

As you can see from the chart, a number of mining pools are involved, with over 3,500 MEV-related trades being made every day and over 1,000 MEV-related trades being made. Based on an average block time of 12s, there are 7,200 (60x60x24/12) blocks per day, or nearly one-third of the blocks are involved in MEV-Geth transactions per day. There are still some pools that do not use MEV-Geth, and arbitrageurs have not yet switched to this new competitive model.

 

Game under different circumstances

 

We can compare several trading pools to see what users gain and lose.

 

Open game state


If the network reverts back to its native state, and blockers are disciplined in their industry, all transactions are public, and anyone can discover unpackaged transactions by creating a node or through a node service; Then, if you want to pawn a trade, you need to send two trades, set the gas price to ensure the pawn order before and after the attacked trade, and send multiple copies of the trade in the case of competition to increase the success rate, and finally face the penalty of spending miners' fees if any trade fails to execute.


From the user's point of view, everyone is in an equal and open environment, when they see their trade is caught in the crossfire or jump start, there are opportunities and methods to accelerate or cancel the trade to avoid potential losses.


Moreover, the final shaped block can not only show the winner of the exchange pool competition, but also truly reflect the actual situation of the exchange pool competition.

 

Privacy Transaction Service


In this case, the "private transaction" means that the mine pool opens a special channel through which the transactions entering the mine pool are not broadcast to the public, but are still sorted and packaged according to the high Price priority of the Gas Price.


When ordinary users use the private trading service, their transactions are not disclosed to the public, so unless the mine pool itself violates the confidentiality commitment or participates in the attack, the user will not be exposed to the above attack.


On the other hand, if the attacker attacks the public network visible transaction through the private transaction service, the attacked cannot find out that something is about to happen and cannot make a response. However, sandwich attack is still limited by the randomness of trade routing and trading pool ordering and cannot be easily implemented.


Moreover, when multiple players compete for the same profit opportunity, as long as the pool does not disclose the competing transactions, they will not be able to understand the competing bids, and will have to blind the price and enter the sort queue, which increases the cost and difficulty of the attack.


In addition, the resulting block is still a true reflection of the full spectrum of the competition in the trading pool, with external observations of success and failure and the reasons for it.

 

If MEV-Geth becomes mainstream


After the appearance of MEV-Geth, the arbitrager will submit arbitrage and pin-hit transactions to this network for bidding. The bundles with the largest profits to the mine pool will be screened out and put into the next packaged block for priority execution, ensuring that the packaged transactions can achieve a 100% success rate.


Currently, if you also deploy a mev-geth node, the Bundle contents are transparent to you, so if someone attacks you, you can respond.


But if you don't know what Mev-geth is, you're in the same situation as someone attacking you with a privacy transaction; To make matters worse, the certainty of the attacker is much higher, and the bidding of the attack process is not known, because the formed block will only expose the winning transaction, not the competition process.


Flashbots believes that this will bring some benefits to the network: arbitragers' competing games will be moved to another network, which will ease the burden on the Ethereum P2P network; Block congestion can be reduced if only the winners occupy the block space. There is a report on subreddit/EtherMining that lists the additional profits in the current block, but it may not be able to match the decrease in total revenues in the long term. More long-term data tracking is needed.

 

Decentralized Vision

 

The consensus expectation was that Ethereum Defi users and front-runners would be under the same rules, and that the process and outcome of the competition would be transparently exposed to the block. Things get more complicated with the introduction of mining pools, privacy transactions and mev-geth, both of which allow the bottom layer of the network to explicitly intervene in the top layer of business. Mev-Geth, on the other hand, seems to justify a sandwich attack on users with all sorts of benefits, and makes the bidding process unfriendly and opaque in an unobserved network.


I have a couple of questions here,


1. For the benefit of the miners who provide computing power, the mine pool may be justified in deploying MEV-Geth at this stage to obtain more benefits. But is this consistent with the openness and fairness of de-centralization and the Internet?


2. Flashbots previously made public promises to protect the open decentralization of Ethereum, is it the right time to deploy to the current network before the privacy issues of Mev-geth and open auction competition are resolved?


3. The super power derived from the ranking weight of the mine pool (miners) may not be removed in the decentralized network, that is, MEV is an objective existence thing. But has the advent of Mev-geth made it easier to abuse Mev, or even a legitimate excuse to pin-up user transactions, had a long-term impact?


There is also a lot of controversy in the community about the implementation of MEV or MEV-Geth, and a lot of voices are worried


· Miners, Front Running-as-a-Service Is Theft by Cornell Professor Ari Juels on CoinDesk


· "Mev Auctions Considers" published by Ed Felten, co-founder of Offchain Lab. This article is not aimed at this issue, but opposed to the method of auctioning one-day ranking rights.

    ·Vitalik has a response to this


· "Mev Auctions Will Kill Ethereum" published by PMcGoohan on Ethererum Research Forum


· Charlie Noyes, Partner of Paramdigm Fund, also mentions "Mev Can Harm Users, Mev Can Harm Ethereum" in "Mev and Me."


Maintaining the security of users' assets and the fairness (randomness) of transaction sequencing is important if Ethereum is to become the financial infrastructure that supports the entire world. All participants compete for a position in the pack queue according to the miner's fee bidding rules, and if the execution fails, the miner's fee will be lost. The mine pool completely ignores the transaction content during the packaging process, and only ranks the transaction according to the miner's fee. The network verifier and the application participants are isolated from each other without interference and influence.


MEV - Geth comprehensive deployment, and the miners to ittai lane network application layer gradually invaded, let me feel that something was amiss, weekend two days thinking and reference materials, finally wrote the article content, hope to be able to let more people to think about this is likely to be profound problems of the etheric fang, also thanks to help check content friends these days, I would like to express my gratitude to Teacher A Jian for asking me questions about the logic and order of the explanation, so as to make the content of the article more perfect and logical.

 

Flashbots related content index:


flashbots/mev-research: Project management for MEV Research

flashbots/pm: Everything there is to know about Flashbots

 

The original link


Welcome to join the official BlockBeats community:

Telegram Subscription Group: https://t.me/theblockbeats

Telegram Discussion Group: https://t.me/BlockBeats_App

Official Twitter Account: https://twitter.com/BlockBeatsAsia

举报 Correction/Report
Choose Library
Add Library
Cancel
Finish
Add Library
Visible to myself only
Public
Save
Correction/Report
Submit