#Case details

#Case details

#Case details

#Case details

Privacy-Preserving Digital Asset Management with IVCNotes

Privacy-Preserving Digital Asset Management with IVCNotes

Privacy-Preserving Digital Asset Management with IVCNotes

Client :
Client :

Ethereum Foundation - Grant

Category :

Smart Contracts

Date:

Jun 19, 2024

Project duration :

10 Weeks

Project link :

Problem

1. Develop a Privacy-Preserving Protocol: Enable private issuance, ownership, and transfer of digital notes without revealing transaction details.

2. Research and Implement MPC: Explore MPC’s role in verifying transactions collectively while maintaining privacy.

3. Deliverables:

  • Research documentation and protocol designs

  • Functional proof-of-concept (PoC) implementations

  • Backend service for managing notes and communications

  • Demonstrations of core functionalities

Implementation Details


1. Protocol Development
  • We created a robust cryptographic framework for the IVCNotes system with the following features:
    Zero-Knowledge Proofs Efficient proof generation and validation using Rust and the Arkworks cryptographic library.

  • Incremental Verifiable Computation (IVC): Implemented for chaining ZK proofs across multiple transfers to maintain efficiency.

  • Note Management: UTXO-style note lifecycle operations with split and transfer capabilities.

  • Double-Spending Prevention: Designed using blinded identifiers (nullifiers) with optional collective betrayal detection.


2. Backend Service

A backend service was developed for:

  • Data Storage: Securely managing user identities, issued notes, and transaction logs using MongoDB.

  • Communication: HTTP-based APIs enabling interaction between the client, prover, and verifier components.

  • Message Dealer Service: Routing encrypted messages between participants to facilitate note issuance and transfer.


3. Multi-Party Computation Research

MPC was proposed to enhance system resilience through collective verification. We examined the potential integration of MPC for:

  • Distributed Verification: Securely validating notes without revealing inputs.

  • Betrayal Detection: Detecting double-spending events without exposing sensitive data.

  • Threshold Cryptography: Implementing t-of-n schemes for increased fault tolerance.

Technical Architecture

The system architecture combines multiple cryptographic components:

  • Language: Rust

  • Libraries: arkeddsa for ZKP circuits, Poseidon hash functions

  • Serialization: Serde

  • Database: MongoDB for persistent storage


Results


Functional Proof-of-Concept

We delivered a fully functional PoC showcasing the system’s core capabilities:

  • Private note issuance and transfer

  • Efficient ZK proof generation and verification

  • User-friendly CLI commands for managing notes


Documentation and Demos

Comprehensive documentation was created, detailing the system’s architecture, cryptographic protocols, and operational workflows. Interactive demonstrations were conducted to highlight:

  • Privacy-preserving transactions

  • Resilience against double-spending

  • Potential integration of MPC for enhanced security


Key Outcomes
  • The project demonstrated the feasibility of combining ZKPs and IVC for privacy-preserving digital asset systems.

  • Research insights into MPC highlighted its potential for collective verification but also identified challenges such as computational overhead and network complexity.