What is blockchain?
By publishing the Bitcoin white paper in October 2008, and releasing the Bitcoin core software in January the following year, Satoshi Nakamoto achieved what had not been achieved before in the human history.
In this blog we explore what blockchain is, its value proposition and how it works as well as its risks and benefits. We also look at common blockchain consensus protocols, in particular proof of work (POW) and proof of stake (POS).
The pseudonymous inventor of Bitcoin made it possible, for the first time ever, for independent and unrelated persons or entities to maintain a data ledger — a common or shared truth — through consensus without even a central moderator.
The analogy of a ledger is important in understanding the blockchain and how it works, even though the more technical your understanding of the technology becomes the more the analogy turns into some kind of a misnomer.
Not to worry about the inaccuracies at this point though. At the basic level all that matters is accessibility to the concept. And hardly any other analogy is an easier entry than the ledger one.
Humans have maintained ledgers for thousands of years. Most of the first ever writings we know are ledgers on cave walls in the form of sticks used as records of debts members of ancient human societies owed one another.
The ledgers are basically what drives our societies. From banking, health care to public administration, nothing can function without methodical, secure and reliable storage of data that is accessible when it is needed.
Over millenniums we have improved how we build ledgers as well as secure and access data on them. Of course we’ve long moved from writing on cave walls to more sophisticated and efficient ways.
Up until three decades ago, the primary way of maintaining ledgers was on paper documents filed in cabinets and stored strong rooms. The access to information stored in this manner is cumbersome and time consuming. Furthermore it is localized as you had to be present at the point where a file is stored to access it.
Starting in the 1970s, and progressively in the 1990s, we have digitized our ledgers. That has made it easy to access data, and more importantly, from any part of the globe. Still, these files have had to be stored in centralized locations in mainframe computers and servers.
Digitization brought such problems as counterfeiting and double spend for monetary systems. To minimize the impact of fakes or prevent someone from sending the same piece of value to two or more, there needed to be a trusted third party authority to maintain the ledgers.
Businesses such as commercial banks have to invest a lot in the maintenance and security of the ledgers on their servers. And the architecture comes with a number of weaknesses including vulnerability. All an intruder needs to do is to gets access and they are able to make fraudulent transactions. Also those put in charge of the ledgers often have the opportunity and the means to manipulate the data they contain.
Let’s stick with the bank ledger for a moment, because that is where it is the easiest to draw the similarities and differences between a conventional ledger and the blockchain.
When you write someone a check, you are authorizing your bank (and their bank) to change the transaction ledgers they maintain so that they indicate that you own less what is on the check and the receiver owns more by the same margins.
Banks, independently and collectively, maintain ledgers that reflect how much cash their customers own and owe. It is the banks that have the sole power, responsibility and authority through their representatives — the tellers — to make these changes on the ledger.
The ledgers by commercial banks are thus centralized — they are maintained by central authorities and their editing can only be approved from a central point. The banks are the ones that guard against double spend.
What Satoshi Nakamoto did was to remove the central authority or the control point in the system that maintains the ledger. The Bitcoin founder made it possible that a community can collaborate and maintain a ledger in real time. And one of the critical problems they solved in that peer-to-peer architecture is double spend. Once you send a coin the community of users make you cease having control over it and thus you cannot send it another time.
In the case of bitcoin, its users form a network online using their computers. These computers are independent of each other but can communicate to one another in a peer-to-peer way — that is why the network is described as peer-to-peer.
Using the bitcoin core software that Satoshi Nakamoto wrote, and which other volunteer developers have helped maintain, these computers collaborate and find consensus on the status of a transaction ledger they maintain together.
Each computers on the network has a copy of a ledger. When you join the network as a full node you download the entire of this copy to your computer. Among the computers in the Bitcoin network are special ones known as miners.
It is the miners that have the responsibility and capacity to make changes on the ledger. When change is required, miners work together to update it at the same time. But there is a process of agreeing what should be added or the edits that should be made next. It is that process that is known as mining.
When you send bitcoins or any other cryptocurrency, you are requesting the miners to update the blockchain so that it reflects that you own less the amount you are sending and the recipient owns more by the same margin.
The mining process involves nodes on the network receiving transaction requests that users make. Each miner independently puts these transaction requests into a batch.
They then compete to hash the batch to find a specific value that is predefined by the protocol (Rules implemented by the core software). This part of the process consumes a lot of electric energy as the miners perform high level computations using central processing units (CPU), Graphics Processing Units (GPU) or Application-Specific Integrated Circuit (ASIC) chips.
The batch by the computer that is the first to find the value the competition is automatically accepted as the next official part of the ledger and all the others on the network add it to their copy of the ledger. While processing the hash consumes a lot of power, proofing it is correctly done through reversing is simple and easy. This type of mining is called proof of work (POW).
Because of the cost of mining associated with proof of work, other consensus protocols have been designed. The most known alternative of POW is Proof of Stake (POS).
Instead of miners using their computer power to compete, in the latter, they use the coins the own as stake to mine. They put value in a special wallet where it is locked for the period of mining. They regain access to these coins when they exit the mining process. They can lose part or the entire amount staked if the attempt to break the rules.
Bitcoin and Ethereum use of proof of work as their consensus mechanism. Ethereum is however planning to shift to a variation of proof of stake known as Casper by 2022. Blockchains that use proof of stake include EOS, DASH and NEO.
In the case of Bitcoin, the mining process repeats itself after every ten minutes. The batch of transactions added to the ledger every ten minutes is known as a block.
To make the ledger tamper proof, each block has an ID derived from among others the hash and ID of the block that came before it. The blocks on the ledger form a block chain — hence the term blockchain.
That means to make changes in a block you need to change its ID and the ID of the block that came before it, in which case you have to repeat the process to the first block — the genesis block — on the chain.
For blockchains using proof of work that means spending a lot of computer power. For miners on proof of stake blockchain it means a risk of losing their stake as punishment.
In most blockchains miners are awarded with new coins released to circulation as an incentive for them to maintain the ledger.
Over time developers have discovered that blockchains can do more than just maintain transaction records. They can be used to execute operations and processes. In particular, they can execute code or program and thus can serve in the place of a backend server as a virtual machine. In this role they provide several benefits.
One of those is that they are not easy to hack. In order to compromise a blockchain one needs to attack and control each computer or miner on the network. This is a really toll order to achieve. And that is why the Bitcoin blockchain has been around for close to a decade but none has been able to hack it.
The blockchain also guarantees all time uptime since it is a network that provides the service and not a centralized server. It is only possible to halt the operations if all the nodes in the network are shut down. In the case of a server you only have one computer, and maybe its backup, to shut down.
Applications that run on top of the blockchain are known as decentralized applications (dApps) and they range from money, websites to smart contracts.
One of the risks involved with blockchain include the software upgrade, scaling or improvement challenge. For the core software or the protocol it implements to be changed, the entire community of users must come to consensus on every specific step. This is very difficult to achieve in a community with members who have diverse interests, goals and philosophical persuasions.
Disagreements on how to upgrade or scale the blockchain protocol result in contentious forks. These sometimes lead to the splitting of the blockchain into two independent branches. One of the most known contentious Bitcoin hard fork happened in August 2017 and it resulted into the splitting of Bitcoin Cash from Bitcoin.
The other happened in July 2016 when the Ethereum community failed to agree on how to fix a bug in a smart contract application running on it known as a decentralized anonymous organization (DAO). The contentious hard fork led to the birth of Ethereum Classic. The splitting of a blockchain might negatively affect its value — in particular the value of its native currency.