- Retour au menu
- Retour au menuTarifs
- Retour au menuRecherche
- Retour au menuConsensus
- Retour au menu
- Retour au menu
- Retour au menu
- Retour au menuWebinaires et Événements
Nœuds et clients Ethereum : un guide complet
Les termes « client Ethereum » et « nœud Ethereum » sont souvent utilisés de manière interchangeable, mais il existe une différence.
Dans le monde informatique, un « client » désigne tout type de logiciel téléchargé sur votre ordinateur et vous permettant d'interagir avec un autre type de logiciel ou de service fourni par un serveur. Par exemple, Gmail est un client logiciel qui se connecte à un serveur de messagerie et permet aux utilisateurs d'envoyer et de recevoir des e-mails.
Un client Ethereum est le logiciel nécessaire pour permettre aux nœuds Ethereum de lire les blocs de la blockchain Ethereum et les contrats intelligents basés sur Ethereum. Un « nœud » est l'élément d'exécution du logiciel client. Pour exécuter un nœud, vous devez d'abord télécharger une application client Ethereum .
Que sont les nœuds Ethereum ?
Un « nœud » est un ordinateur qui exécute une fonction spécifique sur le réseau Ethereum et exécute un logiciel client pour ce faire. Selon vos besoins spécifiques, qu'il s'agisse d'une application décentralisée (dapp) ou d'un portefeuille, trois types de nœuds peuvent être exécutés par n'importe quel client : les nœuds complets, les nœuds légers et les nœuds d'archive. Chaque nœud interprète les données différemment et propose des méthodes de synchronisation différentes, ce qui correspond à la rapidité avec laquelle votre nœud récupère les informations mises à jour pour que votre client puisse les interpréter.
- Les nœuds complets sont riches en données ; ils stockent et peuvent distribuer toutes les données de la blockchain du réseau Ethereum . Un nœud complet participe également à la validation des blocs (c'est-à-dire vérifie tous les blocs et états du réseau).
L'un des avantages de la mise en œuvre d'un nœud complet est qu'il peut interagir directement avec n'importe quel contrat intelligent de la blockchain publique. Les nœuds complets peuvent également déployer directement des contrats intelligents dans la blockchain publique.
Cependant, l'utilisation et le stockage complets des données, ainsi que les fonctionnalités directes des contrats intelligents, ont un coût. Les nœuds complets peuvent solliciter considérablement le matériel et la bande passante de votre ordinateur. La récupération de l'intégralité des données peut également être très chronophage, la synchronisation prenant parfois plusieurs jours lors du premier déploiement du nœud. Le nœud doit ensuite être maintenu, mis à niveau et maintenu en ligne afin d'éviter de répéter le processus de synchronisation complète.
- Les nœuds légers sont similaires aux nœuds complets, mais gèrent moins d'informations. Ils stockent les informations de la chaîne d'en-tête (informations de base stockées dans un bloc, telles que l'horodatage et le hachage du bloc précédent), mais ne reçoivent des informations supplémentaires que sur Request. Ils sont capables de vérifier la validité des données, mais ne participent pas pleinement à la validation des blocs. Les nœuds légers sont presque toujours implémentés dans des clients distants. Comme ils n'impliquent pas de processus de stockage et d'écriture de données plus intensifs, ils se sont avérés utiles pour les appareils de faible capacité comme les smartphones.
- Les nœuds d'archives stockent toutes les informations d'un nœud complet et constituent une archive des états historiques de la blockchain. Ils conservent les données historiques même après la synchronisation du client. Les nœuds complets et légers, quant à eux, « élaguent » les données historiques de la blockchain, ce qui signifie qu'ils peuvent les reconstruire, mais ne les conservent pas.
Bien que les nœuds d'archives ne soient pas utiles à l'utilisateur moyen, ils se sont avérés efficaces dans l'application des explorateurs de blocs, des fournisseurs de portefeuilles et des analyses de chaîne.
Qu'est-ce qu'un client Ethereum ?
Les clients peuvent être utiles aux développeurs car ils leur permettent d'interagir avec le réseau et d'autres nœuds du réseau à l'aide de différents langages de programmation. La Fondation Ethereum gère plusieurs clients pour différents langages de programmation, notamment Go, Rust, Java et C#. Plusieurs développeurs tiers ont également créé des clients Ethereum pour une prise en charge plus étendue des langages.
Les utilisations les plus courantes des clients Ethereum incluent les interfaces de transaction et d'exploitation minière, mais ses cas d'utilisation peuvent aller bien au-delà des interactions de base de la blockchain.
La Fondation Ethereum entretient les clients suivants :
- Geth (Aller)
- OpenEthereum (Rust)
- Nethermind (C#, .NET) https://nethermind.io/client
- Besu (Java)
- Érigon (Go/Multi)
Ces solutions offrent aux développeurs des options pour implémenter leurs projets basés sur Ethereum. Si votre langage préféré n'est T officiellement pris en charge par la Fondation Ethereum , de nombreux clients Ethereum tiers proposent une prise en charge linguistique supplémentaire.
La raison pour laquelle tous ces différents clients sont possibles est Ethereum est défini par une spécification formelle (c'est-à-dire le «Papier jauneLes spécifications formelles qui constituent Ethereum distinguent la blockchain de Bitcoin. Alors Ethereum définit des comportements standards à Réseaux sociaux pour tous les clients Ethereum , Bitcoin CORE ne dispose pas de telles définitions. En fournissant une documentation cohérente et un langage clair, les spécifications d'Ethereum ont permis à la blockchain de permettre des implémentations logicielles indépendantes, mais interopérables, d'un client Ethereum .
Types de clients Ethereum
Client complet
Les clients complets stockent l'intégralité de la blockchain Ethereum ; un processus qui peut prendre plusieurs jours à synchroniser et nécessite une énorme quantité d'espace disque - plus d'un téraoctet pour être exact, selon le derniers chiffresLes clients complets permettent aux nœuds connectés d'effectuer toutes les tâches sur le réseau, y compris l'exploitation minière, la validation des transactions et des en-têtes de blocs et l'exécution de contrats intelligents.
Client léger
Les clients Ethereum peuvent être implémentés en totalité ou en partie. L'aperçu ci-dessus explique le fonctionnement d'un client « complet ». Il est toutefois important de savoir qu'il n'est T toujours nécessaire d'exécuter un client complet. Généralement, lorsque le stockage et la vitesse des données sont des enjeux, les développeurs choisissent d'utiliser des « clients légers ».
Les clients légers offrent un sous-ensemble des fonctionnalités d'un client complet. Ils offrent des débits plus rapides et libèrent de l'espace de stockage car, contrairement aux clients complets, ils ne stockent pas l'intégralité de la blockchain Ethereum .
L'étendue des fonctionnalités d'un client léger est adaptée aux objectifs du client Ethereum . Par exemple, les clients légers sont fréquemment utilisés pour la gestion des clés privées et des adresses Ethereum au sein d'un portefeuille. De plus, ils gèrent généralement les interactions entre contrats intelligents et les diffusions de transactions. Les clients distants sont également utilisés pour les instances web3 au sein d'objets JavaScript, les navigateurs d'applications décentralisées et la récupération de données de taux de change.
Client distant
Il existe un troisième type de client, appelé client distant, similaire à un client léger. La principale différence réside dans le fait qu'un client distant ne stocke pas sa propre copie de la blockchain et ne valide pas les transactions ni les en-têtes de blocs. Au lieu de cela, les clients distants s'appuient entièrement sur un client complet ou léger pour accéder au réseau blockchain Ethereum . Ces types de clients sont principalement utilisés comme portefeuille pour l'envoi et la réception de transactions.
La différence entre les nœuds et les clients
Les nœuds et les clients fonctionnent ONE à côte et les deux termes sont souvent utilisés de manière interchangeable. Cependant, ils fonctionnent séparément pour accéder au réseau Ethereum .
Imaginez le fonctionnement des nœuds et des clients comme celui d'un ordinateur accédant à Internet : le nœud est un système d'exploitation, comme Windows ou iOS, et le client est l'ordinateur lui-même. L'ordinateur client permet à l'utilisateur d'accéder au système d'exploitation du nœud, qui lui-même lui donne accès à Internet. Différents ordinateurs peuvent vous donner accès au même système d'exploitation, et ces différents systèmes d'exploitation vous donneront accès au même Internet.
MétaMasque
Pour comprendre le fonctionnement des clients Ethereum en pratique, prenons l'exemple de MetaMask. MetaMask est un portefeuille basé sur un navigateur, un client d'appel de procédure à distance (RPC) et un explorateur de contrats basique. Tout ordinateur équipé de Chrome, Firefox, Opera ou Brave Browser peut exécuter MetaMask.
MetaMask est une implémentation d'un client distant interagissant avec la blockchain via un client léger. Afin d'éviter tout problème de sécurité, MetaMask utilise son propre client léger pour communiquer avec le client distant et garantir ainsi la sécurité et la fiabilité des transactions.
MetaMask se distingue des autres portefeuilles basés sur navigateur par l'intégration d'une instance web3 dans le lecteur JavaScript du navigateur, donnant ainsi accès au réseau principal Ethereum et à d'autres réseaux de test, notamment les réseaux de test Ropsten et Kovan, ainsi qu'à l'instance locale d'un nœud RPC. Malgré ses fonctionnalités uniques, MetaMask exécute un client distant, comme la plupart des autres portefeuilles de navigateur. Ce client distant permet le stockage du portefeuille, la diffusion des transactions et les injections JavaScript web3.
Griffin Mcshane
Griffin McShane est un New-Yorkais vivant actuellement à Brooklyn. Il est diplômé du Providence College, où il a étudié l'informatique et le commerce, et de la faculté de droit de l'Université du Maine, où il a obtenu son doctorat en droit. Outre son travail de rédaction pour CoinDesk, Griffin a rédigé la newsletter Inside Crypto pour Inside.com de Jason Calacanis et est membre de l'International Association of Politique de confidentialité Professionals (IAPP). Il ne détient aucune Cryptomonnaie en quantité significative.
