Les blockchains ont besoin d'améliorations et de mises à jour pour améliorer leurs caractéristiques, le tout sans interrompre le fonctionnement du réseau ou causer des problèmes de compatibilité, pour y parvenir, il y a les Soft Forks, une petite mise à jour logicielle qui permet aux utilisateurs de continuer à fonctionner même s'ils ne sont pas mis à jour .
Là la blockchain comme tout type de logiciel nécessite des mises à jour pour continuer à fonctionner. Avec les mises à jour, de nouvelles améliorations peuvent être apportées au réseau. Ces mises à jour, si elles ne modifient pas les règles qui enfreignent le fonctionnement de la version précédente du logiciel, sont appelées Fourche souple.
Un soft fork n'est rien d'autre qu'une mise à jour du code programme qui gère un blockchain pour ajouter un changementHabituellement, une nouvelle fonctionnalité ou un correctif de bogue. Mais pour être un soft fork, il doit rester compatible avec l'ancienne blockchain.
Il permet à tous les participants d'avoir implémenté le nouveau code ou ils ne peuvent pas fonctionner sur le réseau. Leur permettant de fonctionner avec le nouveau bloques mais sans avoir les nouvelles améliorations implémentées par la mise à jour. Si l'un des participants au réseau ne procédait pas à la mise à jour vers la nouvelle version du programme, il pouvait continuer à vérifier les blocs sans aucun problème.
Par exemple, les processus de mise à jour dans Bitcoin sont d'abord connus dans le BIP (Propositions d'amélioration Bitcoin - Propositions d'amélioration Bitcoin). Une fois approuvée, la mise en œuvre ultérieure appartient aux développeurs des clients Bitcoin.
Types de fourche souple
Il existe deux types de fourches souples:
- Lorsque la plupart des mineurs mettent à niveau pour appliquer les nouvelles règles. C'est appelé Fourche souple activée par le mineur (MASF).
- Quand noeuds Les entités sont coordonnées pour faire appliquer les nouvelles règles, sans le soutien des mineurs. C'est appelé Fourche souple activée par l'utilisateur (UASF).
Comment fonctionne une fourche souple?
Les fourches logicielles sont une mise à jour de la manière dont certains paramètres de la blockchain sont traités. Tout cela sans altérer les règles de base de son fonctionnement. De cette manière, certaines parties du protocole sont modifiées de telle sorte que les nœuds mis à jour rejettent les transactions précédemment valides. Mais les nœuds avec l'ancien logiciel valident les transactions de format ancien et nouveau. Cela permet aux nœuds mis à niveau de continuer plus facilement leur travail sur le réseau.
Cependant, ce comportement rend la mise en œuvre des fourches souples plus complexe. Les développeurs doivent veiller à la compatibilité avec les logiciels plus anciens. Sinon, ils courent le risque de perturber par erreur l'ensemble du réseau.
Prenons comme exemple la mise à jour Bitcoin de Témoin séparé ou SegWit. Cela a été officiellement activé dans le bloc 481822 avec une acceptation par le réseau de 99.95%. On estime qu'en février 2018, plus de 30% des transactions sont basées sur SegWit.
SegWit était une proposition d'entreprise Blockstream et il a été largement mis en œuvre. Non seulement dans Bitcoin mais a également été implémenté dans Litecoin et Vertcoin, entre autres. L'une des raisons de la création de cette mise à jour est de dépanner au minimum le évolutivité actuellement présenté par Bitcoin.
Bien que tous les nœuds Bitcoin ne prennent pas encore en charge SegWit, le réseau continue de fonctionner parfaitement. En effet, ce soft fork est compatible avec les anciennes versions du logiciel full node.
En résumé, les soft forks sont difficiles à programmer et ne nécessitent pas de consensus pour être mis en œuvre. Cela finit souvent par fragmenter le niveau de mise à jour logicielle sur les nœuds du réseau, ce qui entraîne un scénario indésirable.