Running a Node Overview
This page offers an introduction to all of the concepts and artifacts to consider when running and managing a node. After understanding the overall concepts, you can dive into detailed information about each topic. Here, it describes what an algorand node is, outlines the types of nodes in the algorand network, how a node is related to the consensus and its participation, details how they fit into Algorand’s Pure Proof-of-Stake (PPoS) consensus, alternatives for running your own node and the considerations for maintaining a secure, efficient and healthy node.
Running an Algorand node is essential for participating in and maintaining the blockchain network. Whether you choose to run a relay node for network communication, a participation node for consensus voting, or an archival node for storing the complete ledger, your node plays a vital role in the network’s security and decentralization. This documentation provides a comprehensive guide to understanding and running Algorand nodes.
What is a Node?
A node is a computer, running the Algorand software (algod), that participates in the Algorand network playing a crucial role in maintaining the blockchain, by processing blocks, participating in the consensus protocol or storing data.
There are two primary types of nodes in Algorand:
-
Relay Nodes: Primarily facilitate communication by routing data to connected non-relay nodes. They interact with other relay nodes and distribute blocks to all linked non-relay nodes.
-
Non-Relay Nodes: Connect exclusively to relay nodes and can participate in consensus. While non-relay nodes may establish connections with multiple relay nodes, they do not connect directly to other non-relay nodes.
Also, depending on configuration, the nodes can be categorized as following:
- Archival Nodes: Store the entire blockchain ledger.
- Non-Archival Nodes: Retain only the last 1000 blocks.
- Participation Nodes: Actively engage in consensus by proposing and voting on blocks.
Consensus and Participation
Algorand uses a unique consensus protocol called Pure Proof of Stake (PPoS) to achieve agreement on the blockchain, using a VRF (Verifiable Random Function) to randomly select leaders to propose blocks and committee members to vote on block proposals. This process is weighted based on the stake each account holds
Algorand’s Pure Proof-of-Stake (PPoS) consensus relies on participation from online accounts. Nodes with valid participation keys can propose and vote on blocks- Managing participation keys and online/offline statuses is critical for ensuring network health and avoiding negative impacts on consensus thresholds.
Why run an Algorand Node?
Running a node on the Algorand network has several benefits that enhance the blockchain’s security, decentralization, and functionality. Below are the key points explaining why running a node is essential:
-
Support Network Decentralization: Each node contributes to the decentralization and security of the Algorand network, making it more resistant to attacks and single points of failure. Nodes worldwide improve geographic diversity and network robustness.
-
Participate in Consensus: By running a participation node, you can propose and vote on new blocks, directly contributing to the integrity of the blockchain. Algorand’s consensus protocol allows participation without locking or risking your Algo.
-
Earn Staking Rewards: Your Algo tokens automatically earn rewards for participating in the consensus process, unlike systems that require explicit staking or delegation. Your tokens remain spendable at all times, providing flexibility without compromising on rewards. Refer to Staking Rewards for more details.
-
Direct Access to Blockchain Data with Advanced Querying: Running a node provides direct access to the Algorand blockchain, enabling you to submit transactions, access real-time data. Additionally, running an archival node with an indexer enhances this capability by allowing advanced querying for specific transactions, accounts, or assets.
-
Ease of Setup and Maintenance: Algorand nodes use an efficient sync mechanism that requires only minimal disk space (~6-10 GB) for non-archival nodes. Your node can be fully operational within minutes using the Fast Catchup feature.
Running a Node
You can run an Algorand node (the algod software) using any of the following methods:
- NodeKit – A streamlined CLI tool that simplifies deploying and managing Algorand nodes. It offers pre-configured environments, making it ideal for developers and operators looking to quickly set up nodes for various use cases.
- Package Manager (Debian, Fedora and CentOS) – Install via official repositories, enabling standard system service management.
- Updater Script (Linux & macOS) – Required on macOS and supported on all Linux distributions, allowing a customizable data directory but relying on a manual update process.
Node Management
Node management involves preparing your environment to run a stable, high-performance Algorand node and following best practices that keep the network healthy and ensure reliability and performance. At a minimum, you need a computer that meets the published requirements, robust power backup, and a reliable internet connection (possibly with redundancy); and following best practices (e.g., not running multiple nodes on the same machine, overloading a node with too many participation keys, or under-provisioning RAM and CPU).
Proper node management also covers protocol updates, secure operating procedures, and, when needed, switching between networks.