Reticulum Network Stack Documentation

repository·master·Indexed 27 days ago

https://github.com/markqvist/reticulum

A cryptography-based networking stack for building resilient, decentralized, and encrypted local and wide-area networks. Reticulum operates over diverse physical mediums including LoRa, packet radio, and standard IP networks without relying on traditional IP layers. It features coordination-less addressing, self-configuring multi-hop routing, and strong encryption using X25519, Ed25519, and AES-256-CBC. The ecosystem includes utilities like rnsd, rncp, and rngit for distributed Git repository management.

Tokens
72.8K
Snippets
128
Records
416
Agent score
91%

What's inside Reticulum

  1. Overview of Reticulum Network Stack features

    master

    Reticulum is a cryptography-based networking stack designed for building local and wide-area networks using readily available hardware. Key features include:

    • Coordination-less addressing: Globally unique identification without central authority.
    • Self-configuring multi-hop routing: Works over heterogeneous carriers (LoRa, WiFi, Ethernet, etc.).
    • Anonymity: Does not include source addresses in packets to protect initiator identity.
    • Strong Encryption: Uses X25519 (asymmetric) and Ed25519 (signatures) with AES-256-CBC and HMAC-SHA256 for encrypted tokens.
    • Resilience: Designed for high latency and extremely low bandwidth environments.
    • Userland execution: No kernel modules or drivers required; runs on any system with Python 3.
  2. Overview of Reticulum Network Stack

    master

    Reticulum is a cryptography-based networking stack designed for building local and wide-area networks using readily available hardware. It is optimized for adverse conditions, such as extremely low bandwidth and high latency.

    Key characteristics:

    • Complete Stack: Does not require IP or higher layers, though it can be tunneled over IP (TCP/UDP).
    • Userland Operation: Runs entirely in userland on any system running Python 3 (including single-board computers like Pi Zero) without requiring kernel modules or drivers.
    • Security: Provides end-to-end encryption, forward secrecy, and unforgeable packet acknowledgements using X25519 and Ed25519.
    • Decentralized: Supports coordination-less globally unique addressing and self-configuring multi-hop routing.
  3. Overview of Building Networks with Reticulum

    master
    Reticulum provides a fundamentally different approach to networking compared to traditional IP-based stacks. When building networks, you do not need to manually coordinate addresses, subnets, or routing tables for the entire network. Instead, you can add new segments to your network as needed, and Reticulum will automatically handle the convergence of the entire network. This allows for organic network evolution without the need for complex upfront planning of address spaces or routing architectures.
  4. Overview of Reticulum Network Stack principles

    master
    Reticulum is a medium-agnostic networking stack designed to build secure, anonymous, and permissionless communication networks. It is not a single network, but a toolset for creating many independent, interconnectable, and autonomous networks that require no central authority or coordination. It is designed to function over a wide range of physical layers, including packet radio (VHF), 2.4 GHz radios, LoRa, WiFi, and serial lines.
  5. Overview of Reticulum Design Goals

    master

    Reticulum is designed as a medium-agnostic, secure, and permissionless networking stack. When developing applications or deploying networks, keep the following core design principles in mind:

    • Hardware Agnosticism: The stack can run over any physical layer capable of carrying a digital data stream (e.g., data radios, serial lines, modems, Ethernet, WiFi, LoRa).
    • Low Bandwidth Efficiency: Designed to function reliably on links as slow as 5 bits per second.
    • Security: Uses strong encryption by default for all communications.
    • Anonymity: Supports communication without revealing identifying information about the initiator.
    • Unlicensed Operation: Optimized for use over unlicensed mediums like ISM radio frequency bands (e.g., LoRa, WiFi, or connecting modems to PMR/CB radios).
    • Low Cost: Aimed at using cheap, off-the-shelf hardware to keep node setup costs low (ideally under $100).
  6. Understand Reticulum's Uncentralizability and Peer-to-Peer Model

    master

    Reticulum is designed for Uncentralizability, meaning it lacks privileged nodes or a central authority. Unlike traditional client-server or federated models, Reticulum is a peer-to-peer fabric where every node is potentially hostile and every link is potentially compromised.

    Key architectural principles:

    • No Privileged Nodes: While some nodes act as Transport Instances to forward traffic, they do so blindly and only know about their immediate surroundings. They route based on cryptographic proofs rather than administrative privilege.
    • Structural Impossibility of Hierarchy: There is no central registry to hijack addresses and no central switch to block users. You can offer paths through the network, but you cannot force others to use them.
  7. Understand the conceptual basis of rngit and distributed development

    master

    The rngit system is designed to restore the original architectural principles of Git by running it over the Reticulum Network Stack. Unlike centralized platforms (e.g., GitHub, GitLab), rngit eliminates the need for central hosting platforms or middlemen.

    Key concepts:

    • Sovereign Repository Nodes: In this model, a repository node is a sovereign entity. It is reachable via the Reticulum network but is owned, operated, and controlled by the developer or community. The node operator maintains full control over who contributes and what standards are met.
    • Protocols Over Platforms: rngit functions as a protocol for exchanging repository data, release artifacts, and work documents over Reticulum's encrypted transport, rather than being a centralized service.
    • Permissionless Operation: There is no central entity that can grant or deny the privilege of running rngit. Your Reticulum identity is generated locally and certified cryptographically.
    • Resilience and Migration: Because it is protocol-based, 'exit' is simply migration. Your identity and work travel with you because they are not tied to a platform's social graph or database.
  8. Manage identities with the Blackhole system

    master
    Reticulum's Blackhole system allows you to block specific identities at the Transport layer. This prevents them from propagating announces through your node and prevents other nodes from reaching them through your network. Note that blackholing is local to your own network segments and cannot be used for global censorship.
  9. Understand Reticulum Destinations

    master

    Reticulum replaces IP addresses and ports with the concept of destinations. Every destination is represented as a 16-byte hash (a truncated SHA-256 hash) displayed as 16 hexadecimal bytes, e.g., <13425ec15b621c1d928589718000d814>.

    Applications must create destinations to receive data and know the destination hashes of the entities they wish to communicate with. Reticulum handles multi-hop transport, coordination, and reliability autonomously using elliptic curve cryptography.

  10. Use LXST for real-time streaming

    master

    LXST is a real-time streaming format and delivery protocol built on top of Reticulum. It is optimized for low bandwidth and provides:

    • Zero-conf stream routing
    • End-to-end encryption and Forward Secrecy
    • Transport over any Reticulum-supported medium

    It is currently used to power real-time voice and telephony applications over Reticulum.

  11. Use LXMF for messaging and delivery

    master

    LXMF is a simple, flexible messaging format and delivery protocol designed for low-bandwidth environments (like packet radio or LoRa). It provides:

    • Zero-conf message routing
    • End-to-end encryption and Forward Secrecy
    • Transport over any Reticulum-supported medium
    • Support for analog transport (encoding encrypted messages as QR codes or text-based URIs)
    • Store-and-forward capabilities via Propagation Nodes for unreachable endpoints.
  12. Planned Functionality Improvements

    master

    The Reticulum development roadmap includes several upcoming core functionality enhancements. Developers building on the stack should be aware of these planned features which aim to improve reliability and routing:

    • Request API: Automatic retries will be added to all use cases of the Request API.
    • Routing & Pathing: Implementation of network-wide path balancing, metric-based path selection, and support for multiple paths.
    • Addressing & Multicast: Development of a Distributed Destination Naming System and globally routable multicast.
    • Interface Management: Support for interface hot-plugging and live up/down control within running instances.
    • Proxying: Support for destination proxying.