In 2017 the spirit of Bitcoin finally got out of the bottle. After years of silence, Bitcoin suddenly rose to almost $20,000 and everybody was a ‘professional crypto trader’. However, that party is over now.
Now is actually the time for business developers, entrepreneurs and curious individuals to jump on the blockchain train and be inspired by it. But such inspiration will require a better understanding of how the technology works exactly first. Unfortunately, most of the current explanations out there are either covered in complex technical jargon or are way too shallow and lack in-depth details, neither of them which leads to a clear understanding. So where to start?
A blockchain is a digital concept to store data. This data comes in blocks, so imagine blocks of digital data. These blocks are chained together, and this makes the data immutable. When a block of data is chained to the other blocks, its data can never be changed again. It will be publicly available to anyone who wants to see it ever again, in exactly the way it was once added to the blockchain.
That is quite revolutionary because it allows us to keep track records of pretty much anything we can think of (to name some: property rights, identities, money balances, medical records), without being at risk of someone tampering with those records. If I buy a house right now and add a photo of the property rights to a blockchain, I will always and forever be able to prove that I owned those rights at that point. Nobody can change that information if it is put on the blockchain. So, it is a way to save data and make it immutable. That sounds great, but the big question, of course, is: How are blocks chained together and why does that make the data immutable?
A DISTRIBUTED NETWORK
The benefit and need for a distributed network can be understood by the ‘if a tree falls in the forest’ thought experiment.
If a tree falls in a forest, with cameras to record its fall, we can be pretty certain that the tree fell. We have visual evidence, even if the particulars (why or how) may be unclear.
Much of the value of the bitcoin blockchain is that it is a large network where validators, like the cameras in the analogy, reach a consensus that they witnessed the same thing at the same time. Instead of cameras, they use mathematical verification.
In short, the size of the network is important to secure the network.
That is one of the bitcoin blockchain’s most attractive qualities — it is so large and has amassed so much computing power.
THE BITCOIN BLOCKCHAIN
The Bitcoin blockchain is the oldest blockchain in existence. The blocks on the Bitcoin blockchain are 1 MB of data each accounting for about 525,000 blocks. The data on the Bitcoin blockchain, however, only exists out of transaction data in regard to Bitcoin transactions. It is a giant track record of all the Bitcoin transactions that have ever occurred, all the way back to the very first Bitcoin transaction.
Imagine a bunch of blocks of transaction data, you can compare it to some stand-alone word documents. Document 1 would then chronologically describe the first transactions that have occurred up to 1 MB, whereafter the next transactions would be described in document 2 up to another MB, and so on. These documents are the blocks of data. These blocks are now being linked (aka chained) together. To do this, every block gets a unique (digital) signature that corresponds to exactly the string of data in that block. If anything inside a block changes, even just a single digit change, the block will get a new signature.
Now imagine if the data in block 1 is altered. Let’s say that the transaction between X and Y is altered and X now supposedly sent 500 Bitcoin to Y instead of 100 Bitcoin. The string of data in block 1 is now different, meaning the block also gets a new signature. The signature that corresponds with this new set of data is now different.
The new signature does not match the signature that was previously added to block 2 anymore. Block 1 and 2 are now no longer chained to each other. This indicates to other users of this blockchain that some data in block 1 has been altered, and because the blockchain should be immutable, they reject this change by shifting back to a previous record of the blockchain where all the blocks are still chained together. The only way that an alteration can stay undetected, is if all the blocks stay chained together.
A realist might challenge the tree falling in the forest thought experiment with the following question: Why would there be a million computers with cameras waiting to record whether a tree fell? In other words, how do you attract computing power to service the network to make it secure?
For open, public blockchains, this involves mining. Mining is built off a unique approach to an ancient question of economics — the tragedy of the commons.
With blockchains, by offering your computer processing power to service the network, there is a reward available for one of the computers. A person’s self-interest is being used to help service the public need.
With bitcoin, the goal of the protocol is to eliminate the possibility that the same bitcoin is used in separate transactions at the same time, in such a way that this would be difficult to detect.
This is how bitcoin seeks to act as gold, as property. Bitcoins and their base units (satoshis) must be unique to be owned and have value. To achieve this, the nodes serving the network create and maintain a history of transactions for each bitcoin by working to solve proof-of-work mathematical problems.
They basically vote with their CPU power, expressing their agreement about new blocks or rejecting invalid blocks. When a majority of the miners arrive at the same solution, they add a new block to the chain. This block is time stamped and can also contain data or messages.
HOW SMART CONTRACTS WORK
It’s worth noting that bitcoin was the first to support basic smart contracts in the sense that the network can transfer value from one person to another. The network of nodes will only validate transactions if certain conditions are met.
But, bitcoin is limited to the currency use case.
By contrast, Ethereum replaces bitcoin’s more restrictive language (a scripting language of a hundred or so scripts) and replaces it with a language that allows developers to write their own programs.
Ethereum allows developers to program their own smart contracts, or ‘autonomous agents’, as the Ethereum white paper calls them. The language is ‘Turing-complete’, meaning it supports a broader set of computational instructions.
SMART CONTRACTS CAN:
- Function as ‘multi-signature’ accounts, so that funds are spent only when a required percentage of people agree
- Manage agreements between users, say, if one buys insurance from the other
- Provide utility to other contracts (similar to how a software library works)
- Store information about an application, such as domain registration information or membership records.
STRENGTH IN NUMBERS
Extrapolating that last point, smart contracts are likely to need assistance from other smart contracts.
When someone places a simple bet on the temperature on a hot summer day, it might trigger a sequence of contracts under the hood.
One contract would use outside data to determine the weather, and another contract could settle the bet based on the information it received from the first contract when the conditions are met.
Running each contract requires ether transaction fees, which depend on the amount of computational power required.
Ethereum runs smart contract code when a user or another contract sends it a message with enough transaction fees. The Ethereum Virtual Machine then executes smart contracts in ‘bytecode’, or a series of ones and zeroes that can be read and interpreted by the network.