I’ve been following Solana’s roadmap closely, and the Multiple Concurrent Leaders (MCL) proposal—also known as Constellation—is one of the most ambitious consensus redesigns I’ve seen in the space. But I’m genuinely torn on whether this is brilliant or dangerous.
The Single-Leader Problem
Right now, Solana’s consensus model assigns one validator as the “leader” for each slot. That leader has complete control over which transactions to include and in what order. The result? $720.1 million in MEV extracted in 2025 alone. Jito tips accounted for over 22% of total validator rewards. That’s not just rent-seeking—it’s a fundamental centralization vector.
The single-leader model allows validators to:
- Reorder transactions for profit (sandwich attacks, front-running)
- Censor specific transactions
- Extract maximum value before passing the block downstream
Enter Multiple Concurrent Leaders
The Constellation protocol aims to fix this by allowing 16 proposers to simultaneously submit transactions. Here’s how it works:
- Users send transactions to multiple proposers (not just one leader)
- Each proposer creates erasure-coded “pslices” and sends them to 200 attesters
- Attesters timestamp and forward pslices to the leader with attestations
- Leader compiles all transactions that have enough attestations (60% threshold)
- Batches are created within sequential compute limits
The idea is that no single entity controls ordering anymore. Instead, consensus emerges from 16 parallel lanes.
Fee Structure
- Inclusion fees: Paid to the validator who includes your transaction
- Ordering fees: Paid to the protocol (burned)
This creates a market where users can pay for faster inclusion without paying for ordering manipulation.
My Technical Concerns
As much as I want this to work, I see three major issues:
1. Consensus Complexity
When 16 proposers submit conflicting transactions, how does the leader decide which ordering wins? The whitepaper mentions attestation thresholds (ATTESTATION_THRESHOLD=0.6, INCLUSION_THRESHOLD=0.4), but what happens when two valid orderings both cross the threshold? Does the leader have ultimate authority—making this just single-leader with extra steps?
2. State Invalidation Cascades
Imagine Transaction A is valid in Proposer 1’s lane but conflicts with Transaction B in Proposer 2’s lane. Both get attested. The leader includes both. One will fail on-chain. How do wallets handle this? Do users need to monitor multiple lanes and resubmit? This feels like a UX nightmare.
3. New MEV Vectors
If proposers can communicate off-chain (and they will), what stops them from colluding? A cartel of 10 proposers could:
- Coordinate to reorg each other’s blocks
- Share MEV profits via side channels
- Effectively recreate the single-leader problem at the proposer level
The paper doesn’t address proposer collusion resistance.
Why Isn’t Ethereum Doing This?
Ethereum went a different route: Proposer-Builder Separation (PBS). Instead of distributing proposal rights, Ethereum separates proposing from building. Builders compete to create the most profitable blocks, and proposers just sign them.
PBS centralizes building but keeps proposing decentralized. MCL decentralizes proposing but could centralize attestation (if attesters collude).
Different philosophies:
- Ethereum: “Let’s accept that building is centralized and regulate it”
- Solana: “Let’s distribute proposal rights and see what emerges”
Neither is obviously correct.
Open Questions
I’d love to hear from the community:
- How do you prevent proposer cartels? Is there a cryptoeconomic mechanism I’m missing?
- What’s the failure mode? If attesters go down or collude, does the chain halt or fall back to single-leader?
- Can this actually work at scale? 16 proposers × 200 attesters = 3,200 communication channels per slot. That’s a lot of overhead.
- Why the 60% attestation threshold? Why not 67% (BFT standard) or 51%?
I’m cautiously optimistic, but I need to see the test data. Does anyone have links to the testnet implementations? I’d love to run some simulations.