Public vs Private (Permissioned) Blockchain Comparison
The buzz around blockchain has already created a global industry that aims to cash in on the huge potential of this exciting new technology. One of the most exciting things about blockchain is that very few experts actually agree on just how big its impact will be.
While we are yet to see any blockchain solutions actually replace existing ones, there are two key observations that are worth noting:
- Bitcoin has been around since 2009, however, today you still can’t buy your morning coffee with it.
- The top 10 Ethereum decentralized apps (DApps) have daily active user counts in the thousands. Compare this with a centralized platform like Facebook, which has over a billion daily users, and you can see just how small scale blockchain use still remains. For a detailed comparison, read “State of the DApps: 5 Observations From Usage Data (April 2018)”.
Bitcoin and Ethereum are public blockchains. While they have led the way in the cryptocurrency and Initial Coin Offering (ICO) boom, big businesses have yet to embrace such public blockchains.
Big businesses are important drivers of our economy and society, so if we are to see the wider adoption of blockchain, companies need to embrace the new technology. While companies will not have much use for public blockchain, they will be able to develop private (permissioned) blockchain solutions to help streamline their business processes.
In this article, I intend to do a public vs private blockchain comparison. This will include an examination of what exactly the roles of these two types of blockchain really are and why big businesses should quickly move to adopt them. This analysis will look at why private blockchains are better suited to big business use when compared to public ones.
What is a public blockchain and what are its promises
In order to offer a proper perspective on things and provide an accurate public vs private blockchain comparison, I’d first like to define these concepts separately. A public blockchain is a decentralized network that literally anyone can join. This is because no permission to join the network is required. Users can connect their computers to this peer-to-peer (P2P) network as nodes. Every node has an entire record of the blockchain, which is stored on their computer.
The information on every public blockchain is subsequently replicated to sometimes thousands of nodes on the network. No one power administers it centrally, hence, hackers can‘t destroy the network by crippling one central server. Read this article “What is Blockchain technology? A step-by-step Guide For Beginners”, for a more detailed description of the technology.
This is the first promise of blockchain: a decentralized network that eliminates often unwanted middlemen. This democratization of our data has the power to create many new business models.
How does it work?
Data transactions are recorded as blocks. Blocks are stacked on top of other blocks and connected to each other via a protocol program. This in effect, forms a chain of interconnected data records.
Cryptographic hash functions ensure that every transaction is authentic. This also rules out the possibility of any unauthorized change to the information held on these blocks. If you wish to know more about how modern cryptography protects public blockchains, read this article “Beginner‘s Guide: Use of cryptography in cryptocurrency”.
A consensus mechanism ensures that no single node can modify or delete an existing block. Instead, all nodes are required to collectively work together to create new blocks and validate transactions. However, if the decentralized network doesn’t achieve a consensus on the validity of a transaction, then no new block can be created.
This is the second promise of blockchain, namely, the creation of immutable records or ledgers. For big businesses, where the ability of unauthorized persons to tamper with records carries huge risks, the immutability of blockchain databases is incredibly attractive.
Smart Contracts Promise Further Benefits
Ethereum is one of the blockchain organizations championing smart contracts.
Smart contracts are pieces of code that follow “If-Then-Else” conditions and execute legal-like functions, for e.g. transferring crypto token based on the fulfillment of certain conditions.
Smart contracts allow you to set up contracts on a blockchain and execute them. However, users need to be careful. Due to the immutability of a blockchain, code cannot be altered once validated, meaning that you cant alter a contract once deployed.
Now we reach the third promise of the blockchain, which is to automate contract administration in an immutable and irreversible manner via the use of smart contracts.
Benefits of Public blockchain
All cryptocurrencies operate on public blockchains. These include Bitcoin and Ethereum.
Let’s take a look at what features they offer:
- No central bank controlling transactions.
- No cyber-attacker has ever hacked Bitcoin or Ethereum. The only successful breaches have involved hackers targeting websites such as crypto exchanges etc.
- Immutable Ledgers.
- More secure transactions.
Why public blockchains aren‘t suited to big businesses
For the sake of the public vs private blockchain comparison, we need to assert that there are several aspects of public blockchains that make them unsuitable for mass adoption by big businesses.
Consider these limitations:
- Scalability: Every node on the Bitcoin blockchain is required to validate each transaction. The result is low transaction throughput and slow transactions. Visa, for example, couldn’t use such a public blockchain as they must instantaneously confirm transactions.
- No access control for sensitive information: Every node on the network has a record of the entire database. Big businesses can’t have their customers’ social security numbers open for public viewing, for example. Likewise, a hospital can’t have the patients’ electronic medical record (EMR) available to anyone either.
- Smart contracts are immutable pieces of code and their outcomes are irreversible. Hence, formal verification of their code is very important before deploying them. It‘s very hard to verify smart contracts in the Ethereum Virtual Machine (EVM). A business can‘t afford to deploy faulty but immutable smart contracts and suffer the consequences of their irreversible outcome. This article details the challenges: “Fundamental challenges with public blockchains”.
- Every node stores information on the public blockchain indefinitely. This imposes heavy storage constraints. Realistic business applications can‘t afford so high data storage redundancy.
- Bitcoin and Ethereum blockchains use the ’proof of work‘ (POW) consensus algorithm to provide maximum security. It relies on a process called ’mining‘, which involves nodes trying to find the cryptographic hash of the last recorded block in order to create a new block. This is a massive number-crunching operation. It‘s computing-power and energy-intensive and becomes increasingly costly as the blockchain length grows. Read more about POW in this article “Proof of work vs proof of stake comparison”. This makes such blockchains impractical in a large business context.
- There isn‘t enough governance to set standards and build good tools, something which is required for the wider adoption of public blockchains. Businesses need well-governed technology to implement strategies, no matter what area of their business such solutions relate to.
What is a private blockchain?
Private blockchains or enterprise blockchains differ from public blockchains in that they are permissioned.
Hire expert developers for your next project
1,200 top developers
us over the last 3 years
They embody the following features, important for making a clear difference between public vs private blockchain:
- Controlled membership and access: Businesses can allow only trusted nodes to join their enterprise blockchains. They can validate new users with their organizations‘ identity management system. This means that they can give access to information to only those who have the correct authority.
- Performance at scale: It is not uncommon for large businesses to process 100,000’s of transactions per second (TPS). Therefore, enterprise blockchains need to scale so that they can deliver performance accordingly. To achieve this, they can compartmentalize processes using containers or similar approaches. Read more about this requirement in this article “Enterprise blockchain ready to go live”.
- Resilience: They must have built-in redundancy, automated monitoring, and require minimal human intervention.
- Security and confidentiality: Enterprise blockchains need to encrypt data to ensure maximum security. Apart from that, they can follow the cryptographic standards that apply to public blockchains to secure transaction messages and ensure transaction authenticity.
- A degree of centralization: Enterprise blockchains can‘t avoid embodying some degree of centralization. By requiring only trusted nodes to join the network there is no way that a private blockchain can be as decentralized as a public one.
- Consensus: Enterprise blockchain transactions are a lot more complex than just, for example, sending Bitcoin payment from one address to another. The consensus mechanism would need to involve different roles, for example, the need to work on different parts of the transaction lifecycle, such as requestor, approver, etc.
- Supportability: Businesses need to ensure that their private blockchains are maintainable. This includes day-to-day administration, patching, and troubleshooting. They need to have processes in place to monitor service level agreements (SLAs) and manage operations.
- Integration: Businesses have their systems of record (SOR) applications, which their enterprise blockchain will need to communicate with. Before they roll-out their blockchain, they need to have the required application programming interfaces (APIs) ready to implement this integration.
- Governance: Every enterprise needs to design standards, processes, methods, and tools to develop and operate a private blockchain. To achieve this they will need tools and frameworks such as IDE, testing framework, security auditing tool, etc. For long-term successful operation, they also need to develop high-quality documentation. This requires proactive governance. Read more about the importance of the “Fundamental challenges with public blockchains” here.
Private blockchain examples:
The following are a few examples of private blockchains:
Quorum: The American investment bank JPMorgan Chase & Co. has developed this private blockchain, which is designed for the financial service industry.
The project team has forked the Ethereum blockchain to create this new solution. For this reason, Quorum supports several Ethereum features such as smart contracts.
Quorum moves some parts of the transaction data off-chain. However, it still stores the cryptographic hash of the transaction data on-chain. This enables transaction validation because the hash is immutable, and one data set will always produce the same hash. Hence, if the hash matches, the transaction is valid.
However, cryptographic hash functions are unidirectional, i.e. you can‘t construct the input message from the hash. Hence, no unauthorized stakeholders can see the transaction data. To learn more about the unidirectional nature of cryptographic hash functions, read this article “Blockchain cryptography”.
Quorum uses a constellation protocol and is a permissioned blockchain. This allows one node to send encrypted messages to another. One example of use cases for this blockchain is in handling investment transactions in a secured manner, which is exactly what it was designed for.
Hyperledger Fabric: The Hyperledger Consortium is a group founded by the Linux Foundation, and includes giant corporations such as IBM, Intel, SAP, CISCO, Daimler, and American Express. They have several other enterprise blockchain projects.
Fabric is a permissioned blockchain. The platform assigns different access levels to nodes based on their role in the identity management system within the organization.
It’s industry-agnostic and uses many features of Ethereum, including smart contracts. It uses container technology for hosting smart contracts.
The consensus mechanism mirrors the enterprise requirements and encompasses the entire transaction lifecycle. It works as follows:
- ’Client‘ nodes invoke transactions.
- ’Ordered‘ nodes provide updates to the transaction data.
- ’Peer’ nodes receive the update from the ’orderer’ and maintain the distributed ledger. They commit the transactions in the ledger.
- ’Endorser‘ nodes are peers who validate transaction validity such as digital signatures. They endorse transactions so that other peers can record the transaction in the ledger.
R3 Corda: A platform specifically designed for the financial service industry, R3 has built this private blockchain. It‘s a permissioned blockchain, with different access levels for different category of nodes that operate according to different organizational roles and responsibilities.
Corda uses smart contracts, and a notable feature is that smart contracts in this platform have specific legal expressions. This industry operates under stringent regulatory frameworks, therefore, the legal expressions in the smart contracts are designed to give sufficient coverage and legitimacy.
The consensus mechanism involves ascertaining transaction validity and uniqueness. Smart contracts address the validity portion. To ensure uniqueness, the protocol program in Corda checks whether any other transaction has used any of the input states of this transaction. If no other transaction has used any of the input states, that this transaction is unique.
Conclusion: the difference between private vs public blockchain
In summary, public vs private blockchain comparison indicates that while fully decentralized permissionless public blockchains offer much promise, companies must accept that there are trade-offs.
When the appropriate solutions have been developed, companies are likely to require private blockchains rather than public ones. Since they will almost certainly need scalability, high transaction throughput, access control, and viable consensus algorithm, private blockchain solutions will be the best option for their business requirements.