---
title: Multiple Concurrent Proposers (MCP)
url: https://www.emergentmind.com/topics/multiple-concurrent-proposers-mcp
type: topic
---

# Multiple Concurrent Proposers (MCP)

Multiple Concurrent Proposers (MCP) denotes a class of blockchain consensus settings in which several validators propose concurrently within the same slot or tick, rather than a single proposer holding a serial monopoly over transaction inclusion and ordering. The core motivation is the relation between proposer monopoly and maximal extractable value (MEV): traditional single-proposer blockchains suffer from MEV because validators can exploit their serial monopoly on transaction inclusion and ordering to extract rents from users, while efficient on-chain auctions require selective-censorship resistance and hiding [2509.23984]. In later formalizations, MCP is developed as Byzantine fault-tolerant multi-proposer consensus in which several validators propose for each block, and the protocol guarantees short-term censorship resistance and hiding together with optimal resilience and fast-path latency under partial synchrony [2607.02275].

## 1. Motivation and problem setting

The initial MCP motivation is explicitly tied to MEV. Traditional single-proposer blockchains suffer from miner extractable value because validators exploit their serial monopoly on transaction inclusion and ordering to extract rents from users. Application-layer countermeasures exist, but these approaches largely require auctions as a subcomponent. Running auctions efficiently on chain requires two key properties of the underlying consensus protocol: selective-censorship resistance and hiding. These properties guarantee that an adversary can neither selectively delay transactions nor see their contents before they are confirmed; the MCP proposal is introduced as a protocol offering exactly these properties [2509.23984].

Subsequent MCP work broadens the systems perspective. Cadence describes MCP as removing the single-leader monopoly over transaction inclusion and ordering: under multiple concurrent proposers, several validators propose for each block, and, under synchrony, a transaction a correct proposer includes cannot be censored or deferred, while no proposer can craft its proposal in reaction to the others' [2607.02275]. The same line of work also decouples the block interval from network latency by letting blocks finalize in independent consensus instances rather than directly building on their predecessor.

The MEV literature identifies the other side of the same design choice. In an MCP chain, multiple blocks become data available before their final execution order is determined. As soon as a proposer’s block hits a Data Availability layer it becomes data-available to the world, but consensus will not linearize those blocks until an end-of-tick phase; concurrency therefore arises because multiple blocks and their transactions are public before the protocol picks a unique inter-block order, creating MEV opportunities not present in single-builder chains [2511.13080]. This establishes MCP as a trade-off space rather than a one-dimensional improvement: eliminating the single-leader bottleneck changes both censorship properties and the structure of strategic behavior.

## 2. Formal model and protocol-level guarantees

A formal MCP definition is given in Cadence. Validators satisfy \(n = 3f + 1\), with up to \(f\) Byzantine. Time is divided into an infinite sequence of numbered slots \(s \in \mathbb{N}_+\). Each slot \(s\) has a fixed size-\(k\) subset of validators \(s.\mathrm{proposers}\) and a deadline \(s.\mathrm{deadline}\), spaced \(\tau\) apart, with
\[
\forall s>1,\qquad s.\mathrm{deadline} = (s-1)\tau + \Delta.
\]
Each proposer \(p \in s.\mathrm{proposers}\) holds exactly one proposal
\[
P = \langle s, p, \mathrm{payload}\rangle.
\]
Each validator \(p_i\) maintains an append-only log \(\log(p_i)\) of proposal-vectors \(V\), where a proposal-vector maps \(s.\mathrm{proposers}\) to either a proposer’s \(P\) or \(\bot\); a slot may be skipped. The interface is correspondingly simple: slot proposers submit their proposals to \(\mathrm{slot\mbox{-}consensus}(s)\), and validators grow their logs as slots finalize [2607.02275].

Under partial synchrony, the guarantees are stated with \(GST\) for global stabilization time, \(\Delta\) for the post-\(GST\) network bound, \(\delta \le \Delta\) for actual delay, and grace periods \(\ell\) and \(c\). Safety requires that for any correct \(p_i,p_j\) and any times \(t_1,t_2\), \(\log(p_i,t_1)\) and \(\log(p_j,t_2)\) are consistent, meaning one is a prefix of the other. \(\ell\)-liveness requires that every sufficiently late slot is eventually appended by every correct validator. \(c\)-censorship resistance requires that for every sufficiently late slot, every honest proposer’s proposal appears in the finalized vector. Hiding is simulation-based: there exists a simulator \(S\) such that the real-world execution of slot consensus is indistinguishable from an ideal functionality \(\mathcal{F}\) that hides honest proposals until the deadline, lets Byzantine proposers submit multiple proposals before the deadline, and after the deadline learns honest proposals and returns to the adversary the set of included proposals.

The literature also uses MCP in broader formulations. In Sedna’s dissemination model, multiple-concurrent-proposers consensus proceeds in slots \(t=1,2,\dots\), and in each slot every validator \(i \in \{1,\dots,n\}\) proposes a block \(B_i^t\); consensus finalizes the entire vector \((B_1^t,\dots,B_n^t)\) [2512.17045]. In the MEV model, an MCP chain may have \(n>1\) proposers who each may publish one or more blocks every tick [2511.13080]. These formulations are not identical, but they share the defining feature that several proposers are concurrently active before execution order is fixed.

## 3. Cadence, Chorus, and Conductor

Cadence organizes MCP as an extreme-pipelining framework that composes two black boxes: a one-shot Slot Consensus for each slot and an Orchestrator that decides which slots to open or skip [2607.02275]. Slot Consensus exposes \(\mathrm{participate}()\), \(\mathrm{abandon}()\), \(\mathrm{propose}(P)\), and \(\mathrm{finalize}(V)\), with guarantees of agreement, termination, slot safety, proposal inclusion, and hiding. The Orchestrator exports \(\mathrm{complete}(s)\) as input and \(\mathrm{open}(s)\) as output, and satisfies totality, integrity, monotonicity, \(\mathcal{B}\)-boundedness, and \(\mathcal{R}\)-recovery. Cadence then runs one Orchestrator \(\mathcal{O}\) and one SlotConsensus instance \(\mathcal{S}[s]\) per slot. When \(\mathcal{O}.\mathrm{open}(s)\) fires, validators participate in \(\mathcal{S}[s]\), and proposers submit their proposals; when \(\mathcal{S}[s]\) finalizes, the instance is abandoned, the result is buffered, and vectors are appended in slot order. The framework theorem states that if \(\mathcal{O}\) satisfies boundedness and recovery and each \(\mathcal{S}[s]\) satisfies its five guarantees, then Cadence solves MCP with \(\ell=\mathcal{R}\), \(c=\mathcal{R}\), and hiding.

The concrete slot-consensus protocol is Chorus. It assumes \(n=3f+1\) and uses threshold IB-KEM, erasure coding, Merkle commitments, signatures, and random oracles. In Phase I, proposer dissemination begins at time \(s.\mathrm{deadline}-\Delta\): a proposer forms \(P\), encapsulates under a slot-specific identity, pads and encrypts the payload, splits the encrypted payload into \(n\) erasure-coded fragments, computes a Merkle root over fragment hashes, signs it, and sends one chunk to each validator. In Phase II, validators collect chunks until the deadline; for each proposer they record either a valid entry or a \(\bot\)-entry, and at the deadline they broadcast signed entries together with their own decryption share. In Phase III, the fast path builds \(\mathrm{FastQC}_j\) when at least \(2f+1\) identical votes exist for proposer \(p_j\); once this exists for all \(j\), validators form a fast meta-block, send \(\mathrm{FastBlock}_s(B)\), broadcast \(\mathrm{CommitVote}_s(\mathrm{entries}(B))\), and speculatively finalize. If at least \(2f+1\) commit votes for the same entries are collected, a \(\mathrm{CommitQC}_s\) is broadcast and the vector is finalized. Chorus also includes a fallback path using fallback votes, per-proposer evidence, a fallback certificate, and an \(MVBA[s]\) decision procedure.

Its data-availability procedure rebroadcasts valid chunks, stores fragments, decodes when at least \(f+1\) fragments are available, verifies the Merkle root, and decapsulates when at least \(f+1\) valid shares have been collected; \(\mathrm{recover}(\mathrm{entries})\) waits until each entry is either a plain proposal or invalid and then returns the proposal-vector. The stated properties are agreement, termination, slot safety, proposal inclusion, and hiding. Termination is bounded by \(t + 5\Delta + \ell_{MVBA}\) if all validators start by \(t\). The fast-path latency is two communication rounds, with time \(D + 2\delta\), where \(D = s.\mathrm{deadline}\), and speculative finality occurs at \(D + \delta\). An early-voting optimization allows voting as soon as all Merkle roots arrive and can save up to \(\Delta\).

The orchestrator is Conductor. It uses windows of size \(W\), a readiness threshold \(p \in [0,W-1]\), ACS-latency \(\ell\), Chorus open-to-complete delay \(\Phi_{oc} = \ell_{chorus} + 2\Delta\), slot spacing \(\tau\), and the post-\(GST\) bound \(\Delta\). Under four stated inequalities, it opens slots \(1,\dots,W\) at startup, records completed slots, proposes the next estimated slot when the first \(p\) slots in the current window are done, and uses ACS decisions to schedule the next window. The correctness theorem gives integrity, monotonicity, \((2W-p)\)-boundedness, and \(2W\tau\)-recovery. In simulation over Monad’s 200 validators with five proposers per slot, Cadence reports average speculative finality of \(167\) ms, average full finality of \(219\) ms, average wait to enter a proposal of \(50\) ms at \(\tau=100\) ms, end-to-end latency of \(217\) ms speculative and \(269\) ms full, and an early-voting saving of approximately \(30\) ms.

## 4. Transaction dissemination and the user-facing trilemma

MCP consensus does not by itself determine how users should disseminate transactions to proposers. Sedna isolates this submission-layer problem and argues that MCP alone does not resolve how users should disseminate transactions: users either naively replicate full transactions to many proposers, sacrificing goodput and exposing payloads to MEV, or target few proposers and accept weak censorship and latency guarantees [2512.17045]. The resulting trilemma is explicitly stated as censorship resistance, low latency, and reasonable cost. Under naive replication, sending a full transaction to \(m\) distinct proposers gives bandwidth overhead \(\Theta(m)\), and to tolerate censorship by up to \(c\) malicious proposers one chooses \(m=c+1\). Under minimal targeting, bandwidth is \(\Theta(1)\), but if the chosen proposer censors, the sender must retry sequentially.

Sedna replaces naive transaction replication with verifiable, rateless coding. For a transaction, the sender forms
\[
M := (\sigma \,\|\, \mathrm{payload}),
\]
computes a commitment \(C\), a header, a transaction identifier \(txID = H(\mathrm{header})\), and a signature \(\Sigma\). A verifiable rateless encoder \(R\) then produces an unbounded sequence of symbols \(y_j = R_j(M)\), and the decode threshold is
\[
K = \left\lceil (1+\varepsilon)\frac{S}{\ell_{\mathrm{sym}}}\right\rceil.
\]
To send symbols to lane \(i\), the sender forms either individual shares or a bundle
\[
\mathsf{Bundle}_i = \bigl(txID,\; i,\; J_i,\; \{y_j\}_{j\in J_i},\; \Sigma_i\bigr),
\]
where \(\Sigma_i\) signs the lane identifier, symbol indices, and symbols. Validators verify the header-derived \(txID\), the header signature, the bundle signature, and a local fee or accounting predicate before admitting the bundle to the mempool.

The correctness and liveness statements are phrased in terms of finalized bundles. Deterministic execution order is obtained by sorting included transactions by \((ht(txID),txID)\), where \(ht(txID)\) is the height at which decoding succeeds. Under adversarial censorship, if \(c_e\) is the effective number of lanes the adversary can censor, \(m\) lanes are addressed, and \(s\) symbols are sent per lane, then the number of honest addressed lanes is
\[
H \sim \mathrm{Hypergeom}(n,\; n-c_e,\; m),
\]
and the single-slot success probability satisfies
\[
P_{\mathsf{succ}} \ge (1-\delta_{\mathrm{code}})\Pr\!\bigl[H \ge \lceil K/s\rceil\bigr].
\]
If the sender resamples a fresh subset of \(m\) lanes each slot, the time to inclusion is stochastically dominated by \(\mathrm{Geom}(P_{\mathsf{succ}})\).

Sedna’s privacy notion is until-decode privacy. If the adversary has seen at most \(r<K\) symbols, then
\[
H_\infty\bigl(\mathrm{payload}\mid\mathcal{L}(tx)\bigr)
\ge
H_\infty(\mathrm{payload}) - r\,\ell_{\mathrm{sym}}.
\]
This bounds pre-decode leakage by at most \(r\,\ell_{\mathrm{sym}}\) bits and is presented as a way to reduce MEV exposure relative to naive replication, where any adversarial lane immediately sees the entire payload. Analytically, Sedna approaches the information-theoretic lower bound for bandwidth overhead, with asymptotic overhead
\[
\frac{1+\varepsilon}{1-\tfrac{c_e}{n}},
\]
and reports a \(2\)-\(3\times\) efficiency improvement over naive replication. It requires no consensus modifications, enabling incremental deployment.

## 5. MEV channels specific to MCP

The concurrency of MCP creates MEV channels that do not arise in the single-builder model. The MCP MEV analysis introduces a hazard-normalized model in which a proposer decides for each transaction \(x\) whether to include immediately or delay inclusion by time \(\alpha \ge 0\) to harvest MEV [2511.13080]. With hazard \(\lambda>0\), gross MEV accrual
\[
F_x(\alpha)=A\bigl(1-e^{-k\alpha}\bigr),
\]
and realized MEV component
\[
\Delta_x(\alpha)=\int_0^\alpha kA e^{-ks}e^{-\lambda s}\,ds
=
\frac{Ak}{k+\lambda}\bigl(1-e^{-(k+\lambda)\alpha}\bigr),
\]
the proposer’s per-transaction payoff is
\[
U_{\rm mev}(\alpha,\tau_x)
=
\Delta_x(\alpha) + \tau_x e^{-\lambda\alpha}.
\]
The delay envelope is
\[
M(\tau)=\sup_{\alpha\ge 0} U_{\rm mev}(\alpha,\tau),
\]
and, writing \(r = \lambda\tau/(Ak)\), the closed form is
\[
M(\tau)
=
\begin{cases}
\displaystyle
\frac{Ak}{k+\lambda}\bigl(1-r^{1+\lambda/k}\bigr)
+\tau\,r^{\lambda/k}, & 0<r<1,\\[1ex]
\displaystyle
\max\!\left\{\tau,\frac{Ak}{k+\lambda}\right\}, & \text{otherwise.}
\end{cases}
\]
The immediate-inclusion threshold is
\[
\tau^\dagger = \frac{Ak}{\lambda}.
\]

Three MCP-specific channels are then identified. First, same-tick duplicate steals occur when one proposer observes a transaction in another proposer’s block and republishes a duplicate quickly enough to win ordering priority in the same tick. If \(\sigma_i^t(x)\) is the probability of a successful duplicate steal and \(\rho_i^t(x)\) is the probability that the original proposer misses the tick while the thief still makes it, then theft is profitable iff
\[
\bigl(\sigma_i^t(x)+\rho_i^t(x)\bigr)\bigl(\tau_x+\delta_x\bigr) > \phi_j^t,
\]
or equivalently
\[
\tau_x >
\frac{\phi_j^t}{\sigma_i^t(x)+\rho_i^t(x)} - \delta_x.
\]
With multiple identical potential thieves, the game becomes an all-pay contest.

Second, proposer-to-proposer auctions arise because there is no global mempool and a proposer who privately sees \(x\) may auction the right to include it. If the proposer internalizes the opportunity, the payoff is \(M(\tau_x)\). If instead the proposer runs an auction at delay \(\alpha\), bidder \(j\)’s value is
\[
V_j^x(\alpha)=e^{-\lambda\alpha}\tau_x+\Delta_x(\alpha).
\]
Under i.i.d. regular assumptions, the seller compares \(M(\tau_x)\) with \(\sup_{\alpha\ge0}\mathrm{Rev}^*(\alpha)\), the Myerson-optimal one-shot auction revenue.

Third, timing races are driven by proof-of-availability latency. If a user reveals early in a tick, a competitor can either send immediately or wait until observing the reveal on the DA layer and then snipe. The best-response condition is
\[
\rho_b\,\pi^{\rm snipe}_{b\to a}\,W
+\rho_b\,(1-\pi^{\rm snipe}_{b\to a})\,w
\ge
\pi_{b\to a}\,W+(1-\pi_{b\to a})\,w.
\]
Under stated conditions, there is a unique last send-time \(\bar s\) in the normalized tick, producing within-tick deadline pressure. Collectively, these channels show that MCP does not eliminate MEV; it redistributes it into same-tick competition, auctioning, and latency races.

## 6. Mitigation strategies and broader implications

Mitigation proposals in the literature operate at different layers. For execution ordering, the MEV analysis proposes Deterministic Priority-DAG Scheduling (PDM): after consensus selects the set \(\mathcal{B}_t\) of proof-of-availability-certified blocks in a tick, a dependency DAG \(G_t=(\mathcal{X}_t,E_t)\) is formed and each transaction \(x\) is assigned the lexicographic priority key
\[
\pi(x)=\bigl(\tau_x,\;-r_{i(x)}^t,\;-t^{\rm DA}(x),\,h(x)\bigr).
\]
A max-heap over DAG sources then yields a unique deterministic linear extension that respects dependencies and is monotone in \(\tau_x\) [2511.13080]. The same work also proposes duplicate-aware payouts: if \(m_x\) in-tick duplicates are revealed, only one logical transaction is executed, but the posted tip is split equally so each proposer receives \(\tau_x/m_x\). Together with a modest base fee, these measures are presented as driving duplicate steals, proposer auctions, and timing races arbitrarily close to zero without centralizing block-building.

At the submission layer, Sedna keeps consensus unchanged and moves redundancy control to users. It is entirely at the submission and mempool layer, speaks the same block-proposal API, supports lazy execution because MCP protocols execute only after finality, and permits incremental rollout in which some users continue naive replication while others adopt coded bundles [2512.17045]. This makes dissemination policy orthogonal to consensus choice.

At the consensus layer, Cadence proves safety, liveness, censorship resistance, and hiding under partial synchrony with optimal resilience \(n=3f+1\), and its simulations place speculative and full finality in the hundreds of milliseconds with five proposers per slot [2607.02275]. A plausible implication is that MCP research now spans three coupled problems rather than one: consensus construction, user-facing dissemination, and execution-order design. Across the cited work, MCP is therefore best understood not merely as “more proposers,” but as a family of protocols whose central question is how to preserve censorship resistance and hiding while controlling the new strategic surface created by concurrent proposal visibility.

Source: https://www.emergentmind.com/topics/multiple-concurrent-proposers-mcp