3 points par GN⁺ 2026-01-21 | 1 commentaires | Partager sur WhatsApp
  • Pile réseau fondée sur la cryptographie, fonctionnant sur divers supports comme LoRa, la radio par paquets et le WiFi, avec une communication fiable même dans des environnements à très faible débit et à forte latence
  • Inclut des fonctions centrées sur la sécurité telles que le chiffrement de bout en bout, l’anonymat de l’expéditeur, le routage multi-sauts auto-configuré et des accusés de réception infalsifiables
  • Ne dépend pas de la pile IP et peut s’exécuter en espace utilisateur dans un environnement Python 3 sans module noyau
  • Vise la construction de réseaux autonomes à faible coût, capables d’interconnecter des milliers de réseaux indépendants sans contrôle centralisé ni censure
  • Outil open source de grande valeur pour les développeurs et les chercheurs souhaitant mettre en place une infrastructure de communication distribuée et du réseau off-grid

Présentation de Reticulum

  • Reticulum est une pile réseau fondée sur la cryptographie permettant de construire des réseaux locaux et étendus à l’aide de matériel standard
    • Fonctionne même dans des environnements à forte latence et faible bande passante
    • Fournit le chiffrement de bout en bout, l’anonymat de l’expéditeur, le transfert multi-sauts auto-configuré, l’adressage efficace et des accusés de réception infalsifiables
  • L’objectif est que chacun puisse devenir opérateur de son propre réseau et construire des réseaux autonomes et interconnectables sans contrôle centralisé
  • Reticulum n’est pas un réseau unique, mais un outil conçu pour construire des milliers de réseaux indépendants
  • Il peut aussi fonctionner sur IP, ce qui permet le tunneling via Internet ou un réseau privé
  • S’exécute dans un environnement Python 3, sans module noyau ni pilote requis

Fonctionnalités principales

  • Prend en charge l’adressage global unique et le routage multi-sauts auto-configuré
    • Permet la transmission de données sur divers supports physiques et topologies
  • Anonymat de l’expéditeur garanti : les paquets n’incluent pas d’adresse source
  • Communication fondée sur le chiffrement asymétrique X25519 et les signatures Ed25519
    • Utilise un jeu de clés Curve25519 de 512 bits
  • Prend en charge la Forward Secrecy, le chiffrement AES-256-CBC et l’authentification SHA256 HMAC
  • Système d’interfaces extensible permettant d’ajouter des interfaces personnalisées
  • API simple facilitant le développement d’applications distribuées
  • Prend en charge le transfert de gros volumes de données, avec compression, checksum et ajustement de transmission automatiques
  • Mécanisme léger de Request/Response et établissement de lien efficace (3 paquets, 297 octets)

Implémentation de référence et protocole

  • Le code Python de ce dépôt constitue l’implémentation de référence officielle et sert de base à la définition du protocole
  • Distribué sous la Reticulum License, le protocole a été versé dans le domaine public en 2016
  • La compatibilité est définie par une interopérabilité complète avec l’implémentation de référence

Exemples d’utilisation

  • rnsh : session de shell distant basée sur Reticulum
  • LXMF : protocole de messagerie distribué
  • LXST : framework de transmission audio et de signaux en temps réel
  • Nomad Network : plateforme de messagerie chiffrée off-grid
  • Sideband : application GUI avec transfert de fichiers, appels vocaux et fonctions cartographiques
  • MeshChat : client LXMF web prenant en charge le transfert d’images, de voix et de fichiers

Supports et appareils pris en charge

  • Fonctionne sur tout support offrant au minimum un canal half-duplex de 5 bps et une MTU de 500 octets
  • Peut utiliser LoRa, la radio par paquets, le WiFi, Ethernet et des liaisons optiques
  • RNode est une interface LoRa pour Reticulum, disponible en fabrication maison ou à l’achat en produit fini
  • Permet des configurations mixtes LoRa, radio par paquets et WiFi sur Raspberry Pi et autres appareils similaires

Interfaces prises en charge

  • Prend en charge Ethernet, LoRa (RNode), TNC de radio par paquets, modems KISS, appareils série, TCP/UDP, pipes stdio etc.
  • Possibilité d’ajouter des modules d’interface personnalisés, les PR éprouvées en conditions réelles sont bienvenues

Performances et état du projet

  • Plage de performances visée : 250 bps à 1 Gbps, actuellement environ 150 bps à 500 Mbps
  • Fonctionnalités principales du protocole entièrement implémentées, API et formats dans un état stable

Amorçage de connexion

  • Reticulum est un réseau autonome, et non un service sur abonnement
  • La connexion initiale est possible via un répertoire public de points d’entrée exploité par la communauté
    • Ex. : directory.rns.recipes, rmap.world

Composants cryptographiques

  • Jeu de clés Curve25519 de 512 bits, signatures Ed25519, échange de clés X25519
  • Utilise HKDF, AES-256-CBC, HMAC-SHA256 et SHA-256/512
  • Fourni par défaut via OpenSSL et PyCA/cryptography
  • Inclut aussi une implémentation pure Python, mais avec un niveau de validation de sécurité plus faible

1 commentaires

 
GN⁺ 2026-01-21
Avis Hacker News
  • J’ai beaucoup travaillé en profondeur sur les réseaux mesh dans plusieurs communautés locales, mais je n’ai jamais vu de grand réseau utilisant réellement Reticulum
    La principale raison pour laquelle les communautés ne s’y engagent pas est que ce projet repose en pratique sur un seul développeur, et que l’historique Git contient seulement des messages comme « Update », « Better Version » ou « Cleanup », ce qui le rend presque impossible à suivre

    • Cette personne s’est retirée de l’activité publique du projet il y a 3 semaines
      Elle a indiqué qu’il n’y aurait désormais que des mises à jour occasionnelles et imprévisibles, sans aucun support ni gestion de la communauté
      C’est donc encore un projet open source maintenu par une seule personne qui a fini en burnout
    • Il a laissé dans MIRROR.md un message du genre « chacun suit désormais sa route, sans rancune »
      Cela ressemblait à un message d’adieu
    • Je me demande s’il existe d’autres projets mesh recommandables pour les débutants
  • Reticulum est une pile réseau complète de niveau production, centrée sur le chiffrement et l’anonymat
    Ce n’est pas spécifique à LoRa : elle est indépendante de la couche de transport
    Mais il y a deux problèmes

    1. La bibliothèque est écrite en Python, donc peu adaptée aux serveurs en C ou aux appareils embarqués
      Une petite bibliothèque avec une API C serait sans doute préférable
    2. L’UI de la plupart des logiciels destinés aux utilisateurs est très médiocre
      Cela dit, des applis comme Columba s’améliorent peu à peu
      Il y a actuellement environ quatre tentatives de versions bas niveau en C++, Zig, Rust, Go, etc.
      Parmi elles, l’implémentation Rust de Beechat semble la plus mature, mais il n’existe presque aucun cas d’usage réel
    • Fait surprenant, cette version Rust est réservée à Std, donc elle ne résout pas le problème de l’embarqué
  • L’« ancienne méthode » consistait à faire confiance à l’icône de cadenas du navigateur, et la « méthode Zen » à vérifier soi-même l’empreinte de hachage
    Mais cette approche offre une UX épouvantable
    Même moi, en tant que technicien, j’ai eu du mal avec la configuration, alors un utilisateur ordinaire ne l’utilisera jamais
    Si on veut vraiment une adoption massive, il faut au final ce cadenas vert

  • Je suis surpris que personne ne l’ait mentionné, mais il existe un protocole de routage appelé Yggdrasil
    Il utilise des adresses basées sur la cryptographie et fonctionne aussi bien sur TCP/IP que sur LoRa
    Je m’en sers depuis quelques semaines comme alternative à Tailscale, avec une latence comparable et une stabilité assez bonne
    Je me demande quelles sont les différences avec Reticulum
    Site officiel de Yggdrasil

    • J’utilise Yggdrasil dans le même but depuis des années, et il est tellement stable que j’oublie presque qu’il existe
    • Reticulum peut communiquer au-dessus d’un réseau Yggdrasil, mais l’inverse ne semble pas encore exister
    • J’utilise actuellement Headscale, et je me demande comment le configurer concrètement pour l’utiliser comme Tailscale
    • Yggdrasil est un réseau beaucoup trop vaste, donc il n’est pas adapté aux réseaux radio à faible bande passante utilisés par Reticulum
  • En pratique, ce qui m’importe le plus, c’est la garantie de livraison des messages
    Reticulum utilise le « Store and Forward » comme mode par défaut
    Même si un message n’est pas transmis immédiatement, il le sera plus tard quand une connexion sera disponible
    Mais je me demande si le client inclut les métadonnées nécessaires pour les remettre dans le bon ordre lorsque les messages n’arrivent pas séquentiellement

  • Reticulum a atteint la version 1.0.0 et fonctionne réellement bien
    Pour commencer, on peut essayer meshchat ou
    Sideband sur Android
    Il permet même les photos et le chat vocal sur LoRa, et bascule automatiquement vers un autre mode de transport quand la bande passante manque ou qu’un lien est interrompu

  • Ce qui me trouble, c’est que la spécification officielle du protocole n’est pas publiée
    Pour des puces radio comme LoRa, il faudrait pourtant que cela tourne sur microcontrôleur, et les versions Python ou Rust std ne peuvent pas être utilisées dans cet environnement

    • Reticulum n’est pas spécifique à LoRa : il a été conçu pour fonctionner sur n’importe quel transport, des liaisons série ou infrarouges jusqu’aux LAN haut débit et à Ethernet
    • Je pense que ce que vous cherchez, c’est probablement le firmware RNode
  • En regardant la licence, ce n’est pas un logiciel libre au sens plein
    Elle contient des clauses du type « ne pas nuire aux humains » et « interdit d’utiliser l’IA »

  • Les trois nécessitent une configuration de nœuds maître-esclave avec une structure d’arbre couvrant multiple comme en eBGP

  • On dirait bien que quelqu’un est fan de Anathem

    • C’est vraiment un excellent livre, que je recommande vivement à ceux qui ne l’ont pas encore lu