feat(doc): added pages for aggregation method in website - #3490
Conversation
Test Results 5 files ± 0 209 suites ±0 57m 19s ⏱️ - 1h 24m 14s Results for commit 80b57c6. ± Comparison against base commit 6ca6181. This pull request removes 66 tests.♻️ This comment has been updated with latest results. |
3bb8d1b to
f595d8d
Compare
There was a problem hiding this comment.
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.jsonto 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.
jpraynaud
left a comment
There was a problem hiding this comment.
Few comments:
The following pages probably also need some adjustments to better reflect the new aggregation flavors:
- https://mithril.network/doc/mithril/advanced/mithril-protocol/protocol
- https://mithril.network/doc/mithril/advanced/mithril-protocol/certificates
Also bullet points and admonitions are welcome (as in the https://mithril.network/doc/mithril/advanced/mithril-protocol/protocol/ page)
|
|
||
| import DocCardList from "@theme/DocCardList"; | ||
|
|
||
| This section details the different ways the Mithril protocol can aggregate the signatures. |
There was a problem hiding this comment.
Maybe you could explain what aggregation is and that this is the process that is used to create a Mithril multi-signature.
There was a problem hiding this comment.
I tried to explain a bit more the aggregation
| | 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 | |
There was a problem hiding this comment.
Can you extend this table with columns to better summarize the capabilities of the aggregation flavors?
| | 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.
There was a problem hiding this comment.
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)?
Content
This PR includes a update to the website that includes three new pages describing the different aggregation method.
Pre-submit checklist
Comments
Issue(s)
Relates to #3155, #3144 and #3487