Que sont la fourchette souple et la fourchette dure?

Une fourchette est le développement classique des logiciels libres. Comme les logiciels libres sont bien sûr librement accessibles et téléchargeables par tous, chacun a la possibilité de faire sa propre copie du logiciel et de le modifier pour ses propres besoins. Cela aurait forcé le logiciel.

Modifier le logiciel n’est en aucun cas une intervention malveillante, mais même une partie élémentaire et souhaitable des projets open source. Les utilisateurs ayant des connaissances en programmation peuvent ajouter de nouvelles fonctionnalités en fonction de leurs propres besoins – de sorte que différentes distributions d’un logiciel peuvent exister.

Qu’est-ce que les fourches ont à voir avec les chaînes de blocage ?

Partant d’une chaîne de blocs publics comme celle du bitcoin, il est finalement basé sur un code source ouvert qui peut être modifié localement par les développeurs comme décrit ci-dessus. Toutefois, il est essentiel que les participants au réseau s’entendent sur certains points dans le cas des technologies de la chaîne de blocage. Il serait donc problématique que certains mineurs du réseau utilisent par exemple la fonction de hachage SHA-256 et que d’autres participants du réseau utilisent une fonction de hachage différente. Après tout, vous ne voulez pas seulement écrire des transactions dans votre propre « livre de ménage », mais les réaliser de telle sorte qu’elles soient reconnues par le plus grand nombre possible de participants au réseau.

Dans la pratique, cela se présente comme suit :

  • Il existe une version Bitcoin généralement acceptée.
  • Les utilisateurs veulent de nouvelles fonctionnalités, par exemple une augmentation de la taille du bloc pour résoudre les problèmes de capacité.
  • Tout utilisateur copie le logiciel Bitcoin actuel et le modifie avec une taille de bloc plus grande.
  • Il met le logiciel à la disposition d’autres utilisateurs, qui peuvent également l’utiliser.
  • Maintenant il y a deux versions du logiciel Bitcoin sur le réseau et les utilisateurs peuvent décider lequel utiliser.

Mais attention : Il est important de faire la différence entre les fourches à chaîne de blocs et les fourches de logiciels. Alors que les fourches sont utilisées dans ce dernier cas pour développer de nouveaux services ou des services supplémentaires basés sur des services existants, les fourches dans le contexte de la chaîne de blocs visent plutôt à représenter une alternative.

Les fourches doivent être classées notamment en fonction de leur effet sur le logiciel existant ou sur le réseau de la chaîne de blocs :

Types de fourches

Pour comprendre les explications, vous devez savoir ce qu’est Nodes. Les nœuds stockent la chaîne de blocs en tant que nœuds de réseau et la mettent à la disposition du réseau. Dans le meilleur des cas, le consensus actuel de la chaîne de blocs, c’est-à-dire l’historique des transactions le plus récent, est stocké de manière décentralisée sur tous les nœuds.

Tous les nœuds du réseau doivent être exploités avec un logiciel compatible afin qu’ils puissent communiquer sur une chaîne de blocs. Si une proposition d’amendement est soumise, il y a deux façons de procéder à la fourchette :

Fourchette souple

Une fourchette Soft Fork se caractérise par sa rétrocompatibilité. Il se peut donc qu’il y ait des nœuds dans le réseau qui fonctionnent avec le nouveau logiciel. Cela n’entraîne pas de problèmes de compatibilité : Les nœuds avec l’ancien logiciel acceptent également les opinions des utilisateurs qui ont maintenant opté pour le nouveau logiciel. D’autre part, les utilisateurs veulent établir leur standard avec le nouveau logiciel et donc s’appuyer sur leur nouvelle méthode pour tous les blocs.

Dès que la majorité du réseau est atteinte, tous les nœuds s’entendent sur les nouveaux blocs.

fourchette rigide

Ce type de fourchette n’est pas rétrocompatible – et apporte donc des défis particuliers pour garantir le consensus dans le réseau. Les nœuds existants devraient mettre à jour leur logiciel afin de prendre en compte les nouveaux blocs (avec la fourchette souple, les nœuds existants pourraient simplement prendre en compte les nouveaux blocs en raison de leur compatibilité). L’incompatibilité des versions conduit au fait que le réseau peut être divisé dans une certaine mesure : Les utilisateurs qui sont en faveur ou contre l’acceptation des changements opéreront alors sur différentes chaînes de blocs. C’est ce qu’on appelle une fourchette à chaîne de blocs (qui n’est pas comparable à une fourchette logicielle). Il est important de souligner qu’une nouvelle chaîne de blocs stable n’est pas formée avec chaque fourche dure. Ethereum a maintenant cinq Hard Forks derrière lui et un seul d’entre eux a formé une nouvelle chaîne de blocs avec Ethereum Classic.

Comment s’effectue une fourchette ?

Jetons un coup d’oeil à une fourchette comme Bitcoin. L’équipe centrale de Bitcoin peut être en mesure de suggérer des changements, mais pas seulement de les faire appliquer. En fin de compte, les mineurs décident de la chaîne de blocage qu’ils suivent. Cela garantit la décentralisation, puisque le réseau est également laissé à l’autorité décisionnelle. L’équipe centrale peut certainement aller de l’avant avec d’autres développements – mais elle doit se présenter encore et encore devant les mineurs et espérer être acceptée.

Par le passé, Ethereum et Ethereum Classic ont en effet été une rupture décisive dans la chaîne Ethereum Blockchain : Après le piratage DAO, la communauté a discuté intensivement de l’inversion du transfert des pièces piratées en s’accordant sur une chaîne de blocs qui n’inclut pas ce transfert. Bien sûr, l’option A) les hackers peuvent garder leur butin avec l’option B) l’action du hacker sera inversée incompatible. La procédure nécessite donc une fourche dure. Et tant que 100% des participants ne sont pas d’accord sur une version, la chaîne de blocage est divisée. Cela s’est produit parce qu’il y a maintenant deux chaînes de blocs d’Ethereum : Ethereum Classic (sans fourchette dure : le pirate reste en possession des pièces volées) et Ethereum (avec fourchette dure : la transaction non désirée a été annulée).

Miner Fourchette activée

Dans ce cas, les mineurs du réseau décident si une fourchette est exécutée. Vous signalez que vous voulez exécuter la fourchette en ajoutant ces informations aux blocs confirmés. Si, au cours des 1000 derniers blocs, un nombre suffisant de mineurs a signalé la fourchette, les changements sont appliqués. Par exemple, la nouvelle version est valide à partir de 75% d’approbation, à partir de 95% même les anciens blocs qui ne sont pas marqués avec la nouvelle version sont rejetés.

Fourchette souple activée par l’utilisateur (UASF)

La fourchette souple activée par l’utilisateur (UASF) est une fourchette qui est provoquée par une décision majoritaire parmi les nœuds complets. Il est programmé à une certaine date à laquelle la majorité des nœuds complets doivent se mettre d’accord pour que la fourchette ait effectivement lieu.

Fourchette souple activée Miner (MASF)

Avec un Miner Activated Soft Fork (MASF), les mineurs décident de la fourche avec leur puissance de calcul comme droit de vote et l’initient. Cela rend le processus plus efficace, car les nœuds complets peuvent accepter les changements par la suite. Cependant, le FAMS comporte des risques car le réseau s’appuie sur la puissance de calcul comme point de référence. Par exemple, la puissance de calcul peut vous dire que la fourchette souple a lieu, mais les mineurs continuent à travailler avec l’ancienne version sans la fourchette souple.

Laisser un commentaire