Le stade ultime du réseau en pair à pair

Nous avons parlé de portefeuille cryptographique, de réseaux distribués et décentralisés, et plus globalement de souveraineté numérique. Il nous reste un dernier échelon à explorer.
Le stade ultime du réseau en pair à pair

Toute notre série d’articles nous a menés au travers de différentes technologies favorisant l’autonomie et l’indépendance : portefeuille cryptographique permettant de contrôler son identité, réseau décentralisé réduisant les risques de contrôle central, systèmes distribués pour les traitements, une monnaie reposant sur ces technologies pour que nul ne puisse la contrôler…

Jusqu’à présent, nous avons listé des solutions qui rendent surtout la censure aussi complexe que possible en distribuant la charge : plus il y a de monde contribuant au réseau, plus il est difficile de le censurer. Mais ces solutions reposent encore sur les détenteurs des nœuds qui eux-mêmes contrôlent le réseau.

L’exception reste le portefeuille cryptographique : le détenteur de la seed est son seul véritable propriétaire. Grâce à lui, l’individu contrôle la donnée, qu’il peut signer avec ses propres clés, et ainsi garantir son identité. Maintenant, nous allons voir qu’il est également possible d’être maître de ses propres flux et de réduire sa dépendance au réseau en communiquant directement de pair à pair, via les réseaux Mesh.

Maille à partir avec le réseau

Il s’agit là de technologies que j’ai découvertes récemment et sur lesquelles je suis encore néophyte. Nous nous appuierons donc d’autant plus sur les ressources de la communauté (notamment) francophone dont nous fournirons les références via les ressources de cet article.

Comme son nom le suggère, le réseau Mesh repose sur le maillage établi entre les différents nœuds du réseau. La communication va passer via des pairs à proximité, car elle repose à la base sur des technologies réseau de courte portée, allant de quelques kilomètres à quelques dizaines de kilomètres. Nous retrouvons ses racines dans plusieurs traditions techniques :

  • Les protocoles MANET (Mobile Ad-hoc NETworks), étudiés dès les années 1990 pour les contextes militaires et les situations de catastrophe, où aucune infrastructure fixe n’est disponible.
  • La radioamateur et le packet radio (protocole AX.25), utilisés depuis des décennies par les radioamateurs pour échanger des messages, des fichiers ou des bulletins sans passer par les réseaux publics. Ces pratiques ont prouvé qu’il était possible de faire transiter de l’information de manière résiliente sur des fréquences libres.
  • Plus récemment, la modulation LoRa (Long Range), développée par Semtech, a rendu ces idées accessibles au grand public. Elle permet des portées de plusieurs kilomètres avec une consommation électrique très faible, sur des bandes de fréquences libres (868 MHz en Europe).

Nous nous retrouvons ainsi avec des technologies favorisant la souveraineté individuelle étendue aux flux de communication. Si le portefeuille cryptographique nous donne le contrôle de notre identité et de nos actifs, le Mesh nous donne le contrôle de nos échanges. L’objectif n’est pas de remplacer Internet, mais de disposer d’une alternative fonctionnelle lorsque celui-ci devient indisponible, censuré ou simplement trop dépendant d’acteurs centraux. Chaque nœud que nous ajoutons renforce le réseau pour tous les autres, sans qu’aucune autorité ne puisse en décider autrement.

Concrètement, le fonctionnement repose sur deux grandes familles de mécanismes de diffusion. D’une part, nous avons le flooding contrôlé : chaque nœud qui reçoit un paquet le retransmet, avec des règles pour limiter les retransmissions inutiles (basées par exemple sur le rapport signal sur bruit). D’autre part, le routage structuré permet aux nœuds d’apprendre les chemins et les messages suivent des routes optimisées, ce qui réduit la congestion radio. Dans les deux cas, l’absence de point central unique rend le réseau particulièrement résilient.

Les technologies

Aujourd’hui, trois projets se distinguent dans l’écosystème francophone et international : Meshtastic, Meshcore et Reticulum.

Meshtastic est le point d’entrée le plus accessible. Il transforme des modules LoRa bon marché (généralement entre 20 et 50 euros) en nœuds d’un réseau de messagerie. Une application mobile (Android ou iOS) se connecte en Bluetooth au module, et l’utilisateur peut envoyer des messages texte, partager sa position ou rejoindre des canaux. Tous les nœuds (fixes ou mobiles) relaient par défaut les messages selon un algorithme de flooding optimisé. La communauté est large, le matériel est abondant, et la prise en main est rapide. Meshtastic convient parfaitement aux usages mobiles (randonnée, événements) ou aux petites bulles locales. Ses limites apparaissent lorsque le réseau grossit : le flooding provoque rapidement une forte congestion sur le réseau radio. Le nombre de sauts est aussi limité (théoriquement jusqu’à 7, mais bien souvent 3 en réalité). Enfin, le chiffrement, bien que présent, n’est pas aussi poussé qu’avec d’autres solutions.

MeshCore reprend le même matériel LoRa mais change d’approche. Seuls les nœuds fixes (répéteurs) relayent les messages de manière systématique. Les clients mobiles relaient très peu, ce qui réduit fortement la congestion. Le routage est plus structuré, pouvant se propager jusqu’à plusieurs dizaines de sauts, et des confirmations de réception sont disponibles. MeshCore est donc mieux adapté à la construction d’une infrastructure régionale longue distance. En contrepartie, le projet est plus jeune, certaines applications sont partiellement fermées ou payantes, et la philosophie open-source pure est moins affirmée. Pour un usage purement mobile hors de toute couverture de répéteurs, MeshCore propose un mode appelé « off-grid » (hors de la grille) séparé, mais ce n’est pas son cœur de métier.

Reticulum représente un saut qualitatif supplémentaire. Il ne se limite plus à la messagerie LoRa : c’est une couche réseau complète, chiffrée de bout en bout, capable de faire cohabiter dans un même réseau du LoRa, du Wi-Fi, de l’Ethernet, de la liaison série ou du packet radio amateur. Les paquets s’adaptent automatiquement à la bande passante disponible (de 150 bits par seconde en LoRa longue portée à plusieurs centaines de mégabits en Ethernet local). La sécurité est conçue dès le départ avec échanges de clés, mécanismes de signatures et de chiffrement des messages échangés, et absence d’adresse source dans les paquets (ce qui contribue à l’anonymat vis-à-vis des intermédiaires sur le réseau). Reticulum permet non seulement la messagerie, mais aussi le transfert de fichiers, les appels vocaux, l’hébergement de pages web, etc. Il corrige ainsi les principales limites de Meshtastic (scalabilité et confidentialité par défaut) et de MeshCore (ouverture, multi-supports et richesse fonctionnelle).

Les promesses sont énormes, et de nouvelles initiatives voient régulièrement le jour, étendant toujours plus les possibilités sur les réseaux en pair à pair.

De quoi sommes-nous capables aujourd’hui ?

Nous l’avons déjà évoqué, ces solutions permettent déjà de déployer un réseau de messagerie de pair à pair – purement radio – utile en randonnée lorsque les participants n’avancent pas au même rythme (par exemple l’ado qui avance comme un bouquetin loin devant ses vieux parents… expérience vécue), ou en situation de catastrophe lorsque les antennes relais tombent. Des initiatives citoyennes, comme LoraMesh en Belgique, construisent précisément de tels réseaux d’urgence régionaux.

Il est également possible d’interconnecter le Mesh avec Internet via un seul nœud passerelle. Ce nœud peut offrir un accès HTTP, de la messagerie ou même un proxy, tout en laissant le reste du réseau fonctionner de manière autonome si ce lien disparaît.

Nous pouvons héberger des pages web statiques directement sur le Mesh (via une technologie appelée NomadNet). L’adresse n’est plus un nom de domaine loué, mais un hash cryptographique permanent que nous contrôlons : c’est une chaîne générée à partir d’une clé cryptographique, comme les adresses de Bitcoin que nous avons explorées dans nos précédents articles. Grâce aux qualités du réseau Mesh, personne ne peut suspendre cette adresse, et donc censurer son contenu.

Et quitte à évoquer Bitcoin, il est possible de faire transiter des transactions sur le réseau Bitcoin, via Lightning, et communiquer sur le réseau Nostr. Des projets comme TinyGS permettent de recevoir des données par satellite ouvrant de nouvelles perspectives… À l’autre bout du spectre, des solutions expérimentales permettent même de faire passer des protocoles standards sur des liens radio très basse bande passante.

Enfin, le matériel lui-même devient de plus en plus accessible. Il est possible de faire fonctionner des nœuds de transport Reticulum sur des cartes d’une vingtaine d’euros, destinées à l’IoT (l’Internet of Things, comme la domotique). Certains répéteurs fonctionnant à l’énergie solaire peuvent se construire pour quelques dizaines d’euros.

Démarrer en douceur

Aujourd’hui, l’une des manières les plus simples de découvrir cet univers sans acheter de matériel radio consiste à utiliser MeshChatX (https://meshchatx.com/fr). C’est un client graphique tout-en-un pour Reticulum. Il regroupe la messagerie chiffrée, un navigateur pour les sites hébergés sur le Mesh (le NomadNet déjà évoqué), un éditeur de pages, la gestion d’identités cryptographiques et une carte des nœuds. L’installation se fait en téléchargeant l’application pour Windows, macOS ou Linux. Aucune inscription n’est requise : l’application nous permet de générer une identité cryptographique locale (notre paire de clés). Cette identité produit ensuite ce hash qui devient notre adresse permanente sur le réseau.

Pour rejoindre le Mesh mondial, nous ajoutons simplement quelques interfaces TCP (la même technologie que derrière Internet) vers des nœuds publics. En quelques minutes, nous voyons apparaître d’autres nœuds, nous pouvons leur envoyer des messages et même publier nos propres pages. Tout reste chiffré de bout en bout ; les relais intermédiaires ne voient que du contenu chiffré.

Lorsque nous souhaitons passer à la radio, le même logiciel (ou l’application Sideband sur smartphone) se connecte à un module LoRa via USB ou Bluetooth. Sur Linux, la configuration des interfaces se fait généralement par un simple fichier de configuration. Sur smartphone, les applications Meshtastic ou MeshCore permettent de démarrer encore plus rapidement avec le matériel LoRa.

Ainsi, nous pouvons explorer d’abord le Mesh purement logiciel (avec MeshChatX), puis ajouter progressivement la couche radio selon nos besoins.

Conclusion

Parler des technologies de réseaux décentralisés et distribués nous aura amenés à leur philosophie fondamentale : la souveraineté individuelle. Et parler de cette souveraineté nous aura amenés à l’échelon ultime : la connexion pair à pair.

Loin d’être hostile au néophyte, cette approche s’ouvre aujourd’hui comme un champ accessible, avec des applications très concrètes. Même si un black-out total d’Internet reste relativement peu probable à l’échelle mondiale, disposer d’un moyen de communication peu onéreux, fiable et sécurisé dans des zones limitées ou dans des situations dégradées vaut clairement la peine d’être exploré.

Débuter avec une solution comme MeshChatX permet d’en prendre conscience à moindre frais. Alors… partant pour une nouvelle aventure ?

Ressources


Write a comment