Bitcoin : quel avenir pour les réseaux de relais ?

Face aux critiques sur la centralisation du Bitcoin Relay Network, son créateur présente FIBRE, un nouveau système de relais conçu pour être plus décentralisé et plus fiable. L’objectif est d’accélérer la transmission des blocs Bitcoin en limitant les délais liés aux pertes de paquets et aux retransmissions.

Bitcoin : quel avenir pour les réseaux de relais ?

Un relais Bitcoin jugé vieillissant

Dans un billet daté du 07 Jul 2016, l’auteur reconnaît que les premières critiques visant le Bitcoin Relay Network étaient « compréhensibles ». Selon lui, davantage aurait pu être fait pour encourager d’autres acteurs à déployer leurs propres réseaux de relais, plutôt que de dépendre d’un seul système.

Il estime aussi que le réseau a commencé à montrer son âge au cours de l’année précédente. Les blocs Bitcoin ne contiennent plus toutes les transactions présentes dans les mempools, mais seulement une partie, ce qui réduit les performances initialement promises par le protocole.

Pour répondre à ces limites, il dit avoir commencé il y a quelques mois à développer un système de relais rapide baptisé Fast Internet Bitcoin Relay Engine (FIBRE). Il le présente comme « plus décentralisé » et « beaucoup plus fiable », avec une documentation disponible pour ceux qui veulent installer leurs propres réseaux.

UDP, FEC et Compact Blocks

Le principal changement tient à la manière dont les blocs sont transmis. Le réseau d’origine ne parvenait plus à envoyer les blocs de façon fiable en un ou deux paquets, ce qui provoquait des pics de latence, parfois jusqu’à plus d’une seconde, contre 100-300 millisecondes au départ.

FIBRE repose sur deux éléments : UDP avec Forward Error Correction — une méthode qui ajoute des données de correction pour compenser d’éventuelles pertes de paquets — et le système de Compact Blocks de Bitcoin Core. L’auteur explique que TCP est peu adapté à ce type de relais à faible latence, car les retransmissions ajoutent des allers-retours coûteux en temps.

Il donne un exemple chiffré : sur des liaisons longue distance, il dit avoir observé en moyenne 1% de perte de paquets, ce qui rend la transmission d’un bloc complet sans retransmission très improbable. À l’inverse, avec un taux de perte inférieur à 0.1%, la situation s’améliore nettement.

Le texte précise aussi que, même avec une solution de correction d’erreurs, transmettre 1MB sur un lien 1Gbps prend encore plusieurs millisecondes, et que l’ajout des données FEC augmente encore ce délai. C’est pourquoi le schéma des Compact Blocks est jugé « critique » pour la performance.

Vers davantage de réseaux publics

Une autre amélioration de FIBRE consiste à relayer les paquets individuellement dès leur arrivée, afin d’éviter que des sauts supplémentaires n’ajoutent de la latence. Cette optimisation n’est toutefois activée qu’entre nœuds opérés par le même groupe, car l’encodage FEC ne permet pas de vérifier immédiatement si un paquet appartient à un bloc valide.

Sur le fond, l’auteur estime que la décentralisation du relais Bitcoin ne peut être renforcée qu’avec des réseaux de relais supplémentaires et publics. Il regrette que la plupart des autres réseaux mis en place aient été privés, ou conçus sans reprendre les enseignements accumulés sur le relais de blocs Bitcoin.

Pour faciliter l’adoption, FIBRE a été pensé comme un module additionnel à Bitcoin Core, afin de pouvoir à terme être distribué avec le logiciel et s’intégrer plus facilement aux systèmes de minage existants. Il indique enfin que, à la date de publication, 3 groupes travaillaient déjà à mettre en place des réseaux basés sur FIBRE.