The Chief Technology Officer of R3, Richard G Brown, revealed today that the consortium with its member banks is working on a distributed ledger platform for financial services called Corda.
Brown describes Corda in this way:
Corda is a distributed ledger platform designed from the ground up to record, manage and synchronise financial agreements between regulated financial institutions. It is heavily inspired by and captures the benefits of blockchain systems, without the design choices that make blockchains inappropriate for many banking scenarios.
According to Brown, R3 designed Corda by selecting the desirable characteristics of other blockchains, like Bitcoin and Ethereum, for its constituent banks while leaving the undesirable. Corda utilizes five interlocking, distinct services from what Brown calls the “blockchain bundle”, consensus, validity, uniqueness, immutability, and authentication.
So we started picking away at what can perhaps be called the “blockchain bundle”: the collection of services that blockchains provide to those who use them.
We concluded that a blockchain such as the ones underlying Bitcoin or Ethereum or any of the private variations actually provide at least five interlocking, but distinct, services. And the right approach is to treat them as a menu from which to select and customise… different combinations, in different flavours, for different business problems.
The services in Corda’s “Blockchain Bundle” menu apparently also have their distinct flavor.
For example, consensus in Corda occurs between parties to deals, not between all participants.
In terms of validity, Corda users write their validation logic with industry-standard tools, and those that need to be in agreement on a transaction’s validity are defined on a contract-by-contract basis.
For uniqueness, Corda’s design allows for a range of “uniqueness service” implementations, including like a “traditional blockchain” but can prioritize consistency at the expense of availability in the event of a network partition.
For immutability and authentication, Corda’s design departs very little from existing blockchain systems; data structures are immutable and the building block is the exchange of digitally-signed transactions.
Corda is distinct from existing blockchain systems in that R3 is not building another blockchain. R3’s starting point is individual agreements between firms, and not all data is copied to all participants in the network.
The focus on agreements means that linkage to legal prose is considered from the start.
Moreover, Corda is more than just a consensus system. The system is designed to facilitate business logic, integrate with existing code, and thus interoperability.
Brown admits that Corda is not a solution to all problems:
This model is extremely powerful for some use-cases but likely to be less well suited to others. It’s why we continue to engage extremely deeply with all our partners who are working on complementary platforms in this space; we are not omniscient. Moreover, there are still many significant design and research questions we have to resolve: there is still a great deal of work to do.