Le terme fork est récurrent dans le monde des cryptomonnaies mais vous ne le comprenez pas très bien ? Vous êtes au bon endroit pour enfin comprendre sa signification 🙂

Commençons par traduire le mot fork, très utilisé dans le langage de l'informatique et la gestion de projets. Ce mot anglais est utilisé pour désigner un embranchement, c'est-à-dire une division en plusieurs branches. Au niveau de la blockchain, il désigne une division de la chaîne de blocs en deux chaînes distinctes.

Un fork peut être provoqué par la divergence des règles de consensus, auquel cas on parle de hard fork (« embranchement dur ») qui désigne une séparation de la chaîne qui est généralement permanente. Par extension, le terme hard fork est aussi utilisé pour désigner un changement non rétrocompatible des règles de consensus qui peut provoquer ce type d'embranchement. De plus, en suivant cette logique, le soft fork est une modification rétrocompatible du protocole qui est susceptible de créer un embranchement seulement s'il n'est pas appliqué par la majorité de la puissance de calcul du réseau.

Dans cet article, nous nous concentrerons sur les forks communs, c'est-à-dire des embranchements qui ne découlent pas d'un changement des règles de consensus, nous nous bornerons au cas de Bitcoin. Nous ne nous attarderons pas sur les soft forks et les hard forks. Si vous voulez en savoir plus sur le sujet, vous pouvez lire l'article suivant : Qu'est-ce qu'un soft fork / hard fork ?

 

La chaîne de blocs et ses embranchements

Le registre utilisé par une crypto-monnaie est, en règle générale, une chaîne de blocs. Chaque bloc est un ensemble horodaté de transactions, qui est validé en étant ajouté à la chaîne. Chaque bloc est lié au bloc précédent grâce à l'action d'un validateur.

Dans le cas de Bitcoin, la validation a lieu par le calcul d'une preuve de travail pour un mineur : pour rattacher le bloc au bloc précédent, le mineur doit prouver qu'il a dépensé de l'énergie en trouvant la solution à un problème mathématique lié au contexte. Le mineur partage ensuite son bloc avec les nœuds du réseau qui le vérifient.

Cependant, rien n'interdit à un mineur d'ignorer un bloc, et de rattacher son bloc à la suite d'un bloc antérieur : cela crée ce qu'on appelle un fork ou embranchement de la chaîne. Ce fork peut être tout à fait bénin : si deux mineurs trouvent chacun un bloc dans un intervalle de temps réduit, alors ils diffusent leur solution tous les deux au même moment, et ceci en toute bonne foi. Mais il peut aussi être provoqué par un acteur malveillant voulant censurer une transaction contenue dans le dernier bloc.Embranchement de la chaîne de blocs (blockchain)

Dans les deux cas, cela crée un conflit sur le réseau, car les deux blocs sont valides aux yeux du protocole. Il faut donc faire en sorte de les départager.

 

Les forks et le consensus

Les forks communs sont résolus grâce à une règle simple, énoncée par Satoshi Nakamoto dans le livre blanc de Bitcoin : la chaîne la plus longue (c'est-à-dire celle qui a le plus de travail accumulé) est la chaîne qui doit être sélectionnée par le réseau.

Ainsi, s'il y a un conflit entre deux chaînes de même longueur, ce conflit est résolu dès qu'un nouveau bloc est trouvé. La chaîne la plus longue (qui est généralement celle qui contient le plus de blocs) est acceptée comme valide par le réseau.

Embranchement chaîne de blocs résolution conflit

Le bloc qui est présent dans la chaîne la plus courte est invalidé. Il est cependant conservé par tous les nœuds du réseau connectés au cas où cette chaîne devrait prendre le pas sur l'autre.

Sur le réseau Bitcoin, les blocs rejetés de la sorte sont appelés blocs orphelins et, bien heureusement, ils sont de plus en plus rares. Vous pouvez retrouver une liste de ces blocs sur le site BitcoinChain.com.

Ainsi, ce principe permet aux nœuds du réseau de se mettre d'accord sur quel registre est le bon, d'arriver à un consensus. Cet algorithme est appelé algorithme de consensus de Nakamoto par preuve de travail.

Notez que les cryptomonnaies ne font pas toutes usage de cet algorithme et en utilisent des variantes. Ethereum se base par exemple sur Ethash, qui sélectionne la chaîne la plus lourde en faisant rentrer dans la balance les blocs invalidés (appelés blocs oncles dans ce cas).

 

Les confirmations

Le modèle de consensus de Bitcoin repose donc sur cette règle de la chaîne la plus longue. C'est pour cela qu'il est recommandé, lorsqu'on réalise une transaction, de faire attention dans quel bloc elle se situe avant de la considérer comme finale. En effet, la chaîne pourrait subir une réorganisation dans le cas d'une attaque des 51 %, qui nécessiterait la moitié de la puissance de calcul du réseau.

On appelle confirmation l'inclusion d'une transaction dans un bloc. Par extension, le nombre de confirmations désigne le nombre de blocs qu'il faudrait remplacer pour faire disparaître la transaction. Dans Bitcoin, le nombre de confirmation est le degré avec lequel on peut évaluer sa finalité. Ainsi, on considère qu'une transaction est irréversible à partir de 6 confirmations. Gardez cependant à l'esprit qu'une seule confirmation suffit dans la plupart des cas.

Chaîne de blocs Bitcoin confirmations

 

Cet article à été mis à jour le 22 mai 2020 par Ludovic Lars.

Cet article vous a aidé ❤ ? N'hésitez pas à nous le faire savoir en attribuant une note sur 5 ou en nous laissant un commentaire 🙂

A propos de l'auteur : Marco

twitter-soothsayerdata

Modérateur sur un forum dédié à la finance et aux crypto-monnaies, c’est avec joie et bonne humeur que j’aide les débutants qui souhaitent se lancer dans cet univers complexe. Je réalise de nombreux articles pour répondre à toutes vos questions. Du fonctionnement de plateformes d’achats et de ventes de cryptos, à la sécurisation de vos comptes, en passant par les différents types d’ordres possibles dans le trading de cryptomonnaies.
Tous les articles de Marco.

guest
2 Commentaires
Inline Feedbacks
View all comments
Random

Merci pour toutes ces explications très claires!
C'est pas donné à tout le monde de pouvoir transmettre sur un sujet qui contient un jargon si poussé.
PS : juste parce-qu'il y a un grammar-nazi qui sommeille en moi, il faut écrire "Eh bien" et pas "Et bien" dans le cas de la locution interjective.

Robin Berné

Bonsoir, merci pour votre message et votre correction, c'est modifié !