Computational cryptography › Not live yet
Trust or structural assumption

One signature per slot

In plain words

Hash-based signature keys must never sign two different things for the same slot.

The idea: A hash-based one-time key signs by revealing part of its secret, so signing two different messages with the same one-time key can reveal enough for someone to forge. XMSS gives each slot its own one-time key, which turns the rule into "never sign twice for the same slot". Validators already avoid exactly that, because double signing is slashed.

Why it matters: Validators already have to avoid that today, so it fits well.

The details

On the map: XMSS-style keys are stateful: signing twice with the same one-time key enables forgeries

Hash-based signatures like XMSS use one-time keys[1], so they are stateful: a signer must never sign twice with the same one-time key, or an attacker can forge signatures.

Ethereum validators already must never sign conflicting messages: two blocks for the same slot, or two votes for the same epoch, get slashed today. So slot-indexed hash-based signatures fit naturally[2]. Care is still needed around backups, failover machines and restores.

Rests on

If any of these breaks, this breaks too.

If it falls

If this breaks, these break with it.

References

  1. A. Huelsing, D. Butin, S. Gazdag et al. XMSS: eXtended Merkle Signature Scheme. RFC 8391, 2018. rfc-editor.org/rfc/rfc8391
  2. Justin Drake, Dmitry Khovratovich, Mikhail Kudinov and Benedikt Wagner. Hash-Based Multi-Signatures for Post-Quantum Ethereum. IACR Cryptology ePrint Archive, Paper 2025/055. eprint.iacr.org/2025/055