I was asked on Twitter recently why Corda is called Corda.
I replied with a brief tweetstorm but thought it was worth expanding a little in a blog post as Corda’s name and the product’s vision and philosophy are inextricably linked.
To understand one is to understand the other.
The story starts in 2015.
We knew even in those early days that if blockchain architectures were going to have any relevance to business at all it was going to be at the boundaries… the places where two or more entities interact. Bitcoin, Ethereum and even older platforms like Open Transactions and “Ricardo” that had also inspired us were all about people and firms transacting with each other, and reaching consensus about what has happened.
And one of our earliest learnings was that pretty much anything that happens in business can be thought of in terms of contracts. Sometimes this is obvious: we all know that an insurance policy is a contract, for example. But other times it is less obvious. We don’t often think about it this way but a bank deposit is also a contract. You and the bank have entered into a contract whereby you agree to lend money to the bank (that’s what a deposit is) and they agree to give it back to you, maybe with interest, subject to various conditions.
Contracts underpin everything in business.
The engine that drove the initial thinking behind the Corda “Design Concept” was the combination of these two ideas: what if we could apply the idea of consensus between parties with the idea that the things they’re trying to reach and maintain consensus about are real-world contracts that exist between them? Not in an asinine “code is law” fashion but in the straightforward, pragmatic sense of “here are some uncontroversial, well-understood elements of a particular contract that could yield significant cost savings or enable new opportunities if they could be captured and automated.”
Something that dropped out of this almost trivially — but so crucially — was that, unlike in pseudonymous cryptocurrency networks where all data is broadcast to everybody, a system that aspired to help firms memorialise and automate agreements that exist between them needs to depart from blockchain ‘orthodoxy’ in two very significant ways.
The first is that you actually need to know with whom you are communicating: identity is crucial. The second is that you absolutely do not want uninvolved third parties learning anything about your business: privacy is crucial.
Identity and privacy.
We realised how important they were and it was these stark, non-negotiable ‘requirements’ that gave us the courage to question beliefs that others held sacrosanct. Pseudonymity was thrown out of the window. Global broadcast was thrown in the gutter. Identity was in. Privacy was in.
In parallel, away from hand-waving “architects” like me, Mike Hearn was creating facts on the ground by actually writing code and showing what could be done.
One of the unexpected ideas, at least to me, that he brought to the table came from his experience in the Bitcoin community. He had observed that if you only watched the public Bitcoin network you only saw half the story of what was actually going on in that ecosystem. In particular, through his work on things like the Bitcoin Payment Protocol he knew something that other blockchain protocol designers had missed the significance of: pretty much any transaction broadcast onto the network happens for a reason. I don’t just pay you some money for the fun of it. I pay you because I’m buying something from you or because I owe it to you or because I want to exchange one currency for another.
Mike realised: this means there is invariably a whole bunch of private communication that takes place between participants of any blockchain network. Even for the simplest transaction on a network like Bitcoin you need to agree how much to send and to which address. And for complicated ‘multi-sig’ scenarios you even need to pass partial transactions around. If you’re going to do that you also need to know with whom you are communicating. Mike had been thinking about these ideas for a long time.
So now we had all the pieces: the fundamental building block of the system needed to be a contract. It really does turn out to be an amazingly powerful unifying concept. And when you combine the identity and privacy needs of business with Mike’s experiences of out-of-band communication in Bitcoin, you realise that making authenticated point-to-point communication the fundamental paradigm of the system is at the absolute core of it. And we can never forget that the reason for doing any of this is to ensure that we’re in consensus: that I know for sure that what I see is what you see.
So that explains why the platform looks and works the way it does.
But what to call it? What name should we give a new platform that works like that?
Well, we knew we couldn’t — or shouldn’t — use the word “contract” anywhere. The term is too overloaded, too vague, too misused. Now, a contract is also an agreement. But that word is a bit weak and insubstantial. But another, older, word for a contract or an agreement is a concord. Another related word is an accord.
Hmm… we can work with those words! Of course, it helps that concord and Concorde are homophones. And Concorde evokes the idea of speed. Supersonic jets are fast. But, as I look back, I realise that the Concorde angle is one we didn’t really explore.
Regardless, concord gave us a building block. But there are multiple concepts at play in Corda and it would be nice if we could somehow capture more of them.
Integrating the idea of consensus was easy. It helps that consensus also implies agreement and so a lot of the words here share common roots. But we can also steal from other disciplines. Consensus implies harmony. And a harmonious collection of musical notes is known as a chord.
There’s that “cord” sound again…
But what about the idea of direct, point-to-point communication between identifiable parties?
Well… think about how you would draw a diagram for a system that worked along those lines. You’d want to draw a dot for each participant and have space to write its identity. And you’d need to be able to sketch direct lines between any and all of them. The easiest and most pleasing way to depict this is by spacing out the participants around the circumference of a circle. You can write their names on the outside, which leaves clear space inside the circle to draw a straight line between any participants you choose.
And what is the mathematical term for a straight line that connects two points on the circumference of a circle? It’s a chord.
So what to name the platform?
At one point I proposed Conchord. I liked how it captured the sound of concord and the spelling of Chord and also had a hidden extra meaning if you interpreted the “con” as Italian for “with”… then the word could also be interpreted as “with harmony”, for example. We also played around with Conchorde, with an e.
But short is always good. So we played around some more and somebody (James Carlyle maybe?) suggested corda.
When I looked it up and realised it was Italian for rope, implying a linear thread like a chain, well it was just too perfect.
And so I became a fervent advocate for Corda.
For reasons I still don’t understand, however, we put it to a vote! As Todd reminded me as part of the Twitter exchange above. As you can tell from the number of votes, the team was still pretty small back then…
Mike, also for reasons I never understood, was advocating for “Delegato”.
Delegato?! I thought it sounded like an ice cream you gave to somebody else to eat on your behalf.
And we also included “Conchord” as an option in the poll, with and without a trailing e.
Happily my colleagues saw sense and Corda won.
And that is the story of how Corda got its name.