Solana

Solana is a proof-of-stake blockchain launched in 2020 by Anatoly Yakovenko and Raj Gokal, who have first published the project's whitepaper in 2017. The network's idea is based on an idea first implemented with Ethereum - to be a scalable platform for both exchanging value and also running decentralized applications within the network. On Ethereum, these dApps are called smart contracts, on Solana, they're called programs.

Even though Solana uses Proof of Stake as its consensus mechanism as well as the account model to record balances and transactions on its ledger, there are major differences between the chain's architecture when compared to Ethereum.

Most of these differences come from Solana's commitment to being a single-state, monolithic blockchain - this means that there aren't any mandatory Layer-2 networks to offload validator load and all core node duties (consensus, data availability, execution, settlement) are handled by a single blockchain network instead of being split into multiple different chains/layers.

This essentially means that Solana's main focus is massive transaction throughput on its main, Layer 1, blockchain network, with the transaction speed commonly reaching 1000+ tps while Ethereum mainnet's tps is around 15 (and Bitcoin's around 7), which Ethereum aims to solve with high-performance Layer-2 networks such as Base.

The Solana Foundation calls this concept a "web-scale blockchain" - a blockchain able to handle a large number of concurrent users without sacrificing speed, similar to how web-based services processing requests from millions of users are architected. On a single layer, of course.

Unlike Ethereum, which never halted and was only extremely slow when congested, Solana had to be completely halted and restarted a couple of times since its launch in 2020. These outages were mostly caused by bugs or extreme validator overload caused by sniper bot transactions. Solana aims to address the outage issue as it matures over time by protocol changes and new validator software such as Firedancer.

In addition to the network architecture philosophy outlined above, there are also other key elements that make up the Solana network and make it highly scalable and quick, notably:

  • Extremely quick block time* (400 ms or 0.4 seconds)

  • Proof of History* - essentially a universal clock for the entire network (NOT a consensus mechanism)

  • Tower BFT* - Solana's Proof of Stake consensus mechanism optimized for PoH

  • Turbine* - Solana's block propagation protocol

  • Gulf Stream - Solana's mempool-less solution for forwarding and storing transactions before processing them (replaces a single chain-wide mempool)

  • Sealevel - Solana's engine that lets programs (smart contracts) execute in parallel

  • Pipelining - a process mimicking an optimization common in CPU design that speeds up the transaction validation process by breaking incoming data down into different stages and then processing it in parallel using different hardware components

  • Cloudbreak - Solana’s horizontally scaled state architecture, a custom database

  • Archivers - specialized nodes on the Solana network whose purpose is to store the complete blockchain history and make it available to validators (instead of storing the full copy on each standard validator node), essentially distributed ledger storage - not implemented yet

  • Firedancer - Firedancer is a Solana validator client currently being developed by JumpCrypto. It can push the theoretical tps of 50.000 to over 1 million transactions per second as demonstrated on a live call in 2022. There are other 3rd-party validator clients in development as well, but Firedancer is currently the most talked about - not implemented yet

*the current Tower BFT consensus mechanism optimized for PoH will be changed to a new, more robust and faster mechanism with Solana's planned Alpenglow upgrade, which, according to the Solana foundation, will come out in 2025. There are also proposed changes to the Turbine block propagatíon protocol that will be necessary for Alpenglow's release.

The current block finality time of around 12.8 seconds will be reduced down to 150 milliseconds with this upgrade.

Last updated