Cryptos

Quelles sont les différences entre un hard fork et un soft fork ?

Pour résoudre un problème, tout logiciel nécessite des mises à jour. Dans l’univers des cryptomonnaies, ces mises à jour sont appelées fork ou bifurcation. Tous les participants doivent donc suivre des règles bien précises comme la taille d’un bloc sur une chaîne de blocs ainsi que de nombreuses autres propriétés et attributs à prendre en compte. Pour faire simple, il existe deux types de fork en cryptos : le soft fork et le hard fork. Ces derniers changent fondamentalement le fonctionnement du protocole d’une cryptomonnaie. Dans cet article, nous nous concentrons sur les différences qui existent entre ces deux types de bifurcations.

Qu’est-ce qu’un soft fork ?

Un soft fork est utilisé pour une mise à jour mineure. Il s’agit d’une modification apportée à un protocole crypto et qui reste toujours compatible avec les versions précédentes. On peut assimiler cela à une simple mise à jour sur un smartphone par exemple. C’est le même principe. En effet, les anciens blocs restent acceptables avec les nouvelles règles créées. On appelle cette opération une modification rétro compatible. Cela signifie, en fait, que les nœuds non mis à jour resteront en mesure de traiter toutes les transactions et de traiter même les nouveaux blocs de la chaîne de blocs. Mais cela n’est possible que lorsqu'ils ne s'opposent pas aux nouvelles règles du protocole.

Les versions de soft fork en cryptomonnaies

En soft fork, la version antérieure de la blockchain fonctionnera avec la dernière version de mise à jour. En terme général, la majorité des mineurs doivent adhérer aux nouvelles règles. Il est important de signaler aussi que plusieurs embranchements de ce type ont été effectués sur le Bitcoin. Parmi les quelques soft forks, on peut évoquer le BIP66 et le P2SH. Ces deux derniers ont permis d'implémenter le système de multi-signatures.

On trouve des soft forks activés par les mineurs MASF ainsi que des soft forks activés par les utilisateurs UASF.

Les soft forks activés par les mineurs MASF

Cette première catégorie est un mécanisme par lequel les mineurs de blockchain ont la possibilité d’introduire de nouvelles mises à jour sans pour autant affecter son fonctionnement. C’est le cas de la proposition d'amélioration du Bitcoin, BIP 34. En effet, elle consiste à mettre à jour et améliorer les transactions et les blocs versionnés du réseau.

Les soft forks activés par les utilisateurs UASF

En contrepartie, cette deuxième catégorie consiste à implémenter le soft fork dans le code source du logiciel, dans le but qu’il rentre en application à une date prédéfinie. Tel est le cas de la proposition d'amélioration de bitcoin BIP 148. Cette dernière encourage le réseau à mettre en œuvre SegWit de manière à améliorer l’utilisation de l’espace dans le bloc.

Qu’est-ce qu’un hard fork ?

Contrairement à un soft fork, le hard fork apporte souvent des modifications incompatibles avec les versions antérieures. Cela veut dire que les nœuds qui ne se mettent pas à jour vers la nouvelle version, ne pourront pas traiter les transactions normalement. De plus, ils ne peuvent pas insérer de nouveaux blocs dans la chaîne de blocs. Ce type de fork se sépare donc définitivement de la blockchain originale.

Les hards forks peuvent être très utiles lorsqu’il s'agit d’une modification ou d’une amélioration d’un protocole déjà existant. Cela peut aussi s'avérer indispensable pour créer un nouveau protocole ainsi qu’une nouvelle chaîne de blocs indépendants.

Prenons l’exemple de Cardano qui est une blockchain et sa devise native est l'ADA. En effet, IOHK est la société blockchain derrière cardano. Celle-ci a annoncé que l'événement combinateur Alonzo Hard Fork a été déclenché avec un grand succès. Cette importante étape amène DeFi à la blockchain de Cardano.

Les catégories d’un hard fork en cryptomonnaies

Un hard fork peut être extensif. Il correspond alors à un élargissement des règles de consensus. Par exemple, l’augmentation de la taille limite des blocs sur Bitcoin. Cependant, il peut également être bilatéral, en créant une incompatibilité totale entre les nouvelles et les anciennes règles. C’est le cas d’un changement d’algorithme de signature des transactions. Généralement, les hard forks peuvent être divisés en deux catégories : les mises à niveaux et les hard forks contentieux.

Les mises à niveaux

Elles correspondent à une modification du protocole accepté par l’ensemble des acteurs impliqués (développeur, validateurs et utilisateurs). En effet, le résultat est linéaire et ne cause pas de réels embranchements. Cette méthode est utilisée régulièrement par Bitcoin Cash et Monero.

Les hard forks contentieux

Néanmoins, les hard forks contentieux se produisent lors d’un désaccord sur les changements de règles à adopter. Dans ce cas, tout est dédoublé. On a affaire à deux protocoles, deux réseaux, deux chaînes, deux caps d’utilisateurs, de développeurs et de validateurs. Tel est le cas d'Ethereum et Ethereum Classic.

Les différences entre un hard fork et un soft fork

La principale différence entre un hard fork et un soft fork réside dans la progression du changement de protocole. Aussi, la nécessité de mettre à jour le logiciel des nœuds pour continuer à participer au réseau est différente dans les deux types de forks. En effet, les nœuds de la nouvelle version de la blockchain en soft fork acceptent les anciennes et les nouvelles règles. Le réseau conserve alors l’ancienne version pendant la création de la nouvelle. Alors que dans le hard fork, la version précédente n’est pas compatible avec la nouvelle. Elles sont donc toutes les deux indépendantes.

Le soft fork est souvent préféré au hard fork en raison de son caractère optionnel. Il s’agit actuellement de la méthode privilégiée pour améliorer Bitcoin BTC. Le hard fork, quant à lui, présente un caractère obligatoire de la mise à niveau. Cette dernière requiert que tous les nœuds du réseau se synchronisent.

Cependant, le soft fork, étant restrictif, est une méthode légèrement complexe. En effet, elle requiert souvent l’ajout de nouvelles exceptions comme SegWit, P2SH et CLTV/CSV. En contrepartie, le hard fork est simple. Puisqu’il implante des améliorations logiques et ordonnées, il fonctionne facilement sans compliquer les procédures. De même, les modifications hard fork se caractérisent par une clarté de consentement. En revanche, le soft fork peut être forcé dans le sens où la majorité des validateurs les imposeront sur les utilisateurs. En cela, le soft fork est indiscernable de la censure des transactions.

L’exemple d'Ethereum et Ethereum Classic

Le 17 juin 2016, le projet The DAO a fait face à un hack. À cause d’une faille dans le code du smart contract, une somme de 3,6 millions d'Ethers a été dérobée. Pour l’ensemble de la communauté, c’est la panique totale. Parmi les solutions proposées étaient de réaliser un fork. Cela permet, en fait, de revenir à l'état de la blockchain avant le hack. C’est là qu’un désordre apparaît. Les grands noms du projet, comme Vitalik Buterin, souhaitent faire un nouvel ETH. Alors qu’une minorité soutient l'idée de garder la blockchain initiale en hommage aux idées des cypherpunks. La communauté fut donc divisée via un hard fork. Les supporteurs de l’ETH migrent vers l’actuelle Ethereum. Au contraire, certains continuent d’utiliser la première version avant le hack qui est maintenant l’Ethereum Classic.

L’exemple de Bitcoin et Bitcoin Cash

Actuellement, l’un des forks les plus connus est celui de Bitcoin et Bitcoin Crash. Le 1er août 2017, certains membres de la communauté ont considéré activer Segwit sans augmenter la taille des blocs. Ses membres se sont regroupés et ont créé Bitcoin Cash. Ce dernier multiplie par 8 les blocs passant de 1 à 8 Mo. En effet, le bitcoin cash a eu lieu après un désaccord dans la communauté. La proposition est donc suivie par un hard fork qui a engendré deux cryptos distinctes : le bitcoin et le bitcoin cash. Par conséquent, la nouvelle cryptodevise (bitcoin cash) devient incompatible avec la version originale du bitcoin. Il est donc impossible aux utilisateurs d’envoyer du bitcoin sur un wallet bitcoin cash.

SegWit, la modification mineure de Bitcoin

SegWit, appelé également Segregated Witness, est un soft fork qui maintient la compatibilité de la nouvelle version de bitcoin avec la version précédente. Cette décision a été prise fin 2017 suite à un débat sur la scalabilité de Bitcoin. Aujourd’hui, SegWit est l’une des plus grosses évolutions du logiciel bitcoin, depuis sa création. En effet, il a permis de changer le format de transactions sur le réseau de la blockchain, dans le but d’augmenter la capacité d’un bloc et encore de relever le niveau de sécurité des différentes transactions.

En bref, SegWit réduit considérablement le poids des transactions en séparant celles-ci en deux parties. Cette méthode augmente sûrement le nombre de transactions. En effet, la première section contient les adresses des portefeuilles de l'expéditeur ainsi que celles du destinataire. Quant à la deuxième section, elle se compose de données témoins qui comprennent les signatures de la transaction. Afin de réduire la taille de cette dernière, SegWit sépare les données témoins du bloc principal. Par conséquent, les transactions nécessitent moins d’espace. Cela permet donc d’augmenter le nombre de transactions par bloc et la capacité du réseau bitcoin.

Les défis qui attendent les forks

La prévisibilité et la stabilité des réseaux sont essentielles à l’adoption des cryptos au cours des transactions financières quotidiennes. Certains estiment que les hard forks constituent une réelle menace pour maintenir ces deux valeurs. De plus, les problèmes de puissances impliquant ce type de forks contentieux peuvent semer la confusion et l’incertitude des utilisateurs. Cela peut également entraîner des pertes de fonds dans le cas où ces derniers envoyaient des fonds au mauvais réseau. D’un autre point de vue, les forks permettent à un réseau de s’auto-auditer. Ils peuvent aussi permettre d’ajouter des fonctionnalités supplémentaires comme des fonctions de mise à l'échelle des cryptos déjà existantes.

Dans l’ensemble, le défi réside dans l'exécution de l'événement. C’est pour cette raison que plusieurs processus de gouvernances efficaces sont une condition préalable.

En guise de conclusion

Le principe d’un soft et hard fork s’explique en réalisant une mise à jour de la blockchain. Cette modification ne fait pas disparaître l’ancienne version. En effet, elle existe toujours. S’il y a une mise à jour du bitcoin par exemple, il y aura deux versions du bitcoin ainsi que deux chaînes de blocs. Parfois, ces deux versions resteront compatibles (soft fork). Mais dans d’autres situations, les deux versions créées seront discordantes et entraînent par la suite deux cryptos différentes (hard fork).

Dans les deux cas, il faut rester prudent et se renseigner continuellement en tant qu’utilisateurs. Cependant, les forks continueront de faire partie intégrante du développement de la cryptomonnaie.