Duniter 1.7 (<= 1.7.16) implémente de façon incorrecte la règle de distance. La version 1.7.17 corrige ce problème.
Télécharger Duniter 1.7.17 et resynchroniser son nœud 
N.B. : cette version est susceptible de générer des softs-forks à court terme, tant que des nœuds membres en version <= 1.7.16 fonctionneront sur le réseau.
Il se peut donc que vous ayez à vous re-synchroniser plusieurs fois dans les semaines à venir.
Règle de distance non respectée
La version 1.7 de Duniter comportait un bug concernant l’expiration des certifications : lors d’une synchronisation le module de calcul de distance n’était pas informé de l’expiration des certifications et conservait donc des liens qui auraient dû disparaître.
Ceci a avantagé les renouvellements et entrées des membres sur les mois de Mars et Avril. Nous devrions pouvoir le vérifier, mais j’ai détecté au moins un cas de membre à distance de 6 lors de son entrée (Mel
, entré au bloc#207153).
Le protocole devra tenir compte de cette/ces exceptions, nous devrons le mettre à jour une fois le correctif bien en place sur la Ğ1. Sinon, la blockchain paraîtra invalide au protocole.
Soft-forks à venir
Les nœuds vont réagir de cette façon :
- les nœuds <= 1.7.16 (ou 1.7.17 non resynchronisés !) : accepteront tous les blocs du réseau
- les nœuds >= 1.7.17 : n’accepteront pas les blocs où la règle de distance n’est pas scrupuleusement respectée
Il s’agit d’une situation de soft-fork, puisque le réseau tombera d’accord la plupart du temps, mais que les nœuds 1.7.17 introduisent une restriction supplémentaire.
Conséquence : tant que les nœuds <= 1.7.16 seront majoritaires, il y a des risques de fork non solubles pour les nœuds 1.7.17. En installant cette version, vous aurez un travail de suivi à réaliser ainsi que des resynchronisations si nécessaire.
Liens avec les forks des dernières semaines
Depuis 2 mois, un certain nombre de forks ont été causés par ce bug. De manière générale, les nœuds 1.6 forkaient relativement aux nœuds 1.7, donc notamment g1-monit, Remuniter, ğannonce, et d’autres miroirs.
Mais les nœuds 1.7 pouvaient aussi forker entre eux, selon le moment de leur dernière synchronisationn. Les forks se sont alors produits au gré des renouvellement / arrivées de nouveaux membres dont la distance était > 5.
Nouveautés
Dans mes investigations, j’ai rajouté la commande duniter dump wot
afin d’afficher l’état de la toile dans le module de calcul de distance. Ainsi, j’ai pu détecter l’anomalie relativement à la version 1.6 de Duniter.
Versions Windows et ARM
@jytou, peux-tu t’en occuper stp ?
Voilà pour le rapport de bug.
N’oubliez pas de resynchroniser votre nœud pour appliquer le correctif !