Skip to content

Flashbots Comparison

MEV Boost

sequenceDiagram
    participant consensus
    participant mev_boost
    participant execution
    participant relays
    Title: Block Proposal
    Note over consensus: wait for allocated slot
    consensus->>mev_boost: engine_forkchoiceUpdatedV1
    mev_boost->>execution: engine_forkchoiceUpdatedV1
    mev_boost->>relays: engine_forkchoiceUpdatedV1
    Note over mev_boost: begin polling
    mev_boost->>relays: relay_getPayloadHeaderV1
    consensus->>mev_boost: builder_getPayloadHeaderV1
    mev_boost->>execution: engine_getPayloadV1
    Note over mev_boost: select best payload
    mev_boost-->>consensus: builder_getPayloadHeaderV1 response
    Note over consensus: sign the block
    consensus->>mev_boost: builder_proposeBlindedBlockV1
    Note over mev_boost: identify payload source
    mev_boost->>relays: relay_proposeBlindedBlockV1
    Note over relays: validate signature
    relays-->>mev_boost: relay_proposeBlindedBlockV1 response
    mev_boost-->>consensus: builder_proposeBlindedBlockV1 response

Suave SGX

Suave specification is in development, so terms may not be finalized.

sequenceDiagram
    participant Discovery
    participant Searcher
    participant Kettle_SGX as "Kettle SGX"
    participant Validators
    participant Execution_Client_SGX as "Execution Client SGX"

    Discovery->>Discovery: A registry exists
    Discovery->>Discovery: Discover each other through a registry
    Discovery->>Discovery: Perform handshake and verify attestations

    Searcher->>Searcher: Finds MEV and crafts bundle
    Searcher->>Searcher: Passes bundle to modified Ethereum node
    Searcher->>Searcher: Node generates block with bundle
    Searcher->>Searcher: Generates block witness and truncated header hash

    Kettle_SGX->>Kettle_SGX: Inputs into SGX
    Kettle_SGX->>Kettle_SGX: Uses block witness to verify block
    Kettle_SGX->>Kettle_SGX: Verifies coinbase difference
    Kettle_SGX->>Kettle_SGX: Encrypts block for validator

    Validators->>Validators: Verifies block signed by searcher
    Validators->>Validators: Chooses most profitable block
    Validators->>Execution_Client_SGX: Proposes block with attestation

    Execution_Client_SGX->>Execution_Client_SGX: Executes transactions and proposes block
    Execution_Client_SGX->>Validators: Sends proposed block

    Validators->>Validators: Attest to the proposed block
    Validators->>Validators: Final