Alerte · duplicate_repeater

Collisions d'ID de répéteurs — région NCE

Plusieurs répéteurs partagent le même préfixe d'identifiant court sur la région NCE. Les nœuds indistinguables sur 1 octet sont exclus du routage ; ceux qui publient un ID plus long (2–3 octets) restent actifs.

RÉGION · NCE mis à jour : 8 septembre 2026
24
Groupes de collision
295
Répéteurs concernés
136
Exclus — ID 1 octet
159
Actifs — ID 2–3 octets

Ce que signifie une collision

L'ID d'un nœud dans un chemin n'est pas sa MAC : c'est un hash = les N premiers octets de sa clé publique, dont la taille est pilotée par path_hash_mode. Quand plusieurs répéteurs annoncent leur ID sur 1 octet avec le même préfixe, ils sont indistinguables, donc écartés du routage déterministe. Ceux qui publient 2 ou 3 octets restent uniques et actifs. Remède côté émetteur : set path_hash_mode 1 (ou 2) pour référencer les relais sur 2–3 octets.

Quand 2 octets ne suffisent plus — faudra-t-il passer à 3 ?

Passer de 1 à 2 octets lève presque toujours l'ambiguïté… mais pas toujours : deux répéteurs d'un même groupe peuvent aussi partager leur 2e octet. L'alerte duplicate_repeater ne le signale pas — elle ne compare que le 1er. Un nœud peut donc être annoncé « corrigé » en 2 octets et rester malgré tout indistinguable d'un voisin. Ces cas sont recalculés ci-dessous à partir de tous les groupes publiés sur cette page.

Combien de répéteurs avant que ça casse ?

Taille d'ID path_hash_mode Valeurs possibles 1re collision probable dès…
1 octet 0 256 ≈ 19 nœuds
2 octets 1 65 536 ≈ 301 nœuds
3 octets 2 16 777 216 ≈ 4 823 nœuds

Seuil = 50 % de chances qu'au moins deux nœuds partagent le même ID (paradoxe des anniversaires, n ≈ 1,18·√N). Ce sont des ordres de grandeur : une collision isolée arrive bien plus tôt — celles listées ci-dessus se sont produites sur quelques dizaines de nœuds seulement.

À retenir : 2 octets tiennent tant que la région reste sous quelques centaines de répéteurs — c'est le réglage recommandé aujourd'hui. Au-delà, ou dès qu'un couple apparaît ci-dessus, le seul remède est set path_hash_mode 2 (ID 3 octets) côté émetteur : c'est lui qui impose la taille du hash inscrite dans l'en-tête du paquet, les relais s'y conforment. Le coût est d'un octet de plus par saut dans chaque chemin.