The following diagram outlines the GoQuorum high-level architecture.
Differences from geth¶
GoQuorum is a lightweight fork of geth. GoQuorum is updated as geth releases occur.
GoQuorum includes the following changes to geth:
- Consensus is achieved with the Istanbul BFT, QBFT, or Raft consensus protocols instead of proof of work.
- The P2P layer is changed to only allow connections between permissioned nodes.
- The block generation logic is changed to replace the
global state rootcheck with a
global public state rootcheck.
- The block validation logic is changed to replace the
global state rootin the block header with the
global public state root.
- The State Patricia trie is split into two: a public state trie and a private state trie.
- Block validation logic is changed to handle private transactions.
- Transaction creation is changed to allow for replacing transaction data with encrypted hashes to preserve private data where required.
- The pricing of gas is removed unless explicitly enabled. Gas itself remains.
For more information about the GoQuorum architecture and its differences from geth, contact us on GoQuorum support.