|1||1 0x Protocol||DEX +3 Liquidity Derivatives Yield Farming||BNB Ethereum Celo +7 Avalanche Polygon Optimism Aurora Solana Near Polkadot||10.45K||18.58K||$10.99M||$196.74M|
|2||2 Lido DAO||Liquidity +1 Utilities||Ethereum Polygon Solana +1 Cosmos||855||3.2K||$4.71B||$269.62M|
|3||3 Wormhole||Utilities||BNB Ethereum Avalanche +3 Polygon Solana Oasis||318||527||$218.54M||$7.61M|
|4||4 Ribbon Finance||Derivatives||Ethereum Avalanche Solana||26||31||$12.47M||$25.70K|
|5||5 Apricot Finance||Liquidity||Solana|
|7||7 Bounce||BNB Ethereum Polygon +3 Solana Polkadot Kusama|
|8||8 Chainlink||Utilities||BNB Gnosis Fantom +11 Arbitrum Avalanche Harmony Polygon Optimism Fuse HECO Solana Polkadot Acala ZkSync|
|9||9 Francium Protocol||Yield Farming||Solana|
|10||10 Hubble Protocol||Liquidity||Solana|
Solana is an open-source blockchain supporting smart contracts, NFTs, DeFi, dApps, and many other cryptocurrency-related functionalities. The network secures itself with a PoS consensus protocol, where the nodes participating are also timestamping transactions in order to eliminate the possibility of re-ordering transactions to a validator’s advantage. The so-called proof-of-history mechanism is said to improve the network’s scalability.
Solana is advertised as being able to handle 710,000 transactions per second with an estimated fee of $0.00025 per transaction. One of the main concepts behind the blockchain is that a blockchain network can replicate itself and maintain high availability without significantly compromising the transaction rate by using a distributed system technique known as Optimistic Concurrency Control much like centralized databases. To make this concept applicable in a blockchain, the Solana developers have created a way to share the time when nodes cannot rely upon one another. The team states the mechanism they use for that exists in Bitcoin since “day one” and is called “nLocktime”. The feature can be used to postdate transactions using block height instead of timestamp. In cryptography, block height is an instance of a Verifiable Delay Function (VDF). Solana uses an SHA 256 hash chain in the form of a VDF to checkpoint the distributed ledger of the network and coordinate consensus.
Solana’s validator nodes are divided into so-called Solana Clusters. Each cluster consists of a set of validators working together in validating transactions on the network and maintaining the integrity of its ledger. Clusters can be created by first creating a “genesis config” which references two public keys – a mint and a bootstrap validator. Once a validator holding the bootstrap validator’s private key is present, it is responsible for appending the first entries to the ledger, by initializing its internal state with the mint’s account, which holds the number of native tokens defined by the genesis config. Following that, the second validator contacts the bootstrap validator to register as a validator. Once at this stage, additional validators can register with any registered member of the cluster.
When joining clusters, validators enter them via registration messages sent to the cluster’s control plane, which is implemented using a “gossip” protocol, thus allowing a node to register with any existing node expecting its registration to propagate to all nodes in the cluster. The company states that the time it takes for all nodes to synchronize is proportional to the square of the number of nodes participating in a cluster and although that may be considered very slow, in exchange for that, each node is assured that it eventually has all the same information as every other node, and cannot be censored by other nodes.
Leading validator nodes are responsible for bundling transactions and timestamping them, then sending them to the cluster’s data plane where they can be validated by validator nodes. Validators then receive all entries from the leader node and submit votes confirming them as valid, after the voting is finished, each validator is expected to store those entries until they observe a sufficient number of copies exist.
The Solana blockchain manages to achieve its high throughput thanks to its clusters’ capability of sub-second confirmation for thousands of nodes (the company has plans to scale up to “hundreds of thousands of nodes”). This is made possible thanks to using combinations of three main techniques. The first one is timestamping transactions with a VDF sample and signing the timestamp, the second one is splitting transactions into batches and sending each to separate nodes while every node shares its batch with its peers. The last technique is repeating the second technique until all nodes have all batches.
Transactions can be broken into batches by the leader node, for example, if a leader node needs to send 50 transactions to five nodes, it can split them into five batches of ten transactions and send each node one batch. Since each node shares its batch with its peers, once it has collected all five batches it is tasked with reconstructing the original set of 50 transactions. Since each batch can only be split so many times before it is so small that the header information takes all the available network bandwidth, to allow for scaling with “hundreds of thousands” validators in the future, Solana allows each node to apply the same batching technique as the leader node and distribute its workload among another set of nodes of equal size.
At the time of writing this article, Solana wallet support includes 75 apps and the developers of the network have provided its users with the ability to use Command Line Wallets. To do so, users need to first install the Solana Tool Suite by following this tutorial. A full list of supported Command-Line Wallets as well as detailed guides on how to set up and use them can be found here.
Each app Solana includes in its ecosystem interacts with a Solana cluster by sending it transactions with one or more instructions, which are then passed to programs deployed by app developers beforehand. When a transaction includes various instructions, the Solana runtime executes them in order and automatically. Detailed guides for developers interested in using the Solana blockchain are available here.
As of now, the network supports Rust and C as the main languages for writing smart contracts, however developers willing to use Solidity can do so with the Solang Solidity Compiler – detailed information and guides are available here.
Fees Solana collects from its users or transaction fees are predetermined by the validators on the network and have a maximum level that a slot leader is permitted to charge, however, the cluster part of which each validator set agrees on a minimum parameter. This allows the leading node to prioritize transactions offering higher fees when the network is congested. These fees are aimed to compensate the validator network for the CPU/GPU resources necessary to process transactions, reduce network spam by introducing a cost for it, and provide long-term economic stability to the Solana blockchain through the protocol-captured minimum fee. Currently, 50% of each transaction is burned and the remaining amount is given to validators, which further distribute it to their stakers.
Users wishing to stake their SOL tokens take part in securing the network and earn rewards for it; they can do so by delegating their tokens to validators processing transactions and running the Solana blockchain. Validators are incentivized to compete for more delegations, as the more stake is delegated on them the more often they will be chosen to write new transactions to the ledger, which in turn grows the amount of rewards earned by both the validator and their delegators. For this reason, validator fees or commissions, as the Solana team refers to them, are adjustable by the validators themselves.
Currently, the network’s slashing mechanism is still in development and until a permanent automated solution is implemented, involves manual steps to ensure fair actions. This process involves the network to halt after a safety violation, then the team analyzes the data and determines the responsible validator. Once that is done a proposal that the stake should be slashed after restart is issued – according to the official documentation of the project, the initial goal of the team is to slash 100% of the stake should a node be proven to have acted with malicious intent.
The future slashing mechanics are said to be used through an optimistic configuration, as such violations are easily observable and under normal circumstances implementing slashing in such cases should not halt the network. Once an optimistic configuration safety violation is observed, the validators freeze the affected stake in the next epoch and during the next upgrade of the ledger decide whether to slash the violator. The team states that in the long term, transactions should be able to recover a portion of the slashing collateral if a violation is proven.
A detailed guide on how to stake Solana SOL tokens can be found in the official documentation webpage of the project, under the staking subsection.
During the network’s launch, the total amount of SOL tokens present in the genesis block was 500,000,000, however, due to the project’s burning mechanisms including slashing fees and transaction fees, and planned token reduction events, SOL has an inflationary model to compensate for the dis-inflation rate. The model applied for issuing new SOL tokens takes into consideration three main factors. The initial inflation rate percentage is determined by referring to when inflation is first enabled. Then the project takes into consideration the dis-inflation rate percentage which represents the rate at which the inflation is reduced. And finally, the long-term inflation rate percentage is set by measuring the stable long-term inflation rate to be expected. Although the team states that additional factors such as loss of private keys, besides burning mechanics, are also to be taken into consideration when determining the effective inflation rate, further details on how that is accounted for are not shared publicly.
The network launched with an inflation rate of around 8% and expects that number to decline by 15% on a yearly basis until the rate reaches 1.5% annually where it is expected to remain. 95% of newly issued SOL tokens are estimated to be given to validator nodes in the form of rewards, while the remaining 5% is reserved for the blockchain’s operating expenses.
The initial coin allocation of SOL included 16.23% for seed round investors, 12.92% for funding sale investors, 5.18% for validator sale investors, 1.88% for strategic sale investors, 1.64% for CoinList auction sale, 12.79% for the Solana team members, 10.46% for the Solana Foundation, and 38.89% for a community reserve fund which is managed by the Solana Foundation.
The Solana token, SOL, has three main use cases – staking, governance, and paying for the network fees. Besides that, the company distributes a fixed amount of inflation-based rewards across the validator set securing the Solana blockchain. Staking rewards depend on the amount of SOL tokens staked making yield proportional to the number of tokens staked against the total token supply.
When staking on validators, users also delegate their voting power to them.
Solana was founded after Anatoly Yakovenko published a whitepaper describing Proof of History, an idea he came up with after observing blockchain systems lacking a clock, such as Bitcoin and Ethereum that were only able to process 7 and 15 transactions per second respectively, while traditional finance payment provider Visa had peak activity of 65,000 tps.
The whitepaper was tested in a private codebase with the C programming language by Greg Fitzgerald – a former colleague of Anatoly Yakovenko from Qualcomm Inc., the two collaborated and added Rust as another programming language supported by their project.
Just four months following the publication of the original whitepaper, Greg Fitzgerald published the project on GitHub under the name “Silk”. Shortly after the two developers were joined by Stephen Akridge – another former Qualcomm employee who came up with a solution for offloading signature verification to graphics processors. The trio recruited three more developers and co-founded a company named “Loom”. However, at the same time, an Ethereum-based project named Loom Network was created, and the founders decided to rebrand the company to Solana.
The Solana team was involved in a controversy when an accusation circulated online in November 2021, originating from Justin Bons – the founder and chief investment officer of Cyber Capital, that the company lied about the total circulating supply and had created millions of new tokens. According to Bons, the Solana team initially stated the circulating supply was 8.2 million tokens, but the company had loaned an additional 13 million tokens to a market maker, without notifying the community.
Following the accusations, Solana’s co-founder – Anatoly Yakovenko published a post on Medium explaining the situation. His statement admits lending funds to a market maker without notifying the community, however in the amount of 11,365,067 tokens. The loan is to spawn for six months and is intended to provide liquidity on the aftermarket.
On 22 January 2022, the Solana mainnet beta experienced a high level of network congestion. The company claimed the issues were previously identified and about to be addressed with the release of the 1.8 version of the protocol. Just two weeks prior, the network suffered its third DDoS attack when an attacker was suspected of leveraging spam to carry on the DDoS. The network returned to its normal state after a few hours and no official statement was released from the Solana team. The last time the network suffered from such an attack before that was in September 2021 when Solana was unstable for approximately 45 minutes, during validators getting ready for a new release which however resulted in a 17-hour-outage of the network due to “mass botting activity” for an IDO on the Raydium DEX.
At the beginning of August 2022, an unknown number of attackers drained over 9,200 Solana wallets of more than $4 million worth of crypto assets. Since not much was known about the attack, at first it was thought that the exploit might be related to Solana. On-chain transactions showed that all affected wallets had their private keys used to sign malicious transactions.
During an extensive investigation by developers, analytics companies, and auditors, it was revealed that all affected wallet addresses were at some point either created, imported, or used in the Slope wallet applications on iOS and Android. Slope wallet is a dApp created by Slope Finance aiming to bring its users access to the Solana blockchain. Apparently, private key data from Slope wallet mobile users was “inadvertently transmitted by the Slope app to an application monitoring service”, according to the incident recap, published by the Solana team. Further details on how this data was obtained by the attackers have still not been found, however, the team states no code related to Solana Labs, the Solana Foundation, or anything related to the Solana protocol itself, had been involved in the attack, as it wasn’t a protocol-level vulnerability.
Although the exploit was found to be isolated to one wallet provider supporting Solana and Ethereum addresses, other wallet platforms’ users were also affected by it, with reports coming from Phantom and Solflare wallet users. The Solana team attributed this to either the likely reuse of seed phrases, as both Ethereum and Solana use BIP3 mnemonics, or possible users’ reuse of seed phrases generated or stored within Slope.
Hardware wallets, used with or without Slope, were not impacted by the Solana wallet hack, and neither were any wallets generated from seed phrases that have never been imported or used by Slope wallets.
Solana was audited by Kudelski Security in November 2019
Solana has recently partnered with Audius which wants to extend their products on the Solana blockchain and Circle, the creators of USDC, wishing to bring the stablecoin to the network. Besides that, the company is collaborating with the Wormhole bridge, to move tokens between Solana and Ethereum, and had integrated USDT shortly before. Torus is also collaborating with the project, building scalable mainstream applications. Solana also has a technical partnership with dfuse – a blockchain API company.
Some of the more prominent members of the Solana ecosystem include the Orca exchange platform, the NFT Marketplace Magic Eden, and the Raydium AMM. Besides them, stand out the Solanart NFT Marketplace, Saber - a cross-chain liquidity exchange protocol, and Solend - a lending and borrowing protocol. MeanFi - a permissionless and trustless bank platform, bringing DeFi to everyday banking has also been taking advantage of the Solana community support.
Solana is expected to launch its full version on the mainnet, which is the last point from their roadmap, and should soon release updated plans for the future of the project.
Aave will integrate Chainlink's Proof-of-Reserve, further increasing the platform’s security
Dec 23, 2022
Uniswap's governance proposal accepted
Dec 22, 2022