Skip to content

Latest commit

Β 

History

19 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

zkIPFS-Proof

Zero-knowledge proofs for file verification without revealing content

Ever needed to prove that a specific piece of information exists in a massive dataset without actually showing the data? That's exactly what zkIPFS-Proof does. Whether you're a journalist protecting sources, a researcher validating findings, or an auditor checking compliance, this tool lets you create cryptographic proofs that can be verified by anyone.

What's the Big Idea?

Imagine you have a 50GB CSV file containing sensitive financial data, and you need to prove that a specific transaction exists without revealing any other information. Traditional approaches would require you to either share the entire file (privacy nightmare) or trust a third party (defeats the purpose).

zkIPFS-Proof solves this using zero-knowledge proofs powered by Risc0's ZK-VM. You can prove that specific content exists within any file while keeping everything else private. The proof is just a small JSON file that anyone can verify in seconds.

Quick Start

Installation

# Install the CLI tool
cargo install zkipfs-proof

# Or download pre-built binaries from releases
curl -L https://github.com/sowadalmughni/zkipfs-proof/releases/latest/download/zkipfs-proof-linux.tar.gz | tar xz

Generate Your First Proof

# Create a proof that "Hello, World!" exists in your file
zkipfs-proof generate --file document.txt --content "Hello, World!" --output proof.json

# The proof is now in proof.json - share it with anyone!

Verify a Proof

# Anyone can verify your proof without seeing the original file
zkipfs-proof verify --proof proof.json

# Output: βœ… Proof verified successfully

That's it! You've just created and verified a zero-knowledge proof.

Real-World Use Cases

Journalism & Whistleblowing

  • Prove specific information exists in leaked documents without exposing sources
  • Verify authenticity of claims without revealing sensitive details
  • Create verifiable evidence for investigative reporting

Financial Auditing

  • Prove compliance with regulations without sharing confidential data
  • Verify specific transactions exist without exposing account details
  • Demonstrate due diligence while maintaining client privacy

Research & Academia

  • Prove findings exist in datasets without sharing proprietary information
  • Verify experimental results without revealing methodology details
  • Create reproducible evidence for peer review

Legal & Compliance

  • Prove document authenticity in legal proceedings
  • Verify compliance without exposing trade secrets
  • Create tamper-evident evidence chains

How It Works

zkIPFS-Proof combines three powerful technologies:

  1. Risc0 ZK-VM: Generates zero-knowledge proofs that are mathematically impossible to fake
  2. IPFS: Provides decentralized, content-addressed storage for files
  3. Smart Contracts: Enable on-chain verification for maximum transparency

The process is surprisingly simple:

  1. Upload: Your file gets uploaded to IPFS and receives a unique content identifier (CID)
  2. Prove: The ZK circuit analyzes your file and generates a cryptographic proof
  3. Verify: Anyone can verify the proof using our CLI, web app, or smart contracts

The beauty is that the proof reveals nothing about your file except what you explicitly choose to prove.

Features

πŸ” Privacy-First Design

  • Zero-knowledge proofs reveal only what you want to prove
  • Original files never leave your control
  • No trusted third parties required

⚑ Lightning Fast Verification

  • Proofs verify in under 1 second
  • Works with files up to 50GB
  • Optimized for both small snippets and large datasets

🌐 Decentralized Storage

  • Built-in IPFS integration
  • Content-addressed storage ensures integrity
  • Global accessibility without central servers

πŸ›  Developer Friendly

  • Simple CLI interface
  • Comprehensive API
  • GitHub Actions for CI/CD integration
  • Web interface for non-technical users

πŸ”— Blockchain Integration

  • On-chain verification via Solidity contracts
  • Support for Ethereum, Polygon, Arbitrum, and more
  • Gas-optimized batch verification

πŸ” Advanced Content Selection

  • Regex Support: Prove patterns (e.g., email, dates) exist without revealing values
  • Zero-Leakage: Verify format compliance while maintaining total privacy

πŸ“Š Enterprise Observability

  • Prometheus Metrics: Built-in monitoring for proof generation and verification
  • Distributed Tracing: Full visibility into request lifecycles

🏒 Enterprise Edition

  • Admin Dashboard: Manage API keys, view analytics, and monitor system health
  • Role-Based Access: Secure API endpoints with API Key authentication
  • Rate Limiting: Protect your resources with token-bucket rate limiting strategies
  • Persistent Storage: PostgreSQL integration for reliable data persistence

Deployment

Standard

docker-compose up -d

Enterprise

Run the full enterprise stack with database and monitoring:

docker-compose -f docker-compose.enterprise.yml up -d

Project Structure

zkipfs-proof/
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ core/             # Core Rust library with ZK circuits
β”‚   β”œβ”€β”€ cli/              # Command-line interface
β”‚   └── contracts/        # Solidity smart contracts
β”œβ”€β”€ frontend/
β”‚   └── web/              # React web application
β”œβ”€β”€ docs/                 # Documentation and tutorials
└── examples/             # Real-world usage examples

Contributing

This is a open source product. I want others to join and contribute.

Getting Started

  1. Fork the repository
  2. Create a feature branch (git checkout -b amazing-feature)
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

Development Setup

# Clone the repository
git clone https://github.com/sowadalmughni/zkipfs-proof.git
cd zkipfs-proof

# Install Rust dependencies
cd backend && cargo build

# Install Node.js dependencies for the web app
cd ../frontend/web && npm install

# Run tests
cd ../../backend && cargo test

Areas Where We Need Help

  • Additional blockchain integrations (Solana, Cosmos, Near, etc.)
  • Mobile app enhancements for iOS and Android
  • Internationalization (i18n) and localization
  • Plugin ecosystem development
  • Community tutorials and video content
  • Accessibility improvements for the web interface

Roadmap

Phase 1: Core Infrastructure βœ…

  • Risc0 ZK circuit implementation
  • CLI tool with full functionality
  • IPFS integration
  • Basic web interface

Phase 2: Ecosystem Integration βœ…

  • Solidity smart contracts
  • GitHub Actions
  • Multi-chain support
  • Comprehensive documentation

Phase 3: Advanced Features (Q4 2025) βœ…

  • Advanced content selection (Regex)
  • Advanced content selection (XPath)
  • Batch proof generation
  • Performance optimizations

Phase 4: Enterprise Features (Q4 2025) βœ…

  • Enterprise dashboard
  • API rate limiting and authentication
  • Advanced analytics and monitoring
  • Custom deployment options
  • Professional support

Phase 5: Ecosystem Expansion (Q1-Q2 2026)

  • Mobile applications for iOS and Android
  • Browser extensions (Chrome, Firefox, Safari)
  • Solana and Cosmos blockchain support
  • Plugin architecture for custom proof types
  • SDK for third-party integrations
  • Proof aggregation and rollups

Phase 6: Community & Scale (Q3-Q4 2026)

  • Decentralized proof verification network
  • Community marketplace for proof templates
  • Multi-language support (i18n)
  • Hardware wallet integration
  • Enterprise SSO and LDAP integration

Security

Security is paramount when dealing with cryptographic proofs. Here's how we ensure zkIPFS-Proof is secure:

  • Formal verification of ZK circuits using Risc0's proven framework
  • Regular security audits by independent third parties
  • Open source codebase for maximum transparency
  • Bug bounty program for responsible disclosure
  • Comprehensive testing including fuzzing and property-based tests

Found a security issue? Please email sowad@kitalonlabs.com instead of opening a public issue.

License

MIT License - see LICENSE for details.

Acknowledgments

This project wouldn't exist without the incredible work of:

  • The Risc0 team for building the ZK-VM that powers our proofs
  • The IPFS community for creating the decentralized storage layer
  • The Ethereum ecosystem for smart contract infrastructure
  • All the contributors who've helped make this project better

Support


Maintained by Kitalon Labs β€” Md. Sowad Al-Mughni (sowad@kitalonlabs.com)

Made with ❀️ by Md. Sowad Al-Mughni

About

Zero-knowledge proof system for IPFS content verification. Generate and verify cryptographic proofs that specific content exists within IPFS-stored files without revealing the content itself.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages