Unter Ugly Bob | OCT 17, 2022
8:25 Min gelesen
Si vous êtes familier avec le développement de logiciels open-source, vous avez peut-être entendu parler de ce qu’on appelle un fork. Ce concept a cependant une signification plus spécialisée dans l’espace cryptographique :
La bifurcation en crypto est un changement dans le protocole de consensus d’une blockchain. Il s’agit d’un changement où les nœuds commencent à confirmer les blocs dans une chaîne distincte de la chaîne d’origine.
Imaginons qu’un développeur répertorie un morceau de code sur une plateforme comme GitHub, qui est ouverte au public. Cela s’appelle l‘open-source.
Cela signifie que les utilisateurs peuvent créer une copie du code source pour leur propre usage. Ils peuvent le faire dans l’intention de compiler eux-mêmes le logiciel. Ils peuvent le faire pour ajouter des fonctionnalités qui n’auraient pas été ajoutées par les auteurs originaux d’un logiciel ou qui auraient été rejetées par les auteurs originaux.
Le fait de prendre ce code source et de s’en inspirer indépendamment s’appelle la bifurcation. C’est la clé de la vitalité de l’open-source.
La nuance des logiciels de cryptologie réside dans le consensus. Il s’agit de la principale propriété d’un protocole blockchain fonctionnel. Chaque nœud opérant sur le réseau doit utiliser le même logiciel que tous les autres nœuds, sous peine de sanctions et d’exclusion.
Disons que vous voulez bifurquer un logiciel de cryptographie existant. En raison de ce besoin de consensus, il faudrait forker toute la blockchain. À moins que vous ne puissiez convaincre la majorité des nœuds existants de remplacer leur logiciel par le vôtre, ce qui n’est pas toujours facile !
Les bifurcations se produisent pour de nombreuses raisons :
Il existe deux types de bifurcations dans l’espace cryptographique où les règles de consensus sont modifiées. Les deux doivent adhérer à des résultats différents qui incluent ou excluent la participation des nœuds plus anciens.
Un hard fork se produit lorsque les règles de consensus sont assouplies pour permettre certaines modifications du réseau. Ces modifications augmentent la fonctionnalité du comportement de confirmation des blocs. Ces changements ne sont pas rétrocompatibles pour les nœuds utilisant l’ancien logiciel et vont créer une nouvelle branche dans la blockchain d’origine.
Lorsque la fonctionnalité générale des actifs d’un réseau change, il en va de même pour les propriétés économiques de ces actifs. Ces changements peuvent inclure :
La liste est longue, mais une chose est certaine : un nouvel actif est nécessaire pour effectuer des transactions sur la nouvelle blockchain.
Par exemple : Imaginons qu’un nœud exécutant l’ancien logiciel reçoive un bloc de 2 Mo alors qu’il attendait un bloc de 1 Mo. Ce bloc de 2 Mo ne serait pas valide car il est plus grand que ce que les règles de l’ancien réseau autorisent. Le bloc de 2 Mo devrait être envoyé sur un réseau distinct.
Un soft fork se produit lorsque les règles de consensus sont renforcées pour tenir compte d’un certain changement dans le réseau. Ce changement produit une certaine fonctionnalité de confirmation de bloc ou un comportement de consensus. Ce type de fork est rétrocompatible pour les nœuds exécutant des logiciels plus anciens et permet aux nœuds de renoncer à la méthode de participation mise à jour.
Pour reprendre notre exemple précédent : Disons qu’un nœud attend un bloc de 1 Mo mais reçoit un bloc de 0,8 Mo. Dans ce cas, ce bloc plus petit sera considéré comme inférieur à un bloc complet, mais sera tout de même accepté.
Voyons quelques exemples de toutes ces bifurcations dans la pratique. Nous examinerons les deux réseaux de cryptomonnaies les plus populaires, qui ont connu des difficultés de croissance pour arriver là où ils sont aujourd’hui.
Au milieu et à la fin des années 2010, le bitcoin(BTC / USDT) a été confronté à des problèmes d’évolutivité et sa progression a été contestée par deux factions d’utilisateurs de bitcoin.
Une proposition a été faite pour mettre en œuvre la fonctionnalité Segregated Witness (SegWit ) dans le logiciel Bitcoin. SegWit a été proposé comme une modification de l’architecture de transaction de Bitcoin. Cette modification permettrait de stocker les données de signature sous forme d’arbre de données attaché aux transactions et de ne pas les compter dans l’ID de la transaction. SegWit a été proposé comme un choix „opt-in“. Ce serait un exemple de fourchette souple.
Vous pouvez en fait voir les différences dans votre adresse Bitcoin : Une adresse commençant par le chiffre un utilise la structure de transaction traditionnelle, tandis que les adresses commençant par „bc1“ ou le chiffre trois utilisent respectivement SegWit natif et SegWit imbriqué.
Les Bitcoiners étaient alors déchirés entre la diminution des données nécessaires à une transaction pour permettre à davantage de transactions de tenir dans les blocs de 1 Mo et l’augmentation de la taille des blocs à 8 Mo. Le rejet de SegWit pour les blocs plus importants nécessiterait une bifurcation du réseau. En août 2017, le bitcoin a été bifurqué et le bitcoin cash a été créé.
En juin 2016, des pirates se sont introduits dans „The DAO“, une grande trésorerie créée pour fournir des investissements à des projets sur le réseau Ethereum. Les pirates ont volé environ 55 millions de dollars US.
Avant le piratage, la DAO avait environ 250 millions de dollars US dans sa trésorerie. Voici comment cela a fonctionné :
Chaque membre recevrait 100 jetons DAO pour chaque 1 ETH déposé dans la trésorerie. Ces jetons étaient utilisés pour voter sur le caractère potentiellement rentable ou non d’une proposition d’investissement donnée. Si la proposition était adoptée, la trésorerie transférait automatiquement l’investissement proposé en ETH à un contrat intelligent représentant le projet.
L’idée était similaire à celle d’un fonds spéculatif. Si le projet génère plus de revenus que l’investissement, les bénéfices sont reversés dans le trésor de la DAO et augmentent la valeur du jeton de la DAO.
Cependant, le contrat intelligent présentait une vulnérabilité qui a été exploitée pour permettre à l’attaquant d’effectuer des retraits infinis jusqu’à ce que la trésorerie soit vidée.
Bien sûr, cette histoire comporte de nombreux détails, mais tenons-nous-en aux événements clés. Les pirates attaquants se sont battus pour retirer le plus d’argent possible tandis que les pirates blancs de la communauté essayaient désespérément d’utiliser le même exploit pour sauver les fonds du trésor public.
À la fin, les deux factions avaient épuisé tout ce qu’elles pouvaient, mais le mal était fait. Pour atténuer complètement l’attaque, un hard fork de la blockchain a été proposé. La blockchain serait redémarrée depuis le début du piratage et continuerait comme si de rien n’était. Il s’agit de la blockchain canon actuelle d’Ethereum(ETH / USDT) telle que nous la connaissons.
Certains utilisateurs ont toutefois estimé qu’il s’agissait d’un mauvais précédent et qu’ils resteraient sur la blockchain où le piratage s’était produit, connue désormais sous le nom d’Ethereum Classic.
La bifurcation est généralement effectuée pour améliorer un protocole. Que les changements soient bons ou mauvais, cela dépend de la communauté qui les effectue.
Les réseaux fourchus ayant des propriétés techniques et économiques différentes, ils constituent des actifs fondamentalement différents. Ces facteurs auront une incidence sur l’augmentation de la valeur d’un actif.
Il n’y a pas de meilleure crypto à forker et tout projet à source ouverte peut être forker.
Ethereum 2.0 n’est pas considéré comme un hard fork si les utilisateurs adhèrent au modèle Proof-of-Stake lors des mises à jour logicielles. La version Proof-of-Work de l’ETH donnera naissance à une nouvelle blockchain.
Bitcoin met en œuvre des hard forks généralement pour résoudre des problèmes de scalabilité. Le problème se situe généralement au niveau des transactions par seconde et de la taille des blocs.
Vasil est un hard fork de Cardano(ADA/ USDT).
Un hard fork n’est pas rétrocompatible et nécessite une nouvelle blockchain, tandis qu’un soft fork est rétrocompatible avec l’ancienne blockchain. Voir l’article ci-dessus pour une explication plus détaillée.