Block builder centralization

If we reach the stage that for every block that a proposer proposes, they have the choice between taking a block from their local execution client, (based on transactions from the public mempool), or a block from some MEVA relayer.

If the blocks being offered by relayers are consistently worth more to proposers than the blocks they can get from their local execution clients, then the transactions in the public mempool just aren’t going to get processed. It follows then that wallet vendors would stop sending transactions to the public mempool by default. The public mempool would simply “dry-up”.

I’ve read through the discussions around the implications of block builder centralization to censorship resistance, and where the author explains very eloquently that it would be economically prohibitive for a block builder to censor a transaction indefinitely, this argument seems to be predicated upon the assumption there is a viable alternative that the sender can submit their transaction to.

Simply: if there is a single dominant block builder, AND if there isn’t sufficient transaction volume in the public mempool to compete against the blocks it produces, (to the extent that no blocks are ever proposed that contain public mempool transactions), then users will have no alternative but to submit their transactions to the dominant block builder.

If this block builder goes off-line, or decides to stop producing blocks for some reason, then everyone can just fall back to the public mempool, and everything keeps going. But what about if we’re only talking about very specific transactions that are targeted by the block builder. Surely they can be vulnerable to being censored under the above scenario? In this case, the targeted users would probably need to broadcast to the public mempool with a hugely inflated priority fee, in the hope that it might get picked up by a proposer at some stage.

To my mind, the main question seems to be: if this scenario emerges, how long will that take and will there be enough time to decide on a mitigating approach and implement it (e,g, crLists or similar)?

1 Like