Simple yet comprehensive explanation of blockchains
I’ve been writing about blockchain technology and Ethereum for a while on my blog. But as these technologies are becoming wider spread I’ve found it challenging to explain these concepts to people not familiar with them. There’s a few layers of technology that are important to understand.
Why do we want blockchains?
On today’s Internet there are middle-men everywhere. It’s not possible to do digital voting, sending messages or money without a middle-man. We want to cut out middle-men to make all transactions more private, save time as well as money. These middle-men can also be fraudulent and serve as a single point of failure.
I will attempt to explain each technology in just three short paragraphs — the problem statement, the solution and an optional rationale for the explanation itself.
1. What’s a digital signature?
Problem: Claiming ownership of a particular computer file is not easy. If I have a copy of your file it’d be impossible to prove who really is the original owner of that file without a central authority deciding for us.
Solution: A digital signature can prove ownership of something. The proof consist of two things – something secret and something public but unique. If digital signatures were like colours, a public signature would be a secret mix of colours. For example, Alice can claim ownership of all files signed with light green by reproducing the proof on a copy of the file with her secret formula of 2 spoons yellow and 1 spoon green. No one can reproduce her signature of light green, because only she knows the secret formula. It’s vital that she keeps it secret!
Rationale: In order to avoid signature fraud we have to assume that mixing exact colours is really difficult. Digital signatures work very much like this, but instead of mixing colours we use cryptographic private and public keys which is mixing mathematical functions and large prime numbers to create unique outcomes.
2. What’s a blockchain?
Problem: Keeping record of physical things in a ledger is reliable, because you can’t spend a physical thing twice. But as it turns out, that’s not as reliable for things that can be copied an infinite number of times, such as computer files. The ability to stop double-spending without a central authority is the main innovation with blockchains.
Solution: A blockchain is a series of digitally signed transactions. To explain what stops the double-spending we’ll go back to the colour analogy and imagine we’re at a market place. Alice and Bob has digital coins and a blockchain on their mobile phones. Alice is buying something from merchant A, and Bob from merchant B and they sign their transactions. These coloured transactions are put into a new block in their blockchains. This new block already contains a light blue signature (from previous transactions) and all three colours are mixed together to create a new light brown signature which is put into the new block for future transactions to mix with. What’s stopping Alice and Bob from copying and double-spending their digital coins is the fact that merchants will only accept transactions from someone’s blockchain where the color of the latest block is light brown.
Rationale: What keeps the chain together is the continuous mixing of colours. The links aren’t just relationships, but a function of both the relationship and the previous block’s content, and this is what makes a blockchain tamper-proof. If someone shows up with a block of a different colour it means they’ve tried to double-spend coins which would result in a different chain of colours. Blockchains work very much like this, but as with digital signatures, instead of mixing colours we mix numbers with cryptography.
3. What’s Ethereum?
Problem: “Simple” blockchains like Bitcoin, and the one we described above the market, are great but we want to do more than just simple transactions. We want to run more complicated applications and be able to run websites on the blockchain.
Solution: Ethereum let you run apps called smart contracts that execute exactly as programmed. The result of running an app is put into blocks and verified the same way as regular transactions. Apps and websites will have zero-downtime and be resilient to censorship because everyone runs their own copy of the blockchain. Ethereum uses these methods to handle things like user authentication, secure payments, social media, e-commerce and cloud storage. Ethereum is therefore a new kind of Internet!
Rationale: Ethereum is able to do all these things partly because of extensions to its blockchain that are called Swarm (cloud storage) and Whisper (messaging). This is fairly unique to Ethereum.