CryptoLesson #3 : soft forks et hard forks

in #crypto7 years ago

Un fork peut se produire à partir de deux événements différents.
Elles se produisent sur la blockchain censée être unique et unanime.
Les deux types de fork ont des implications très différentes.

Soft fork

Un soft fork se produit si des mises à jour liée à une crypto-monnaie ne sont pas compatibles.
Les utilisateurs ayant différentes versions du "logiciel" créent alors 2 registres (blockchains) différents.
Dans ce cas, l'équipe de développeurs doit rapidement éliminer les bugs cause les incompatibilités et décider comment fusionner les blockchains.

Le soft fork consiste en un changement dans le protocole qui ne rend qu'une partie des blocs valides en invalides.
Les nœuds n'ayant pas mis à jour leur client pourront tout de même continuer ) reconnaître les nouveaux blocs comme conformes.
A noter que le soft fork est rétro-compatible.

Le soft fork a besoin de la validation de la majorité des utilisateurs.
Il est souvent utilisé pour changer un aspect du protocole ou ajouter des fonctionnalités sans avoir à modifier le core du projet.

D'un point de vue théorique, une partie des blocs (contenant la règle à changer) est rendue obsolète.
On implémente la nouvelle règle dans ces blocs, qui redeviennent valides.
Ils restent de même nature que les blocs précédents. C'est pour cela que les nœuds qui n'ont pas mis à jour leur client peut continuer à utiliser la blockchain sans souci.

Toutefois, il ne faut pas oublier que sans cette mise à jour, il y a vulnérabilité.
Si la majorité des utilisateurs qui valident le soft fork est faible, ceux qui n'auront pas validé ce fork seront extrêmement vulnérables face à des attaquants qui peuvent faire payer 2 fois chaque transaction : une pour l'ancienne chaîne, une autre pour la nouvelle.

On comprend donc aisément l'importance d'un consensus rapide et sécurisé.

Hard fork

Un hard fork est généré lorsque tous les développeurs de la crypto-monnaie décident que des changement doivent être apportés à la programmation de la crypto.
Ce qui créera des incompatibilités entre la version la plus ancienne et la plus récente.
Lorsque les modifications sont apportées, tous les utilisateurs doivent être prêts pour la mise à jour de la blockchain pour pouvoir utiliser correctement la crypto-monnaie.

C'est un changement radical dans le protocole.
Il rend tous les anciens blocs non conformes et exigent un consensus unanime de la part de tous les utilisateurs pour être implémenté.
C'est une divergence totale et définitive avec l'ancienne blockchain.
Les utilisateurs n'ayant pas réalisé la mise à jour ne seront pas dans la capacité d'utiliser la crypto-monnaie.
Une différence notable avec le soft fork.

Du coup, 2 chaînes incompatibles sont créées.
Le cas le plus simple est lorsque les utilisateurs vont rapidement mettre à jour leur blockchain afin d'utiliser la nouvelle blockchain.
Mais il arrive également (comme on l'a connu avec Ethereum) où le mal est plus profond et que les 2 entités se disputent l'autorité sur la blockchain. Les 2 chaînes se séparent et existeront en tant que rivales.
On peut citer Ethereum et Ethereum Classic ou encore Ripple et Lumen (même si l'histoire doit être nuancée).

Dans l'histoire de la crypto, le bitcoin a souvent été sujet à des hard fork mais jusque-là, ils n'ont jamais été validé et il n'y a eu que des soft forks.

Les risques des forks

Les forks sont souvent liés au FUD (Fear, Uncertainty and Doubtness). Ils sont associés ) une grande anxiété et à la panique dans une crypto-monnaie.
Lorsque 2 blockchains différentes existent, une seule peut finalement être correcte.
Ainsi, les transactions trouvées sur la "mauvaise" blockchain pouraient être perdues. Par conséquent, lors d'un fork, les utilisateurs seront avertis de ne pas effectuer de transactions tant qu'il ne sera pas résolu.

De plus, les forks sont également pénibles pour les entreprises crypto. Comme on vient de le voir, il y a un risque de pertes de transactions, ce qui bloque l'activité de ces entreprises.
Il va sans dire que les forks demandent beaucoup de temps et d'investissement pour la communauté car tous les logiciels associés doivent être mis à jour. Et tous doivent y contriuer : utilisateurs, plateformes d'échanges, mineurs.

Toute potentielle perte d'argent peut (et doit) effrayer les utilisateurs. C'est un risque pour l'avenir de la crypto-monnaie.
Des mises à jour fréquentes et des travaux supplémentaires peuvent amener les plateformes d'échanges, les entreprises et les utilisateurs à adopter une autre monnaie, plus stable.
Et une monnaie moins populaire est une monnaie moins précieuse.
Techniquement, si un fork n'est pas élucidé, il y aurait incompatibilité et on aurait 2 versions de la même monnaie. C'est un gros problème car la monnaie en question n'aurait alors plus aucune valeur.

On peut également dire qu'un fork est un événement stressant pour al communauté.
Les investisseurs pèsent leurs risques, et un tel événement pourrait les inciter à vendre en masse. Ce qui risque de fortement influer sur le marché.
Souvent, on remarque que lors d'un fork, la valeur de la monnaie tombe.
Et si en plus, le fork met en péril la survie à long terme, cette baisse devient justifiée.
A l'inverse, si le fork améliore la stabilité et la structure en améliorant le code, cela peut être une excellente opportunité d'achat.