Proof of Innocence (Planned)
Overview
Property
Description
How It Works
┌─────────────────────────────────────────────────────────────────┐
│ Proof of Innocence Flow │
├─────────────────────────────────────────────────────────────────┤
│ │
│ 1. Prove that `totalTeleported` per recipient (hash of │
│ `GeneralRecipient`) is not originated from OFAC-sanctioned │
│ sources. │
│ ↓ │
│ 2. Commit the OFAC list using a commitment scheme that │
│ supports non-membership proofs (e.g., Exclusion Tree). │
│ ↓ │
│ 3. For each `from_address`, generate non-membership proof. │
│ ↓ │
│ 4. For each teleport, prove that `transfer_leaf.from` is not │
│ in the OFAC list, then aggregate the steps with Nova. │
│ ↓ │
│ 5. The Verifier checks the Nova proof with public inputs: │
│ `recipient`, `totalTeleported`, and the trusted OFAC SMT │
│ root. │
│ │
└─────────────────────────────────────────────────────────────────┘Cryptographic Design
Exclusion Tree
Non-Membership Proof (Nova Step)
CLI Usage (Planned)
Generate Proof of Innocence
Argument
Description
Verify Proof of Innocence
Argument
Description
Example
Input File Formats
Last updated