Public and Private Blockchains
This is a story about words, a story about history, and a story about hype.
Specifically, a thoughtful look at the meanings of words and the histories behind their hype.
In the beginning (before Bitcoin) there was cryptography and networking. There was private and public keys. There was hashing algorithms. There was encryption and signatures. There was servers, clients, and peers. There was decentralized data storage in the form of shared databases.
In 2008 Satoshi Nakamoto introduced the concept of Bitcoin, which was built on those previous cryptographic tools. The new thing that Bitcoin introduced was the concept of a public distributed network, in which all nodes agreed on the state of the system, which was resistant to bad actors, and rewarded those who helped it grow.
Bitcoin was without a doubt greater than the sum of its parts. It was this properly incentivized public structure without any central authority that was a blockchain.
Let’s answer a basic question, first. Why do public blockchains have cryptocurrencies? Rather than answer this myself, I’ll let one of the best do it.
The Case For Crypto
Andreas Antonopoulos asks the question “Why do blockchains not work without an intrinsic valuable asset that is the basis for a game-theoretical model of security?”
His answer and logic is simple:
- Blockchains as a data structures are inefficient
- The reason we use blockchains is to achieve decentralization
- To achieve decentralization, the system needs to validate transactions without anyone being able to veto transactions or control the network
- So we must decentralize the process of validation
- The best mechanism known so far for decentralizing the process of validation is using a consensus algorithm that depends on competition, such as proof-of-work or proof-of-stake
- In order to have competition in an open network or system, you need risk and reward
- For reward that’s meaningful, you need an intrinsic token; something of value, that people desire to have, and keeps them playing fair at risk of destroying the valuable token
- Without something of value, there is no basis for that competition
- Without a basis for that competition, there is no security (security is achieved through more people playing the risk/reward game)
- Without security, the system has to control validation centrally
- Without decentralization, there is no point for a blockchain
- We might as well use a replicated database, which will be far more efficient, because blockchains are not efficient
The purpose of blockchain technology and a consensus algorithm is to decentralize control, provide censorship resistance, and enforce neutrality in a global open platform. To do those things need some mechanism to decentralize validation.
This is a good argument for the necessity of a cryptocurrency in a public blockchain. But does it negate the need for private blockchains altogether?
I don’t think so. They have different use cases.
Whereas a public blockchain’s main purpose is to “achieve decentralization”, the typical main purpose of a private blockchain is to “share data”.
A private blockchain just has a different use-case than a public blockchain. The technology is valid, the nomenclature is misleading.
When pieces of the public blockchain model are removed, the original value proposition of that public blockchain starts to fall apart. That is, if you remove the concept of cryptocurrency from a public blockchain, it won’t work. You won’t be able to build a public network that achieves decentralization.
Introducing the Private Blockchain
Public blockchains need cryptocurrency to reach their goal. But if the goal was instead to find a better way to share data with trusted partners, then we don’t need cryptocurrencies any more. Since we’re not focused on decentralization, we can restrict the members of the network.
When the goal is to share data, then private blockchains have not failed. Private blockchains still have concepts of chained, encrypted, signed, shared data storage on individual nodes, each performing some kind of business layer, proof-of-authority-type consensus on transactions to self-validate changes to the network state.
Why is this a hot topic? What are you arguing?
The issue that people argue over is in fact the term “blockchain”, and how they’re defining it. Depending on your context of “blockchain”, you could be describing and arguing about two different things.
- All of these next-generation systems are cryptographically-secured transactional-based databases with consensus mechanisms
- Public blockchains are open to the public, and decentralized due to native incentive token
- Private blockchains are private for trusted members, which fits in well with the removal of a native incentive token and that centralizing effect
Private blockchains are very much real systems that do exist, and have some good properties. But calling those systems “blockchains” seems disingenuous without truly understanding and acknowledging the history of “blockchain”.
Considering how blockchains became popular — through public cryptocurrencies focused on solving the problem of “centralization” — it’s frustrating when the nuanced differences between public and private blockchains are misunderstood. They have different goals and different feature sets, which should be understood before throwing the terms around.
It’s cool though
At some point none of this matters, words are just words. Things that get built will have value or they won’t. I’m certain that private blockchain networks will find niches of business value, no matter what the things are called.
There’s something to be said about sharing data across a trusted set of disparate organization, especially if the “blockchain” hype means we’re doing so in a much more cryptographically secured way.
What can we learn?
If anything, choose the right tool for the job.
If you’re building a, product, or service that requires people to trust you (like most things), then perhaps a more centralized offering is perfectly acceptable and preferable.
If you’re building something that REQUIRES that people DON’T place their trust in a more centralized entity, then perhaps building that thing on a public blockchain is the best solution.
If you’re building a company that wants to provide a valuable centralized service to people, and make parts of that service trustless to (ironically) gain MORE of your user’s trust, a hybrid approach might be right.
To the overall point, if one is discussing “blockchain solutions”, and the goal is to utilize, “private distributed ledger technologies”, that’s fine, as long as one does not forget why the hype is there in the first place.
Public blockchains are where “blockchains” came from, and there is no public blockchain without a cryptocurrency, which is an incentivization mechanism that distributes trust and increases security.
There’s a lot going on in my hometown of Cleveland these days, and I worry that if Cleveland is too focused on the “not cryptocurrency” aspect, we won’t be taken seriously on a bigger stage.
It’s definitely good to have a focus, and focusing on business and government applications (which may or may not have an easier application on private systems) is a strong position and a good one to take.
But if we use the “blockchain” word to get there, and then don’t show respect for the underlying cryptocurrencies that power public blockchains, then we are not being very aware of what we’re doing, and that won’t be good for us on a global scale.