You might already have heard or read about blockchain technology. I understand if you haven’t entirely grasped how it works exactly. I actually discovered it just a few weeks ago, and I must admit it takes some time to digest.
Blockchain is a distributed database designed to be resistant to modification of data. It enables peer-to-peer decentralized transaction record-keeping, where all participants broadcast their transactions to a shared public ledger — the blockchain. Once a record has been added to this ledger, it becomes almost unalterable.
Let’s explore some of the most important concepts behind this promising technology.
Trust and the Double-Spend Problem
Think about the money you’ve got in your wallet, say a 10 dollar bill. The bill in itself — the piece of paper — has no value. The bill enables you to buy something because the seller trusts the value that the bill represents. Not only the seller, but everyone trusts the value of the bill. This trust is supported by institutions such as banks and states.
Digital exchanges have brought up an issue that did not occur when dealing with physical coins. Spending digital money does not ensure the money is really spent, since it can be copied or altered. This is called the double-spend problem and can be prevented by the use of an online trusted third party.
Blockchain aims at resolving the double-spend problem without having to rely on a third party. The idea is also to provide a more efficient way to conduct such trades of value.
Public Key Cryptography and Disintermediation
Public Key Cryptography has made it possible to digitally sign data. Two parties willing to exchange something of value can generate a set of private and public keys. One party can write the transaction, encrypt it with his private key, and both can keep the record. The public key will enable the other to retrieve the message. The encryption acts as a way of signing the transaction and the need of a third party is removed.
The Blockchain enables multiple transactions of this kind between multiple parties. Every user involved in the system owns a copy of the ledger and have both the rights to read and write on it. Blockchain is thus called an open distributed ledger. Anyone can look into the book and verify that 2 people can indeed exchange things that they own, thus ensuring nothing is double spent.
The users of the blockchain (nodes in the peer-to-peer network) have the responsibility of ensuring its validity. Transactions are grouped together, to form blocks — you didn’t see that coming — and then encrypted via the use of a cryptographic hash function. Once a majority of users agrees on the validity of a block of transactions, this block gets added to the ledger with a reference to the previous block.
The Proof of Work
Having a distributed system where security is maintained by its users offers new challenges. How can you ensure that one malicious party will not try to gain a disproportionate influence in the peer-to-peer network by generating a lot of fake identities (committing a Sybil attack)? This is where Proof of Work, aka POW, comes into play. POW is currently the most common consensus mechanism for blockchain technologies.
The idea is that if you want to write into the blockchain, your computer will need to do some computational work. For the sake of simplicity, I’ll not go through the technical details. I can tell you that this process uses the interesting characteristics of the hash function I mentioned above.
What’s important in this system is its asymmetry. While it should be relatively hard, but feasible, to add something to the blockchain, verifying what’s been added should be easy. POW does not technically prevent someone from attacking the system; it acts as a deterrent. Indeed, the POW algorithm is built so that reaching consensus on a block will end up costing way more to the malicious party to run the computation than the possible earnings. Similarly, this computational work makes the chain almost unalterable. To modify a previous block, you also need to modify all the subsequent ones.
While solving one problem, POW brings up another one: if it costs you to contribute to the system to ensure that an exchange which has nothing to do with you gets correctly written, why should you bother?
A system of economic incentives has to complete the proof of work measure. Users contributing to the well-being of the system, spending CPU power, will be awarded some digital money called cryptocurrency. Parties engaged in trading provide a fee, and people engaged in securing the trades collect the fees.
The Blockchain technology is often associated with the Bitcoin digital money, as it is the most well-known blockchain. But there are other applications outside of registering bitcoin transactions. Even if they still use bitcoin as their currency, they pave the way for great innovations in many different domains.
Blockchain can also execute programs. It can make a transaction conditional. Ethereum uses this and offers an open-source platform to handle smart contracts.
Openbazaar offers a fee-free online marketplace similar to e-Bay. People can start their e-commerce business without having to pay for e-commerce tools.
Shocard created an identity management application to safely store and exchange identity data. Digital voting could also be an innovative application of the technology. In 2014, a political party in Denmark used it.
Finally, Blockchain may also have interesting applications in agriculture, ensuring provenance transparency and trustworthy, efficient supply chains!
I tried to remain concise in this article, because the subject is complex enough, but there are many other aspects of this technology worth discussing. For more information, I invite you to check the following links.
A Blockchain Demo (18 mn video)
This video aims at explaining in a very clear and simple way the technical aspects of the blockchain. What makes it unalterable? What’s a hash? What’s a block? How are they linked together? The site also provides the demo environment.
A Minimum Viable Blockchain (30 mn read)
I really enjoyed reading this article despite its length. It focuses on the core aspects of the blockchain by following the example of the trade of stamps between people. The author also tried to unlink the technology from the Bitcoin blockchain.
The Data Challenge of Santa (4 mn read)
In this short illustrated story, you follow Santa and his elves as they resolve the problem of keeping track of which humans behaved and which didn’t. While not completely accurate, it can help to understand how blockchain works.
Difference between Proof of Work and Proof of Stake (2 mn read)
The downside of POW is that it’s extremely inefficient in terms of energy. Ethereum has planned to move from POW to Proof of Stake consensus algorithm (POS).
A Short Guide to Blockchain Consensus Protocols (6mn read)
There are other consensus protocols than POW and POS. A good read to learn the pros, cons and limits of each protocol.
Blockchain hype might be going down right now, compared to last year. However, I believe that the technology has a huge potential and is still in its early days. I can’t wait to see how it will shape the future of service industries.
I’ll be glad to know what you think about Blockchain. Feel free to leave a comment and let’s discuss it.