Corda: Lego for Distributed Ledgers

January 14, 2019

Corda: Lego for Distributed Ledgers

Last December I had the pleasure of speaking at the SAP Outside The Block conference in Berlin. It was a lot of fun to get out from behind the code and see so many clients and partners at a great event. SAP is a top-tier partner and the conference shows just how well they are able to bring lots of initiatives from across the organisation together.

I was on a panel where the questions got to the heart of what we’re doing with Corda, so I wanted to share both the questions (in bold) and my (rough) answer notes here.

10 years in Blockchain and past its Hype according to Gartner. How has the technology evolved, and where do you still see potential?

Blockchain has evolved massively in 10 years. We’ve come from Bitcoin — a permissionless public-only network created to solve a very specific problem — to DLTs like Corda, which were born out of requirements for regulated finance. In my day to day, I now see the aspirations of developers — to create decentralised networks — converging with business requirements. This is a good thing! For example: the work we are doing at R3 to make Corda highly available as well as satisfying our customers’ network compliance requirements.

Now, blockchain platform vendors are easing into product marketing fit. The best fit so far: Tokens, otherwise known as digital assets, securities, cash, etc. The power of platforms like Corda will be self evident as an increasing number of companies choose to issue ledger native assets or tokenize existing assets.

What is the use one case/application that convinces you the most about Blockchain//DLT applicability in the enterprise?

Tokens. Full stop. We’re not talking about ICOs, but rather about companies issuing securities onto a blockchain platform. We are working with a range of companies and FMIs to do just this!

We want to make it as easy as possible for companies to issue tokens on Corda. At the moment we are developing the infrastructure required for digital assets on Corda. Standards, SDKs, mobile wallets, account management, you name it, it’s on the road map. You’ll be hearing a lot from our team in the coming months!

Data Sharing is amongst the paradigms that you hear often when talking to Blockchain — or DLT — enthusiasts. What is your take on the concept, how can we manage the wish for limited visibility?

The need for privacy is obvious, but it seems to have eluded some Blockchain vendors who started with gossip networks and have had to bolt-on hacks to provide privacy. They didn’t understand their customer requirements.

Instead, start with point to point messaging. Don’t send data to those that don’t need to see it. Send the de-minimis amount of data required for transaction verification. Broadcast and gossiping of data can be added using point to point messaging primitives for the limited set of scenarios that require it. Use pseudo-anonymous identities on ledger but which can be linked back to real-world identities off-ledger.

In addition, at R3, we are exploring the use of Intel SGX to create a fully encrypted ledger. We have a working prototype. We are also exploring the use of specific applications of ZKPs for things like range proofs. We believe that use of generic ZKPs e.g. constraint compilers is premature. Also the impact of quantum computing on ZKPs needs to be further assessed. Good luck to those who are relying on this as it’s just a matter of time before it breaks!

Corda takes a slightly different approach than most of the other Enterprise Blockchain Technologies. How did you start thinking about building what is Corda today, and what is the most important difference that you would like to highlight?

Firstly, this is important, when thinking about Corda, one needs to view it as “Lego for distributed ledgers”. Instead of “the private Blockchain for banks blah blah, notary, blah blah not blockchain blah blah”.

There is NOTHING you can’t do with Corda, that you can do with other blockchains. I don’t think the reverse holds though. For example, some people spend a lot of time tweeting that public permissionless networks are superior than the alternatives. That, of course, is debatable. But in reality… Corda can be no less public and permissionless than Bitcoin.

The properties of a Corda ledger depend entirely on how you choose to deploy it. This way, Corda has the best of all worlds.

It can be a product that serves the needs of R3’s customers. Indeed, we have initially chosen to deploy Corda as a permissioned network because this is what our customers want. They want deterministic finality, performance, real world identities and privacy.

Having said that, the Corda platform is flexible enough such that you can build both Bitcoin and Ethereum as a CorDapp, you could probably build IBM Fabric as an CorDapp as well, although you probably wouldn’t want to!

So, why and how is Corda “Lego for distributed systems”? It’s because our founders threw out all blockchain “cargo culting” and started from the beginning. They figured out that the fundamental problem we needed to solve was that Alice cann
ot see what Bob sees and Bob can’t see what Alice sees. Performing duplicative work in mutually exclusive silos is, costly, etc. and most DLT-like problems can be reduced to this.

The answer is to build a platform that allows Alice and Bob to see the same things and know the same facts even if they don’t trust each other. It’s as simple as that. Add on the need for transaction validity, consensus, and the ability to scale etc. and you get something which looks like a general purpose Bitcoin blockchain with a shared ledger, and the choice of any consensus mechanism. The platform is built around this core premise and is basically an SDK for building distributed ledgers.

In summary, Corda allows developers to choose the trade-offs which are most desirable for their use case. Choose the Lego bricks you need and start building. It’s also quite fun as well!

Now we have an extremely diverse set of panel participants — Blockchain, DLT, and Applications covered — if you had one wish, one thing to improve or focus on from one of your peers up here, what would it be?

Remain focused on the end user. Build stuff that people want and that makes people’s lives better!