Skip to main content

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.

PeriodEthereumGnosis
Pre-Merge ConsensusProof-of-WorkProof-of-Authority
Post-Merge ConsensusConsensus LayerConsensus Layer

Node Operators will need to run an Execution Layer client, which will interact with the Execution Layer network.

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.

ComponentDescriptionCommunicates with
Beacon NodeCoordinates proof-of-stake consensus with other Beacon Nodes in p2p networkOther Beacon Nodes in Consensus Layer p2p Network
ValidatorOptional component that allows node operator to stake GNO and become an active participant in block proposals and attestationsOnly 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!

Inter-Layer Communication

info

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: