Architecture · 11-crate Rust workspaceLive on mainnet

Built from the bottom up

OmniNode is a single Rust workspace on edition 2024. Networking and storage sit at the base; a zero-copy bridge and pipeline coordinator sit above; the proof, chain, and operator surfaces sit at the top. Default builds pull zero chain and zero proof dependencies — capabilities are opt-in cargo features.

The workspace

Eleven crates, one dependency spine

Each crate has one job and depends only on the layers beneath it.

Protocol & operator surface

omni-zkml

Proof-artifact substrate, verifier attestation envelope, and the chain-client abstraction.

omni-sumchain

SUM Chain JSON-RPC adapter — attestation submit + settlement read / claim / dispute.

omni-contributor

Off-chain contributor inference node — jobs, sessions, integrity-evidence chains.

omni-node

The operator CLI binary — listen, shard, fetch, verify-proof, settlement.

omni-proofs-halo2-reference

4→8→4 int16 Halo2 reference proof (halo2-mlp-v1).

omni-proofs-halo2-production-mlp

16→32→16→8 int16 Halo2 production proof (production-fixedpoint-mlp-v1).

Bridge & coordination

omni-bridge

PyO3 native extension — zero-copy shard access exposed to NumPy / MLX.

omni-pipeline

Pipeline-parallel coordination — GPipe scheduling, hidden-state tensor transport.

Networking & storage

omni-net

P2P mesh on libp2p 0.55 — QUIC, mDNS discovery, Gossipsub, shard & tensor request-response.

omni-store

Zero-copy GGUF parsing, layer-wise chunking, BLAKE3 → CIDv1 addressing, SNIP V2 store.

Shared foundation

omni-types

Shared types, errors, config, and the Phase-5 attestation / commitment types.

Networking

A mesh on libp2p 0.55

Peers move two kinds of bytes: content-addressed model weights, and the hidden-state tensors that flow between pipeline stages.

  • QUIC and TCP transports, Noise encryption, Yamux multiplexing.
  • Peers discover each other over mDNS; Gossipsub carries pub/sub with strict validation.
  • Two request-response codecs: /omni/shard-xfer for weights, /omni/tensor-xfer for tensors.

LAN is the proven path

mDNS discovery and the two-machine LAN demo are what run end-to-end today. WAN traversal (AutoNAT, relay, DCUtR) is present in the code but deferred — treat internet-scale meshing as roadmap, not a shipped feature.

omni-net.spec

transports
QUIC · TCP
security
Noise
multiplexing
Yamux
discovery
mDNS (LAN)
pub/sub
Gossipsub
shard_window
64 MiB
Apple Silicon

A weight is never copied

On unified-memory hardware, a shard travels from disk to the GPU without a single copy. The mmap the operating system makes is the same memory Metal computes on.

  1. Rust mmap — GGUF shardFile mapped into unified memory; CPU and GPU share the same physical RAM.
  2. PyO3 __getbuffer__The raw pointer is exposed to Python over the buffer protocol — no copy.
  3. NumPy frombuffer()Wraps the pointer as an ndarray in place.
  4. MLX mx.arrayMetal reads tensors directly from the same physical memory.
  5. GPU inferenceZero memory copies from disk to compute.