A zero-knowledge financial verification system that combines RISC Zero's zkVM with Cartesi Rollups for secure, private financial requirement verification. The system allows users to prove they meet specific financial criteria without revealing sensitive financial data.
-
Proof Generation (RISC Zero)
- Uses RISC Zero's zkVM to generate zero-knowledge proofs of financial requirements
- Processes raw financial data locally, keeping sensitive information private
- Outputs a verifiable proof and a commitment to the data
-
Verification Layer (Cartesi)
- Implements proof verification using Cartesi Rollups
- Provides scalable, on-chain verification of RISC Zero proofs
- Maintains an immutable record of verified proofs
host/
: Proof generation servicemethods/
: RISC Zero guest code for ZK proof computationfinancial-verify-rollup/
: Cartesi Rollup for on-chain verificationcore/
: Shared types and utilities
- Install Rust and required components:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
-
Install Docker for Cartesi environment
-
Install Cartesi CLI:
# Using Homebrew
brew install cartesi/tap/cartesi
# Or using NPM
npm install -g @cartesi/cli
- Install Risc Zero zKVM
curl -L https://risczero.com/install | bash
rzup install
- Generate Financial Proof
# Clone and build the project
git clone https://github.com/masiedu4/zeroproof-finance
cd zeroproof-finance
# Generate a proof
cargo run
- Start Cartesi Verification Node
cd financial-verify-rollup
cartesi build && cartesi run
- Submit Proof for Verification
# In project root
./send_proof.sh
- Located in
host/
andmethods/
- Processes financial data locally
- Generates ZK proofs using RISC Zero's zkVM
- Outputs:
- Zero-knowledge proof of financial requirements
- Commitment to financial data
- Verification timestamp
- Located in
financial-verify-rollup/
- Implements on-chain verification of RISC Zero proofs
- Maintains proof registry
- Handles state transitions and rollup execution
- Located in
core/
- Proof output format
-
Zero-Knowledge Proofs
- Financial data never leaves the user's machine
- Only proof of requirements is shared
- Proofs are non-interactive,self-contained and verifiable
-
On-Chain Verification
- Proof verification is done within Cartesi's secure environment
- Results are committed to blockchain
- Immutable audit trail of verifications
-
Data Privacy
- Raw financial data remains private
- Only binary verification results are public
- Temporal validity through embedded timestamps