Contenu
Introduction
Qui prend les décisions dans un réseau blockchain ?
Qu'est-ce qu'une fourchette ?
Fourches dures et fourches souples
Qu’est-ce qu’un hard fork ?
Qu'est-ce qu'une fourchette souple ?
Fourches dures et fourchettes dures fourchettes souples – quel est le meilleur ?
Considérations finales
Introduction
Lorsque vous êtes informé d'une mise à jour de votre application bancaire numérique sur votre smartphone, vous n'hésitez probablement pas à l'accepter. Peut-être que votre téléphone se met à jour automatiquement sans que vous le remarquiez. Après tout, c'est un processus nécessaire : si vous n'installez pas la dernière version du logiciel, vous courez le risque de ne pas pouvoir utiliser ses services lorsque vous en avez besoin.
Cependant, lorsqu’il s’agit de crypto-monnaies open source, la situation est différente. Vous n'avez pas besoin de lire chaque ligne de code du système Bitcoin pour l'utiliser, mais il est important d'avoir la possibilité de le faire. Il n’existe pas de hiérarchie ni de banque qui puisse simplement envoyer des mises à jour et apporter les modifications qu’elle juge opportunes. Par conséquent, la mise en œuvre de nouvelles fonctionnalités dans les réseaux blockchain peut constituer un défi.
Dans cet article, nous verrons comment les réseaux de crypto-monnaie peuvent être mis à jour malgré l’absence d’autorité centrale. Pour cela, deux mécanismes différents sont utilisés : les hard forks et les soft forks.
Qui prend les décisions dans un réseau blockchain ?
Pour comprendre le fonctionnement des forks, il est important de d'abord comprendre les participants impliqués dans le processus de prise de décision (gouvernance) du réseau.
Dans le système Bitcoin, nous pouvons distinguer trois sous-ensembles de participants : les développeurs, les mineurs et les utilisateurs de nœuds complets. Ce sont ces partis qui contribuent réellement au réseau. Les nœuds légers (tels que les applications de portefeuille sur les téléphones portables, les ordinateurs portables, etc.) sont largement utilisés, mais ils ne sont pas vraiment des « participants » au fonctionnement du réseau.
Développeurs
Les développeurs sont responsables de la création et de la mise à jour du code. Si l’on considère une pièce de monnaie typique, n’importe qui peut contribuer au processus. Le code est accessible au public, ce qui signifie que vous pouvez soumettre des modifications pour que d'autres développeurs puissent les examiner.
Mineurs
Les mineurs sont responsables de la sécurisation du réseau. Ils exécutent le code de la cryptomonnaie et consacrent des ressources à l’ajout de nouveaux blocs à la blockchain. Sur le réseau Bitcoin, par exemple, ils le font via Proof of Work. Les mineurs sont récompensés pour leurs services sous forme de récompenses en bloc.
Utilisateurs du nœud complet
Les nœuds complets constituent le cœur du réseau de crypto-monnaie. Ils valident, envoient et reçoivent des blocs et des transactions. De plus, les nœuds complets conservent également une copie de la blockchain.
Il est courant de trouver des chevauchements dans ces catégories. Vous pourriez, par exemple, être à la fois développeur et utilisateur complet du nœud. Ou un mineur et un utilisateur de nœud complet. Il est possible d'agir dans les trois catégories ou dans aucune. En fait, de nombreux utilisateurs de cryptomonnaies ne remplissent aucun de ces rôles. Au lieu de cela, ils choisissent d’utiliser des nœuds légers ou des services centralisés.
En regardant les descriptions ci-dessus, nous pouvons être convaincus que ce sont les développeurs et les mineurs qui prennent les décisions liées au réseau. Les développeurs créent le code – sans eux, il n’y aurait pas de logiciel en cours d’exécution et personne pour corriger les bugs ou ajouter de nouvelles fonctionnalités. Les mineurs protègent le réseau – sans une concurrence minière saine, la chaîne peut être volée ou complètement arrêtée.
Cependant, si ces deux catégories essayaient de forcer le reste du réseau à suivre leurs souhaits, cela ne fonctionnerait pas très bien. Beaucoup considèrent que le pouvoir sur le réseau est, en réalité, concentré dans des nœuds complets. Probablement parce que le réseau est opt-in, ce qui signifie que les utilisateurs peuvent choisir le logiciel qu'ils souhaitent exécuter.
Les développeurs n'entrent pas par effraction dans votre maison armés et ne vous obligent pas à télécharger les binaires Bitcoin Core. Si les mineurs adoptent une position autoritaire et imposent aux utilisateurs des changements indésirables, ceux-ci quitteront simplement le réseau.
Ces participants ne sont pas des souverains – ce sont des prestataires de services. Si les gens décident de ne pas utiliser le réseau, la monnaie perdra sa valeur. La perte de valeur affecte directement les mineurs (leurs récompenses valent moins lorsqu’elles sont libellées en dollars). Quant aux développeurs, ils peuvent tout simplement être ignorés par les utilisateurs.
Comme nous pouvons le constater, ce n’est pas comme si le logiciel était propriétaire du réseau. Vous pouvez apporter les modifications que vous souhaitez et si d'autres personnes exécutent votre logiciel modifié, tout le monde peut maintenir la connexion. Dans ce cas, vous auriez dupliqué le logiciel et créé un nouveau réseau au cours du processus.
Qu'est-ce qu'une fourchette ?
Lorsqu’un logiciel est forké, il est copié et modifié. Le projet original continue d'exister, mais séparément du nouveau, qui prend une direction différente. Supposons que l'équipe de votre site Web préféré, en termes de contenu de crypto-monnaie, ait un gros désaccord. Une partie de l'équipe peut répliquer le site sur un domaine différent. Cependant, après la scission, ils publieraient un contenu différent de celui du site Web d'origine.
Les projets ont un socle commun et partagent une partie de leur histoire. A l’image d’une route qui se divise en deux, il existe désormais une divergence permanente dans les chemins de chaque projet.
Notez que ce genre de chose arrive souvent dans les projets open source et se produisait bien avant l’émergence de Bitcoin ou d’Ethereum. Cependant, la distinction entre les hard forks et les soft forks est presque exclusive aux environnements blockchain. Discutons-en un peu plus.
➠ Vous envisagez d'investir dans les crypto-monnaies ? Achetez du Bitcoin sur Binance !
Fourches dures et fourches souples
Malgré des noms similaires et essentiellement le même objectif, les hard forks et les soft forks présentent des différences significatives. Évaluons chacun.
Qu’est-ce qu’un hard fork ?
Les hard forks sont des mises à jour logicielles incompatibles avec les versions précédentes. Cela se produit généralement lorsque les nœuds ajoutent de nouvelles règles qui entrent en conflit avec les règles des nœuds plus anciens. Les nouveaux nœuds ne peuvent communiquer qu'avec d'autres qui exploitent la nouvelle version. En conséquence, la blockchain se divise, créant deux réseaux distincts : un avec les anciennes règles et un avec les nouvelles.
Les nœuds deviennent bleus lorsqu'ils sont mis à jour. Les nœuds jaunes (les plus anciens) les rejettent, tandis que les bleus se connectent entre eux.
Il existe donc désormais deux réseaux fonctionnant en parallèle. Tous deux continueront à propager des blocs et des transactions, mais ils ne travailleront plus sur la même blockchain. Tous les nœuds partageaient la même blockchain jusqu'au point de fork (cet historique reste inchangé), mais après cela, ils auront des blocs et des transactions différents.
Compte tenu de cet historique commun, si vous déteniez des pièces avant le fork, vous aurez des pièces sur les deux réseaux. Supposons que vous ayez 5 BTC lorsqu'un fork se produit au bloc 600 000. Vous pourriez dépenser ces 5 BTC sur l’ancienne chaîne, sur le bloc 600 001, mais ils ne seront pas dépensés sur le bloc 600 001 de la nouvelle blockchain. En supposant qu’il n’y ait aucun changement dans le cryptage, vos clés privées contiennent toujours cinq pièces sur le réseau forké.
Un exemple de hard fork est celui de 2017 qui a divisé la chaîne Bitcoin en deux : l’originale, Bitcoin (BTC), et une nouvelle, Bitcoin Cash (BCH). Le fork s'est produit après de nombreuses discussions sur la meilleure approche en matière d'évolutivité. Les partisans de Bitcoin Cash voulaient augmenter la taille des blocs, mais les membres du réseau Bitcoin d'origine se sont opposés au changement.
Une augmentation de la taille des blocs nécessite une modification des règles. C'était avant le soft fork de SegWit (nous en discuterons sous peu), donc les nœuds n'accepteraient que des blocs inférieurs à 1 Mo. Si vous créiez un bloc de 2 Mo valide, les autres nœuds le rejetteraient en raison de sa taille.
Seuls les nœuds ayant effectué la modification logicielle pour autoriser des blocs de taille supérieure à 1 Mo pouvaient accepter ces blocs. Bien sûr, cela les rendrait incompatibles avec la version précédente, donc seuls les nœuds avec les mêmes modifications de protocole pourraient communiquer.
Qu'est-ce qu'une fourchette souple
Un soft fork est une mise à jour rétrocompatible, ce qui signifie que les nœuds mis à jour peuvent toujours communiquer avec ceux qui n'ont pas encore été mis à jour. Dans un soft fork, une nouvelle règle est généralement ajoutée qui n’entre pas en conflit avec les règles précédentes.
Par exemple, une réduction de la taille des blocs peut être mise en œuvre via un soft fork. En utilisant à nouveau Bitcoin comme exemple : bien qu’il y ait une limite à la taille maximale d’un bloc, il n’y a pas de limite à la taille minimale. Si vous souhaitez uniquement accepter des blocs plus petits qu’une taille spécifique, rejetez simplement les plus grands.
Cependant, cela ne vous déconnecte pas automatiquement du réseau. Vous communiquez toujours avec les nœuds qui n'ont pas implémenté les nouvelles règles, mais certaines des informations qu'ils vous transmettent sont filtrées.
Un bon exemple concret de soft fork est le témoin séparé (SegWit) susmentionné, qui s'est produit peu de temps après la scission Bitcoin/Bitcoin Cash. SegWit était une mise à jour qui modifiait le format des blocs et des transactions, mais elle a été méticuleusement conçue. Les anciens nœuds pouvaient encore valider les blocs et les transactions (la mise à jour n'enfreignait pas les règles), mais ils ne les comprenaient tout simplement pas complètement. Certains champs ne pouvaient être lus que lorsque les nœuds passaient au logiciel le plus récent, ce qui permettait une analyse supplémentaire des données.
Même deux ans après l'activation de SegWit, tous les nœuds n'ont pas été mis à jour. La mise à jour complète présente certains avantages, mais il n’y a aucune urgence, car ce ne sont pas des changements qui nuisent au bon fonctionnement du réseau.
Fourches dures et fourchettes dures fourchettes souples – quel est le meilleur ?
Fondamentalement, les deux types de fourches ont des objectifs différents. Les hard forks controversés peuvent diviser une communauté entière, mais les hard forks bien planifiés offrent la liberté de modifier le logiciel lorsque tout le monde est d'accord.
Le soft fork est une option moins radicale. En général, les possibilités sont plus limitées, dans la mesure où les nouveaux changements ne peuvent pas entrer en conflit avec les règles existantes. Cela dit, si votre mise à jour peut être conçue de manière à rester compatible, vous ne craindrez pas la fragmentation du réseau.
Considérations finales
Les hard forks et les soft forks sont essentiels au succès à long terme des réseaux blockchain. Ils permettent des changements et des mises à jour dans les systèmes décentralisés, même en l'absence d'autorité centrale.
Les forks permettent aux blockchains et aux crypto-monnaies 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. Sinon, nous nous retrouverions avec exactement les mêmes règles pendant toute la durée d’existence du protocole.
➠ Des questions sur les fourchettes ? Accédez à Ask Academy !