LAYER 1

Trust Support โ€” DID Infrastructure

The foundation of the trust stack: decentralized identifiers (DIDs), key management, verifiable data registries (VDRs), and the infrastructure that makes self-sovereign identity possible.

Active โ€” did:scid:vh operational in testbed

What is the Trust Support Layer?

Layer 1 is the DID infrastructure layer โ€” the bedrock on which all higher layers of the trust stack depend. It answers the question: how does a participant in the trust graph prove who they are, and how does anyone else verify that proof without relying on a central authority?

The answer is Decentralized Identifiers (DIDs) โ€” a W3C standard for self-sovereign identity. A DID is a globally unique identifier that is controlled by its owner (not by a registrar or platform), backed by cryptographic key material, and resolvable to a DID Document that describes the identity's public keys, service endpoints, and capabilities.

Layer 1 infrastructure includes:

  • DID methods โ€” the specific rules for creating, resolving, updating, and deactivating DIDs (e.g., did:scid:vh and did:peer:4)
  • Verifiable Data Registries (VDRs) โ€” the systems that store and serve DID Documents
  • Key management โ€” secure generation, storage, rotation, and recovery of cryptographic keys
  • Witness proofs โ€” third-party attestations that a DID Document is authentic and has not been tampered with
  • Pre-rotation โ€” committing to the next key before rotating, so key rotation cannot be hijacked

Current Status

โœ…

FPTS Native Identity & Rotation

The FPTS has its own native path to Layer 1 functionality โ€” no DNS, no external registry, no ledger dependency. A DID-method-agnostic VidMethod interface decouples identity from any one DID method, a minimal VTC/VRC primitive provides just enough governance machinery to support a witness pool, and a hash-chained, pre-rotation key rotation mechanism backed by a decentralized Witness VTC provides verifiable identity rotation without relying on external infrastructure.

This is implemented and tested today โ€” see Native Identity & Rotation below for details.

โœ… Complete

Native Identity & Rotation

The FPTS solves DID rotation with the same decentralized building blocks the rest of the stack already uses: a method-agnostic identity interface, a minimal governance primitive, and libp2p-native peer relationships. Multiple completed implementations carry this from a fixed did:peer:4 identity all the way to a rotating, witness-attested did:scid:vh identity.

๐Ÿงฉ VidMethod Abstraction โœ… Complete

A DID-method-agnostic interface (create(), resolve(), verify()) that Agent and RelationshipManager depend on instead of calling method-specific functions directly. did:scid:vh is wrapped as ScidVhMethod, did:peer:4 as DidPeer4Method โ€” interchangeable identity backends.

  • src/did/vid-method.ts
  • src/did/did-peer4-method.ts

๐Ÿ›๏ธ Minimal VTC/VRC Model โœ… Complete

Just enough of Layer 3 to unblock Layer 1: a VTC identity with an admin list, a Vrc (Verified Relationship Credential) type with an M-of-N co-signed signature bundle, and createVtc() / issueVrc() / verifyVrc() โ€” governance logic lives in a policy document, not in new cryptographic primitives.

  • src/vtc/vtc.ts
  • src/vtc/store.ts

๐Ÿ”„ Witness VTC & Rotation โœ… Complete

RotatingVidMethod โ€” a second VidMethod implementation with real key rotation. Each rotation pre-commits to the next key (pre-rotation) and is attested by M-of-N members of a decentralized Witness VTC (the same minimal VTC/VRC primitive above), replacing DNS watchers with a libp2p-native, opt-in community of witnesses.

  • src/did/rotating-vid-method.ts
  • src/did/witness-attestation.ts
  • src/did/genesis-witness-vtc.ts
  • src/did/rotation-log-store.ts

DID Methods in Use

Different DID methods make different tradeoffs between decentralization, offline capability, and infrastructure requirements. The FPTS uses did:scid:vh as its primary long-lived identity method, with did:peer:4 available for quick development scenarios.

๐ŸŸข did:scid:vh Primary Method

A self-certifying DID method that carries its own cryptographic proof of provenance via a hash-chained verifiable history. No external ledger or VDR dependency โ€” the DID itself is the root of trust. Supports built-in key pre-rotation and witness attestation via a decentralized Witness VTC. Used as the primary long-lived identity method in the FPTS.

Tradeoff: Long identifiers; requires at least one Witness VTC to exist (a documented "genesis" Witness VTC is shipped for development). Rotation-aware code depends on the VidMethod interface for interchangeability.

๐Ÿ”ต did:peer:4 Available

A self-certifying DID method where the DID document is embedded in the identifier itself. No network lookup required โ€” resolution and verification are fully offline. Available for quick development and testing scenarios where key rotation is not needed.

Tradeoff: Long identifiers; no key rotation (a new DID must be created for each identity). Ideal for ephemeral identities and peer-to-peer development.

Key Concepts

Self-Sovereign Identity

Traditional identity systems require a central authority โ€” a government, a platform, a corporation โ€” to issue and vouch for your identity. Self-sovereign identity (SSI) flips this: you generate your own cryptographic key pair, derive your DID from it, and control your identity document directly. No one can revoke your identity without your consent, and no one can impersonate you without your private key.

DID Documents

A DID resolves to a DID Document โ€” a JSON-LD document that describes the identity's public keys (for signing and encryption), service endpoints (for messaging and discovery), and verification methods. The DID Document is the public face of a VTA.

Pre-Rotation

Key rotation is the process of replacing an old cryptographic key with a new one. Pre-rotation means committing to the hash of the next key before rotating โ€” so that even if an attacker compromises your current key, they cannot rotate to a key they control, because the next key's hash is already published and locked in.

Witness Proofs

A witness is a third party that observes and attests to DID Document updates. Witness proofs provide a tamper-evident audit trail and prevent unilateral key rotation attacks. The did:scid:vh method supports configurable witness thresholds; the FPTS's native did:scid:vh achieves the same guarantee via M-of-N attestations from a decentralized Witness VTC rather than a hosted watcher network.

โ† Back to Stack Overview Layer 2: Trust Spanning โ†’