paint-brush
Quorum 101: Getting started with Quorumby@vasa
13,794 reads
13,794 reads

Quorum 101: Getting started with Quorum

by Vaibhav SainiMay 3rd, 2018
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

This post marks the first in a new Quorum series I am starting in an effort to provide some easy to read instructions covering topics I found online, particularly vast and hard to get started.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail

Coins Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Quorum 101: Getting started with Quorum
Vaibhav Saini HackerNoon profile picture

a bait to quorum lovers

This post marks the first in a new Quorum series I am starting in an effort to provide some easy to read instructions covering topics I found online, particularly vast and hard to get started.

In this post, we are going to cover a basic overview of Quorum. But if you want to get your hands dirty, then you can go here. Also, I am working on stress-testing EOS and HyperLedger Fabric. I have already stress-tested Quorum and the results are out.


Quorum stress-test 1: 140 TPS_Recently, I stress-tested a Quorum network consisting of 2 nodes on separate machines, and the result was 140 tps…_hackernoon.com

Stay tuned and follow me to get the updates in next few posts.

But for now, let’s get started.

What the heck is Quorum?

In simple terms, Quorum is just a blockchain platform based on ethereum. So, why don’t we use ethereum instead? Well, here is where Quorum does its work. It provides a layer on top of ethereum which enables it to perform private transactions and makes it more robust by using different consensus algorithms. Here are some of the key advantages of using Quorum over ethereum:

  • Privacy — Quorum supports private transactions and private contracts through public/private state separation and utilizing Constellation(see “Component Overview” below for explanation), a peer-to-peer encrypted message exchange for directed transfer of private data to network participants.
  • Alternative Consensus Mechanisms — with no need for POW/POS in a permissioned network, Quorum instead offers multiple consensus mechanisms that are more appropriate for consortium chains:

Raft-based Consensus — a consensus model for faster blocktimes, transaction finality, and on-demand block creation.

Istanbul BFT — a PBFT-inspired consensus algorithm with transaction finality, by AMIS.

  • Peer Permissioning — node/peer permissioning using smart contracts, ensuring only known parties can join the network.
  • Higher Performance — Quorum offers significantly higher performance than public geth(ethereum).

Now, if you just came out of nowhere into the blockchain, then you must be going crazy right now.

what is this!

So, let’s break things down a bit…

Component Overview

basic quorum architecture

On the highest level Quorum consists of 3 main components namely:

  • Quorum Node (modified Geth Client)
  • Constellation — Transaction Manager
  • Constellation — Enclave

Lets explore them one-by-one.

Quorum Node

The Quorum Node is intentionally designed to be a lightweight fork of geth in order that it can continue to take advantage of the R&D that is taking place within the ever growing Ethereum community. To that end, Quorum will be updated in-line with future geth releases.

The Quorum Node includes the following modifications to geth:

  1. ‘Proof of work’ consensus algorithm has been replaced with ‘QuorumChain’ consensus, a vote-based consensus mechanism.
  2. The P2P layer has been modified to only allow connections to/from permissioned nodes.
  3. The block generation logic has been modified to replace the ‘global state root’ check with a new ‘global public state root’.
  4. The block validation logic has been modified to replace the ‘global state root’ in the block header with the ‘global public state root’.
  5. The State Patricia trie has been split into two: a public state trie and a private state trie. This is done in order to keep the ledgers for the public and private transaction separate.
  6. Block validation logic has been modified to handle ‘Private Transactions’
  7. Transaction creation has been modified to allow for Transaction data to be replaced by encrypted hashes in order to preserve private data where required.
  8. The pricing of Gas has been removed, although Gas itself remains.

Note: The QuorumChain consensus algorithm is not yet supported by this release.

Constellation

Constellation is a general-purpose system for submitting information in a secure way. It is comparable to a network of MTA (Message Transfer Agents) where messages are encrypted with PGP. It is not blockchain-specific, and is potentially applicable in many other types of applications where you want individually-sealed message exchange within a network of counterparties. The Constellation module consists of two sub-modules: The Constellation Node (which is used for Quorum’s default implementation of a PrivateTransactionManager) and Enclave.

Constellation: Transaction Manager

Quorum’s Transaction Manager is responsible for Transaction privacy. It stores and allows access to encrypted transaction data, exchanges encrypted payloads with other participant’s Transaction Managers but does not have access to any sensitive private keys. It utilizes the Enclave for cryptographic functionality (although the Enclave can optionally be hosted by the Transaction Manager itself.)

The Transaction Manager is restful/stateless and can be load balanced easily.

For further details on how the Transaction Manager interacts with the Enclave, please see the Transaction Processing & Privacy page.

Constellation: Enclave

Distributed Ledger protocols typically leverage cryptographic techniques for transaction authenticity, participant authentication, and historical data preservation (i.e. through a chain of cryptographically hashed data.) In order to achieve a separation of concerns, as well as to provide performance improvements through parallelization of certain crypto-operations, much of the cryptographic work including symmetric key generation and data encryption/decryption is delegated to the Enclave.

The Enclave works hand in hand with the Transaction Manager to strengthen privacy by managing the encryption/decryption in an isolated way. It holds private keys and is essentially a “virtual HSM” isolated from other components.

Again, for further details on the Enclave, please see the Transaction Processing & Privacy page.

Below is a great article on how actually the private transactions occur in Quorum.


Choosing private blockchain tech: Quorum_More and more companies have become interested in blockchain technology. The promise of this technology is big…_hackernoon.com

And now, if you are still curious, then below is a list of useful links to get you more deep into the Quorum.

do your research…

Quorum Consensus algorithm:

Security & Network Permissioning:

Using Quorum

Product Roadmap

Learned something? Click the 👏 to say “thanks!” and help others find this article.

Hold down the clap button if you liked the content! It helps me gain exposure .

Want to learn more? Checkout my previous articles.


Quantum Computing: Is it the end of blockchain?_Experts are suggesting quantum computing may render blockchain obsolete. As the tech giants such as Google and IBM are…_hackernoon.com


EOS 101: Getting started with EOS, Part 1 - Hacker Noon_This post marks the first in a new EOS series I am starting in an effort to provide some easy to read instructions…_hackernoon.com


Setting up your first distributed private storage network on IPFS: Part 1_IPFS Private Storage Network Series_medium.com


13 sidechain projects every blockchain developer should know about_The whole world is going through the blockchain revolution. But wait…is this really what we dreamed of? Present…_medium.com

Clap 50 times and follow me on Twitter: @vasa_develop