01

Context

Problem

The platform let users grant and revoke permission for data use. Data providers and consumers could verify the current consent state without exposing the underlying record on a public ledger.

Constraints

  • Threshold cryptography was a new domain that required source and paper-level study.
  • Ordinary application work competed with cryptographic and privacy-specific work.
  • Managed storage and application abstractions did not cover every privacy boundary.
02

System

Architecture

  1. 01

    Client and application

  2. 02

    Rust cryptographic operations

  3. 03

    Threshold nodes

  4. 04

    Proof and verification layer

  5. 05

    Private and object storage

  6. 06

    Hedera anchoring

My role

Built the Rust cryptographic core, gateway verification flows, threshold-node infrastructure, recovery behavior, and cross-platform exports.

Decisions

  • Used Convex for ordinary application iteration so more work could stay focused on cryptographic and privacy boundaries.
  • Added S3-compatible storage, private decentralized storage, Rust components, and verification services where the managed abstraction was insufficient.
  • Split signing and decryption authority across threshold nodes so one gateway could not decrypt records or fake batch roots by itself.
03

Validation

Tests and checks

  • Verified hashed consent records through Merkle batching and multi-node proof checks.
  • Added restart-safe proof recovery, provider isolation, key rotation, health checks, and metrics.
  • Handled DKG convergence and encrypted key-share storage in the node layer.
04

Outcome

Result

The system encrypted consent data, batched commitments into Merkle roots, and anchored roots without placing plaintext consent on Hedera. In a local batch benchmark, it read 3,632,335 device IDs, hashed them with SHA3-256, built 364 Merkle batches with a proof path for each record, and stored the batch payloads in local IPFS in 63.2 seconds.

Limits

The 63.2-second timer did not include IBE encryption, BLS signing or verification, threshold-node processing, Hedera submission or consensus, or external network time.