Search Quorum docs

Search pages and sections across all documentation sets.

Wallet docs

a step-by-step guide

Winternitz state and signing

Operate hash-based one-time-signature identities without reusing state.

Winternitz state and signing

Winternitz identities are post-quantum and hash-based, but they are stateful. Each approval consumes one signing position.

What the wallet tracks

  • Current root or commitment.
  • Current signing position.
  • Next expected position.
  • Whether an approval has been broadcast.

Burn-on-broadcast rule

Once the wallet broadcasts a Winternitz signature, treat that position as used. Even if the transaction fails, the signature material may be visible.

Safe signing flow

  1. Refresh the on-chain Winternitz state.
  2. Confirm the proposal and canonical preimage.
  3. Sign with the next unused position.
  4. Submit the transaction.
  5. Confirm state advancement.
Do not reuse one-time positions

Reusing a Winternitz position for different messages can weaken or destroy the security assumption for that identity.

Technical Winternitz state

Read the program-side state-management notes.