What if I told you:
Blockchain doesn’t exist.
Or that blockchain has two totally different meanings.
Or that blockchain is a name given to three totally different things.
Hear me out.
A blockchain is a very inefficient database most famously implemented as one of several parts required for the Bitcoin jigsaw puzzle to work.
Bitcoin technology is the technology behind “blockchain”, rather than blockchain technology being the technology behind Bitcoin.
“Blockchain technology” is completely separate from “a blockchain” or “the blockchain”.
Confused? From a technical standpoint, there are nuances in these different terms. In this article, you’ll learn what each term really means and gain a deeper understanding of how blockchain works.
Let’s Start With “Blockchain Technology”
Blockchain technology simply means a decentralised trustless network that works by having a native asset, a decentralised ledger and some algorithms based around a game theory model that allows everyone on the network to reach consensus.
What Is “A Blockchain”?
Imagine you have an excel spreadsheet. Each row on the spreadsheet has a few columns and one of these columns holds a “transaction”.
Now, if each row has a column that contains a unique fingerprint (a hash) of all the data in that row plus the hash of all the data in the previous row, then these rows would be chained together forming what we call a “hash chain”.
A user could run a software that checks these hashes. It would hash chain each row together and see if all the hashes are valid. If any hash is invalid, the user will know that someone has forged a row at a later date or time (after the chain was originally created).
A hash chain can be very useful but isn’t anything exciting. So how does a hash chain relate to “a blockchain”?
Let’s imagine that instead of rows in a spreadsheet, you have multiple spreadsheets and each spreadsheet is full of multiple transactions. We’ll call this combined group of transactions a “block of transactions”.
If you create a single hash of all the data in one spreadsheet, then a hash of all the data in another spreadsheet, and then a hash of each spreadsheet’s hashes, you would have a spreadsheet chain.
Remember, these spreadsheets contain a block of transactions so this is effectively a simple blockchain.
So What Is Then Meant By “Blockchain”?
Well, originally, “blockchain” was a way for big incumbent corporations to sound like they’re being disruptive without having to use a disruptive sounding name like “cryptocurrency” or “decentralized ledger”.
Saying “we’re doing blockchain” made investors take note. Today, “blockchain” has become so widespread that it basically means “an open access computer network built around a decentralised ledger”.
We’re starting to see “blockchain” that isn’t even using “a blockchain” but instead other storage technology. For example, there’s DAG or Directed Acyclic Graph (a whole new topic of discussion for a later time).
When many incumbents say “blockchain”, they actually mean “a shared database, shared with only those we trust”. This is nothing new; distributed databases have been around for at least a decade before Bitcoin.
Where Is The Magic In “Blockchain”?
The magic is not in the data storage technology, but how untrusted users of the network can all reach consensus.
Here’s an example. With “blockchain”, everyone agrees that Alice paid Bob, and Bob only. With her transaction, there is proof that she hasn’t double spent (e.g. sent $5 to Bob and sent the exact same $5 to John at the exact same time).
The double spending problem is the main breakthrough that Bitcoin made.
This transaction information is stored in “a blockchain” tied to the network. Any user of the network can download a copy of this blockchain if they choose to do so, and run software that validates transactions as they come in across the network.
This software will reject any double spending attempts. If the transaction is valid, the software will update ownership of the coins (or other asset) in the blockchain.
When a user makes a transaction with “blockchain”, what their software is actually doing is the following:
The software (the user’s wallet) creates a script. This script is written in a computer language that all the computers on the network can process and validate. The script is signed with a private key, and users of the network can prove ownership of a blockchain asset by proving they own the private key.
Once ownership is proved using a digital signature, the network can then move forward with processing the script. The simplest scripts will simply say “give $5 from Alice to Bob”. The computers on the network will then validate that Alice has an entry in the blockchain; if it’s valid, the whole network will agree to update Alice’s account to have $5 less and Bob’s account to have $5 more.
Interesting fact: A common misconception is “Bitcoin doesn’t do contracts”. It does! A script is a contract. When you hear the term “smart contract”, it’s a marketing term for a transaction script.
The big problem with “blockchain” is solving the double spending problem — what I’ve explained above doesn’t solve this.
What if two computers on different sides of the world both receive a different script from Alice at the same time? One script says “give Bob $5” and another script says “give Susan $5” — how does the network work out consensus?
You see, the magic of “blockchain” isn’t “a blockchain”; it’s Proof of Work.
Proof of Work is a computer algorithm that blockchain networks use to ensure the network remains decentralised, and to prevent a computer on the network from building its own version of history.
Here’s a very simple way to think of Proof of Work.
Imagine the network runs a lottery system, and every few minutes the network will randomly choose a winning computer on the network. The network says “This computer here is the winner!”
Then the network says to the winning computer, “Give every other computer your latest block of valid transactions along with your winning lottery ticket. If you can prove you have the winning lottery ticket, all of the other computers will then check that the block you’ve given contains only valid transactions. If so, we’ll update our blockchain to have your newly created block ,and in return we’ll give you a reward.”
This is cryptocurrency mining simplified. By only allowing one user to provide a block of transactions, we can ensure that Alice’s double spend attempt only goes into one block as a single entry.
If different computers are building a different block of transactions and Alice currently has several double spend transactions floating around the network, Alice can only ultimately make a single spend. This is due to the entire network updating their copy of the blockchain all at once to contain the latest new block, and ignoring anything that doesn’t align with this block.
Everyone now has the latest copy of the blockchain, and any new block created has to be hash chained on top of the current blockchain.
What is “The Blockchain”?
Generally, this term is often assigned to the first blockchain – the Bitcoin blockchain. However, today with marketing speak, this can often mean anything.