Soft forks, c’est quoi dans le domaine de la cryptomonnaie ?



Nous pouvons définir le terme fork comme une mise à jour de la blockchain. Dans cet article, nous allons surtout présenter ce qu’on appelle soft fork.

Définissons le soft fork

Lorsqu’il s’agit de crypto-monnaie, il n’est pas toujours facile de comprendre cet univers quand on n’y est pas initié. Il faut d’abord comprendre que le mot fork désigne. Comme tous les logiciels, la blockchain d’une crypto monnaie a besoin d’une mise à jour pour fonctionner, et donc d’une soft fork. De manière plus détaillée, en matière de technologie blockchain, un soft fork est une modification du protocole logiciel dans laquelle seuls les blocs de transaction précédemment validés deviennent invalides.

Cela est dû au fait qu’un soft fork est rétrocompatible. En effet, les anciens nœuds reconnaîtront les nouveaux blocs comme valides. Pour appliquer les nouvelles règles, le soft fork n’a besoin pas qu’une majorité de mineurs se mettent à jour. Il est ainsi en contradiction avec le hard fork (exemple : Bitcoin cash/ Bitcoin Gold) qui nécessite que tous les nœuds se mettent à jour et se mettent d’accord sur la nouvelle version.

Quels sont les types des soft forks ?

Il y a deux types de soft forks :

  • La fourche souple activée par le mineur (MASF) :

Il s’agit d’un mécanisme qui génère un changement ou une transition du réseau vers les règles de consensus. Afin de l’activer, les mineurs doivent accepter des modifications ou des changements du protocole. Les mineurs utilisent leur pouvoir de hachage pour y parvenir.

  • La fourche activée par l’utilisateur (UASF) :

L’UASF est l’abréviation de User Activated Soft Fork (UASF) ou User Activated Soft Fork. Il s’agit d’un mécanisme ayant été activé par nœuds complets à un moment précis, ce qui permet au système Bitcoin de passer à un nouvel ensemble de règles pour consentement. Cela se fait sans provoquer de changements notables dans le réseau telle que la division de la chaîne en deux blockchains différentes.

La différence de MASF avec UASF, c’est que MASF est activé par les mineurs utilisant leur puissance de hachage au lieu d’être activé par nœuds complets.

Quels sont les avantages et les inconvénients du soft fork ?

Le soft fork a plusieurs avantages. En effet, il a un caractère optionnel de la mise à niveau qui permet aux nœuds non miniers de se mettre à jour progressivement. Il y a une faible probabilité d’embranchement de la chaîne si le soft fork est signalé par la majorité des validateurs. Mais comme toute invention humaine, le soft fork a plusieurs défauts. En effet, puisque restrictif, il est très complexe. Sa mise à niveau requiert souvent l’ajout de nouvelles exceptions afin d’implémenter les changements (P2SH, CLTV/CSV, SegWit).

Un autre problème se pose concernant le soft fork: En effet, le consentement est ambigu. Cela est dû au fait que le soft fork peut être forcé, c’est-à-dire imposé par une majorité écrasante de validateurs sans que les utilisateurs ne puissent réagir. Ils se retrouvent alors obligés d’opter pour le hard fork.

Le fonctionnement du Soft Fork

Pour bien saisir ce qu’est le Soft fork, il faut aussi comprendre comment il marche et les conditions requises pour son fonctionnement.

Comment fonctionne le soft fork ?

Lorsqu’il s’agit du bitcoin, les mineurs comprennent que leurs blocs se mettent à jour et sont rejetés. Tant que les mineurs se mettent à jour, la chaîne, avec de nouveaux blocs, devient de plus en plus longue. Ceci aggrave les anciens blocages des versions orphelines entraînant une mise à niveau accrue des mineurs et une correction automatique du système. Puisque les nouveaux blocs sont acceptés par les nœuds anciens et mis à niveau, les nouveaux blocs de version finissent par gagner. En effet, ils sont nombreux et plus longs. Ils répondent sur les nœuds et les anciens peuvent ainsi se mettre à jour.

Il arrive que le soft fork se produise en raison d’une divergence temporaire dans la blockchain lorsque les mineurs qui utilisent des nœuds non mis à niveau enfreignent une nouvelle règle de consensus étrangère à leurs nœuds.

Puisque tous les blocs, avec les nouvelles règles soft fork-in, peuvent continuer à suivre les anciennes règles, tous les clients les acceptent. Les soft forks permettent uniquement à l’ensemble de blocs valides d’être un sous-ensemble approprié de ce qui était avant la fourche valide. Ainsi, ils ne peuvent pas être inversés sans un hard fork. Il arrive que les utilisateurs passent à un client post-soft fork et que la majorité des mineurs reviennent au client pré-soft fork. Les utilisateurs au client post-soft fork peuvent rompre le consensus dès qu’un bloc, qui ne suivait pas, arrive.

Les conditions requises pour le fonctionnement d’un soft fork

Afin qu’un soft fork fonctionne, il est impératif que le client reconnaisse la fourche. Plus le nombre de mineurs qui acceptent les nouvelles règles est important, plus le réseau est sécurisé après le fork. Lorsque les ¾ des mineurs reconnaissent le soft fork, le quart des blocs créés n’aura pas la garantie de pouvoir suivre les nouvelles règles. Ainsi, ces blocs pourront être valables pour les anciens nœuds qui seront ignorés par les nouveaux.

Le soft fork peut fonctionner avec les anciennes versions. Il arrive qu’un protocole soit modifié d’une manière qui resserre les règles, ajoute une fonction qui n’affecte pas la structure de quelque manière que ce soit ou qui implémente une modification esthétique. Ainsi, les anciens blocs de version acceptent les nouveaux blocs de version. La version la plus récente rejette, quant à elle, les anciens blocs.

Soft fork et cryptomonnaie

Des soft forks ont été utilisées notamment sur les blockchains bitcoin et ethereum afin d’y implanter de nouvelles fonctionnalités rétrocompatibles et de les améliorer. De même, le protocole Bitcoin a subi dernièrement un soft fork au nom de la mise à niveau de Taproot. Celui-ci vise à améliorer l’efficacité, la confidentialité et la capacité des smart contracts du réseau.