Overview of Quorum
Quorum is a permissioned decentralized platform that allows us to deploy DApps on top of it. DApps are created using one or more smart contracts. Smart contracts are programs that run exactly as programmed without any possibility of downtime, censorship, fraud, or third-party interface. In Quorum, smart contracts can be written in Solidity, LLL, or Serpent. Solidity is the preferred one. There can be multiple instances of a smart contract. Each instance is identified by a unique address, and you can deploy multiple DApps on the same Quorum network.
In Ethereum, there is an internal currency called ether. To deploy or execute smart contracts, you need to pay ether to the miners and as Quorum is a fork of Ethereum, the same thing exists here too. But in Quorum, ether is valueless and a fixed number of ether is generated at the genesis block, and no more ether can be generated after that. Both user accounts and smart contracts can hold ether. In Quorum, you need to have some ether to execute transactions on the network, but ether is not deducted and sending ether to another account doesn't deduct ether, therefore you can say ether in Quorum provides a way to track the owner of a account if anything suspicious is by a account by tracking the ether transfers and also provide a way such that to make transactions you need to get permission from one of the permitted members; that is, get some ether from a network member.
Currently, Quorum supports three consensus protocols: QuorumChain, IBFT, and Raft. In this book, we will learn only about Raft and IBFT as they are the most-used ones. For privacy, it supports two mechanisms: the zero-knowledge security layer protocol and private contracts. We will learn about private contracts but will not be covering ZSL as it's still not production-ready.