Un compte blockchain représente la passerelle d'identité de l'utilisateur au sein d'un réseau blockchain. Chaque compte est associé à une adresse unique, utilisée pour recevoir des actifs, initier des transactions et interagir avec des smart contracts. Contrairement aux comptes bancaires traditionnels, les comptes blockchain ne sont ni créés ni gérés par une institution centrale ; ils sont entièrement générés et contrôlés par les utilisateurs au moyen de mécanismes cryptographiques.
D'un point de vue fonctionnel, les comptes blockchain jouent plusieurs rôles essentiels :
Un compte blockchain n'est pas un conteneur physique qui stocke les actifs. Les actifs blockchain sont inscrits dans le registre distribué, tandis que l'adresse du compte sert uniquement de tag pour identifier la propriété et les droits d'opération. Ainsi, détenir la clé privée d'un compte équivaut à contrôler les actifs associés à cette adresse.
La sécurité des comptes blockchain repose sur des systèmes cryptographiques, structurés autour de trois éléments clés : la clé privée, la clé publique et l'adresse. Ces trois éléments sont liés par des relations mathématiques strictes et constituent ensemble la structure de base du système de comptes.
Lors de la création d'un compte blockchain, une clé privée aléatoire est générée en premier. Cette clé privée, généralement un nombre de 256 bits, détermine le niveau de sécurité du compte par son degré d'aléa. Ensuite, le système applique des algorithmes de cryptographie à courbe elliptique pour dériver la clé publique correspondante à partir de la clé privée.
La clé publique peut être considérée comme la version publique de la clé privée : elle peut être partagée, mais ne permet pas de retrouver la clé privée. En pratique, la clé publique subit une ou plusieurs opérations de hash pour produire l'adresse utilisée par les utilisateurs sur le réseau.
La logique de génération peut se résumer ainsi :
Clé privée → Clé publique → Adresse
Points clés à retenir :
Cette structure garantit une propriété fondamentale : les utilisateurs peuvent prouver le contrôle de leurs actifs sans jamais révéler leur clé privée. Il s'agit d'un fondement essentiel de la capacité de transaction sans confiance de la blockchain.
Tous les comptes d'un réseau blockchain ne présentent pas la même structure. Sur Ethereum, par exemple, on distingue principalement deux types de comptes : Externally Owned Account (EOA) et Contract Account.
L'EOA est contrôlé par l'utilisateur et géré via une clé privée. La grande majorité des utilisateurs ont recours à un EOA lorsqu'ils utilisent un portefeuille comme MetaMask. La caractéristique principale des EOA est leur capacité à initier des transactions de manière proactive et à prouver la légitimité des opérations via la signature de la clé privée.
À l'inverse, les comptes de contrat ne sont pas contrôlés par une clé privée, mais sont gérés par le code du smart contract déployé sur la blockchain. Les comptes de contrat ne peuvent pas initier de transactions de leur propre initiative ; ils exécutent uniquement la logique prédéfinie lorsqu'ils reçoivent des transactions ou des appels.
Les principales différences entre les deux types de comptes sont les suivantes :
Avec l'évolution de la technologie Web3, les systèmes de comptes continuent de progresser. Par exemple, des concepts récents comme l'Account Abstraction visent à dépasser la frontière entre EOA et comptes de contrat, afin de permettre aux comptes de combiner contrôle utilisateur et logique de smart contract — améliorant ainsi l'expérience utilisateur et la flexibilité du système.
La compréhension de ces deux structures de compte est une condition préalable essentielle pour approfondir la finance on-chain, les applications DeFi et l'infrastructure Web3.