Current Model: Externally Owned Accounts
Ethereum today has two types of accounts:
- Externally Owned Accounts (EOAs)
- These are the wallets that you and I typically use.
- Contract accounts
- Smart contracts (e.g. an ERC-20 token, a staking contract, Gnosis Safe etc) that are governed by code. Contract accounts cannot initiate transactions themselves.
A key issue with EOAs is that if the user forgets their password/seed phrase the account is lost forever.
In addition, if someone gains access to your keys, they have total control over the account. These accounts leave no margin for error and have been the cause of significant losses.
Furthermore, EOAs have very limited functionality and **cannot be...