Why Firedancer
Why Jump Trading Group Built Firedancer
There are many blockchains in existence today, each with different advantages and disadvantages. What differentiates Solana is its design which enables the dissemination of frequent, inexpensive information. It is cheap to use so it does not impose an onerous cost on you as an end user. Solana can handle the high throughput requirements that come with the bursts of activity. Over the past twenty years, Jump has built a high-capacity, high-reliability, low-latency global network to support trading and address many of the scaling problems that Solana is currently facing. In doing so, Jump has had to think hard about how to take a flood of market data and process it more efficiently than competitors, which means pushing the limits of hardware.Leveraging experience over the last two decades in building a global network, Jump is well-positioned to significantly improve the power, reliability, and security of the Solana ecosystem.
Firedancer’s Goals for Improving Solana
Firedancer is intended to replicate Solana’s functionality but with higher performance. Consistent with Solana’s vision, the goal is to eliminate software inefficiencies and drive the performance to the limits of the hardware, while attempting to not create any new vulnerabilities.Performance at the Hardware Limit
Firedancer makes minimal use of third party libraries for cryptographic and network functionality where there are currently bottlenecks. Instead, it includes:- Custom AVX512 ED25519 implementation for signature verification
- High-performance kernel bypass networking for QUIC and UDP
- Novel reimplementations of core Solana primitives
- Optimized block packing logic
Improved performance means current performance needs can be achieved with lower cost hardware. This should encourage additional validator operators to join the network who were otherwise prohibited by current hardware requirements.
Client Diversity and Network Resilience
As a second validator codebase, Firedancer removes the risk of a single point of failure. As nodes are distributed more evenly among several independent codebases, the overall network becomes more robust against any one bug. Key Diversity Benefits:Independent Codebase
Firedancer is written in C, in contrast to the Rust codebase of the original Solana validator (Agave), which further reduces the likelihood of a vulnerability affecting the entire network.
No Shared Dependencies
Written from scratch with minimal third-party libraries, Firedancer is resilient to supply chain attacks in build tooling or dependencies.
Enhanced Security Model
Firedancer’s security model is inspired by methods used in the browser world which is under perpetual attack. Diversification of security approaches is another way the second validator intends to make the network more robust. The architecture of the validator allows it to run with:- A highly restrictive sandbox
- Almost no system calls
- Minimal attack surface
What the Firedancer Team Aims to Deliver
At a high level, the three functional blocks of Solana are network, runtime, and the consensus mechanism.Network Layer
The network layer is essentially code complete, and is being tuned and undergoing reviews by auditors. This includes:- QUIC and UDP ingress networking using high-performance kernel bypass
- Block distribution engine and egress networking with kernel bypass
- Full reimplementation of erasure coding
- Solana turbine protocol for packet routing
Phased Rollout
Phase 1: Frankendancer
A hybrid validator with Firedancer’s networking layer grafted onto the Agave runtime and consensus code. Currently available on testnet and mainnet-beta.
Phase 2: Full Firedancer
A fully independent validator with complete runtime and consensus reimplementation. Under active development.
Although the networking layer is much faster, Frankendancer’s performance may be bottlenecked by the legacy runtime and consensus code. However, Frankendancer still offers significant advantages with DoS mitigation and improved leader performance.