Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 

Repository files navigation

Solution Proposal: zk-SNARK Conversion Tool UltraPlonk → ZKVerify

1. Executive Summary

Currently, developers using the Noir/Nargo stack with the UltraPlonk backend face a critical limitation: the lack of tools to convert zk-SNARK proofs generated via CLI (bb) into a format compatible with ZKVerify. This prevents direct frontend integrations with modern verifiers.

I have developed a functional Proof of Concept (PoC/MVP) that performs this conversion natively in JavaScript and in the browser, allowing proofs to be submitted directly to ZKVerify without manual CLI steps. I am now seeking funding to turn this PoC into a complete, community-maintained tool.


2. Current Problem

Developers working with UltraPlonk face the following barriers:

  • Proofs generated by bb prove are binary (.bin) and incompatible with ZKVerify.
  • Conversion to hex format is only possible via CLI, preventing frontend/browser usage.
  • There is no official solution for runtime conversion via JavaScript.
problem

3. Proposed Solution

Creation of an open-source JavaScript/TypeScript library that:

  • Converts proofs and Uint8Array keys generated by @aztec/bb.js to hex in Node.js or browser environments.
  • Generates the proof format accepted by ZKVerify from the UltraPlonk structure.
  • Provides a user-friendly API for Web3 developers, DApps, and ZK tools.

This library is already functional as a PoC, with successful proof submissions to ZKVerify.

solution solution2


4. Proof of Feasibility

The developed PoC already demonstrates that:

  • Conversion can be done entirely in Node.js without CLI.
  • The converted format is accepted by ZKVerify's API.
  • It can run in Node.js backend.

Zk Verify Proof Submitted


5. Roadmap

Duration: 6 weeks

Deliverables:

  • 📦 Public NPM library (or update within zkverify.js)
  • 📘 Documentation with 2 usage examples for direct submission to ZKVerify: frontend-only and frontend + backend.
  • 🔬 Automated tests.
  • 🌐 Video demo for both examples.
  • 🧪 Benchmark scripts for conversion time and weight.

Timeline:

Week Activity
1 PoC refactoring, public interface definition
2 Implementation of proof and key conversion
3 Frontend support (browser-friendly)
4 Automated tests and documentation
5 Integration with ZKVerify + real-world example
6 Optimizations and official NPM + GitHub publication

6. Expected Impact

  • Enables new frontend integrations with UltraPlonk.
  • Encourages the use of the Noir/Nargo stack in real-world products.
  • Strengthens the ZK ecosystem and interoperability with ZKVerify.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors