Voltar para Lista
BLOG / mrj / / 38 min leitura

🧑‍💻Reticulum Network Stack (RNS) - Guia Completo - A verdadeira internet livre

A internet como a conhecemos tem uma falha estrutural de design: toda comunicação flui por uma infraestrutura centralizada que nós alugamos, mas não possuímos. O Reticulum é a resposta open-source e baseada em criptografia para criar redes paralelas, soberanas e agnósticas a hardware.

> "Uma rede paralela que não alugamos. Que realmente possuímos."


Índice

  1. O Que É o Reticulum?
  2. O Problema Que Ele Resolve
  3. História e Filosofia
  4. Arquitetura Técnica Profunda
  5. Segurança e Criptografia
  6. Interfaces e Transportes Suportados
  7. Hardware: O RNode
  8. O Ecossistema de Aplicações
  9. Reticulum vs. Meshtastic: A Grande Diferença
  10. Reticulum + Wi-Fi HaLow: Mesh Tática de Longo Alcance
  11. Reticulum + ATAK: Consciência Tática Descentralizada
  12. Casos de Uso Reais
  13. Repositórios e Links Essenciais
  14. Comunidade e Eventos
  15. Como Começar: Guia de Início Rápido
  16. O Futuro do Reticulum

1. O Que É o Reticulum?

O Reticulum Network Stack (RNS) é uma pilha de rede completa baseada em criptografia, de código aberto, projetada para criar redes de comunicação resilientes, descentralizadas e soberanas. Diferente do TCP/IP tradicional, o Reticulum não é um protocolo de rádio nem uma rede específica — ele é uma camada de rede agnóstica em relação ao hardware que pode rodar sobre praticamente qualquer meio capaz de transportar um fluxo de dados digital.

Diagrama de Camadas — Posição do Reticulum na Pilha

graph TD
    A["🖥️ APLICAÇÕES<br/>Sideband · NomadNet · MeshChat · ATAK Bridge · rnsh · rncp"]
    B["📨 LXMF<br/>Lightweight Extensible Message Format<br/>(store-and-forward, assinaturas Ed25519)"]
    C["🔐 RETICULUM NETWORK STACK<br/>Roteamento · Criptografia · Identidade · Fragmentação<br/>(agnóstico ao hardware)"]
    D1["📡 LoRa<br/>RNode<br/>5–27 kbps<br/>10–50 km"]
    D2["📶 HaLow<br/>802.11ah<br/>150k–43M bps<br/>1–15 km"]
    D3["🛜 Wi-Fi<br/>2.4 / 5 GHz<br/>Mbps<br/>~100m"]
    D4["🔌 Ethernet<br/>TCP/IP<br/>Gbps<br/>Local/Global"]
    D5["📻 Packet<br/>Radio AX.25<br/>1.2–9.6 kbps<br/>50–200 km"]
    D6["🔗 Serial<br/>I2P · BT<br/>5 bps–Mbps<br/>Variável"]

    A --> B
    B --> C
    C --> D1
    C --> D2
    C --> D3
    C --> D4
    C --> D5
    C --> D6

    style A fill:#1a1a2e,color:#e0e0e0,stroke:#7b61ff
    style B fill:#16213e,color:#e0e0e0,stroke:#7b61ff
    style C fill:#0f3460,color:#ffffff,stroke:#00d4ff,stroke-width:3px
    style D1 fill:#1b4332,color:#e0e0e0,stroke:#40916c
    style D2 fill:#1b4332,color:#e0e0e0,stroke:#40916c
    style D3 fill:#1b4332,color:#e0e0e0,stroke:#40916c
    style D4 fill:#1b4332,color:#e0e0e0,stroke:#40916c
    style D5 fill:#1b4332,color:#e0e0e0,stroke:#40916c
    style D6 fill:#1b4332,color:#e0e0e0,stroke:#40916c

Fatos Rápidos

📋 Atributo📌 Valor
📅 Domínio Público desde2016
👤 CriadorMark Qvist (@markqvist)
🐍 Linguagem de ReferênciaPython 3
Largura de Banda5 bits/s → Gigabits/s (sem limite superior)
🔒 CriptografiaEnd-to-end por padrão — não opcional
🌐 DependênciasNenhuma — sem IP, DNS, servidores, registradores
📦 Instalaçãopip install rns
📜 LicençaDomínio Público (protocolo) + MIT/GPL (aplicações)

2. O Problema Que Ele Resolve

A internet como a conhecemos tem uma falha fundamental de design: toda comunicação flui por infraestrutura centralizada que não controlamos.

O Paradoxo da Comunicação Moderna

flowchart LR
    A["📱 Seu Dispositivo\n(Casa)"] -->|"Sai da\nrede local"| B["🏠 Roteador\ndoméstico"]
    B -->|"Tráfego\nexterno"| C["🏢 ISP local"]
    C -->|"Backbone\nregional"| D["🖥️ Data Center\nRegional"]
    D -->|"Infraestrutura\nda plataforma"| E["☁️ WhatsApp /\niMessage /\nSignal Servers"]
    E -->|"Resposta\npela nuvem"| F["🖥️ Data Center\ndo destinatário"]
    F -->|"ISP reverso"| G["🏢 ISP\ndo destinatário"]
    G -->|"Entrega\nfinal"| H["📱 Dispositivo\ndo Destinatário\n(Mesma casa!)"]

    style A fill:#1a1a2e,color:#fff,stroke:#7b61ff
    style H fill:#1a1a2e,color:#fff,stroke:#7b61ff
    style E fill:#7f0000,color:#fff,stroke:#ff4444,stroke-width:2px

    classDef infra fill:#2c2c54,color:#ddd,stroke:#444
    class B,C,D,F,G infra

Dois dispositivos a 2 metros de distância. A mensagem viaja centenas ou milhares de quilômetros.

Os Riscos Reais da Infraestrutura Centralizada

🚨 Problema🔴 Severidade📌 Exemplo Real
Desligamento intencional████████ AltaGovernos cortando internet em protestos e crises
Falha em cascata███████░ AltaInterrupção Verizon 2024 — milhões sem serviço
Censura de plataforma███████░ AltaDesativação de contas e canais sem aviso
Vigilância em massa██████░░ Média-AltaColeta de metadados por agências e plataformas
Vendor lock-in█████░░░ MédiaServiços pagos que encerram ou mudam termos
Dependência geográfica████░░░░ MédiaÁreas rurais e remotas sem cobertura
Requisitos de licença███░░░░░ Baixa-MédiaEspectro licenciado fora do alcance da maioria

3. História e Filosofia

Timeline do Projeto

graph LR
    A(["📅 2014\nInício do\ndesenvolvimento"])
    B(["📅 2016\nDomínio Público\nGitHub criado"])
    C(["📅 2018\nPrimeiros deployments\nRNode firmware"])
    D(["📅 2020\nLXMF formalizado\nNomadNet lançado"])
    E(["📅 2022\nPalestra CCC\nSideband Android"])
    F(["📅 2023\nAdoção em rádio\nIntegração ATAK"])
    G(["📅 2024\nHaLow + RNS\nFAU RTAK · MX88"])
    H(["📅 2025\nCarrier Switch\nComunidade assume"])

    A --> B --> C --> D --> E --> F --> G --> H

    style A fill:#1a1a2e,color:#aaa,stroke:#555
    style B fill:#16213e,color:#ccc,stroke:#555
    style C fill:#1b2a3e,color:#ccc,stroke:#555
    style D fill:#0f2d40,color:#ccc,stroke:#555
    style E fill:#0a3040,color:#ddd,stroke:#00d4ff
    style F fill:#0a3545,color:#ddd,stroke:#00d4ff
    style G fill:#0f3460,color:#fff,stroke:#00d4ff,stroke-width:2px
    style H fill:#1b4332,color:#fff,stroke:#40916c,stroke-width:2px

A Filosofia "Zen do Reticulum"

"O Reticulum não é uma rede. É uma ferramenta para construir milhares de redes independentes."

graph TD
    ZEN(["⚖️ Zen do Reticulum"])

    ZEN --> SOV["🏛️ Soberania"]
    SOV --> S1["Sem permissão para existir"]
    SOV --> S2["Sem autoridade central"]
    SOV --> S3["Sem registradores"]

    ZEN --> PRIV["🔒 Privacidade"]
    PRIV --> P1["Criptografia é a fundação"]
    PRIV --> P2["Anonimato do iniciador por design"]
    PRIV --> P3["Sem endereço de origem nos pacotes"]

    ZEN --> RES["🛡️ Resiliência"]
    RES --> R1["Escala linear O-de-N"]
    RES --> R2["Funciona a partir de 5 bits/s"]
    RES --> R3["Store-and-forward nativo"]

    ZEN --> ABER["🌐 Abertura"]
    ABER --> A1["Domínio público"]
    ABER --> A2["Qualquer hardware"]
    ABER --> A3["Qualquer frequência"]

    ZEN --> AUT["🤖 Autonomia"]
    AUT --> U1["Identidade criptográfica auto-gerada"]
    AUT --> U2["Sem servidores centrais"]
    AUT --> U3["Sem DNS"]

    style ZEN fill:#0f3460,color:#fff,stroke:#00d4ff,stroke-width:2px
    style SOV fill:#1a1a2e,color:#ddd,stroke:#7b61ff
    style PRIV fill:#1a1a2e,color:#ddd,stroke:#7b61ff
    style RES fill:#1a1a2e,color:#ddd,stroke:#7b61ff
    style ABER fill:#1a1a2e,color:#ddd,stroke:#7b61ff
    style AUT fill:#1a1a2e,color:#ddd,stroke:#7b61ff

4. Arquitetura Técnica Profunda

4.1 Modelo de Endereçamento

No Reticulum, não existem endereços IP, nomes de usuário, números de telefone ou qualquer identificador atribuído externamente. O endereço é derivado matematicamente da chave pública:

flowchart LR
    A["🎲 Geração<br/>de Entropia"] --> B["🔑 Par de Chaves<br/>Ed25519<br/>(Assinaturas)"]
    A --> C["🔑 Par de Chaves<br/>X25519<br/>(Troca de chaves)"]
    B --> D["📋 Chave Pública<br/>Combinada"]
    C --> D
    D --> E["#️⃣ SHA-256<br/>Hash Truncado<br/>(16 bytes = 128 bits)"]
    E --> F["🌐 Endereço na Rede<br/>&lt;a3f7c2b1d4e8...&gt;<br/><i>Único, verificável,<br/>auto-soberano</i>"]

    style F fill:#0f3460,color:#fff,stroke:#00d4ff,stroke-width:2px
    style E fill:#1b4332,color:#fff,stroke:#40916c

Tipos de Destino:

Tipo🔐 Criptografia📡 Comunicação🎯 Caso de Uso Principal
SINGLEAssimétrica por identidadePonto-a-pontoMensagens privadas, chamadas
GROUPChave pré-compartilhada (PSK)Multi-destinatárioGrupos de chat, broadcasts
PLAINNenhuma (raro)Broadcast abertoTelemetria pública, anúncios

4.2 Roteamento: Path-Based vs. Flooding

flowchart TD
    subgraph MESHTASTIC["❌ Meshtastic — Flooding (Inundação)"]
        direction LR
        M_A["Nó A"] -->|"Pacote"| M_B["Nó B"]
        M_A -->|"Pacote"| M_C["Nó C"]
        M_A -->|"Pacote"| M_D["Nó D"]
        M_B -->|"Replica"| M_E["Nó E"]
        M_B -->|"Replica"| M_F["Nó F"]
        M_C -->|"Replica"| M_E
        M_C -->|"Replica"| M_G["Nó G (destino)"]
        M_D -->|"Replica"| M_F
        M_D -->|"Replica"| M_G
    end

    subgraph RETICULUM["✅ Reticulum — Path-Based (Rota Estabelecida)"]
        direction LR
        R_A["Nó A"] -->|"1. Announce"| R_B["Nó B"]
        R_B -->|"2. Propaga"| R_C["Nó C"]
        R_C -->|"3. Chega ao destino"| R_G["Nó G (destino)"]
        R_A -.->|"4. Dados seguem<br/>APENAS a rota"| R_B
        R_B -.-> R_C
        R_C -.-> R_G
    end

    style MESHTASTIC fill:#3d0000,color:#fff,stroke:#ff4444
    style RETICULUM fill:#003d00,color:#fff,stroke:#44ff44

Comparação de Escala:

MétricaMeshtastic (Flooding)Reticulum (Path-based)
Overhead com N saltosO(kᴺ)ExponencialO(N)Linear
10 nós, 5 saltos~100.000 transmissões~5 transmissões
Colapso da redePossível com muitos nósNão ocorre por design
Eficiência em redes grandes🔴 Baixa🟢 Alta

4.3 Ciclo de Vida de um Pacote

sequenceDiagram
    participant A as 📱 Nó A (Origem)
    participant B as 🔄 Nó B (Intermediário)
    participant C as 🔄 Nó C (Intermediário)
    participant X as 🎯 Nó X (Destino)

    Note over A,X: FASE 1 — Descoberta de Rota
    A->>+B: ANNOUNCE (hash do destino X)
    B->>+C: Propaga ANNOUNCE
    C->>+X: Propaga ANNOUNCE
    X-->>-C: (registra que B é caminho para X)
    C-->>-B: (registra que C é caminho para X)
    B-->>-A: (registra que B é caminho para X)

    Note over A,X: FASE 2 — Estabelecimento de Link
    A->>B: LINK REQUEST → X
    B->>C: LINK REQUEST → X
    C->>X: LINK REQUEST → X
    X-->>C: LINK PROOF (ephemeral key)
    C-->>B: LINK PROOF
    B-->>A: LINK PROOF (link estabelecido!)

    Note over A,X: FASE 3 — Transferência de Dados
    A->>B: DATA (criptografado, rota estabelecida)
    B->>C: DATA (repassa, sem inspecionar conteúdo)
    C->>X: DATA (entrega ao destino)
    X-->>A: ACK/PROOF (confirmação)

4.4 Tipos de Pacote

Tipo📦 Função🔄 Direção
ANNOUNCEAnuncia existência de um destino na redeBroadcast → toda a rede
LINK REQUESTInicia conexão criptografada bidirecionalOrigem → Destino
DATATransporta dados por um link estabelecidoBidirecional
PATH REQUESTSolicita rota para destino desconhecidoBroadcast local
PROOFConfirmação de recebimento e integridadeDestino → Origem

4.5 Fragmentação e MTU

graph LR
    A["📄 Mensagem Grande\n(ex: 50 KB)"] --> B["✂️ Fragmentação Automática\nRNS fragmenta em MTU"]
    B --> C1["Fragment 1\n≤500 bytes"]
    B --> C2["Fragment 2\n≤500 bytes"]
    B --> C3["Fragment N\n≤500 bytes"]
    C1 --> D["📡 Transmissão\npor LoRa / HaLow / Ethernet"]
    C2 --> D
    C3 --> D
    D --> E["🔧 Remontagem Automática\nno destino"]
    E --> F["📄 Mensagem Original\nRestaurada"]

    style A fill:#2c2c54,color:#fff
    style F fill:#1b4332,color:#fff
    style D fill:#0f3460,color:#fff

5. Segurança e Criptografia

5.1 Suíte Criptográfica Completa

graph TD
    subgraph IDENTIDADE["🪪 Identidade"]
        I1["Ed25519<br/>Par de Chaves<br/>(Assinaturas)"]
        I2["X25519<br/>Par de Chaves<br/>(Troca de segredo)"]
    end

    subgraph SESSAO["🔗 Estabelecimento de Sessão"]
        S1["ECDH X25519<br/>Diffie-Hellman<br/>(chaves efêmeras)"]
        S2["HKDF<br/>SHA-256<br/>(derivação de chave)"]
    end

    subgraph TRANSPORTE["📦 Transporte de Dados"]
        T1["AES-256-CBC<br/>+ PKCS7<br/>(confidencialidade)"]
        T2["HMAC-SHA256<br/>(integridade e<br/>autenticação)"]
    end

    subgraph IMPLEMENTACAO["⚙️ Implementação"]
        P1["OpenSSL / PyCA<br/>(primário, auditado)"]
        P2["Python Puro<br/>(fallback, portável)"]
    end

    I1 --> S1
    I2 --> S1
    S1 --> S2
    S2 --> T1
    S2 --> T2
    T1 --> P1
    T2 --> P1
    P1 -.->|"fallback"| P2

    style IDENTIDADE fill:#1a1a2e,stroke:#7b61ff,color:#fff
    style SESSAO fill:#16213e,stroke:#00d4ff,color:#fff
    style TRANSPORTE fill:#0f3460,stroke:#40916c,color:#fff
    style IMPLEMENTACAO fill:#2c2c54,stroke:#888,color:#fff

5.2 Primitivas Criptográficas Detalhadas

🔐 Primitiva🧮 Algoritmo📏 Tamanho🎯 Finalidade
Troca de ChavesX25519 (Curve25519 ECDH)256 bitsSegredo compartilhado de sessão
Assinaturas DigitaisEd25519512 bits (assinatura)Autenticação de identidade
Derivação de ChavesHKDF-SHA256ConfigurávelChaves de sessão a partir do segredo
Cifra SimétricaAES-256-CBC + PKCS7256 bits (chave)Confidencialidade dos dados
Autenticação de MsgHMAC-SHA256256 bitsIntegridade e autenticidade
Endereços de RedeSHA-256 truncado128 bits (16 bytes)Identificação de destinos

5.3 Fluxo de Segurança — Handshake Criptográfico

sequenceDiagram
    participant A as 🔑 Nó A (Iniciador)
    participant B as 🔒 Nó B (Receptor)

    Note over A,B: Ambos já têm identidades Ed25519/X25519 permanentes

    A->>B: LINK REQUEST<br/>(chave pública efêmera X25519 de A)
    Note right of B: Gera chave efêmera X25519<br/>Calcula ECDH shared secret<br/>HKDF → chave de sessão AES-256
    B-->>A: LINK PROOF<br/>(chave pública efêmera X25519 de B<br/>+ assinatura Ed25519)
    Note left of A: Verifica assinatura Ed25519<br/>Calcula ECDH shared secret<br/>HKDF → mesma chave de sessão

    Note over A,B: ✅ Link estabelecido — Forward Secrecy garantido
    Note over A,B: Chaves efêmeras descartadas após uso
    Note over A,B: Comprometimento futuro ≠ decrypt de sessões passadas

    A->>B: DATA (AES-256-CBC + HMAC-SHA256)
    B->>A: DATA (AES-256-CBC + HMAC-SHA256)

5.4 Propriedades de Segurança

graph LR
    A["🌐 Rede\nReticulum"] --> B{"Cabeçalho\ndo Pacote"}
    B --> C["✅ Hash do Destino\n(16 bytes)"]
    B --> D["✅ Número de Hops"]
    B --> E["❌ SEM endereço\nde origem"]
    B --> F["❌ SEM IP\nde origem"]
    B --> G["❌ SEM identidade\ndo remetente"]

    E --> H["🎭 Anonimato\ndo Iniciador\ngarantido"]
    F --> H
    G --> H

    style H fill:#1b4332,color:#fff,stroke:#40916c,stroke-width:2px
    style E fill:#3d0000,color:#fff,stroke:#ff4444
    style F fill:#3d0000,color:#fff,stroke:#ff4444
    style G fill:#3d0000,color:#fff,stroke:#ff4444
🛡️ Propriedade📌 Implementação✅ Garantia
ConfidencialidadeAES-256-CBC por padrãoDados ilegíveis para intermediários
IntegridadeHMAC-SHA256 em cada pacoteAdulteração detectada imediatamente
AutenticidadeEd25519 no estabelecimento de linkIdentidade do destino verificável
Forward SecrecyChaves X25519 efêmeras por sessãoSessões passadas protegidas no futuro
Anonimato do RemetenteSem campo de origem nos cabeçalhosIntermediários não sabem quem enviou
Resistência a replayProofs únicos por linkPacotes capturados não podem ser reinjetados

6. Interfaces e Transportes Suportados

Mapa Visual de Interfaces

graph TD
    RNS["🔐 RETICULUM NETWORK STACK"]

    subgraph RADIO["📡 Rádio (Sem Fio)"]
        R1["LoRa via RNode<br/>0.3–27 kbps<br/>🏔️ 10–50 km"]
        R2["Wi-Fi HaLow 802.11ah<br/>150k–43M bps<br/>🌳 1–15 km"]
        R3["Wi-Fi 2.4/5 GHz<br/>Mbps<br/>🏠 ~100m"]
        R4["Packet Radio AX.25<br/>1.2–9.6 kbps<br/>📻 50–200 km"]
        R5["Bluetooth (exp.)<br/>Kbps–Mbps<br/>📱 10–100m"]
    end

    subgraph CABO["🔌 Cabeado / Virtual"]
        C1["Ethernet / LAN<br/>Mbps–Gbps<br/>Local"]
        C2["TCP/IP (Internet)<br/>Mbps–Gbps<br/>🌍 Global"]
        C3["I2P Tunnel<br/>Kbps–Mbps<br/>🔒 Anônimo Global"]
        C4["Serial<br/>9.6–115 kbps<br/>📟 Metros"]
        C5["Fibra Óptica (via TCP)<br/>Gbps<br/>🌐 Backbone"]
    end

    subgraph EXTREMO["⚡ Casos Extremos"]
        E1["Código Morse<br/>5 bps (mínimo!)<br/>🔵 Variável"]
    end

    RNS --> R1
    RNS --> R2
    RNS --> R3
    RNS --> R4
    RNS --> R5
    RNS --> C1
    RNS --> C2
    RNS --> C3
    RNS --> C4
    RNS --> C5
    RNS --> E1

    style RNS fill:#0f3460,color:#fff,stroke:#00d4ff,stroke-width:3px
    style RADIO fill:#1a1a2e,stroke:#7b61ff,color:#fff
    style CABO fill:#16213e,stroke:#40916c,color:#fff
    style EXTREMO fill:#2c2c54,stroke:#888,color:#fff

Tabela Completa de Interfaces

📡 Interface🔧 Tipo⚡ Velocidade📏 Alcance🎯 Caso de Uso Ideal💡 Notas
RNode (LoRa)Rádio RF0.3–27 kbps10–50 kmMontanhas, campo abertoHardware dedicado
Wi-Fi HaLow 802.11ahRádio RF sub-GHz150k–43 Mbps1–15+ kmÁrea urbana/rural longo alcanceAtravessa paredes
Wi-Fi 2.4/5 GHzRádio RFMbps–Gbps50–200mRedes domésticas/corporativasAutoInterface nativo
Ethernet / LANCabeadoMbps–GbpsLocalInfraestrutura fixaUDP broadcast
Packet Radio AX.25Rádio RF1.2–9.6 kbps50–200 kmRadioamadoresIntegração KISS TNC
TCP/IP (Internet)VirtualMbps–GbpsGlobalBridging entre ilhas isoladasTunneling
I2PVirtual anônimoKbps–MbpsGlobalCamada extra de anonimatoExperimental
Serial (USB/RS-232)Físico9.6–115 kbpsMetrosDispositivos embarcadosSimples e robusto
BluetoothRádio RFKbps–Mbps10–100mDispositivos móveis próximosExperimental
Fibra Óptica (via TCP)VirtualGbpsGlobalBackbone de alta capacidadeSem limite prático
Código MorseRádio RF5 bps mín.VariávelCasos extremos de emergênciaO protocolo aceita!

[!NOTE] A especificação Reticulum não define limite superior de largura de banda. O protocolo adapta automaticamente o comportamento conforme a capacidade do link.

Bridging entre Interfaces — A Mágica

flowchart LR
    P1["📱 Smartphone\nSideband App\n(apenas Wi-Fi)"]
    P2["🖥️ Laptop\nMeshChat\n(apenas Ethernet)"]
    P3["🎯 RNode no Campo\n(apenas LoRa 915 MHz)"]

    subgraph BRIDGE["🌉 Nó Intermediário (Raspberry Pi)\nWi-Fi + LoRa + Ethernet SIMULTÂNEOS"]
        B1["Interface\nWi-Fi"] 
        B2["Interface\nLoRa"]
        B3["Interface\nEthernet"]
        RNS_B["🔐 RNS\n(faz bridge automático)"]
        B1 <--> RNS_B
        B2 <--> RNS_B
        B3 <--> RNS_B
    end

    P1 <-->|"Wi-Fi\n2.4 GHz"| B1
    P2 <-->|"Ethernet\nTCP"| B3
    P3 <-->|"LoRa\n915 MHz"| B2

    style BRIDGE fill:#0f3460,color:#fff,stroke:#00d4ff,stroke-width:3px
    style RNS_B fill:#1b4332,color:#fff,stroke:#40916c

7. Hardware: O RNode

7.1 O Que É um RNode

O RNode é o hardware de referência do ecossistema Reticulum — um transceptor de rádio digital flexível que serve como interface física para a rede. Ele transforma um módulo LoRa em uma interface genérica e programável.

graph LR
    A["⚙️ Firmware RNode\n(open source)"] --> B{"Modo de\nOperação"}
    B -->|"Padrão"| C["🔌 Host-Controlled Mode\nReticulum no host controla\ntotalmente o rádio via USB"]
    B -->|"Alternativo"| D["📻 TNC Mode\nProtocolo KISS\nCompatível com software\nde radioamador (AX.25)"]

    style A fill:#0f3460,color:#fff
    style C fill:#1b4332,color:#fff
    style D fill:#2c2c54,color:#fff

7.2 Hardware Suportado — Tabela de Compatibilidade

🔧 Placa📡 Chip LoRa📟 Display🛰️ GPS💰 Nível⭐ Recomendado Para
LilyGO T-Beam v1.1SX1276/1278OLED opt.InicianteMelhor para começar
LilyGO LoRa32 v2.1/v3SX1276/1278OLED incl.InicianteCompacto e barato
Heltec LoRa32 v2/v3SX1276OLED incl.InicianteMais econômico
RAK4631 (WisBlock)SX1262ModularOpt.IntermediárioUso profissional
T-EchoSX1262E-InkIntermediárioPortátil, longa bateria
ESP32 + LoRa ShieldVáriosOpcionalOpcionalAvançadoDIY máximo controle

7.3 Fluxo de Instalação do Firmware

flowchart TD
    A["🛒 Adquirir hardware\n(LilyGO T-Beam recomendado)"] --> B["💻 Instalar Python 3\ne ferramentas RNS"]
    B --> C{"Placa\nsuportada\noficialmente?"}
    C -->|"Sim (T-Beam, LoRa32...)"| D["🌐 Web Flasher\nunsigned.io\n(sem instalação extra)"]
    C -->|"Personalizada"| E["🔧 rnodeconf\n--autoinstall"]
    D --> F["🔌 Conectar via USB\ncabo de dados"]
    E --> F
    F --> G["⚡ Gravar Firmware\nautomático"]
    G --> H{"Verificar\ninstalação"}
    H -->|"✅ OK"| I["📡 Configurar frequência\ne parâmetros LoRa"]
    H -->|"❌ Erro"| J["🔍 Verificar drivers\nSiLabs (macOS/Win)"]
    J --> F
    I --> K["🚀 RNode pronto!\nConectar ao Reticulum"]

    style A fill:#1a1a2e,color:#fff
    style K fill:#1b4332,color:#fff,stroke:#40916c,stroke-width:2px
    style J fill:#3d0000,color:#fff,stroke:#ff4444

[!CAUTION] Nunca ligue um dispositivo LoRa sem antena conectada — pode danificar permanentemente o transceptor de rádio.

7.4 Construção Customizada (Build dos Vídeos)

🧩 Componente📌 Especificação🛒 Fonte
Placa principalLilyGO T-Beam v1.1AliExpress / Mouser
Display LEDAdafruit NeopixelAdafruit
Display OLED0.96" SSD1306 I2CGenérico
AntenaInspiração militar 915 MHzEspecializada
Case frontalImpresso em 3D — PLA / PETGJLC3DP / CraftCloud
Case premiumTitânio TC4 aeroespacialJLC3DP (metal)
FirmwareRNode_Firmware (open source)GitHub/markqvist

8. O Ecossistema de Aplicações

Mapa do Ecossistema Completo

graph TD
    subgraph CORE["🔧 Core"]
        RNS["🔐 Reticulum RNS<br/>(pilha de rede)"]
        LXMF["📨 LXMF<br/>(protocolo de mensagens)"]
        RNS --> LXMF
    end

    subgraph CLIENTES["📱 Clientes de Usuário Final"]
        SB["📱 Sideband<br/>Android · Linux · macOS · Win<br/>GUI completa"]
        NN["💻 NomadNet<br/>Linux · macOS<br/>TUI + página browser"]
        MC["🌐 MeshChat<br/>Desktop · Web<br/>Interface web"]
        MCX["🖥️ MeshChatX<br/>Desktop<br/>Imagem + voz + shell"]
    end

    subgraph CLI["⌨️ Ferramentas CLI"]
        RNSH["rnsh<br/>Shell remoto seguro"]
        RNCP["rncp<br/>Cópia segura de arquivos"]
        RNX["rnx<br/>Execução remota"]
        RNPROBE["rnprobe<br/>Teste de conectividade"]
        RNPATH["rnpath<br/>Exibir rotas"]
        RNSTATUS["rnstatus<br/>Status do daemon"]
    end

    subgraph INFRA["🏗️ Infraestrutura"]
        PROP["📫 Propagation Node<br/>Store-and-forward"]
        TRANS["🔄 Transport Node<br/>Roteamento multi-hop"]
        RNODE["📡 RNode<br/>Interface LoRa física"]
    end

    LXMF --> SB
    LXMF --> NN
    LXMF --> MC
    LXMF --> MCX
    RNS --> CLI
    RNS --> INFRA

    style CORE fill:#0f3460,color:#fff,stroke:#00d4ff,stroke-width:2px
    style CLIENTES fill:#1a1a2e,color:#fff,stroke:#7b61ff
    style CLI fill:#16213e,color:#fff,stroke:#40916c
    style INFRA fill:#2c2c54,color:#fff,stroke:#888

8.1 LXMF — A Camada de Mensagens

graph LR
    subgraph ANALOGIA["Analogia com a Internet Tradicional"]
        direction TB
        I1["IP / TCP<br/>(transporte)"] -.->|"≈"| R1["Reticulum<br/>(transporte)"]
        I2["SMTP / IMAP<br/>(email)"] -.->|"≈"| R2["LXMF<br/>(mensagens)"]
        I3["Thunderbird / Gmail<br/>(cliente)"] -.->|"≈"| R3["Sideband / NomadNet<br/>(cliente)"]
    end

Estrutura de uma mensagem LXMF:

CampoTamanhoConteúdo
Destino16 bytesHash RNS do destinatário
Origem16 bytesHash RNS do remetente
Assinatura64 bytesAssinatura Ed25519
Timestamp8 bytesUnix timestamp
PayloadVariávelConteúdo MessagePack
Total mínimo~104 bytesExtremamente compacto para rádio

8.2 Comparativo de Clientes

Feature📱 Sideband💻 NomadNet🌐 MeshChat🖥️ MeshChatX
Android
Linux
macOS
Windows
Mensagens texto
Chamadas de voz
Transferência de arquivos
Mapa / Telemetria
Browser de páginas
Shell remoto
Interface web
Controle RNode
RNS interno
Dificuldade🟢 Fácil🟡 Médio🟢 Fácil🟡 Médio

9. Reticulum vs. Meshtastic: A Grande Diferença

Esta é a pergunta mais comum para quem já conhece redes mesh de rádio. A resposta curta: eles operam em camadas fundamentalmente diferentes.

Comparação Visual de Arquitetura

graph TD
    subgraph MESH["Meshtastic — Uma Tecnologia, Uma Rede"]
        MA["📱 App Meshtastic"] --> MB["📨 Protocolo Meshtastic"] --> MC["📡 LoRa APENAS"]
        style MESH fill:#3d1f00,color:#fff,stroke:#ff8c00
    end

    subgraph RET["Reticulum — Uma Rede, Qualquer Tecnologia"]
        RA["📱 Sideband / NomadNet"] --> RB["📨 LXMF"] --> RC["🔐 Reticulum RNS"]
        RC --> RD1["📡 LoRa"]
        RC --> RD2["📶 HaLow"]
        RC --> RD3["🛜 Wi-Fi"]
        RC --> RD4["🔌 Ethernet"]
        RC --> RD5["📻 Rádio Packet"]
        style RET fill:#003d1f,color:#fff,stroke:#40ff80
    end

Tabela Comparativa Definitiva

🔍 Característica🟠 Meshtastic🟢 Reticulum🏆 Vencedor
Facilidade de Setup⭐⭐⭐⭐⭐⭐⭐⭐Meshtastic
Hardware necessárioLoRa apenasQualquer digitalReticulum
RoteamentoFlooding O(kᴺ)Path-based O(N)Reticulum
EscalabilidadeLimitadaAltaReticulum
InteroperabilidadeApenas LoRa equalQualquer interfaceReticulum
SegurançaPSK / AES-256Assimétrica / Ed25519Reticulum
AnonimatoBaixoPor designReticulum
Store-and-ForwardLimitadoNativo (LXMF)Reticulum
Chamadas de vozReticulum
Shell remoto✅ (rnsh)Reticulum
Curva de aprendizadoSuaveÍngremeMeshtastic
ComunidadeMuito grandeCrescenteMeshtastic
Hardware disponívelAmploModeradoMeshtastic
Aplicativo móvel⭐⭐⭐⭐⭐⭐⭐⭐⭐Meshtastic

Fluxograma de Decisão — Meshtastic ou Reticulum?

flowchart TD
    A["❓ Começar"] --> B{"Todos os nós\nusam LoRa?"}
    B -->|"Sim, todos"| C{"Precisa de\ncomunicação\nrápida de grupo?"}
    B -->|"Não, hardware\ndiverso"| R1["✅ RETICULUM\nÉ a única opção"]
    C -->|"Sim, simples"| D{"Usuários\ntécnicos?"}
    C -->|"Não, preciso de\nvoz/shell/arquivos"| R2["✅ RETICULUM\nMais funcionalidades"]
    D -->|"Não técnicos"| M1["✅ MESHTASTIC\nPlug-and-play"]
    D -->|"Sim, técnicos"| E{"Escala >50 nós\nou grande área?"}
    E -->|"Sim"| R3["✅ RETICULUM\nEscala linear"]
    E -->|"Não, grupo pequeno"| F{"Prioridade:\nfacilidade ou\ncriptografia forte?"}
    F -->|"Facilidade"| M2["✅ MESHTASTIC\nMaior ecossistema"]
    F -->|"Criptografia\ne anonimato"| R4["✅ RETICULUM\nSegurança superior"]

    style R1 fill:#1b4332,color:#fff,stroke:#40916c
    style R2 fill:#1b4332,color:#fff,stroke:#40916c
    style R3 fill:#1b4332,color:#fff,stroke:#40916c
    style R4 fill:#1b4332,color:#fff,stroke:#40916c
    style M1 fill:#3d2000,color:#fff,stroke:#ff8c00
    style M2 fill:#3d2000,color:#fff,stroke:#ff8c00

Estratégia Complementar (Melhor dos Dois Mundos)

graph LR
    subgraph CAMADA1["Camada Primária — Reticulum + HaLow"]
        H1["📶 HaLow 916 MHz<br/>Alta velocidade<br/>Longo alcance<br/>Criptografia forte"]
    end
    subgraph CAMADA2["Camada de Fallback — Meshtastic + LoRa"]
        L1["📡 LoRa 915 MHz<br/>Baixa velocidade<br/>Alcance máximo<br/>Plug-and-play"]
    end
    subgraph DEVICE["Dispositivo Físico"]
        D["🖥️ Mesmo hardware\npode rodar ambos\ncomo interfaces\nindependentes"]
    end

    CAMADA1 <-->|"Coexistem no\nmesmo nó"| DEVICE
    CAMADA2 <-->|"Fallback automático"| DEVICE

    style CAMADA1 fill:#003d1f,color:#fff,stroke:#40ff80
    style CAMADA2 fill:#3d2000,color:#fff,stroke:#ff8c00

10. Reticulum + Wi-Fi HaLow: Mesh Tática de Longo Alcance

O Que É Wi-Fi HaLow (802.11ah)?

graph LR
    subgraph WIFI_TRAD["Wi-Fi Tradicional (5 GHz)"]
        WT1["🌊 Canal largo: 20–160 MHz"]
        WT2["⚡ Alta velocidade: Gbps"]
        WT3["📏 Curto alcance: ~100m"]
        WT4["🧱 Penetração pobre em paredes"]
        WT5["🔊 Ruído térmico alto"]
    end

    subgraph HALOW["Wi-Fi HaLow (sub-1 GHz)"]
        H1["🌊 Canal estreito: 1–8 MHz"]
        H2["⚡ Velocidade moderada: até 43 Mbps"]
        H3["📏 Longo alcance: 1–15+ km"]
        H4["🧱 Alta penetração: atravessa concreto"]
        H5["🔇 Ruído térmico baixo: -103 dBm"]
    end

    style WIFI_TRAD fill:#3d0000,color:#fff,stroke:#ff4444
    style HALOW fill:#003d1f,color:#fff,stroke:#40ff80

Comparação Técnica: Wi-Fi Tradicional vs. HaLow

📊 Parâmetro📶 Wi-Fi 5 (5 GHz)📶 Wi-Fi 6 (6 GHz)📶 HaLow (sub-GHz)
Frequência5 GHz6 GHz850–950 MHz
Alcance típico50–100m30–60m1–15+ km
Largura de canal20–160 MHz20–320 MHz1–8 MHz
Velocidade máxima~3.5 Gbps~9.6 Gbps~43 Mbps
Sensibilidade (1MHz)~-70 dBm~-70 dBm~-103 dBm
Penetração em paredes🔴 Baixa🔴 Muito baixa🟢 Alta
Penetração em vegetação🔴 Baixa🔴 Muito baixa🟢 Alta
LPD/LPI tático🔴 Visível🔴 Visível🟢 Difícil detectar
FocoVelocidadeVelocidadeAlcance + penetração

Efeito da Largura de Canal no Alcance

xychart-beta
    title "Sensibilidade do Receptor HaLow por Largura de Canal"
    x-axis ["8 MHz", "4 MHz", "2 MHz", "1 MHz"]
    y-axis "Sensibilidade (dBm)" -110 --> -70
    bar [-90, -93, -96, -103]
📡 Canal HaLow🔇 Nível de Ruído📏 Alcance Relativo🔒 LPD/LPI
8 MHzBase (~-90 dBm)1xBásico
4 MHz-3 dB~1.4xModerado
2 MHz-6 dB~2xBom
1 MHz-13 dB (~-103 dBm)~4xExcelente

Stack Completa — Reticulum sobre HaLow

graph TD
    A["🎯 ATAK / Sideband / NomadNet<br/>(Aplicações do Usuário)"]
    B["📨 LXMF / CoT / SA<br/>(Protocolo de Mensagens)"]
    C["🔐 RETICULUM NETWORK STACK<br/>Roteamento soberano + criptografia E2E<br/>Fragmentação automática (MTU 500 bytes)"]
    D["🔄 Interface UDP (Reticulum)"]
    E["🕸️ batman-adv / 802.11s Mesh Layer<br/>(malha IP subjacente)"]
    F["📶 Wi-Fi HaLow 802.11ah<br/>Morse Micro MM6108<br/>Canal 28 · 8 MHz · 916 MHz<br/>WPA3 SAE (criptografia de enlace)"]

    A --> B --> C --> D --> E --> F

    style C fill:#0f3460,color:#fff,stroke:#00d4ff,stroke-width:3px
    style F fill:#1b4332,color:#fff,stroke:#40916c,stroke-width:2px

11. Reticulum + ATAK: Consciência Tática Descentralizada

O Que É o ATAK?

📋 Atributo📌 Informação
Nome completoAndroid Team Awareness Kit
OrigemDepartamento de Defesa dos EUA
LicençaOpen source (CivTAK)
PlataformaAndroid
Função principalMapeamento e consciência situacional
UsuáriosMilitares, SAR, bombeiros, emergência
Protocolo de dadosCursor on Target (CoT) — multicast UDP

Fluxo da Bridge Reticulum-ATAK

sequenceDiagram
    participant A as 📱 ATAK App (Dispositivo 1)
    participant BA as 🔄 Bridge Script Python (Nó 1)
    participant RNS1 as 🔐 Reticulum (Nó 1)
    participant RADIO as 📡 HaLow / LoRa
    participant RNS2 as 🔐 Reticulum (Nó 2)
    participant BB as 🔄 Bridge Script Python (Nó 2)
    participant B as 📱 ATAK App (Dispositivo 2)

    A->>BA: CoT/SA multicast UDP\n(GPS, chat, telemetria)
    Note over BA: "Sequestra" multicast local
    BA->>RNS1: Empacota dados CoT
    RNS1->>RNS1: Fragmenta → MTU 500 bytes
    Note over RNS1: Criptografa AES-256 + HMAC
    RNS1->>RADIO: Transmite pacotes fragmentados
    RADIO->>RNS2: Recebe e demodula
    RNS2->>RNS2: Remonta fragmentos
    Note over RNS2: Descriptografa e verifica integridade
    RNS2->>BB: Dados CoT restaurados
    BB->>B: Injeta como multicast local UDP
    Note over B: ATAK recebe como se fosse\nrede local normal!

Capacidades com a Bridge Ativa

📡 Dado🔄 Via Reticulum📏 Tamanho Típico✅ Funciona
Cursor on Target (CoT)UDP multicast → RNS~200–500 bytes✅ Excelente
Chat ATAKUDP multicast → RNS~100–2000 bytes✅ Muito bom
Dados de mapa (SA)UDP multicast → RNS~500–5000 bytes✅ Bom
Voz (VX plugin)UDP stream → RNS~8–64 kbps✅ Funciona
Vídeo RTSPTCP stream → RNS~500 kbps–2 Mbps⚠️ Limitado

[!IMPORTANT] O vídeo RTSP foi testado com sucesso através de 2 prédios de concreto, mas é mais exigente em largura de banda. Áudio push-to-talk funcionou através de 12 paredes de tijolo de cimento sem problemas.

Cenários de Uso: Antes e Depois do Reticulum

📡 Sistema💰 Custo Estimado🎯 Capacidade📜 Licença RF🔓 Open Source
Persistent Systems MPU5$15.000–$25.000/nó⭐⭐⭐⭐⭐Licenciada
L3 Harris MANET$10.000–$20.000/nó⭐⭐⭐⭐⭐Licenciada
Silvus StreamCaster$8.000–$15.000/nó⭐⭐⭐⭐Licenciada
Rádio VHF/UHF Analógico$200–$800/rádio⭐⭐Licenciada
Meshtastic + LoRa$30–$80/nó⭐⭐⭐ISM (livre)
Reticulum + HaLow (Haven/MX88)$200–$800/nó⭐⭐⭐⭐ISM (livre)

12. Casos de Uso Reais

Mapa de Aplicações por Domínio

graph TD
    ROOT(["🔐 Reticulum\nCasos de Uso"])

    ROOT --> EM["🚨 Emergências\ne Desastres"]
    EM --> E1["Furacões e inundações"]
    EM --> E2["Comunicação sem ISP"]
    EM --> E3["Redes de vizinhança"]

    ROOT --> TAT["🎯 Operações Táticas"]
    TAT --> T1["SAR — Busca e Salvamento"]
    TAT --> T2["ATAK sobre mesh IP"]
    TAT --> T3["Patrulhas e convoys"]

    ROOT --> COM["🏘️ Comunidades"]
    COM --> C1["FryFunk · MeshenNYC"]
    COM --> C2["Gyet · Eventos/festivais"]

    ROOT --> HAM["📻 Radioamadores"]
    HAM --> H1["Packet radio AX.25"]
    HAM --> H2["Redes ARES emergência"]

    ROOT --> PRIV["🔒 Privacidade"]
    PRIV --> P1["Comunicação sem plataformas"]
    PRIV --> P2["Resistente a censura"]

    ROOT --> RUR["🌾 Rural e Remoto"]
    RUR --> R1["Fazendas — mesh km"]
    RUR --> R2["Comunidades isoladas"]

    ROOT --> PES["🎓 Pesquisa"]
    PES --> PE1["FAU RTAK project"]
    PES --> PE2["CCC · FOSDEM"]

    style ROOT fill:#0f3460,color:#fff,stroke:#00d4ff,stroke-width:2px
    style EM fill:#3d0000,color:#fff,stroke:#ff4444
    style TAT fill:#1b2240,color:#fff,stroke:#7b61ff
    style COM fill:#1b3320,color:#fff,stroke:#40916c
    style HAM fill:#2a2000,color:#fff,stroke:#ff8c00
    style PRIV fill:#1a1a2e,color:#fff,stroke:#888
    style RUR fill:#1b3320,color:#fff,stroke:#40916c
    style PES fill:#16213e,color:#fff,stroke:#00d4ff

Comparativo de Cenários Táticos

📋 Cenário🔴 Sem Reticulum🟢 Com Reticulum + HaLow
SAR em terreno remotoRádios VHF analógicos apenasGPS, voz digital, vídeo, mapas
Resposta a desastreInfraestrutura danificada = sem comunicaçãoMesh autônomo sobrevive ao desastre
Operação táticaSistemas $20k+, frequência licenciadaHardware OSS, espectro ISM
Propriedade ruralSem conectividade entre pontosMesh privada de vários km
Evento/festivalCelular sobrecarregadoRede local independente
Privacidade pessoalDados em servidores de terceirosEnd-to-end, sem servidores

13. Repositórios e Links Essenciais

🗺️ Mapa dos Repositórios Oficiais

graph TD
    MQ["👤 github.com/markqvist\n(Mark Qvist)"]

    subgraph CORE["🔧 Core Stack"]
        R["📦 Reticulum\nStack principal Python"]
        L["📦 LXMF\nProtocolo de mensagens"]
        RF["📦 RNode_Firmware\nFirmware LoRa hardware"]
    end

    subgraph APPS["📱 Aplicações"]
        SB["📦 Sideband\nAndroid + Desktop GUI"]
        NN["📦 NomadNet\nTUI + browser"]
    end

    MQ --> R
    MQ --> L
    MQ --> RF
    MQ --> SB
    MQ --> NN
    R --> L
    L --> SB
    L --> NN

    style MQ fill:#0f3460,color:#fff,stroke:#00d4ff
    style CORE fill:#1a1a2e,stroke:#7b61ff,color:#fff
    style APPS fill:#16213e,stroke:#40916c,color:#fff

Core — Implementação de Referência

🏗️ Projeto🔗 GitHub📦 PyPI📌 Descrição
Reticulum (RNS)markqvist/Reticulumpip install rnsStack principal
RNode Firmwaremarkqvist/RNode_FirmwareFirmware LoRa hardware
LXMFmarkqvist/LXMFpip install lxmfProtocolo de mensagens

Aplicações

📱 Projeto🔗 GitHub🖥️ Plataformas📌 Destaque
Sidebandmarkqvist/SidebandAndroid, Linux, macOS, WinCliente principal
NomadNetmarkqvist/NomadNetLinux, macOSBrowser de µ-páginas
MeshChatBuscar: MeshChat ReticulumWeb, DesktopInterface web
MeshChatXBuscar: MeshChatX LXMFDesktopVoz + shell

Documentação

📚 Recurso🔗 URL📌 Conteúdo
Manual Oficialreticulum.network/manual/Documentação definitiva e completa
Site Oficialreticulum.networkVisão geral e downloads
Blog do Criadorunsigned.ioGuias de hardware e artigos técnicos
Wiki da Comunidadereticulum.communityRecursos mantidos pela comunidade
Manual Mirrormarkqvist.github.io/Reticulum/manual/Mirror GitHub Pages

Projetos do Ecossistema

🛰️ Projeto🔗 Fonte📌 Relação com Reticulum
Haven NodeSérie de vídeos (GitHub)Nó mesh RPi + OpenWRT + Reticulum integrado
MorosX MX88morosx.comNó MANET profissional com HaLow + LoRa + RNS
OpenMANETGitHub: OpenMANETOpenWRT para roteadores de campo
ATAK / CivTAKtak.govConsciência situacional integrada via bridge
Meshtasticmeshtastic.orgComplementar como fallback LoRa
Morse Micromorsemicro.comSilício HaLow nos nós Haven
FAU RTAKfau.eduPesquisa acadêmica RNS + ATAK

14. Comunidade e Eventos

Estado do Projeto — Timeline Recente

graph LR
    Q1(["2024 Q1\nCrescimento em rádio\nHaLow documentado"])
    Q2(["2024 Q2\nFAU RTAK publicado\nMX88 adota RNS"])
    Q3(["2024 Q3\nATAK testado\nHaven Node integra RNS"])
    Q4(["2024 Q4\nCCC e FOSDEM\nAdoção em defesa"])
    Q5(["2025 Q4\nCarrier Switch\nMark Qvist se retira"])
    Q6(["2026\nProtocolo estável\nComunidade no controle"])

    Q1 --> Q2 --> Q3 --> Q4 --> Q5 --> Q6

    style Q1 fill:#16213e,color:#ccc,stroke:#555
    style Q2 fill:#0f2d40,color:#ccc,stroke:#555
    style Q3 fill:#0f3460,color:#ddd,stroke:#00d4ff
    style Q4 fill:#0f3460,color:#ddd,stroke:#00d4ff
    style Q5 fill:#3d1500,color:#fff,stroke:#ff8c00,stroke-width:2px
    style Q6 fill:#1b4332,color:#fff,stroke:#40916c,stroke-width:2px

[!WARNING] Mark Qvist anunciou um "Carrier Switch" em dezembro de 2025 — uma retirada do engajamento público. O protocolo permanece em domínio público e funcional, mas o desenvolvimento ativo agora é responsabilidade da comunidade.

Onde Encontrar a Comunidade

🌐 Local📌 Foco🔗 Como Encontrar
CCC (Chaos Communication Congress)Palestras, workshops, encontrosevents.ccc.de — buscar "Reticulum"
FOSDEMApresentações técnicas europeiasfosdem.org
RedditDiscussões gerais e projetosr/reticulum, r/meshtastic, r/amateurradio
DiscordComunidades Haven, MorosX, ATAKServidores específicos dos projetos
GitHub DiscussionsDiscussões técnicas formaisgithub.com/markqvist/Reticulum/discussions
Matrix/ElementComunidade open-sourceBuscar salas #reticulum

15. Como Começar: Guia de Início Rápido

Fluxograma de Escolha de Setup

flowchart TD
    A["🚀 Quero experimentar\no Reticulum"] --> B{"Tenho hardware\nLoRa?"}
    B -->|"Não"| C["💻 Opção 1: Só Software\nVia Wi-Fi local"]
    B -->|"Sim"| D{"Placa suportada\nofficialmente?"}
    D -->|"Sim (T-Beam, LoRa32...)"| E["🌐 Opção 2: Web Flasher\n(mais fácil)"]
    D -->|"Customizada"| F["🔧 Opção 3: rnodeconf\n(linha de comando)"]
    C --> G{"Quero interface\ngráfica?"}
    G -->|"Sim"| H["📱 Instalar Sideband\n(Android ou Desktop)"]
    G -->|"Não, terminal"| I["💻 Instalar NomadNet\n(TUI)"]
    E --> J["📡 Configurar frequência\ne parâmetros"]
    F --> J
    J --> K["🔐 Iniciar daemon rnsd"]
    H --> K
    I --> K
    K --> L["🌐 Você está na rede!"]

    style L fill:#1b4332,color:#fff,stroke:#40916c,stroke-width:3px
    style A fill:#0f3460,color:#fff

Opção 1: Testar Sem Hardware (Wi-Fi Local)

# 1. Instalar Reticulum + NomadNet
pip3 install rns nomadnet

# 2. Iniciar daemon (detecta Wi-Fi automaticamente via UDP multicast)
rnsd

# 3. Abrir NomadNet em outro terminal
nomadnet

# ✅ Você está na rede Reticulum via Wi-Fi local!

Opção 2: Com Hardware RNode (LoRa)

# 1. Instalar ferramentas
pip3 install rns

# 2. Conectar hardware LoRa compatível via USB

# 3. Auto-instalação do firmware
rnodeconf --autoinstall

# 4. Configurar ~/.reticulum/config (veja abaixo)

# 5. Iniciar daemon
rnsd

# 6. Usar Sideband (GUI) ou NomadNet (TUI)

Configuração Básica Comentada

# ~/.reticulum/config
# Gerado automaticamente na primeira execução

[reticulum]
  # Habilitar roteamento de pacotes entre interfaces
  enable_transport = True
  
  # Compartilhar instância entre aplicações locais
  share_instance = Yes
  shared_instance_port = 37428

[interfaces]

  # Interface automática — detecta Wi-Fi local automaticamente
  [[Default Interface]]
    type = AutoInterface
    enabled = yes
    group_id = reticulum   # Identificador da rede local

  # Interface RNode (LoRa) — adicionar após instalar firmware
  [[Meu RNode LoRa]]
    type = RNodeInterface
    enabled = yes
    port = /dev/ttyUSB0         # Porta serial (Linux)
    frequency = 915000000       # 915 MHz (US/BR ISM band)
    bandwidth = 125000          # 125 kHz spreading
    txpower = 14                # dBm (máx legal ~17 dBm)
    spreadingfactor = 8         # SF8 — equilíbrio velocidade/alcance
    codingrate = 5              # Correção de erros

Opção 3: Smartphone Android

1. Google Play / F-Droid → buscar "Sideband"
2. Instalar e abrir
3. O app cria automaticamente sua identidade criptográfica
4. Conectar ao Wi-Fi local → você está na rede
5. (Opcional) Conectar RNode via USB OTG para LoRa

Comandos Essenciais de Referência

⌨️ Comando📌 Descrição
rnsdIniciar daemon Reticulum
rnstatusVer status, interfaces e rotas
rnprobe <hash>Testar conectividade a um destino
rnpath <hash>Exibir rota até destino
rnsh -lIniciar servidor de shell remoto
rnsh <hash>Conectar a shell remoto
rncp file.txt <hash>:/pathCopiar arquivo para destino remoto
rnodeconf --autoinstallInstalar firmware RNode
rnodeconf /dev/ttyUSB0 --infoInfo do RNode conectado

16. O Futuro do Reticulum

Maturidade Atual por Componente

🧩 Componente🟩 Maturidade📊 Nível
Protocolo RNS (core)████████████████████ 95%Estável / Produção
LXMF (mensagens)█████████████████░░░ 85%Estável / Produção
RNode Firmware████████████████░░░░ 80%Estável
Sideband (GUI)███████████████░░░░░ 78%Estável / Ativo
NomadNet (TUI)██████████████░░░░░░ 72%Estável
HaLow Integration████████████░░░░░░░░ 60%Em Desenvolvimento
ATAK Bridge███████████░░░░░░░░░ 55%Experimental
Voz e Vídeo█████████░░░░░░░░░░░ 45%Experimental

Tendências e Próximos Passos (2025–2027)

graph TD
    subgraph DONE["✅ Estável — Em Produção"]
        D1["Protocolo RNS core\n2016 → 2025"]
        D2["LXMF store-and-forward\n2020 → 2025"]
        D3["RNode LoRa firmware\n2018 → 2025"]
        D4["Sideband Android e Desktop\n2022 → 2025"]
    end

    subgraph ACTIVE["🔄 Em Desenvolvimento Ativo"]
        A1["Integração HaLow madura\n2024 → 2026"]
        A2["Bridge ATAK padronizada\n2024 → 2026"]
        A3["Hardware dedicado MX88\n2024 → 2026"]
    end

    subgraph FUTURE["🔮 Futuro"]
        F1["Especificação formal\n2026 → 2027"]
        F2["Portabilidade multi-linguagem\n2026 → 2027"]
        F3["Voz e vídeo otimizados\n2025 → 2027"]
        F4["Interface mobile melhorada\n2025 → 2027"]
    end

    DONE --> ACTIVE --> FUTURE

    style DONE fill:#1b4332,color:#fff,stroke:#40916c,stroke-width:2px
    style ACTIVE fill:#0f3460,color:#fff,stroke:#00d4ff,stroke-width:2px
    style FUTURE fill:#2c2c54,color:#ddd,stroke:#7b61ff,stroke-width:2px

O Que Faz o Reticulum Diferente no Longo Prazo

graph TD
    P["🌐 Problema Central:\nInfraestruturas de comunicação\nsão pontos únicos de falha\ne controle"]

    S1["💸 Solução Comercial\nStarlink, Celular, ISP"] 
    S2["🔐 Solução Reticulum\nRede paralela soberana"]

    P --> S1
    P --> S2

    S1 --> R1["Depende de empresa/governo"]
    S1 --> R2["Pode ser desligado"]
    S1 --> R3["Licenças e assinaturas"]
    S1 --> R4["Dados nos servidores deles"]

    S2 --> V1["✅ Você é o operador"]
    S2 --> V2["✅ Não pode ser desligado centralmente"]
    S2 --> V3["✅ Espectro ISM não licenciado"]
    S2 --> V4["✅ Dados criptografados, no seu hardware"]
    S2 --> V5["✅ Funciona sem internet"]
    S2 --> V6["✅ Domínio público para sempre"]

    style P fill:#3d0000,color:#fff,stroke:#ff4444
    style S2 fill:#003d1f,color:#fff,stroke:#40ff80
    style V1 fill:#1b4332,color:#fff
    style V2 fill:#1b4332,color:#fff
    style V3 fill:#1b4332,color:#fff
    style V4 fill:#1b4332,color:#fff
    style V5 fill:#1b4332,color:#fff
    style V6 fill:#1b4332,color:#fff

"Moments like this are the why I started building in the first place. And I couldn't be here without you. Not as an audience, but as people building this alongside me. A parallel network that we don't rent. We actually own."

Criador do Haven Node, vídeo "Reticulum + HaLow + ATAK" (trecho final, ~22:14)


Glossário Rápido

📖 Termo📌 Definição
RNSReticulum Network Stack — a pilha de rede completa
LXMFLightweight Extensible Message Format — protocolo de mensagens
RNodeHardware de interface de rádio para Reticulum
DestinationEntidade endereçável na rede (hash da chave pública, 16 bytes)
LinkConexão criptografada bidirecional entre dois destinos
AnnouncePacote que anuncia existência de um destino na rede
IFACInterface Access Code — controle de acesso a interfaces
PathRota estabelecida para alcançar um destino
Propagation NodeNó que armazena e propaga mensagens LXMF offline
CoTCursor on Target — formato de dados de posição do ATAK
SARSearch and Rescue — busca e salvamento
HaLowWi-Fi 802.11ah — sub-1 GHz, longo alcance, penetração alta
MANETMobile Ad-hoc NETwork — rede sem infraestrutura fixa
MTUMaximum Transmission Unit — tamanho máximo de pacote
Forward SecrecyComprometer chave atual não expõe sessões passadas
LPD/LPILow Probability of Detection/Interception — vantagem tática RF
CCCChaos Communication Congress — conferência anual de hackers
ECDHElliptic Curve Diffie-Hellman — protocolo de troca de chaves
HKDFHMAC-based Key Derivation Function — derivação de chaves
PSKPre-Shared Key — chave pré-compartilhada (usada no Meshtastic)

17. Vídeos — Assista e Estude o Reticulum

Uma curadoria de vídeos essenciais sobre o Reticulum, organizados por categoria e nível.


🎬 Vídeos que inspiraram este artigo

Estes são os dois vídeos cujas transcrições completas embasaram grande parte do conteúdo técnico e prático deste guia:

#📺 Canal🎬 Título📌 Destaque🔗 Link
1Haven NodeReticulum + HaLow + ATAK — Building a Sovereign MeshDemonstração real de RNode LoRa ↔ Wi-Fi, bridge ATAK sobre HaLow, RSSI ao vivo▶ Assistir
2Haven NodeMX88 Field Test — Voice, Video & Maps Through ConcreteTeste tático com MorosX MX88: voz através de 12 paredes de concreto, vídeo RTSP, ATAK▶ Assistir

🏛️ A Palestra Canônica — Mark Qvist no CCC

A referência definitiva sobre a filosofia e arquitetura do Reticulum, apresentada pelo próprio criador.

📺 Evento🎬 Título📅 Ano📌 Conteúdo🔗 Link
38C3 — Chaos Communication CongressReticulum: Unstoppable Networks for The People2024Filosofia, arquitetura técnica, demonstrações ao vivo, visão de futuro — por Mark Qvist▶ media.ccc.de

📚 Tutoriais e Explicações Técnicas

Vídeos educativos para entender e começar a usar o Reticulum:

📺 Canal🎬 Título🎯 Nível📌 O que você aprende🔗 Link
Linux in a BitReticulum Network: How it Works and Why it's SO GOOD🟢 InicianteConceitos fundamentais: endereçamento, criptografia, diferenças do TCP/IP, por que o protocolo é relevante▶ Buscar no YouTube
andy kirbyHow to get started with Reticulum and RNode🟢 InicianteSetup prático do RNode, instalação do firmware, configuração do Reticulum, primeiros passos com Sideband▶ Buscar no YouTube
EmComm SolutionsGetting Started with Reticulum — Sideband and MeshChat🟢 InicianteFoco em comunicações de emergência: instalar Sideband, configurar MeshChat, substituir mensageiros convencionais▶ Buscar no YouTube

⚙️ Conteúdo Avançado e Tático

Para quem quer ir fundo em deployments reais, rádio e casos de uso táticos:

📺 Canal🎬 Título / Série🎯 Nível📌 O que você aprende🔗 Link
The Tech PrepperReticulum — Wi-Fi + LoRa RNode Transport Architecture and Field Test🔴 AvançadoArquitetura de transporte com múltiplas interfaces simultâneas, teste de campo real▶ Buscar no YouTube
The Tech PrepperReticulum — Post Internet Network — Why HF Modems?🔴 AvançadoUso de Reticulum sobre rádio HF, modems de alta frequência, cenários pós-infraestrutura▶ Buscar no YouTube
The Tech PrepperSérie completa sobre Reticulum🟡–🔴 Médio/AvançadoBiblioteca extensa: roteamento, field tests, integrações de rádio, packet radio, telemetria▶ Canal completo

🗺️ Mapa Visual — Como os Vídeos se Relacionam

graph TD
    subgraph FILOSOFIA["🏛️ Filosofia e Fundamentos"]
        V1["38C3 — Mark Qvist\nUnstoppable Networks\n(palestra canônica)"]
        V2["Linux in a Bit\nHow it Works\n(melhor intro conceitual)"]
    end

    subgraph PRATICA["🔧 Prática e Setup"]
        V3["andy kirby\nGetting Started + RNode\n(melhor para iniciantes)"]
        V4["EmComm Solutions\nSideband + MeshChat\n(foco em emergências)"]
    end

    subgraph CAMPO["🎯 Campo e Integração"]
        V5["Haven Node — Vídeo 1\nReticulum + HaLow + ATAK\n(base deste artigo)"]
        V6["Haven Node — Vídeo 2\nMX88 Field Test\n(voz + vídeo + concreto)"]
        V7["The Tech Prepper\nSérie avançada\n(rádio, HF, táticas)"]
    end

    V1 --> V2
    V2 --> V3
    V3 --> V4
    V4 --> V5
    V5 --> V6
    V6 --> V7

    style FILOSOFIA fill:#0f3460,color:#fff,stroke:#00d4ff,stroke-width:2px
    style PRATICA fill:#1b4332,color:#fff,stroke:#40916c,stroke-width:2px
    style CAMPO fill:#2c2c54,color:#ddd,stroke:#7b61ff,stroke-width:2px

[!TIP] Trilha de estudo recomendada: Comece com a palestra do CCC (fundamentos filosóficos) → Linux in a Bit (arquitetura técnica) → andy kirby (setup prático) → vídeos do Haven Node (integração completa com HaLow e ATAK) → The Tech Prepper (casos avançados de rádio).


Última atualização: Julho 2026 Fontes: reticulum.network · github.com/markqvist · unsigned.io · reticulum.community · FAU RTAK Research · Transcrições de vídeos de campo

Fim da Transmissão

Crom Ecossistema

Todas as ferramentas conectadas em um único lugar.

arrow_outward language

ENGLISH

arrow_outward watch

MODO HACKER

arrow_outward menu_book

CROM Wiki

arrow_outward dynamic_feed

MiniBlog

arrow_outward build

Ferramentas

arrow_outward movie

Cromva

arrow_outward map

GeoFlowMap

arrow_outward library_books

Sume

arrow_outward folder_zip

OmniFiles

arrow_outward newspaper

MarketNews

arrow_outward sync_alt

P2PFile

arrow_outward database

DbFakeAI

arrow_outward code

Verbo

arrow_outward apps

MiniApps