Node Architecture
Image: Diagram representing the composite client architecture of a Gnosis node
Architecture
Gnosis is an open peer-to-peer network of nodes operated by anyone in the world who runs the Gnosis client software.
Gnosis utilizes the same architecture as Ethereum, and has committed to building together with Ethereum and contributing to the research, engineering and tooling for Ethereum's stack.
Gnosis started out as a proof-of-authority sidechain to Ethereum with its own consensus algorithm in 2017. Gnosis Merged successful at block 6,306,357 deprecating legacy differences and aligning with Ethereum's new architecture, beginning with the Merge, with a goal of achieving 1:1 parity with Ethereum.
Composite Network Architecture
Gnosis (post-merge) utilizes the same composite layer architecture as Ethereum. Gnosis' network is created through the interaction of two layers: an Execution Layer (EL) network and a Consensus Layer (CL) network.
To run a Gnosis node, you need to run an Execution Layer and Consensus Layer clients, and allow them to communicate with each other. The combined EL-CL network works together to function as a Gnosis node.
Execution Layer
Gnosis Execution Layer is the legacy xDai "Eth1" network. The Execution Layer is where smart contracts and the EVM and network rules reside. Prior to the Merge, the Execution Layer utilized a Proof-of-Authority consensus, which was deprecated by the merge in favor of the Consensus Layer instead.
Period | Ethereum | Gnosis |
---|---|---|
Pre-Merge Consensus | Proof-of-Work | Proof-of-Authority |
Post-Merge Consensus | Consensus Layer | Consensus Layer |
Node Operators will need to run an Execution Layer client, which will interact with the Execution Layer network.
- Nethermind
- Erigon
- Geth (in progress)
Gnosis used to be supported by the Parity OpenEthereum client, but it has since been deprecated.
Consensus Layer
Gnosis' Consensus Layer utilizes the same architecture and tooling as Ethereum's Consensus Layer, and is a key sister chain to Ethereum in the emerging Ethereum Beaconverse. It is responsible for proof-of-stake incentives, and maintaining consensus chain, proposals and attestations, and fork choices.
The Consensus Layer consists of the Beacon Node and Validator Client software.
Component | Description | Communicates with |
---|---|---|
Beacon Node | Coordinates proof-of-stake consensus with other Beacon Nodes in p2p network | Other Beacon Nodes in Consensus Layer p2p Network |
Validator | Optional component that allows node operator to stake GNO and become an active participant in block proposals and attestations | Only the local Beacon Node |
Node operators will need to run a Consensus Layer client. In most cases, these are the same Ethereum Consensus Layer client, just run with a --network
flag!
- Lodestar
- Nimbus
- Teku
- Lighthouse
- Prysm (in progress)
Inter-Layer Communication
This post offers a good explanation of how the Execution and Consensus Layer work with each other.
Types of Nodes
Gnosis is similar to Ethereum in the types of nodes available:
- Light Nodes
- Full Nodes
- Full Nodes (w/o Validator)
- Archival Nodes