EAO (Externally Owned Accounts) is defined as a type of account on any blockchain network that is managed by private keys instead of smart contracts. An EAO is used by individuals with private keys to verify or execute transactions. In the cryptocurrency sector, EAOs can be used to host assets on trading platforms, stake cryptocurrencies, earn rewards, or execute trades.
The private keys used in EAOs mediate the user's access to their funds and the execution of transactions on the blockchain network. Private keys, therefore, need to be secure.
What Are the Types of Ethereum Accounts?
Ethereum supports two types of accounts. These are called EOA and CA (Contract Account). EOA is managed by a private key. CA is controlled by smart contracts.
EOA (Externally Owned Accounts)
EOA is controlled by users and provided through software. EOAs are managed with a private key and signed using cryptography. The private key allows access to all funds at the address.
Some features of EAO:
- There is no cost to create an EOA.
- EOA can initiate transactions.
- Only Ethereum (ETH) can be transferred between EOAs.
CA (Contract Account)
EOA is executed with the code that the EVM (Ethereum Virtual Machine) executes and is also known as a smart contract. CAs have code and information storage, but no private key. CAs control themselves.
Some features of CA:
- Since data storage is used, there is a cost to create a contract.
- Only when a transaction is received can it send a counter-transaction.
- Transactions from EOAs to CAs can trigger codes.
What Are the Differences Between EOA and CA?
EOA
- EOA allows account creation with wallets such as MetaMask.
- EOAs allow access through keys.
- The address is extracted within 20 bytes of the public key hash.
- Private keys are randomly generated.
CA
- CA can only be done with EOA or an existing smart contract.
- There is no public key.
- Addresses are calculated when the contract is deployed.
- There is no private key.
What Are the Features of Ethereum Accounts?
ETH accounts have four different parts:
- Nonce
- Balance
- CodeHash
- StorageRoot
What Is Nonce?
Nonce indicates the number of transactions sent from an account. This ensures that a transaction is executed only once.
What Is Balance?
Account balance indicates the number of ETH hold in the Ethereum account storage.
What Is CodeHash?
Not every account has a contract code. If there is a contract code, CodeHash is not mandatory.
What Is StorageRoot?
A CodeHash in CAs is a kind of hash that refers to the code that is in the relevant account.