Skip to content

[Graphite MQ] Draft PR GROUP:spec_26e1f5 (PRs 814, 880, 881)#898

Closed
graphite-app[bot] wants to merge 3 commits intomainfrom
gtmq_spec_26e1f5_1756741367883-d4c239d6-275b-466f-a1c5-019d8c4eccab
Closed

[Graphite MQ] Draft PR GROUP:spec_26e1f5 (PRs 814, 880, 881)#898
graphite-app[bot] wants to merge 3 commits intomainfrom
gtmq_spec_26e1f5_1756741367883-d4c239d6-275b-466f-a1c5-019d8c4eccab

Conversation

@graphite-app
Copy link
Copy Markdown

@graphite-app graphite-app bot commented Sep 1, 2025

This draft PR was created by the Graphite merge queue.
Trunk will be fast forwarded to the HEAD of this PR when CI passes, and the original PRs will be closed.

The following PRs are included in this draft PR:

This PR adds XMSS (eXtended Merkle Signature Scheme) implementation with public key tweaking support.

The XMSS implementation combines three key components:

1. Winternitz OTS verification for one-time signatures
2. Public key hash computation from Winternitz public keys
3. Merkle tree path verification to prove the public key is in the tree
This PR adds XMSS multi-signature aggregation.

The `circuit_xmss_multisig`​ function builds a circuit that verifies multiple XMSS signatures on the same message from different validators at a common epoch.

A test suite is added that contains both positive and negative parametrized tests. The negative tests check that circuit population fails if invalid signatures / parameters are used.
This PR adds an example circuit to demonstrate / test hash-based signature aggregation.

The example is parametrized by:
1\. The number of validators signing (i.e the number of signatures being aggregated)
2\. The size of the merkle tree that each validator is using to store public keys
3\. Which Winternitz spec is being used
@graphite-app graphite-app bot closed this Sep 1, 2025
@graphite-app graphite-app bot deleted the gtmq_spec_26e1f5_1756741367883-d4c239d6-275b-466f-a1c5-019d8c4eccab branch September 1, 2025 15:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant