Public versus private blockchains
Before I go into the differences between the two types — public versus private blockchains (or, strictly speaking, three types if you count a consortium blockchain separately), let's first review the similarities. Both types use the same underlying peer-to-peer network technology, whereas the shared ledger is replicated to each participant by distribution over the network. These replicas are both maintained and kept in sync through a consensus protocol. Finally, both public and private blockchains provide guarantees that confirmed transactions registered in the shared ledger are immutable (that is, unchangeable) even when there are malicious participants. However, this is where the similarities end. Both types have their own advantages and disadvantages, and both are considered to serve different business cases.
In Chapter 7, Public Versus Permissioned Blockchains and their Providers, I will explain the advantages and disadvantages in more detail. For the sake of security, let's now take a look at the main differences:
Public Blockchain Private/Consortium Blockchain
Anyone in the world can read it
Read permissions may be public or restricted
Anyone in the world can send it transactions Write permissions are kept centralized to one organization or (part of) a consortium
Anyone can see the transactions included if they are valid Participants can see the transaction in which they participate or have the permission to see all transactions
Anyone can participate in the consensus process A consortium of selected nodes participates in consensus
It is fully decentralized It is decentralization based on the number of participants and permissions
3rd-party tools are available to explore the blockchain Includes database management, auditing, and so on
With a public blockchain, for example, a cryptocurrency, anyone is allowed to read and write transactions into the blockchain. Anyone participating in the blockchain can validate those transactions and publish their findings. In a public blockchain, everybody can verify transactions, but no one is implicitly trusted when doing so. All users need to follow the consensus algorithm that verifies all transactions, and when doing so they need to prove that they have made a sufficient amount of effort by solving a mathematical problem. The first user to solve the problem gets rewarded, whereas each new solution forms the basis for the next block of transactions to be solved. Because of the reward, a lot of people participate in the network and that makes it fully decentralized.
On the other hand, in private or permissioned blockchains, control over who can read verified transactions, who can submit transactions, and who can verify transactions is done by assigned operators. Participants can only join after obtaining an invitation or gaining permission. An invitation can be sent by an existing participant, a certificate authority, or through a decision made by the entire consortium. Sometimes, the application for a private blockchain happens when a consortium of parties wishes to participate in trading but do not fully trust one another, or when some information is made accessible to some of the trading partners but not to others.