Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Private Bond

Status: In Progress Privacy Primitive: Confidential bond transfers with regulatory compliance

Overview

This PoC demonstrates a privacy-preserving zero-coupon bond protocol. Bondholders can trade and redeem bonds without revealing transaction amounts, while maintaining full auditability for regulators.

Three implementation approaches are provided:

Approach Description Location
Custom UTXO Privacy built from scratch on EVM custom-utxo/
Privacy L2 Native privacy on Aztec network privacy-l2/
FHE Fully Homomorphic Encryption fhe/

Requirements

See REQUIREMENTS.md for the shared requirements all approaches implement.

Specifications

Comparison

Aspect Custom UTXO Privacy L2 FHE (Zama)
Deployment Ethereum mainnet Aztec L2 Zama-enabled chain
State model UTXO (notes, nullifiers) UTXO (notes, nullifiers) Account-based (ERC20-like)
Privacy mechanism ZK proofs ZK proofs Homomorphic encryption
Code complexity ~1000+ lines across 3 components ~200 lines single contract ~300 lines single contract
Trusted relayer Required (issuer) Not required Not required
Trust assumptions Cryptographic only Cryptographic only Threshold network (2/3 honest)
Composability Isolated system Native cross-contract Native cross-contract
Client requirements Light (relayer handles proofs) Heavy (PXE for local proving) Light (standard wallet)
Regulatory access Per-note viewing keys App-siloed viewing keys ACL-based decryption grants
Throughput High (relayer batching) Bound by sequencer Bound by coprocessor capacity

Quick Start

Custom UTXO Approach

cd custom-utxo

# Build circuits
cd circuits && nargo build && cd ..

# Build and test contracts
cd contracts && forge build && forge test && cd ..

# Build wallet
cd wallet && cargo build --release && cd ..

Privacy L2 Approach

cd privacy-l2

# Start Aztec sandbox
aztec start --sandbox

# Run demo (in another terminal)
./test.sh

FHE Approach

cd fhe

# Install dependencies
npm install

# Compile contracts
npx hardhat compile

# Run tests (requires fhEVM devnet)
npx hardhat test

Known Limitations

See each approach's README for specific limitations:

References