Skip to content

[DRAFT] feat: pqsig specs for devnet1#73

Closed
unnawut wants to merge 1 commit intoleanEthereum:mainfrom
unnawut:pqsig
Closed

[DRAFT] feat: pqsig specs for devnet1#73
unnawut wants to merge 1 commit intoleanEthereum:mainfrom
unnawut:pqsig

Conversation

@unnawut
Copy link
Collaborator

@unnawut unnawut commented Oct 7, 2025

Opening this PR prematurely for discussion

🗒️ Description

Listing down expected changes if we introduce SignedMessageBundle to allow a single PQ key to authenticate multiple actions in a slot. The general direction from PQinterop keygen session.

We can take another path and just keep the signed messages separate i.e. SignedBlock, SignedVote but need more discussion on requiring multiple PQkeys or whether 1 action per slot is really acceptable.

Container changes

  • Modify: State::validators: { pubkeys: xmss::containers::PublicKey }
  • Modify: BlockBody::attestations: List[SignedMessageBundle]
  • Add SignedMessageBundle : { block_message: Block, vote_data: Vote, signature: Signature }
  • Add: Signature: { path: HashTreeOpening, rho: Randomness, hashes: List[HashDigest] } -> Added but not
  • Remove: SignedBlock -> use SignedMessageBundle instead
  • Remove: SignedVote -> use SignedMessageBundle instead

STF changes

  • Modify: state_transition from receiving signed_block to block and block signature pre-validated
  • Add: process_bundle(signed_message_bundle)
  • ❓ Modify: process_attestations()from receiving attestations: List[SignedVote] to List[SignedMessageBundle] (TBD)

Gossipsub

  • ❓ Add: SignedMessageBundle
  • ❓ Remove: SignedBlock
  • ❓ Remove: SignedVote

Note: this looks worse for network optimization

ResResp

  • ❓ Modify: BlocksByRootResponse ReqResp returns List[SignedBlock] -> returns List[SignedMessageBundle]. Ideal?

✅ Checklist

  • Ran tox checks to avoid unnecessary CI fails:
    uvx --with=tox-uv tox
  • Considered adding appropriate tests for the changes.
  • Considered updating the online docs in the ./docs/ directory.

@unnawut unnawut self-assigned this Oct 7, 2025
@unnawut unnawut requested review from g11tech, gballet and syjn99 October 7, 2025 09:17
@unnawut
Copy link
Collaborator Author

unnawut commented Oct 14, 2025

Closing in favor of #67

@unnawut unnawut closed this Oct 14, 2025
@unnawut unnawut added the specs Scope: Changes to the specifications label Oct 25, 2025
@unnawut unnawut added this to the pq-devnet-1 milestone Nov 28, 2025
@unnawut unnawut deleted the pqsig branch December 4, 2025 13:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

specs Scope: Changes to the specifications

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant