Secret proposer: hiding the next block proposer in advance
Strawmap Beyond that (Long term) · secret proposers
This changes the design so that who will propose the next block is not announced in advance and is revealed only when the proposer publishes the block. It is designed to prevent attacks that target proposers.
Why it is needed
In Ethereum today, which validator will propose a block in which slot is decided before an epoch (a group of 32 slots) begins. Anyone can see that list. An attacker can look at the list and flood the next proposer's node with traffic so that it cannot produce a block. If such a denial-of-service (DoS) attack succeeds, that slot is empty and transactions are delayed. It also creates room for the next proposer to take the fee revenue for that slot. The fact that the proposer is known in advance is itself the starting point for targeted attacks. A secret proposer hides this list. Only the proposer knows its own turn. Only at the moment the block is published does the network confirm that the person was a legitimate proposer. This makes it harder to pick a specific validator in advance and attack it, and it makes small solo validators safer. In the Ethereum research community this approach is called secret leader election. Designs such as Whisk, which uses a shuffle that mixes commitments together with zero-knowledge proofs, have been proposed. In the Strawmap it sits in the long-term column with no assigned fork, so which upgrade it will go into has not yet been decided.
How it works
- Today the list is public The proposer for each slot is decided before the epoch begins, and anyone can look up that list. An attacker can also know the next proposer in advance.
- Validators register anonymous commitments Each validator posts to the network an encrypted commitment that only that validator can open. These commitments are shuffled many times so that no one can tell which commitment belongs to whom.
- Only the owner of the chosen commitment knows its turn For each slot, one of the shuffled commitments is drawn. The owner of that commitment knows it is their turn, but no other participant can tell who it is.
- Submit a proof with the block When publishing the block, the proposer attaches a zero-knowledge proof that they own the chosen commitment. The network verifies that the proposer is legitimate without learning their identity.