A Quick Introduction and Overview of Solana
Hi Readers👩💻,
Last week, there were many new developments regarding the Solana Network. Therefore, we thought it’s a good time to introduce the Solana Web-Scale Blockchain to you. In the first part of this article, we’ll talk about what Solana is. The second part will discuss the latest developments and collaborations of Solana.
🤓 Part 1 — Solana Explained
So, let’s get started with the number one question in this article, “What is Solana?”. In short, Solana was founded in 2017 by Anatoly Yakovenko and is an open-source project that implements a new high-performance, permissionless blockchain. Solana’s mission is to support all high-growth and high-frequency blockchain applications and to democratize the world’s financial systems.
While that sounds great, it doesn’t illustrate how exciting and unique this network is. Therefore we’re taking a look at eight core inventions, proof of history consensus protocol, Solana clusters, and their native asset SOL.
🕵️♂️ Proof-of-History
Proof-of-History (PoH) is derived from Proof-of-Stake (PoS) and can be considered the eight inventions of Solana. It focuses on the concept that instead of trusting timestamps given on a block, you could prove that a message occurred at a specific time before and after an action. In distributed networks, agreeing on the time and sequence in which events happened is a challenge, because nodes in a network can’t simply assume that an external source of time or timestamp appears in a message and is truthful. However, Solana’s Proof-of-History protocol makes it possible to create a historical record that proves an event that happened at a specific moment in time.
Proof-of-History is a high Verifiable Delay Function (VDF). Solana requires validators to solve these VDFs continuously. A VDF requires a specific number of sequence steps to evaluate but also produces a unique output that can be efficiently and publicly verified. VDFs can only be solved by a single CPU core applying a particular set of sequential steps.
Solana’s specific implementation uses a sequential preimage resistant hash that runs over itself continuously with the previous output used as the next input. Systemically the count and current output are recorded. Watch the video or click here for an in-depth explanation of PoH.
💡Solana’s Eight Inventions
The Solana team is comprised of technologists from companies such as Intel, Google, Twitter, Netscape, and Qualcomm. The eight technologies or inventions that Solana created were focused on assuring that their network would genuinely be decentralized, permissionless, and matched the performance of a single node. We’ve already discussed one of them, Proof-of-History, so let’s take a look at the rest.
Tower BFT
Solana runs a Tower Byzantine Fault Tolerance (BFT) consensus mechanism on their Proof-of-History protocol. Tower BFT leverages the PoH as a clock before consensus to reduce communication overhead and latency. In many aspects, this consensus is similar to the Practical Byzantine Fault Tolerance consensus algorithm (PBFT). However, unlike PBFT, Tower Consensus prefers liveness over consistency. In this system, nodes exponentially increase their timeouts to agree. But since the ledger is also a trustless source of time, nodes can observe and examine timeouts of all validators in the network.
Turbine
The Solana consensus layer has no dependence on peer-to-peer messages, which makes it possible to optimize the way blocks are transmitted through the network independently. Turbine is a block-propagation technique. In a distributed system, increasing the node count will directly increase the amount of time necessary to send all the data to all nodes. Turbine is created to solve that issue. In this case, when a node produces a message to 500 of its peers, it wouldn’t need to transmit the information 500 times. Instead, the message is broken down and sent in a packet to a different validator. Each validator retransmits the packet to a group of peers.
Sealevel
Sealevel is a hyper-parallelized transaction processing engine designed to scale horizontally across graphics processing units (GPUs) and Solid State Drives (SSDs). With this, it is essential to keep in mind that all other blockchains are single-threaded computers. Solana is the only chain to support parallel transaction execution in a single shard.
Side note: a shard is a horizontal partition of data in a database or search engine. Each section is referred to as a shard or database shard. Each shard is held on a separate database server instance, to spread the load.
Within this solution, transactions specify up-front what state they will read and write when executing. Sealevel is used to find all the non-overlapping transactions that occur within a block and run them parallel. Sealevel is a Virtual Machine (VM) that schedules transactions; however, it doesn’t execute these transactions in the VM. Instead, they get handed off to be executed on hardware natively using an industry-proven bytecode called the Berkeley Packet Filter (BPF), which is designed for high-performance packet filters.
Gulf Stream
Gulf Stream works by pushing transaction caching and forwarding to the edge of the network. In Solana’s network during each block production process, the upcoming network leaders will be determined according to their stake. Since every validator, therefore, knows the order of the forthcoming leaders in the architecture, clients, and validators forward transactions to that expected leader ahead of time. That, in turn, allows validators to execute their transactions ahead of time, reduce confirmation times, and switch leaders faster. Moreover, it reduces the memory pressure on validators from the unconfirmed transaction pool.
Cloudbreak
Cloudbreak was designed as a state architecture that’s optimized for concurrent reads and writes spread across a RAID 0 configuration of SSDs. Coupled with Solana’s transaction design, this architecture supports Ahead Of Time (AOT) execution of transactions. By combining Sealevel with Cloudbreak, validators can start executing transactions before they are even encoded into a block; this allows for further optimization of the block time and confirmation of latencies.
Archivers
On the Solana Network, data storage is offloaded from validators to a network of nodes named the Archivers. These Archivers aren’t a part of the consensus. The history of the state is distributed into many different pieces and coded. Archivers store small parts of the state, and from time-to-time, the network will ask the Archivers to prove that they’re holding the data.
Pipeline
The pipeline is a Transaction Processing Unit for validation optimization. On the Solana Network, the process of transaction validation makes extensive use of an optimization that is also common in CPU design, called pipelining.
Binance defines pipelining as: “Pipelining is an appropriate process when 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 function of this mechanism is that it ensures that every part of the hardware is efficiently at work all the time.
📟 Solana Clusters
In the most general sense, a cluster is a group or set of computers that work together, and that from the outside looks like a single system. Solana Clusters are a set of validators that work together to serve client transactions and maintain the integrity of the ledger. These clusters can be utilized whenever users want to preserve an immutable record of events in time or the programmatic interpretations of those events. For example, you can use it to track which computer (and, therefore, validator) did meaningful work to keep the cluster running.
Within the Solana Network, many different clusters can coexist. Whenever two different sets share a genesis block, they will attempt to converge. If not, they can ignore the existence of the other cluster. As long as somewhere in the world, a copy of the ledger is maintained, the output of its programs will forever be reproducible, independent of the organization that launched it.
💰 The Token
The name of Solana’s native digital asset is SOL, which can be passed to nodes in a Solana cluster in exchange for running an on-chain program of validating output. Lamports are micropayments made by the system, that consist of fractional SOLs. The value of a Lamport is set at 0.000000001 SOL.
- SOL has a total supply of 500,000,000 SOL, and at the time of writing, a circulating supply of 19,626,651 SOL (3.93%).
- The annual reward percentage is set at 10%.
Currently, the Solana Network is in its Mainnet beta phase. We’re expecting more information about SOL to be released upon release of the Mainnet. To stake SOL, click here.
👷♂️Part 2 — Developments and Collaborations
Let’s start by discussing the many different collaborations that Solana has introduced over the past months.
Dfuse and Solana
On April 28th, 2020, Solana announced its collaboration with dfuse, a blockchain API company. The partnership will be focussed on the technical integration to provide a robust data solution for the high-throughput blockchain. dfuse will be contributing dfuse Search, its real-time, historical, and fork-aware search engine as well as other building blocks.
Dfuse helps developers build performant applications by organizing the decentralized data. The dfuse APIs make it possible to stream real-time status updates, conduct a super-fast search, and provide irreversible transaction guarantees. Their products, dfuse Search, dfuse Lifecycle, dfuse State, and dfuse On-Demand Networks offer a suite of features that make it easier for developers to customize and deliver first-rate user experiences.
Torus and Solana
The collaboration between Solana and Torus was announced on April 23rd, 2020. Torus is a provider of one-click logins for DApps through multiple user interfaces. The provider makes it possible for users to interact with their Google mail or Reddit username on the blockchain, regardless of whether someone has logged into Torus before. Just like Solana, the main focus of Torus is to create a more accessible, user-friendly, and scalable blockchain for mainstream use. It is, therefore, that both companies decided to combine strengths to tackle the issues with the onboarding of new users into blockchain ecosystems. They believe that the frictions caused by these onboarding problems are what makes for such slow adoption of blockchain technology.
Terra Money and Solana
Together with Solana, Terra Money is going to build a new high-speed token bridge that will facilitate the transfers of Terra’s stablecoins into the Solana DApp ecosystem. That means that Terra’s tokens will be the first stablecoins on the network. Furthermore, by bringing their digital assets to the network, Solana aims to expand the design space for developers, pathing a path for new applications that require price-stable payments. To facilitate all of this, Terra Money and Solana will be building a bridge, which you can read more about here.
For those of you who are unfamiliar with Terra, it is an excellent, thriving payments network that is supported by several stablecoins pegged to fiat currencies such as the USD. Many of you might know Terra from its flagship app CHAI, which has been highly successful and crossed over 3 million USD in daily transaction volume. For more information on Terra, click here.
Solana and Chainlink
Those familiar with Chainlink might know that it is a decentralized oracle network, which provides decentralization at both the oracle and data-source level. Users of Chainlink can protect themselves from one oracle being a single point of failure. They can use multiple data sources to source market prices, which allows them to protect against one data source is a single source of “truth.”
At this moment, Chainlink offers secure and reliable market data via Price Reference Contracts. Every one of these contracts is backed by seven or more independent, secure, Sybil resistant nodes. The nodes source market data from a pool of data aggregator APIs. The node’s responses are aggregated together into a single data point and updated on-chain at specified intervals, for example, by time.
The collaboration between Solana and Chainlink aims at making Chainlink the oracle solution for the Price Reference Contract solution and the standard across all Solana DApps. That way, DApps will get secure access to all the in- and outputs they need. But they can avoid the major pitfalls that come with trying to deploy self-made oracles (such as long-time delays or additional costs).
📈 Development Roadmap
More Information and Source
DISCLAIMER: This is not financial advice. Staking, delegation, and cryptocurrencies involve a high degree of risk, and there is always the possibility of loss, including the loss of all staked digital assets. Additionally, delegators are at risk of slashing in case of security or liveness faults on some protocols. We advise you to do your due diligence before choosing a validator.