Bienvenue sur Share !
Découvrez

les contenus partagés

Abonnez-vous

aux sources qui vous intéressent

Partagez

vos propres contenus

En utilisant les services de Miple, vous acceptez nos Règles de confidentialité.

#8 Forker pour changer les règles de consensus


Tech It Easy
Publié
September 16, 2020

Hello à tous ! 🤙

Nous voici pour la 8ème édition de cette source. Nous allons traiter ce fameux sujet des Forks que j'ai pu mentionner dans la 6ème édition ! Donc si vous ne l'avez plus en tête, vous pouvez simplement relire la fin pour ne pas être trop largué.

Bon trêve de plaisanterie let's go !

Avant de parler Fork, je vais parler de la notion de consensus qui va nous être très utile.

Bitcoin et Ethereum sont des projets open-sources avec de nombreux membres qui les constituent. Comme dans tout groupe d'individu qui forment une communauté, il est nécessaire que tout le monde s'entende et partage les mêmes règles.

Bitcoin et Ethereum peuvent être considérés comme des protocoles de communication dans le sens où ils spécifient des règles d'entente entre les membres de la communauté (comment valider un bloc de transactions, comment mettre en place un contrat intelligent, etc.).

Ces règles sont appelées règles de consensus. Toutes les personnes souhaitant rejoindre le réseau doivent y adhérer. Si chacun voulait apporter ses propres règles, on verrait ce grand réseau se morceler en de nombreux petits réseaux. Mais ils n'auraient clairement plus le même impact qu'un seul réseau unifié tel qu'Ethereum !

Seulement, pour avoir un réseau unifié il faut que ces règles soient unanimement partagées par la communauté ! Suivre les règles de consensus pour les mineurs (ceux qui font tourner leurs ordinateurs pour assurer le bon fonctionnement du réseau — retrouvez la définition dans le lexique ou dans la 5ème édition sur le bitcoin) se traduit par la nécessité de faire tourner la dernière version du "logiciel" d'Ethereum ou du Bitcoin. Ce logiciel est "conforme" aux dernières règles de consensus mises en place.

Les règles de consensus sont une sorte de pacte social entre les membres du réseau. Cependant, ces règles peuvent toujours être modifiées par la communauté (il n'y a que les c*** qui ne changent pas d'avis pas vrai ?). Une décision unilatérale n'étant pas possible, la communauté dans sa grande majorité doit l'accepter pour être mise en vigueur. Dans ce cas, l'enjeu est de prouver les bienfaits de cette modification pour l'ensemble de la communauté.

Il existe deux manières d'apporter des changements aux règles de consensus :

  • Les Soft Forks
  • Les Hard Forks

Enfin ces fameux forks !! 🤩

Soft Forks🍴

Un Soft Fork vise à rendre les règles de consensus plus strictes. Un bloc qui pouvait être validé avant, pourrait ne plus l'être après ce changement. Il peut aussi viser à résoudre des bugs.

Ce changement est "léger" (d'où le terme "soft"). Il est toujours possible de revenir en arrière. C'est même un changement si "léger" qu'un mineur n'est pas obligé de mettre à jour son logiciel vers la dernière version, pour continuer à participer au réseau de la blockchain.

Pour imager un peu : voyez une version de logiciel comme une grande ligne droite (cela pourrait être le manche d'une fourche). A chaque fois que l'on apporte une modification, on crée une nouvelle version de ce logiciel. On crée donc une nouvelle ligne droite en parallèle qui part de la précédente. Cette nouvelle ligne représente la nouvelle version du logiciel. Les mineurs peuvent choisir de rester sur la première version du logiciel ou la seconde.

Au fur et à mesure des modifications, nous observons de plus en de lignes en parallèle qui forment alors une fourche d'où le terme Fork (fourche ou fourchette en anglais) !!

Hard Forks🍴

Un hard fork est... Hard. L'ancienne version du logiciel ne sera plus du tout compatible avec la nouvelle. Dans un hard fork presque tout est possible : effacer d'anciennes transactions, réécrire toutes les règles de consensus, etc.

Devant l'enjeu d'une telle modification, le consensus doit être quasi-unanime au sein de la communauté, au prix de voir la communauté se diviser en deux. Dans ce cas, personne n'aurait à y gagner puisqu'un réseau moins grand donnerait moins d'avantages à tous ses participants. Lorsqu'un tel changement est accepté tout le monde doit mettre à jour son propre logiciel s'il souhaite continuer à contribuer pour ce réseau.

Un hard fork est un changement très brutal qui peut être très difficile à mettre en place car source de nombreux litiges...

Forks 🍽

Les forks sont généralement prévus à l'avance. La communauté évalue en amont sa pertinence. Si l'adhésion parmi les mineurs respecte un certain critère, alors le fork est appliqué de façon automatique. N'importe qui peut proposer un fork à la communauté.

Vous l'aurez deviné, les soft forks sont beaucoup plus simples à mettre en place, mais certains hard forks sont déjà passés dans la communauté Ethereum sans qu'il n'y ait eu de conflits !

Les forks sont, pour résumer, un système de mise à jour à l'échelle d'une communauté entière. C'est un système qui requiert un consensus global parmi les participants. Cette façon de procéder permet de prévenir des changements qui seraient liés à une idéologie politique, ou économique tout en faisant continuellement évoluer le système. Les mineurs responsables des décisions ont tout intérêt à aller dans le sens de la communauté globale. Si tel n'était pas le cas, ils en subiraient en premier les conséquences. Pas de transactions, pas de revenus. Pas de revenus... pas de revenus.

Quelques exemples de hard forks 🤯

Hard Fork avec litiges :

  • Bitcoin Cash : Le 1er août 2017, le Bitcoin Cash naît d'un fork du bitcoin. Certains voulez garder le Bitcoin tel qu'il était et d'autres voulaient, entre autres, augmenter les capacités transactionnelles du Bitcoin. Les deux parties, ne trouvant pas de consensus, se séparèrent en deux : d'un côté le Bitcoin (acronyme BTC), de l'autre Bitcoin Cash (acronyme BCH). Il y a eu d'autres forks qui ont amené la création de nouvelles crypto-monnaies dérivées du bitcoin. Mais le bitcoin reste encore la plus connue.
  • Ethereum Classic : Une équipe appelée the DAO leva près de 150 millions de dollars USD en 2016, mais un hackeur réussit à voler près de 50 millions de dollars (en ether, la monnaie digitale d'Ethereum). Suite à cela, deux camps sont apparus : ceux qui voulaient annuler les transactions de ce vol et ceux prônant que "le code est la loi" et ne voulant rien changer. Cela a aboutit au plus grand hard fork pour la blockchain Ethereum qui s'est alors divisée en deux : Ethereum Classic (la blockchain initiale dont l'acronyme de la monnaie est maintenant ETC), et Ethereum qui garde le sigle ETH pour sa monnaie.

Hard Fork sans litiges :

  • Un des forks majeurs qui devraient voir le jour est le passage de la preuve de travail (Proof of Work) dans le réseau Ethereum à la preuve d'enjeu (Proof Of Stake). C’est un changement largement attendu par la communauté Ethereum. Si cela ne vous dit rien c'est normal, nous verrons cela la fois prochaine !

Ce qu'il faut retenir 🙌

  • Bitcoin et Ethereum sont des protocoles de communication entre les membres.
  • Les membres du réseau partagent les mêmes règles appelées règles de consensus.
  • Ces règles permettent d'unifier la communauté.
  • Ces règles peuvent être modifiées grâce à des forks : changements proposés et acceptés (ou non) par la communauté.

Lexique 📚

  • Mineurs : personnes (particuliers ou sociétés) qui connectent sur le réseau une ou plusieurs machines équipées pour effectuer du minage. Chaque mineur est rémunéré au prorata de la puissance de calcul qu’il apporte au réseau.
  • Minage : utilisation de la puissance de calcul informatique afin, principalement, de traiter des transactions et de sécuriser le réseau.

Sources 📜

Voilà pour cette édition. Vous pouvez m’envoyer vos retours (positifs ou non) sur LinkedInTwitter ou Facebook. Et si ça vous a plus, n’hésitez pas à partager ma source ! 🤗

Si vous aimez mon boulot et que vous aimeriez m’aider dans mon travail, vous pouvez m'offrir un café ☕️ !

À la prochaine !

Merlin


Tech It Easy

Chaque mercredi, je vous fais comprendre les concepts de la blockchain et des crypto-monnaies de façon simple et sans prise de tête !