Skip to content

Add EIP: Post-Quantum Keystore for Stateful Keys#11820

Open
ch4r10t33r wants to merge 8 commits into
ethereum:masterfrom
ch4r10t33r:eip-pq-keystore-leansig-2to32
Open

Add EIP: Post-Quantum Keystore for Stateful Keys#11820
ch4r10t33r wants to merge 8 commits into
ethereum:masterfrom
ch4r10t33r:eip-pq-keystore-leansig-2to32

Conversation

@ch4r10t33r

@ch4r10t33r ch4r10t33r commented Jun 20, 2026

Copy link
Copy Markdown

Add EIP: Post-Quantum Keystore for Stateful Hash-Based Keys

This PR introduces a new Standards Track (Core) EIP defining a keystore format for stateful hash-based signing keys — XMSS as used by the lean Ethereum consensus layer (leanxmss).

Abstract

The EIP extends EIP-2335 so the encrypted secret may be an XMSS seed, and adds the machinery a consumable key requires:

  • an explicit scheme-parameter block;
  • a non-authoritative capacity snapshot;
  • normative rules for where the authoritative signing state lives;
  • a commit-before-sign durability ordering;
  • reserved leaf ranges for concurrent signers;
  • import/export semantics that forbid silently resetting a key's signing position.

The encryption upgrades (AES-256, AEAD; optional argon2id KDF) are minor. The substance is state management: an XMSS key is destroyed by leaf reuse, while the existing keystore model assumes keys are immutable, freely copyable, and restore-safe — assumptions that are unsafe for consumable keys.

Motivation

Each XMSS signature consumes a one-time WOTS+ leaf whose index MUST NOT ever be reused; reuse enables forgery. For the synchronized variant, "never reuse a leaf" and the EIP-3076 "never double-sign a slot" invariant are identical, so the EIP makes that coupling normative and specifies the off-protocol cases (e.g. builder-bid signing) that fall outside slashing protection.

Scheme parameters

The leanxmss scheme.params example uses leanSig's recommended production parameter set for a 2^32 key lifetime (SIGAbortingTargetSumLifetime32Dim46Base8): tree_height 32, winternitz_w 8 (BASE), dimension 46, target_sum 200, target_sum encoding, Poseidon1 over KoalaBear, lifetime_leaves 2^32.

Preamble notes

  • eip: number is <to be assigned> pending editor assignment.
  • requires: 2334, 2335, 3076
  • discussions-to: an Ethereum Magicians thread still needs to be created and linked.
  • Test cases are stubbed (§ "Test Cases") and to be added.

Opened as a draft while the preamble (discussions-to, filename/number) and test cases are finalized.

Align the scheme.params example with leanSig's recommended production
instantiation for a 2^32 key lifetime (SIGAbortingTargetSumLifetime32Dim46Base8):
tree_height 32, winternitz_w 8 (BASE), dimension 46, target_sum 200,
target_sum encoding, Poseidon1 over KoalaBear, lifetime_leaves 2^32.

Add the dimension/target_sum/encoding fields (required to regenerate the
public key and verify under the target-sum hypercube encoding) and
document each param. Update the capacity snapshot total to match.

Replace em-dashes with colons/commas.
@eth-bot

eth-bot commented Jun 20, 2026

Copy link
Copy Markdown
Collaborator

File EIPS/eip-8310.md

Requires 1 more review from Editors: @g11tech, @jochem-brouwer, @lightclient, @samwilsn

@github-actions github-actions Bot added the w-ci Waiting on CI to pass label Jun 20, 2026
@eth-bot eth-bot added e-consensus Waiting on editor consensus e-review Waiting on editor to review labels Jun 20, 2026
@eth-bot eth-bot changed the title Align leanxmss scheme params with leanSig 2^32 production set Add EIP: Post-Quantum Keystore for Stateful Hash-Based Keys Jun 20, 2026
@ch4r10t33r ch4r10t33r closed this Jun 20, 2026
@ch4r10t33r ch4r10t33r reopened this Jun 20, 2026
@github-actions github-actions Bot added w-ci Waiting on CI to pass and removed w-ci Waiting on CI to pass labels Jun 20, 2026
…uires

- Rename eip-pq-keystore.md -> eip-11820.md (eipw filename format)
- Set eip: 11820 (numeric; fixes Jekyll/HTMLProofer table sort)
- Shorten title to 44-char limit
- Remove 2334 from requires (never referenced in body)
@eth-bot eth-bot changed the title Add EIP: Post-Quantum Keystore for Stateful Hash-Based Keys Add EIP: Post-Quantum Keystore for Stateful Keys Jun 20, 2026
@github-actions github-actions Bot added w-ci Waiting on CI to pass and removed w-ci Waiting on CI to pass labels Jun 20, 2026
- Move Security Considerations after Reference Implementation (eipw section order)
- Reference ERC-2335 with ERC prefix (category ERC)
- Point CC0 link to ../LICENSE.md
- Drop Tom Wambsgans from author list
- Generalize scheme.params hash field; spec is hash-agnostic
- Note Poseidon1 is still being evaluated for consideration
Comment thread EIPS/eip-11820.md Outdated
Comment thread EIPS/eip-8310.md Outdated
Per editor assignment (@abcoathup): set eip: 8310 and rename
eip-11820.md -> eip-8310.md.
@github-actions github-actions Bot removed the w-ci Waiting on CI to pass label Jun 23, 2026
@github-actions

Copy link
Copy Markdown

The commit 99ff210 (as a parent of c04aaa3) contains errors.
Please inspect the Run Summary for details.

@github-actions github-actions Bot added the w-ci Waiting on CI to pass label Jun 23, 2026
@ch4r10t33r ch4r10t33r marked this pull request as ready for review June 23, 2026 18:21
@ch4r10t33r ch4r10t33r requested a review from eth-bot as a code owner June 23, 2026 18:21
@github-actions github-actions Bot removed the w-ci Waiting on CI to pass label Jun 23, 2026
@ch4r10t33r ch4r10t33r requested a review from abcoathup June 23, 2026 19:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

c-new Creates a brand new proposal e-consensus Waiting on editor consensus e-review Waiting on editor to review s-draft This EIP is a Draft t-core

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants