Bitcoin is the first and largest blockchain, but it doesn't have smart contracts, which are decentralized software programs inside the network. This is why Vitalik Buterin, a brilliant programmer, but not a Cypherpunk, invented Ethereum.
Ethereum is the same as Bitcoin but adds programmability.
Ethereum does not have a fixed monetary policy as it has been changed several times.
The cool thing is that the Ethereum ledger stores accounts, balances, and software programs. This transforms it into a fully programmable blockchain.
The following are the components that Buterin added to Ethereum to make it programmable:
- A virtual machine (the Ethereum Virtual Machine or EVM): It is a software component to the node software, that is replicated across all the participating machines which can receive and execute computing instructions.
- State transition: Instead of using the UTXO model that Bitcoin uses, which means that all the history of transactions must be verified every time to know the balance of an account, Ethereum debits an account and credits the other account in 2 steps. This enables something called "state transition" which is critical for computing. This model eliminates the need to verify the history of transactions for each account and enables programmability.
- The gas system: Because machines can enter into an infinite loop when executing complex software programs (e.g. when Windows or MacOS computers show the clock or infinite circle when programmes can't be executed) necessitating a shut down and re-start, this may happen in Ethereum. However, since there can't be a central arbiter telling all the machines of the network to re-start every time this happens, Vitalik invented the gas system, which basically puts a limit in "gas" per transaction. When machines enter into an infinite loop, they know they only have to use up the gas and then cancel the transaction. Gas has a cost, so it is another form of income for the Ethereum machines that produce blocks.
- Stores programs in the ledger: As Bitcoin stores accounts and balances and nothing more, Ethereum stores accounts, balances, and also software programs inside the blockchain.
What Does Ethereum Accomplish?
- Dapps: When a software program or smart contract is sent to the Ethereum network, it becomes decentralized because it is replicated across all the machines that participate in the network. This enables applications (apps) which become decentralized (dapps) when they "live" inside Ethereum.
- Decentralization: Because of the above feature, dapps are essentially like apps in your phone or computer, but decentralized.
- Web 3: Dapps can be used for all sorts of functions. This includes for websites, domain names, money, payments, and many other applications. This is what is called the "web 3" because instead of dealing with centralized tech companies, people will use these decentralized apps or dapps in Ethereum.
- Stablecoins: Among many of the applications that Ethereum enables are stablecoins, which are cryptocurrencies linked or pegged to national currencies, hence "stable". Some examples may be USDT, USDC, and DAI.
- NFTs: Another kind of dapps are NFTs, which are collectables powered by a special kind of smart contract that makes them unique.
- Many more applications: Because Ethereum is programmable, and programmability may be very complex and full of features, then it may enable a multitude of other applications in the future that we haven't even yet imagined!
Proof of Stake
An important point in the history of Ethereum is that it is moving to Proof of Stake, eliminating proof of work mining. However, all the functionality will be the same.
The most important benefit of proof of stake systems networks is that they are more scalable so fees will be lower and they will process larger volumes of transactions. The tradeoff is that they are a bit more centralized than proof of work blockchains.