An in-depth FAQ guide for the Solana Network
Solana’s Most Frequently Asked Questions (FAQ)
The Solana Network is continuously growing, expanding as more and more blockchain-enthusiast join the ecosystem and help to develop new opportunities. And so, to help those who are new to the network or simply want to have their facts straight, we’ve created this guide with all urgent questions about Solana.
General Frequently Asked Questions
So, let’s start with the most obvious question: what is the Solana Network?
Solana is a high-performance blockchain with a focus on decentralization and security. It can reach over 50k transactions per second using its Proof of History design while keeping costs to $10 per 1 million transactions.
Who created Solana, and where is it based?
Solana was founded in 2017 by Anatoly Yakovenko and is an open-source project that implements a new high-performance, permissionless blockchain. Solana Labs is the company behind the Solana Network and is located in San Fransisco, California, in the United States. However, the Solana Labs team has people worldwide from the US to France, Nigeria, and Mexico.
What is Solana’s Mission?
Solana’s mission is to support all high-growth and high-frequency blockchain applications and to democratize the world’s financial systems.
What is the Solana Foundation?
The Solana Foundation is dedicated to growing the Solana network into the world’s most decentralized and censorship-resistant blockchain. The Foundation continues to invest significant resources in figuring out how to meet these objectives both now and in the future.
- For more information on the Solana Foundation, read the full article.
What is Proof-of-History?
Proof-of-History (PoH) is derived from Proof-of-Stake (PoS) and is one of the core innovations 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 and 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 as the next input. Systemically the count and current output are recorded.
What are Solana’s Eight Inventions?
1. 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. This consensus is similar to the Practical Byzantine Fault Tolerance consensus algorithm (PBFT) in many aspects. 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.
The Solana consensus layer has no dependence on peer-to-peer messages, making 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 time necessary to send all the data to all nodes. Turbines are 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 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) designed for high-performance packet filters.
4. Gulf Stream
Gulf Stream works by pushing transaction caching and forwarding to the edge of the network. In Solana’s network, the upcoming network leaders will be determined according to their stake during each block production process since every validator 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 was designed as a state architecture optimized for concurrent reads and writes spread across a RAID 0 configuration of SSDs. Coupled with Solana’s transaction design, this architecture supports the Ahead Of Time (AOT) execution of transactions. By combining Sealevel with Cloudbreak, validators can start executing transactions before they are encoded into a block; this allows for further optimization of the block time and confirmation of latencies.
On the Solana Network, data storage is offloaded from validators to 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.
The pipeline is a Transaction Processing Unit for validation optimization. On the Solana Network, the transaction validation process makes extensive use of an optimization 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.
For an explanation, please see the question above “What is Proof-of-History?”.
What are clusters within the Solana Network?
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 ledger’s integrity. 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.
What is the Solana SOLAR Bridge?
The SOLAR bridge was created for Airweave and Solana. A blockchain bridge allows tokens or data to be transferred between two different blockchain ecosystems. As you may be aware, a significant challenge within the blockchain ecosystem is a lack of interoperability.
So, what is Arweave? It is a type of storage that backs data with sustainable and perpetual endowments, which lets users and developers store data forever. That is unique and the first time that this is possible. In a nutshell, Arweave works as a collectively owned hard drive that never forgets and allows you to remember and preserve valuable information on apps and history indefinitely. By maintaining, it prevents others from rewriting, keeping your applications safer.
Bering Waters, a Hong Kong-based technology company, created the SOLAR bridge. The bridge is significant for Solana’s future growth because it makes it the first blockchain to move and store its transaction history on a dedicated storage network.
- For more information on the SOLAR Bridge, read our full article.
How do Smart Contracts work on Solana?
Solana’s smart contract execution strategy is based on how operating systems load and executes dynamic code. So, take a look at the picture below. As you can see, the client writes a program in whatever coding language it chooses, compiles it with LLVM, and sends it to the Solana Bytecode.
LLVM refers to a low-level virtual machine. It also refers to a compiling technology called the LLVM project, which is a collection of modular and reusable compiler and toolchain technologies.
The output file is called an ELF. It has a specific bytecode as its target, which is designed for quick verification and conversion on the local machine instruction set (on which Solana is running).
A kernel is a critical component of a modern computing operating system that is responsible for initializing and managing critical resources such as the CPU and memory. It also serves as a platform for other programs to run on. The majority of the time, the performance of smart contracts is centred on WASM, which we’ve discussed in previous articles. On the other hand, Solana has emphasized the bytecode, which is based on the Berkeley Packet Filter (BPF).
BPF is a technology used in operating systems for programs that require network traffic analysis, such as smart contract technology. In a nutshell, it acts as a bridge between data link layers, allowing raw link-layer packets to be sent and received.
Solana is basing their bytecode on BPF because what the kernel does with untrusted code overlaps the requirements that they have. Which are:
- A deterministic amount of time to execute code
- Bytecode that is portable between machine instruction sets
- Verified memory accesses
- A short amount of time to load the object and verify the bytecode.
- The simplest, fastest, and easiest way to verify instruction sets.
If you’re wondering what bytecode is, it’s a type of program code that has been compiled from source code into low-level code for a software interpreter. It can be executed by a virtual machine or compiled into machine code, as discussed with LLVM.
Memory management is another critical aspect. It all begins with the ELF file. Contracts are initially restricted to read-only code and data segments, with no mutable globals or mutable static variables. This requirement may be relaxed as the Solana Network grows. Because smart contracts do not keep state, Solana had to devise a method to manage the contract.
Solana Token and Staking FAQ
What is Solana’s Native Token?
As of May 2021, the total supply of Solana’s native token, SOL, is 488,585,135. There are currently 272 million SOL in circulation. The total supply and circulating supply are increasing based on inflation and vesting schedules.
The community owns 38% of the tokens. The Solana Foundation is committed to assisting projects and establishing long-term commitments on Solana. The token pool is used for bounty programs, incentive programs, marketing, and grants.
Where is SOL used for?
The SOL Token is used within the network for two things:
- You can use $SOL for staking with validators operating on Solana, such as Stakin.
- To pay fees in the network for transactions and voting.
How can I buy SOL?
It is possible to buy Solana on different exchanges such as:
- Binance: https://www.binance.com/en/register?ref=ZQ9GELHE
- Huobi: https://www.huobi.com/en-us/topic/invited/?invite_code=5dyc9
- Gate.io: https://www.gate.io/ref/491913
Have a look at data providers for more exchanges where SOL is traded:
- Coinmarketcap: https://coinmarketcap.com/currencies/solana/markets/
- Coingecko: https://www.coingecko.com/en/coins/solana#markets
How do Solana tokenomics work?
Validators and delegators in Solana earn rewards for each epoch, which occurs every 48 hours. Token inflation generates rewards, which are distributed proportionally to delegators based on their stake.
Token supply inflation is set at 8% at launch and will gradually decrease until it reaches 1.5 %. The anticipated inflation contributes to the network’s overall stability and security. Staking will most likely be encouraged by rewards based on the token inflation rate, at least for the first few years. Stakeholders should ultimately seek to capture transaction fees from network usage.
How does staking on Solana work?
Delegators receive staking rewards proportional to the amount staked. Validators are paid a commission. When the protocol distributes rewards, validators will take a cut, with the remainder going to their delegators. The protocol automatically allocates and stakes staking income every 48 hours.
After delegators deposit a stake to a validator, their SOL is subject to a “warm-up” period before they can begin earning rewards. When a delegator wants to withdraw their stake, there is a “cooling-down” period during which staking rewards are illiquid.
These are also known as bonding/unbonding periods, and they only last about a few epochs on Solana. Since block times are dynamic, one epoch can last around 2–3 days. It takes 3 epochs for the stake to activate or deactivate, which is approximately 10 days.
Which risks come with staking Solana?
Slashing is not currently enabled on Solana, but the Solana team has a backup plan. Rather than automatic slashing, the team is currently implementing manual safety checks.
On Solana, the penalties for slashing currently include 100% slashing when the node is acting maliciously; examples include double-signing, signing illegal transactions, and voting for illegal forks.
When a safety violation occurs, the entire chain is brought to a halt, requiring the team to manually search for the node(s) that caused the violation and propose that the stake be reduced after the network is restarted. The stake would be reduced to zero, or the validators could try to vote to remove the offending node. When a node is slashed, all delegated stakes from that node will be removed.
Which wallets support Solana?
Solana can be stored, exchanged, and staked in desktop as well as mobile wallets as well as integration wallets and hardware options such as Ledger Nano X. Please find the list of wallets below:
- Phantom Wallet: https://phantom.app/
- Solflare: https://solflare.com/dashboard
- Trust Wallet: https://trustwallet.com/
- Solong: https://solongwallet.io/
- Math Wallet: https://mathwallet.org/
- Moonlet Wallet: https://moonlet.io/
- Swipe Wallet: https://www.swipe.io/
How can I stake SOL?
When you stake your Solana, you have the option of deciding how much of your SOL to delegate to the Validator. You can stake any amount of SOL and begin earning rewards right away. During this time, you will be able to conduct transactions only with the unspent amount of SOL in your wallet.
For a step-by-step guide on staking, see the list below:
- Staking Solana with Solflare (without Ledger)
- Staking Solana with Solflare and Ledger Nano.
- Staking Solana with Moonlet Wallet.
Where can I find information on Solana block creation and transaction data?
You can find the info on https://solanabeach.io/, it displays some high-level graphical information about the network as a whole, as well as a list of each validator and recent performance statistics for each one.
How can I unstake my SOL?
When you decide to unstake your SOL, you can only unstake the entire amount that is currently staked in your stake account. It takes 3 epochs for your funds to be available again.. 1 epoch is roughly equivalent to 2–3 days, so the total time for your SOL to finish unstaking is approximately 10 days. After your SOL has finished unstaking, you must withdraw your SOL so that you can continue.
Is there a minimum amount of SOL needed to start staking?
No! You don’t need a minimum amount, but make sure that you leave a little in your account for the transaction fees.
When staking, how long does it take before I earn rewards?
To begin earning rewards, you must first wait for two epochs (one epoch is roughly equivalent to 2–3 days). This means that if you begin staking your SOL in epoch 100, you will begin earning rewards on the staked amount in epoch 102. After that, your rewards are automatically distributed every epoch (2–3 days). Any additional SOL staked will also need to wait for the two epochs before earning.
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.