Passer au contenu principal
Change page

Nœuds et clients

Ethereum est un réseau distribué d'ordinateurs (appelés nœuds) exécutant des logiciels capables de vérifier les blocs et les données de transaction. Le logiciel doit être exécuté sur votre ordinateur pour le transformer en un nœud Ethereum. Deux logiciels distincts (appelés « clients ») sont nécessaires pour former un nœud.

Prérequis

Vous devez comprendre le concept de réseau pair à pair et les bases de l'EVM avant d'aller plus loin et d'exécuter votre propre instance d'un client Ethereum. Jetez un œil à notre introduction à Ethereum.

Si vous découvrez le sujet des nœuds, nous vous recommandons de consulter d'abord notre introduction accessible sur l'exécution d'un nœud Ethereum.

Que sont les nœuds et les clients ?

Un « nœud » est toute instance de logiciel client Ethereum connectée à d'autres ordinateurs exécutant également le logiciel Ethereum, formant ainsi un réseau. Un client est une implémentation d'Ethereum qui vérifie les données par rapport aux règles du protocole et maintient la sécurité du réseau. Un nœud doit exécuter deux clients : un client de consensus et un client d'exécution.

  • Le client d'exécution (également connu sous le nom de moteur d'exécution, client EL ou anciennement client Eth1) écoute les nouvelles transactions diffusées sur le réseau, les exécute dans l'EVM et conserve le dernier état ainsi que la base de données de toutes les données Ethereum actuelles.
  • Le client de consensus (également connu sous le nom de nœud balise, client CL ou anciennement client Eth2) implémente l'algorithme de consensus de preuve d'enjeu (PoS), qui permet au réseau de parvenir à un accord basé sur les données validées par le client d'exécution. Il existe également un troisième logiciel, appelé « validateur », qui peut être ajouté au client de consensus, permettant à un nœud de participer à la sécurisation du réseau.

Ces clients travaillent ensemble pour garder une trace de la tête de la chaîne Ethereum et permettre aux utilisateurs d'interagir avec le réseau Ethereum. La conception modulaire avec plusieurs logiciels fonctionnant ensemble est appelée complexité encapsulée (opens in a new tab). Cette approche a facilité l'exécution de La Fusion de manière transparente, rend les logiciels clients plus faciles à maintenir et à développer, et permet la réutilisation de clients individuels, par exemple, dans l'écosystème de couche 2 (l2).

Coupled execution and consensus clients Schéma simplifié d'un client d'exécution et de consensus couplés.

Diversité des clients

Les clients d'exécution et les clients de consensus existent dans une variété de langages de programmation développés par différentes équipes.

De multiples implémentations de clients peuvent rendre le réseau plus fort en réduisant sa dépendance à une seule base de code. L'objectif idéal est d'atteindre la diversité sans qu'aucun client ne domine le réseau, éliminant ainsi un point de défaillance unique potentiel. La variété des langages invite également une communauté de développeurs plus large et leur permet de créer des intégrations dans leur langage préféré.

En savoir plus sur la diversité des clients.

Ce que ces implémentations ont en commun, c'est qu'elles suivent toutes une spécification unique. Les spécifications dictent le fonctionnement du réseau et de la chaîne de blocs Ethereum. Chaque détail technique est défini et les spécifications peuvent être trouvées sous la forme de :

Suivi des nœuds sur le réseau

Plusieurs outils de suivi offrent un aperçu en temps réel des nœuds sur le réseau Ethereum. Notez qu'en raison de la nature des réseaux décentralisés, ces robots d'exploration ne peuvent fournir qu'une vue limitée du réseau et peuvent rapporter des résultats différents.

Types de nœuds

Si vous souhaitez exécuter votre propre nœud, vous devez comprendre qu'il existe différents types de nœuds qui consomment les données différemment. En fait, les clients peuvent exécuter trois types de nœuds différents : léger, complet et d'archive. Il existe également des options de différentes stratégies de synchronisation qui permettent un temps de synchronisation plus rapide. La synchronisation fait référence à la rapidité avec laquelle il peut obtenir les informations les plus récentes sur l'état d'Ethereum.

Nœud complet

Les nœuds complets effectuent une validation de bloc par bloc de la chaîne de blocs, y compris le téléchargement et la vérification du corps du bloc et des données d'état pour chaque bloc. Il existe différentes classes de nœuds complets - certains partent du bloc genèse et vérifient chaque bloc de toute l'histoire de la chaîne de blocs. D'autres commencent leur vérification à un bloc plus récent qu'ils considèrent comme valide (par exemple, la « synchronisation snap » de Geth). Quel que soit l'endroit où commence la vérification, les nœuds complets ne conservent qu'une copie locale des données relativement récentes (généralement les 128 blocs les plus récents), ce qui permet de supprimer les données plus anciennes pour économiser de l'espace disque. Les données plus anciennes peuvent être régénérées lorsqu'elles sont nécessaires.

  • Stocke les données complètes de la chaîne de blocs (bien que celles-ci soient périodiquement élaguées afin qu'un nœud complet ne stocke pas toutes les données d'état jusqu'au bloc genèse)
  • Participe à la validation de bloc, vérifie tous les blocs et états.
  • Tous les états peuvent être soit récupérés à partir du stockage local, soit régénérés à partir d'« instantanés » par un nœud complet.
  • Sert le réseau et fournit des données sur demande.

Nœud d'archive

Les nœuds d'archive sont des nœuds complets qui vérifient chaque bloc depuis le bloc genèse et ne suppriment jamais aucune des données téléchargées.

  • Stocke tout ce qui est conservé dans le nœud complet et construit une archive des états historiques. C'est nécessaire si vous souhaitez interroger quelque chose comme le solde d'un compte au bloc n° 4 000 000, ou simplement et de manière fiable tester votre propre ensemble de transactions sans les valider en utilisant le traçage.
  • Ces données représentent des téraoctets, ce qui rend les nœuds d'archive moins attrayants pour les utilisateurs moyens, mais ils peuvent être pratiques pour des services tels que les explorateurs de blocs, les fournisseurs de portefeuilles et l'analyse de chaîne.

La synchronisation des clients dans n'importe quel mode autre que l'archive entraînera des données de chaîne de blocs élaguées. Cela signifie qu'il n'y a pas d'archive de tous les états historiques, mais le nœud complet est capable de les construire à la demande.

En savoir plus sur les nœuds d'archive.

Nœud léger

Au lieu de télécharger chaque bloc, les nœuds légers ne téléchargent que les en-têtes de bloc. Ces en-têtes contiennent des informations résumées sur le contenu des blocs. Toute autre information dont le nœud léger a besoin est demandée à un nœud complet. Le nœud léger peut alors vérifier indépendamment les données qu'il reçoit par rapport aux racines d'état dans les en-têtes de bloc. Les nœuds légers permettent aux utilisateurs de participer au réseau Ethereum sans le matériel puissant ou la bande passante élevée requis pour exécuter des nœuds complets. À terme, les nœuds légers pourraient fonctionner sur des téléphones mobiles ou des appareils embarqués. Les nœuds légers ne participent pas au consensus (c'est-à-dire qu'ils ne peuvent pas être des validateurs), mais ils peuvent accéder à la chaîne de blocs Ethereum avec les mêmes fonctionnalités et garanties de sécurité qu'un nœud complet.

Les clients légers sont un domaine de développement actif pour Ethereum et nous nous attendons à voir bientôt de nouveaux clients légers pour la couche de consensus et la couche d'exécution. Il existe également des voies potentielles pour fournir des données de client léger via le réseau de diffusion (gossip) (opens in a new tab). C'est avantageux car le réseau de diffusion pourrait prendre en charge un réseau de nœuds légers sans nécessiter de nœuds complets pour répondre aux requêtes.

Ethereum ne prend pas encore en charge une grande population de nœuds légers, mais la prise en charge des nœuds légers est un domaine qui devrait se développer rapidement dans un avenir proche. En particulier, des clients comme Nimbus (opens in a new tab), Helios (opens in a new tab) et Lodestar (opens in a new tab) sont actuellement fortement axés sur les nœuds légers.

Pourquoi devrais-je exécuter un nœud Ethereum ?

L'exécution d'un nœud vous permet d'utiliser Ethereum directement, sans tiers de confiance et en toute confidentialité, tout en soutenant le réseau en le gardant plus robuste et décentralisé.

Avantages pour vous

L'exécution de votre propre nœud vous permet d'utiliser Ethereum de manière privée, autonome et sans tiers de confiance. Vous n'avez pas besoin de faire confiance au réseau car vous pouvez vérifier les données vous-même avec votre client. « Ne faites pas confiance, vérifiez » est un mantra populaire de la chaîne de blocs.

  • Votre nœud vérifie lui-même toutes les transactions et tous les blocs par rapport aux règles de consensus. Cela signifie que vous n'avez pas à dépendre d'autres nœuds du réseau ni à leur faire entièrement confiance.
  • Vous pouvez utiliser un portefeuille Ethereum avec votre propre nœud. Vous pouvez utiliser des applications décentralisées (dapps) de manière plus sécurisée et confidentielle, car vous n'aurez pas à divulguer vos adresses et vos soldes à des intermédiaires. Tout peut être vérifié avec votre propre client. MetaMask (opens in a new tab), Frame (opens in a new tab) et de nombreux autres portefeuilles offrent l'importation RPC, leur permettant d'utiliser votre nœud.
  • Vous pouvez exécuter et auto-héberger d'autres services qui dépendent des données d'Ethereum. Par exemple, il peut s'agir d'un validateur de la chaîne balise, de logiciels comme la couche 2 (l2), d'infrastructures, d'explorateurs de blocs, de processeurs de paiement, etc.
  • Vous pouvez fournir vos propres points de terminaison RPC personnalisés. Vous pourriez même offrir ces points de terminaison publiquement à la communauté pour l'aider à éviter les grands fournisseurs centralisés.
  • Vous pouvez vous connecter à votre nœud en utilisant les communications inter-processus (IPC) ou réécrire le nœud pour charger votre programme en tant que plugin. Cela accorde une faible latence, ce qui aide beaucoup, par exemple, lors du traitement de nombreuses données à l'aide de bibliothèques Web3 ou lorsque vous devez remplacer vos transactions aussi vite que possible (c'est-à-dire le frontrunning).
  • Vous pouvez directement staker des ETH pour sécuriser le réseau et gagner des récompenses. Consultez le staking en solo pour commencer.

How you access Ethereum via your application and nodes

Avantages pour le réseau

Un ensemble diversifié de nœuds est important pour la santé, la sécurité et la résilience opérationnelle d'Ethereum.

  • Les nœuds complets appliquent les règles de consensus afin de ne pas être trompés en acceptant des blocs qui ne les respectent pas. Cela offre une sécurité supplémentaire au réseau, car si tous les nœuds étaient des nœuds légers, qui n'effectuent pas de vérification complète, les validateurs pourraient attaquer le réseau.
  • En cas d'attaque qui surmonte les défenses crypto-économiques de la preuve d'enjeu (PoS), une récupération sociale peut être effectuée par les nœuds complets choisissant de suivre la chaîne honnête.
  • Plus de nœuds sur le réseau se traduisent par un réseau plus diversifié et robuste, l'objectif ultime de la décentralisation, ce qui permet un système résistant à la censure et fiable.
  • Les nœuds complets fournissent un accès aux données de la chaîne de blocs pour les clients légers qui en dépendent. Les nœuds légers ne stockent pas toute la chaîne de blocs, ils vérifient plutôt les données via les racines d'état dans les en-têtes de bloc. Ils peuvent demander plus d'informations aux nœuds complets s'ils en ont besoin.

Si vous exécutez un nœud complet, l'ensemble du réseau Ethereum en bénéficie, même si vous n'exécutez pas de validateur.

Exécuter votre propre nœud

Vous souhaitez exécuter votre propre client Ethereum ?

Pour une introduction accessible aux débutants, visitez notre page exécuter un nœud pour en savoir plus.

Si vous êtes plutôt un utilisateur technique, plongez dans plus de détails et d'options sur la façon de lancer votre propre nœud.

Alternatives

La configuration de votre propre nœud peut vous coûter du temps et des ressources, mais vous n'avez pas toujours besoin d'exécuter votre propre instance. Dans ce cas, vous pouvez utiliser un fournisseur d'API tiers. Pour un aperçu de l'utilisation de ces services, consultez les nœuds en tant que service.

Si quelqu'un exécute un nœud Ethereum avec une API publique dans votre communauté, vous pouvez pointer vos portefeuilles vers un nœud communautaire via un RPC personnalisé et gagner plus de confidentialité qu'avec un tiers de confiance aléatoire.

D'un autre côté, si vous exécutez un client, vous pouvez le partager avec vos amis qui pourraient en avoir besoin.

Clients d'exécution

La communauté Ethereum maintient plusieurs clients d'exécution open source (précédemment connus sous le nom de « clients Eth1 », ou simplement « clients Ethereum »), développés par différentes équipes utilisant différents langages de programmation. Cela rend le réseau plus fort et plus diversifié. L'objectif idéal est d'atteindre la diversité sans qu'aucun client ne domine afin de réduire tout point de défaillance unique.

Ce tableau résume les différents clients. Tous passent les tests de clients (opens in a new tab) et sont activement maintenus pour rester à jour avec les mises à jour du réseau.

ClientLangageSystèmes d'exploitationRéseauxStratégies de synchronisationÉlagage d'état
Geth (opens in a new tab)GoLinux, Windows, macOSRéseau principal, Sepolia, HoodiSnap, CompletArchive, Élagué
Nethermind (opens in a new tab)C#, .NETLinux, Windows, macOSRéseau principal, Sepolia, HoodiSnap, Rapide, CompletArchive, Élagué
Besu (opens in a new tab)JavaLinux, Windows, macOSRéseau principal, Sepolia, HoodiSnap, Rapide, CompletArchive, Élagué
Erigon (opens in a new tab)GoLinux, Windows, macOSRéseau principal, Sepolia, HoodiCompletArchive, Élagué
Reth (opens in a new tab)RustLinux, Windows, macOSRéseau principal, Sepolia, HoodiCompletArchive, Élagué
EthereumJS (opens in a new tab) (bêta)TypeScriptLinux, Windows, macOSSepolia, HoodiCompletÉlagué

Pour en savoir plus sur les réseaux pris en charge, lisez la section sur les réseaux Ethereum.

Chaque client a des cas d'utilisation et des avantages uniques, vous devez donc en choisir un en fonction de vos propres préférences. La diversité permet aux implémentations de se concentrer sur différentes fonctionnalités et publics d'utilisateurs. Vous voudrez peut-être choisir un client en fonction des fonctionnalités, du support, du langage de programmation ou des licences.

Besu

Hyperledger Besu est un client Ethereum de niveau entreprise pour les réseaux publics et à permission. Il exécute toutes les fonctionnalités du réseau principal Ethereum, du traçage à GraphQL, dispose d'une surveillance approfondie et est soutenu par ConsenSys, à la fois dans les canaux communautaires ouverts et via des SLA commerciaux pour les entreprises. Il est écrit en Java et sous licence Apache-2.0.

La documentation (opens in a new tab) complète de Besu vous guidera à travers tous les détails sur ses fonctionnalités et ses configurations.

Erigon

Erigon, anciennement connu sous le nom de Turbo-Geth, a commencé comme un fork de Go Ethereum orienté vers la vitesse et l'efficacité de l'espace disque. Erigon est une implémentation d'Ethereum entièrement repensée, actuellement écrite en Go mais avec des implémentations dans d'autres langages en cours de développement. L'objectif d'Erigon est de fournir une implémentation d'Ethereum plus rapide, plus modulaire et plus optimisée. Il peut effectuer une synchronisation complète de nœud d'archive en utilisant environ 2 To d'espace disque, en moins de 3 jours.

Go Ethereum

Go Ethereum (Geth en abrégé) est l'une des implémentations originales du protocole Ethereum. Actuellement, c'est le client le plus répandu avec la plus grande base d'utilisateurs et la plus grande variété d'outils pour les utilisateurs et les développeurs. Il est écrit en Go, entièrement open source et sous licence GNU LGPL v3.

En savoir plus sur Geth dans sa documentation (opens in a new tab).

Nethermind

Nethermind est une implémentation d'Ethereum créée avec la pile technologique C# .NET, sous licence LGPL-3.0, fonctionnant sur toutes les principales plateformes, y compris ARM. Il offre d'excellentes performances avec :

  • une machine virtuelle optimisée
  • un accès à l'état
  • une mise en réseau et des fonctionnalités riches telles que les tableaux de bord Prometheus/Grafana, la prise en charge de la journalisation d'entreprise seq, le traçage JSON-RPC et des plugins d'analyse.

Nethermind dispose également d'une documentation détaillée (opens in a new tab), d'un solide support pour les développeurs, d'une communauté en ligne et d'un support 24/7 disponible pour les utilisateurs premium.

Reth

Reth (abréviation de Rust Ethereum) est une implémentation de nœud complet Ethereum qui se concentre sur la convivialité, la modularité, la rapidité et l'efficacité. Reth a été initialement construit et propulsé par Paradigm, et est sous licences Apache et MIT.

Reth est prêt pour la production et convient à une utilisation dans des environnements critiques tels que le staking ou les services à haute disponibilité. Il est performant dans les cas d'utilisation où des performances élevées avec de grandes marges sont requises, tels que le RPC, la MEV, l'indexation, les simulations et les activités P2P.

En savoir plus en consultant le livre Reth (opens in a new tab) ou le dépôt GitHub de Reth (opens in a new tab).

En développement

Ces clients sont encore aux premiers stades de développement et ne sont pas encore recommandés pour une utilisation en production.

EthereumJS

Le client d'exécution EthereumJS (EthereumJS) est écrit en TypeScript et composé d'un certain nombre de paquets, y compris les primitives de base d'Ethereum représentées par les classes Block, Transaction et Merkle-Patricia Trie, ainsi que les composants de base du client, y compris une implémentation de la machine virtuelle Ethereum (EVM), une classe de chaîne de blocs et la pile réseau devp2p.

Apprenez-en plus à ce sujet en lisant sa documentation (opens in a new tab)

Clients de consensus

Il existe plusieurs clients de consensus (précédemment connus sous le nom de clients « Eth2 ») pour prendre en charge les mises à jour de consensus. Ils sont responsables de toute la logique liée au consensus, y compris l'algorithme de choix de fork, le traitement des attestations et la gestion des récompenses et des pénalités de la preuve d'enjeu (PoS).

ClientLangageSystèmes d'exploitationRéseaux
Lighthouse (opens in a new tab)RustLinux, Windows, macOSChaîne balise, Hoodi, Pyrmont, Sepolia, et plus
Lodestar (opens in a new tab)TypeScriptLinux, Windows, macOSChaîne balise, Hoodi, Sepolia, et plus
Nimbus (opens in a new tab)NimLinux, Windows, macOSChaîne balise, Hoodi, Sepolia, et plus
Prysm (opens in a new tab)GoLinux, Windows, macOSChaîne balise, Gnosis, Hoodi, Pyrmont, Sepolia, et plus
Teku (opens in a new tab)JavaLinux, Windows, macOSChaîne balise, Gnosis, Hoodi, Sepolia, et plus
Grandine (opens in a new tab)RustLinux, Windows, macOSChaîne balise, Hoodi, Sepolia, et plus

Lighthouse

Lighthouse est une implémentation de client de consensus écrite en Rust sous licence Apache-2.0. Il est maintenu par Sigma Prime et est stable et prêt pour la production depuis le bloc genèse de la chaîne balise. Diverses entreprises, pools de staking et particuliers s'appuient sur lui. Il vise à être sécurisé, performant et interopérable dans un large éventail d'environnements, des PC de bureau aux déploiements automatisés sophistiqués.

La documentation se trouve dans le livre Lighthouse (opens in a new tab)

Lodestar

Lodestar est une implémentation de client de consensus prête pour la production, écrite en TypeScript sous licence LGPL-3.0. Il est maintenu par ChainSafe Systems et est le plus récent des clients de consensus pour les stakers en solo, les développeurs et les chercheurs. Lodestar se compose d'un nœud balise et d'un client validateur alimentés par des implémentations JavaScript des protocoles Ethereum. Lodestar vise à améliorer la convivialité d'Ethereum avec des clients légers, à élargir l'accessibilité à un plus grand groupe de développeurs et à contribuer davantage à la diversité de l'écosystème.

Plus d'informations peuvent être trouvées sur le site Web de Lodestar (opens in a new tab)

Nimbus

Nimbus est une implémentation de client de consensus écrite en Nim sous licence Apache-2.0. C'est un client prêt pour la production utilisé par les stakers en solo et les pools de staking. Nimbus est conçu pour l'efficacité des ressources, ce qui le rend facile à exécuter sur des appareils aux ressources limitées et sur des infrastructures d'entreprise avec la même facilité, sans compromettre la stabilité ou les performances des récompenses. Une empreinte de ressources plus légère signifie que le client a une plus grande marge de sécurité lorsque le réseau est sous pression.

En savoir plus dans la documentation de Nimbus (opens in a new tab)

Prysm

Prysm est un client de consensus open source complet écrit en Go sous licence GPL-3.0. Il dispose d'une interface utilisateur d'application Web facultative et donne la priorité à l'expérience utilisateur, à la documentation et à la configurabilité pour les utilisateurs institutionnels et ceux qui stakent à domicile.

Visitez la documentation de Prysm (opens in a new tab) pour en savoir plus.

Teku

Teku est l'un des clients originaux du bloc genèse de la chaîne balise. Outre les objectifs habituels (sécurité, robustesse, stabilité, convivialité, performances), Teku vise spécifiquement à se conformer pleinement à toutes les différentes normes des clients de consensus.

Teku offre des options de déploiement très flexibles. Le nœud balise et le client validateur peuvent être exécutés ensemble en tant que processus unique, ce qui est extrêmement pratique pour les stakers en solo, ou les nœuds peuvent être exécutés séparément pour des opérations de staking sophistiquées. De plus, Teku est entièrement interopérable avec Web3Signer (opens in a new tab) pour la sécurité des clés de signature et la protection contre les réductions (slashing).

Teku est écrit en Java et sous licence Apache-2.0. Il est développé par l'équipe Protocoles de ConsenSys qui est également responsable de Besu et Web3Signer. En savoir plus dans la documentation de Teku (opens in a new tab).

Grandine

Grandine est une implémentation de client de consensus, écrite en Rust sous licence GPL-3.0. Il est maintenu par la Grandine Core Team et est rapide, performant et léger. Il convient à un large éventail de stakers, des stakers en solo fonctionnant sur des appareils à faibles ressources tels que le Raspberry Pi aux grands stakers institutionnels exécutant des dizaines de milliers de validateurs.

La documentation se trouve dans le livre Grandine (opens in a new tab)

Modes de synchronisation

Pour suivre et vérifier les données actuelles sur le réseau, le client Ethereum doit se synchroniser avec le dernier état du réseau. Cela se fait en téléchargeant des données à partir de pairs, en vérifiant cryptographiquement leur intégrité et en construisant une base de données locale de la chaîne de blocs.

Les modes de synchronisation représentent différentes approches de ce processus avec divers compromis. Les clients varient également dans leur implémentation des algorithmes de synchronisation. Référez-vous toujours à la documentation officielle du client de votre choix pour les spécificités de l'implémentation.

Modes de synchronisation de la couche d'exécution

La couche d'exécution peut être exécutée dans différents modes pour s'adapter à différents cas d'utilisation, de la réexécution de l'état mondial de la chaîne de blocs à la synchronisation uniquement avec la pointe de la chaîne à partir d'un point de contrôle de confiance.

Synchronisation complète

Une synchronisation complète télécharge tous les blocs (y compris les en-têtes et les corps de bloc) et régénère l'état de la chaîne de blocs de manière incrémentielle en exécutant chaque bloc depuis le bloc genèse.

  • Minimise la confiance et offre la plus haute sécurité en vérifiant chaque transaction.
  • Avec un nombre croissant de transactions, le traitement de toutes les transactions peut prendre des jours, voire des semaines.

Les nœuds d'archive effectuent une synchronisation complète pour construire (et conserver) un historique complet des changements d'état effectués par chaque transaction dans chaque bloc.

Synchronisation rapide

Comme une synchronisation complète, une synchronisation rapide télécharge tous les blocs (y compris les en-têtes, les transactions et les reçus). Cependant, au lieu de retraiter les transactions historiques, une synchronisation rapide s'appuie sur les reçus jusqu'à ce qu'elle atteigne une tête récente, moment auquel elle passe à l'importation et au traitement des blocs pour fournir un nœud complet.

  • Stratégie de synchronisation rapide.
  • Réduit la demande de traitement au profit de l'utilisation de la bande passante.

Synchronisation snap

Les synchronisations snap vérifient également la chaîne bloc par bloc. Cependant, au lieu de commencer au bloc genèse, une synchronisation snap commence à un point de contrôle « de confiance » plus récent qui est connu pour faire partie de la véritable chaîne de blocs. Le nœud enregistre des points de contrôle périodiques tout en supprimant les données antérieures à un certain âge. Ces instantanés sont utilisés pour régénérer les données d'état selon les besoins, plutôt que de les stocker pour toujours.

  • Stratégie de synchronisation la plus rapide, actuellement par défaut sur le réseau principal Ethereum.
  • Économise beaucoup d'utilisation du disque et de bande passante réseau sans sacrifier la sécurité.

En savoir plus sur la synchronisation snap (opens in a new tab).

Synchronisation légère

Le mode client léger télécharge tous les en-têtes de bloc, les données de bloc et en vérifie certains de manière aléatoire. Ne synchronise que la pointe de la chaîne à partir du point de contrôle de confiance.

  • N'obtient que le dernier état tout en s'appuyant sur la confiance envers les développeurs et le mécanisme de consensus.
  • Client prêt à l'emploi avec l'état actuel du réseau en quelques minutes.

NB La synchronisation légère ne fonctionne pas encore avec la preuve d'enjeu (PoS) d'Ethereum - de nouvelles versions de la synchronisation légère devraient être disponibles bientôt !

En savoir plus sur les clients légers

Modes de synchronisation de la couche de consensus

Synchronisation optimiste

La synchronisation optimiste est une stratégie de synchronisation post-fusion conçue pour être facultative et rétrocompatible, permettant aux nœuds d'exécution de se synchroniser via des méthodes établies. Le moteur d'exécution peut importer de manière optimiste des blocs balises sans les vérifier entièrement, trouver la dernière tête, puis commencer à synchroniser la chaîne avec les méthodes ci-dessus. Ensuite, une fois que le client d'exécution a rattrapé son retard, il informera le client de consensus de la validité des transactions dans la chaîne balise.

En savoir plus sur la synchronisation optimiste (opens in a new tab)

Synchronisation par point de contrôle

Une synchronisation par point de contrôle, également connue sous le nom de synchronisation à subjectivité faible, crée une expérience utilisateur supérieure pour la synchronisation d'un nœud balise. Elle est basée sur des hypothèses de subjectivité faible qui permettent de synchroniser la chaîne balise à partir d'un point de contrôle de subjectivité faible récent au lieu du bloc genèse. Les synchronisations par point de contrôle rendent le temps de synchronisation initial considérablement plus rapide avec des hypothèses de confiance similaires à la synchronisation depuis le .

En pratique, cela signifie que votre nœud se connecte à un service distant pour télécharger les états finalisés récents et continue de vérifier les données à partir de ce point. Le tiers fournissant les données est de confiance et doit être choisi avec soin.

En savoir plus sur la synchronisation par point de contrôle (opens in a new tab)

Complément d'information