When trying to understand the main difference between a public and private blockchain, it is important to note that the terminology in the media is often expressed incorrectly.
Public vs private blockchain: What is the difference?
A public blockchain is a permissionless blockchain. Anyone can join the blockchain network, meaning they can read, write or participate with a public block. Public blockchains are decentralized, no one has control over the network, and are secure, as the data cannot be changed once validated on the blockchain.
On the other hand, a private blockchain is an authorized blockchain. Authorized networks impose restrictions on who can participate in the network and what transactions.
When people get into the blockchain, there is a natural discussion about what type of blockchain, because blockchain comes in many different types. Typically, we hear about public versus private blockchains.
One factor that is often left out is also the idea of an open versus closed blockchain. And it’s important to consider both parameters, so you know which possible solutions are good for your idea.
When we talk about public and private, what we’re talking about is who can write data to that blockchain or that ledger. Open versus closed brings into consideration who can read that data. And so, we can talk about solutions that are public and open, public and closed, private and open, private and closed.
When we talk about public blockchains, most people talk about an open public blockchain. It’s a blockchain where anyone can write data to the blockchain, and anyone else can come and read that data.
Public blockchain platforms like Bitcoin, Ethereum, Litecoin tend to be talked about a lot right now, this is also what we refer to as permissionless blockchain platforms, which means that they strive to, by design, increase and protect the anonymity of the users.
There is a perception that public blockchain platforms like Ethereum cannot be used to build permission scenarios or control access to data.
The truth is that they can, they just don’t give you all the built-in tools that you can find on a private or permissions blockchain platform. But basically, you can always use these open public platforms to build a permissions solution, you just have to be aware that it’s up to you, your architects, and your developers to create that permissions model, and it all starts with some kind of identity management system.
When we think of public blockchains, we think of blockchain platforms like Ethereum and Bitcoin, which by default, by their very nature, are designed to protect anonymity.
If we don’t know who a user is, we have no way to create permissions, role-based access, and control what data they can read or write.
In many situations, this is desirable, which is why we see cryptocurrencies based on public blockchain platforms because given that anonymity is important, it is one of the biggest benefits of using cryptocurrencies.
Why have two versions?
Well, because, if a user has a currency, something of value, they should be able to exchange it and spend it, and do whatever they want with it, just like anyone else. We don’t want to treat any kind of user differently than anyone else in those scenarios. So, for that, we have a public blockchain, and that’s a very different creature from the private permission blockchain.
Now, the counterpart to a public blockchain is naturally a private blockchain. These are platforms like Hyperledger, Hashgraph, Corda, etc.
Private blockchains are more specifically known as permission blockchains. When we talk about private blockchain or when we hear people talk about private blockchain solutions, they tend to talk about things on the private, closed-end of the spectrum. We want to control who can write data to this blockchain, and we want to control who can read data from this blockchain. And to do that, the first step is identity. We need to know who is part of the blockchain network. If we don’t know who a user is, it becomes difficult, if not impossible, to define rules about what data they can send to the ledger and what data they can consume from the ledger.
When we talk about a private blockchain, think of a permissioned blockchain, which from the outset has an idea of who you are. And this is very different from a public platform like Ethereum, where the platform tries to protect and maximize anonymity. Which, as stated before, by design, it doesn’t know who the user is.
Most of the time, private blockchains tend to come with identity management tools or a modular architecture, where you can plug in your identity management solution. This can be anything from a Membership Service Provider to an OAuth solution using Google, Facebook, LinkedIn, etc.
This is the idea behind private blockchains. It all starts with understanding who a user is, because once we understand that, we can determine what role they are in, and we can use that role to determine what information they should have access to and what information they should not have access to.
In a public blockchain, we need to change the incentive for good behavior a little bit, because we don’t know who a user is. We rely on incentives from economics and game theory to make sure that everyone in the system behaves honestly and according to the rules.
We set up situations through group consensus, whereby honest participants are rewarded financially, where dishonest ones only incur work or cost, with no possibility of recovering that cost.
In an Authorized Private Blockchain, we rely on the fact that we know who a user is. So, in a corporate case scenario, blockchain for business, blockchain for supply value chains, because we know who an individual is, what organization they’re associated with, and what their role is, we also assume that they’re going to behave fairly because if not, we know exactly who’s misbehaving and they know they’re going to suffer the consequences for it.
So public and private blockchains have two very different offerings. A lot of people are under the impression that they compete with each other, but they don’t really. They just serve to provide different types of solutions.
Why companies use private blockchains?
Let’s discuss what private blockchains are and why they are used by companies. Private Blockchains are also known as Permitted or Enterprise Blockchains. Enterprises need to ensure some level of security, privacy, compliance, performance, and many of the properties that a private blockchain can provide. It can be open source, consortium, or privately developed.
There are many options for a private blockchain, and the most common are Hyperledger, R3 Corda, and Quorum. Transactions are processed by selected nodes on the blocks. From a performance perspective, this is where having only a few nodes processing transactions versus 12,000 nodes in the case of Ethereum can create a performance gain around latency and transaction speed.
Transactions are not publicly visible (transparent) on the blockchain and only selected nodes can access the ledger. Examples include R3 Corda, which can transact between nodes, and the rest of the blockchain does not participate.
Public blockchain benefits
- Open Read and Write.
Anyone can participate by sending transactions to the blockchain, such as Ethereum or Bitcoin; transactions can be viewed in the blockchain browser.
- The ledger is distributed
The database is not centralized as in a client-server approach, and all nodes on the blockchain participate in transaction validation.
- When something is written to the block, it cannot be changed.
- Secure due to mining (51% rule).
For example, with Bitcoin, obtaining the majority of the network’s power could allow for massive double-spending and the ability to avoid transaction confirmations, among other potentially malicious acts.
Private blockchain benefits
- Company permission
Enterprise controls resources and access to the blockchain, therefore private and/or permissioned.
- Faster transactions
When you distribute nodes locally, but also have far fewer nodes to participate in the ledger, performance is faster.
- Better scalability
The ability to add nodes and services on demand can be a great advantage for the enterprise.
- Compliance support
As a business, you are likely to have to meet compliance requirements, and having control of your infrastructure will allow you to meet this requirement more transparently.
- More Efficient Consensus (fewer nodes)
Enterprise or private blockchains have fewer nodes and generally have a different consensus algorithm, such as BFT vs POW.
Now that we’ve talked about public and private blockchains, we can talk about some of the differences and what each type of platform is intended to provide.
So, public blockchains are good for scenarios where protecting user anonymity is important or adds value to the solution, and they are great platforms for solutions where all users should be treated the same.
And we can see this because most public blockchains right now are used to support cryptocurrencies, and this is a great use case.
With a cryptocurrency like Bitcoin, Litecoin, Ethereum, etc., we don’t want to have any permission or role-based access.
Anyone should be able to hold some Bitcoin. Anyone should be able to exchange it with anyone else. And so, this leads to an open, permissionless model with full transparency.
This is very different in the corporate world, where we see private blockchains being adopted at scale because the concerns are quite the opposite. In a corporate setting, in a business setting, anonymity is a bad thing.
I want to know exactly who all the participants are, and I need to know who they are because I don’t want total transparency. I don’t want to share all my business data with all the participants in my business network or with the general public. I want to control who sees what kind of information under what circumstances, and I also want to control who can write that information to the blockchain.
So I could use a private blockchain solution to manage supplier-vendor relationships, where only I and my suppliers can see the price I am paying for a particular item. Only a particular supplier can see the details of the contract I have with him, and not the details of a contract I have with other suppliers.
And I may want to share some of this high-level macro data with consumers, so they can see the origin of the products they are buying, but of course, I would like to hide the financial aspect behind it all.
So when we look at how these two types of solutions differ, we see that public blockchains tend to focus more on B2C or Business Consumer scenarios, whereas private blockchains, such as Hyperledger, are well structured in B2B or Business to Business scenarios, supply chain, value chain relationships or the creation of any kind of shared infrastructure between companies.
As we said before, it is important to remember that there is a big misconception that public and private blockchains are competitors.
But, they are not and many real-world use cases use components of both. It’s important to understand the difference between them and it all starts with identity management.
When you’re thinking in your head about public vs. private blockchain, think that it all starts with identity management, and in a private blockchain you know who all the participants are from the beginning.
In a public blockchain, again, you don’t know who those participants are, and that doesn’t mean you can’t build a permissions solution on a public platform, but you, your architects, and your developers are going to have to develop the logic and the mechanisms behind identity management.
And that’s public and private Blockchain in a nutshell. They’re two very different things.
They serve different purposes and you’ll find that many real-world use cases that you’re going to encounter make use of both types of seamlessly integrated blockchains.