Introducing Solana StrongGate

Felix Lutsch
November 15, 2019
5 min read

Open-Source High Availability Validation

The performance and security of a blockchain is determined by the nodes operating it. A conventional blockchain is limited by the transactional processing power of a single node in the network. To circumvent this limitation, most protocol designers come up with complex schemes to distribute work across a subset of nodes in the system. This is what we refer to as sharding. Sharding is a complex problem statement that requires well-thought out mechanisms to ensure safety and usability, especially with respect to composability of applications.

There is one team that stands out by taking a different approach to scaling a layer-1 blockchain network: Solana. Instead of trying to scale by adding more nodes, subsetting them across different blockchains, and then trying to economically link them together into one system, Solana is radically optimizing the performance of a single node on one chain (#NoSharding).

The results of this approach are astonishing: in a cluster with nodes running high-performance GPU-based validation hardware, Solana can achieve a throughput of tens of thousands of transactions per second on a single, composable, blockchain!

The Problem

Sustaining this type of performance in a production environment relies on more than low-level optimization and high-end hardware. Node operators need to be able to continuously operate- even in adversarial settings-both to ensure the network stays performant, and to maximize their rewards for maintaining the blockchain.

One way to achieve this is to rely on network engineers to troubleshoot nodes in case they go down for whatever reason. This solution comes with a host of problems and is putting pressure on individuals. This makes it not well-suited for an environment seeking to be the base layer of a new financial system. Imagine getting a call at night and having to manually fix a machine that is handling large amounts of value, knowing that a mistake can become extremely costly, even catastrophic.

Another approach is to institute an automated failover system consisting of multiple nodes communicating and deciding internally which of them gets to sign blocks. Such a design comes with its own challenges, especially around ensuring that no blocks are accidentally double-signed, which would lead to large slashing penalties. So far only a very small group of teams have explored this design space, e.g. Certus One and Chorus One.

An Open-Source Solution for High Availability: Solana StrongGate

With support from the Solana team, Chorus One has dedicated resources to build and maintain software to provide high availability validation tailored to the Solana network: Solana StrongGate.

StrongGate allows validators on Solana to run redundant infrastructure with a focus on protecting against accidental double-signing. StrongGate works by using the Solana blockchain as a detection mechanism and a highly available, strongly consistent database as a resolution mechanism to determine which of the validator nodes gets to sign blocks.

Watch Chorus One’s Meher Roy present StrongGate at the first SolCon in Osaka, Japan for a detailed breakdown of the design and rationale:

We will soon share the repo and more information on how to use StrongGate for your Solana validator operation. We’d like to thank Solana for their support and we are looking forward to continuing to contribute our part to build and operate the web scale blockchain that the world deserves!

About Chorus One

Chorus One is building validation and staking infrastructure for Proof-of-Stake networks.

We will offer staking on the Solana blockchain. You can support our work and earn staking rewards by delegating to our validator node.


About Solana

Solana is a web-scale blockchain with speeds up to 50,000 tps powered by Proof of History.


Originally published at on November 15, 2019.

 Join our mailing list to receive our latest updates, research reports, and industry news.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.