Blockchain technology has come a long way since Satoshi Nakamoto published the Bitcoin white-paper. People have since realised the potential of this technology and have found use cases for blockchain in so many different fields. Although not all are feasible, the one area that blockchain technology will surely disrupt is the financial services industry.
Even without the use of blockchain, payment services like WeChat and Alipay in China are disrupting the financial service model. The young Chinese are now less reliant on banks for payments and financial services, and the banks around the world have started to take note.
Since the birth of blockchain was to power a decentralised currency system, people soon began exploring the potential of Blockchain in the banking and financial services industry. A lot of blockchain platforms have been developed each trying to accomplish a different mission. But banks and other financial institutions do not want the entire blockchain package. They need the immutability and consistency but only need to share the data to those involved in a transaction unlike blockchain that exposes a transaction to all the members in the chain.
Enter R3 Corda
Corda is a unique implementation of distributed ledger technology (DLT) that is the outcome of collaboration between financial institutions and technology partners. The community has come up with a solution that delivers on the promise of blockchain technology while addressing business needs for privacy. In short, Corda brings together some features of blockchain and provides a tailor made solution for the financial services industry.
Corda is not a true implementation of blockchain, it is not trying to be. It’s goal is to create a Distributed Ledger for storing and facilitating financial transactions. Facts recorded in the Corda Vault are authoritative in themselves, not representations of data or authority held elsewhere. Such facts are recorded and stored so they can provide proof of their status, such as ownership. Corda also stores full transaction histories, allowing for provenance and the independent verification of an assured history of a recorded item.
It is important to understand that Corda is not creating an entirely new way DLT method here, all the functionalities of Corda can be built using Hyperledger Fabric or other blockchain platform. Corda provides a packaged solution that directly meets the needs of enterprise blockchain users.
Key concepts of Corda :
The implementation of the ledger is what separates a blockchain and a distributed ledger. In Corda, there is no single record of data, instead each node maintains its own set of records — its own version of truth. As a result, each node only sees a subset of facts on the ledger, and no node is aware of all the transactions in the ledger. This implementation is very important as far as the financial services industry is concerned. Enterprises do not want all their financial data exposed to everyone, just the concerned parties of a deal.
Contracts put forward a set of conditions to ensure that a transaction is valid. If a transaction satisfies all the conditions set by a contract, it is said to be contractually valid. A transaction that is not contractually valid can never be committed to the ledger. The contracts are not expected to access any external data to ensure that transaction verification remains deterministic. In case the contract needs to access external data to verify a transaction, oracles facilitate the access of external data.
Another notable change bought by Corda is the inclusion of legal prose in contracts. Below is the explanation of legal prose found in the corda docs :
Each contract also refers to a legal prose document that states the rules governing the evolution of the state over time in a way that is compatible with traditional legal systems. This document can be relied upon in the case of legal disputes.
Corda networks use point-to-point messaging instead of a global broadcast, remember that we are dealing with a DLT, not a blockchain. This means that a ledger update requires network participants to specify exactly what information needs to be sent, to which peers and in what order.
Corda automates the ledger updation process using flows.
A flow is a sequence of steps that tells a node how to complete a specific ledger update. Once a given process has been captured in a flow and installed on the node as part of a CorDapp, the node’s owner can instruct the node to trigger the flow at any time.
Corda operates on two types of consensus : Validity Consensus and Uniqueness Consensus.
Validity Consensus is achieved by ensuring that all parties verify and ensure that the transaction is valid. Uniqueness consensus is achieved by notaries.
In a distributed ledger like Corda since transaction details are only shared with the participating nodes, to ensure that every transaction is unique and no double spends occur, we deploy notary services.
A notary is a network service that provides uniqueness consensus by attesting that, for a given transaction, it has not already signed other transactions that consumes any of the proposed transaction’s input states.
You can read more about Corda and its applications here.
The financial services industry is long due for a tech overhaul. Many banks still use software developed in the 80’s. The banks can no longer ignore the rise of alternate payment systems developing around them. Even without large scale blockchain adoption, banks are facing stiff competition from alternate payment services. As the concept of Blockchain and smart contracts mature, they may completely eliminate banking as we know it today.
Stanly is a Blockchain Engineer and researcher. You can follow him here.