flashbots / flashbots/mev-boost

at what level should cancellations be allowed, if at all?

Open
#113 1 comment 0 reactions 0 assignees View on GitHub
research 💡
Dominant language
Go
Stars
1.4k
Forks
292
PR merge metrics
No merged PRs in 30d

Description

**Description:**
Cancellations are a useful feature that allow individuals to cancel transactions they submitted before they land on chain. This feature is particularly useful for people executing cross-domain arbitrage.

There are 2 possible 'types' of cancellations:
- searchers cancelling their bundles to the builder
- the builder cancelling their block to the relay/proposer

The former is introduced by the builder, in which case this doesn't affect mev-boost code. The latter would concern mev-boost. We focus on this second case.

Naturally, no cancellation is possible after a header has been signed upon by the proposer - aside from a 'brute-force cancellation' where a relay does not reveal the body of a block.

**Questions**
- Does allowing cancellations at the mev-boost level opens up a DoS vector for the relay?
- The DoS here would be a builder submitting blocks, relay checking validity and then receiving cancellation request for it. There is a likely asymmetry between compute needed to cancel a body and re-submit a new one vs checking the validity of a body
- Does allowing cancellations mean bidding is now messed up? please refer to issue #112 for more details here.
- In particular, I worry this means someone could bid very high, scare other builders from participating in a round then cancel right before the end. This feel pretty harmless though but I would like to surface the concern.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.