Solana: a high performance blockchain
Solana, a cryptographic Tour de Force which was built from the ground up to vaporise the limitations of current blockchains systems, requires, in order to truly be understood, a change of mindset and a radical extension of the vocabulary we normally use to describe and discuss Blockchain technology.
While this article is not technical in nature, the importance of Solana’s innovations will require us to spend a little more time than usual on the “tech” side of things. What is truly interesting about Solana is its use of terms and concepts lifted straight from the Rust programming language. This is no surprise as core members of Solana’s team are heavy contributors to the Rust ecosystem.
Let’s dive in!
So what is Solana?
This project, designed, built and maintained by the Solana Foundation, features blazing fast speeds: 400ms blocktimes and sub-second finality! The documentation describes a novel proof-of-stake (POS) architecture with a theoretical upper bound of 710 thousand Transactions per Second (TPS) on a standard Gigabit network and 28.4 million Transactions per Second on a 40 gigabit network – these figures put a fair amount of blockchains to shame and leaves them red-faced. Solana is so fast that it defeats the need for second layers or Shards.
In addition to this speed and responsiveness which are unheard of in blockchain systems, the Solana architecture supports the safe, concurrent execution of tens of thousands of programs (programs are to Solana what Smart Contracts are to Ethereum) written in C or Rust. These programs running concurrently can use as many cores as are available to the Validator.
The best way to visualize Solana’s architecture is as a set of Node Clusters. A Node Cluster is a group of Validators that work together to verify the output of untrusted, user-submitted programs and maintain the integrity of the ledger. Many clusters may coexist. A Solana cluster is capable of subsecond confirmation for up to 150 nodes with plans to scale up to hundreds of thousands of nodes. At any given time, only one Leader Node is expected to produce ledger entries. Of course, a leader Node could potentially be malicious, so Leader Nodes are rotated to minimize the influence of a potentially malicious leader. Leader Nodes remain so for a duration of time called an “Epoch”.
Proof of history
One of Solana’s most significant innovations is “Proof of History”. Proof of History can be described succinctly as a globally available source of Time that works before consensus. In November of 2017, Anatoly Yakovenko, Solana’s founder, published a paper describing a technique for keeping time between computers that do not trust one another. This technique was subsequently applied by the Solana team to timestamp blocks and demonstrate that the data hashed into proofs constitute a “before” and the generation of the proof an “after” – thereby establishing Time in a trustless system!
Solana native programs
Solana Native Programs are small “executables” required for the proper functioning of validator nodes. These native programs are an integral part of the validator implementation and can be upgraded as part of Node Cluster updates. The System program, for example, allows Validator nodes to create new accounts, allocate account data, assign accounts to owning programs and pay transaction fees. The Config program adds configuration data to the Chain and the list of public keys that are permitted to modify it. The Stake program allows the creation and the management of accounts representing stakes and rewards for delegations to validators.
Rent & Storage cost
One notion that will be absolutely novel to developers, and a bit challenging to understand is storage “Rent”. Rent is the storage cost of Data. Keeping accounts alive on Solana incurs a storage cost called rent. Rent is necessary because Node clusters must actively maintain the data to process any future transactions. The Rent fee is a fixed rate, measured in bytes-times-epochs. The rent is fixed at 19.055441478439427 lamports (a fractional unit of SOL, Solana’s native token) per byte-epoch for mainnet clusters.
Some accounts are exempt from paying rent if they deposit at least two years worth of rent. If the balance of an account that enjoyed a Rent exemption goes below the minimum required, then rent is automatically deducted.
Compute budget & SYSVAR accounts
To avoid a situation in which programs abuse Node Cluster Computational resources, each program is given a compute budget. The budget consists of computation units that are consumed as the program performs various operations and bounds that the program may not exceed. When the program consumes its entire budget it is halted. Fractional units of SOL, Lamports, are subtracted from a program’s budget when four types of operations are performed: System calls, logging, address creation and cross-program invocations.
Solana exposes Node Cluster state data to programs via SYSVAR accounts. These accounts provide critical information to Nodes such as the Time (the clock Sysvar, which contains data on node cluster time, including the current epoch, and estimated wall-clock Unix timestamp) and the Fee schedule. These accounts are easy to access as they are populated at known addresses.
Is Solana an Ethereum killer?
While it is clear that Solana’s architecture completely obliterates current Ethereum capabilities (not to mention a host of other Blockchains), it would be a mistake to position Solana as an Ethereum killer, as has been done on social media numerous times by overzealous ambassadors and advocates. In fact, Solana would greatly benefit from a type of Bridge that would unleash cross-chain liquidity and make it possible to bring assets from the Ethereum blockchain to Solana. Why would users and developers want to do this? As has been shown above, to take advantage of Solana’s low fees and incredible speed. The team behind Wormhole, a bidirectional bridge between Ethereum and Solana, understood that very quickly and built a platform that allows users and developers to move ERC20 tokens to Solana, and vice-versa. ERC20 tokens become SPL tokens (Solana’s very own token standard which is equivalent to Ethereum’s ERC20 standard) once bridged.
Because Solana possesses such a resilient and fast architecture, a multitude of projects are being built on top of it. There are currently 250 projects in the Solana ecosystem, with many more to come. A clear indication that the market believes Solana is a viable platform for the development of decentralized protocols is the recent 1600% increase in the value of its native token, SOL, which currently has a market capitalization of 12 billion dollars.
This platform is especially interesting for Decentralized Finance Projects. Perhaps the most famous of these projects is Serum, from Alameda Research, a high-speed, non-custodial DEX. Serum supports cross-chain swaps, the use of Oracles, and non-custodial wrapped BTC, BCH, BSV, LTC, ZEC, ETH and ERC20 tokens.
The recent “Gas Fee Crisis” made a multitude of users balk at the idea of using Ethereum ever again, and caused a mass migration of users towards alternative networks offering lower fees, such as xDai, Polygon, Fantom and Binance Smart Chain. Solana was well positioned to take advantage of such a situation, and certainly benefited from these untold levels of network congestion. Solana’s brilliant network architecture, a raw feat of engineering made possible by its use of Proof of History, bridged with Ethereum and perhaps other networks in the future, has become a key asset for the entirety of the Crypto Sector.