Skip to main content

MPBC Mechanism

MPBC has two stages, a merging stage where operators add transactions from multiple builders to a base block, and a delivery stage where they deliver the highest-paying block to the proposer.

The first version of MPBC is limited to transactions that do not compete for contentious state, such as simple transfers or self-contained transaction bundles. Future versions may expand this scope to include more complex transaction types.

Merging

The merging stage commences whenever an operator has received blocks and transactions eligible for merging. To avoid burdening originators with unexpected latency or inclusion, builders decide which blocks can be extended, and which transactions can be added to other blocks. These flags are submitted with the block's metadata.

Operators improve the value of the highest-bid single-party block, even if a combination of multiple other blocks could be more valuable. This prevents builders from spamming blocks containing subsets of the best block to improve their chances of inclusion.

Operators extend the base block by appending missing service transactions such as proposer commitments, followed by other eligible transactions that increase block value, and transactions that distribute the newly added surplus. They execute the following steps:

  1. Operators identify constraints from the complete set of constraints CC that are absent in the highest-bid single-party block BSPB_{\text{SP}}:

    Cmissing={txCtxBSP}C_{\text{missing}} = \{\, tx \in C \mid tx \notin B_{\text{SP}} \,\}
  2. Operators attempt to merge these constraint transactions into BSPB_{\text{SP}}. If this cannot be accomplished without changing the execution guarantees of BSPB_{\text{SP}}, it is discarded, the second-highest-bid single-party block is designated BSPB_{\text{SP}}, and the operator returns to step 1.

  3. For the highest-bid opted-in block BiB_i of each builder ii, the operator identifies the eligible transactions absent in BSPB_{\text{SP}}:

    Txnsi/SP={txBitxBSP}Txns_{i/\text{SP}} = \{\, tx \in B_i \mid tx \notin B_{\text{SP}} \,\}
  4. The operator merges from Txnsi/SPTxns_{i/\text{SP}} into BSPB_{\text{SP}}, filtering out any transactions that would revert, creating the multi-party block BMPB_{\text{MP}}.

  5. The operator calculates the surplus of the multi-party block BMPB_{\text{MP}} and appends any distribution transactions.

Delivery

The delivery stage commences when an operator has finalized the multi-party block, which is then compared to the highest-bid single-party block available at delivery time. The highest-paying block is delivered to the proposer. This ensures that the mechanism improves on the bid floor set by the PBS auction.

Operators execute the following steps:

  1. The operator checks for the presently highest-bid single-party block BSP,latestB_{\text{SP,latest}}.

  2. The operator verifies the improvement in blockspace utilization and block value by comparing BMPB_{\text{MP}} against the maximum value of BSPB_{\text{SP}} and BSP,latestB_{\text{SP,latest}}:

    ΔV=val(BMP)max(val(BSP), val(BSP,latest))\Delta V = \text{val}(B_{\text{MP}}) - \max\bigl(\text{val}(B_{\text{SP}}),\ \text{val}(B_{\text{SP,latest}})\bigr)
  3. If ΔV0\Delta V \geq 0 the operator returns the header of BMPB_{\text{MP}} to the proposer and splits the surplus as per the value distribution rule; otherwise, it falls back to the highest-bid single-party block.

Value distribution

The value unlocked per-block corresponds to the difference between the value of the multi-party block BMPB_{\text{MP}} and the value of the single-party block BSPB_{\text{SP}}:

ΔVblock=val(BMP)val(BSP)\Delta V_{\text{block}} = \text{val}(B_{\text{MP}}) - \text{val}(B_{\text{SP}})

As multiple builders contribute transactions, the surplus available for distribution is calculated on a per-transaction basis. When several builders contribute the same transaction, it is attributed to the builder with the highest PBS auction bid, incentivizing competitive bidding.

Initially the surplus is split 25% each across the base builder, the contributing builder, the MPBC operator, and the proposer. Performance-based compensation for operators is a roadmap item.

Value distribution is settled directly in the multi-party block. Priority fees accrue to the base builder's coinbase address and operators append transactions distributing the proposer's, operator's, and contributing builder's shares from reserves maintained by the base builder. The gas cost is subtracted from the surplus added by MPBC. This flow is illustrated below.