What’s the fuss about ?
A blockchain is nothing but a decentralized ledger, used to facilitate peer to peer verifiable and authentic transactions obviating the need of a third party regulatory authority to vouch for the authenticity of the transaction initiated. Elimination of a single regulatory authority provides efficiency in terms of time taken for resolution of funds, while the decentralization helps to optimize cost.
How did it become popular ?
The first practical application, was conceptualized by a Japanese Developer Satoshi Nakamoto in 2008, to create a cryptocurrency Bitcoin, one of the most popular and widely accepted cryptocurrency. The rise in popularity and success of Bitcoin, provided the necessary motivation to the technical community all around the world, to explore other practical applications of blockchain.
Anyone who wants to participate in exchange of any digital entity with another user. The identity of a user is maintained and authenticated using the traditional public key cryptography, which can be read here https://en.wikipedia.org/wiki/Cryptography.
A transaction is a simple exchange of any digital entity (monetary or a service) between two users.
Block & Blockchain
A block is a set of verified transactions. A block has a fixed size. A blockchain is a chain of blocks, as and when they are verified and mutually agreed by a majority nodes in the blockchain network. Deeper the block in a blockchain, the more credible it is.
A blockchain network is a network of nodes. Each node maintains its own copy of blockchain. To initiate a new transaction, the user needs to append the details of the source transaction in it, before submitting it to a blockchain network. A node on receiving the transaction, first verifies the identity of the sender, the validity of the transaction, then adds to the current the transaction pool, while broadcasting it to other nodes. Once the current pool is full, a new block with a set of transactions is created. The node defines the credibility of this new block by performing some mathematical computation on it. The result of the computation is appended to the block along with the hash of block before adding it to the local blockchain, and broadcasting it to other peer nodes in the network. Each peer will then verify the computation using the result on the received block, before adding to their respective blockchains. Once a block containing the transaction has achieved a depth of about 6-7 blocks, we assume the transaction has been completed and is irreversible.
Role of Regulatory Authority in Traditional Systems
Apart from the threat of forged identities, the digital nature of the transaction comes with another concern, that is the Double Spending Problem, which means that a person might want to transact an entity which he does not own. This problem was addressed by a regulatory authority in the traditional systems.
Blockchain solves these problems without any regulatory authority. The public key cryptography ensures the validity of identity of a user. Also, the blockchain requires the user to submit the last valid source transaction along with the new transaction, which ensure that the user is spending only what he actually owns.
Resistance of Blockchain to Attacks
One of attacks, that seems plausible, that an attacker might try to change a verified block, either in its blockchain, or before broadcasting a new block to its peers. This is handled by the mathematical computation done during the verification of the block. Since the result of the computation of block is appended to the it, the receiver can recompute on it and find out if any alteration is made to the block before transmitting.
Also since each block contains the hash of a previous block, making alterations to any block in a blockchain would lead to changing all the subsequent blocks, and performing all their computations again, making it highly expensive and infeasible. To achieve this an attacker will have to more number of nodes and a higher computation power than half of the entire network, which is practically impossible.
- Decentralized / No Single point of Failure: Since each node has its own copy of blockchain and can independently verify a transaction, there is no single point of failure.
- Saving Time & Cost: Since credibility is achieved by consensus among peer nodes and no regulatory authority is required, we save the time and cost of routing every transaction through a third party
- Immutability: The mathematical computation and the trace of previous block in any new block, disables the mutability of any record or transaction in the blockchain.
- Robustness & Security: The public key cryptography and resistance to attack make it a secure and a robust network
The host of features provided by blockchain come with the flexibility of having many other applications. Any system which needs to handle transactions and may or may not uses a regulatory authority, and requires high security and immutability can be moved to blockchain.
Infact, apart from transactions, we can have contracts, like a supply contract which can be executed between two peers. Let us look at some possible real life applications
- Distributed Database: Blockchain being a immutable distributed ledger, with no single point of failure can be used to implement a distributed database, if we can solve real time query handling.
- Maintenance of Land Records/Property Sale: The land records of a city, where immutability of old records is a major concern can be maintained in a blockchain, where the government can provide the genesis blocks containing initial registrations. Also a resident will be able to verify his ownership on his own, reducing the burden on government authorities.
- Maintenance of KYC records by Insurance/Banking Companies: KYC (Know Your Customer) records can be maintained on a blockchain, to be used by variety of agencies. An updated in record of an individual can be submitted as a transaction.
- Maintaining Health History: Health records of individuals can be maintained in a blockchain, helping them to track their health profile over time. This can in turn be used by hospitals and insurance companies.
- Smart Contracts: Contracts, where two parties agree to an actionable on fulfillment of terms by both the parties, can also be implemented using a blockchain. Once both parties have given their consent, the transaction will execute the actionable, like transfer of property or release of payment. A typical example of this would be a supply contract used for procurement.
Blockchain is one of the unchartered territory of the cryptographic world, which can be extended to a host of applications, given its robustness and generality.
The search is on …