Introduction To Quorum Blockchain

Posted By : Neeraj Kumar | 28-Dec-2018

Quorum Face To Face:


face to face
 

Quorum is a private permissioned blockchain protocol forked from the well known Ethereum blockchain protocol written in Golang (i.e. go-ethereum node).  Quorum’s USP is its private state database on top of ethereum blockchain protocol. Quorum deploys the use case of data privacy over blockchain protocol which is not present on ethereum like public blockchains. The heart of the quorum blockchain is its cryptography suite and transactions management for private transaction among concerned parties.  Quorum uses a voting based consensus algorithm and a transaction identifier to provide transaction privacy. At many points quorum reuses already available open source ethereum code and hence not reinventing the wheel for the same use cases as the ethereum code is already well tested and has a very large developer community base.

 

 

quorum image 1

[image source: Quorum whitepaper]

 

How Quorum Achives Data Privacy:
 
quorum image 2

[image source: Quorum whitepaper]

 

Quorum maintains two state databases for the world ledger, one is the public state database and the other one is the private state databases both have their world state committed over the same single ledger/blockchain. Whereas the public state database transactions block mined using the consensus directly from the well known public ethereum blockchain protocol the private state database transactions block mined using the quorum chain protocol using the which utilizes any of the voting based consensus algorithms. So the process of validating the blocks of public transactions is done by ethereum protocol the private state database related blocks are validated by executing the smart contracts code with the private state database onto the concerned node t come with the same output for that private transactions and after encrypting this transaction data it will be committed to the same single ledger but only be accessible to concerned parties and for these private transactions a ledger which is not a part of the in this transactions will simply skip the transaction validation.

 

quorum image 3

 

[image source: Quorum whitepaper]

 

For data privacy among concerned parties quorum deploys an encryption enclave and a transaction manager, the encryption enclave is responsible for transaction encryption with the public key of the node provided at the time of chain code deployment with a

 

 

 

privateFor: “<public key of the concerned node>”

 

parameter. After this chain code deployed with the public keys of concerned parties the transaction done using the target parties public key onto the private chain code will be encrypted with their public keys and will only be accessible to those and their state database is being maintained separately as private state database different from the public state database.
 

This way, quorum reuses the existing ethereum protocol to sync and maintain the public part of the ledger whereas the private part of the ledger is being validated and synced only to the concerned parties into that private transaction.

 

No Gas Required:

 
Gas image
 

[image source: source]

 

Unlike the ethereum protocol which requires the gas for mining the transaction blocks, quorum blockchain uses the voting based consensus and being a private permissioned blockchain it does not require a substantial gas amount for transactions meaning the gas amount is fairly pretty low and a high initial balance can be given to the node from the genesis file. As the quorum blockchain doesn't require the gas amount for transaction mining the resultant TPS throughput is pretty high and the benchmark tests for the performance shows that it is in dozens of hundreds of thousands which is pretty impressive in itself.

 

Conclusion:

Quorum looks promising to the business use cases where the data privacy and the high throughput is in high demand and it will serve well a variety of private permissioned blockchain use cases.

 
 
 
 

About Author

Author Image
Neeraj Kumar

Neeraj is a JAVA Developer who possesses skill set in: Data Structures, Core Java, Java Enterprise Edition (Servlets, JSP, Standard Java Beans), Spring (Spring-core, spring-MVC, spring-Data-Access, Spring-Data-JPA), Hibernate, JPA, HTML, CSS, JavaScri

Request for Proposal

Name is required

Comment is required

Sending message..