This is first in series of articles am planning on blockchain technology.
Two important news broke up over last couple of months in this space.
For starters, first news about Bitcoin was about security breach at Hong Kong-based exchange Bitfinex. It halted trading, withdrawals and deposits after discovering it. Market Participants are expected to lose around $65 MN (about 36% of their bitcoin deposits).
DAO is smart-contract system based on Ether blockchain framework. Hackers exploited flaw into DAO code and moved the money from parent contract to child contract. Funds were frozen eventually. Hard Fork (external fix, in easy terms) was applied and money eventually returned to original place.
Before we explore further, let us first understand about blockchain and crypto-currencies like Bitcoin/Ether.
Why Blockchain ?
If you want to transfer money from India to America, you instruct your bank to remit money to bank account in America. Your bank connects with RBI (Reserve Bank of India), then to Federal Reserve (central bank in US) . It eventually ends up in bank account in America, after series of hand-offs. It takes long to establish trust for each transaction and is painfully slow to execute and often costly. Matching ledger balances across each of these entities is complex since each having its own legacy databases.
How blockchain solves this problem ?
The blockchain is a secure transaction ledger database that is shared by all parties participating in an established, distributed network of computers.
So, it is really a central system for such transactions, thus saving on needless duplications. Entities participating in a transaction are not necessarily known to each other yet they exchange information with surety and no third-party validation is required (like RBI, US Fed in above example).
So, is it restricted only to transfer of money ? Obviously, not. Any digital assets can be transferred to another party without establishing trust.
Bitcoin (or any other Crypto-currencies) are just one form of digital assets which can be transferred over blockchain and traded across exchanges.
How Blockchain works ?
Consider block chain as public ledger which is used to record ‘transaction’.
Transaction is defined as transfer of information between two or more addresses within the network. For example, for bitcoins, every wallet has a public address to/from which bitcoins can be sent/received, and a private key to sign transactions.
When you initiate bitcoin transaction over blockchain, it registers the address from which output is originated. It is also signed with private key. Blockchain verifies public key and transfers it over network of communicating nodes (often called miners) to recipient. He uses private key to receive bitcoins. Legders, being central in nature, are updated instantly.
Please note that there is no central third-party managing it, so influencing it with policies (like US Fed revising rates) is not feasible. Public ledger is stored over distributed network, thus can not be compromised or hacked. There is also no concept of reconciliation among intermediary parties except sender and receiver.
Obviously, to manage public ledger of transaction requires enormous computing power. That is where distributed network pitch in . Miners lend their computing capacities to blockchain network in lieu of fees (often in bitcoins or any other crypto currencies).
There are obvious challenges in managing volume of transactions in decentralized ledger systems such as –
- How to define sequence of transactions – debit first, credit later ?
- How to synchronize balances for sender and receiver ?
- How to consistently update the ledgers so that it reflects correct information in any instant ?
- While blockchain by design can not be compromised, applications such as – smart contracts (DAO example) or exchanges (Bitfinex) are still prone to attacks. How transaction security is managed over blockchain applications ?
To conclude, here is simple example how blockchain will eventually change the way we understand TRUST.
Consider you want to go from Place A to Place B. You hire a cab with UBER , which directs driver to pick you up at your place. Please note that UBER has acted here as intermediary and established trust between you and driver. Driver drops you off at Place B and you pay UBER directly.
In blockchain scenario, you really do not have any third-party in between. You see driver nearby and connect with him. He picks you up from Place A and drops you at Place B. Blockchain application remotely monitors your GPS co-ordinates and confirms that you reached place B. It deducts bitcoins (or any currency) from your mobile wallet and pay it to the driver directly. Here, as a consumer, you are benefitted by no third-party charges (thus lower cost of service) , while still having trustworthy transaction.