DID Types in the DTG

The Decentralized Trust Graph uses a taxonomy of DID types, each serving a specific role. Understanding these types is key to understanding how identity and privacy work in the ecosystem.

Since Working Draft 01 of the spec (July 2026) the official list is four: the earlier W-DID (Witness DID) was dropped — a witness acts under an M-DID or as a VTA applying community policy. The spec frames these as DTG verifiable identifiers (VIDs): this version uses DIDs exclusively, but future versions may admit other ToIP VIDs such as X.509 or KERI AIDs. Every DTG node is identified by at least one DTG VID and reached through a VTA.

The Taxonomy

DID TypeFull NameWho/What It IdentifiesTypical DID Method
C-DIDCommunity DIDA VTC or VTNdid:webvh
M-DIDMember DIDAn individual member within a communitydid:webvh
R-DIDRelationship DIDA specific relationship between two individualsdid:peer
P-DIDPersona DIDA persona identity linked to a relationshipdid:webvh

Privacy Through DID Separation

The separation of DID types is a deliberate privacy design. The spec requires that each entity MUST generate a new, unique R-DID for every single entity they connect with, even within the same community. This means:

  • Your M-DID identifies you within a community but isn’t exposed in individual relationships
  • Each R-DID is unique to one relationship, so counterparties can’t correlate your connections
  • P-DIDs let you selectively reveal personal information to specific relationships
  • Witnesses attest under an existing identity — an M-DID, or a VTA acting under community policy — rather than a dedicated type

How They Map to Credentials

CredentialIssuer DIDSubject DID
VMCC-DID (community)M-DID (member) or C-DID (for VTN→VTC)
VRCR-DID or M-DIDR-DID or M-DID (counterparty)
VICC-DID or authorized M-DIDInvitee’s DID
VPCP-DIDCounterparty’s DID
VECEndorser’s DIDEndorsee’s DID
VWCM-DID, or the DID of a VTA acting under VTC policyIssuer of the attested VRC (the observed party)

BIP-32 Derivation

In the OpenVTC implementation, all these DIDs derive from a single seed via BIP-32 derivation:

PathDID Type
m/1'/0'/Persona keys (P-DID)
m/2'/1'/WebVH management keys
m/3'/1'/1'/NRelationship keys (R-DIDs, one per relationship)

See also: decentralized-identifiers, decentralized-trust-graph, bip32-key-derivation