Introduction
Lorsque vous êtes invité à mettre à jour l'application de votre banque sur votre smartphone, vous ne réfléchissez sûrement pas longtemps avant de le faire. Il se peut même que votre téléphone s'occupe automatiquement des mises à jour sans que vous n'en ayez conscience. Après tout, il s'agit d'un processus normal : si vous n'installez pas la dernière version d'un logiciel, vous risquez d'être dans l'incapacité d'utiliser ses services.
Qui prend les décisions sur un réseau blockchain ?
Développeurs
Les développeurs sont responsables de la création du code, mais également de sa mise à jour. Tout le monde peut contribuer au développement d'une cryptomonnaie. Le code est accessible publiquement, permettant à tous de soumettre des modifications qui seront examinées par d'autres développeurs.
Mineurs
Utilisateurs de nœuds complets
Vous trouverez souvent des chevauchements dans ces catégories. Une personne peut par exemple être un développeur et l'utilisateur d'un nœud complet ou, être un mineur et l'utilisateur d'un nœud complet. Vous pouvez être les trois à la fois, ou rien. En fait, beaucoup de ceux que nous considérons comme des utilisateurs de cryptomonnaies n'assument aucun de ces rôles. Ils utilisent à la place des services centralisés ou des nœuds légers.
Les développeurs ne débarqueront pas chez vous avec une arme pour vous forcer à télécharger Bitcoin Core. Si les mineurs adoptent une attitude « comme ça ou rien » pour forcer un changement indésirable sur les utilisateurs, les utilisateurs opteront pour leur propre méthode.
Qu'est-ce qu'un fork ?
Le fork d'un logiciel se produit lorsque celui-ci est copié et modifié. Le projet original continue de subsister, mais est maintenant distinct du nouveau qui a pris une direction différente. Supposons que les membres de l'équipe du contenu du site web de votre cryptomonnaie préférée aient un désaccord majeur sur la façon de procéder. Une partie de l'équipe peut dupliquer le site en utilisant un nom de domaine différent. Ils posteront ensuite des contenus différents.
Les projets s'appuient sur une base commune et partagent la même histoire. Néanmoins, tout comme une route unique qui se divise en deux, une divergence existe maintenant entre les deux sites.
Comparaison des Hard forks et des Soft forks
Bien qu'ayant des noms similaires et servant au même but, les hard forks et les soft forks sont sensiblement différents. Voyons ces différences.
Qu'est-ce qu'un Hard fork ?
Les Hard forks sont des mises à jour logicielles n'étant pas rétrocompatibles. Celles-ci se produisent généralement lorsque des nœuds ajoutent de nouvelles règles entrant en conflit avec les règles d'anciens nœuds. Les nouveaux nœuds peuvent uniquement communiquer avec les autres individus utilisant cette version. Il en résulte une division de la blockchain et par conséquent la création de deux réseaux distincts : un employant les anciennes règles, l'autre en employant de nouvelles.
Les nœuds deviennent bleus une fois à jour. Les anciennes noeuds, ici en jaune, refusent la mise à jour pendant que les bleus se connectent entre eux.
Il existe désormais deux réseaux exécutés en parallèle. Ils continueront tous les deux à diffuser les blocs et les transactions, mais ne travaillent désormais plus sur la même blockchain. Tous les nœuds avaient une blockchain identique jusqu'au moment du fork (et cet historique est conservé), mais ils auront des blocs et des transactions différents par la suite.
Une augmentation de la taille des blocs nécessite une modification des règles. Cela c'est produit avant le soft fork (plus d'informations seront bientôt fournies à ce sujet) SegWit, les nœuds n'acceptaient donc pas les blocks de moins de 1 Mo. Si vous créez un bloc de 2 Mo valide, les autres nœuds le rejetteront tout de même.
Seuls les nœuds ayant modifié leur logiciel pour autoriser les blocs de plus de 1 Mo pouvaient accepter ces blocs. Bien sûr, cela les rendaient incompatibles avec la version précédente, de sorte que seuls les nœuds ayant les mêmes modifications de protocole pouvaient communiquer.
Qu'est-ce qu'un Soft fork
Cependant, cela ne vous déconnecte pas automatiquement du réseau. Vous communiquerez toujours avec les nœuds appliquant pas ces règles, mais vous filtrez certaines des informations qu'ils vous transmettent.
Même deux ans après l'activation de SegWit, tous les nœuds n'ont pas été mis à niveau. Il y a des avantages à le faire, mais il n'y a pas vraiment d'urgence, puisqu'il ne s'agit pas d'un changement ayant un impact sur le réseau.
Comparaison des Hard forks et des Soft forks, lequel est le mieux ?
Fondamentalement, ces types de fork servent des objectifs différents. Des hard forks controversés peuvent diviser une communauté. À l'inverse, des hard forks planifiés donnent la liberté à tous de pouvoir modifier le logiciel avec l'accord de tous les membres.
Les Softs forks constituent une option plus douce. En général, vous êtes plus limité dans ce que vous pouvez faire, car vos nouvelles modifications ne peuvent pas entrer en conflit avec les anciennes règles. Cela dit, si votre mise à jour peut être conçue de manière à rester compatible, vous n'avez pas à vous soucier de la fragmentation du réseau.
Pour conclure
Les Hard forks et les Soft forks sont essentiels au succès à long terme des réseaux blockchain. Ils nous permettent d'effectuer des changements et des mises à niveau dans des systèmes décentralisés, malgré l'absence d'une autorité centrale.
Les forks permettent aux blockchains et aux cryptomonnaies d'intégrer de nouvelles fonctionnalités au fur et à mesure de leur développement. Sans ces mécanismes, nous aurions besoin d'un système centralisé avec un contrôle descendant. Le cas échéant, nous serions coincés avec les mêmes règles pendant toute la durée de vie d'un protocole.