IV. LES RÉFORMES DES BLOCKCHAINS : HARD FORKS ET SOFT FORKS

A. VOIES ET MOYENS DES MODIFICATIONS DU CODE DES BLOCKCHAINS

1. Pourquoi modifier le code d'une blockchain ?

Pour résoudre des bugs , s'adapter à de nouveaux usages ou faire face à une croissance du débit des transactions, les règles régissant une blockchain doivent pouvoir évoluer. Des blocs seront alors produits sous un nouveau régime de règles, c'est pourquoi on parle d' embranchement fork »).

Étant donné son caractère distribué, toute modification du protocole doit être intégrée dans le code des logiciels détenus individuellement par chaque noeud. Pour garantir l'effectivité de cette mise à jour, un maximum de noeuds doit l'adopter.

2. Comment modifier le code d'une blockchain ?

Toute personne peut proposer des modifications mais elles émanent le plus souvent de quelques développeurs (un noyau d'une quarantaine de personnes dans le cas du bitcoin). Pour le bitcoin, les propositions sont présentées sur la page dédiée au projet sur le site de développement participatif Github. Ainsi il est possible de retracer facilement qui a proposé quelle modification du code et à quel moment.

B. DES PROBLÈMES DIFFÉRENTS SELON LA RÉTROCOMPATIBILITÉ DE LA RÉFORME

1. Distinguer les évolutions selon leur rétrocompatibilité

On distingue deux types d'évolutions : les « soft forks », lorsque les blocs produits sous la nouvelle version peuvent être ajoutés par des noeuds fonctionnant encore sous l'ancienne version, et les « hard forks », lorsqu'une telle rétrocompatibilité est impossible.

Lorsqu'un hard fork n'est pas adopté dans un large consensus, deux réseaux parallèles apparaissent alors : l'originel et son alternative. Ils sont indépendants dans la mesure où les blocs produits dans une version ne peuvent en général être validés dans l'autre. Des précautions en ce sens sont prises par les développeurs au moment du fork car c'est l'intérêt des deux chaînes de s'assurer que le « divorce » se passe bien .

En août puis en octobre 2017, deux modifications du réseau Bitcoin Core ont ainsi échoué à faire consensus. Ayant néanmoins été adoptées par une base suffisante de mineurs, elles ont conduit à la création de deux nouvelles blockchain s, respectivement celles de Bitcoin Cash et de Bitcoin Gold . D'après Manuel Valente, directeur technique de la Maison du Bitcoin, depuis la création du bitcoin, sur 174 propositions de modification, seules 13 ont été acceptées, ce qui témoigne de la dimension assez conservatrice de l'écosystème du bitcoin.

2. Risques et intérêts des hard forks

Parce qu'elles font courir un risque de division de la puissance totale du réseau et donc un risque de diminution de la confiance en celui-ci, les hard forks sont souvent très contestées . Certaines réussissent toutefois à faire l'unanimité, la plus emblématique à ce jour restant l'intégration de Segwit dans le protocole du Bitcoin, fin août 2017, qui a permis d'augmenter le nombre de transactions stockées dans chaque bloc.

Ces forks peuvent aussi permettre de revenir à un état antérieur de la blockchain lorsque celle-ci a été altérée et que l'intégrité du réseau est trop fortement atteinte. Ces hard forks « correctrices » ont toutefois pu avoir pour conséquence d' annuler les transactions ultérieures , cette réécriture du passé est toutefois contraire à l'esprit des fondateurs des blokchains 25 ( * ) .

Le cas de la hard fork de la blockchain Ethereum est probablement plus emblématique encore . Elle a eu lieu à la suite d'un hack de l'application TheDAO avec pour conséquence la disparition de près de 5 % de la totalité des ethers, monnaie du système Ethereum.

Toutefois, cette hard fork a permis de rétablir l'ensemble des transactions échangées sur la blockchain depuis l'incident. Cet évènement lié à l'application TheDAO est traité de manière plus détaillée dans la partie du rapport consacré aux risques d'attaques.


* 25 Ainsi la blockchain zerocoin a corrigé un bug ayant donné lieu au vol de 370 000 unités de cryptomonnaies, pour un bénéfice de 440 000 dollars, sans pour autant être réécrite.

Les thèmes associés à ce dossier

Page mise à jour le

Partager cette page