A node is a machine that runs blockchains. Each node has its own PostgreSQL instance and runs the Postchain node process.
Each node has a unique piece of configuration:
- Key pair (public and private key), which are used both for communication and for block-signing
- IP address and port
Public keys and IP addresses are visible to all nodes so that they can communicate. The private key is private for a node.
Chromia has two types of nodes:
- Signers - nodes responsible for verifying and creating blocks
- Replicas - nodes that verify blocks but don't create blocks
In Chromia, nodes are arranged in clusters that run blockchains. Each node can connect to any other node, but they mainly connect within a cluster. Each node outside the system cluster holds a replica of the system chain. That's how it gets updated on blockchain configurations.
One of the clusters is the system cluster. It's responsible for block production on the system chain. Other clusters are dapp clusters, running dapp blockchains. A system cluster can support multiple dapp clusters, thus making horizontal scalability possible.
You can organize dapps in different ways in a cluster. There can be:
- One dapp per cluster
- Several dapps per cluster