The difference between an EOA and a contract

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 ...

Get Mastering Blockchain Programming with Solidity now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.