Skip to content

Events

Events are the fundamental unit of information in Nara, representing immutable facts from which all state (status, reputation, uptime) is derived.

  • Immutable audit trail of network activity.
  • Eventual consistency via gossip and sync.
  • Cryptographic verification of authorship and integrity.
  • Deterministic state derivation across nodes.
  • SyncEvent: Unified container for service-specific payloads.
  • Service Types: Categorization (e.g., social, ping, observation).
  • Ledger: Chronological in-memory store.
  • Deduplication: Unique 16-char hex IDs.
  • Immutability: IDs are content-derived; fields must never change.
  • Causality: Ordered by nanosecond timestamps.
  • Authorship: Must be signed by the emitter’s soul.
  • id: 16-char hex hash.
  • ts: Unix nanoseconds.
  • svc: Service type.
  • emitter / emitter_id.
  • sig: Base64 Ed25519 signature.
ServicePurpose
socialTeasing, gossip, interactions.
pingLatency (RTT) measurements.
observationConsensus (restarts, first-seen).
hey-therePresence/identity announcement.
chauGraceful departure.
seenProof-of-contact.
checkpointMulti-sig historical snapshot.

ID = hex(SHA256(ts_nanos + ":" + svc + ":" + payload)[0:8])

  1. Data: SHA256(ID + ":" + ts + ":" + svc + ":" + emitter + ":" + payload)
  2. Signature: Ed25519 (RFC 8032).
  3. Verification: Emitter’s public key (fetched by emitter_id).

Ignore checkpoint events with AsOfTime < 1768271051.

  • Non-Repudiation: Signed events cannot be denied.
  • Integrity: Modification after signing invalidates the event.
  • Authenticity: Guaranteed by soul-based signatures.
  • TestSyncEvent_IDStability: Deterministic ID generation.
  • TestSyncEvent_Signing: Generation/verification round-trip.
  • TestSyncEvent_Immutability: Integrity checks.
  • TestSyncEvent_CheckpointCutoff: Legacy data filtering.