ungovernable.tech

[ EXPLAINER ][ IDENTITY, SOCIAL AND TRUST ]

Decentralized Identity

Also DID, SSI, Self-Sovereign Identity.

Identifiers, credentials, and reputation that belong to the user, not to platforms, governments, or the issuer after the fact.

Usable updated 2026-10-25 3 min read
Contents

Core primitives

DIDs (Decentralized Identifiers)

A W3C standard. A URI of the form did:method:... resolves through a method-specific resolver to a DID Document containing public keys and service endpoints.

  • did:key — no registry, self-contained.
  • did:web — resolves via HTTPS (pragmatic, with trust centralized in DNS). Microsoft's Entra Verified ID has effectively shifted to this method.
  • did:ion — anchored on Bitcoin via Sidetree (DIF; original Microsoft sponsorship). Largely community-maintained today.
  • did:plc — Bluesky's model: centralized log, portable.
  • did:ens — Ethereum Name Service.
  • did:peer — ephemeral, pairwise DIDs for private connections.

Verifiable Credentials (VCs)

W3C VC Data Model 2.0 (W3C Recommendation, May 2025): signed JSON-LD or JWT structures where an issuer (for example, a university) attests claims about a subject that the subject can present to a verifier with cryptographic integrity.

Selective disclosure / ZK credentials

Instead of handing over a whole credential, prove only what is needed:

  • BBS+ signatures — redact attributes; pairing-based.
  • SD-JWT (RFC 9901, November 2025) — JWT with salted hashes of individual claims; the holder reveals chosen claims by disclosing salt and value.
  • ZK-based — Anon Aadhaar, zkPassport, Rarimo, Semaphore: prove "I have a credential from X saying my age > 18" without revealing name or ID number.
  • mDL (ISO 18013-5) — mobile driver's license with selective disclosure, deployed in several US states and the EU Digital Wallet.

The stack

Application   (login, age-gate, payroll, KYC)
      │
Wallet         (holds DIDs + VCs; user-owned)
      │
Protocols      (DIDComm, OpenID4VP, OpenID4VCI, CHAPI)
      │
Primitives     (DIDs, VCs, BBS+, SD-JWT, ZK circuits)
      │
Trust anchors  (Issuer registries, KYC providers, governments)
      │
Ledger / Infra (Bitcoin/ION, Ethereum/ENS, Sovrin, centralized PKI)

Relation to confidential computing

  • Attestation-backed credentials. A TEE can issue credentials claiming "this attestation happened", binding an off-chain fact to a decentralized identifier. This is used for attested AI oracles (Oasis ROFL, Phala) and for proof-of-humanity via device attestation (Apple DeviceCheck, Google Play Integrity producing pseudonymous VCs).
  • Confidential inference identity. A private LLM endpoint's identity, which users want to pin across sessions, can be a DID whose keys live inside a TEE and rotate via attestation on each deployment.
  • Proof of personhood. Idena, BrightID, and Proof of Humanity each trade off invasiveness against Sybil resistance. Confidential-computing approaches such as attested document hashing inside SGX or Secure Enclave try to split the difference.

Representative projects

Project Model Notes
Bluesky / AT Protocol did:plc Portable identifiers backed by signed history logs
ENS did:ens Human-readable, Ethereum-anchored
Nostr npub (just a pubkey) Minimalist; no DID machinery
EU Digital Identity Wallet (EUDI) mDL + ISO standards Mandated by eIDAS 2.0 (2024); all EU member states by 2026
Polygon ID / Iden3 ZK-based VC verification On-chain and off-chain
Rarimo, zkPassport ZK over government eIDs Privacy-preserving passport verification
Sovrin / Hyperledger Indy Permissioned ledger + BBS+ Enterprise SSI
Veramo, Credo, Affinidi SDKs Implementation libraries

Trade-offs

Strengths

  • User-owned identity survives platform failure, account bans, and political coercion.
  • Selective disclosure and ZK reduce over-sharing in everyday identity checks.
  • Splitting issuer, subject, and verifier breaks the surveillance-capitalism loop.

Limitations

  • Issuer power remains. If a government issuer revokes your credential, you are back where you started.
  • Recovery is hard. Losing your wallet means losing your identity. Social recovery and Shamir-style schemes are immature.
  • Adoption chicken-and-egg. Most services do not accept VCs, and most users do not have wallets.
  • Correlation attacks. Pseudonymous DIDs correlate easily across sessions without careful use. Pairwise DIDs help but add UX complexity.
  • Standards churn. The VC, OIDC4VC, mDL, and ZK-cred landscape is still settling.

Attack surface

  • Wallet compromise equals total identity compromise.
  • Issuer key compromise taints every credential they signed.
  • Replay or linkage across verifiers without nullifiers or pairwise identifiers.
  • ZK circuit bugs can quietly break unlinkability.
  • Social engineering around recovery is the dominant threat in practice.

Primary sources

For server-based social federation and its migration boundaries, see ActivityPub.

Continue with Biscuit authorization tokens.

Page history

Updated
2026-10-25
Origin
Compiled from the ungovernable.tech research notes.
Improve this page
Suggest an edit — issues and pull requests are welcome.