SUM Innovation Inc. Mainnet Connecting to the SUM Chain public endpoint.

03Storage subprotocol

SNIP
The ledger holds the proof. The mesh holds the bytes.

Status
V2 active at height 5,200,000
Kind
Subprotocol
Language
Rust

Summary

Storage Node Interface Protocol. The chain keeps merkle roots, access lists, and fee pools. File bytes live in a libp2p mesh of archives that earn by proving, every block, that they still hold the chunks they were deterministically assigned.

Role in the stack

Holds everything too large for state: credential payloads, course material, mail attachments, model weights.

Replication is a consensus rule

Three copies, enforced by the chain and reassigned deterministically. Not a service level agreement, a state transition.

Archives are challenged every block

Proof of Retrievability runs continuously. An archive that cannot answer in time is slashed.

No IPFS, no second token

Storage economics settle in Koppa directly at the consensus layer. There are no smart contracts in the storage path.

Architecture

  1. Chunk Client side, content addressed
  2. Commit Merkle root and access list on chain
  3. Assign Deterministic, 3 archives
  4. Challenge Proof of Retrievability, every block
  5. Pay or slash Fee pool settles in Koppa
One file from upload to continuous proof.

Specification

Values are taken from the protocol repository and from live chain parameters.

SNIP specification

SNIP specification
Transport libp2p with Circuit Relay v2 and DCUtR hole punching
Replication factor 3, enforced at consensus
Integrity Per-block Proof of Retrievability challenges
Failure handling Stake slashing on missed challenge
Encryption keys X25519, derived from the Ed25519 account key
Object lifecycle Pending, Active, Abandoned
Storage fee 100 base units per byte
Max chunks per file 1,048,576
Activation height 5,200,000
Archive platform Linux x86_64 supported, macOS Apple Silicon experimental
Client platform Linux, macOS, Windows via WSL2, ChromeOS via Crostini
Contributor app Native macOS
License MIT or Apache-2.0