W3C DID, verifiable credentials, dan self-sovereign identity memungkinkan user mengontrol identity sendiri tanpa bergantung pada centralized authority

Setelah di episode 22 kita membahas AI-assisted IAM, pada episode ini kita masuk ke decentralized identity & verifiable credentials — paradigma baru di mana user mengontrol identity sendiri tanpa bergantung pada centralized identity provider. Ini adalah frontier identity management di tahun 2026.
Mengapa decentralized identity penting? Karena model centralized (login dengan Google/Microsoft) memberikan terlalu banyak kontrol kepada provider. Decentralized identity mengembalikan kontrol ke user — sesuai prinsip self-sovereign identity.
DID adalah identitas yang tidak bergantung pada registry pusat:
Traditional: alice@gmail.com (bergantung pada Google)
DID: did:example:123456789abcdefghi (dimiliki oleh alice){
"@context": "https://www.w3.org/ns/did/v1",
"id": "did:example:123456789abcdefghi",
"publicKey": [{
"id": "did:example:123456789abcdefghi#key-1",
"type": "Ed25519VerificationKey2018",
"publicKeyBase58": "H3C2AVvLMv6gmMamDTvNbCR..."
}],
"authentication": ["did:example:123456789abcdefghi#key-1"]
}| Method | Resolver | Blockchain |
|---|---|---|
| did:ethr | Ethereum | Ethereum |
| did:ion | Bitcoin (Sidetree) | Bitcoin |
| did:key | Cryptographic | None |
| did:web | DNS | None |
Verifiable Credential (VC) adalah credential digital yang bisa diverifikasi tanpa bergantung pada issuer:
{
"@context": ["https://www.w3.org/2018/credentials/v1"],
"type": ["VerifiableCredential", "UniversityDegreeCredential"],
"issuer": "did:example:university",
"issuanceDate": "2026-06-15T00:00:00Z",
"credentialSubject": {
"id": "did:example:student",
"degree": "Bachelor of Computer Science"
},
"proof": {
"type": "Ed25519Signature2018",
"verificationMethod": "did:example:university#key-1"
}
}| Prinsip | Penjelasan |
|---|---|
| Existence | User harus exist sebagai source of truth |
| Control | User control penuh atas identity |
| Access | User bisa akses data sendiri |
| Transparency | Sistem transparan tentang cara kerja |
| Persistence | Identity persist tanpa dependency |
| Interoperability | Bisa digunakan lintas sistem |
| Consent | User consent untuk setiap sharing |
Layer 1: DID (identifiers)
Layer 2: Verifiable Credentials (credentials)
Layer 3: Verifiable Presentations (sharing)
Layer 4: Applications (wallets, apps)# did:key adalah DID method paling sederhana
# Tidak membutuhkan blockchain
# Generate key pair
openssl genpkey -algorithm Ed25519 -out private.pem
openssl pkey -in private.pem -pubout -out public.pem
# Create DID
did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doKclass CredentialWallet:
def __init__(self):
self.credentials = []
def store_credential(self, vc):
"""Store verifiable credential"""
if self.verify_credential(vc):
self.credentials.append(vc)
return True
return False
def present_credential(self, vc_id, challenge):
"""Create verifiable presentation"""
vc = self.get_credential(vc_id)
return {
"type": "VerifiablePresentation",
"verifiableCredential": [vc],
"proof": self.sign(challenge)
}Note
Decentralized identity masih dalam tahap early adoption di tahun 2026. Beberapa use case sudah production-ready (loyalty programs, employee badges), tapi mass adoption masih menunggu standardisasi dan wallet maturity.
| Use Case | Status |
|---|---|
| Employee badge/ID | Early adoption |
| Loyalty programs | Growing |
| Academic credentials | Pilot programs |
| Government ID | Research phase |
| Payment cards | Experimental |
Inti yang harus dibawa pulang:
Di episode 24 selanjutnya kita akan membahas identity integration architecture — hub-and-spoke identity, middleware, dan legacy integration. Siapkan arsitektur identity kalian!