Section VII
RLNC
Random Linear Network Coding
RLNC mixes block data into coded pieces that travel across the network. Nodes rebuild the block once enough independent pieces arrive, instead of waiting for one specific missing packet.
rlnc fundamentals
RLNC Fundamentals
Ordinary networks send you numbered pieces of a file and you collect them until you have them all. Miss one and you ask for that specific piece again, and you wait for it while everything else sits finished.
RLNC combines source packets using coefficients in a specified finite field. Each coded packet carries its coefficient information and generation identity. The receiver adds independent rows to its decoding matrix; duplicate or dependent rows do not increase its rank.
A generation with k source packets decodes at rank k—not merely after k packets arrive. The reconstructed bytes must match the authenticated generation commitment before any application consumes them.
rlnc properties
Three Key Properties
Three properties, and the first is the one that makes coded gossip work for a blockchain rather than for a file transfer.
Linear recoding lets a relay combine packets without decoding the payload. Algebraic validity and authentication are separate obligations: the outgoing coefficients must describe the same combination of source packets, and the integrity mechanism must remain valid after recoding.
- Recover after losses when enough authenticated, independent packets arrive
- Discard duplicate equations; reject invalid dimensions and generation identifiers
- Account for coefficient headers, integrity checks, decoding work, and extra packets
transport
One Primitive, Separate Responsibilities
RLNC is the networking primitive. Scheduling, peer selection, congestion control, authentication, and retry policy surround it; they are not a second coding technology.
Packets bind the chain, epoch, producer, generation, packet dimensions, coefficients, and payload. Memory and work limits prevent malformed packets or endless dependent rows from growing the decoder without bound.
CHITA uses coding on the wire to deliver a chunk. The provider stores the exact decoded chunk and verifies its catalog root; transport recoding does not change archival custody or finality.
optimality
Capacity-Approaching Throughput
Traditional gossip sends the same data down every edge and hopes. On a well-connected network most of what crosses the wire is a duplicate of something that already arrived, and the better connected the network gets, the more it wastes.
RLNC helps relays send useful new combinations instead of repeatedly forwarding the same packets. Capacity depends on the network and protocol conditions; coding alone is not a universal bandwidth guarantee.
Packet loss, rank deficiency, and malicious withholding are different events. Liveness requires enough honest connectivity and delivery before the deadline; no code guarantees delivery through a disconnected or fully withholding network.
network security
Network Security
Source-authenticated packets can be forwarded unchanged. A relay’s signature alone authenticates the sender, not membership in the committed source subspace. Recoded packets require recoding-compatible authentication or a validity proof anchored to the generation commitment; unauthenticated combinations are not accepted as trusted equations.
The decoding check binds the result to the committed payload. Validators separately check execution proofs and required availability data. Coding success does not finalize a block or make an invalid transition valid.
With independent uniform coefficients over a field of size q, k+s received rows for k source packets have rank-failure probability at most q^-s/(q-1). This bound does not cover adaptive packet selection, forged equations, congestion, or partitions; authentication and delivery contribute separate terms to the full security and liveness analysis.
