Passer au contenu principal
Change page

Comptes Ethereum

Dernière mise à jour de la page : 23 février 2026

Un compte Ethereum est une entité avec un solde d'éther (ETH) qui peut envoyer des messages sur Ethereum. Les comptes peuvent être contrôlés par l'utilisateur ou déployés en tant que contrats intelligents.

Prérequis

Pour vous aider à mieux comprendre cette page, nous vous recommandons de commencer par lire notre introduction à Ethereum.

Types de comptes

Ethereum comprend deux types de comptes :

  • Compte détenu en externe (EOA) – contrôlé par toute personne ayant les clés privées
  • Compte de contrat – un contrat intelligent déployé sur le réseau, contrôlé par le code. En savoir plus sur les contrats intelligents

Les deux types de comptes peuvent :

  • Recevoir, détenir et envoyer des ETH et des jetons
  • Interagir avec les contrats intelligents déployés

Principales différences

externe

  • La création d'un compte est gratuite
  • Vous pouvez initier des transactions
  • Les transactions entre des comptes externes ne peuvent être que des transferts en ETH/jeton
  • Composé d'une paire de clés cryptographiques : clés publiques et privées qui contrôlent les activités du compte

Contrat

  • La création d'un contrat a un coût dû à l'utilisation de stockage réseau
  • Ne peut envoyer des messages qu'en réponse à la réception d'une transaction
  • Les transactions depuis un compte externe vers un compte de contrat peuvent déclencher un code pouvant exécuter plein d'actions différentes, comme transférer des tokens ou même créer un nouveau contrat
  • Les comptes de contrat n'ont pas de clés privées. Au lieu de cela, ils sont contrôlés par la logique du code du contrat intelligent

Examen d'un compte

Les comptes Ethereum comportent quatre champs :

  • nonce – Un compteur qui indique le nombre de transactions envoyées depuis un compte externe ou le nombre de contrats créés par un compte de contrat. Chaque adresse Ethereum (Account) peut être utilisée uniquement à chaque transaction en choisissant un nonce associé au bloc. Le rôle de ce dernier est de rendre impossible les attaques par rejeu, durant lesquelles des transactions signées sur une chaîne, sont réalisées et retransmises de manière continue sur l'autre chaîne.
  • balance – Le nombre de wei détenus par cette adresse. Le wei est une unité divisionnaire de l'ETH. Il y a 1e+18 wei pour 1 ETH.
  • codeHash – Ce hachage fait référence au code d'un compte sur la machine virtuelle Ethereum (EVM). Les comptes de contrat possèdent des fragments de code qui peuvent réaliser différentes opérations. Ce code EVM est exécuté si le compte reçoit un message. Contrairement aux autres champs, il ne peut pas être modifié. Tous ces fragments de code sont stockés dans une base de données à états, sous leur hachage correspondant, pour une récupération future. Cette valeur de hachage est connue en tant que codeHash. Pour les comptes externes, le champ du codeHash contient le hachage d'une chaîne vide.
  • storageRoot – Parfois appelé hachage de stockage. Un hachage de 256 bits du nœud racine d'un arbre de Merkle Patricia qui encode le contenu de stockage du compte (une correspondance entre des valeurs entières de 256 bits), encodé dans l'arbre en tant que correspondance entre le hachage Keccak-256 des clés entières de 256 bits et les valeurs entières de 256 bits encodées en RLP. Cet arbre encode le hash des contenus stockés de ce compte, et est vide pas défaut.

Un schéma montrant la composition d'un compte Schéma adapté de Ethereum EVM illustrated (opens in a new tab)

Comptes externes et paires de clés

Un compte est constitué d'une paire de clés cryptographiques: la clé publique et la clé privée. Celles-ci servent à prouver qu'une transaction a été signée par l'expéditeur et empêchent les contrefaçons. Votre clé privée vous sert à signer les transactions. Elle vous permet donc de gérer les fonds associés à votre compte. Vous ne détenez jamais vraiment de la cryptomonnaie, vous détenez des clés privées. Les fonds sont toujours dans le registre d'Ethereum.

Cela empêche les acteurs malveillants de diffuser de fausses transactions puisque vous pouvez toujours vérifier l'expéditeur d'une transaction.

Si Alice veut envoyer de l'ether de son propre compte à celui de Marc, elle doit initier une transaction et l'envoyer sur le réseau pour vérification. L'utilisation de la cryptographie asymétrique par Ethereum permet à Alice de prouver qu'elle est l'initiatrice de la demande de transaction. Sans les mécanismes cryptographiques, une Eve malveillante pourrait simplement diffuser publiquement une demande comme "envoyer 5 ETH du compte d'Alice sur le compte d'Eve" et personne ne serait en mesure de vérifier que cela ne venait pas d'Alice.

Création de compte

Lorsque vous souhaitez créer un compte, la plupart des bibliothèques généreront une clé privée aléatoire à votre intention.

Une clé privée est composée de 64 caractères hexadécimaux et peut être chiffrée avec un mot de passe.

Exemple :

fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036415f

La clé publique est générée à partir de la clé privée en utilisant l'algorithme de signature numérique à courbe elliptique (opens in a new tab). Vous obtenez une adresse publique pour votre compte en prenant les 20 derniers octets du hachage Keccak-256 de la clé publique et en ajoutant 0x au début.

Cela signifie qu'un compte externe (EOA) a une adresse de 42 caractères (un segment de 20 octets qui correspond à 40 caractères hexadécimaux plus le préfixe 0x).

Exemple :

0x5e97870f263700f46aa00d967821199b9bc5a120

L'exemple suivant montre comment utiliser un outil de signature appelé Clef (opens in a new tab) pour générer un nouveau compte. Clef est un outil de gestion de compte et de signature fourni avec le client Ethereum, Geth (opens in a new tab). La commande clef newaccount crée une nouvelle paire de clés et l'enregistre dans un keystore chiffré.

1> clef newaccount --keystore <chemin>
2
3Veuillez saisir un mot de passe pour le nouveau compte à créer :
4> <mot de passe>
5
6------------
7INFO [10-28|16:19:09.156] Your new key was generated address=0x5e97870f263700f46aa00d967821199b9bc5a120
8WARN [10-28|16:19:09.306] Please backup your key file path=/home/user/go-ethereum/data/keystore/UTC--2022-10-28T15-19-08.000825927Z--5e97870f263700f46aa00d967821199b9bc5a120
9WARN [10-28|16:19:09.306] Please remember your password!
10Generated account 0x5e97870f263700f46aa00d967821199b9bc5a120
Afficher tout

Documentation Geth (opens in a new tab)

Il est possible de dériver de nouvelles clés publiques à partir de votre clé privée, mais pas l'inverse. Il est essentiel de conserver vos clés privées en lieu sûr et, comme leur nom l'indique, de les garder PRIVÉES.

Vous avez besoin d'une clé privée pour signer des messages et des transactions qui génèrent une signature. Les autres peuvent alors prendre la signature pour dériver votre clé publique, prouvant l'auteur du message. Dans votre application, vous pouvez utiliser une bibliothèque JavaScript pour envoyer des transactions au réseau.

Comptes de contrat

Les comptes de contrats possèdent également une adresse hexadécimale de 42 caractères :

Exemple :

0x06012c8cf97bead5deae237070f9587f8e7a266d

Cette adresse est généralement donnée lorsqu'un contrat est déployé dans la blockchain Ethereum. Elle provient de l'adresse du créateur et du nombre de transactions envoyées à partir de cette adresse (« nonce »).

Clés de validateur

Il existe également un autre type de clé dans Ethereum, qui a été mis en place lorsque Ethereum est passé de la preuve de travail à un consensus basé sur la preuve d'enjeu. Il s'agit des clés « BLS », qui sont utilisées pour identifier les validateurs. Ces clés peuvent être agrégées efficacement pour réduire la bande passante nécessaire au consensus du réseau. Sans cette clé d'agrégation, la mise en jeu minimale pour un validateur serait beaucoup plus élevée.

En savoir plus sur les clés de validateur.

Remarque sur les portefeuilles

Un compte n'est pas un portefeuille. Un portefeuille est une interface ou une application qui vous permet d'interagir avec votre compte Ethereum, qu'il s'agisse d'un compte externe ou d'un compte de contrat.

Une démo visuelle

Regardez Austin vous guider à travers les fonctions de hachage et les paires de clés.

En savoir plus

Une ressource communautaire vous a aidé ? Modifiez cette page et ajoutez-la !

Cet article vous a été utile ?