Ethereum is a decentralised, distributed platform that allows you to run 'smart contracts' on its network. In essence it is a decentralised global computer that can be never taken down, which you, I and anyone else can run programs on. The computer is formed by thousands of computers all over the world that help to process the programs on the global computer; these computers are called miners. It uses a distributed database called blockchain, created by the Bitcoin founder Satoshi Nakamoto to store the programs and messages between them, which allows the data to exist in a decentralised, censor resistant, peer-to-peer network with no single point of failure. If you are unfamiliar with bitcoin or other cryptocurrencies, some of the jargon above might go straight over your head, so I will first define some of those terms before exploring why you might be interested in a platform like Ethereum.
What is a blockchain?
A blockchain is a type of distributed (not held on any single server) database that is decentralised from any particular organisation. It allows the transfer of value or property without the use of a middle man. The most popular use of blockchains is Bitcoin, which introduced the technology. Bitcoin has a public ledger stored in the blockchain and allows you to transfer bitcoin between addresses on the blockchain network without any kind of middleman like a bank. The network are run by miners, who share their computing power to verify and process transactions. Ethereum uses the blockchain in a similar way, but also allows you to store smart contracts (programs) on this database. Since the blockchain is distributed amongst thousands of computers on the network, it would be very difficult or impossible to take down. Therefore your programs are protected by the same distributed nature of the blockchain.
Smart contracts are scripts that run on the blockchain, computed by the miners of the network. Once it has been deployed to the blockchain it can't be edited, changed or manipulated and therefore can be trusted to run its code the way it was deployed. Therefore these contracts can be used to hold data, currency or value and distribute them in the way that it was intended. A simple example of a contract could be to transfer a certain amount of money to your kid every month.
Ether is the fuel that applications use to pay for the computational power it uses from the network. It is the incentive that the nodes of the network have to keep the network running and process your contracts. Just like Bitcoin, you can get fractions of an ether down to 18 decimal places. 1 Ether at the time of writing is $10, so this means you can pay computational power with fractions of a penny
Decentralised Applications are applications that are run using a blockchain. They are comprised of contracts that act as the backend to the application which are stored on the Ethereum blockchain as well as a front-end built in web technologies to create the user interface. Decentralised applications benefit from blockchain technology in several ways:
- There isn't a single point of failure, such as a server, that could go down.
- The DApp if programmed to, could run autonomously without human control. This could allow it to run long after the original creators of the application have moved on.
- Since the DApp is using the blockchain as a backend, it is resilient to censorship.
- The DApp can store important data in its contracts (which is public) and therefore the user does not need to 'trust' the developers of the app as long as the code is non-malicious, which can be checked on the public blockchain.
What is the point of Ethereum?
Ethereum allows you to create dapps on its blockchain, which makes creating decentralised applications easier. Instead of creating your own blockchain and incentivising miners to help keep the network running, Ethereum has built the foundations for any normal web developer to start making DApps now on this peer to peer network. It means the barriers to creating another DApp such as torrents is easier than ever before.
As long as there is one full node still on the network, in theory Ethereum will continue to run. The blockchain cannot be altered or manipulated, so 3rd parties such as governments or countries cannot censor or control it. And because you know the contracts will run no matter what, they can't be altered and the code is public on the blockchain, the programs can be trusted to handle large amounts of currency without trusting a middle man, which in turn could provide lower fees.
With Ethereum we could make a decentralised version of kickstarter. All the money for each project could be collected and stored in a contract and is automatically distributed to the creator once the funding is complete or returned to investors if the funding fails. No one has to trust the creators as the contract cannot be altered by us or anyone else and therefore we don't need a 3rd party like Kickstarter to hold the money.
You can create contracts to automate almost anything, from wills to your children, to creating an uber or airbnb clone. Because there are no middlemen, the fees for transactions become much much lower and can be automated through Internet of Things devices such as a raspberry pi or an arduino. In the future you could pay for your airbnb room by how much electricity you use, instead of the landlord hiking up the price to account for all eventualities. If hooked up to hardware or sensors (which is what slock.it is doing) you could have an airbnb room that knows when a tenant has overstayed and automatically charges them for the extra hours and messages the cleaners to come 2 hours later.
These are just a few of the limitless possibilities that Ethereum brings to the table. Only the future knows what crazy DApps will become part of the Web 3.0.