Account Model
Un compte est une structure utilisée à la fois pour identifier les utilisateurs et les contrats intelligents et pour vérifier la validité des transactions effectuées sur la blockchain Ethereum.
Chaque compte est associé à une adresse de portefeuille et à un statut contenant un ensemble d’informations sur le solde d’ETH détenu par l’utilisateur.
Selon la manière dont ils sont gérés, on peut distinguer deux types de comptes sur la blockchain Ethereum :
- Compte à propriété externe (EOA) : contrôlé par les utilisateurs eux-mêmes via les clés privées associées à leur portefeuille ;
- Comptes de contrats : gérés par des contrats intelligents spécifiques.
Lorsqu’une transaction est initiée sur une blockchain basée sur le modèle de compte, le système vérifie la quantité d’ETH détenue par l’utilisateur qui a initié la transaction, en s’assurant que le portefeuille contient un nombre d’ETH égal ou supérieur au montant à envoyer.
Le modèle de compte peut être comparer, de manière très simpliste, à un service de vérification bancaire.
Pour mieux expliquer ce concept, prenons un exemple concret.
Andrea a 5 ETH dans son portefeuille et décide d’envoyer 1 ETH à Barbara. Au moment où la transaction est lancée, le réseau Ethereum vérifie le solde disponible dans le portefeuille d’Andrea. Puisque dans ce cas le montant d’ETH est suffisant, la blockchain approuvera la transaction.
Andrea se verra alors soustraire 1 ETH, tandis que 1 ETH sera crédité sur le portefeuille de Barbara.
Par rapport à un modèle UTXO, utilisé pour régler les transactions sur la blockchain de Bitcoin, le modèle de compte présente des avantages en termes de facilité d’utilisation et de rapidité de mise en œuvre. En effet, les états et les transactions sur ces modèles occupent moins d’espace de stockage et permettent une plus grande évolutivité.