Quelle est la règle du choix de la fourchette ?
La règle de choix de fork est un mécanisme dans Ethereum qui permet aux nœuds de se mettre d'accord sur une chaîne canonique lorsque le réseau se divise en forks concurrents. Pour bien saisir les nuances de ce processus, nous devons d’abord comprendre certains concepts de base, comme ce qui constitue exactement un fork dans Ethereum.
Pour nos nouveaux arrivants, discutons brièvement de ce qu'est une fourchette !
Qu’est-ce qu’une fourchette dans Ethereum ?
Un fork fait référence à une divergence dans la blockchain, par laquelle le réseau se divise en deux chaînes. Cela se produit lorsque certains nœuds sont mis à niveau vers un nouveau logiciel tandis que d'autres continuent d'exécuter l'ancien logiciel. Les nœuds mis à niveau se divisent en une nouvelle chaîne, tandis que les nœuds restants restent sur la chaîne d'origine. De cette manière, deux versions parallèles de la blockchain peuvent coexister. Cette division des chemins crée une complexité considérable qui doit être gérée grâce à des protocoles et des mécanismes minutieux.
Qu’est-ce qui a causé le fork DAO dans Ethereum ?
Le fork Ethereum le plus connu est issu du tristement célèbre piratage DAO en 2016. Le DAO a été conçu comme un fonds de capital-risque décentralisé, permettant aux investisseurs de financer démocratiquement des projets Ethereum. Cependant, un exploit a été découvert qui a permis à un pirate informatique de drainer 50 millions de dollars d'Ether du DAO. Pour récupérer les fonds volés et restaurer la confiance, Ethereum a été difficile à réaliser. Cela a été controversé, car tous n’étaient pas d’accord sur le fait que cette intervention adhérait aux principes directeurs d’Ethereum. Ainsi, la chaîne originale non fourchue a continué sous le nom d’Ethereum Classic, tandis que le nouveau fork est devenu la chaîne Ethereum dominante que nous connaissons aujourd’hui.
Quelle est la règle de choix de fourchette dans Ethereum ?
La règle de choix de fork fournit la logique permettant aux nœuds d'évaluer les chaînes candidates concurrentes et de parvenir à un consensus sur la chaîne légitime. Il fait office d'arbitre pour départager les fourchettes valides. Sans une règle claire de choix des forks, Ethereum risque de sombrer dans un état ambigu où les forks prolifèrent et le consensus s’effondre. La règle permet une progression synchronisée face à des points de vue dissidents. En tant que tel, il est fondamental pour l’ordre et la sécurité d’Ethereum. En formalisant la sélection en chaîne, le choix à la fourchette réduit l'incertitude et maintient la prise de décision décentralisée.
Comment la règle de choix de fork aide-t-elle les nœuds à décider de la chaîne canonique ?
La règle de choix de fork la plus simple est la règle de la chaîne la plus longue, selon laquelle les nœuds suivent le fork avec le plus de blocs extraits. Cela exploite le principe selon lequel une plus grande puissance de hachage reflète un accord entre les mineurs. Cependant, comme la puissance minière à elle seule ne garantit pas la validité, la politique de la plus longue chaîne est vulnérable aux attaques. Les règles reposant uniquement sur des blocs chaînés ne peuvent pas capturer des mesures de précision plus nuancées. Par conséquent, des protocoles avancés comme GHOST ont été introduits pour intégrer des critères plus riches tels que les blocs oncle lors de la pesée des fourchettes. En échantillonnant plus de points de données, les nœuds peuvent prendre des décisions plus éclairées pour s'aligner sur la chaîne canonique.
Quelle est la règle de la chaîne la plus longue dans Ethereum ?
La règle de la chaîne la plus longue stipule que les nœuds doivent suivre le fork avec le plus grand nombre de blocs enchaînés. Selon cette règle, la fourchette qui démontre une plus grande activité minière et une plus grande participation remporte le consensus. Le raisonnement est que la chaîne la plus longue attire vraisemblablement le plus de puissance minière et reflète le point de vue dominant du validateur. Cependant, les attaquants peuvent potentiellement manipuler cette métrique en exploitant de manière agressive des blocs invalides plus rapidement que les mineurs honnêtes. Puisque la longueur à elle seule ne garantit pas la validité, s’appuyer uniquement sur cette règle expose le réseau à des risques. Ainsi, des règles de choix de fork plus sophistiquées ont été développées pour remplacer la règle de la plus longue chaîne d’Ethereum.
Quelles sont les limites de l’utilisation de la règle de la chaîne la plus longue ?
La règle de la chaîne la plus longue présente plusieurs faiblesses qui nécessitent des protocoles améliorés de choix de fork. Plus important encore, il est vulnérable aux attaques de mineurs malveillants qui ont simplement besoin d’exploiter un taux de hachage suffisant pour exploiter rapidement un fork invalide en amont de la chaîne actuelle. Cela leur permet de tromper les nœuds en leur faisant accepter leur fork illégitime comme la chaîne canonique honnête. De plus, la règle de la chaîne la plus longue ne tient pas compte d'autres facteurs tels que la validité et l'adoption par la communauté, qui indiquent mieux la légitimité d'une chaîne. Il ne fournit également aucun mécanisme pour se prémunir contre les attaques à double dépense entre les forks. Pour ces raisons, Ethereum a migré vers des règles de choix de fork plus robustes comme GHOST qui échantillonnent plus de points de données pour établir la validité du fork.
Comment le protocole GHOST s’améliore-t-il par rapport à la règle de la chaîne la plus longue ?
GHOST (Greedy Heaviest Observed SubTree) renforce la sécurité en incorporant plus de données de fourche que la simple longueur lors du pesage des chaînes. En plus de la chaîne principale, GHOST considère les blocs « oncles » – des blocs orphelins qui ont été extraits mais qui ne sont pas inclus dans la chaîne principale. En prenant en compte les blocs oncles, GHOST compile une représentation plus complète de l'activité des mineurs pour réaliser ses évaluations. Les chaînes acquièrent plus de « poids » en faisant référence à une plus grande part d’oncles, ce qui les rend plus difficiles à contourner. Cela signifie que les chaînes qui font référence à une plus grande proportion d’oncles sont considérées comme ayant plus de poids car elles représentent plus de travail et d’efforts de la part des mineurs. En conséquence, ces chaînes sont plus difficiles à contourner, car cela nécessiterait plus de puissance de calcul et d’efforts pour créer une chaîne plus longue. Cela fournit un contexte plus complet pour identifier le fork dominant, empêchant ainsi les attaques minières secrètes possibles selon la règle de la plus longue chaîne. Essentiellement, GHOST améliore la précision en évaluant un instantané plus global de l'activité du réseau.
Qu'est-ce que les blocs Oncle dans Ethereum et comment GHOST l'utilise-t-il ?
Dans Ethereum, les blocs oncle font référence à des blocs valides qui ont été extraits mais non inclus dans la chaîne principale. Habituellement, cela se produit parce que deux mineurs produisent des blocs à des moments similaires et que le premier gagne. Ces blocs « oncles » orphelins peuvent toujours fournir des signaux utiles sur l’activité des nœuds, bien qu’ils soient omis de la blockchain. GHOST exploite cela en attribuant plus de poids aux forks qui font référence à plus d'oncles. Cela signifie que les mineurs ne peuvent pas renforcer un fork simplement en exploitant de nouveaux blocs de manière isolée. Ils doivent capter une part plus large d’oncles attestant de leur soutien. De cette façon, GHOST utilise les oncles pour brosser un tableau plus riche en informations afin d'assurer un choix de fourche fiable.
Comment EIP-155 a-t-il modifié la règle de choix de fork pour empêcher les attaques par réexécution ?
Malgré les améliorations apportées par GHOST, Ethereum est resté vulnérable aux attaques par relecture par lesquelles les transactions pouvaient être rediffusées de manière illégitime à travers des chaînes fourchues. Pour résoudre ce problème, la proposition EIP-155 a modifié le système de signature d'Ethereum pour lier les transactions à un fork spécifique. Cela modifie la règle de choix du fork en exigeant que les transactions soient signées avec l'ID de chaîne spécifique au fork. Désormais, les transactions marquées comme invalides ne peuvent pas être relues sur des forks divergents. En liant les transactions à une chaîne particulière, EIP-155 empêche les attaques par relecture cross-fork qui pourraient autrement compromettre la légitimité.
Comment la règle Fork Choice a-t-elle évolué après la mise en œuvre d'Ethereum 2.0 ?
La fusion Ethereum, exécutée le 15 septembre 2022, marque un changement important dans l'architecture d'Ethereum. La fusion impliquait la fusion du réseau principal Ethereum d’origine avec Beacon Chain, une blockchain de preuve de participation distincte. En conséquence, la preuve de travail a été définitivement remplacée par une preuve de participation, ce qui réduit la dépendance à l'égard de l'énergie minière et réduit considérablement la consommation d'énergie. La fusion a également introduit de nouvelles approches pour le choix des forks afin de maintenir la sécurité, car la chaîne de balises prévue facilite le consensus entre fragments. La règle de choix de fork doit désormais échantillonner les signaux de validation à travers la chaîne de balises, les chaînes de fragments et la couche d'exécution pour maintenir la sécurité. À mesure qu’Ethereum progresse, la règle de choix des forks doit continuer à évoluer pour prendre en charge ce nouveau terrain technique. La fusion marque le début d'une nouvelle phase de développement d'Ethereum, et la communauté Ethereum continuera à innover et à développer des solutions pour améliorer la sécurité et la résilience du réseau.