Przejdź do treści

Node Identity v1

Source schema: doc/schemas/node-identity.v1.schema.json

Machine-readable schema for the persisted local identity of a network-participating Orbiplex Node.

Governing Basis

Project Lineage

Requirements

Stories

Fields

Field Required Shape Description
schema/v yes const: 1 Schema version.
node/id yes string Stable Node identifier derived from the public key and persisted across restarts until explicit rotation. In v1 this MUST be node:did:key:z<base58btc(0xed01 \|\| raw_ed25519_public_key)>.
participant/id yes string Stable participation-role identifier for the Node operator. In v1 this MUST be participant:did:key:z<base58btc(0xed01 \|\| raw_ed25519_public_key)>. MVP may share the same underlying Ed25519 fingerprint as node/id, but protocol semantics MUST still treat the two identifiers as distinct roles.
created-at yes string Timestamp when the local identity was first created.
identity/status no enum: active Local lifecycle state of the identity material. In the MVP runtime only active has semantics; future states such as rotation or retirement are deferred.
key/alg yes enum: ed25519 Public-key algorithm used to derive node/id, participant/id, and sign role-bound artifacts in the MVP baseline.
key/public yes string Canonical did:key fingerprint payload used by peers to validate signed advertisements and handshakes. In v1 this is the base58btc multibase Ed25519 public-key fingerprint without the node:did:key: prefix.
key/storage-ref yes string Local secret-storage reference to the corresponding private key material. In the MVP baseline this MUST use the local-file: scheme, for example local-file:identity/node-signing-key.v1.json.
policy_annotations no object Optional local annotations that do not change networking semantics.
## Field Semantics

schema/v

  • Required: yes
  • Shape: const: 1

Schema version.

node/id

  • Required: yes
  • Shape: string

Stable Node identifier derived from the public key and persisted across restarts until explicit rotation. In v1 this MUST be node:did:key:z<base58btc(0xed01 || raw_ed25519_public_key)>.

participant/id

  • Required: yes
  • Shape: string

Stable participation-role identifier for the Node operator. In v1 this MUST be participant:did:key:z<base58btc(0xed01 || raw_ed25519_public_key)>. MVP may share the same underlying Ed25519 fingerprint as node/id, but protocol semantics MUST still treat the two identifiers as distinct roles.

created-at

  • Required: yes
  • Shape: string

Timestamp when the local identity was first created.

identity/status

  • Required: no
  • Shape: enum: active

Local lifecycle state of the identity material. In the MVP runtime only active has semantics; future states such as rotation or retirement are deferred.

key/alg

  • Required: yes
  • Shape: enum: ed25519

Public-key algorithm used to derive node/id, participant/id, and sign role-bound artifacts in the MVP baseline.

key/public

  • Required: yes
  • Shape: string

Canonical did:key fingerprint payload used by peers to validate signed advertisements and handshakes. In v1 this is the base58btc multibase Ed25519 public-key fingerprint without the node:did:key: prefix.

key/storage-ref

  • Required: yes
  • Shape: string

Local secret-storage reference to the corresponding private key material. In the MVP baseline this MUST use the local-file: scheme, for example local-file:identity/node-signing-key.v1.json.

policy_annotations

  • Required: no
  • Shape: object

Optional local annotations that do not change networking semantics.