As the race for blockchain applications in the ﬁnance sector heats up, banking consortium R3 CEV has taken the brave decision to open source the coding of its much anticipated Corda platform. Aleya Begum takes a look at how the industry is responding.
At the end of November, the R3 CEV (R3) consortium released the code behind the Corda platform it has been developing for the past year or so. The decision to open source the development, by what represents the biggest collaborative effort in the industry, no doubt has big implications for others that are also in the running to develop an industry standard platform, or looking to build products for it. Until now, understanding of the platform from the outside had been a bit of a mystery. GTR takes a look at what the platform offers and the sector’s responses to it.
What is it?
In R3’s words: “Corda is a decentralised database platform designed and built from the ground up for the recording and automation of legal agreements between identiﬁable parties. It is heavily inﬂuenced by the requirements of the ﬁnancial industry but we believe the underlying architecture will lend itself to a broad range of applications.”
To blockchain or not to blockchain?
Both before and after the release, there has been some confusion as to exactly what kind of platform Corda is. In the recent ﬂurry around all things blockchain, it came as a bit of surprise to many that Corda is not actually using blockchain or distributed ledger technology (DLT). Rather, the consortium has chosen to develop what is being described as a “shared ledger” platform. The difference? R3 explains that on a distributed ledger, on which bitcoin, the original inspiration for blockchain technology, is based, consensus on information must be reached at the ledger level. This means all transaction data on the ledger must be broadcast to all other participants on the ledger, and all participants must agree on all the facts. In banking and ﬁnancing, this raises privacy and scalability issues.
“Privacy [is an issue] because all participants have to see all other participants’ transactional data [and] a system which relies on message broadcasts to all participants is inherently unscalable,” associate director at R3, Clemence Wan, writes in an online forum. “Corda takes a different approach. By default, information about transactions is only shared with those parties to a transaction. This is a more appropriate model for ﬁnancial services, where privacy of transactional data is highly important. If signatures are present from all parties to a transaction, then we assume that the transaction is agreed upon and consensus is achieved.”
Some have hailed this as making “absolute sense”, arguing that there does not need to be consensus at ledger level for agreements between a small number of parties, while others have found it puzzling.
“I’m perplexed about what it is. My take is, with some discussion with other people in the industry, that R3 is trying to market Corda as a ledger. I don’t think it’s a ledger. It is a business-to-business messaging protocol that is inspired by bitcoin,” Zaki Manian, co-founder at blockchain-based supply chain ﬁnance company Skuchain, tells GTR. “You have systems for exchanging purchase orders and other information between businesses – they already exist. For example, Swift. What a lot of the experimentation in the blockchain industry has been about is how to run a blockchain system to the side, or on top, of these systems so that they can have stronger properties of data consistency and authentication. That’s been the goal.”
Barry Childe, head of blockchain and DLT at HSBC, agrees that Corda could accurately be described as a messaging protocol but points out that the platform is not complete. “Right now you could argue that it’s better at messaging but only because that’s the order of the use cases that were prioritised by the banks. However, it’s on a journey and once all the work is completed it will be a collection of capabilities.”
R3 says its process is based around the real needs of the ﬁnancial sector and a bottom-up approach to the problems of its members, namely, the need for smart contracts to allow parties to better manage agreements between them, and to reduce costs and risk in trade.
“We didn’t just assume the answer was a particular design because that’s what everybody was doing,” chief technical ofﬁcer at R3, Richard Brown, tells GTR. “We worked through the engineering processes. [We ended up with a system] that had lots of commonalities with traditional blockchain – cryptography, smart contracts, transaction signing – but it turned out we didn’t need a blockchain. We don’t, and must not, have all data sent to everybody. That would be a privacy violation.”
Who’s in control?
One of the principal features of a distributed ledger is that there is no central body controlling or managing the process. Through the use of a peer-to-peer network and distributed timestamping, the ledger is managed autonomously. Some industry observers have argued that there is no clarity on who has access to keys and who can authorise changes on Corda. This, they say, would result in a lack of accountability, as one of the main points to a trusted ledger and cryptography is knowing who has done what.
“Bitcoin doesn’t really specify who controls the keys either,” points out Manian. “Sometimes keys are controlled at the institutional level, like an exchange, and sometimes keys are controlled at user level wallets. I suspect Corda is aiming for a similar model.”
R3 managing director Charley Cooper tells GTR that all transactions in Corda are governed by one or more smart contracts. The smart contracts deﬁne the operations allowed and who can perform them. If a transaction is not signed by the required necessary parties, then it is not valid and the platform will not process it.
“The Corda design envisages signatures being applied by secure hardware devices owned and controlled by individuals, so that transactions – and who authorised them – can be traced all the way back to speciﬁc individuals if the business needs this,” he says.
Another factor that has been highlighted by some observers is R3’s coding language of choice, Java-based Kotlin. In the tech start-up world, languages like Go are more popular as they are recognised for being good for building network applications. Interestingly, Corda’s most-named likely competitor, Hyperledger’s Fabric platform, is written in Go. Fabric was developed by the tech start-up, while Corda is being developed by the banking world. Could the choice of language be a sign of future collaboration between the two?
“Corda is designed for something called the Java Virtual Machine (JVM). Anywhere there is Java, Corda can run,” says Brown. “That doesn’t mean you have to write in the Java language. There are lots of other languages that are compatible, some that are very popular amongst ﬁntech. Examples would be Scala and Groovy.”
If Corda is adopted, it will mean huge amounts of integration with existing applications, codes and libraries of knowledge – a large chunk of which is written in Java. For R3, a principle reason behind choosing Java is to make that integration simpler, and to allow reuse of existing assets.
“Corda is extremely Java-oriented. It will be really attractive for people who like Java and not for people who don’t like Java. But if there’s a strong business need for people to learn a language, they will just learn that language,” says Manian.
Another characteristic of Corda that has been commented on is that in order to get the ledger-like properties of the system, you have to use it to do all inter-business messaging. Observers argue that the platform is looking to replace or enter into greenﬁeld applications, compared to other distributed ledger designs that are focused more on working with existing processes.
“You see that Corda emerged out of a consortium rather than a single company because in a consortium you can contemplate an idea that, if you have a new protocol, all the members will adopt it,” says Manian. “A single company trying to deliver a product will say: ‘I’m trying to enter an existing ecosystem that already has a way of doing things. I need to augment and enhance that way of doing things rather than argue that they should all adopt a new way.’”
In response to these analyses, R3 tells GTR that Corda is quite the opposite: “Corda is designed from the ground up to interoperate with existing systems and not to require wholesale changes to existing infrastructure. That is why, unlike other systems, Corda uses industry standard languages and tools, supports direct integration with existing database systems and has been tested against real-life scenarios with our large and growing membership throughout its development. There is no requirement to use
Corda for all an organisation’s communications.”
Further, R3 argues that every decision the consortium makes is based around realistic thinking on how to get the technology deployed.
“If any step relies on magical thinking, or heroic steps of faith, or business cases that don’t stand up on their own, it won’t happen. We spent a lot of time thinking and we put a lot of effort into the design of Corda to allow it to be adopted incrementally,” says Brown.
The right move?
For its part, R3 says the response to its release has been “overwhelmingly positive”. This is based on metrics such as the number of people who have downloaded and tried to install the platform, the number that are involved on its Slack and Corda forum communities and the feedback so far. In particular, Brown points out that the consortium received its ﬁrst pull request – whereby an external party suggests a change or improvement to the code – within two hours of going open source. In the open source tech world, this is a good thing.
At a community level, the move has been welcomed, not least because it encourages collaboration and learning.
“Making Corda open source was an interesting move by R3, and we are now seeing various groups evaluate its strengths and weaknesses. As with all these things there will, of course, be many varying opinions,” says Eric Van der Kleij, special advisor on ﬁntech and blockchain to Kickstart Accelerator and the UK Department for International Trade.
“Personally, I welcome the move because the point behind this kind of open collaboration is that the wider community gets access to an even more extensive range of ideas, thinking and talent, which will ultimately lead towards a better knowledge and understanding of blockchain solution adoption.”
However, whether the banks and ﬁntech companies who will develop the apps to sit on Corda are convinced remains to be seen.
“We are doing our own pilots and proof of concepts as are some of the other banks and institutions. We are working with a number of participants. Digital Asset Holdings, Hyperledger, IBM, they are all collaborative propositions. There are some really cool, interesting things going on, but equally this is the only consortium of this nature and type,” says Kaushalya Somasundaram, head of ﬁntech partnerships and strategy at HSBC.
Meanwhile Manian says: “My top-level impression of this whole thing is Corda seems neat. R3 has a presence and if they can raise a bunch of money and convince consortium members to use Corda it can be a very successful thing. But if you are not running a consortium, you are probably going to think ‘Corda is not for me’.”
The situation is probably best summed up by R3’s lead platform engineer Mike Hearn’s response to a question about commitment from the banks on its Slack forum: “I’ll be brutally honest – right now big banks are ‘really committed’ to nothing at all. Banks handle the world economy. If that breaks, then the economy falls over and we all die. That means the bar is high: at the moment there aren’t any platforms that are 100% convincing for a production deployment across all banks. Corda too because it’s not ﬁnished yet.”
Enjoyed this feature? Not a subscriber? Try our free 7-day trial and stay on top of global trade, commodity and export finance news, with full online access to GTR magazine features, GTR+ , the GTR app and more.