Solana (SOL)

For cryptocurrency to have mass adoption, blockchains need to address scalability problems. A functional blockchain needs to process transactions faster than a centralized payment system. Scalability is one of the most important and toughest adversaries among current cryptocurrency’s projects. Even Bitcoin and Ethereum have problems scaling their transaction process. However, a new blockchain called Solana claimed to be scalable, decentralized, and secure. What is Solana? And how can Solana scale through its 8 key innovations?

History of Solana

In late 2017, Anatoly Yakovenko published a whitepaper explaining Poof of History (PoH), a timekeeping technique among computers that do not trust each other. Anatoly watched how blockchain without clocks like Bitcoin and Ethereum struggle to scale beyond 30 transactions per second (tps), while centralized payment systems like Visa can process up to 65,000 tps. He knew how a reliable clock can synchronize the network faster and simpler.

Having solid experience designing distributed systems at Qualcomm, Mesosphere, and Dropbox, Anatoly began to implement the system in C programming language. Greg Fitzgerald, a former colleague at Qualcomm, encouraged him to reimplement the project in the Rust programming language. Greg believed Rust's safety would improve software productivity. In mere two weeks, a single scalable blockchain called project Loom was created.

In February 2018, Greg began prototyping the first open-source implementation of Anatoly’s whitepaper. Published to GitHub, Greg demonstrated 10,000 signed transactions could be verified and processed in just over half a second. Later, another former Qualcomm colleague, Stephen Akridge, demonstrated throughput could be improved by offloading signature verification to the graphic processor. Anatoly, Greg, Stephen, and 3 others co-founded a company called Loom.

Due to confusion with Loom Network, an Ethereum based project, Anatoly and team decided to rebrand to Solana. The name Solana comes from a small beach town North of San Diego called Solana Beach where Anatoly, Greg, and Stephen lived and surfed for three years when they worked for Qualcomm.

Solana Labs began raising funds in Q2 2018. Currently, Solana has been raising more than $335.8 million from various private and series investments. With notable investors such as Polychain Capital, Andreessen Horowitz, and of course Sam Bankman-Fried, the co-founder of FTX, through Alameda Research.

8 Keys Innovations

Solana is scalable, decentralized, and secure. In theory, Solana can process up to 710,000 transactions per second without any scaling solutions needed. Solana’s block time is 400 milliseconds. What makes Solana different from other blockchain is its eight innovations: Proof of History, Tower BFT, Turbine, Gulfstream, Sealevel, Pipelining, Cloudbreak, and Archivers.

Proof of History (PoH): A Clock Before Consensus

Imagine the world does not have a single centralized clock. Everyone has their own version of time. The clock on the train station might be 10 minutes faster than on your wristwatch. You and other people would probably miss the train. As communication becomes more important, the world agrees on a standardized clock and time zone. Even your computer and phones too will check back with a centralized clock when connected to the internet to make sure its clock is accurate.

The same problem exists in distributed systems. How do you determine time when there is no single centralized clock? How do you validate information without a central source of time? Other programmable blockchain like Ethereum rely on outside programs to assign a median timestamp. Solana uses an innovative technology called Proof of History, building timestamps inside the blockchain itself. This is done through a verifiable delay function or VDF. Anatoly Yakovenko says “Every block producer has to crank through the VDF, this proof of history, to get to their assigned slot and produce a block.”

Proof of History Timestamps

Proof of history uses a recursive VDF to hash incoming events and transactions. Every event has a unique hash and counts along these data structures as a function of real time. This information tells us what event had to come before another. These cryptographic timestamps provide us with a verifiable order of events. Each node gets a cryptographic clock that helps the network to agree on time and ordering of events without having to wait from hearing from other nodes. Therefore, Solana can be fast and secure.

Even with a tiny bit of information or not connected to the rest of the network, any individual node can validate the entire chain. “Everybody has this local synchronized atomic clock and these clocks never need to be resynchronized,” Yakovenko says “So even if we get cut off and communication links go down, our clocks never drift because they are logical based on this SHA256.”

Moreover, because the blockchain can be verified by little information, Solana blockchain can verify transactions in parallel. In theory, Solana can process up to 710,000 transactions per second without any scaling solutions needed. Solana’s block time is 400 milliseconds. This is very fast compared to Ethereum 30 transactions per second with 10 second of block time.

Tower BFT: A PoH-Optimized Version of BFT

Tower BFT is an optimized version of Byzantine Fault Tolerance (BFT). Byzantine general problems highlight the fact that there is no central authority to be the custodian of assets and no central authority to verify assets and transactions. If there are malicious nodes that spread false information and disturb the communication, how many transactions can be malicious without the system having to refuse a transaction?

On top of Proof of History, Solana runs Tower BFT consensus. The consensus algorithm designed to take advantage of the synchronized clock. PoW rewards the miners for solving computational problems, while the stackers of PoS earn the transaction fees when creating the next block based on how much they have ‘staked’. In PoH, each time a node on the network votes for a particular fork, they commit a certain amount of time to be locked from voting the opposing fork. This locked out period grows exponentially as they continue to vote on the same fork until reaching a maximum lockout of 32 votes for the same fork. Nodes will get rewards only if they reach this maximum vote lockout. Thus, it would encourage nodes to vote the majority of the network.

Turbine: A Block Propagation Protocol

Turbine is the reason Solana has a fast block time. Solana transmits blocks (communicates blocks between validators) independently of consensus. Solana uses Turbine, a block-propagation technique which is heavily influenced by BitTorrent. Turbine sends large amounts of data by breaking up large data into small packets and fan-out to a large set of random peers. The fan-out mechanism is resistant to fault. Validators encode data using Reed-Solomon erasure codes to have a fault tolerance.

Gulf Stream: Mempool-less Transaction Forwarding Protocol

Mempools are a giant pool of transaction records that have been sent but not yet processed by the network. The goal is to have a smaller size of mempools so the network would be faster and scalable. Solana has a high throughput which reduces the mempools management. Gulf Stream functions by pushing transactions caching and forwarding to the edge of the network. Because every validator knows the order of upcoming leaders in Solana architecture, clients and validators forward transactions to the expected leader beforehand. This mechanism allows validators to execute transactions faster, reduce confirmation times, switch leaders faster, and reduce memory pressure on validators from unconfirmed transactions pools.

One of the downsides of knowing leaders beforehand is the increased risk of validators collusion since they have time to coordinate. However, Solana’s fast block time would mitigate the risk of validator collusion.

Sealevel: Parallel Smart Contracts Run-Time

Solana built Sealevel, a hyper parallelized transaction processing engine designed to scale horizontally across GPUs and SSDs. Most of the blockchains are single-threaded computers, while Solana can support parallel transaction execution in a single shard. This solution comes from an operating system driver technique called scatter-gather. Transactions specify upfront what state they would read and write while executing. Sealevel would be able to find all the non-overlapping state functions occurring in a block and execute them in parallel.

Even though Sealevel is a VM that schedules transactions, it does not execute transactions in the VM. Sealevel hands off transactions to be executed on hardware natively using a bytecode called the Berkeley Packet Filter (BPF). Therefore, every time the number of SIMD lines increases, Solana’s network will increase its computational capacity. This makes single-threaded blockchain will never scale this way.

Pipelining: A Transaction Processing Unit for Validation Optimization

The process of transaction validation on the Solana network makes extensive use of an optimization common in CPU design called pipelining. Pipelining happens when a stream of input data is processed by different hardware for each of sequence of steps.

The Process of Pipelining

The process started through data fetching at the kernel level, signature verification at the GPU level, banking at the CPU level, and writing at the kernel space. By the time the TPU starts to send blocks out to the validators, it’s already fetched in the next set of packets, verified their signatures, and begun crediting tokens. The GPU parallelization in this four-stage pipeline allows the Solana TPU to operate at a high performance.

Cloudbreak: Horizontally-scaled accounts database

Usually, methods to scale computation could result in memory bottlenecks. Memory is used to keep track of accounts and can struggle to maintain performance due to a lack of memory size and limited access speeds. Cloudbreak can be a solution for scale computation bottleneck. Cloudbreak was designed to optimize for concurrent reads and writes spread across a RAID 0 configuration of SSDs. Every additional disk adds storage capacity available to on-chain programs. It would increase the number of concurrent reads and writes programs can perform when executing. This goes hand in hand with Solana’s transaction design, allowing for pre-fetching accounts from disk and preparing the runtime for execution, also enabling nodes on the network to begin executing transactions before they are encoded into a block. All of this aims to help reduce block times and confirmation latency on the network.

Archivers: Distributed ledger storage

Storing and maintaining data is an essential process for every blockchain. If storage costs are very high, only well-funded entities will be able to act as validators and participate in consensus. On Solana, data storage is offloaded from validators to a network of nodes called archivers. Archivers do not participate in consensus. The history of the state is broken into many pieces and erasure coded. Archiver store small parts of the state. Often, the network would inspect archivers to prove they are storing the correct data. This system of Proof of Replication (PoRep) comes from Filecoin.

Ecosystem in Solana

Advanced technology is not enough for the intense competition in blockchain space. The network must have a strong ecosystem and community. Currently, Solana has more than 350 projects from DeFi, infrastructure, governance, to games. According to Santiment, Solana’s developers also showed their commitment consecutively to be an active developer compare to its competitors.

March 2022 Ranking of Active Developer Counts

Solana also has a diverse and strong communication channels from Github, Youtube, Reddit, to Weibo. Its Twitter has more than 1.5m followers, an impressive large follower for a new cryptocurrency’s project. Solana team also engages with the audience and update their progress through announcement and blog post.

Solana Communication Channels

In conclusion, Solana is one of the promising blockchain projects currently. Through its 8 key technology innovations Solana might bring solutions that the blockchain needs for mass adoption. Its advanced technology is also supported by strong VC, solid community, and  growing ecosystem.


Sources:

CoinDesk Staff. (2021, December 14). Most Influential 2021: Anatoly Yakovenko. Coindesk. Retrieved March 29, 2022, from https://www.coindesk.com/tech/2021/12/10/most-influential-2021-anatoly-yakovenko/

Crunchbase. (n.d.). Solana Investment Details. Crunchbase. Retrieved March 29, 2022, from https://www.crunchbase.com/organization/solana-io

Solana. (n.d.). History. Solana. Retrieved March 29, 2022, from https://docs.solana.com/history

Echter, B. (2021, November 30). Proof of History: How Solana brings time to crypto. Solana. Retrieved March 29, 2022, from https://solana.com/news/proof-of-history

Yakovenko, A. (2018, April 19). Proof of History: A Clock for Blockchain. medium. Retrieved March 16, 2022, from https://medium.com/solana-labs/proof-of-history-a-clock-for-blockchain-cf47a61a9274

Messari. (n.d.). Solana Profile . Messari. Retrieved March 17, 2022, from https://messari.io/asset/solana/profile/technology

Yakovenko, A. (2019, July 30). 8 Innovations that Make Solana the First Web-Scale Blockchain. medium. Retrieved March 29, 2022, from https://medium.com/solana-labs/7-innovations-that-make-solana-the-first-web-scale-blockchain-ddc50b1defda

Patel, H. N. (2021, September 29). Solana - 8 Key Innovations Simplified and Analogized. hashnode. Retrieved March 29, 2022, from https://hashnode.com/post/solana-8-key-innovations-simplified-and-analogized-cku5q6zeh0jdsp9s1f9tp6ch6

Coin98. (2022, March 15). Ranking of active developer counts. twitter. Retrieved March 29, 2022, from https://twitter.com/Coin98Analytics/status/1503682515839582208

Coin98. (2022, January 5). twitter. Retrieved March 29, 2022, from https://twitter.com/Coin98Analytics/status/1478689559814852608