How does J.P. Morgan's Quorum differ from Ethereum

Big banks are fascinated by blockchain technology. J.P. Morgan Chase partnered with Ethereum Enterprise Alliance to develop Quorum - a private blockchain that will be the bank's new brain.

How does J.P. Morgan's Quorum differ from Ethereum

J.P. Morgan Chase is one of the largest investment banks in the world, with $25 trillion assets under management. Of course, as part of their operations they transfer money and/or ownership stakes every day, often internationally and with other banks as counterparties in their deals. It's not surprising that they are looking into what blockchain technology has to offer, how it can cut unnecessary maintenance costs and bring the power of smart contracts into their day to day business.

In order to accomplish this goal the wealthiest bank of the United States establishes partnerships with the best. For the blockchain part of the infrastructure they joined Ethereum Enterprise Alliance. For the zkSNARK-based privacy tech on this blockchain they hired Zooko Wilcox, the creator of ZCash. And for the consensus part of the Quorum blockchain they've adopted battle-tested technology from Core OS called etcd. The use of the latter allows Quorum to achieve some desirable properties that are useful in a private blockchain installation.

In order to better understand how etcd is used inside Quorum, J.P. Morgan's fork of Ethereum, and why it makes all the difference, we'll need to study the history of Ethereum testnets and various consensus algorithms that can power a blockchain.



The mainnet of Ethereum achieves consensus via Proof-of-Work(POW). The upside of using POW is decentralization of block creators - the first lucky person to come up with a valid block gets to mine it and claim the reward. As more and more people join the mining network it eventually stabilizes, and it's even possible to design POW complexity adjustment algorithms that make the network produce blocks at consistent time intervals. Bitcoin's POW targets one block every 15 minutes, Ethereum's - every 15 seconds. Unfortunately, due to statistical nature of this time window generation algorithm it is impossible to make new block generation faster using POW without sacrificing network's availability and security for all network participants.

Another important downside of POW blockchains is the notorious 51% attack - if you manage to get 51% mining power in your hands you are able to manipulate the blockchain in malicious ways. In practice, however, mining reward incentive is strong enough that it prevents centralization of power on production blockchains such as Bitcoin and Ethereum. But testnets cannot boast the same property.

Ropsten is Ethereum's primary testnet that runs exactly the same POW code. Since this is a testnet and mining it does not produce a monetary reward, the network's hashrate is significantly lower. This opens up the door for malicious actors to suddenly turn on their production mining rigs on the testnet blockchain and assume 51% control of the network. This happened in February 2017, when unknown users decided to abuse the low POW and gradually inflate the block gas limits to 9 billion (from the normal 4.7 million), at which point sending in gigantic transactions crippling the entire network. Even before that, attackers attempted multiple extremely long reorgs, causing network splits between different clients, and even different versions. The hackers didn't get any monetary value out of it, but they essentially killed the testnet for all intents and purposes and rendered it unusable for smart-contract developers and researchers. The root cause of these attacks is that a POW network is only as secure as the computing capacity placed behind it. Restarting a new testnet from scratch wouldn't solve anything, since the attacker can mount the same attack over and over again. Ethereum developers had to figure out a new way to protect their testnets.



And so, Kovan and Rinkeby were born. Proof-of-Authority is a newer concept in the blockchain world where you have a number of pre-approved authority nodes (called sealers, think of these as mining nodes). Any new node that you want to add has to be voted on by the currently approved set of authority nodes, making it a permissioned system. This gives you full control over which nodes can seal blocks (mine) on your network. To make sure a malicious signer cannot do too much harm to the network any signer can sign at most one block out of N last ones, where N is a configurable parameter.

The Ethereum Proof-of-Authority protocol is called Clique and is well described in the Clique Github issue. Ethereum Foundation currently uses this algorithm for the Rinkeby test network. Essentially, using Proof-of-Authority allows Parity and Ethereum Foundation to maintain stable testnets (kovan and rinkeby, respectively) in a somewhat centralized manner. There is no monetary incentive to do so, however having stable testnets is great for dApps developers and the decentralized web3 ecosystem as a whole.

Proof-of-Authority is a good fit for test networks but not at all suited for public networks where the trust should be as distributed as possible. And once you remove the requirement for making a network trustless you can optimize your consensus algorithm in order to improve transaction throughput and make the network scale better.

Raft and etcd


For a private blockchain, it is possible to take established consensus algorithms for distributed systems, produced by years of hardcore Computer Science research.

Paxos and Raft are exactly the kinds of algorithms that we are talking about. They were primarily designed to power high-availability databases and distributed systems, such as the core infrastructure used by Google, Microsoft, Facebook, etc. One of the most popular implementations of Raft among large corporations and startups alike is Core OS's etcd. This is the heart of J.P. Morgan's Quorum and its secret sauce.

Using Raft instead of POA, POS or POW allows Quorum to produce a new block as fast as every 50 milliseconds. Compare this to Ethereum's 15 seconds - that is 300 times faster!

Note that these numbers will be forever impossible for a POW Earth-scale blockchain due to fundamental laws of physics. But for a privately owned blockchain with a trusted operator the decision to use etcd makes perfect sense and seems to be quite effective.

You can read more about Quorum and participate in its open source development here.

Related Articles