A peer to peer network of virtual machines that developers can utilise to develop distributed applications (Dapps).
Dapps can function as programs that contain rules to be executed when certain conditions are met (similar to a contract).
Ethereum uses its own decentralised blockchain to store and execute these Dapps
A blockchain is a public electronic ledger, shared between users with an "unchangeable" record of transactions between the users.
- Decentralised - no central authority
- Distributed - shared across all the users running the software
- Immutable - a unchangeable record of transactions
Each transaction is called a block, which includes a hash of the previous block in the chain, once a block is generated it cannot be altered.
Any user can check the status and see the same transaction history as every other user.
Most importantly a blockchain utilises a consensus algorithm to:
- ensure the next block is the single source of truth
- ensure that malicious parties don't fork the chain
Blockchains aim to remove the need for third parties to authorize and validate transactions, instead offloading the validation to the network of users.
Typically users who validate blocks (and ensure the strength of the network) are rewarded in a relevant cryptocurrency (such as bitcoin
Ethereum rewards its users with its own cryptocurrency, Ether
Ethereum differs by providing 2 main things:
- Solidity: A statically typed programming language for writing smart contracts
- Ethereum Virtual Machine: a runtime environment for a executing smart contracts written in solidity
Ethereum is a platform focused on providing the means for developing smart contracts. These smart contracts are programmed in the ethereum programming language and executed on the ethereum virtual machine. Smart contracts can also issue their own utility cryptocurrency to manage transactions within the contracts domain.
In essence ethereum provides the infrastructure for building applications on top of a blockchain
- BAT - Basic attention token, a utility token to allow content publishers to monetise their content and provider consumers a platform to pay for content reducing the need to online advertising
- Storj - Distributed file storage, think AWS without amazon
- Cryptokitties -
¯\_(ツ)_/¯