Solana (SOL) is a third-generation cryptocurrency, which is focused on offering a high-speed network, with capacity for parallelizable smart contracts, a negligible cost per operation, without sacrificing security and with great scalability.
Ehe Solana Network project is a technology project blockchain focused on offering advanced features for dApps and a high-speed network throughput to cope with high-concurrency applications.
In fact, Solana Network stands as one of the most serious competitors of Ethereum 2.0, the next version of Ethereum, with the exception that Solana, is already a real, tangible project, perfectly usable at this moment, and we will know in depth below.
History and origin of Solana
The origin of Solana begins thanks to the work of Anatoly Yakovenko, a software developer with extensive experience developing operating systems on Qualcomm (Brew OS), distributed systems on Mesosphere, and compression systems on Dropbox. Yakovenko, began to be interested in the capacity of blockchain technology and, very especially, in the consensus protocols with which he had already had experience in Mesosphere.
From this initial interest arose the white paper of Proof of History (PoH) or Test of History presented in 2018, and which I have been working on since 2017. Proof of History is a curious consensus protocol that uses time to create a secure hashing system for a blockchain. This system works based on the VDF or Verifiable Delay Functions, a very special type of function that allows this type of construction, in which time inescapably marks that a transaction has taken place in a particular sequence of creation, transmission and verification of it. This system allows the construction of very secure networks but, above all, fast and very efficient at the level of consumption of computational resources and energy.
The Birth of the Idea
Shortly after presenting this work, Yakovenko began working with Greg Fitzgerald, to bring his idea about PoH to a tangible reality within a blockchain. The project was initially known as Loom, but shortly thereafter it changed its name to Solana, a name that would later be used for the Solana Labs company registration, in March 2018.
Until then, Yakovenko and Fitzgerald continued to work on an early implementation of PoH on the blockchain, but finally on July 19, 2018 their work paid off. That day an initial version of Solana was put into operation with 50 nodes in operation and with which they reached an enviable speed: 65.000 transactions per second. It was the beginning of a new technology that had all the elements to leave the problem of blockchain scalability in the past.
Solana's first beta
Yakovenko's work continued until, in February 2020, the network's first beta, known as the SOL Testnet Tour, was launched, which was a fully functional testnet of the Solana network. For March 2020, the launch of the mainnet beta (actually a testnet with more advanced functions) was announced, with basic support for smart contracts and practically all the functions of the network with the exception of the inflation and reward system for the validators.
This decision was made in order to test the initial functions of the network in conditions as close to production. This second testnet is the network that currently works and a hard fork is expected to activate both the inflation system of the network and enable the rest of the system's functions, by the end of 2021.
How does Solana Network work?
To understand how Solana Network works, we must first examine the parts that make up this protocol. Among those parts we can highlight the following:
Proof of History (PoH), Solana's consensus protocol Proof of History (PoH) is the cornerstone of Solana, since this protocol is what provides the ability to process operations at high speed and with total security. Proof of History, is a Proof of Stake (PoS) type consensus protocol whose operation depends on the use of time and a type of function known as VDF or Verifiable Delay Function.
For a PoH validator to work on the network, it must perform a certain staking that gives it voting power within the network, but the generation and validation process uses the VDFs as an additional means of security, to that of the simple lottery that is usually seen within most PoS algorithms.
In this sense, the PoH VDFs work in two ways:
- It allows ordering the network transactions chronologically so that they are attended to exactly in that sequence.
- It creates a cryptographic system intrinsically linked to the time in which transactions are carried out, taken and verified by the network. This is possible because the VDFs use the temporary parameters of the TXs to perform a unique cryptographic function to ensure their validity.
These two points allow the VDFs within PoH to be very safe and also very fast to execute. Understanding this can be a bit complex, but we think this example will help you:
PoH example
Suppose Ana wants to send a transaction (TX) to Juan to pay for a repair on his laptop. Ana sends the TX, at a specific time and date, data that is included in the metadata of said TX. The Solana network takes that TX and begins its processing, however, in the entire network there are hundreds and even thousands of operations, each and every one of them with a specific creation time and date. What Solana does with PoH is to take each of these TXs and create a chronology, ordering them in the most exact way possible.
Here the differences of 0,1 seconds, can put you ahead or behind many other transactions within the network. This is vital because it prevents Ana from double spending (moving money that is temporarily not under her property, or altering a previous TX by means of an attack vector such as that of Vector76). At this point, when the network orders the TXs for its next block, the validators apply in parallel a series of VDF functions to mark said block and begin with the generation of the next block.
This other point is vital, because the temporary generation of the first block and its marking will be essential to create the cryptographic relationship with the second. In any case, the VDFs are in charge of verifying the TX timestamps, creating a unique hash for that block along with its own timestamp, and creating not only a chronology in the block's transactions, but also a temporal order with the own blocks of the blockchain.
That is, the TX and the blocks are temporally organized, to the point that the temporal differences between them do not exceed 1 second, allowing the Solana blockchain to be read as a time line continues second by second that is recorded and is unalterable. In all this, Ana's TX is validated and Juan receives his money, and although this explanation is extensive, this entire process within Solana has barely taken an average of one second to complete.
The previous example already tells us a lot about PoH and its speed, and it is that the block production time of the Solana network is by far one of the fastest that exists, of only 400 milliseconds. This means that Solana is capable of generating two blocks per second, with some time to build a third block. Put that way, Solana seems like science fiction for blockchainers, but no, it is something so real that we can simply feel it while using the network.
A fast, efficient and temporally accurate P2P network
However, the very high speed of Proof of History and its VDFs creates two problems:
- Transmitting information over the network (TX and blocks) optimally is a real headache.
- Temporal accuracy can create discrepancies between different nodes.
The first problem is something that many blockchain projects have struggled with for a long time. It is the well-known problem of bandwidth and, it is easy to understand, because the larger the network, the more information has to move through it, since all the nodes must be synchronized. We do have a high number of transaction shipments, consequently the blocks will multiply and contain more information. An unsustainable situation and at risk of breaking the network, especially in places where bandwidth is limited. Hence, ideas such as enlarging the blocks in Bitcoin are not well received, and that things like those made by BCH and BSV are considered by many as a threat of centralization, or outright madness.
The second problem is something that even Satoshi Nakamoto had to cheat for, because Bitcoin does use a fairly exact time system, its nodes don't really have the same synchronization. There are small variations, deltas that can be considered imperceptible within 10 minutes of validation of the Bitcoin nodes. However, that in Solana is unthinkable, because its validation time of 400 ms makes it unfeasible.
So, what solution does Solana apply to both problems?
Turbine, the transmission of information by Solana Network
Turbine is the name by which the Solana Network data propagation system is known. This protocol is a derivative of the Gossip protocol, and its task is to deliver the information to the nodes that are part of the network. Turbine's operation is quite simple because what it does is dissect the information from the blocks, so that it can be sent to all nodes much faster.
That is, Turbine makes sure that the block metadata is sent first, and then the internal information of the block. This makes the transmission faster because, for verification terms, everything important is within the metadata. In this way, Turbine manages to carry the network information to all its nodes in an optimal way. Something similar to what the Bitcoin network currently does with its compact blocks.
GulfStream, a cache for transactions
GulfStream is the name of the protocol that is responsible for storing and prioritizing transactions on the Solana network. Basically GulfStream is an advanced mempool that is responsible for transmitting the transactions to the validators to facilitate their order and verification.
Solana is a network with parallel operation. That is, its validators are able to work on the validation of one block, and at the same time, prepare the way for the next. To achieve this, GulfStream orchestrates the delivery of transactions in a way that maintains this parallel operation. And, at the same time, it maintains the timing necessary to maintain the system's validation timeline. Simply put, GulfStream is a deterministic block storage, ordering, and parallelization protocol, and it is responsible for much of the transaction validation process.
In addition, GulfStream ensures that the validators of a block synchronize their clocks to maintain the temporality of the network. And when that block is created, it synchronizes the next validation quorum with the time of the previous and current block, thus maintaining the temporal synchronization of the network at all times.
Smart Contracts and dApps, the central objective of Solana Network
Solana Network is capable of deploying smart contracts and dApps. In fact, that is its main objective, since it is a network built to run decentralized applications of mass use. However, Solana did not follow the path that many projects have followed in this regard, and that are compatible with Ethereum and little else. Instead, Solana has created a whole new infrastructure to offer smart contracts with unique capabilities on its network.
First of all, Solana smart contracts can be written in two popular languages: C and Rust. Both are well known general purpose programming languages. In fact, they have extensive development libraries and a speed that many other languages can hardly reach.
However, the main reason for choosing these languages is a much bigger one: to achieve the parallelization of smart contracts. We talk about how smart contracts can exploit the full potential of validator hardware to execute quickly. All this thanks to being less expensive at the computational level, and finally being more efficient.
To achieve this, Solana has created Sealevel, a smart contract execution layer that allows instructions to be read, executed and written in parallel. The result of this is clear: Solana's smart contracts are much faster than those of any other network. And, all of this is thanks to the parallelization of this network. In fact, this system not only scales in terms of network growth, but also in terms of hardware power. This is thanks to the fact that the most advanced equipment will be able to execute these smart contracts much faster.
Solana Network and its growing community
There are currently a large number of projects that are committed to the development of Solana. And, no wonder, given the brilliant technology it has demonstrated. In fact, its community website tells us that there are already more than 400 projects that use Solana within their development. Some of these projects are widely known as the case of Serum, Exodus, Moonpay, Anchor, Fantom, The Graph or Band Protocol. And of course, platforms like Bit2Me have their eye on this blockchain and its token.
And that is just the beginning, Solana continues its unstoppable development and in the future its evolution could bring important improvements to a truly impressive technology.