AntOS Library — gossip (reference)

The gossip library's design and native core — the trusted social mesh. The script-facing API is luau_gossip; the full model (identity, trust, the social graph, discovery, NAT traversal) is the Gossip subsystem doc.

What it is

A peer-to-peer trusted mesh: nodes identified by Ed25519 public keys, an explicit friend graph, signed-only packets, and messaging / file-transfer between friends — all persisted in SQLite. The library is the control and data surface over the sys_gossip background task.

Design notes

  • Identity = key. A node is its Ed25519 public key; the seed is exportable for backup/migration. This is the same key model as crypto, so identity and signing share one primitive.
  • Signed by construction. Every packet is signed and unsigned/tampered packets are dropped by the core, so a binding call never has to police authenticity — it's enforced below the API.
  • SQLite-persisted. The friend graph, requests, addresses, and message history live in the DBFS database (db) — no flat files — so mesh state is shadow-backed and survives reboots/DBFS switches.
  • Discovery + NAT traversal in the core — signed UDP broadcast on the LAN, friend-of-friend hole punching across NATs, hairpin handling, and address-change notification are all sys_gossip's job; the binding just exposes control and results.
  • A first call latches readiness — the core loads the keypair and inits the DB schema on a background task; the binding waits for that once, near-instantly, before the first real call.

Native core — libantos_gossip

sys_gossip is the whole engine: keypair, packet signing/verification, the SQLite schema and state, the discovery broadcaster, the NAT-traversal logic, and the message/transfer paths. It leans on sys_net (broadcast/transport) and the shared crypto. No Luau dependency — the binding is control + marshalling.

Related

Important: The Ant64 family of home computers are at early design/prototype stage, everything you see here is subject to change.