Les «Forks» (bifurcations ou embranchements) sont un phénomène courant dans les logiciels informatiques et représentent un terme technique qui échappe à la compréhension de beaucoup. Pour bien comprendre les forks, nous devons revenir à la source en se penchant sur le Bitcoin et sa technologie, car c’est bien sa création qui est à l’origine de tout l’écosystème de la crypto-monnaie et des blockchains.

La blockchain est une sorte de grand livre distribué à tous ses utilisateurs et constitué de «blocs» de données en croissance constante, formant alors une chaîne unique de blocs (d’où le terme : chaînes en blocs). Bitcoin étant un réseau décentralisé, les participants doivent s’accorder sur un ensemble de règles communes pour valider les transactions afin de parvenir à un consensus. Il en résulte donc une chaîne unique de données vérifiées que tout le monde vérifie afin de n’avoir une seule «vérité».

On peut donc imaginer que la blockchain est un assemblage de block de données totalement linaire, sauf que ce n’est pas si simple que cela. Une des choses importantes à comprendre pour le sujet qui nous occupe, c’est que le logiciel de Bitcoin est une source ouverte, les codes informatiques sous-jacents étant gratuits et accessibles à tous, ils peuvent donc être visualisés, inspectés et utilisés par tout le monde. Donc plusieurs blockchains peuvent apparaître, soit en étant des dérivés de Bitcoin, soit en étant créées de zéro (qui pourraient avoir leurs propres dérivés).

Schéma d'une Blockchain
Schéma d’une Blockchain

Du schisme à la création

Une bifurcation se produit lorsque la chaîne de blocs unique se scinde en deux. Il existe deux causes principales à la génération de différents embranchements.

Une scission du consensus

Pour rappel, comme Bitcoin est un réseau distribué et décentralisé, une bifurcation se produit lorsque les mineurs découvrent un bloc en même temps, ce qui crée deux chaînes divisées. Cependant, il s’agit d’un embranchement temporaire, car la chaîne qui trouve le premier bloc en premier devient la chaîne la plus longue et devient automatiquement la vérité. Par conséquent, la chaîne la plus courte sera abandonnée par le réseau. Et donc naturellement la bifurcation cesse d’exister, c’est le fonctionnement normal de la chaîne.

Une modification des règles sous-jacentes du protocole

Cela représente un changement volontaire des codes sous-jacents par les développeurs et devient permanent. La raison de la modification de la base de code peut être due à : l’ajout de nouvelles fonctionnalités pour améliorer les fonctionnalités du réseau ou la modification d’une règle principale (telle que l’augmentation de la taille du bloc par exemple). Ceci est véritablement le sujet qui nous intéresse. Les embranchements permanents obligent les participants du réseau à mettre à jour leur logiciel Bitcoin (par exemple) afin d’intégrer les nouvelles modifications à leur logiciel actuel. Mais ici aussi, il existe plusieurs grandes catégories de modification des règles sous-jacentes du protocole : les embranchements souples et durs.

Embranchements souples

Une embranchement souple est une mise à niveau logicielle rétro-compatible avec les anciennes versions. Cela signifie que les participants n’ayant pas effectué la mise à niveau vers le nouveau logiciel pourront toujours participer à la validation et à la vérification des transactions (tant que cela reste possible par les développeurs en tout cas). Il est beaucoup plus facile de mettre en place une embranchement souple car seule une majorité de participants a besoin de mettre à jour le logiciel. Tous les participants, qu’ils aient mis à jour ou non, continuent à reconnaître les nouveaux blocs et à maintenir la compatibilité avec le réseau.

Un exemple de embranchement souple apparaît lorsque la nouvelle règle indique que la taille du bloc passera de 1 Mo (1 000 Ko) à 800 Ko par exemple. Les participants non surclassés continueront de voir que les nouvelles transactions entrantes sont valides. Le problème se pose lorsque des mineurs non modernisés tentent d’exploiter de nouveaux blocs. Leurs blocs (et donc leurs efforts) seront rejetés par le réseau.

Par conséquent, les «soft forks» représentent un mécanisme de mise à niveau progressive, car ceux qui n’ont pas encore mis à niveau leur logiciel sont incités à le faire, ou risquent de voir leurs fonctionnalités réduites. Comme par exemple, l’embranchement souple BIP 66 sur la validation de signature de Bitcoin il y a quelques années.

Les embranchements durs

Un embranchement dur désigne une mise à niveau logicielle non compatible avec les versions antérieures. Tous les participants doivent passer au nouveau logiciel pour continuer à participer et à valider les nouvelles transactions. Ceux qui n’ont pas effectué la mise à niveau seraient séparés du réseau et ne pourraient pas valider les nouvelles transactions. Cette séparation entraîne une divergence permanente de la blockchain. Tant qu’il y aura un soutien dans la chaîne des minorités, sous la forme de participants miniers dans la chaîne, les deux chaînes existeront simultanément la deuxième devenant un dérivé de la première.

Nous développerons ce sujet dans un article prochain…

Mais vous pouvez aussi nous contacter directement pour échanger avec nous.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *