The Ethereum Classic World Computer Accounts & States Explained
![computer computer](/static/198b5f66b91e1604c180d9abddafead5/b4294/be9c74a342.jpg)
The Ethereum Classic (ETC) blockchain makes possible an unstoppable, reliable, auditable, trustless and secure world computer. To understand this system, it is important to understand accounts and states.
Accounts
![account account](/static/e28c5fa029da0c5cffd626eb133cd317/0a47e/bf11b98df3.png)
An account is a data structure containing an address, balance, program, memory and a nonce. They are used by entities external to the ETC system to interact with it. These external entities may be humans, but, they can also be Internet devices. Accounts are also used to specify smart contracts. It simplifies the design of ETC to use accounts for both of these purposes.
Addresses
![address address](/static/ea15f745a99a423e2802aee739ffb32d/b4294/be7ac641c1.jpg)
Accounts have unique 20 byte identifiers referred to as addresses. External entities generate new account addresses from public encryption keys. Smart contracts generate new account addresses by other means since smart contract accounts do not have public encryption keys.
Balances
![balance balance](/static/0b66b8572d57dabf5d0d4d9753a275d4/0a47e/be7de5aa92.png)
Accounts can have funds. Account funds are specified by balances. Balances are typically denoted in units of aETC (10-18 ETC) or weis.
Programs
![code code](/static/ff9e929f906f9d948e7c597277b22151/b4294/be7e476d63.jpg)
Smart contract accounts have world computer programs. These are also referred to as smart contract code. This element is unused by external entity accounts. Partially for security reasons, smart contract programs in accounts cannot be modified. All other account elements however can be modified.
Memories
![storage storage](/static/3c27c9d4fa155352258e4bff8e69cbb2/b4294/be7bef33e8.jpg)
Smart contract accounts have memories. These are also referred to as storage. All smart contract memory values, and their identifiers, are 32 bytes.
Nonces
![nonce nonce](/static/a04552f4123b4c0b0929cb5b325ee6c7/b4294/be13f03b68.jpg)
Accounts have counters referred to as nonces. Partially to protect against replay attacks, external account nonces increment every time they add a new transaction to the blockchain. Partially to provide variability when calculating new addresses, smart contract account nonces increment every time they add a new smart contract to the blockchain.
States
![state state](/static/cdc5c9808e98bb266f66b256832ae3dd/0a47e/c129534fb1.png)
A complete description of the world computer can be given solely by the accounts! This complete description is referred to as the state of the world computer. Because the world computer is always running, the state is always changing.
Conclusion
![understanding understanding](/static/16d46f1036ea962ab31e4a37e5a3ab57/b4294/c193ccc60f.jpg)
There are external entity accounts and smart contract accounts. They completely specify the state of the world computer at all times. If you understand all that then you have taken a significant step in mastering ETC!
Feedback
You can contact me by clicking any of these icons:
Acknowledgements
I would like to thank IOHK (Input Output Hong Kong) for funding this effort.
License
![license license](/static/5d7ada7625de0de072ec142ca8272da7/942f4/88x31.png)
This work is licensed under the Creative Commons Attribution ShareAlike 4.0 International License.