> For the complete documentation index, see [llms.txt](https://docs.zkid.digital/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.zkid.digital/zkid-foundation/the-pillars-of-zkid-identity.md).

# The Pillars of ZKID Identity

The ZK Identity Layer rests on three major building blocks:

1. **DIDs (Decentralized Identifiers)**
2. **VCs (Verifiable Credentials)**
3. **ZK Verifications + Storage + Validators**

Let’s break them down with clarity and detail.

***

### 1. Decentralized Identifiers (DIDs)

A DID looks like:

```
did:zkid:01xp23kfjabc...
```

The DID Document includes:

* verification keys
* authentication methods
* metadata
* service endpoints

#### DID Document Example

```json
{
  "@context": "https://zkid.digital/identity/v1",
  "id": "did:zkid:01xp23kfjabc",
  "authentication": [{
      "id": "did:zkid:01xp23kfjabc#key1",
      "type": "EcdsaSecp256k1VerificationKey2022",
      "controller": "did:zkid:01xp23kfjabc",
      "publicKeyHex": "a23b9f...91c4"
  }],
  "service": [{
      "id": "HubService",
      "type": "ZKIDMetadata",
      "serviceEndpoint": "https://resolver.zkid.digital/..."
  }]
}
```

#### DID Lifecycle

1. **Creation**\
   The DID is generated locally.
2. **Anchoring**\
   A hash of the DID Document is anchored to Bitcoin.
3. **Resolution**\
   Apps fetch and verify DID contents via decentralized endpoints.
4. **Updates**\
   Keys can be rotated, revoked, or replaced.

This provides a secure and owner-controlled identity primitive.

***

### 2. Verifiable Credentials (VCs)

A VC is a signed data object connecting a claim to a DID.

Example credential:

```json
{
  "@context": [
    "https://zkid.digital/credentials/v1"
  ],
  "id": "vc-452",
  "type": ["VerifiableCredential"],
  "issuer": "did:zkid:issuer123",
  "credentialSubject": {
    "id": "did:zkid:user987",
    "role": "DAO-Supporter"
  },
  "issuanceDate": "2025-01-12T08:00:00Z",
  "proof": {
    "type": "EcdsaSecp256k1Signature",
    "created": "2025-01-12T08:01:00Z",
    "verificationMethod": "did:zkid:issuer123#key1",
    "proofPurpose": "assertionMethod",
    "jws": "eyJhbGciOi..."
  }
}
```

#### VCs support:

* cryptographic signing
* public verifiability
* selective disclosure
* off-chain storage
* zk-proof enhancements

#### Selective disclosure example

User proves *membership* without revealing *identity*:

```
VerifyMembership(VC, ZKProof) -> true
```

Zero-knowledge transforms the VC system from:

* “trust me”\
  into
* “verify me privately”.

***

### 3. ZK Identity Layer Components

The ZK Identity Layer includes:

#### ✅ Zero-Knowledge Proofs

Used for:

* age verification
* membership validation
* proof-of-humanity
* KYC-proven claims
* off-chain data validation
* compliance without exposure

#### ✅ Decentralized Storage (Arweave)

Used for:

* credential metadata
* DID documents
* encrypted files
* identity logs
* verification references

Long-term, immutable, and cross-referenced by Solana smart contracts.

#### ✅ Validator Network

Validators ensure:

* DID synchronization
* credential reference integrity
* proof verification
* data consistency
* timely anchoring to Bitcoin

Validators stake $ZKID and follow slashing rules.

The ZK Identity Layer is built on a set of interoperable components designed to make identity portable, verifiable, and private.
