There are some differences between an EOA and a contract account. The following table distinguishes between an EOA and a contract:
EOA (account) | Contract account (smart contract) | |
Creation | A new account can be created at any time, using a wallet generation utility such as MetaMask or with https://www.myetherwallet.com/. | A new contract can only be created from an EOA or from an existing deployed contract. |
Public address | An EOA account's public address is derived from its private key. | A contract's public address is created by the combination of a public address of creating account + nonce. |
Private keys | An EOA can only be controlled using its private key. | A contract which do not has a private ... |