blockchain article header

What do I need to know about how blockchain works? Iain McPhail, Beehive CTO

January 30, 2017

Well you probably don’t need to know how it works internally, that’s the block and the chain bit, in the same way that you probably don’t need to know how a relational database works internally.

What you probably need to know is what a system built on a blockchain looks like and how that’s different from a system built using a normal computer system.

Before starting it is worth explaining that a blockchain is a database of whatever is of interest, a set of valid transactions that can be done to that data, and a set of computers that run all this.

Difference 1: It’s not a single computer

A blockchain system isn’t implemented on a single computer, it is a set of computers where each is a node in the blockchain network. The blockchain runs across all the nodes.

Difference 1

 

 

 

 

 

 

 

This means that a blockchain is highly resilient as its multiple nodes make it inherently fault tolerant and fully redundant.

Difference 2: All the data is everywhere

There is no single central copy of the data. Each and every node has a complete copy of all the data. This is a fully distributed database. In fact, each node also has all the historical copies of the data too. This means that all the data has multiple copies, as in replication, and there is no need for backups as no all previous copies are kept.
difference 2

Having all these multiple copies of data across all the nodes also means that it is very difficult for someone to hack or change the data as to do so they’d have to change all the copies on all the nodes. This is why they refer to the blockchain as an “immutable record of whatever” as it contains the complete set of data and can’t be changed.

One of the key strengths of a blockchain system is its claim of integrity and trustworthiness. Immutability is a major factor in supporting that claim.

 

Difference 3: Data is not updated across the network, but rather the same transactions are applied on each node

This is a subtle but important difference.

If I have a blockchain that is storing the ownership of diamonds and I have a transaction which allows the ownership of a diamond to change between two parties, then when I execute the transaction on my node to say transfer a specific diamond which is currently owned by John to Peter, the node sends out the same transaction to all the other nodes.

This is different than executing the transaction on my node and then updating the database directly across all the nodes to say that the specific diamond is now owned by Peter.

difference 3

By executing the transaction, rather than just updating the database, each node checks the current state, that the diamond is currently owned by John, executes the transfer of ownership, changing the ownership of the diamond to Peter, but it also then checks that the final state matches the final state from all the other nodes, that the diamond is now owned by Peter.

In effect each node applies the same transaction and then checks that the results are the same.

If I were to change my local node somehow to alter the transfer of ownership operation to make me the owner of all diamonds that were transferred irrespective of the intended new owner, then the transaction would be rejected as the other nodes would detect something amiss.

This further strengthens the integrity and trustworthiness claim as the operation of the block chain is cross-checked between all the nodes.

Difference 4: There is no single point of control

Each node operates independently. When an issue on the blockchain is detected where results don’t cross-check, there isn’t a single super node that arbitrates, instead the result that most of the nodes have is deemed to be correct and that is then agreed. This is termed decentralised consensus.

This perceived independence of any particular party or body is another factor in the belief that the blockchain operates honestly, has integrity, and is trustworthy. This of course is only true if indeed there is no overall controlling body and that the blockchain consists of a number of parties, each with their own node or set of nodes.

Decentralised Systems

The blockchain approach of an immutable record, agreement by consensus, and independence make it an ideal platform to implement decentralised systems, addressing the issues that some people have with existing proprietary centralised systems that are under the full control of a corporate or government organisation where the organisation can change rules without consultation and are exposed to fraud or hacking.

deentralised sysytems

Blockchain is currently heavily promoted on the basis that a blockchain solution is guaranteed to be more “true” and trustworthy because of the inherent nature of blockchain.

However, this is only true if it involves a number of parties, each of which are custodians of their own copy of the data and they play their part in ensuring integrity across the blockchain.

Comments are closed.