ZKID Layer Technical Breakdown
System Overview
ZKID follows a modular, multi-layer architecture:
Identity Layer
Credential Layer
ZK Verification Layer
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