What exactly are accounts?

The Ethereum global state is made up of accounts that communicate with one another via a message-passing framework. The most fundamental interaction is the transfer of value, such as ether, the native cryptocurrency of the Ethereum blockchain. Each account is identified by a 20-byte hex identifier known as an address, which is generated using the account's public key. There are two kinds of accounts:

  1. Externally Owned Account - An account that is controlled by a private key, and if you own the private key associated with it, you can send tokens and messages from it.

  2. Contract Owned Account - An account with a smart contract code and a private key that is not owned by anyone.

These are distinguished as follows:

Externally Owned Account

  • Can transmit transactions (ether transfer or trigger contract code)

  • Is governed by private keys

  • Has no corresponding code

Contract Owned Account

  • Has a corresponding code

  • Transactions or messages (calls) received from other contracts trigger code execution.

  • When executed, it can: - perform arbitrary complexity operations (Turing completeness) - manipulate its own persistent storage, i.e., have its own permanent state - call other contracts


Read more about accounts

Last updated