Skip to main content

Components

These are the main components of Tezos:

  • The data of the chain itself
  • The nodes that store the chain data, accept transactions to add to the chain, and verify transactions that other nodes add to the chain
  • The clients that send transactions to the nodes

Diagram

This diagram shows a high-level view of how the components of Tezos interact:

The blockchain data

Although people often use the word "blockchain" to mean the entire system, strictly speaking, a Tezos blockchain is a series of blocks of data, each connected to a previous block in the chain. Tezos has a primary blockchain, referred to as Mainnet, and a group of blockchains used for testing, referred to as testnets. Anyone can create a new blockchain in the Tezos system, so nodes reach consensus on which blockchain is the primary one and which block should be the next block in any specific blockchain.

Technically speaking, there can be many slightly different copies of each blockchain. When one node adds a block, its copy of the blockchain becomes slightly different from that of other nodes that haven't heard about the new block yet. Also, a node might add an invalid block that other nodes would challenge and refuse to add to their copies of the blockchain. In this way, the Tezos consensus mechanism resolves short-term differences and keeps nodes in long-term agreement about the state of the blockchain.

The data inside a Tezos block includes operations such as transferring tez between accounts, calling smart contracts, and adding messages to the smart rollup inbox.

Nodes

Tezos nodes are computers that store and manage the state of a blockchain.

The main types of Tezos nodes are:

  • Baking nodes, which bake new blocks and send them to other nodes

    In addition to baking new blocks, baking nodes are responsible for storing a copy of the current state of the blockchain data, known as the context. When they receive a new block from another node, they run each operation in the block, such as tez transfers and calls to smart contracts, and compute the new state of the context.

    Baking nodes are also responsible for communication with other nodes via a peer-to-peer network. Nodes communicate over this P2P network, also called the gossip network, to exchange new blocks and operations.

  • Accuser nodes, which verify the blocks that other nodes bake and challenge blocks that have problems

    The accuser monitors new blocks and looks for problems, such as when bakers try to add more than one block at a time. When it finds a problem, it submits a denunciation to other nodes to refuse the new blocks and punish the offending node.

  • Smart Rollup nodes, which run logic on a layer that is separate from the main Tezos baking process

Anyone can run a node and choose which node functions to run. Because different programs control functions such as baking blocks and challenging other nodes' blocks, your nodes can choose which programs to run.

Clients

Many clients can add operations to the network of nodes, including:

  • Web applications
  • Command-line applications such as the Octez client
  • Wallet applications
  • Applications that use SDKs such as Taquito

When a client adds an operation, that new operation becomes part of the mempool, which is a list of available operations. Nodes share operations with each other, so the node that bakes an operation into a block may not be the node that the client sent the operation to.