les contenus partagés
aux sources qui vous intéressent
vos propres contenus
En utilisant les services de Miple, vous acceptez nos Règles de confidentialité.
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 :
Enfin ces fameux 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) !!
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...
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.
Hard Fork avec litiges :
Hard Fork sans litiges :
Voilà pour cette édition. Vous pouvez m’envoyer vos retours (positifs ou non) sur LinkedIn, Twitter 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 !