A Solana Validator Client Explained: Everything You Need to Know

This article provides a high-level overview of the essential aspects of Solana validator clients.

A Solana Validator Client Explained: Everything You Need to Know

As a blockchain, Solana distinguishes itself with its exceptional throughput and scalability, driven by the performance of its validator clients. These specialized software implementations equip nodes to execute essential tasks such as block production, transaction validation, and consensus.

This article provides a high-level overview of the essential aspects of Solana validator clients. We'll explore the basic definition of a validator vs. a validator client and highlight the different Solana clients available—Agave, Jito-Solana, Sig, and Firedancer. Lastly, we provide insights into what it takes to run a validator, including hardware requirements and economic considerations. 

Whether you're a developer, an aspiring validator, or simply curious about Solana's inner workings, this guide offers a concise yet comprehensive overview of everything you need to know about Solana validator clients.

Basics of Validators and Validator Clients

First, it is important to understand some fundamental concepts and distinctions within the Solana ecosystem related to validators and nodes.

Validator vs. Validator Client

Validator is a general term for a computational node on a blockchain such as Solana. Validators play a critical role in maintaining the network’s integrity and security. They validate transactions, propose new blocks, and ensure compliance with network rules. They perform checks, such as signature verification, to ensure that transactions are legitimate and conform to the network's protocols.

A validator client is a specific software implementation that enables validators to connect to the Solana blockchain and perform their required duties. Validator clients allow nodes to execute the necessary operations, such as validating transactions and producing blocks. Although different clients will all follow the same general protocol, each specific client can be implemented differently. For example, both Ethereum and Solana have multiple clients implemented in different programming languages.

Validator Nodes vs. RPC Nodes

Another important distinction related to validators is the difference between Validator Nodes and Remote Procedure Call (RPC) Nodes. While both Validator and RPC nodes are integral to Solana, they serve different purposes and functions.

Solana Validator Nodes are responsible for proposing and validating new blocks, participating in the consensus protocol, and securing the network. They earn rewards based on their performance and uptime, ensuring the robustness and reliability of the blockchain. Validators use mechanisms such as Proof of History (PoH) for timestamping transactions and Delegated Proof of Stake (dPoS) for consensus participation.

Solana RPC Nodes facilitate interaction between developers, users, and the blockchain. They provide APIs for querying blockchain data and submitting transactions but do not participate in the consensus process or block creation. RPC nodes are crucial for dApps, giving access to real-time blockchain data without the overhead inherent to the validator role. 

RPC providers such as Syndica offer an elastic-node architecture that automatically scales RPC nodes and can load-balance requests among them. This architecture is specifically designed for Solana RPC.

Depending on the specific validator client, a validator node can also provide RPC functionality if its operator enables it. This typically entails a performance penalty since the node must now serve RPC requests while remaining in sync with the rest of the Solana network.

To learn more, dive into our article on Understanding Solana RPC.

Validator Functions in Solana

Now that we’ve established the key distinctions, we can review the primary functions of a validator within the context of Solana. These can be broadly categorized into three categories:

  1. Block Production
  2. Block Validation and Replay
  3. Participating in Consensus

These functions are all part of Solana’s core protocol and must be performed by every validator. However, different validator clients may implement these functions differently.

Block Production

An essential aspect of the Solana protocol is that validators take turns, rotating individually into the leader role. The leader assumes the role of producing new blocks for the blockchain. If a validator is not in the leader role, it forwards newly received transactions to the current leader. When a validator becomes the leader, it aggregates incoming transactions from various validator/RPC clients, executes them, and assembles them into a new block. The leader leverages Solana's Proof of History (PoH) mechanism to continuously timestamp transactions, which allows for a verifiable and consistent order of events. The newly formed block, along with a signature of the updated ledger state, is broadcasted by the leader to the rest of the validators in the network.

Block Validation and Replay

When a validator receives the latest block’s transactions from the leader, it re-executes (replays) the transactions and performs several checks to guarantee validity. These checks include verifying the digital signatures to ensure that transactions are authorized by account holders, inspecting the transaction format for correctness, and ensuring that the block adheres to the expected sequence and timing set by the PoH mechanism. Each validator expects to compute the same exact final signature of the updated ledger state, which gives them the confidence to vote for the new block of transactions.

Participating in Consensus

Solana utilizes a Delegated Proof of Stake (dPoS) mechanism for network consensus, which relies on validators voting on blocks in proportion to their staked SOL. In this system, any SOL token holder can delegate their tokens to validators, granting that validator additional weight when voting and adding new blocks as a leader. The higher amount of staked SOL increases a validator’s voting weight and likelihood of being selected as a leader. Validators participate in the voting process to confirm and finalize blocks, with at least two-thirds of validators needing to vote favorably for a block to be confirmed.

Validators are economically incentivized through several reward structures, which we cover in more detail later in this article. Maintaining high uptime and optimal performance is crucial for validators to maximize their rewards, as penalties are imposed for downtime and missed slots. Validators with robust performance setups will attract more SOL delegations, enhancing their earning potential.

To aid in monitoring and optimizing validator performance, a number of public Solana validator dashboards are available. These tools provide real-time insights into key metrics like transaction confirmation times, stake distribution, APY, and commission changes. Validators and stakers can use these dashboards to track performance, receive alerts for issues like delinquency, and compare validators across a range of factors.

For example, Stakewiz offers a comprehensive dashboard that ranks validators using a proprietary score that factors in over a dozen metrics, such as vote success, skip rate, and stake distribution. The dashboard also visually represents stake concentration to encourage decentralization by highlighting validators with lower stake.

See the Additional Resources section at the end of this article for a complete list of validator-related dashboards and tools.

Solana Validator Clients

There are currently two different Solana validator clients in production: Agave and Jito-Solana. Two new validator clients are under development: Firedancer and Sig. In this section, we provide a high-level overview of each.

Agave

Developed by Anza (Formerly part of Solana Labs), Language: Rust

Key Features/Innovations:

  • First Solana Client: Agave was forked from the original Solana Labs validator software by Anza, a development team of former Solana Labs engineers. Anza now maintains the client's updates and feature enhancements independently. Agave is still the primary client on Solana and is, therefore, the first to integrate new features and protocol upgrades proposed by Solana Labs.
  • High Performance: As the original Solana validator client, Agave’s revolutionary design enabled extremely high throughput and low-latency transaction processing, establishing Solana’s reputation as a leading blockchain. Agave leverages Rust's performance and safety features and employs advanced algorithms and data structures to maximize the efficiency of transaction validation and block production.
  • Security and Reliability: Agave’s security is reinforced through proactive audits and timely vulnerability detection. The client’s architecture has been audited by Kudelski Security, who emphasized in their report the need for further large-scale testing and improvements to handle risks like network partitioning and resource exhaustion. The Solana Foundation also offers bounties for critical Solana security issues, which has proven to be a valuable additional safeguard. For example, BlockSec, a security firm specializing in blockchain, uncovered and patched a critical vulnerability in Solana’s virtual machine (rBPF) before it impacted mainnet.
  • Actively Maintained: Anza holds regular community engagement and feedback sessions. Validators using Agave will be at the forefront of Solana’s technological advancements and network improvements. For example, one such improvement is SIMD-0096, a recent protocol change that adjusts how priority fees are allocated to validators.

Resources:

Client GitHub Repository: https://github.com/solana-labs/solana & https://github.com/anza-xyz/agave

Jito-Solana

Developed by Jito Labs, Language: Rust

Key Features/Innovations:

  • MEV Integration: Jito-Solana is the first customized Solana validator client that incorporates an MEV marketplace directly into its codebase. This allows validators and stakers to earn additional rewards through MEV opportunities. MEV Searchers submit bundles of transactions to the Jito-Solana marketplace, and validators include the highest-bidding bundles in their blocks. This system enables slot leaders to earn tips from the highest-bidding MEV Searchers, significantly boosting their potential revenue.
  • Block Engine: The Jito Labs Block Engine integrates relayers, searchers, and validators via an off-chain block space auction. It simulates transaction combinations and forwards the highest-paying bundles to the validator slot leaders for block inclusion.
  • Spam Reduction: One of the major improvements Jito-Solana offers is a built-in mechanism to combat spam on the network. Using a relayer and auctions for high-value transactions prioritizes legitimate transactions and discourages spam, which helps improve overall network efficiency.
  • Security and Reliability: Jito-Solana has undergone rigorous security audits, including reviews by Neodyme and Halborn, two reputable blockchain auditors. The client is designed to be resilient, ensuring validators maintain uptime and effective performance even under high network loads.
  • Compatibility and Ease of Use: Validators do not need to modify their existing hardware to run Jito-Solana, and there are no additional fees beyond a 5% deduction on MEV rewards, which are incremental and do not impact staking rewards. This ease of integration makes it a practical choice for validators seeking to optimize their operations and profitability.

Resources:

Sig

Developed by Syndica, Language: Zig

Key Features/Innovations:

  • Optimized for Reads-Per-Second (RPS): Sig is being developed with an emphasis on optimizing reads-per-second (RPS), which differs from the more typical approach of optimizing transactions-per-second (TPS). Specifically, Sig is designed to handle heavy read calls more efficiently than the Agave client, thereby reducing slot lag on the network. Slot lag is a common issue within the Solana ecosystem when nodes are overwhelmed by read operations and cannot stay in sync with the rest of the network.
  • Code Readability: Sig is built with an emphasis on readability and simplicity, improving code accessibility for developers and lowering the barrier to entry for new contributors. Sig aims to offer a more straightforward implementation of the Solana validator than other clients. The Zig programming language has specific features that support this aim, such as transparent control flow and robust error handling, making the codebase easier to maintain and extend over time.
  • Low-Level Optimizations: The Zig programming language also allows Sig to leverage several modern language features for low-level performance optimizations. Zig's ability to seamlessly interoperate with C code offers significant performance benefits and lowers the risk of certain bugs. For instance, Zig facilitates using advanced system capabilities like io_uring for efficient asynchronous I/O operations and eBPF XDP for high-performance network packet processing.

Resources:

Firedancer

Developed by Jump Crypto, Language: C

Key Features/Innovations:

  • High Throughput: Firedancer is engineered to push the boundaries of transaction processing with over 1 million transactions per second (TPS). This performance boost is expected to dramatically improve Solana’s capability, far exceeding its current theoretical limit of 50,000 TPS.
  • Modular Architecture: Firedancer comprises multiple independent C processes, known as tiles, that work together to handle various blockchain operations such as packet processing, block distribution, and signature verification. This modular approach enables each tile to make full use of a CPU’s core. It also enhances security and fault tolerance by ensuring that the system remains operational even when some components become compromised or fail.
  • Kernel Bypass Networking: Firedancer employs high-performance kernel bypass networking using AF_XDP to achieve high-performance packet processing. This technique allows direct reading from network interface buffers, bypassing traditional kernel networking stacks and enabling faster data handling.
  • Security and Robustness: Firedancer leverages security models inspired by high-assurance environments, such as web browsers typically targeted by frequent attacks. Additionally, Firedancer minimizes reliance on third-party libraries for critical functions, reducing potential attack surfaces and vulnerabilities.
  • Zero-Downtime Upgrades: Upgrading Firedancer is designed to be seamless, with the ability to replace or update individual tiles without causing downtime. This is facilitated through shared memory objects that store validator state, allowing the system to continue operations smoothly during updates.

Resources:

Running a Validator

Operating a validator on the Solana network requires technical knowledge and an understanding of the financial dynamics involved. In this section, we’ll cover both the technical requirements and economics of running a validator node. We’ll also cover key performance metrics that validators must monitor, as well as additional tools and resources available to the community.

Technical Requirements

Running a Solana validator requires specific hardware to ensure optimal performance and reliability. While the following specifications are recommended, validators should conduct their own performance testing.

Minimum and Recommended Hardware Specs:

  • CPU
    • 12 cores / 24 threads, or more
    • 2.8GHz base clock speed, or faster
    • SHA extensions instruction support
      • AMD Gen 3 or newer
      • Intel Ice Lake or newer
    • AVX2 instruction support (to use official release binaries, self-compile otherwise)
    • Support for AVX512f is helpful
  • RAM
    • 256GB or more, motherboard with 512GB capacity suggested
    • Error Correction Code (ECC) memory is suggested
  • Disk
    • PCIe Gen3 x4 NVME SSD, or better
    • To support the large number of accounts on Solana: 500GB, or larger, high TBW (Total Bytes Written)
    • Ledger, where historical blocks and transaction data are stored: 1TB or larger. High TBW suggested
    • OS: (Optional) 500GB, or larger. SATA OK
    • The OS may be installed on the ledger disk, though testing has shown better performance with the ledger on its own disk
    • Accounts and ledger can be stored on the same disk, however due to high IOPS, this is not recommended
    • The Samsung 970 and 980 Pro series SSDs are popular with the validator community
  • GPUs
    • Not necessary at this time
    • Operators in the validator community do not use GPUs currently

It’s important to note that hardware demands to run a validator node are higher if the operator’s goal is also to serve RPCs. This includes requiring more threads (thereby, available cores and RAM) to serve these requests. A high-bandwidth NIC (Network Interface Card) may also be necessary, depending on the expected RPC volume.

Network and Data Bandwidth:

Validators must have stable and high-speed internet to manage data ingress and egress, which can be substantial depending on network load.

  • Minimum: 1Gbps symmetric, commercial-grade internet connection
  • Preferred: 10Gbps for optimal performance

Software:

Prebuilt binaries are available for Linux x86_64 on CPUs supporting AVX2 (Ubuntu 20.04 recommended). MacOS or WSL users may build from source.

If you’re considering running a validator, there are many free tools for simplifying setup and maintenance. For example, solv is an open-source CLI that streamlines Solana validator management, offering commands for setup, performance monitoring, key management, snapshots, and staking.

For more tools and resources that support validator setup and monitoring, refer to the Additional Resources section.

Validator Economics

When deciding whether to run a validator, different sources of costs and revenue should be considered. We will cover each below.

Hardware and Server Costs

The operational costs of running a Solana validator are significant, primarily due to the high-performance hardware required and ongoing server expenses. Validators often rent dedicated server hardware, as managing hardware in-house can be complex and costly. A common choice is the bare metal offerings from companies such as Latitude and OVHcloud. Server providers typically charge extra for data egress costs, which are a substantial cost component, given the validator client must communicate with the Solana network. Depending on the specific hardware configuration and region, the cost of renting a server for a validator can exceed $700 a month.

Voting and Transaction Costs

Running a validator also incurs costs from voting on block confirmations and participating in the consensus mechanism. Each vote transaction incurs a fee, typically 0.000005 SOL (5,000 lamports) per vote. Given that an epoch spans approximately 2 to 3 days and validators need to vote on each block, this can result in an annual cost of roughly 300-350 SOL, or approximately 1 SOL per day.

In summary, between server rental, data bandwidth, and voting costs, running a validator can cost between $40,000 and $70,000 annually, depending on various factors such as your server configuration and data usage.

Staking Rewards

Stake rewards are a primary revenue source for validators on the Solana network and are distributed from the inflation pool once per epoch. The basic formula for a single validator’s rewards in a single epoch is as follows:

Note that the Staking Yield and Staked Amount will depend on whether you are staking indirectly by delegating SOL to a validator (and paying commission), vs. operating a validator yourself and directly staking SOL (and potentially charging a commission on additional delegated funds).

Receiving stake delegations can be a critical part of a validator's economic model. Validators can attract stakers who will delegate their SOL to the validator’s node, thereby increasing the validator's stake weight and chances of being chosen as a leader. The validator then earns a portion of the rewards generated by their delegated stake according to their commission rate. The process involves setting up a vote account and securing a reserve of SOL. To participate in staking, validators must ensure their infrastructure meets the necessary performance standards to provide reliable service and justify delegators' trust.

In the Staking Rewards formula above, the total Staked Amount will comprise the self-staked SOL of the validator plus the commission earned on delegated funds. The validator’s total yield can be calculated as follows:

From the formula above, we can see that the yield depends on the following factors:

  • Inflation Rate: This is predetermined by the Solana protocol and decreases annually. Validators benefit from higher rewards in earlier phases of the inflation schedule. The annual inflation rate was initialized to 8% in 2021 and is set to decrease by 15% year-over-year. Inflation is currently about 5% and will eventually reach a long-term fixed rate of 1.5% annually.
  • % SOL Staked: The proportion of total SOL staked directly impacts the rewards distributed to validators. Currently, this figure stands at about 2/3rds of the SOL supply.
  • Commission Rate: This commission rate charged by validators typically ranges from 0-10% and is the price delegators pay to validators for staking their funds. The income from commission incentivizes validators to maintain high uptime and performance to attract more delegated stake.
  • Validator Uptime: Validators' uptime and successful vote participation will ultimately determine their final share of the rewards.

Transaction Fees and MEV

Solana validators also accrue income from transaction fees and Maximal Extractable Value (MEV). Transaction fees on Solana consist of a base fee (0.000005 SOL) and an optional prioritization fee for prioritizing transactions within blocks.

MEV represents profits from including, excluding, or reordering transactions within blocks. Validators utilizing specific clients, such as Jito-Solana, can earn additional MEV rewards.

Combining staking rewards, transaction fees, and MEV, the average validator earns roughly 1.5 SOL per month; however, this figure will depend entirely on the validator's total staked amount. 

Validator profit calculators can be helpful for estimating potential earnings by factoring in all of the different variables discussed above. For example, the Cogent Validator Profit Calculator uses real-time blockchain data to help validators make informed decisions about their returns. For a full list of available calculators, refer to the Additional Resources section.

Monitoring Performance Metrics

Proper monitoring is crucial for maintaining a high-performance Solana validator. Validators should use Prometheus, Grafana, and other tools to track real-time metrics. Below is a summary of the most important key performance metrics.

  • Node Metrics: CPU, RAM, swap file, disk space, network utilization, and other node metrics will help identify issues such as memory leaks, inefficient code execution, or hardware limitations. It is especially important to monitor for these issues during client version upgrades or when new usage patterns emerge within the network.
  • Validator Uptime: the percentage of time that the validator is active, i.e., validating and participating in consensus. When a validator is not online, it is considered delinquent by the network, and its performance metrics will be negatively affected. To maximize rewards and minimize penalties, aim for 100% uptime by ensuring that your node has sufficient stake, sufficient computing resources, and is up to date with the latest version of the validator client.
  • Validator Skip Rate: the percent of the slots when in the leader position, the validator failed to produce a confirmed block during its allocated window of slots. Skips can occur if the validator is delinquent or if the majority of validators voted on a different fork. A high-performing validator will typically have a skip rate under 5%.
  • Validator Identity Account Balance: the balance of the validator account used to pay vote transaction fees. If this account runs out of SOL, the validator cannot vote and will become delinquent.
  • Average Root Distance: the distance in block height between the validator and the network’s highest block. Regularly compare your validator’s average against other validators in the network.
  • Average Vote Distance: similar to the Root Distance, this is the distance of a validator’s votes relative to the latest votes among all validators.
  • Subsequent Leader Skip Rate: similar to Skip Rate, but measured for the leader immediately following your leader window. If the subsequent leader performs poorly, your validator may not propagate blocks effectively during the leader hand-off process.
  • APY: the growth rate of the validator’s stake account balance. Annual Percentage Yield (APY) is essentially your validator’s bottom line. Currently, validators earn APYs around 7%. Compare your APY with other validators to assess overall performance.

Additional Resources:

The official Solana Labs documentation on operating a validator provides a comprehensive guide to setting up, maintaining, and optimizing both Solana validators and RPC nodes, along with best practices and prerequisites for efficient operation.

The Solana Foundation’s new Delegation Program supports node operators by helping them maximize decentralization, reliability, and performance through testnet participation, incentive payments, and vote cost coverage. Node operators who meet performance criteria can receive matched stake from the Foundation and gradually build independence, with the program designed to help new validators establish themselves and grow their stake while contributing to the network’s decentralization.

Validator Setup and Monitoring Tools

The Smart Validator Toolkit (SVT) streamlines the setup, monitoring, and control of Solana validators with analytics, alerts, and on-chain messaging, offering varying levels of management from basic monitoring to full node control.

The "solv" CLI tool streamlines Solana validator management by providing commands for setting up nodes, monitoring performance, managing keys, handling snapshots, and staking.

The Solana Validator Manager automates the process of bootstrapping and maintaining Solana validator nodes using Ansible scripts that follow best practices for consistent, reliable node management.

This AWS guide shows how to deploy Solana consensus and RPC nodes on AWS, covering node types, recommended EC2 configurations, and setup options for single-node and high-availability deployments.

The Solana Exporter is a modular monitoring solution for Solana validator nodes that is implemented in Rust. It includes a Prometheus exporter, a Docker container for easy deployment, and sample Grafana dashboards. The tool helps monitor validator performance, manage stake pools, and track cluster health with setup instructions for Prometheus, Grafana, and alerts.

The Solana Validator Monitoring Tool enables easy setup of performance monitoring for Solana validators using Telegraf to collect metrics and send them to a dashboard, helping operators track validator and server performance with minimal impact on resources.

Validator Profit Calculators

These calculators allow Solana validators to estimate their earnings by adjusting server costs, commission rates, delegated stake, Solana price, and operational costs. They can assist in building more detailed projections of potential profits, accounting for gross earnings, validator fees, and the impact of compounding returns using real-time blockchain and market data.

Public Solana Validator Dashboards

  • Validators.app Dashboard: https://www.validators.app/ - tracks Solana validator performance with metrics like confirmation times, stake distribution, and alerts for commission changes and delinquency.
  • SolanaFM Validator Network Dashboard: https://solana.fm/validators?cluster=mainnet-alpha - provides detailed stats on active validators, skip rates, staking APY, and node version statistics.
  • Solana Beach Validator Dashboard: https://solanabeach.io/validators - offers insights into validator performance, tracking cumulative stake, skip rates, APY, and real-time node statistics.
  • Marinade Finance Validator Dashboard: https://app.marinade.finance/network/validators - provides real-time metrics like APY, skipped slots, and stake distribution, focusing on transparency in stake pool delegation.
  • SVT Validator Dashboard: https://svt.one/dashboard - displays validator metrics like APY and JScore, with wallet integration for managing validator nodes.
  • Stakewiz Dashboard: https://stakewiz.com - ranks validators using the Wiz Score based on metrics like voting success, skip rate, and commission history, with alerts for key changes.
  • Jito Explorer Dashboard: https://explorer.jito.wtf - provides insights into Solana bundle transactions, validator tips, and staking options like JitoSOL.
  • Solscan Solana Staking Analytics Dashboard: https://solscan.io/analysis/solana_staking - tracks Solana’s staking metrics, including active/delegated stake, stake volumes, and vote account performance.
  • StakeView.app by Shinobi Systems: https://stakeview.app - ranks Solana validators based on performance and provides resources like the Solana Poor Performers List and stake history.

Conclusion

Solana's validator clients are key to the network’s performance and security, enabling block production, transaction validation, and consensus participation. With options like Agave, Jito-Solana, Sig, and Firedancer, each offering unique optimizations, validators can choose the client that best suits their needs. 

Running a validator is a technical and financial commitment, requiring robust hardware, consistent uptime, and attention to network changes. Successful validators are compensated for their contributions through inflation rewards, transaction fees, and MEV opportunities. As Solana evolves, validators will continue to play a central role in its scalability and decentralization.

--

Syndica empowers principal enterprises and architects advancing the Solana ecosystem. In building the Cloud of Web3, we provide best-in-class RPC node infrastructure, Developer APIs, a robust end-to-end platform, and the next cutting-edge Solana client validator, Sig, written in Zig. Our team offers the dedicated support, reliability, and user-focused orientation for seamless integration with Solana, allowing you to focus solely on building your enterprise.

Get started quickly today for free at syndica.io, and check out our documentation here.