Before I move forward to explain the challenges of the blockchain let me just give you a quick idea about what Blockchain is and what the fuss is about it? I wont go in detail.
WHAT IS IT?
- A blockchain is a distributed database, meaning that the storage devices for the database are not all connected to a common processor. It is decentralized. It maintains a growing list of ordered records, called blocks. Each block has a timestamp and a link to a previous block. It uses a P2P protocol meaning the two person involved in the transaction are directly dealing without any 3rd party interference(ofcourse at the backend lot of computations are there but it doesn’t bother us). A chain of block becomes blockchain.
- So the question is since it is a database so what can it store? Well it can be used to store anything that we think is of value. One implementation is BITCOINS. In China, IBM has partnered with Walmart to put pork on blockchains in order to keep a check on its movement and quality.
- A database that can store anything? Whats big deal about it? Well What if I say that hacking it, wont be easy. Now that you are reading this with even more concentration now, let me tell you that when a new block is added to the existing blockchain, before it is added, the system make sure that it conforms to blockchain by passing it through a series of mathematical checks. So that consistency is maintained and the problem of double spending is also solved. Since it is a decentralized method. So a hacker cant just intrude one site and play around with it, because that would make the entire blockchain invalid and that tampering with the record will be immediately visible.
- Cryptography ensures that users can only edit the parts of the blockchain that they “own” by possessing the private keys necessary to write to the file. It also ensures that everyone’s copy of the distributed blockchain is kept in synch.
Imagine a digital medical record: each entry is a block. It has a timestamp, the date and time when the record was created. And by design, that entry cannot be changed retroactively, because we want the record of diagnosis, treatment, etc. to be clear and unmodified. Only the doctor, who has one private key, and the patient, who has the other, can access the information, and then information is only shared when one of those users shares his or her private key with a third party — say, a hospital or specialist. This describes a blockchain for that medical database.
APPLICATIONS IN REAL WORLD
- Healthcare – The blockchain can be used to create a type of universal record with a timestamp, a library that enables data retrieval across diverse databases. This will become exceedingly valuable as precision medicine and the explosion of sensors, wearables and mHealth apps proceeds. The current health systems and the legacy health IT players quite simply are not well designed to manage the volume and types of data that are being generated today.
- Finance – The most mature plans for using blockchains aim to cut costs for financial institutions in tasks such as settling transactions involving bonds or other financial instruments. All the back office stuff can be simpler and more reliable, and they can save a tremendous amount of money.
- Security – With the help of concept of distributed contracts, transactions can be made more secure for users by removing the concept of middlemen and making it P2P. A distributed contract is a method of using Bitcoin to form agreements with people via the block chain. Contracts don’t make anything possible that was previously impossible, but rather, they allow you to solve common problems in a way that minimizes trust. Minimal trust often makes things more convenient by allowing human judgements to be taken out of the loop, thus allowing complete automation.
CHALLENGES FOR BLOCKCHAIN
Bitcoin is a digital currency implementation of Blockchains. So I will be using the words bitcoins and blockchains interchangeably as per the usage.
- User anonymity
- Although every blockchain consultant out their says bitcoin is anonymous, they either don’t know what they are talking about or are misleading us. Bitcoin has a public ledger that indicates how much money everyone has. Anyone can look at this ledger and see what the balance of a specific address is. These addresses are pseudononymous — but once I transact with someone, I can reasonably guess which address is theirs — and then reasonably guess how much money they have! This is bad! If the size of blockchain is less, then it will be easy to crack that person and not a lot of computation will be required but if the size of blockchains is very large, then a lot of computation will be required. So logically it is possible to crack the anonymity of the person.
- We need to encrypt the amounts in a transaction to make Bitcoin much more private. In an ideal world, a third party should be able to see a transaction on the network and look at a mathematical proof that the encrypted amounts are valid on the network — that is the proof tells us the user didn’t create money out of thin air —without seeing the original amounts themselves.
- Customer protection
- A transaction on blockchain cannot be reversed. The only way to reverse the transaction is the receiver party to actually do the oppsosite. Think of it like a cash dealing with a person. Once you have handed over the cash to person, then its theirs. But while doing transaction with cash, we have a moderator like a bank or a person. But there is no such concept in blockchains(Bitcoin).
- So what do you do if the transaction becomes sour? You cant do anything in blockchain
- We need a moderator like a bank in a cash transaction or a third person which will be the part of that transaction block. A multisignature.
- Blockchain size
- We know that the size of the block chain is only going to increase and it will increase in exponential manner since each new block will record the history of blockchain as well. So are we going to run out of memory or feasibility in terms of hardware cost.
- One more thing to note that if too many small value transactions start taking place then the size of blockchain will increase three fold and we might see unprecedented increase in the cost of the whole blockchain setup against the monetory value that the entire blockchain can provide to the company.
- We can only hope that with advancement in technology, the hardware cost for storing is going to decrease and the size of the chip will also decrease. Both of them must be decreased in a faster rate as compared to the increasing rate of blockchain size in order for the overall thing to be feasible.(Several other factors I have overlooked here.)
- We can set a minimum transaction value but that will be against the idea of blockchains. So other solution could be giving precedence to higher value transaction and lower value transaction could be grouped together and added. If every 10 minutes a block is added on the blockchain then for the lower value transaction, we could increase the time to lets say 20 minutes. But this is not a good fix. Is it?
- Transaction time
- Lets say we have a very large blockchain size, now if a new transaction is going to happen and join the blockchain, it has to satisfy the already available blockchain, so verifying whether the transaction is valid or not against the billions of blocks already there, might be slow depending on the backend computing algorithm and the hardware capabilities.
- Again we can say that with the advancement in technology, the hardware cost will be cheaper and higher end processor will be available for cheaper rates.
- Illegal data
- If a blockchain can store any kind of data, then anybody can post anything in it and that illegal data will be propagated. Not sure who will be responsible for regulating it. Entire blockchain will become illegal. And since every transaction is irreversible, then whole transaction has to become invalid.
- Some internal method must be there to keep a check on that or if the illegal data is added to the blockchain then the concerned person must be punished, but wait a second! How do we do that? We know the whole concept is all about anonymity.