Ethereum has three main ingredients:
- Decentralization: For guaranteed execution
- Hashes: For safeguarding the world state
- Signature: For authorizing programs and transactions
Some other useful, Ethereum-specific facts are listed as follows:
- Like a transaction, a digital signature is required for deploying a smart contract. A deployed smart contract is permanent and is immutable.
- A smart contract is assigned an address. If a smart contract has a bug, the corrected smart contract will be deployed with a newly assigned address, and therefore it is treated as a completely new smart contract. In other words, the corrected contract has no relationship to the old one. Consequently, the history of the old smart contract gets lost.
- Unlike a full node, a light node does not store the whole distributed ledger, but it stores the parts it cares about from someone it trusts.
- Since smart contract scripts are stored at nodes worldwide, it provides an additional layer of security.
- Ethereum provides fault tolerance. As long as at least one full node survives during a catastrophic attack, the network can be rebuilt from the surviving node and grows to a full network.
- The scalability issue is one of the main criticisms of Ethereum, as all full nodes run the same smart contract code.