Back to projects

Cipher Vault FHE Analytical Engine

Privacy-preserving analytics for Zcash using FHE

$3,500
Total awarded
Cipher Vault FHE Analytical Engine
Nahanna
Builder
Solidity HTML CSS JavaScript Swift Docker Python Kotlin

Awards

The problem it solves

Privacy-preserving analytics for Zcash - Zcash transactions are private by design (using zk-SNARKs), but this means there’s no way to get aggregate network statistics (total volume, average transaction size, pool usage) without compromising individual privacy.

This project uses Fully Homomorphic Encryption (FHE with CKKS scheme) to encrypt transaction data client-side, compute aggregates on encrypted data, and only decrypt the final sums via threshold decryption (3-of-5 nodes). Result: network-wide analytics without revealing any individual transaction amounts.

Challenges we ran into

  1. CKKS Implementation Complexity - Building FHE from scratch (polynomial arithmetic, NTT transforms, proper parameter selection for ~110-bit security) is notoriously difficult. The README notes this is “for demonstration purposes” and recommends established libraries (SEAL, OpenFHE) for production.
  2. Threshold Decryption Coordination - Implementing Pedersen DKG + Shamir secret sharing across 5 nodes with proper Lagrange interpolation is complex.
  3. Cross-Platform SDK Development - Building native CKKS implementations for both Kotlin (Android) and Swift (iOS) to work with the Zashi wallet.
  4. Metadata Leakage - As noted in privacy_analysis.md: timestamps, destination assets, and platform names are transmitted in plaintext, which is a trade-off for functionality.
  5. Approximate Arithmetic - CKKS uses approximate numbers (rounding errors ~10^-6), requiring careful handling for financial data.