Public vs Private Blockchains
As we learned in Principles of Decentralization, there are different types of decentralization. Due to the transparency of a blockchain and the need to involve a community of computers in syncing the blokchain, companies and governments have introduced the idea of private blockchains. This section will explore the differences between public and private blockchains and what types of problems each are suited to solve.
Differences between public vs. private blockchains boil down to the participants of the network. Public blockchains allow anyone to take part in block creation as long as they adhere to the network’s protocol. Private blockchains only grant the power of block creation to a set number of participants. Public blockchains maintain protocol specification and decentralization with consensus algorithms like proof of work, while private blockchains could have a small group, or even single entity responsible for building the blockchain.
We see that enterprises are adopting the idea of private blockchains more quickly than they are of public blockchains. Private blockchains alleviate concerns that businesses have around privacy and the ability of a blockchain to be able to handle the requirements of their business. We will explore conceptual differences between public and private blockchains, but if you are interested in deeper technical differences you can read more on Vitalik Buterin's personal blog.
While public blockchains are typically advertised as completely decentralized, private blockchains have more tightly controlled permissions while still maintaining the decentralization principles that blockchains provide users.
Given the nature of a private blockchain, attacks are often minimized considering that all validators are known to the network. Private blockchains also benefit from having the capability to blacklist certain users. Additionally, the predetermined controllers of the network can very easily make changes to the blockchain if needed. Due to the smaller number of contributors to the network, prices of transactions are cheaper, they process faster and faults within the network are more easily rectified.
While it may seem like private blockchains are the better choice between the two, public blockchains have many benefits. Public blockchains are open and benefit from gaining larger numbers and varieties of participants. We believe that adding more participants adds more value to the public blockchain, as each participant increases opportunities for peer-to-peer interactions and innovations to arise. There are greater network effects between projects and applications in public networks. Metcalfs law states that the value of a network is directly related to the number of connections in that network. Bitcoin and Ethereum both have a public blockchain (referred to as Bitcoin mainnet and Ethereum mainnet) that anyone can participate in. Geth and Parity are the most popular tools to connect to the public Ethereum network.
Another kind of blockchain network to consider is a consortium blockchain. The consensus mechanisms of this blockchain are controlled by a limited set of nodes. The right to access the blockchain can either be restricted to the predetermined set of nodes or to the public (or to a mix of these rights). Considering these possibilities, consortium blockchains can be thought of as partially decentralized.
If you would like to read more on public and private blockchains, we recommend reading Public and Private Blockchains: Enemies or Allies? Why the Enterprise Ethereum Alliance will prove the latter by R. Tyler Smith, and we found the following quote quite relevant:
One thing that blockchains do extremely well is allow entities who do not trust one another to collaborate in a meaningful way. This is one reason people see so much potential in this immature technology.
So it stands to reason that eventually we will begin to see large scale deployments of the technology attempting to do exactly that, connect groups such as businesses, governments, churches, and the like. Public blockchains can already make this claim, however they currently fall short of particular requirements such as privacy and scalability. Private blockchains can provide solutions for these short falls and enable greater privacy and transaction throughput because all the nodes are strictly controlled. However, there is a trade-off, they do so at the cost of their ability to connect any and all to the network.
All three types of blockchains currently exist. For the rest of this book we will consider public blockchains, but it is important to recognize that many organizations are attempting to use blockchain technology to fit their specific use cases.