Skip to content

docs: add private balance proofs with EAS, Noir, and Mopro - #731

Merged
vivianjeng merged 2 commits into
zkmopro:mainfrom
hsy822:docs/eas-noir-private-balance
Oct 19, 2026
Merged

vivianjeng merged 2 commits into
zkmopro:mainfrom
hsy822:docs/eas-noir-private-balance

Conversation

@hsy822

@hsy822 hsy822 commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Adds a blog post demonstrating private balance proofs using GIWA Dojang’s balance format, EAS, Noir, and Mopro, with Solidity verification. Includes implementation details, host benchmarks, limitations, and reproduction steps.

Summary by CodeRabbit

  • Documentation
    • Added a blog post detailing a private balance-proof example, including how private and public proof inputs, wallet authorization, request binding, and policy checks work together. It also covers compatibility and failure-case testing, native proving and verifier deployment, benchmark results, reproduction steps, and limitations related to mobile execution and real issuer data.

@coderabbitai

coderabbitai Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 0cbcfd8a-3b34-45fc-b6ea-b5e5e4df3b41
📥 Commits

Reviewing files that changed from the base of the PR and between c2a6c16 and b107a0d.

📒 Files selected for processing: 1
  • docs/blog/2026-10-16-private-balance-proofs-eas-noir-mopro.md
🚧 Files skipped from review as they are similar to previous changes: 1
  • docs/blog/2026-10-16-private-balance-proofs-eas-noir-mopro.md

Included review availability: This review used your included allowance. Your plan provides up to 2 included reviews per hour; 1 remain after this review.

📝 Walkthrough

Adds a blog post about a private balance-proof example using GIWA Dojang, EAS, Noir, Mopro, and Solidity. It describes the proof flow, policy checks, integration, tests, performance measurements, limitations, and setup.

Changes: Private balance-proof example

Layer / File(s) Summary
Describe the private balance-proof example
docs/blog/2026-10-16-private-balance-proofs-eas-noir-mopro.md
Documents private and public proof inputs, wallet authorization, EAS policy checks, proof verification, tests, performance measurements, limitations, and reproduction steps.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~4 minutes

Change: Other

Suggested reviewers: vivianjeng

Merge Risk: ⚪ Minimal · up to b107a

No issue identified that needs to be resolved before merging.

Pre-merge checks: Passed 5
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly and concisely describes the added documentation about private balance proofs using EAS, Noir, and Mopro.
Docstring Coverage Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)

✨ Finishing Touches: 💡 1
🧪 Generate unit tests (beta)
  • Create a new PR
🛠️ Fix failing CI checks: 💡
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

- **Verifier deployment.** The generated Solidity verifier requires library linking. The scripts generate the verifier from the current verification key and deploy its linked library.
- **Native bindings.** We generated Swift bindings and verified the complete proof through Swift on macOS.

The iOS simulator build encountered a transitive `backtrace`/`libc` dependency issue. This balance circuit has not been executed on a simulator or physical phone. The repository records that failure alongside the successful native and Swift host paths.

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.

thank you for reporting this!
We will check them
cc @moven0831

Comment on lines +93 to +97
| Merkle depth | Median adapter call | Median peak process memory |
|---|---:|---:|
| 8 | 4.62 s | 2.17 GiB |
| 12 | 6.19 s | 2.26 GiB |
| 16 | 7.90 s | 2.35 GiB |

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.

You can also note that how big is the circuit (e.g. how many constraints)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Thanks! Added the pre-padding Barretenberg circuit sizes to the table and noted that all three circuits have a padded size of 524,288 (2¹⁹).

@vivianjeng
vivianjeng merged commit 4ffd3c8 into zkmopro:main Oct 19, 2026
36 of 40 checks passed
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.

2 participants