Blockchains are incredibly popular nowadays. What is a blockchain? How do they work? What problems do they solve and how can they be used? Let’s take a closer look.
Like the name indicates, a blockchain is a chain of blocks that contain information. This technique was originally described in 1991 by a group of researchers and was originally intended to timestamp digital documents, making it impossible to backdate or tamper with them, almost like a virtual notary. It is also immutable, resilient, and secure. However, blockchain went unused until it was adopted by Satoshi Nakamoto in 2009 to create the digital cryptocurrency Bitcoin. Blockchain is like a complex type of Lego, and it needs to be adapted to fit specific business requirements. Various use cases make it difficult to have one simple architecture, so users need to create different versions of blockchain applications and architecture that will suit the individual needs of the business or industry.
A blockchain is a distributed, decentralized transaction ledger that is completely open to anyone. It also has an interesting property: Once a piece of data has been recorded inside a blockchain, it becomes very difficult to change it. So, how does that work?
Let’s take a close look at a block. Each block has three elements: Data, a “hash” (a unique code), and the hash of the previous block in the chain. Data stored inside depends on the type of the blockchain. For instance, the Bitcoin blockchain stores information about the transaction, like the sender, the receiver, and the number of coins. The block also has a hash, which can be compared to a unique fingerprint that identifies the block and its contents. Once a block is created, its hash is calculated, and any change inside the block will cause the hash to change. This makes hashes very useful when you want to detect changes to the block. If the fingerprint of the block changes, it is no longer the same block. This effectively creates a chain of blocks, and this technique makes the blockchain very secure.
Say we have an example of three blocks, and each block has a unique hash plus the hash address of the previous block. So, the second block points to the first, and third points to the second. The first block is special because it is the first one, so we call this block the genesis block. Let’s say you tamper with the second block; this causes the hash of the block to change as well. In turn, that will make the next block and all following blocks invalid because they no longer store the hash of the previous one. So, changing a single block will make all following blocks invalid.
But using hashes alone is not enough to prevent tampering. Computers these days are very fast and can calculate hundreds of thousands of hashes per second. You could effectively tamper with a block and recalculate all the hashes of other blocks of your blockchain to make it valid again. To mitigate this, blockchain has something called proof of work, which slows down creation of new blocks. In Bitcoins, it takes about 10 minutes to calculate a new proof of work and add a new block to the chain.
Proof of work makes it very hard to tamper with the blocks, because if you tamper with one block, you need to calculate the proof of work for all the blocks. The security comes from hashing and the proof of work.
But there’s one more way that a blockchain secures itself: by being distributed. Instead of using a central entity to manage the chain, blockchain uses a P2P (peer-to-peer) network of nodes, which everyone can join. When someone joins the network, they get a full copy of the blockchain, and the node can use this to verify that everything is still in order.
Let’s see what happens when someone creates a new block, and the new block is sent to everyone on the network. Each node verifies the block to make sure it has not been tampered with, and if everything checks out, each node adds this block to its blockchain. All nodes in this network create consensus on which blocks are valid and which ones are not. Blocks that are tampered with will be rejected by other nodes in the network, so to successfully tamper with the blockchain, you would need to tamper with all the blocks in it, redo the proof of work for all the blocks, and take control of more than 50 percent of the P2P network. Only then would your tampered block be accepted by everyone else. This is almost impossible to do.
Blockchains are also constantly evolving. One of the most recent developments is the creation of smart contracts, simple programs that are stored on the blockchain and can be used to automatically exchange coins based on certain conditions. The creation of blockchain technology piqued a lot of people’s interest. Soon others realized that this technology can be used for several other things, like verifying medical records, creating a digital notary or even collecting taxes. So, now you know what a blockchain is and how it works.
One of the advantages of blockchain is that it is understood to be 100 percent secure; however, in 2016 we saw the venture capital firm DAO hacked for $60 million.
Industry Applications of Blockchain
Blockchain use cases in the insurance industry could improve customer satisfaction by enabling automated claims processing, removing the middle men and third parties, and bringing all personal data together.
No one owns the blockchain; instead, we envisage blockchain being used as the foundation for many different, customizable off-the-shelf solutions from a vast number of vendors globally. Service providers such as Microsoft and Amazon AWS have already started to deploy Blockchain-as-a-Service.
One way blockchain can be applied within the energy sector is by tracking electricity production from the comfort of your home, enabling you to become a “prosumer.”
Another use case is e-mobility, where you can use the blockchain to share your car-ride with other commuters nearby. From a business perspective, blockchain can be used to store smart meter stats, allowing consumers to know how much money they have spent. Businesses can also use this information to forecast sales and revenue based on the data these smart readers are storing on the blockchain.
Blockchain is in the very early stages, and people need to understand clearly what the blockchain use cases are before mass adoption begins. Now, the speed of development is very slow because of knowledge gaps and limited talent in the blockchain industry. Studies have revealed that people are reluctant to embrace change and they often see it as a burden rather than an advantage. But, in today’s digital age, this is beginning to shift, and those willing to innovate could jump leaps and bounds ahead of their competitors.
Mohammed Zubair is an experienced software developer with a proven history of delivering results in the big data industry. He is skilled at building ETLs in Hadoop and programming in Golang and Java.