Hard fork / soft fork

3
2913

Pour une « cryptomonnaie », un « fork » (un embranchement) est une modification des règles qui la régissent. Certaines transformations peuvent être mineures et rétrocompatibles – on parle alors de « soft fork » – ou plus importantes et sans compatibilité ascendante, c’est un « hard fork ». Un « soft fork » peut se contenter du soutien de la majorité de nœuds et mineurs pour devenir fonctionnel. Un « hard fork » en revanche nécessite un très large consensus, voire une unanimité.

En effet, si, dans le cas d’un « hard fork », un groupe suffisamment important de mineurs et de nœuds maintenaient l’ancienne version du protocole, la modification ne pourrait aboutir qu’à la création d’un « altcoin » supplémentaire. Dans ce cas de figure on peut imaginer que les utilisateurs seraient divisés entre la version orthodoxe désormais minoritaire maintenue par le groupe conservateur et une alternative hétérodoxe devenue majoritaire. Le risque c’est la perte de confiance et un effondrement du cours du nouveau comme de l’ancien token.

Un « soft fork » est une mise à jour mineure et optionnelle. Il s’agit d’une restriction des règles régissant l’ancien protocole. Les transactions enregistrées par les mineurs du nouveau protocole sont toujours validées par ceux ayant conservé l’ancien. L’objectif les initiateurs d’un « soft fork » c’est que l’implémentation du nouveau protocole soit adoptée par plus de 51% des mineurs afin d’inscrire dans le temps les nouvelles règles. En cas de consensus large on peut évidemment augmenter le seuil du déclenchement d’un « soft fork » pour assurer son bon fonctionnement. C’est ainsi que Segwit ne sera activé que s’il est adopté par 95% des mineurs.

De nombreux « soft fork » ont déjà été activés dans Bitcoin, notamment les BIP*16 , 34 , 65 , 66 , 68 , 112 et 113 ). La procédure a été codifiée dans le BIP9.


* BIP (Bitcoin Improvement Proposal) : proposition d’amélioration du protocole Bitcoin.