Nara Network Specification
A distributed system with hazy memory.
This document is the authoritative, re-implementation-grade specification for the nara network.
Core Principles
Section titled “Core Principles”- Memory is Social: RAM-only; state replicated to peers.
- Derived State: Events are the only facts; state is interpreted via replaying.
- Subjective Truth: Opinions are shaped by personality and local history.
- Hazy Memory: Intentional data loss and forgetting as a system feature.
Spec Index
Section titled “Spec Index”1. Identity & Being
Section titled “1. Identity & Being”- Overview: Network myth and principles.
- Styleguide: Terminology and aesthetics.
- Identity: Names, souls, and Ed25519 bonds.
- Personality: Deterministic character traits.
- Aura & Avatar: Visual representation.
2. Runtime Architecture
Section titled “2. Runtime Architecture”- Runtime & Primitives: Message primitives, nara OS, and adapters.
- Pipelines & Stages: Composable message processing.
- Behaviours & Patterns: Declarative Kind configuration.
3. Event & Memory Model
Section titled “3. Event & Memory Model”- Events: Immutable signed facts and ledger.
- Projections: Deriving state from event streams.
- Memory Model: Pruning, recovery, and forgetting.
4. Transport & Sync
Section titled “4. Transport & Sync”- Plaza (MQTT): Public broadcasts and discovery.
- Mesh (HTTP): P2P authenticated transport.
- Sync Protocol: Historical reconciliation.
5. Features
Section titled “5. Features”- Zines: Hand-to-hand gossip bundles.
- Stash: Distributed encrypted storage.
- World Postcards: Signature-chained messages.
- Web UI: Real-time dashboard and inspection.
6. Services
Section titled “6. Services”- Presence: Discovery and liveness.
- Observations: Distributed state monitoring.
- Checkpoints: Multi-sig historical anchors.
- Social Events: Teasing, trends, and buzz.
- Clout: Subjective reputation ranking.
- Network Coordinates: Vivaldi latency mapping.
7. Operations & UI
Section titled “7. Operations & UI”- HTTP API: Public and Inspector endpoints.
- Boot Sequence: Transition to steady-state.
- Configuration: Flags and environment variables.
- Deployment: Build and orchestration.