Blockchain technology was invented out of libertarian ideas. Bitcoin’s early supporters (and many current supporters) want cryptocurrencies and other blockchain applications to return power to the end-users and take it away from governments, banks and any type of centralized authority.
Despite this obvious threat to their power, banks and other big industries were quick to realize the usefulness of the underlying technology. These days, almost all of the world’s biggest companies are experimenting with blockchain technology for enterprise applications in one form or another.
However, the deliberately transparent and open nature of public blockchains is not suitable for all enterprise applications. Privacy, security and performance concerns have led to a different breed of technology stacks, more suitable for business applications.
Public versus Private Blockchains
Blockchains that are open for everyone to use are called public blockchains. This type of blockchain is ideal for applications that require transparency at a global level, such as cryptocurrencies. Users can freely join and participate in the network. The consensus protocols are typically accessible to everyone. Public blockchains generally do not provide any data privacy. Whilst there are some blockchains aimed at protecting the privacy of participants, transactions are typically public, and data is readable by everyone. Use of such blockchains in certain business scenarios is very difficult, as it is very hard to protect data.
At the other end of the spectrum, consortium blockchains are limited to identified and authorized participants. Private transactions between parties are often supported. In addition, as participating nodes are authenticated and can be trusted up to a certain point, consensus requirements can often be relaxed, leading to improved performance and scalability. It is this type of blockchain technology companies have found particularly useful to implement enterprise applications, such as consortiums companies participating in a supply chain.
Enterprise Blockchain platforms
The Hyperledger project is a collection of blockchain platforms and related tools. In particular, IBM’s open source blockchain solution, Hyperledger Fabric, has emerged as a popular alternative for business-oriented permissioned smart contract platforms.
Smart contracts on Hyperledger Fabric are called chaincode and can be written in a number of languages, with Golang being the currently best-supported language.
The main competition to Hyperledger Fabric for corporate consortium blockchains are enterprise adapted versions of Ethereum. The Enterprise Ethereum Alliance (EEA) is a consortium of companies supporting Ethereum for permission blockchains. Recently the EEA released their EEA Enterprise Ethereum Client Specification 1.0.
Quorum is J.P. Morgan’s enterprise version of Ethereum. The mature platform is mainly compatible with public Ethereum, meaning tools and open source code can be leveraged. However, the system also supports private transactions and private smart contracts.
Both options, Hyperledger and Enterprise Ethereum, are meant to be used with a limited number of authenticated nodes. This allows more efficient voting based consensus protocols to be used, improving performance and responsiveness of the overall system.