In this article we will take a look at the advantages and disadvantages of the blockchain framework Quorum for rapid prototyping and deploying fully functional blockchain networks for the government, corporate and consortium use cases. We won’t go deeply into specific industry use cases but will cover some aspects of the framework and how it compares with other blockchain software like Corda, Fabric, Exonum, Substrate and others.
The goal of this article is not to prove that Quorum is superior or inferior to other similar solutions. Quite the contrary — we will try to objectively understand the pros and cons of the technology and its potential applications.
At the end of the article I provide links and specific tools that will allow you to quickly deploy your own consortium blockchain based on Quorum with no coding or lengthy installation required.
What is Quorum?
Quorum is a framework with open source code created by JPMorgan and currently being used in a number of blockchain consortium projects. Quorum is built entirely on the Ethereum architecture and in its essence is a fork of the geth (Go Ethereum) client.
There are three main differences from the standard Ethereum protocol:
- Private Transactions
- New consensus mechanisms
The key functionality and differentiating proposition of Quorum is the improved work with confidential data which is almost always required by government or corporate customers. In comparison to Ethereum, each transaction in Quorum has a new property ** privateFor **. It guarantees that no one except the recipient specified there will be able to decrypt the transaction data.
This functionality opens up a wealth of opportunities for creating business processes with built-in auditing that preserves data privacy. For example, you can make a budgeting system for a corporation that on the one hand does not disclose data to external observers and on the other hand can reveal data to the auditor with immutability proof of the blockchain.
In permissioned blockchain networks with a limited number of participants it does not make sense to utilize fully distributed types of consensus such as Proof of Work and Proof of Stake. It provides trustlessness and independence from the number of participants in public networks but always increases the cost of executing and storing transactions: it’s one thing to store a transaction on ten corporate nodes and something else on hundreds of thousands of nodes around the world as in Bitcoin and Ethereum. Instead, voting-based consensus (BFT) is used.
For consortium networks, Quorum supports two types of consensus: ** Istambul BFT ** (IBFT, variation of PBFT) and ** RAFT **. Both types of consensus ensure quick cooperation of the nodes in a closed permissioned network and finalization of transactions.
The main goals of these consensus mechanisms are simplicity and reliability in permissioned networks, which at the same time fully preserve the main properties of private blockchains — immutability, verifiability and traceability of data.
Differentiating factor of any private blockchain is always its performance expressed in the transaction throughput or transactions per second (TPS). It directly depends on the method of consensus used in a particular network as well as the number of individual nodes. For smaller consortium network most business application require less than a thousand of distinct nodes but very hight throughput. For example, logistics or supply chain system might need up to a hundred of transactions per second.
In this experiment a stress test was performed on the Quorum network, which showed an average of 100 to 140 transactions per second. This is about 9 times higher than the bandwidth of the Ethereum public network. Of course, public (permisionless) blockchains sacrifice bandwidth for network inclusiveness and security. For non-public use cases Quorum allows for much more business processes onchain using the Ethereum architecture which is familiar and understandable to developers.
What’s the benefit?
The main advantage of Quorum is a huge developer community, extensive documentation and a large number of tools to simplify application development. Since the code and logic of Quorum mostly coincide with Ethereum, any dApp and smart contract can be easily and without additional work transferred from public Ethereum to Quorum consortium. You can use popular tools as Remix, Truffle, the Solidity language and you can save on hiring and payroll since those technologies are quite common today.
The support of the largest banks like JPMorgan and the largest IT companies (Microsoft ensures that the project will be maintained. Developers also claim to incorporate any new features or changes that will happen with official Ethereum clients.
Interesting! I want to try it out myself
Quorum source code can be found on GitHub, but you can also spin up a pilot Quorum-based consortium network very quickly with Chainstack which does all the heavy lifting such as node deployment and network setup for you.
First of all you need to sign up and navigate to console. Then just create a project and spin up a few nodes in your project. You just need to select cloud provider and type of consensus — the system will install the necessary software, connect individual nodes to the common network and configure the Block Explorer to display the blocks and transactions for you.
In fact, at this stage your consortium or corporate network is ready. You just need to invite other participants. To do this go to the Members tab and enter their email addresses. They will receive an invitation via email and get all the credentials required to set up and connect to their respective nodes.
Selecting a particular node in Chainstack gives you all the necessary data: IP address, node credentials, type of consensus, etc. Chainstack will automatically update the node to the latest version, scale the network if necessary and provide API smart contracts deployment. At this point you’re all set to start experimenting with business logic that fits to your specific use case.