7 min read
When we talk about Solana we refer to an open source blockchain project. This project is oriented to solve the main problems of the cryptocurrency world such as scalability and transaction speed.
Solana aims to specialize in the development of scalable DApps with high traffic. To achieve this, Solana bases its operation on highly scalable technologies which make it one of the most scalable and fastest blockchains in the world.
History of Solana
Solana was founded by Greg Fitzgerald and Anatoly Yakovenko. Anatoly graduated with a degree in Computer Science and has a valuable history of working at companies such as Qualcomm where he held the position of Senior Staff Engineer Manager. He also worked at Dropbox and Mesosphere as a software engineer.
While working on Mesosphere, Anatoly thought of creating his own Proof of History (PoH) algorithm. This is a consensus algorithm that bases its operation on the chronology of events taking place on the blockchain.
The initial idea was the development of a blockchain based on secure and accurate timing and synchronization of events. Accuracy was a fundamental requirement for the Proof of History, since in this system time was its basis. Anatoly based his project on good synchronization, as he argued that if all parts are synchronized, the algorithm will be much faster.
From then on Yakovenko focused on the synchronization of all nodes in a distributed system. As a result of his studies, the PoH algorithm is capable of confirming up to 1000 transactions per second using only a few nodes. Once the algorithm was created, Yakovenko published his white paper.
Shortly thereafter Yakovenko, and his friend Greg Fitzgerald, began work on implementing a new project called Loom on Ethereum. However the name of the project changed with its release on the network and was renamed Solana.
The company behind the project, Solana Labs was launched on May 28, 2018 and the first public test of this technology took place a few months later, specifically on July 19 of the same year.
The test had 50 nodes running Solana’s software and the result was a complete success, since the maximum peak of 65,000 transactions per second was sustained. To get an idea, it is at the level of the VISA network.
How does Solana work?
As mentioned above, Solana aims to be a highly fast blockchain, focused on decentralized applications and very inexpensive. Its transactions have an average cost of only 0.000005 SOL.
To achieve this incredible performance, the Solana network relies on a variety of innovations, including:
Proof of History (PoH)
This consensus algorithm uses time by means of timestamps.
The PoH protocol works by creating records based on the exact timestamp of each movement that takes place in the network. So it is as if a digital currency is moved from one wallet to a different wallet. The protocol notes such an event at a specific and exact timestamp. Thanks to this operation, events can be recreated exactly.
In the hypothetical case that we want to know the movements made on a specific token we can visit the temporary records of that element. In this way we will know what happened from the origin of the token to the current moment.
Another innovation of this project is a powerful Byzantine fault tolerance protocol, Tower BFT. This protocol contributes to maintaining the correct operation of the network and ensures it. Tower BFT is responsible for acting as a judge of the timestamp system.
This system uses the synchronized clock between each node, achieving a point of control, verification and confirmation of the work done by each node. This enables the creation of a decentralized consensus on the work done in the network. The work will be accepted if it complies with all the rules included in the Solana protocol.
Turbine y Gulf Stream
Turbine and Gulf Stream are transactions that travel at high speed over the network and at the same time are part of all the technological implementations designed specifically for Solana. This system solves typical bandwidth problems.
Turbine is a protocol in charge of propagating the blocks, facilitating the delivery of information to the nodes. This process is fast, since the generation of blocks in the Solana protocol takes an average of 0.5 seconds for each block, so the propagation of the information must reach an equal or higher speed.
For this reason, the Turbine protocol divides all block information into small sections sent over the network. These sections of information are reconstructed by the nodes. In short, Turbine does not send the information to the blocks, but tells the nodes the content of the block, helping them to reconstruct the block. If a node does not have the necessary information to build a block, it can request it from the rest of the network in parallel, reducing bandwidth. This maximizes speed and achieves the main objective of maintaining a secure consensus.
Parallelization of smart contracts
Among Solana’s most outstanding features is the ability to parallelize the execution of smart contracts and transactions.
To achieve this capability, this project uses the C language and Rust with the objective of achieving a smart contract programming environment different from the rest of the blockchains. In this programming environment, the parallelization of smart contracts is guaranteed.
All this is thanks to Sealevel, which is the name that the developers assigned to this function. Through this function Solana has the ability to execute, read and write the instructions in the execution layer of the smart contracts and all this in parallel.
The usefulness of Sealevel is based on promoting the scalability of Solana to a level that most networks would not reach. This means that the network will easily adapt to our processing capacity. If we use an underpowered node we will have less processing capacity, but if we install a powerful node our processing capacity will increase.
Archivers y Cloudbreak
LArchivers are storage systems used by Solana. These systems allow the storage of first level information for applications. This facilitates access to resources on the network.
In addition to the Archivers, Solana implements Cloudbreak, which guarantees a uniform data structure in all its nodes.