Entrepreneur | Co-founder @tbc_inc, an MIT CIC incubated startup | Speaker |https://vaibhavsaini.com
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.
Stay tuned and follow me to get the updates in next few posts.
But for now, let’s get started.
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:
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.
Now, if you just came out of nowhere into the blockchain, then you must be going crazy right now.
So, let’s break things down a bit…
On the highest level Quorum consists of 3 main components namely:
Lets explore them one-by-one.
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:
Note: The QuorumChain consensus algorithm is not yet supported by this release.
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.
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.
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.
And now, if you are still curious, then below is a list of useful links to get you more deep into the Quorum.
Quorum Consensus algorithm:
Security & Network Permissioning:
Hold down the clap button if you liked the content! It helps me gain exposure .
Want to learn more? Checkout my previous articles.