Ethereum is the world’s first programmable blockchain, meaning it is a decentralised computer.  If you are familiar with Bitcoin, and how it is using blockchain technology to decentralise currency from any single controlling authority, then you can easily understand that similar blockchain technology can be used to decentralise computer applications from any single computer.  In this article ill go through both the features of it and try to explain the technology at a simple level. 

The thing sets Ethereum apart from cryptocurrencies is that Ethereum is programmable, allowing developers to build applications that run on it as if it was a computer.

Being decentralised, offers an environment where developers can build applications without fear that the underlying platform and protocols that they are building on will compete with them or change the rules on them.  It also means that everyone has a level playing field to build their apps and services encouraging the kind of creativity by independent communities of developers that has in the past created the most important software projects.  If all this sounds familiar, it probably because this is how the internet started off.    

Dapps

What kind of apps can you build on the Ethereum network?  Applications build on the Ethereum network are called “dapps”, short for decentralised apps and all kinds of apps are possible.  Dapps can also create web apps that cannot be stopped since they don’t exist on any one computer that could possibly be turned off or censored.  Dapps can build decentralised organisations, or property that are governed collectively by the community.

Dapps are backed by and run as “smart contracts”.  This has nothing to do with actual legal contracts and are simply computer programs. 

Have you ever felt the compelling urge to put an indestructible vending machine on the internet.

Smart contracts

Have you ever used a vending machine to buy a snack?  Let’s think about how a vending machine works and what it is.  A vending machine is first of all a machine, it doesn’t require a shop assistant to operate.  It is completely automated once set up.  Second, it is capable of making decisions based on some rules that have been given to it.  If you put in some money, then press the correct buttons, it will give you the snack, as long as the rules that have been set are met i.e. you have given it enough money, it has the snack available to give to you.  It also decides which snack to give you depending on which buttons are pressed.  If some of these rules are not met, it will follow another set of rules, such as giving you your money back, or giving you change if you gave too much.  It also decides who is allowed to stock it and who the money goes to as it only opens for someone with the correct code/key

A vending machine and its programming are an example of a smart contract.    Now, what if once this vending machine was set up it could not be changed, was completely indestructible, immovable and not owned by anyone.  An app on the Ethereum network can be thought of in the same way as the programming in this vending machine.  It is an “immutable computer program that runs deterministically in the EVM context as part of the Ethereum network protocol”. 

Being immutable, means it cannot be changed or updated.  In our example, since the vending machine is indestructible and immovable you can’t change the price of a snack for example. As we mentioned before the rules cannot be changed on developers or users, the only way to change it is to create and deploy a new version.  If you wanted to charge more for your snacks, you would have to bring in a new vending machine and just remove the old one.  On Ethereum, there is a method to delete smart contracts

It is deterministic, so the rules will always be followed.  On our vending machine, pressing the same buttons with the same money provided will provide the same snack.  No one gets special treatment.

The “EVM context” is the limited context that the smart contract operates in.  It can only access its own state, the context of the transaction and some information about recent blocks.  Our vending machine doesn’t know what’s happening in the stock market or whether the snack supplier’s business is doing well or not.  It simply knows the amount of money it has been provided and the buttons that have been pushed for the current transaction and whether the snack has been delivered yet.

Who pays for all this?

The Ethereum network runs on fees .  Every transaction creates computations on the Ethereum network.  A fee is charged for each computation as well as for storage of information.  These fees are paid in a denomination called “gas”.  Gas is paid for in “Ether” (ETH), the native cryptocurrency for the network, by whoever sends the transaction.   Just like other cryptocurrencies, such as Bitcoin, Ether is decentralised, and scarce.  It can be used to make payments, and store value. 

A “Wei” is the smallest divisible unit of Ether

One Ether has 1018 Wei

A unit of Gas is measured in “gwei”.  1 gwei is 1,000,000,000 Wei

 

When everyone plays by the rules amazing things can happen

Why Ethereum?

A Decentralised and trustless and permissionless network provides a level playing field that fuels creativity.  The technology is still quite young and while there are a number of projects already available on the network, the true power of Ethereum has yet to be realised.  The technology is very exciting and will probably be used to solve problems that we have not even imagined yet.