The Possibilities with Blockchains
The heart of bitcoins is the blockchain, which could be considered as the worldwide ledger of value, being a distributed database that maintains a continuously growing list of tamper-proof data records.
Bitcoins never interested me sufficiently. I didn’t ever try to understand how the crypto-currency works. However, my view changed with the recent announcements related to the Linux Foundation’s Hyperledger Project, IBM’s contribution of code to the project, and Microsoft’s Bletchley project for blockchains that uses open source technologies. Blockchains are the distributed database created for and used by bitcoins.
A good place to learn about bitcoins and blockchains is the Khan Academy’s course on the subject at https://goo.gl/ sz3BG0. Another good article is by Scott Driscoll on ‘How Bitcoin Works Under the Hood’ at http://goo.gl/t67EXn.
A bitcoin blockchain
Basically, blockchain is a ledger that maintains all the transactions of bitcoins. The elegance of the blockchains lies in that they ensure that the transactions can be trusted without the need for a trusted authority. They use private/ public key pairs to ensure the following for a transaction: Only the owners of a bitcoin can spend it by using their private key. The sender digitally signs the transaction so that it cannot be forged or disowned. The money is transferred using the public key of the recipient, who can prove ownership by using her/his private key. Since account balances are not maintained, a transaction will consist of links to the previous transactions by which the bitcoins being spent were received. This transaction message is broadcast to the network of bitcoin nodes. Any node can refer to the chain of previous transactions to confirm that the spender does indeed own these bitcoins.
The blockchain has to ensure that the past transactions cannot be modified or deleted. All nodes of the network also have to agree on a common blockchain. The bitcoin system again relies on mathematics to ensure that it is almost impossible for any confirmed transaction to be altered or for someone to defraud another by spending the same bitcoin twice. The blockchain ensures this as follows: Transactions are grouped in blocks, which also contain a reference to the previous block. Transactions in a block are deemed as confirmed. Any node can create a block of recent unconfirmed transactions and send it across the network, provided it solves a crypto hash problem before any other node. Solving the puzzle requires both a very high processing power and the luck of a lottery. The nodes which do so are called the miners because if they succeed, they are allowed to create (mine) a fixed number of bitcoins as a reward. The bitcoin system adjusts the solution requirements so that some node in the network can solve the problem in 10 minutes. If, in the unlikely event, two nodes find a solution at the same time, whichever branch becomes longer will be the one accepted by the network. If any block is changed, all subsequent blocks become invalid and need to be recreated. Hence, unless one node has more processing power than the combined processing power of the rest of the network, it is highly improbable that any node can successfully replace a confirmed transaction.
Extending blockchains
As can be expected, open source makes it possible for people to extend the functionality of a system and find new unexpected uses for it.
One interesting use for blockchains that has been explored is in voting. Each voter gets a coin which can be spent on any candidate. In cases where the secrecy of the ballot is not an issue, this is a straightforward use case. Where secrecy is needed, anonymising software can be used to help ensure the voter’s identity is not revealed. Denmark’s Liberal Alliance has used blockchains for its internal elections. Each voter can maintain the voting results, and there is no need for a trusted election commission.
People have used bitcoin transactions to store data instead of transferring coins. For example, you could compute a hash of a document and store it in a blockchain. That can act as proof that the document being viewed has not been changed after that transaction. It could easily replace a notary. Dispute resolution could take minutes instead of, possibly, years.
Storing the hash of a document in a blockchain can also act as a proof in case of copyright claims.
While the bitcoin system is public and permissionless, companies are extending the system to add the need for permissions and create private blockchains. Banks are exploring the use of blockchains to make existing processes more efficient—for example, interbank transactions, trading of securities, money transfers, etc. Blockchain usage can enable inter-bank settlements without the need of a central bank.
One area in which consumers could benefit immensely is the transfer of money across countries. This is currently slow, and often involves hefty charges for both the sender and the recipient.
Settlements with credit cards take days. Credit card transactions add a significant cost to the merchants. Settlements with blockchains can be done in minutes. Reports state that the Reserve Bank of India is looking into the possibility of using blockchains to reduce the importance and use of cash in the Indian economy.
Any item that has a value can potentially be traded and its ownership maintained using blockchains. You can get an idea of the range of applications being explored in an article called ‘Let’s Talk Payments’ at https://goo.gl/ZF78do.
A number of countries are exploring the use of blockchains for land records and property transactions. This has immense social benefits as the existing processes are inefficient, incomplete and prone to fraud and corruption.
Time will tell whether blockchains live up to the current hype and expectations. There are open source alternatives to bitcoin blockchains that have additional capabilities, which you may explore, or you could even add to the efforts of groups building future blockchains.
The author has earned the right to do what interests him. You can find him online at http://sethanil.com and http://sethanil.blogspot.com, or you can reach him via email at anil@sethanil.com.