# 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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.zkid.digital/zkid-foundation/the-pillars-of-zkid-identity.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
