Skip to content

implement JWT circuit & ZK Spartan2 Intergration.#24

Merged
0xVikasRushi merged 11 commits intomainfrom
feat/v1-refactor
Oct 9, 2025
Merged

implement JWT circuit & ZK Spartan2 Intergration.#24
0xVikasRushi merged 11 commits intomainfrom
feat/v1-refactor

Conversation

@0xVikasRushi
Copy link
Collaborator

@0xVikasRushi 0xVikasRushi commented Oct 8, 2025

Description

This PR implements major optimizations to the JWT circuit, reducing constraints and simplifying the circuit architecture. The changes include removing redundant parameters, implementing bulk extraction for EC public keys, and enabling Circom compiler optimizations.

Metric Before Optimization After Optimization Reduction %
Constraints 2,457,687 1,701,803 ≈30.76%

Closes #22 (partial - addresses JWT circuit optimization and Circom compilation optimization)

What's Changed

Optimizations

  • Set Circom optimization flag to -O2 for improved circuit compilation and reduced constraint count
  • Removed unnecessary header extraction logic and eliminated maxB64HeaderLength parameter
  • Simplified circuit to only extract from JWT payload
  • Added ECPublicKeyExtractor_Optimized template using VarShiftLeft for bulk extraction instead of per-character selection
  • Made EC coordinate patterns ("x":", "y":") explicit match patterns
  • Added messages output for decoded claims for commitment sharing
  • Added Circom version and removed unnecessary output files
  • Include zk Spartan2 Integration

@0xVikasRushi 0xVikasRushi changed the title implement JWT circuit optimizations to reduce constraints implement JWT circuit & ZK Spartan2 Intergration. Oct 9, 2025
@0xVikasRushi 0xVikasRushi merged commit 475a5fa into main Oct 9, 2025
2 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.

Implement chunked key reading, remove vk loading, and reduce unnecessary constraints in circuits

1 participant