Introduction to Quorum: Blockchain for the Financial Sector
Finance is often considered the first industry that blockchain will completely disrupt. However, with any emerging technology, common adoption can be slow as organizations seek to understand and implement it properly.
Developed by J.P. Morgan, Quorum is one of the first major steps towards common adoption of blockchain among financial industries. Quorum is an enterprise-focused, permissioned blockchain infrastructure specifically designed for financial use cases.
Today’s Challenges for Blockchain and Finance
Beyond its novelty, blockchain raises some important concerns that can cause banks and other institutions to be hesitant about it. Namely, they take issue with the control of information, access, and full public transparency. Immutability and quick traceability are great, but a traditional bank would reasonably not want to expose its entire record of transactions to the public. Despite the pseudonymous nature of blockchains, it would be quite easy to unmask organizations that transact at the scale and frequency of banks. In addition, the threat of exposure of smart contracts would greatly concern these organizations.
Quorum was designed to placate many of these key concerns that financial institutions have regarding blockchains.
Quorum is built off Go Ethereum, the base code for the Ethereum blockchain. It functions very similarly to Ethereum, but with four major distinctions: network and peer permissions management, increased transaction and contract privacy, voting-based consensus mechanisms, and higher performance. Let’s look at each of these one by one:
Quorum is designed to be permissioned, meaning that networks using Quorum won’t be open to all, as they are in most cases with Ethereum. Because of this, permissioned blockchains operate with extremely different expectations of trust between approved nodes than permissionless ones, even if the architecture is roughly the same.
Namely, Quorum’s permissioned chain is a consortium blockchain; it is meant to be implemented between participants that are pre-approved by a designated authority. Although consortium blockchains are somewhat redundant (blockchains contain protocols to establish trust, so using them among an already trusted group is unnecessary), their initial use is understandable as these institutions seek to test their ability. A consortium blockchain runs with the same features and protocols of a normal blockchain, but maintains the failsafe of only relying on permitted nodes. As a result, organizations can glean the feasibility of blockchain tech without the possibility of catastrophic failure or breach.
In the long-run, should blockchain consensus protocols continue to perform securely, permissioned systems can eventually disappear as their redundancy becomes apparent: blockchains gain stability from a larger base of users, so explicitly trusting the nodes ignores the strength of the blockchain and limits the number of users included.
The permissioned nature of Quorum’s blockchain is rather fundamentally intertwined with some of its privacy protocols, and especially with the consensus mechanism. It seems unlikely to be phased out in future iterations.
Confidentiality of records has always been a concern of financial institutions that Ethereum and regular blockchains failed to tackle. The pseudonymous nature of transactions is easily undermined when it comes to applications for massive firms. Beyond its permissioned nature, Quorum seeks to further improve on this point by introducing ‘public’ and ‘private’ on-chain transactions. The public transactions act like normal Ethereum transactions. The private transactions are verified, but the details are not exposed.
Quorum manages much of its secure message transfers through a system called Constellation. Constellation is a general-purpose mechanism that is not necessarily blockchain-specific. It involves encrypting specific messages in communication with an enclave, a store of previous transactions, authenticity, and authentications. Much of the cryptographically-heavy work is done within the enclave and the communication relay between it. Constellation, and the architecture it supports, is one of the reasons for Quorum’s superior speed.
Below is a diagram of how private transactions are processed within Quorum:
In addition to privacy in transaction, there is also privacy for smart contracts, something many banks are particularly wary of exposing for security reasons. Such smart contracts could contain investment strategies, transaction data, or sensitive internal information. The privacy protocols for smart contracts are actually relatively straightforward and are shown in the following diagram:
In addition to the promise of private transactions and smart contracts, Quorum has been working with the Zcash team to integrate the zero-knowledge security layer (ZSL) into the Quroum protocol. Although the work is not yet production ready, the two have released a proof-of-concept technical design document.
Quorum’s consensus protocol is called QuorumChain and is initiated within the genesis block. QuorumChain is a relatively straightforward, simple majority voting protocol. A certain set of nodes are relegated voting rights and all with voting rights and confer voting rights to others. A smart contract is used within the genesis block to assign voting rights and tracks the status of all voting nodes within the network as it updates. Voting is triggered by a voting smart contract that pings voting nodes for them to commit to a transaction as the correct block at a certain height in the chain. All Quorum transactions include: a Global Transaction Hash, which is the hash of all transactions in a block; the Public State root hash; and the block maker’s signature.
Interestingly, the Quorum documentation contains a lot of references towards Raft, a popular consensus protocol for distributed systems, but nowhere does it seem to actually use it within the Quorum network. It is unclear whether the Quorum developers were trying to get inspiration for QuorumChain or merely draw analogies between the two. QuorumChain bears little resemblance to Raft and Raft is not employed anywhere within Quorum’s implementation.
Quorum is fast. The development team claims that the system can exceed hundreds of transactions per second, a massive improvement over standard Ethereum and Bitcoin rates, and ideal for usage in financial cases. Speed itself is one of the major roadblocks to blockchain adoption, a problem Quorum neatly sidestepped with its implementation.
The main reason for the massive speed increase comes from the simplistic consensus mechanism. A straightforward voting procedure called by a smart contract to a relatively small number of nodes is significantly fast than proof of work or proof of stake, especially amongst massive networks of nodes.
Quorum is really cool. Although it operates on a restrictive structure based around its permissioned nature and its consensus mechanism is by no means trustless, it has clear applications in a financial consortium. A collection of banks trying to improve their transaction infrastructure could see value to switching to this system. In addition, the network benefits from being a light-weight shift, allowing for future incorporation of code from the Go Ethereum base.
Although the tech is sound, as with any implementation of a consortium blockchain, it’s worth considering whether this use case actually requires a blockchain. Quorum seems like a great method to pave the way for other financial implementations of blockchain, but beyond the distribution of smart contacts, what does it do that a permissioned, centralized database couldn’t?