What is Solana?
Solana is a smart contract blockchain designed to provide the transactional speed and scalability of centralized networks on a decentralized network—without the traditional, complicated workarounds of sharding or layer two networks. Solana has a high transaction throughput thanks to its mechanism for synchronizing time across the network. Theoretically, the network can scale with Moore’s Law: as transactions increase, the storage capacity will halve. Solana uses “proof-of-replication” to enable the ledger to be distributed across “Archivers,” which maintain replicator nodes that store a part of the ledger.
Beyond its technical innovations, Solana is home to 301 DeFi projects, 297 Apps, 279 games, and 969 NFT projects. Solana boasts a considerable number of projects, evidence of an L1 with a developer-friendly approach. Unlike Cosmos, Solana is more similar to Avalanche in that it can scale vertically rather than horizontally.
Solana has seven key technologies that add to the speed and efficiency of the network. Altogether, they contribute to faster transaction processing time and secure data storage. This creates a platform friendly to applications with lots of transaction activity, like video games, NFTs, and DeFi activity. Seven key pieces of proprietary software enable Solana to have unparalleled speed.
- Proof of History (POH) – On-chain clock to mark history of a hash
- Tower BFT – Implementation of Bystinne Fault Tolerance aims to reduce messaging overhead and latency
- Turbine – Solana’s communication protocol
- Gulf Stream – Mempool-less transaction forwarding process
- Pipelining – a Transaction Processing Unit for validation optimization
- Cloudbreak – Horizontally-Scaled Accounts Database
- Archivers – Distributed ledger store
Tech Deep Dive
Solana core developers recognized a core problem with protocols: they rely on atomic clocks that are difficult to maintain and require a high level of precision to do so. In trust minimalized environments, this maintenance becomes even more complex. If a chain wants outside information brought into the system, the chain will require an oracle to report that data. But then the chain must confront the core problem with oracles – how do you know that information is correct? Therefore, nodes of the network cannot trust any outside source to tell the correct time.
Proof of History
Proof of history uses a recursive delay function to mark (or hash) incoming events and transactions. Every event has a unique hash along this data structure, creating a method to mark which transactions have come before and after another, creating verifiable order of events as a function of time. We can think of it as a cryptographic time-stamp. Each node gets its own cryptographic clock that helps the network agree on time and ordering of events without having to wait to hear from other nodes.
Solana’s custom implementation of Byzantine Fault Tolerance to reduce messaging overhead and latency. Since the ledger works as a reliable network clock, Solana has encoded PBFT time-outs within the ledger. A validator guarantees they voted for a PoH hash and will not vote for more child PoH hashes for N hashes. Then the time-outs for all the predecessor votes double, meaning that for every N hashes, the network can potentially be rolled back. But every subsequent vote after that rollback point will double the real-time that the network would have to stall before the network could unroll the state.
There is typically a fixed amount of bandwidth per node, requiring the chain to increase the node count. This increases the time necessary to propagate all the data to all the nodes. This is the scalability trilemma. Solana remedies this with Turbine, which is a process that only transmits data using UDP (a communications protocol like IBC or TCIP). When someone sends a transaction across the protocol, Turbine will ensure that the packet of information will take a random path through the network while the block producers stream that data. The leader will break the block packets in to 64KB and transmits those packets to other validators. Validators then send those packets to groups of peers called neighborhoods, which are responsible for transmitting a portion of its data to additional neighbors below it on the tree.
Turbine allows for faster communications. Solana, in particular, has a host of games on its network due to the ability of the network to process small transactions much more quickly than comparative networks such as Ethereum, making it popular for the micro-transactions that players make in video games. Solana does not have a Mempool, like Ethereum or Bitcoin, as part of processing fast transactions. A mempool is simply the place where transactions are stored before the chain verifies them, like a waiting room.
Solana calls process the Gulfstream. Clients, like wallets, sign transactions that reference a specific block-hash. Clients will select a relatively recent block hash that the network has fully confirmed. Based on how quickly the chain verifies blocks, confirmed hashes are only 32 blocks old, roughly 24 seconds. Clients then send that transaction to the leaders to verify and commit to the network. This allows transactions to be processed much more quickly and prevents frontrunning.
In addition to coming to a consensus quickly, to process transactions quickly, Solana needs to validate massive blocks of transactions quickly – it does this through an optimization common in CPU design called pipelining. Pipeline is a process “where there is a stream of input data that needs to be processed by a sequence of steps and there’s different hardware responsible for each.”
The pipeline mechanism works on Solana: data is entered into the pipeline at the kernel level, sent to signature verification at the GPU level, banked at the CPU level, and written in the kernel space. Solana claims the chain can be making progress on 50,000 transactions simultaneously at any single moment in time. This means that there is different hardware running different services to maximize efficiency.
From this step in the process, that data goes to validators to get distributed across nodes via Turbine.
In addition to the technical layers that Solana uses to process data more quickly, Solana also scales horizontally to accommodate more transactions and add more nodes to store information. Solana uses several mechanisms to optimize the current operating systems rather than a traditional database. The chain uses memory-mapped files, where the bytes are mapped into the virtual address space of a process. This allows the chain to preserve physical space. The process looks like this:
- The index of accounts and forks is stored in RAM.
- Accounts are stored in memory-mapped files up to 4MB in size.
- Each memory map only stores accounts from a single proposed fork.
- Maps are randomly distributed across as many SSDs as are available.
- Copy-on-write semantics are used.
- Writes are appended to a random memory map for the same fork.
- The index is updated after each write is completed.
Solana stores its ledger by encrypting its dataset with a public symmetric key using a type of encryption where a sequence of bits is encrypted as a single block, and the cipher key is applied to the entire block. Then, the chain periodically regenerates the hash on a signed Proof of History value – this ensures that the data is present during the generation of the proof. It requires validators to have the entirety of the encrypted data present for verification of every proof every identity.
Archive nodes, or nodes that store the entire state of the chain, receive ~3% of inflationary rewards. As a part of this role, they must share with the network how much space they have available on their nodes for storing data. The network divides the ledger history into pieces to target the replication rate and fault tolerance based on the number of Replicator identities and the total available storage of archive nodes. Once the network assigns data to each archiver, archive nodes download their respective data from consensus validators. The network will challenge archiver nodes to prove they’re storing data. They will need to complete a proof of replication.
Why is this tech important?
Solana is designed for decentralized applications that demand high throughput. Its architecture enables transactions to be ordered as they enter the network rather than by block. This allows for scalability in financial transactions, distributed storage, and gaming.
Financial systems lend themselves to benefit the most from Solana’s scalability. Particularly Decentralized exchanges (DEXes) and marketplaces in need of fair transactions (to prevent front-running).
Solana can process micropayments with low transaction costs (~$0.00001USD/tx) and sub-second transaction confirmation. This opens up opportunities for small payments in video games, payment processors, and e-commerce marketplaces.
Solana has an incredibly fast thorough-put by design that makes it unique to the industry. There is evidence that Solana can run 29,171 transactions per second, with an average of 2.34 seconds per block. Solana is significantly faster than other protocols, including Bitcoin (7 TPS), Ethereum (25 TPS), and Cosmos (10,000 TPS). This provides a wide range of use-cases for the protocol, especially where developers require transactions to be confirmed by the network rapidly. Solana’s growth strategies are centered around NFTs and improving user experience.
Future Developments / Roadmap
While the staking amounts did not have any additional growth in Q1, there was an increase in validators and delegators. In Q1, the validator count grew from 1,255 to 1,579 and delegations rose from 426,370 to 654,279 in Q1. Solana does not maintain a publicly facing roadmap. Based on the core team’s recent activity, we can expect the future developments to be continued around UX/UI design. One major development out of Solana is Neon, a Solana project building a smart contract layer that utilizes the Ethereum Virtual Machine (EVM).
In the future, Solana will continue to try to capitalize on its NFT activity and support additional gaming on the chain. In April, OpenSea announced that it would be supporting NFTs from Solana. A large gaming studio announced that it would start making Solana NFT games, capitalizing on its transaction speed and gaming-developer-friendly platform.
Staking Solana on Ledger Live
We are thrilled to partner with Ledger, a leading hardware wallet provider. Through this partnership, we are excited to bring staking to the Ledger Live dashboard with ‘Ledger by Figment’ staking nodes, starting with staking support for Solana $SOL. Staking through the Ledger ecosystem brings a wide range of benefits including ease of use, self-custody, security, and coverage. Staking also allows users to further participate in blockchain ecosystems, and earn yield.
Users can lock up their SOL tokens to earn rewards. The staked tokens help secure the network and enable its functioning. In return, stakers earn a share of the network emissions collected by the network. Learn more about staking Solana on Ledger Live here.