ZKID Layer Technical Breakdown

System Overview

ZKID follows a modular, multi-layer architecture:

  1. Identity Layer

  2. Credential Layer

  3. ZK Verification Layer

  4. Application Layer


1. Identity Layer

Focused on:

  • DID creation

  • key management

  • document resolution

  • Bitcoin anchoring

  • decentralized reference points

Pseudocode for DID creation:

fn generate_did() -> DID {
    let keypair = secp256k1_generate();
    let did = format!("did:zkid:{}", hash(keypair.public));
    DID { did, keypair }
}

2. Credential Layer

Handles:

  • issuance

  • revocation

  • validation

  • metadata referencing

Credentials remain primarily off-chain to ensure scalability.

Smart contract reference example (Solana / Anchor style):


3. ZK Verification Layer

This layer processes:

  • zkSNARK-based proofs

  • membership proofs

  • age proofs

  • custom ZK circuits

Example ZK circuit pseudocode:

In real implementation, this becomes a constraint system (R1CS or Plonk).


4. Application Layer

Applications integrate:

  • credential requests

  • DID verification

  • ZK proofs

  • permissioned access

  • reputation scoring

  • session-based authentication

Example flow:


✅ Identity Anchoring Workflow (Expanded)

Step 1: User creates DID

Locally generated to ensure privacy.

Step 2: Hashing

The DID Document hash is computed.

Step 3: Bitcoin anchoring

Batch updates follow a structure like:

Step 4: Solana reference

Solana contracts reference the anchored state:


✅ Credential Flow (Expanded)

Issuance

Issuer signs VC:

Storage

Credential stored on Arweave:

Verification

Apps query:

Optional: run ZK proof:


✅ Data Synchronization (Expanded)

Validators maintain:

  • DID update logs

  • revocation registries

  • proof validity

  • hash commitments

  • BTC anchoring intervals

  • time-based checkpoints

Reward logic sketch:

Last updated