The R3 consortium has been attracting a lot of attention as of late. This bank-oriented blockchain research think tank recently unveiled Corda, their in-house distributed ledger software. The group also published a non-technical whitepaper for the Corda initiative.
The first public demonstration of the Corda distributed ledger occurred in April of 2016. Ever since that event, the R3 consortium has been working hard on improving the code base. Several proof-of-concept and prototypes have been tested, allowing the team to gain valuable insights as to what the technology is capable of.
Understanding The Corda Blockchain Concept
As many people are well aware, the banking sector is in dire need of innovation. Disruptive technologies will play a critical role in this process. Particularly costs and efficiency can be improved significantly by embracing the blockchain. However, creating a unified solution is a difficult task, as every institution uses its own set of ledgers to record transactions.
This is where the Corda distributed ledger comes into the picture. This initiative, created by some of the world’s leading banks, will create new standards accessible to all participants and is focued toward reuglated financial entities. Introducing a new shared platform to record financial events and processing business logic, Corda will be authoritative for all agreements between firms recorded on it.
The Corda platform also offers smart contracts, as stated in their whitepaper,
Our smart contract is an agreement whose execution is both automatable by computer code working with human input and control, and whose rights and obligations, as expressed in legal prose, are legally enforceable.
In the Bitcoin world, consensus is achieved through a process known as mining, which requires specific computer hardware. But Corda will do things a bit differently, as two different aspects of consensus are introduced.
First of all, transaction validity needs to be achieved. Proposed update transactions are deemed valid by checking the associated smart contract code runs successfully. Additionally, all transactions will need to have all of the required signatures. Transfers referring to this transaction will also need to be valid before validity is reached.
Secondly, there needs to be transaction uniqueness, to avoid double-spending. Input stats for every transaction will be verified, to make sure no similar transaction exists. All parties who run the same contract code can agree on transaction validity. Consensus over the uniqueness of every transfer requires a predetermined observer, which will need to be independent.
While this solution removes the proof-of-work aspect entirely it seems to hinge on human intervention as far as transaction uniqueness is concerned. Despite this potential drawbacks, the uniqueness services will not see the full contents of any transaction. This will improve privacy and scalability, according to the R3 developers.
Comparison To Bitcoin, Ethereum
Comparing this solution to Bitcoin, there are some similarities. Immutable states are consumed and created by every new transaction. There are multiple inputs and outputs for every transaction as well. The big difference is the involved of smart contracts to verify transactions, rather than relying on decentralized consensus.
That said, Bitcoin transactions can hold very little data. In most cases, a transaction contains the number of Bitcoin transferred and associated spending rules. Using sidechains is a way to circumvent this problem, although it is not the best possible approach. Corda states can include arbitrary data, which allows for more customization and better record-keeping.
The blockchain designed for smart contracts, Ethereum, is similar to Corda due to the fact that code runs inside a powerful virtual machine and can contain complex logic. However, where they differ is the definition of a contract under the respective blockchains; under Ethereum’s, the term contract is defined as an instantiation of a program that is replicated and maintained by every node.
Whereas, with Corda, the term contract refers to a set of functions, only one of which is for synchronization of the system. Furthermore, the Corda blockchain has no plans for non-financial applications, at least not yet.
Future development goals for the Corda distributed ledger can be found in the non-technical whitepaper and a technical whitepaper is due to be released soon.