My understanding of Quorum is that private contracts have encrypted states hence I am confused as to how they reach consensus and prevent double spending. If each state is encrypted how can the nodes be sure a tx isn't double spent as the data is encrypted?

2 Answers 2


Quorum has two type of transactions, public transactions and private transaction. Public transactions get processed similar to as how public Ethereum processes transactions, get included in blocks and derive a public state.

Private transactions are flagged as "private" but are otherwise publicly visible and also get included in the blocks; the payload (data) is encrypted and can be decrypted by anyone who is part of the "private group". The private state isn't publicised because it's useless to anyone else but yourself and serves as the root-node in the private trie.

Private transactions can interact with public contracts on a read-only base. This is a restriction otherwise public state could be modified by private state, which would in turn yield different state across clients. Public transactions can not interact with private state.



Quorum has a privateFor: that contains a contract, state and related transactions to the parties involved. But, the parties involved in the private transaction see the contract. They execute the functions and hold the state in manner that is very similar to ethereum. It's just that non-participants who are not on the privateFor: list can't interpret the transactions.

Hope it helps.

  • Interesting... Thanks for your answer Rob. I must also ask, what about when you are using a contract and you don't want every participant to see (let's say bank A and bank b trade, but they don't want bank c to see it). Would they have to enter into a new contract entirely? Does every privateFor participant have a key to decrypt the states?
    – James
    Commented Jul 21, 2017 at 6:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.