Dans la technologie de la blockchain, les hard forks et les soft forks sont deux méthodes distinctes pour mettre à niveau et actualiser les protocoles réseau. Ils présentent des différences significatives dans leur mise en œuvre, affectant la structure et le fonctionnement du réseau blockchain.
Hard Fork - Un "hard fork" fait référence à un changement de règles où la nouvelle version du réseau n'est plus compatible avec l'ancienne version, ce qui entraîne deux branches de la blockchain (parallèles et sans affect l'une sur l'autre).
Soft Fork - Un "soft fork" fait référence à un changement de règles où les nœuds qui implémentent les nouvelles règles peuvent toujours interagir avec les nœuds qui n'ont pas adopté les changements. La nouvelle version du réseau reste compatible avec l'ancienne version.
Hard Fork | Soft Fork |
Exemple: 2016 DAO | Exemple: 2017 Segwit |
L'ancienne version n'est pas compatible avec le nouveau réseau. | Le nouveau réseau est compatible avec l'ancien. |
Protocoles Différents | Identique |
Analyse de Situation
Hard Fork Soft Fork
Par exemple, si la moitié des nœuds du réseau souhaitent faire passer la taille des blocs de 2 Mo à 3 Mo, l'envoi d'un bloc de 3 Mo aux nœuds de l'ancienne version entraînera un rejet, car les nœuds de l'ancienne version ont une règle spécifiant 2 Mo comme taille maximale de bloc. Dans ce scénario, le protocole réseau se divise en deux, chacun utilisant des devises différentes. Tous les soldes de compte sont clonés à partir des enregistrements d'origine vers la nouvelle chaîne. Les utilisateurs qui possédaient 20 BTC avant le fork auront un compte avec 20 BTC et un autre avec 20 nouveaux BTC sur les deux chaînes.
Par exemple, si la taille de bloc d'origine est de 2 Mo, et si maintenant la moitié des nœuds du réseau implémentent une nouvelle restriction de taille de bloc de 1 Mo et considèrent les blocs plus grands comme invalides, les nœuds de l'ancienne version peuvent toujours recevoir ou diffuser des blocs. Dans ce cas, le nouveau réseau peut couvrir tous les nœuds sans être limité par les versions des règles. Le Segregated Witness (SegWit) de Bitcoin est un exemple de soft fork. Ce fork a habilement introduit un nouveau format pour les blocs et les transactions. Les nœuds qui n'ont pas été mis à jour peuvent continuer à recevoir les informations des blocs mais ne participent pas à la validation des nouvelles transactions.
