Fork
Un fork est une bifurcation de la blockchain en deux versions concurrentes. Les forks naturels surviennent lors de la production simultanée de blocs et se résolvent rapidement. Les forks logiciels (soft / hard) résultent d'une modification des règles. Le terme désigne aussi, en open source, une copie d'un dépôt de code.
Trois sens du mot « fork »
Le terme « fork » désigne plusieurs phénomènes distincts dans l'écosystème Bitcoin, qu'il convient de bien distinguer :
- Fork naturel (orphan / stale block) : deux mineurs trouvent un bloc valide quasi simultanément. Le réseau se divise temporairement, puis converge sur la chaîne plus longue. Se produit plusieurs fois par mois.
- Fork logiciel (soft ou hard) : changement intentionnel des règles du protocole, qui peut diviser le réseau si tous les acteurs ne sont pas d'accord.
- Fork de code (code fork) : un développeur copie un dépôt de code (Bitcoin Core, Lightning, etc.) pour le faire évoluer indépendamment. C'est l'usage open source classique du mot.
Le fork naturel
Bitcoin produit un nouveau bloc toutes les 10 minutes en moyenne, mais la variance est importante. Si deux mineurs trouvent un bloc à quelques secondes d'écart, le réseau se retrouve momentanément avec deux blocs valides à la même hauteur. Chaque nœud adopte celui qu'il reçoit en premier. Au bloc suivant, l'un des deux sera étendu, l'autre devient un « stale block » (orphelin) et est abandonné. Cela explique pourquoi on recommande 6 confirmations pour des transactions importantes : la probabilité que deux orphan blocks consécutifs surviennent est négligeable.
Soft fork vs hard fork
| | Soft fork | Hard fork | |---|---|---| | Compatibilité | Ascendante : les nœuds non mis à jour acceptent | Cassante : les nœuds doivent mettre à jour | | Risque de scission | Faible | Élevé | | Activation typique | Via signalisation des mineurs (BIP-9, BIP-8) | Coordonnée par tous les acteurs | | Exemples Bitcoin | P2SH (2012), SegWit (2017), Taproot (2021) | Bitcoin Cash (2017), Bitcoin SV (2018) |
Un soft fork resserre les règles : ce qui était valide reste valide pour les anciens nœuds, mais devient invalide pour ceux qui ont mis à jour. C'est la voie privilégiée par Bitcoin Core depuis 2012.
Un hard fork élargit les règles : ce qui était invalide devient valide. Les anciens nœuds rejettent les nouveaux blocs, et le réseau scinde en deux chaînes incompatibles.
Les forks majeurs de Bitcoin
| Année | Type | Évolution | |---|---|---| | 2010 | Hard fork (correctif) | Bug overflow corrigé | | 2012 | Soft fork | P2SH | | 2013 | Hard fork (accidentel) | BDB/LevelDB | | 2015 | Soft fork | BIP-66 (strict DER) | | 2017 | Soft fork | SegWit | | 2017 | Hard fork (scission) | Bitcoin Cash | | 2018 | Hard fork (scission BCH) | Bitcoin SV | | 2021 | Soft fork | Taproot |
Forks de code dans l'écosystème
Bitcoin Core est régulièrement « forké » au sens open source : Bitcoin Knots (Luke Dashjr, version plus conservatrice), Bitcoin Cash Node (BCH), Bitcoin SV Node (BSV), Elements (Blockstream, base de Liquid), Litecoin (fork historique de 2011). C'est un usage sain et attendu en open source.
La Blocksize War : exemple emblématique
Entre 2015 et 2017, la communauté s'est divisée sur la question de la taille des blocs. Les partisans d'un agrandissement immédiat ont lancé Bitcoin Unlimited puis Bitcoin Cash (hard fork le 1er août 2017). Le marché a tranché : BTC a conservé largement sa valeur et sa communauté, BCH s'est marginalisé, puis BSV s'est encore détaché. L'épisode a prouvé qu'un hard fork contesté produit deux chaînes mais une seule garde la valeur.
À retenir
« Fork » est un terme polysémique qu'il faut clarifier selon le contexte. Bitcoin pratique de plus en plus le soft fork pour ses évolutions (sécurité maximale, scission minime), tout en restant ouvert aux forks de code pour l'expérimentation. Voir soft fork et hard fork.
Termes lies
- Soft forkUn soft fork est un changement rétro-compatible des règles de consensus de Bitcoin. Les anciens nœuds continuent à valider la chaîne, même s'ils ignorent la nouvelle règle. SegWit ou Taproot sont des soft forks. Ils permettent d'évoluer Bitcoin sans diviser la chaîne.
- Hard forkUn hard fork est un changement non rétro-compatible des règles de Bitcoin, créant deux chaînes distinctes. Bitcoin Cash (BCH) ou Bitcoin SV (BSV) sont issus de hard forks. C'est généralement la marque d'un désaccord politique fort. Bitcoin évite autant que possible les hard forks pour préserver l'unité de la chaîne.
Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.