6 · The Seven Primitives
The narrow waist is a small set of primitives, each specified hard (RFC 2119 — MUST / MUST NOT / SHOULD), so everything above plugs in with total freedom. Because We hold Ourselves to honesty, the table shows not just what each primitive is but how real it is today — including the one piece that is still a stand-in.
| # | Primitive | Module | Core invariant | Status |
|---|---|---|---|---|
| 1 | UIR — Universal Identity Root | x/uir | One global identity; per-chain accounts derived deterministically; one signature authorizes | Real |
| 2 | UAC — Universal Asset Commitment | x/uac | Total-supply invariant total == Σ perChain + lockedInTransit; minimum security-class per asset | Real |
| 3 | XMP — XChain Messaging Protocol | x/xmp | Trust-minimized messaging; clean split of READ and WRITE | Real (anti-replay + containment) |
| 4 | PAI — Proof Aggregation Interface | x/pai | A parent verifies children without re-executing; recursive aggregation | Aggregation real · prover MOCK (§10) |
| 5 | DA Interface (tiered) | fabric/da + tools/dasidecar | Committed data stays retrievable / sampleable per the tier's policy | Real (Celestia mocha) |
| 6 | VLC — Verifiable Log Commitment | x/vlc | Append-only logs: tamper-evident + timestamped + inclusion-provable; value-free | Real (RFC 6962 Merkle) |
| 7 | SC — Settlement Contract | x/settlement | Minimal Global-Root logic: finalize cross-region value, consume aggregated proofs | Real (no blind commitments) |
⚠️ Primitive #4 (PAI) uses a MOCK prover. The aggregation circuit (STC → Cell → Root) is real; the cryptographic proof underneath is a mock, and
ProofSystem.MOCKis rejected on every non-testnet network. A real prover (SP1/Boojum) is open work — see §10. So We do not say "We use SP1."
The primitives compose in a strict dependency order: UIR → (UAC, XMP) ; DA → (VLC, PAI) ; (UAC, XMP, PAI, VLC) → SC.
Figure 4 — Dependency graph of the seven primitives.
Takeaway: freeze a small, correct core and thousands of people can build wildly different things above it that still interoperate. The internet did this with TCP/IP; XChain does it for verifiable data.