Blockchain is being talked in the same breath as electricity and internet, which is no small feat. Both electricity and internet have proven themselves to be invisible yet beautiful technologies which continue to create immense value throughout the world,
even though most people do not completely understand as to how they exactly work. Blockchain too is starting to create value. Well, the value of Blockchain enabled bitcoin became almost equal to 1 ounce of gold in the first week of March 2017. Coincidentally,
both gold and bitcoin reserves are capped (about 21 million bitcoins in total) and require mining. The objective of this blog is to mine deeper into the makings of Blockchain technology in a block by block manner, and understand what makes this technology
A type of distributed ledger database which is constructed by clubbing various transactions into blocks. These blocks are maintained in chronological fashion while making use of security mechanisms which help in protection against fraudulent attacks. This
fool-proof mechanism allows for conducting various business services including financial transactions. Traditionally, financial transaction enforcement services have been provided by government agencies or specialised legal entities. One of the biggest problem
with these entities is the intermediary fees for affecting transactions. With blockchain, it becomes possible to achieve decentralisation or autonomy.
In comparison to traditional database technology, a distributed ledger does not have a central administrator (like clearing house) and neither does it have a central data storage. A distributed ledger is a digital record which creates an untraceable network.
This network contains senders and receivers (also known as nodes) who are identified by pseudonyms (or public keys) and all communications are made in encrypted format. The storage of ledger is replicated across all nodes.
Members or systems of a network or a server that holds a replicated copy of the distributed ledger and can have varying roles; to issue, verify, receive, inform etc. A node can also be a VM instance. The nodes are responsible for reading / writing / validating
transactions. After performing the required action on their copy of the ledger, a node passes transaction to other nodes.
In Blockchain technology, a transaction can only be added and cannot be deleted. Multiple transactions are added into a 'block' and the block is then broadcasted. Such blocks are maintained in a chronological order. Data parameters associated with each transaction
are signed with digital signature of initiator. For example, if A wishes to transfer X units of money to B, a message "A gives X units of money to B", signed by A, is broadcasted to all nodes. The identities of A and B as well as amount details can remain
hidden. A blockchain transaction can best be correlated with stock exchange block deals wherein everyone knows that a large deal has happened but the buyer and seller details are not made available.
As part of broadcast process, an initiator sends transaction to a blockchain connected node which knows how to validate transaction. Invalid transactions are discarded whereas valid transactions are passed on to more than 1 nodes so as to arrive at a consensus.
Without a central regulator, awareness of all transactions performed so far in a blockchain can only be established when transactions are publicly announced / broadcasted. In this way, everyone has a record of everyone's asset ownership which eliminates the
problem of counterfeit transactions and invalid transactions. In above example, validating nodes will check if A has more than amount X to perform the transaction.
Once a transaction is broadcasted, all nodes start updating their respective versions of ledger. To arrive at the next common distributed ledger version, a consensus is needed from all nodes. Consensus is basically an agreed mathematical mechanism which
requires adequate computational power. If two nodes broadcast different versions of the next ledger simultaneously, some nodes may receive one or the other version first. In that case, nodes work on the first received version but save the other branch as well.
The tie will be broken by the branch which becomes longer. All nodes would then switch to the longer branch and discard the other branches.
This eliminates problem of double-spending. In use-cases like bitcoin, a node does not know account balances of others (or even of itself for that matter). However, the chain of transactions allows for validating if sender has sufficient balance to perform
next transaction. This is because the chain holds information about number of coins received and sent by each party. For example, if A has only $10 to spend, and simultaneously creates two transactions for 8 and 4 each, only 1 will be added to chain (after
consensus) while the other will be discarded as invalid transaction. Once consensus is achieved by all nodes, the block of transactions (one block can have multiple) is timestamped and linked to blockchain in a chronological fashion (multiple transactions
occurring at same time are clubbed into 1 block)
The method of consensus is the heart of blockchain technology. There can be several methods in which consensus can be established. One such method is called 'proof of work'. The consensus methods continue to evolve, thereby bringing more varieties in blockchain
Nodes need to repeatedly run algorithms to validate transactions of system's other participants. While there is no central authority but main assumption is that 'honest' nodes control majority of computing power. The majority decision is represented by the
longest chain, which has the greatest proof-of-work effort invested in it. There always remains a high probability for majority of CPU power being controlled by honest nodes (higher CPU power leads to high costs). Thus, the honest nodes will be able to grow
their version of chain at fastest speed and outperform any other chains. To modify a past block, an attacker would have to redo the proof-of-work of the block and all blocks after it (which would need a lot of computational power) and then catch up with and
surpass the work of the honest nodes. The probability of a slower attacker catching up diminishes exponentially as subsequent blocks are added.
Similarly, there have been other consensus ledger methods like proof-of-stake which reduce cost of the system, optimise computing power while mitigating potential network centralization at the same time.
#other consensus ledger methods
Proof-of-work algorithms consume a large time (even upto 10 minutes) to process a transaction, which is a very slow performance speed by financial institution standards. The main reason is mandatory computing by almost all nodes. Other consensus ledger systems
like Ripple creates sub networks, wherein each participating server maintains unique node lists (UNLs). A sub network’s consensus is achieved when 80% or more of nodes within a UNL agree to validate a transaction. Ripple too works with anonymous nodes. However,
there are other permissioned systems also which work with identified nodes
A permissioned system must have legally known nodes identified to validate transactions. In such systems, a business need which requires transactions between only 2 counterparties can also be supported. The parties themselves can validate transactions without
involving others in the ledger, unless they choose to permit. Of course, all participants would need to agree towards a set of rules. The data would remain hashed and recorded in a controlled environment. Another variant in such systems is leader based system
wherein nodes temporarily elect one node to be a leader, which is then responsible for validating transactions. Permissioned systems hold advantage over public systems (wherein anyone can join the system at will), especially for those use-cases which require
blacklist / KYC / AML checks.
Like human fingerprints, hash-functions are one way to verify that the fingerprint matches a specific person, but without the ability to create the person from the fingerprint. Equivalently, it is infeasible to generate the original transaction from its
hash value. Other than transactions, hashing can also be done on documents, files or even a VM image. This empowers blockchain in providing support to a variety of business use cases. It is this generation of new hash value where adequate computational power
Each successive transaction in a blockchain requires digitally signing a hash of 3 components - previous block plus current transaction to be performed plus public key (or a random number) of the next owner. Hash values act like a pointer in blockchain,
allowing for sequential linking (you may correlate this aspect with the flow of this blog, wherein the heading of each topic is like hash value of previous block, content is the transaction and underlined word is public key of receiver). Hashing guarantees
that no block can be randomly removed or replaced in the blockchain.
A valid digital signature gives a recipient with key reason to believe that the message was originated from a known sender (authentication), that the sender cannot deny transmission of message (non-repudiation), and that the message was not modified in transit
(integrity). Unlike a real-life handwritten signature, it is impossible for anyone else to copy and use a digital signature for another transaction, because every digital signature is unique to each transaction.
A digital signature works by making use of 2 keys, a private key (unique to each initiator) and a public key (using which others can verify). In blockchain, public key is nothing but the address of recipient whereas a private key is utilised as follows:
A digital Signature = math function (transaction, private key)
(This is performed by sender)
Math function (digital signature, public key) = sender's authentication
(This is performed by other nodes)
The possible number of key combinations are so large that it is infeasible to randomly arrive at a correct combination. With hashing and signatures, each block in itself becomes a secure entity and hence the aspect of trust (especially necessary in case
of financial institution owned centralised ledgers) is not required. However, with growing time, the number of blocks keep rising and may cause data storage problem. Thus, there is a need for purging.
Once the latest transaction becomes very old and gets appended in lower layers of blockchain, that transaction as well as any transactions before it can be removed to save disk space. To facilitate this without breaking the block's hash, transactions are
hashed in a Hash Tree. Nodes further up in the tree are the hashes of their respective children. Old blocks can then be compacted by stubbing off branches of the tree. The interior hashes do not need to be stored. Tree approach optimises data storage problem
to an extent. However, there are other challenges associated with blockchain as well.
- Lack of ecosystem or network of businesses with blockchain applications
- Areas of conflict with central institutions
However, to perform a fair assessment, one should also look at advantages with blockchain technology
For reasons and process of blockchain explained above, blockchain's salient advantages are as follows:
- Decentralisation, hence higher speed and lower costs
- Security as well as privacy
- Immutable audit trail
The advantages will continue to evolve, as the technology grows and improves further.
There has always been a need for removing uncertainties as well as simplification of financial transactions. Legal institutions today help in addressing these needs by acting as middlemen. With changing times, these middlemen went online and adopted latest
technologies. But with blockchain, now there is a technology wherein everyone in the supply chain is on the same platform leading to high transparency and genuineness. Now no one needs to know even the name of the counterparty because each party can monitor
and validate the transaction for itself. With blockchain, there is no uncertainty and hence no need of trustworthy middlemen.
Blockchain is not an invention which has happened all of a sudden. In fact, it is an amalgamation of various technologies and thought processes dating back till 1962 when the idea of "on distributed communications network" was conceptualised. Subsequent
years witnessed evolution of security methods like SHA, digital signatures and distributed computing / P2P innovations like Napster, Bit torrent and PayPal.
Blockchain continues to evolve with various use cases such as identity management, sensitive customer data protection, payments audit trail maintenance, content management (contracts, documents, forms, invoices that link end transactions with client) and
even Internet of Things
Given the ongoing challenges, advantages and evolution, the adoption of blockchain in a business organisation should be made on a sound evaluation.
To decide if blockchain should be adopted or not, organisation should assess the following
- Does existing business process lifecycle and workflow require more speed / security / trust?
- Number of parties involved in the business use case and the required degree of confidentiality
- Skillset of employees and organizational changes
- Regulatory approvals especially if there is a central authority
- Implementation cost and future readiness
If blockchain is good-to-go from a business standpoint, a conclusion on type of 'consensus methodology' should also be evaluated keeping these factors in consideration
- Are participants of use case identified in advance?
- Permission management (read / write / validate) and access rights configurability
- Number of nodes required to validate a transaction which can be as low as 1 or 'majority' or 'all nodes'
- Security aspects like usage of public / private key infrastructure
- Performance aspects like throughput, volume, latency and number of fields per transaction
- Extent of data encryption facility
The last Oscar award ceremony witnessed a goof-up in which the award for best blockbuster motion picture was given to another movie. While the mistake was rectified later, the highlight (or shall I say moonlight) of the show became the embarrassing mistake
more than anything else. Such mistakes and rectifications keep occurring in the real world, especially in financial services. When all stakeholders take an aligned stand for moving to a fool-proof, reliable and autonomous service, the adoption rate of blockchain
is all set to soar. Meanwhile, a lot of experiments are happening even now. Many of them have been elaborated by my friend Pradeep in his blog