Public vs Private blockchains
Despite the world’s first distributed blockchain being a public affair, several companies have entered the space and found ways to commodify the technology, leading to the creation of permissioned private blockchains.
Private blockchains differ to public blockchains in that the nodes which operate and secure the network are privately chosen. This means that the network is effectively centralized, due to the ownership of nodes by a single entity or a consortium of private parties.
Blockchain purists argue that this goes against the fundamental purpose of a blockchain, which is to be decentralized. Because decentralization is a cornerstone of blockchain security and integrity, the argument is that by centralizing all the nodes there is almost no point in running a blockchain.
Private blockchains, of course, have a place; otherwise, people wouldn’t use them. Despite the concerns around centralization, they are often faster and can process more transactions per second than public blockchains. Furthermore, the organizations using them may have less need for the benefits that a decentralized network confers.
For example, the privately operated Red Belly Blockchain can reach speeds of 30,000 transactions per second, whereas the highly popular public blockchain, Ethereum, currently transacts at a speed of roughly 15 transactions per second, although improvements are planned.
Public blockchains are also, by their very nature, public. This means that anyone can see the transactions, anyone can join the network and anyone can see the code. Allowing the public to view everything helps ensure compliance, transparency, and security but can also lead to exploitation. Furthermore, anyone can host a program on the network, which may cause the network to slow down if it becomes too popular.
So as you can see, public and private blockchains each come with their own set of strengths and weaknesses, which again differs depending on the particular blockchain at hand. Therefore companies, developers and users must choose which system they would prefer to run, depending on the task at hand.