So You Want To Build A Blockchain: A Look at Public Vs Private Blockchain PlatformsJun 9, 2018, 5:08PM
While public blockchains like Ethereum are much more widely known, private blockchains for specific use-cases are increasingly common.
Though blockchain technology is more popular than ever, most of us only hear about it in the context of cryptocurrencies. Meanwhile, blockchain has broad applications across numerous sectors such as law, finance, recordkeeping, and data management. Furthermore, we mainly discuss only the most ambitious, large-scale public blockchains such as Ethereum, even though small, private blockchains are easy to implement and increasingly common. Here we compare the main characteristics and benefits of public and private blockchains.
Why Use A Public Blockchain?
The most important aspect of any blockchain is this: who has control over it? Many cryptocurrencies run on public (or permissionless) blockchains, which all users can potentially contribute to while still being restricted in some way.
Typically, participants have a somewhat random chance at determining valid blocks and adding them to the blockchain -- no one person can find them all. Block validators are rewarded with tokens; since valid blocks are hard to find, tokens are scarce and therefore valuable. This process is called mining, and often takes one of two forms:
Proof of Stake (PoS) and Proof of Work (PoW): Miners spend computer power on solving cryptographic problems, and the difficulty of solving the problem makes it unlikely that one miner will gain too much control over the entire blockchain.
But sometimes blockchains are not mined, and block creation is manually restricted:
What does this mean for you? If you need to use tokens that carry value, it is a good idea to use a public blockchain like Ethereum, which has already accumulated value based on the mining that the larger community has done. (However, you can also run a private blockchain on a public blockchain -- you will mine your own blocks, but your tokens won't necessarily be of value on the public blockchain.)
Ethereum is the best-known blockchain platform. Ethereum is mined on a proof of stake model and allows developers to create ERC-20 tokens. It supports decentralized web applications and smart contracts, which are automated code that can facilitate and automatically regulate the exchange of money, media content, intellectual or physical property, shares, basically anything of value.
There are also many simplified Ethereum derivatives:
- Ethereum on Azure: A service from Microsoft that automates parts of Ethereum development.
- EOS: A platform built on Ethereum that is intended to be easy-to-use and function without transaction fees. Users vote for "block validators" according to a dPOS model.
- Loom: A platform intended for game and app development contracts; it uses human-readable code that is easy to understand.
- Hydrachain: An extension to Ethereum intended for business applications that supports private and semi-private permissioned blockchains.
- Monax: A private, permissioned blockchain platform intended for legal contracts.
In addition to Ethereum, some platforms are built upon existing cryptocurrencies, while others have their own unique cryptocurrency:
- Multichain and Elements: Two platforms built on Bitcoin that allow "sidechains," semi-private blockchains that allow transactions to take place outside of Bitcoin's public blockchain.
- Waves: A blockchain platform intended to achieve fast transactions.
- IOTA: A variation on the blockchain that is intended to be used on a large scale and serve devices on the Internet of Things. In a blockchain, each block's validity depends on the block before it, whereas IOTA uses an interconnected "tangle" of blocks to determine validity.
- Credits: A blockchain that is intended to be fast and autonomous, functioning without human input.
- Stratis: A blockchain aimed at businesses that uses the common C# programming language.
Why Use A Private Blockchain?
For small-scale applications, mining-based consensus mechanisms are impractical.
First of all, you may not want control of the blockchain to be distributed randomly -- some people in your organization probably need special authority. You may want to restrict outsiders from looking into your private business matters.
Secondly, mining can be very expensive. You might not want to devote computer power to mining and may not need tokens in a private setting. In this case, you may want to use a private (or permissioned) blockchain.
There are a few ways of distributing control:
- Federated Consensus: Some or all users vote on which blocks are valid. Like mining, this is fair and allows users control over the blockchain. It is useful in high-trust settings such as team projects without leaders.
- Proof of Authority: Administrators have the privileges to determine which blocks are valid.
- Proof of Publication: Blocks are said to be valid depending on the time they were created; this is similar to time stamping. This method is simply used to ensure files are authentic.
Some platforms may support multiple types of consensus:
- Pluggable Consensus: The administrator can choose which type of consensus is used.
- Partitioned Consensus: The consensus model depends on which type of action, which part of the blockchain, or which type of asset is involved.
Blockchains Without Cryptocurrency
Let's look at some private blockchain platforms. Some platforms have quite general uses, and they are widely adopted by major organizations:
- Hyperledger Fabric: IBM's blockchain platform. It is intended for business and commercial purposes and is widely used by companies, such as Walmart and the banking service SWIFT.
- Corda: A blockchain platform targeted at banks, most notably adopted by HSBC Bank.
Both platforms are freely available, but you may want to use a platform targeted for a specific purpose. These platforms often have interfaces tailored to the area in question, making them easier to learn and implement.
One popular application for private blockchains is finance:
- OpenChain: A blockchain platform intended to be a highly scaleable ledger of transactions – it allows for partitioned blockchains, each with its own consensus model and privileged users.
- Domus Tower Blockchain: A blockchain platform targeted at small, high-trust financial groups who need to keep financial records.
- Chain Core: A VISA-backed blockchain intended for financial transfers that supports various assets, including money, securities, gift cards, and retail points.
- Quorum: An enterprise version of Ethereum developed by JP Morgan Chase for banking and financial purposes. It offers an easy-to-use interface called Cakeshop.
Another popular use for private blockchains is data management and file transfer. At least two platforms focus on this: Symbiont Assembly and BigChainDB. These platforms allow tight control over which participants can access data, and use the blockchain to ensure that the data is valid and not tampered with.
Broadly speaking, there are two ways to take advantage of blockchain technology for your particular needs.
One way is to build applications and smart contracts on top of public blockchains and existing cryptocurrencies. If you own the cryptocurrency in question, you can easily endow your project with value. If you don't, you can often build a private blockchain alongside the public blockchain.
The other approach is to use private blockchain platforms targeted at specific uses. This approach provides control over permissions and often provides specialized interfaces that may be more practical for small groups.
Summary of Platforms
|Loom||dPOS||Loom (ERC-20)||Games and apps|
|Domus Tower||Proof of Authority||Unknown||Finance|
|Chain Core||Federated/voting||Support for various||Finance|
|Symbiont||Proof of Publishing||Unknown||Data and files|
|BigchainDB||Federated/voting||Support for various||Data and files|
Disclaimer: information contained herein is provided without considering your personal circumstances, therefore should not be construed as financial advice, investment recommendation or an offer of, or solicitation for, any transactions in cryptocurrencies.