RLNC ELI5
Random Linear Network Coding (RLNC) is like breaking a puzzle into small pieces, mixing those pieces together, and sending them to your friends. Even if a few pieces get lost, your friends can still put the whole puzzle together from the pieces they receive!
RLNC 101
In the world of decentralized systems, scaling, reliability, security and speed is paramount. As adoption of cryptocurrencies increases and network usage grows, the bottlenecks in terms of throughput, latency, and network reliability become more apparent. Optimum, a novel data propagation and coding solution, is designed to address these issues by introducing Random Linear Network Coding (RLNC) into decentralized environments. In this 101 we explore the technical foundations, architecture, and potential impact of Optimum on decentralized blockchain ecosystems.
Limitations of Current Blockchain Networks
Current Layer 1 and Layer 2 blockchain networks face several significant limitations, especially as they scale:
1. Throughput Bottlenecks:
Networks like Ethereum face scalability issues due to the constraints on the number of transactions per second (TPS). Even high-performance networks like Solana face problems with transaction failures and bandwidth consumption.
2. Data Availability and Reliability:
Ensuring that data is available and can be propagated efficiently across nodes in a decentralized network is a critical challenge. Existing solutions rely heavily on gossip protocols, which are often inefficient because they propagate data randomly between nodes, leading to slow network convergence.
3. Latency and Network Congestion:
Networks often experience high latencies, especially during periods of congestion. As utilization approaches capacity, delays increase exponentially due to poor resource management and inefficiencies in the data propagation process.
4. Inefficient Use of Network Resources:
Many existing systems require full nodes to handle the entire ledger, which increases the cost and complexity of running a node. This centralization of resources leads to bottlenecks and high operational costs for node operators, as well as compromised decentralization.
Random Linear Network Coding (RLNC):
RLNC refers to a coding process that encodes data into smaller blocks that can be transmitted independently across the network. Unlike traditional data coding techniques like Reed-Solomon, which require identical reconstruction at each node, RLNC enables decentralized nodes to collaborate in the recovery of the original data with just a subset of the encoded information.
​
How RLNC Works
RLNC enables data to be encoded into smaller chunks, or linear combinations, which can be transmitted across the network independently.
​
-
Encoding: The original data is split into smaller segments and then encoded into multiple linear combinations. Each linear combination contains information about multiple segments of the original data.
-
Transmission: These encoded segments (or blocks) are transmitted across the network to various nodes.
-
Decoding: Nodes receiving the encoded blocks can reconstruct the original data by solving a system of linear equations, provided they have received enough unique blocks (even if some blocks were lost or corrupted during transmission).
​
Benefits of RLNC over Traditional Error Correction
-
Efficient Data Recovery: RLNC allows data to be recovered from a subset of encoded blocks, making it more robust in the presence of network failures or node outages.
-
Reduced Bandwidth: Since not all nodes need to receive every block, RLNC reduces the overall bandwidth consumption required to propagate data across the network.
-
Decentralized Recovery: Unlike Reed-Solomon, which requires all nodes to agree on data reconstruction, RLNC enables decentralized, parallel recovery of data from multiple nodes, reducing delays and the need for consensus. With longer code lengths, particularly in RLNC, data is split into more independent pieces that can be transmitted in parallel across a network. This parallelism can significantly improve the overall throughput of a system by allowing multiple parts of the encoded data to be sent and received simultaneously​​.
-
Better for latency performance: RLNC is 4x better for latency performance at 1% network loss and 6x better at 2% network loss.
Optimum Architecture
The network coding layer enables the use of Flexnodes, which allow the speed, low cost and scalability. Optimum fundamentally offers data management and basic communication capabilities for Web3 applications. It enables read/write operations that mirror shared memory (most desirable form of consistency for a parallel read/write system) behavior, efficiently persisting data while allowing wait-free operations (most desirable form of non-blocking operations). A significant performance enhancement is achieved through the adoption of a novel erasure code—random linear network codes (RLNC), developed at MIT specifically for network systems. The adaptability of RLNC enhances its application in distributed computing environments by minimizing the reliance on costly synchronization primitives of a distributed system. This technology underpins a network architecture that resembles shared memory, supported by proven distributed algorithms, making communications and storage quicker, more cost-effective, and fault-tolerant. Ultimately, the network comprises geographically distributed nodes, each capable of handling read and write operations while ensuring atomicity. Data—whether a blob, block, or binary blob—can be written or updated via a write/update command to any node in the network and the most current version of that data can be accessed from any node, including nodes that are geographically separated. This setup supports an unlimited number of concurrent reads and writes to the same data object. A high level schematic view can be seen in the following sketch.