Skip to content

execution proof#217

Open
XuyangSong wants to merge 21 commits into
developfrom
xuyang/execution_proof
Open

execution proof#217
XuyangSong wants to merge 21 commits into
developfrom
xuyang/execution_proof

Conversation

@XuyangSong

@XuyangSong XuyangSong commented Apr 1, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Add an execution proof circuit (arm_circuits/execution_proof) that verifies a batch of transactions against shared commitment and nullifier state inside a RISC0 zkVM guest
  • Add an incremental Merkle tree for commitment insertions
  • Add an indexed Merkle tree with non-membership proofs and atomic insertion witnesses for nullifier tracking
  • Expose ExecutionProofWitness and ExecutionProofInstance types in the anoma-rm-risc0 crate, including batch_aggregation_vk and compliance_vk fields so verifying keys are bound to the journal
  • Add app_data to ExecutionProofInstance via ResourceAppData (per-resource tag, logic vk, and payload)

The circuit enforces per-batch:

  1. Nullifier uniqueness across all compliance units
  2. Delta proof validity per transaction
  3. Aggregated compliance + logic proof verification with logic-ref consistency checks
  4. Nullifier non-membership + insertion into the indexed nullifier tree
  5. Commitment insertion into the incremental commitment tree

Test plan

  • Structural tests (no prove feature) covering tree state transitions with empty and non-empty batches
  • prove-gated integration tests exercising the full circuit end-to-end

@XuyangSong XuyangSong force-pushed the xuyang/execution_proof branch from e9f3900 to ea8533e Compare April 7, 2026 12:57
@XuyangSong XuyangSong self-assigned this Apr 7, 2026
@XuyangSong XuyangSong requested a review from m1dnight May 8, 2026 07:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Triage

Development

Successfully merging this pull request may close these issues.

1 participant