Introducing rbuilder – an Ethereum block builder written in Rust with a focus on performance, modularity, and contributor friendliness.
We've been running rbuilder in production at Flashbots for 3 months and are excited to open source it.
We're open-sourcing rbuilder because we believe that an efficient and decentralized block building market must be built in the open. It incorporates everything we’ve learned in 2 years since creating the original MEV-Boost builder for the merge.
rbuilder is the next frontier for block building. 100% of Flashbots blocks on L1 are built by rbuilder today and the same modular system can be extended to sequence L2s.
rbuilder is fast. It builds mainnet blocks in sub-100ms on average, with a p50 fill time of ~20ms and p50 seal time of ~40ms (last 7d). That’s 10x faster than the Flashbots geth builder.
By the end of the year our goal is to build 99% of blocks in sub-100ms. The next major bottleneck is the state root, which accounts for ~30% of rbuilder’s e2e latency and is significantly slower in reth than geth.
All of our optimizations have been and will be upstreamed.
rbuilder is delightful to test. We created a new backtesting framework that can be run in a single CLI command and benchmark PRs in CI.
rbuilder also comes with synthetic bundle data that mimics the behavior of real bots so anyone can test against mainnet-like conditions.
rbuilder is modular and can be extended to work with custom merging and bidding code. A next major feature will allow colocating private code with mainnet builders, so even sensitive contributions can be run in prod in the future.
Finally, and most importantly, rbuilder is built for the community. We're open-sourcing it with the express goal of sharing stewardship with contributors. To start, we’re interested to see PRs reduce e2e latency and experiment with new merging algos.
Today, all Protect transactions are sent directly to the Flashbots Builder. This guarantees important protections like pre-trade and failed-trade privacy.
But it has a cost.
As the builder market becomes more decentralized, the Flashbots builder lands a smaller percentage of blocks. We think this competition is good for the market — but it results in slower inclusion rates for Protect users.
To start, you can find all MEV-Share transactions sent to the Flashbots Matchmaker at mev-share.flashbots.net. This includes transactions that use Flashbots Protect, which is about 3% of traffic on Ethereum mainnet.
The Matchmaker only shares partial information about each transaction, like the token pair being traded for certain DEXes. Searchers can update their strategies in a few ways to handle this.
TL;DR 1. Users should decide how, when and by who their transactions are executed 2. This lets them internalize their MEV and be included faster on chain 3. Flashbots is launching a beta release of MEV-Share with orderflow sharing to give users more power in the MEV supply chain
MEV-Share is a permissionless protocol for sharing orderflow between users and searchers. It prevents the MEV supply chain from centralizing around exclusive orderflow, by allowing any searcher to participate and not enshrining a single builder.