Skip to content

feat(doc): added pages for aggregation method in website - #3490

Open
damrobi wants to merge 11 commits into
mainfrom
damrobi/msnark/website-doc-agg-method
Open

feat(doc): added pages for aggregation method in website#3490
damrobi wants to merge 11 commits into
mainfrom
damrobi/msnark/website-doc-agg-method

Conversation

@damrobi

@damrobi damrobi commented Aug 24, 2026

Copy link
Copy Markdown
Collaborator

Content

This PR includes a update to the website that includes three new pages describing the different aggregation method.

Pre-submit checklist

  • Branch
    • Tests are provided (if possible)
    • Crates versions are updated (if relevant)
    • CHANGELOG file is updated (if relevant)
    • Commit sequence broadly makes sense
    • Key commits have useful messages
  • PR
    • All check jobs of the CI have succeeded
    • Self-reviewed the diff
    • Useful pull request description
    • Reviewer requested
  • Documentation
    • Update README file (if relevant)
    • Update documentation website (if relevant)
    • Add dev blog post (if relevant)
    • Add ADR blog post or Dev ADR entry (if relevant)
    • No new TODOs introduced

Comments

Issue(s)

Relates to #3155, #3144 and #3487

@damrobi damrobi self-assigned this Aug 24, 2026
@github-actions

github-actions Bot commented Aug 24, 2026

Copy link
Copy Markdown

Test Results

     5 files  ± 0     209 suites  ±0   57m 19s ⏱️ - 1h 24m 14s
 3 396 tests  - 66   3 396 ✅  - 66  0 💤 ±0  0 ❌ ±0 
11 250 runs   - 75  11 250 ✅  - 75  0 💤 ±0  0 ❌ ±0 

Results for commit 80b57c6. ± Comparison against base commit 6ca6181.

This pull request removes 66 tests.
mithril-stm ‑ circuits::halo2::tests::golden::cases::negative::slow::index_out_of_bounds
mithril-stm ‑ circuits::halo2::tests::golden::cases::negative::slow::index_too_large_for_circuit_range
mithril-stm ‑ circuits::halo2::tests::golden::cases::negative::slow::indices_not_increasing
mithril-stm ‑ circuits::halo2::tests::golden::cases::negative::slow::leaf_merkle_path_mismatch
mithril-stm ‑ circuits::halo2::tests::golden::cases::negative::slow::leaf_swap_keep_merkle_path
mithril-stm ‑ circuits::halo2::tests::golden::cases::negative::slow::leaf_wrong_verification_key
mithril-stm ‑ circuits::halo2::tests::golden::cases::negative::slow::merkle_path_corrupt_sibling
mithril-stm ‑ circuits::halo2::tests::golden::cases::negative::slow::merkle_path_flip_position
mithril-stm ‑ circuits::halo2::tests::golden::cases::negative::slow::merkle_path_length_long
mithril-stm ‑ circuits::halo2::tests::golden::cases::negative::slow::merkle_path_length_short
…

♻️ This comment has been updated with latest results.

@damrobi
damrobi temporarily deployed to testing-2-preview August 24, 2026 14:44 — with GitHub Actions Inactive
@damrobi
damrobi temporarily deployed to testing-preview August 24, 2026 14:44 — with GitHub Actions Inactive
@damrobi damrobi changed the title feat(stm): added pages for aggregation method in website feat(doc): added pages for aggregation method in website Aug 24, 2026
@damrobi
damrobi deployed to testing-preview August 24, 2026 16:16 — with GitHub Actions Active
@damrobi
damrobi temporarily deployed to testing-2-preview August 24, 2026 16:16 — with GitHub Actions Inactive
@damrobi
damrobi force-pushed the damrobi/msnark/website-doc-agg-method branch from 3bb8d1b to f595d8d Compare August 25, 2026 09:43
@damrobi
damrobi marked this pull request as ready for review August 25, 2026 09:43
@damrobi
damrobi requested a review from hjeljeli32 August 25, 2026 09:43
@damrobi
damrobi deployed to testing-preview August 25, 2026 10:00 — with GitHub Actions Active
@damrobi
damrobi deployed to testing-2-preview August 25, 2026 10:00 — with GitHub Actions Active
@jpraynaud
jpraynaud requested a lite review from Copilot August 25, 2026 13:16

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR expands the Mithril protocol “Advanced” website documentation by introducing a new Aggregation section with dedicated pages explaining the three aggregation methods (concatenation, non-recursive SNARK, recursive SNARK), and updates supporting navigation/glossary content.

Changes:

  • Add new “Aggregation” documentation section with three new pages (Concatenation, Non-recursive SNARK, Recursive SNARK) including Mermaid diagrams.
  • Add glossary entries for IVC and SNARK, and adjust sidebar ordering to accommodate the new section.
  • Update docs/website/package-lock.json to reflect dependency resolution changes.

Reviewed changes

Copilot reviewed 7 out of 8 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
docs/website/root/mithril/advanced/mithril-protocol/security.md Adjusts sidebar position to make room for the new Aggregation section.
docs/website/root/mithril/advanced/mithril-protocol/aggregation/category.json Adds the new “Aggregation” docs category in the sidebar.
docs/website/root/mithril/advanced/mithril-protocol/aggregation/README.mdx Adds the Aggregation section landing page and a proof-size comparison table.
docs/website/root/mithril/advanced/mithril-protocol/aggregation/concatenation.md New page describing concatenation-based aggregation and verification.
docs/website/root/mithril/advanced/mithril-protocol/aggregation/non_recursive_SNARK.md New page describing non-recursive SNARK aggregation, proof meaning, and verification inputs.
docs/website/root/mithril/advanced/mithril-protocol/aggregation/recursive_SNARK.md New page describing recursive SNARK/IVC aggregation, proof meaning, and verification inputs.
docs/website/root/glossary.md Adds glossary entries to support the new aggregation documentation (IVC, SNARK).
docs/website/package-lock.json Updates the website dependency lockfile.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread docs/website/root/mithril/advanced/mithril-protocol/aggregation/README.mdx Outdated

@jpraynaud jpraynaud left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Few comments:

The following pages probably also need some adjustments to better reflect the new aggregation flavors:

Also bullet points and admonitions are welcome (as in the https://mithril.network/doc/mithril/advanced/mithril-protocol/protocol/ page)

Comment thread docs/website/package-lock.json

import DocCardList from "@theme/DocCardList";

This section details the different ways the Mithril protocol can aggregate the signatures.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe you could explain what aggregation is and that this is the process that is used to create a Mithril multi-signature.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tried to explain a bit more the aggregation

Comment on lines +11 to +15
| Method | Proof size for the chain |
| ------------------- | ------------------------------------------------------------------------------------------------------------------- |
| Concatenation | Grows with the number of signatures in the proofs, and the certificate chain still has to be walked back to genesis |
| Non-recursive SNARK | ~3.6KB per proof, one proof per step between target and genesis, independent of `k` |
| Recursive SNARK | ~10KB (to confirm) for one proof, independent of `k` and of chain length |

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you extend this table with columns to better summarize the capabilities of the aggregation flavors?

Suggested change
| Method | Proof size for the chain |
| ------------------- | ------------------------------------------------------------------------------------------------------------------- |
| Concatenation | Grows with the number of signatures in the proofs, and the certificate chain still has to be walked back to genesis |
| Non-recursive SNARK | ~3.6KB per proof, one proof per step between target and genesis, independent of `k` |
| Recursive SNARK | ~10KB (to confirm) for one proof, independent of `k` and of chain length |
| Method | Proof size for the chain |
| ------------------- | ------------------------------------------------------------------------------------------------------------------- |
| Concatenation | Grows with the number of signatures in the proofs, and the certificate chain still has to be walked back to genesis |
| Non-recursive SNARK | ~4 KB per proof, one proof per step between target and genesis, independent of `k` |
| Recursive SNARK | ~13 KB for one proof, independent of `k` and of chain length |

It's also worth adding information for verification time and proving time.

Comment thread docs/website/root/mithril/advanced/mithril-protocol/aggregation/README.mdx Outdated
Comment thread docs/website/root/mithril/advanced/mithril-protocol/aggregation/concatenation.md Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you add an admonition explaining that verifiying a single recursive aggregate signature is equivalent to verifying the full certificate chain (and link to the page of the certificate chain)?

@damrobi
damrobi deployed to testing-2-preview August 25, 2026 17:36 — with GitHub Actions Active
@damrobi
damrobi deployed to testing-preview August 25, 2026 17:36 — with GitHub Actions Active
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.

3 participants