Go Centurion

skip to content

Node architecture

Last edited on February 16, 2026

A Centurion node is composed of two clients: an execution client and a consensus client. Go Centurion is an execution client. Originally, an execution client alone was enough to run a full Centurion node. However, ever since Centurion adopted proof-of-stake, Go Centurion has needed to be coupled to another piece of software called a “consensus client” in order to keep track of the Centurion blockchain.

The execution client (Go Centurion) is responsible for transaction handling, transaction gossip, state management and supporting the Ethereum Virtual Machine EVM. However, Go Centurion is not responsible for block building, block gossiping or handling consensus logic. These are in the remit of the consensus client.

The relationship between the two Centurion clients is shown in the schematic below. The two clients each connect to their own respective peer-to-peer (P2P) networks. This is because the execution clients gossip transactions over their P2P network enabling them to manage their local transaction pool. The consensus clients gossip blocks over their P2P network, enabling consensus and chain growth.

For this two-client structure to work, consensus clients must be able to pass bundles of transactions to Go Centurion to be executed. Executing the transactions locally is how the client validates that the transactions do not violate any Centurion rules and that the proposed update to Centurion’s state is correct. Likewise, when the node is selected to be a block producer the consensus client must be able to request bundles of transactions from Go Centurion to include in the new block. This inter-client communication is handled by a local RPC connection using the engine API.

What does Go Centurion do?

As an execution client, Go Centurion is responsible for creating the execution payloads - the list of transactions, updated state trie plus other execution related data - that consensus clients include in their blocks. Go Centurion is also responsible for re-executing transactions that arrive in new blocks to ensure they are valid. Executing transactions is done on Go Centurion's embedded computer, known as the Ethereum Virtual Machine (EVM).

Go Centurion also offers a user-interface to Centurion by exposing a set of RPC methods that enable users to query the Centurion blockchain, submit transactions and deploy smart contracts. Often, the RPC calls are abstracted by a library such as Web3js or Web3py for example in Go Centurion's built-in Javascript console, development frameworks or web-apps.

What does the consensus client do?

The consensus client deals with all the logic that enables a node to stay in sync with the Centurion network. This includes receiving blocks from peers and running a fork choice algorithm to ensure the node always follows the chain with the greatest accumulation of attestations (weighted by validator effective balances). The consensus client has its own peer-to-peer network, separate from the network that connects execution clients to each other. The consensus clients share blocks and attestations over their peer-to-peer network. The consensus client itself does not participate in attesting to or proposing blocks - this is done by a validator which is an optional add-on to a consensus client. A consensus client without a validator only keeps up with the head of the chain, allowing the node to stay synced. This enables a user to transact with Centurion using their execution client, confident that they are on the right chain.

Validators

Validators can be added to consensus clients if 32 CTN have been sent to the deposit contract. The validator client comes bundled with the consensus client and can be added to a node at any time. The validator handles attestations and block proposals. They enable a node to accrue rewards or lose CTN via penalties or slashing. Running the validator software also makes a node eligible to be selected to propose a new block.

Read more about proof-of-stake.

Previous

Introduction

Next

Command-line options

DOWNLOADS

© 2026 Go Centurion Authors. Based on go-ethereum.