Everything you need to know about Solana
Decentralized applications (DApps) are one of the most important blockchain technology use cases. We have seen how DApps have evolved a lot in recent years, creating games like Crypto Kitties or have become the basis of DeFi. But blockchains like Ethereum are not prepared to support a large number of transactions, generating congestion in the network. Solana (SOL) is a blockchain designed exclusively for DApps that aims to be an alternative to Ethereum.
It is a next-generation blockchain project based on open source that seeks to drive the development of next-generation DApps. Solana (SOL) seeks to offer a highly scalable, secure and decentralized platform as possible. You also want to have potentially thousands of nodes without the need for expensive, power-hungry hardware.
Solana is based on the third-generation Proof-of-Stake (PoS) consensus. It integrates a unique mechanism to create a system of trust and security to determine the time of a transaction called Proof-of-History (PoH).
Solana's blockchain technology has been developed from the ground up to be especially scalable. The developers want to show that when different algorithms are combined to generate a blockchain, a system is created that reduces the bottleneck that ends up saturating the network. A high-performance network is achieved even when generating a large volume of transactions.
The Solana Labs project, which brings Solana to life, was founded in 2017 by Anatoly Yakovenko. His proposal for this blockchain is to create a new transaction verification system called Proof-of-History (PoH) that provides the ability to support thousands of transactions per second. For its financing, an ICO was launched in 2017 that managed to raise more than 25 million dollars. Solana's mainnet was launched in March 2020 and is currently in beta.
What is SOL
Like any other blockchain, Solana has a native cryptocurrency named SOL that works as a utility token. The SOL token is necessary for the payment of transaction fees and to deploy and interact with smart contracts.
SOL tokens are burned in an integrated deflationary process. In addition, SOL holders can become validators of the network. At the same time SOL makes use of the SPL protocol, a Solana blockchain token standard similar to ERC-20 on Ethereum.
There are two use cases for the SOL token:
- It allows to pay the commissions of the transactions carried out in the network or of the smart contracts
- Staking the tokens thanks to the proof-of-stake consensus mechanism
Different DApps are currently being developed within Solana that develop new uses of the SOL token. Chainvote is developing a DeFi voting mechanism that enables corporate governance using SOL tokens for voting.
What is Proof-of-History (PoH)
Any transaction or event on the Solana blockchain generates a hash based on the SHA256 encryption algorithm. This algorithm takes an input and generates a unique output that is very difficult to predict. What Solana does is use the output hash of a transaction and uses it as input for the next hash. What it does is introduce the order of transactions in the next output.
What this hashing mechanism does is generate a long chain without interruptions of transactions. This allows generating a clear and verifiable order of transactions that a validator then adds to a block. By means of this mechanism it is no longer necessary to generate a timestamp as it happens in Bitcoin, Ethereum, Litecoin, etc.
Each hash in turn requires a certain amount of time to complete. This element also allows validators to verify, very quickly and easily, how much time has passed.
Proof-of-History (PoH) therefore presents large differences with respect to the PoW consensus of Bitcoin or Ethereum. These two cryptocurrencies aggregate the transactions in blocks without the slightest order. What the miners in PoW do is add a timestamp, which is the time and date in which it was generated in block, according to the clock of each blockchain. The timestamp can vary by node and may even be false, which forces nodes to verify that the timestamp is valid.
By hashing transactions, validators have less information to process in each block. Using a hashed version of the latest state of a transaction reduces commit times for new blocks.
Point out that PoH is not strictly speaking a consensus mechanism, but a solution that saves time and resources to confirm transactions. It really is an add-on to the proof-of-stake consensus that makes it easy to randomize the next validator. It allows nodes to validate the order of transactions in less time, making the network faster.
What is Turbine
Block propagation protocol that facilitates the distribution of information to the nodes, helping to maintain consensus. It should be a quick process, since the blocks in Solana are generated every half second, approximately. The block propagation process is required to be faster than the block generation.
What Turbine does is divide the problem. Specifically, what it does is divide the block information into small sections that are distributed over the network. These "chunks" are rebuilt by the nodes according to their own states.
Not really the whole block is sent, only a portion of the block information and each node must rebuild it. If the node does not have the information to "rebuild" the block, it can request it from the rest of the network. This process is done in parallel, thus reducing bandwidth consumption, maximizing speed and thus maintaining consensus.
What is Gulf Stream
It is a protocol for caching network transactions. It is in charge of receiving the transaction and sending it to all nodes, prioritizing the generating nodes. It allows all the nodes of the network to access the information necessary for the recreation of the blocks. Solana creates the blocks through an election based on a quorum that has the power to generate a block and broadcast it to the network.
But the role of the generator nodes is not only in charge of creating the blocks, but also of being selectors of the next group of validator nodes. This allows you to know at all times which nodes will be that will generate the next block. It allows nodes to receive transactions and route them to the following generators. A mechanism that allows to reduce the generation time of the next block.
System tampering is prevented by a transaction lifetime of just 24 seconds. When a transaction is not confirmed in this period of time, an output can be generated: a transaction failure and the need to resend the transaction. This situation of failure in the transaction validation time can only occur if the transaction capacity of the Solana network is exceeded.
What is Sealevel
Solana offers the ability to parallelize transaction validation and the ability to run smart contracts. The idea of this new blockchain is to compete with Ethereum, especially in terms of DApps and DeFi support.
Solana's smart contracts make use of the C language and Rust, to create a unique smart contract programming ecosystem. This offers a great ability to palliate the execution of smart contracts. Sealevel is the name given by the Solana developers to these capabilities.
This function allows the ability to read, execute and write instructions in parallel within the Solana smart contract execution layer. A smart contract can execute multiple actions simultaneously, while in Ethereum and EOS only one action can be performed at a time.
Sealevel is what allows Solana to have greater scalability than other blockchain networks. It could come, with the integration of enough high-performance nodes to support up to 500,000 transactions per second. Additionally, the need for a second layer is eliminated to improve scalability.
What is Tower BFT
Solona protocol against Byzantine fault tolerance that combines with PoH to help keep network consensus and decentralization safe. It is an evolution of "Practical Byzantine Fault Tolerance" (PBFT), which is a Byzantine fault tolerance protocol, widely recognized within distributed computing.
Tower BFT acts as a "judge" within the timestamp system running on the Solana network. A synchronized clock is used between all nodes that serves as a point of control, verification and acceptance of the work carried out by the nodes. Thus, it allows creating a decentralized consensus on the work and its acceptance by the network. As long as the work respects the consensus rules of the Solana network.
This PBFT-derived mechanism is really fast and has also been optimized by the Solana developers. Tower BFT and PoH are elements that allow Solana to have very low generation times and maintain consensus.
How Solana works
This project makes use of Proof-of-Stake (PoS) consensus with a plugin called "Tower CBFT". Through this mechanism, distributed networks are allowed to reach a consensus that prevents the attack of the Byzantine Generals (BFT).
Solana's implementation of a BFT resistance adds a global source of time to the blockchain through a second novel protocol called Proof-of-History (PoH).
Tower BFT makes use of this synchronized clock to reduce processing power requirements to verify transactions. This is possible thanks to the fact that it is not necessary to calculate the timestamp of the previous transactions. A mechanism that allows Solana to outperform other blockchains.
It is not the only difference between Solana and the rest of the blockchain. The ability to parallelize transactions is also added, which is called Sealevel. This mechanism allows the execution of smart contracts in parallel, thus optimizing the need for resources and reducing times. Solana enables horizontal scaling on GPUs and SSDs, allowing the platform to scale to meet network demand.
In addition, in Solana the mempool that is used in Bitcoin, Ethereum and other cryptocurrencies is eliminated. What you do is distribute the transactions among the validators, even before they have finished validating the previous batch of transactions. Thanks to this, the speed of confirmations is maximized and the number of transactions that can be handled simultaneously and in parallel is increased. This element is called the "Gulf Stream".
What differentiates Solana from other blockchains
The main problem with today's blockchains using proof-of-work consensus is that they support very few transactions per second. Bitcoin supports between 5-8 transactions per second and Ethereum supports between 12-20 transactions per second. When these figures are exceeded, we enter network congestion, which is nothing more than more transactions than actionable. This leads to increases in transaction fees so that they are validated before the rest of the transactions are issued.
Solana differs from the rest of the blockchain in offering, in theory, a greater processing capacity. The developers indicate that the figure of 50,000 transactions per second can be exceeded. Meeting this figure would mean that it would be the fastest and most powerful blockchain today.
It is not the only difference between Solana and the rest of cryptocurrencies. Solana generates a block in intervals of 400-800 milliseconds. Bitcoin generates a block every 10 minutes (more or less) and Ethereum every 20 seconds (more or less). Solana transaction fees are also reduced, going to an average fee of 0.000005 SOL. These aspects would potentially allow the development of any DApp, DeFi solution or any game on this blockchain.
All this is done without the need to resort to a second layer, as is the case of the Lightning Network for Bitcoin, a Layer 2 solution. Furthermore, it is not necessary to fragment the blockchain into parts, as proposed by Ethereum 2.0 or Polkadot, among others.
Solana also allows anyone to enter as a validator of the network and help protect the blockchain. It is a permissionless system, but it requires minimal hardware that is described on the project's own website. Currently there are more than 1,000 validating nodes on the network.
The project began its development in 2007 and it was not until March 2021 that the mainnet beta was launched. Solana currently lacks a clear roadmap, so we don't know when the mainnet will be out of beta. Although it is identified as in beta phase, the network is ready to support transactions and smart contracts. The beta identification refers to possible minor errors or mishaps that may be generated.
Final words about Solana
Solana's proposal to ensure good scalability and to be able to process a large number of transactions per second looks promising. If your Proof-of-Stake mechanism combined with the Proof-of-History mechanism proves to be safe, many others may choose to use it. Eliminating the need to "break" the blockchain into smaller, more manageable parts and adding a layer that watches over everything, like a policeman, seems to add elements that can end up causing failures.
Solana is just one of many solutions currently being developed with the intention of offering scalability. After verifying that cryptocurrencies have a future and are adopted by users, now comes the process of improving them. It should be remembered that Bitcoin was launched in 2009 and Ethereum was deployed in 2015. We are talking about very new technologies of which we are discovering all the possibilities that they can offer us.