October 02, 2019
Permissionlessness: A simple concept with profound implications was originally published in Corda on Medium, where people are continuing the conversation by highlighting and responding to this story.
What does the word “permissionless” in the context of blockchains mean?
Hands up if you know what “permissionless” means!
A) Anybody can participate.
B) You can use the network for any purpose.
C) Anybody can set up a network for themselves.
D) Anybody can take part in the transaction confirmation process at any time.
E) None of the above.
Top marks and a gold star if you answered: “D: A permissionless blockchain network is one in which anybody can take part in the transaction confirmation process at any time.”
I discovered recently that this subtle definition is not as widely understood as I’d thought. This matters, because the implications are significant. So, in this piece, I try to go back to basics and, in so doing, dispel a few myths.
The punchline of this piece will be as follows:
But I’m getting ahead of myself…. To get to the punchline, we need first to go back a decade. Let’s ask a question that doesn’t often get asked:
To what engineering question is Bitcoin the answer?
Think about it for a few seconds before scrolling down for my attempt to answer that question…
I reckon that Bitcoin is the engineering solution to the following problem: “I want a system of digital cash that is censorship resistant”.
Now… Satoshi Nakamoto never described Bitcoin as being a solution to the “digital cash that is censorship resistant” problem. But it is by far the simplest way to reason about why Bitcoin works the way it does. No digital cash system until Bitcoin had this “censorship resistance” property. It was truly novel and the solution is a work of genius.
Consider some of the unusual or unique things about the Bitcoin network. First, if you have an internet connection then you can transact using Bitcoin without needing the services or approval of anybody else to do so. Secondly, if you run a full node, there’s nobody upon whom you must rely to validate any information you receive; you can fully check it for yourself.
And, thirdly — and this is the key to it — the fact that anybody can contribute to the transaction confirmation process on networks like Bitcoin without needing to be added to a whitelist — without needing permission in other words — means there’s no single party with the power to censor your transactions, either by directly blocking them or threatening to blacklist anybody who offers to confirm them for you.
And it’s that last part that turned out to be critical to Bitcoin’s design, and the essence of its ‘permissionlessness’. Peer to peer networks existed beforehand. Deterministic verification of chains of provenance existed beforehand. But a permissionless consensus process for confirming transactions? That was truly new.
And it was a problem Satoshi truly did have to solve if the Bitcoin vision was to be delivered. There was no existing theory upon which he could rely. Traditional consensus theory — a discipline that goes back decades — doesn’t address permissionlessness or censorship resistance in any way.
So yes: intellectual giants such as Leslie Lamport taught us how to build distributed systems that can come to consensus about things — and do so quickly, reliably and with certainty. And it turns out it’s even possible to do this when some of the participants are actively malicious! This field of research is staggering in what it has proven we can achieve.
But traditional consensus theory rests on a big assumption: the algorithms only work if you know how many participants are involved in the consensus forming process and who they are. You need to know how many there are so you know when you’ve seen enough ‘votes’ for a particular outcome. And you or somebody you trust needs to know who the participants are so that assumptions such as “no more than a third of them are malicious” are not trivially violated by one bad party pretending to be multiple different parties (‘Sybils’).
Consensus theory has an eminent history… but an entirely new technique was needed to deliver censorship resistance… and the implications of these new ‘permissionless’ algorithms make them suited only to a narrow set of scenarios
So if you’re going to participate in a traditional consensus system — or rely on the outputs of such a process — you need to share the same assumptions underpinning the theory… and two of the assumptions are how many validators are there and who are they? This usually means we need somebody to provide that list to us, somebody whom we trust to have ensured the validation has been performed. So if you want to be one of the validators you need to get on this list… hence the idea of being ‘permissioned’.
So that was the state of consensus research ten years ago. And then bitcoin exploded onto the scene. And Bitcoin had a requirement — censorship resistance — that was fundamentally incompatible with traditional consensus theory.
At the risk of stating the obvious, Bitcoin’s design goals were incompatible with traditional consensus theory because the existence of a permissioned set of confirmation providers would give whomever controlled the list censorship power. But traditional consensus theory implicitly assumes the existence of such a party. Hence: traditional consensus algorithms couldn’t be used.
Nakomoto’s answer was a very clever solution to this problem. Rather than revealing your contribution to the consensus process through inclusion in a curated list, you can reveal your participation through evidence of having burned capital (Bitcoin calls it ‘mining’)… with your number of ‘votes’ being proportional to the capital burned.
In Bitcoin’s case, you prove you have burned capital by trying to find certain types of hash pre-image, with your probability of finding one varying in proportion to effort expended. In effect, something scarce in the real world (money!) is converted into something that can be measured in the digital world.
The genius of this is that network users can observe how often such solutions are published and estimate how difficult they were to find and, in so doing, estimate how much overall capital is being destroyed on the network. We have, in effect, created a proxy measure of the ‘size’ of the validator set.
Net-net: Bitcoin removes the curated list of network participants needed for traditional consensus algorithms to work and, in so doing, enables a censorship-resistant network with permissionless consensus providers. A towering intellectual achievement.
But… permissionless consensus algorithms also come with two huge implications. One well-known, the other less so. The first cost is the jaw-dropping energy consumption and associated environmental impact. Maybe proof of stake systems will address this. The jury is out. But it doesn’t matter. Because it’s the second implication that is the deal-breaker for anybody other than those who truly need censorship resistance.
This second implication demonstrates forcefully that the lot of an engineer is to live a life of compromise, of wicked tradeoffs and imperfect solutions.
Because, in exchange for the tantalisingly audacious gift of censorship resistance, the universe extracts a terrible price: transaction confirmation is only ever probabilistic.
Since censorship-resistance means you don’t have a curated list of participants, and are relying on estimates of the size of the mining effort, you can never quite be sure that transactions you think are confirmed will not retrospectively become unconfirmed. This could happen, for example, if it turns out there was more mining power than you’d realised and your view of the network was actually a minority view.
And this probabilistic consequence is highly problematic. Because it means transactions can go from “confirmed” to “unconfirmed” as a natural and designed-in part of the system. And this comes as a direct consequence. You can’t have one without the other.
“Censorship resistance” implies “permissionless consensus process”, which implies “probabilistic finality”, which implies “your transactions can get reversed without warning as a natural and inevitable consequence of censorship resistance”.
And it gets worse: because, by design and by construction, not only is the chance of transactions being reversed unexpectedly a natural part of the system, you also don’t know anything about the identities of those providing mining services. Are they a thousand unique individuals? Or five Chinese guys who all hang out at the same conference from time to time and are all known to at least one government? And what does it mean when 30% of the consensus “votes” disappear in a flash? Are 30% of Bitcoin’s consensus providers actually the same single entity?
So if a transaction reversal happens to you on a permissionless network, you don’t know if it’s because of bad luck or because you’ve been targeted. And so the system probably also fails to achieve any certainty of censorship resistance either..! But let’s leave that for another day…
Where does this leave us? It comes down to this: Do you actually need censorship resistance? Do you need the ability to process transactions even if governments in countries in which you operate tell you not to?
If you do need the ability to subvert the will of sovereign governments for your business process then your best bet is indeed probably Bitcoin or Ethereum. Their permissionlessness solves a real problem for some groups in some jurisdictions — no question.
But… if you’re a business leader trying to make sense of the blockchain opportunity — maybe trying to optimise some inter-firm collaborative business processes — and do so in a legally compliant way, then I would submit that you do not in fact have a requirement for censorship resistance.
Indeed, I would suggest that most mainstream businesses have the anti-requirement to censorship-resistance. Which means they have requirements to which permissionless networks are the anti-solution.
Which raises a question. If you don’t need censorship resistance, why use systems such as Ethereum, whose arcane and cumbersome designs derive from that desire for censorship resistance?
Furthermore, if platforms such as Ethereum were designed for things you expressly do not and can not need, what is driving the narrative that businesses should build on “permissioned forks” of this technology or deploy on or otherwise integrate with things like Ethereum mainnet?
The potential of blockchain to solve real problems in the enterprise, especially problems between businesses, is immense. But it’s also important to think carefully about what your underlying requirements (and “anti-requirements”) are when selecting technologies.
If you’re intrigued by the possibility of optimising and transforming entire markets, good places to start are platforms designed to do just that. Take a look at platforms like like Hyperledger or Corda, and accelerators like Digital Asset’s DAML!
Share this post
July 01, 2020
June 29, 2020
Stay up to date on the latest news and articles related to Corda.