Skip to main content

Decentralized Identity

Your identity shouldn't depend on any company. Decentralized identity lets you prove who you are without a middleman.

The Problem with Centralized Identity

Today, your online identity is fragmented and dependent:

Problems:

  • Different identity on each service
  • Platforms can terminate accounts
  • No way to prove these are the same person
  • Reputation and history locked in silos
ProblemImpact
Platform accountsYou're @alice on Twitter, alice@gmail.com on Google
OAuth dependency"Sign in with Google" means Google controls your access
Account terminationPlatforms can delete your account
No portabilityCan't take followers, reputation, or history
SurveillancePlatforms track everything

Decentralized Identifiers (DIDs)

A DID is an identifier that:

PropertyDescription
You controlNo registration authority needed
Globally uniqueWorks across all systems
Cryptographically verifiableProve you own it with a signature
PortableTake it anywhere
PersistentDoesn't expire or get revoked

DID Syntax

Examples:

  • did:nostr:npub1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkxl8lt
  • did:web:alice.example.com
  • did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK

How DIDs Work

DID Document contains:

{
"@context": "https://www.w3.org/ns/did/v1",
"id": "did:nostr:npub1abc123...",
"verificationMethod": [{
"type": "SchnorrSecp256k1",
"publicKeyHex": "abc123..."
}],
"authentication": ["#key-0"],
"service": [{
"type": "SolidStorage",
"serviceEndpoint": "https://pod.example/"
}]
}

The DID Document contains:

FieldPurpose
verificationMethodPublic keys for authentication
authenticationWhich keys can authenticate
serviceEndpoints (pod, social profiles, etc.)
assertionMethodKeys for signing credentials
keyAgreementKeys for encryption

DID Methods in SAND

Comparison

MethodResolutionInfrastructureUse Case
did:nostrDerive from keyNonePersonal identity
did:webHTTPS fetchDomainOrganizations
did:keyDerive from keyNoneEphemeral

did:nostr

Uses Nostr keypairs as identifiers. Simple, no infrastructure needed:

did:nostr:npub1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkxl8lt
AspectDetail
ResolutionDecode npub to get public key
Signingsecp256k1 Schnorr signatures
InfrastructureNone required
PortabilityPerfect—key is the identity

Your Nostr keypair is your identity. See did:nostr for details.

did:web

Uses your domain as your identifier:

did:web:alice.example.com

Resolution:

GET https://alice.example.com/.well-known/did.json
AspectDetail
ResolutionHTTPS fetch
TrustDomain ownership
InfrastructureWeb server
Use caseOrganizations, established entities

did:key

A DID that's just a public key — no resolution needed:

did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK
AspectDetail
ResolutionDecode multibase string
TrustKey possession
InfrastructureNone
Use caseEphemeral, quick verification

Authentication Flow

How you prove identity with DIDs:

No password. No OAuth. Just cryptography.

Verifiable Credentials

DIDs enable Verifiable Credentials — digital credentials that are:

PropertyDescription
Issued by any partyUniversity, employer, government
Held by youIn your wallet, under your control
Verified by anyoneWithout contacting the issuer
Privacy-preservingShare only what's needed

Credential Flow

Credential Types

TypeExample
EducationalDegrees, certificates
ProfessionalLicenses, memberships
GovernmentID, passport, drivers license
FinancialCredit scores, bank verification
SocialMembership, reputation

Benefits

Centralized IdentityDecentralized Identity
Provider can revoke accessYou control your keys
Different identity per serviceOne identity everywhere
Provider stores your dataYou control your data
Locked into ecosystemsPortable across systems
Single point of failureNo central authority
Surveillance by defaultPrivacy by design

Key Management

Your keys are critical:

PracticeWhy
BackupLose keys = lose identity
Secure storageHardware wallet or encrypted storage
Key rotationUpdate keys periodically
Recovery planSocial recovery or backup keys

Key Storage Options

OptionSecurityConvenience
Hardware walletHighestLower
Mobile app (Amber)HighHigh
Browser extensionMediumHigh
Paper backupMediumLow

Integration with SAND

One identity → All protocols → All services

Getting Started

  1. Generate a Nostr keypair — Use Noskey, Amber, or any Nostr client
  2. Your npub is your DIDdid:nostr:npub1...
  3. Use it for authentication — Sign in to services with your Nostr key
  4. Store credentials — Keep verifiable credentials in your wallet
  5. Control access — Decide what to share and when

Learn More