# Types of Blockchains

## Summary


Historically, Blockchain started as a public permissionless technology when it was used for powering Bitcoin. Since then, other types of blockchains have been created. These can be categorized as a combination of public/private and permissionless/permissioned. Each type fits a specific set of use cases. When choosing a particular type, we have to be aware the tradeoffs.

In general, public/permissionless blockchains are open, decentralized and slow. Private/permissioned blockchains are closed and centralized, either partially or completely. They're also more efficient. It's also important to note that for some use cases, traditional databases may suffice instead of a blockchain.

## Discussion

### Could you describe the different types of blockchains?

Broadly, there are two types of blockchains: 

    + **Permissionless**: Anyone can join the network. They can read/write/verify transactions. The system is open. There's no central authority. This system makes sense when no one wants to use a trusted third party (TTP). Trust is therefore established among peers via an agreed consensus mechanism. While transactions can be read by anyone, it's also possible to hide sensitive information if so desired.
    + **Permissioned**: A central authority grants permissions to only some folks to read/write/verify transactions. Since write access is given to a trusted few, consensus is achieved in a simpler and more efficient way. Public read access may be allowed.Some classify blockchains as public, private and permissioned. In a private blockchain, controlling power is with only one organization. In a permissioned blockchain, controlling power is given to a few selected entities. Thus, no single entity can tamper the system on their own. These are also called federated or consortium blockchains. They are a compromise between the openness of public blockchain and the closed control of private blockchains. 


### How does one go about selecting a suitable blockchain type?

Blockchain is useful in applications where multiple entities write to a shared database, these entities don't trust one another and don't want to use a trusted third party intermediary. If entities are unknown or wish anonymity, then a permissionless blockchain is desired. Otherwise, go for a permissioned blockchain. 

Blockchain is also useful when multiple copies of a ledger are maintained. In this case, blockchain enables real-time reconciliation without have a third-party trusted intermediary. 

A public permissioned blockchain is one in which some trusted entities write to the chain but public is allowed to verify. For example, a consumer might want to verify the source of the fish she buys but only those involved in the supply chain have permissions to write to the chain. In some applications, such as Cryptologic, confidential transaction data is hashed before added to the public blockchain. 

A private permissioned blockchain can be used when control rests with a single trusted entity. If multiple organizations are involved, then a consortium blockchain is preferred. 


### What are the advantages of using a permissioned blockchain?

A permissioned blockchain is similar to a permissionless one except for an additional access control layer. This layer controls who can participate in the consensus mechanism, and who can create transactions or smart contracts. 

A permissioned blockchain gives the following advantages: 

    + **Performance**: Excessive redundant computation of permissionless blockchains is avoided. Each node will perform only those computations relevant to its application.
    + **Governance**: Enables transparent governance within the consortium. Also, innovation and evolution of the network can be easier and faster than in permissionless blockchains.
    + **Cost**: It's cost effective since there's no need to do spam control such as dealing with infinite loops in smart contracts.
    + **Security**: It has the same level of security as permissionless blockchains: "non-predictive distribution of power over block creation among nodes unlikely to collude." In addition, an access control layer is built into the network by design.

### Can you name some examples of the different types of blockchains?

Bitcoin and Ethereum are well-known examples of public blockchains but Ethereum can also be used to create a private blockchain. OpenChain enables private blockchains. Chain supports permissioned blockchains suited for financial applications. Patientory is a permissioned blockchain for electronic health records. Ripple is a permissioned blockchain. 

Bitcoin Cash, Zilliqa and Cypherium are permissionless blockchains. Universa and Oracle Network are permissioned blockchains. 

Some platforms can be configured to manage either any type of blockchain. For example, MultiChain and HydraChain can be used for private or permissioned blockchains. Hyperledger can be used for private or public blockchains. Hyperledger Fabric and R3 Corda are for private or permissioned blockchains. 

William El Kaim has curated a useful list of blockchains, blockchain platforms and applications.


### What's the point of private blockchains where immutability can be compromised?

It's true that since a private blockchains is controlled by a single entity or organization, it can be easily tampered. It's therefore argued that private blockchains are no better than shared databases. If trust and robustness are already guaranteed, one could simply use a database. Moreover, databases have for long supported code execution (example, via stored procedures) that are similar to what blockchain calls smart contracts. 

However, others argue that the use of cryptography and Merkle trees prevent non-valid transactions from getting added to the chain. With shared databases, hack on a single entity will corrupt the database for everyone. This isn't possible with private blockchains when a consensus algorithm such as Juno is used. 

## Milestones

Jan  
2009

Bitcoin is launched using blockchain technology. It's the first application of public blockchain. 

2012

Ripple, a permissioned blockchain is launched. 

2013

Ethereum, an open permissionless blockchain, is described in a white paper by Vitalik Buterin, a programmer involved with Bitcoin Magazine. 

Jul  
2015

Initial release of Ethereum, an open-source, public, blockchain-based distributed computing platform and operating system featuring smart contract (scripting) functionality. 

Dec  
2015

Linux foundation announces the creation of the Hyperledger Project, a permissioned open-source blockchain. 

2016

This is they year when people start showing greater interest in private plus permissioned blockchains than in public blockchains. This increased interest continues through 2018, as shown by Google Trends data collected in March 2018.