Zeromev-Geth is a fully decentralized solution for Ethereum validators wishing to:
It does so by ordering transactions by time instead of by gas price or MEV.
Using unmodified Geth or MEV-Boost, users are frequently frontrun by seconds, minutes or hours.
The most Zeromev-Geth permits an attacker to frontrun their victim by is about 500 milliseconds (half a second). These remaining frontruns may be eradicated for wallet users by statically peering with their distribution network nodes.
In any case validators using this fork will no longer be accepting bribes for frontrunning (either via MEV Auctions or Gas Price Auctions).
No, just a few specific static nodes which will be added to the zeromev-geth config file by default as they become available.
Wallets and distribution networks must expose connection details to you. You do not need to expose your validator details to them any more than you would normally.
So the security of your validator is not compromised.
It offers roughly the same level of decentralization. You are just optimizing your connections to wallet providers to protect their users from frontrunning.
Existing connections to other nodes through the discovery network are not impacted and you will be improving mempool performance by reducing the latency of the network overall.
Even if all of these direct connections are unavailable, frontrunning is still limited to around 500ms under zeromev-geth in the worst case, a vast improvement over the status quo.
MEV auction technologies such as MEV-Boost centralize block content around a few dominant builders and encourage the mempool to be bypassed by users seeking MEV protection.
Zeromev-Geth restores your power to self-build in a way that protects the network from this centralization.
By using MEV-Boost you inherit the censorship preferences of the dominant builders. Because they are easy targets for external pressure, this makes the network itself easier to censor.
Self-building reclaims the power you have as a validator to make these decisions for yourself instead.
Staking rewards will be reduced in line with the reduction in toxic MEV.
How much by depends on the option your select:
|✔||altrusim||transactions are included in time order, regardless of the tip. This is the lowest reward option|
|❌||base fee percentage||transactions are included in time order as long as they tip at least a percentage of the base fee (similar to a fee payment to a centralized exchange). Validators always get a reasonable tip for inclusion but cannot be bribed for priority|
|❌||selection by gas||transactions are selected by gas price as normal, but then ordered by time. Validator rewards are in line with unmodified Geth, while not permitting frontrunning within their blocks|
(Please note: only the first option is available in this early version - the others are currently under development.)
If you are a Go/Geth dev and want to help with furthering these important features, please contact us :) ([email protected])
Yes. You are free to backrun any transaction as you receive it without breaking the time ordering regime of Zeromev-Geth.
This is because as the validator building the block, you have a zero latency advantage over anyone else doing this.
As Zeromev-Geth develops, we hope to build backrunning functionality into the codebase.
We also hope for collaboration with third party backrunning helper services that can offer such services for a fee, along with low latency cross-chain feeds.
Where frontrunning is defeated, there will be no frontrunning transactions, so the blockspace usually taken up by them will be reclaimed.
Excessive transaction volume from backrunning is reduced by validators backrunning themselves. There are reasons to think that even without this the problem will not be severe under time ordering as compared to Gas Price Auctions.
For a discussion on this topic, please see our proposal document.
There are always risks involved in using a forked version of any software. We provide no guarantees of fitness for purpose of this alpha release, and you use the software at your own risk.
That said, only 3 lines of code have been changed from the original Geth in this first version.
By contrast under Proof-of-Work Ethereum, 90% of miners used a fork of Geth with thousands of lines of code changes and additions.
There is no DDOS vector because of EIP-1559. The base fee increases with demand for blockspace making an attack of this kind prohibitively expensive.
geth requires Go. Once installed, run
The latest version of this readme and the source-code can be found here.
The go-ethereum library (i.e. all code outside of the
cmd directory) is licensed under the
GNU Lesser General Public License v3.0
The go-ethereum binaries (i.e. all code inside of the
cmd directory) is licensed under the
GNU General Public License v3.0