In the beginning, there was Bitcoin. The anonymous creator (or creators) envisaged a completely decentralized network for a global and public cryptocurrency. Thus, Bitcoin and its early successors were public blockchains to which anyone could connect.
This clearly makes sense for currencies that aim to be universal. It also makes sense for public smart contract platforms that aim to be a “world computer”, a term often used to describe Ethereum.
By definition a public blockchain allows anyone with the correct software to participate in the network. Any node may participate in the consensus process. Transactions are publicly visible to all participants.
From Cryptocurrencies to Enterprise Applications
Public blockchains are great for cryptocurrencies. In fact, it can be argued that public blockchains require cryptocurrencies to work. Consensus relies on the incentives provided to validators.
After the emergence of Bitcoin, enterprises quickly realized that the distributed ledgers maintained by blockchain networks can be very useful to many of their applications. However, they were also quick to realize that public blockchains have some serious limitations for them:
- Security: Allowing everyone to connect to the network exposes enterprise applications to additional risks. In smart contract applications, it is very easy to introduce unwanted execution paths or software bugs. On a public blockchain, vulnerabilities are visible to anyone and can be exploited.
- Privacy: Public blockchains are usually based on the principle of complete transparency. All transactions are visible to anyone and it is hard to keep secrets.
- Poor performance and Scalability: Consensus protocols for public blockchains are very expensive. In addition, all transactions are processed on all nodes, leading to reduced transaction throughput and poor scalability.
- Cost: The incentive systems used by most public blockchains mean that each transaction is subject to a transaction fee. In applications with high transaction volumes, these fees can add up quickly, making decentralized applications expensive.
Because of these limitations, companies have developed models that trade openness for security, privacy, and performance, and allow enterprises to leverage distributed ledger technology for their applications.
As the name suggests, permissioned chains require permissions in order for a node to participate. This means participants are known authenticated entities, for example, companies in a consortium. For this reason, permissioned blockchains are also known as consortium chains. In addition to authentication, permissioned blockchains often tend to provide privacy feature, such as private transactions between parties.
As the number of nodes is limited and the nodes are well known, different consensus protocols can be used. Voting protocols, such as Practical Byzantine Fault-Tolerance, are much more efficient than those used in public blockchains. Furthermore, the protocols do not require cryptocurrencies and transactions fees to incentivize nodes to maintain the network. Hyperledger and Quorum are probably the most known platforms for constructing permissioned blockchains.
Public or Permissioned
Public blockchains are great for cryptocurrencies and other publicly tradeable assets. They also work well for any application or smart contract that can benefit from global transparency. Permissioned chains have very clear use cases in business consortia. The latest technology advances even make it possible to combine the two models and move assets atomically between public and permissioned blockchains.