> "Uma rede paralela que não alugamos. Que realmente possuímos."
Índice
- O Que É o Reticulum?
- O Problema Que Ele Resolve
- História e Filosofia
- Arquitetura Técnica Profunda
- Segurança e Criptografia
- Interfaces e Transportes Suportados
- Hardware: O RNode
- O Ecossistema de Aplicações
- Reticulum vs. Meshtastic: A Grande Diferença
- Reticulum + Wi-Fi HaLow: Mesh Tática de Longo Alcance
- Reticulum + ATAK: Consciência Tática Descentralizada
- Casos de Uso Reais
- Repositórios e Links Essenciais
- Comunidade e Eventos
- Como Começar: Guia de Início Rápido
- 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 desde | 2016 |
| 👤 Criador | Mark Qvist (@markqvist) |
| 🐍 Linguagem de Referência | Python 3 |
| ⚡ Largura de Banda | 5 bits/s → Gigabits/s (sem limite superior) |
| 🔒 Criptografia | End-to-end por padrão — não opcional |
| 🌐 Dependências | Nenhuma — sem IP, DNS, servidores, registradores |
| 📦 Instalação | pip install rns |
| 📜 Licença | Domí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 | ████████ Alta | Governos cortando internet em protestos e crises |
| Falha em cascata | ███████░ Alta | Interrupção Verizon 2024 — milhões sem serviço |
| Censura de plataforma | ███████░ Alta | Desativação de contas e canais sem aviso |
| Vigilância em massa | ██████░░ Média-Alta | Coleta de metadados por agências e plataformas |
| Vendor lock-in | █████░░░ Média | Serviç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édia | Espectro 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/><a3f7c2b1d4e8...><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 |
SINGLE | Assimétrica por identidade | Ponto-a-ponto | Mensagens privadas, chamadas |
GROUP | Chave pré-compartilhada (PSK) | Multi-destinatário | Grupos de chat, broadcasts |
PLAIN | Nenhuma (raro) | Broadcast aberto | Telemetria 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étrica | Meshtastic (Flooding) | Reticulum (Path-based) |
| Overhead com N saltos | O(kᴺ) — Exponencial | O(N) — Linear |
| 10 nós, 5 saltos | ~100.000 transmissões | ~5 transmissões |
| Colapso da rede | Possível com muitos nós | Nã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 |
ANNOUNCE | Anuncia existência de um destino na rede | Broadcast → toda a rede |
LINK REQUEST | Inicia conexão criptografada bidirecional | Origem → Destino |
DATA | Transporta dados por um link estabelecido | Bidirecional |
PATH REQUEST | Solicita rota para destino desconhecido | Broadcast local |
PROOF | Confirmação de recebimento e integridade | Destino → 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 Chaves | X25519 (Curve25519 ECDH) | 256 bits | Segredo compartilhado de sessão |
| Assinaturas Digitais | Ed25519 | 512 bits (assinatura) | Autenticação de identidade |
| Derivação de Chaves | HKDF-SHA256 | Configurável | Chaves de sessão a partir do segredo |
| Cifra Simétrica | AES-256-CBC + PKCS7 | 256 bits (chave) | Confidencialidade dos dados |
| Autenticação de Msg | HMAC-SHA256 | 256 bits | Integridade e autenticidade |
| Endereços de Rede | SHA-256 truncado | 128 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 |
| Confidencialidade | AES-256-CBC por padrão | Dados ilegíveis para intermediários |
| Integridade | HMAC-SHA256 em cada pacote | Adulteração detectada imediatamente |
| Autenticidade | Ed25519 no estabelecimento de link | Identidade do destino verificável |
| Forward Secrecy | Chaves X25519 efêmeras por sessão | Sessões passadas protegidas no futuro |
| Anonimato do Remetente | Sem campo de origem nos cabeçalhos | Intermediários não sabem quem enviou |
| Resistência a replay | Proofs únicos por link | Pacotes 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 RF | 0.3–27 kbps | 10–50 km | Montanhas, campo aberto | Hardware dedicado |
| Wi-Fi HaLow 802.11ah | Rádio RF sub-GHz | 150k–43 Mbps | 1–15+ km | Área urbana/rural longo alcance | Atravessa paredes |
| Wi-Fi 2.4/5 GHz | Rádio RF | Mbps–Gbps | 50–200m | Redes domésticas/corporativas | AutoInterface nativo |
| Ethernet / LAN | Cabeado | Mbps–Gbps | Local | Infraestrutura fixa | UDP broadcast |
| Packet Radio AX.25 | Rádio RF | 1.2–9.6 kbps | 50–200 km | Radioamadores | Integração KISS TNC |
| TCP/IP (Internet) | Virtual | Mbps–Gbps | Global | Bridging entre ilhas isoladas | Tunneling |
| I2P | Virtual anônimo | Kbps–Mbps | Global | Camada extra de anonimato | Experimental |
| Serial (USB/RS-232) | Físico | 9.6–115 kbps | Metros | Dispositivos embarcados | Simples e robusto |
| Bluetooth | Rádio RF | Kbps–Mbps | 10–100m | Dispositivos móveis próximos | Experimental |
| Fibra Óptica (via TCP) | Virtual | Gbps | Global | Backbone de alta capacidade | Sem limite prático |
| Código Morse | Rádio RF | 5 bps mín. | Variável | Casos extremos de emergência | O 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.1 | SX1276/1278 | OLED opt. | ✅ | Iniciante | ⭐ Melhor para começar |
| LilyGO LoRa32 v2.1/v3 | SX1276/1278 | OLED incl. | ❌ | Iniciante | Compacto e barato |
| Heltec LoRa32 v2/v3 | SX1276 | OLED incl. | ❌ | Iniciante | Mais econômico |
| RAK4631 (WisBlock) | SX1262 | Modular | Opt. | Intermediário | Uso profissional |
| T-Echo | SX1262 | E-Ink | ✅ | Intermediário | Portátil, longa bateria |
| ESP32 + LoRa Shield | Vários | Opcional | Opcional | Avançado | DIY 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 principal | LilyGO T-Beam v1.1 | AliExpress / Mouser |
| Display LED | Adafruit Neopixel | Adafruit |
| Display OLED | 0.96" SSD1306 I2C | Genérico |
| Antena | Inspiração militar 915 MHz | Especializada |
| Case frontal | Impresso em 3D — PLA / PETG | JLC3DP / CraftCloud |
| Case premium | Titânio TC4 aeroespacial | JLC3DP (metal) |
| Firmware | RNode_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:
| Campo | Tamanho | Conteúdo |
| Destino | 16 bytes | Hash RNS do destinatário |
| Origem | 16 bytes | Hash RNS do remetente |
| Assinatura | 64 bytes | Assinatura Ed25519 |
| Timestamp | 8 bytes | Unix timestamp |
| Payload | Variável | Conteúdo MessagePack |
| Total mínimo | ~104 bytes | Extremamente 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ário | LoRa apenas | Qualquer digital | Reticulum |
| Roteamento | Flooding O(kᴺ) | Path-based O(N) | Reticulum |
| Escalabilidade | Limitada | Alta | Reticulum |
| Interoperabilidade | Apenas LoRa equal | Qualquer interface | Reticulum |
| Segurança | PSK / AES-256 | Assimétrica / Ed25519 | Reticulum |
| Anonimato | Baixo | Por design | Reticulum |
| Store-and-Forward | Limitado | Nativo (LXMF) | Reticulum |
| Chamadas de voz | ❌ | ✅ | Reticulum |
| Shell remoto | ❌ | ✅ (rnsh) | Reticulum |
| Curva de aprendizado | Suave | Íngreme | Meshtastic |
| Comunidade | Muito grande | Crescente | Meshtastic |
| Hardware disponível | Amplo | Moderado | Meshtastic |
| 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ência | 5 GHz | 6 GHz | 850–950 MHz |
| Alcance típico | 50–100m | 30–60m | 1–15+ km |
| Largura de canal | 20–160 MHz | 20–320 MHz | 1–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 |
| Foco | Velocidade | Velocidade | Alcance + 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 MHz | Base (~-90 dBm) | 1x | Básico |
| 4 MHz | -3 dB | ~1.4x | Moderado |
| 2 MHz | -6 dB | ~2x | Bom |
| 1 MHz | -13 dB (~-103 dBm) | ~4x | Excelente |
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 completo | Android Team Awareness Kit |
| Origem | Departamento de Defesa dos EUA |
| Licença | Open source (CivTAK) |
| Plataforma | Android |
| Função principal | Mapeamento e consciência situacional |
| Usuários | Militares, SAR, bombeiros, emergência |
| Protocolo de dados | Cursor 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 ATAK | UDP 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 RTSP | TCP 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 remoto | Rádios VHF analógicos apenas | GPS, voz digital, vídeo, mapas |
| Resposta a desastre | Infraestrutura danificada = sem comunicação | Mesh autônomo sobrevive ao desastre |
| Operação tática | Sistemas $20k+, frequência licenciada | Hardware OSS, espectro ISM |
| Propriedade rural | Sem conectividade entre pontos | Mesh privada de vários km |
| Evento/festival | Celular sobrecarregado | Rede local independente |
| Privacidade pessoal | Dados em servidores de terceiros | End-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
Aplicações
| 📱 Projeto | 🔗 GitHub | 🖥️ Plataformas | 📌 Destaque |
| Sideband | markqvist/Sideband | Android, Linux, macOS, Win | Cliente principal |
| NomadNet | markqvist/NomadNet | Linux, macOS | Browser de µ-páginas |
| MeshChat | Buscar: MeshChat Reticulum | Web, Desktop | Interface web |
| MeshChatX | Buscar: MeshChatX LXMF | Desktop | Voz + shell |
Documentação
Projetos do Ecossistema
| 🛰️ Projeto | 🔗 Fonte | 📌 Relação com Reticulum |
| Haven Node | Série de vídeos (GitHub) | Nó mesh RPi + OpenWRT + Reticulum integrado |
| MorosX MX88 | morosx.com | Nó MANET profissional com HaLow + LoRa + RNS |
| OpenMANET | GitHub: OpenMANET | OpenWRT para roteadores de campo |
| ATAK / CivTAK | tak.gov | Consciência situacional integrada via bridge |
| Meshtastic | meshtastic.org | Complementar como fallback LoRa |
| Morse Micro | morsemicro.com | Silício HaLow nos nós Haven |
| FAU RTAK | fau.edu | Pesquisa 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, encontros | events.ccc.de — buscar "Reticulum" |
| FOSDEM | Apresentações técnicas europeias | fosdem.org |
| Reddit | Discussões gerais e projetos | r/reticulum, r/meshtastic, r/amateurradio |
| Discord | Comunidades Haven, MorosX, ATAK | Servidores específicos dos projetos |
| GitHub Discussions | Discussões técnicas formais | github.com/markqvist/Reticulum/discussions |
| Matrix/Element | Comunidade open-source | Buscar 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 |
rnsd | Iniciar daemon Reticulum |
rnstatus | Ver status, interfaces e rotas |
rnprobe <hash> | Testar conectividade a um destino |
rnpath <hash> | Exibir rota até destino |
rnsh -l | Iniciar servidor de shell remoto |
rnsh <hash> | Conectar a shell remoto |
rncp file.txt <hash>:/path | Copiar arquivo para destino remoto |
rnodeconf --autoinstall | Instalar firmware RNode |
rnodeconf /dev/ttyUSB0 --info | Info 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 |
| RNS | Reticulum Network Stack — a pilha de rede completa |
| LXMF | Lightweight Extensible Message Format — protocolo de mensagens |
| RNode | Hardware de interface de rádio para Reticulum |
| Destination | Entidade endereçável na rede (hash da chave pública, 16 bytes) |
| Link | Conexão criptografada bidirecional entre dois destinos |
| Announce | Pacote que anuncia existência de um destino na rede |
| IFAC | Interface Access Code — controle de acesso a interfaces |
| Path | Rota estabelecida para alcançar um destino |
| Propagation Node | Nó que armazena e propaga mensagens LXMF offline |
| CoT | Cursor on Target — formato de dados de posição do ATAK |
| SAR | Search and Rescue — busca e salvamento |
| HaLow | Wi-Fi 802.11ah — sub-1 GHz, longo alcance, penetração alta |
| MANET | Mobile Ad-hoc NETwork — rede sem infraestrutura fixa |
| MTU | Maximum Transmission Unit — tamanho máximo de pacote |
| Forward Secrecy | Comprometer chave atual não expõe sessões passadas |
| LPD/LPI | Low Probability of Detection/Interception — vantagem tática RF |
| CCC | Chaos Communication Congress — conferência anual de hackers |
| ECDH | Elliptic Curve Diffie-Hellman — protocolo de troca de chaves |
| HKDF | HMAC-based Key Derivation Function — derivação de chaves |
| PSK | Pre-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 |
| 1 | Haven Node | Reticulum + HaLow + ATAK — Building a Sovereign Mesh | Demonstração real de RNode LoRa ↔ Wi-Fi, bridge ATAK sobre HaLow, RSSI ao vivo | ▶ Assistir |
| 2 | Haven Node | MX88 Field Test — Voice, Video & Maps Through Concrete | Teste 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 Congress | Reticulum: Unstoppable Networks for The People | 2024 | Filosofia, 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 Bit | Reticulum Network: How it Works and Why it's SO GOOD | 🟢 Iniciante | Conceitos fundamentais: endereçamento, criptografia, diferenças do TCP/IP, por que o protocolo é relevante | ▶ Buscar no YouTube |
| andy kirby | How to get started with Reticulum and RNode | 🟢 Iniciante | Setup prático do RNode, instalação do firmware, configuração do Reticulum, primeiros passos com Sideband | ▶ Buscar no YouTube |
| EmComm Solutions | Getting Started with Reticulum — Sideband and MeshChat | 🟢 Iniciante | Foco 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 Prepper | Reticulum — Wi-Fi + LoRa RNode Transport Architecture and Field Test | 🔴 Avançado | Arquitetura de transporte com múltiplas interfaces simultâneas, teste de campo real | ▶ Buscar no YouTube |
| The Tech Prepper | Reticulum — Post Internet Network — Why HF Modems? | 🔴 Avançado | Uso de Reticulum sobre rádio HF, modems de alta frequência, cenários pós-infraestrutura | ▶ Buscar no YouTube |
| The Tech Prepper | Série completa sobre Reticulum | 🟡–🔴 Médio/Avançado | Biblioteca 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