Top Solana dapps overview

Basic info

The data bellow doesn't refer to the current blockchain.

Top Dapps

What is 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. 

How does Solana work?

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. 

In its early stages, Solana utilized a custom raw UDP-based protocol to pass transactions between nodes and the leader. However, the lack of flow control and receipt acknowledgments in UDP presented challenges, and abusive behavior could not be effectively discouraged. To address these limitations, Solana took the initiative to reimplement its transaction ingestion protocol on top of QUIC, a protocol developed by Google. QUIC combines the advantages of UDP, such as fast asynchronous communication, with the benefits of TCP, including sessions and flow control. This adoption provided more control over network traffic and opened up additional options for optimizing data ingestion.

In tandem with adopting QUIC, Solana introduced Stake-weighted QoS to better manage leader network bandwidth. By leveraging the proof of stake model inherent to the network, transactions are now prioritized based on the stake of the nodes sending them. This ensures that nodes with higher stakes have a greater say in transmitting packets to the leader, mitigating the risk of being overshadowed by nodes with lower stakes.

To further enhance transaction execution fairness and efficiency, Solana has been actively developing Fee Markets. With Fee Markets, users gain the ability to express the urgency of their transactions compared to others modifying the same account data. Priority fees were introduced as the first step, allowing users to include an additional fee at their discretion. These priority fees are collected upon transaction execution and inclusion in a block, calculated based on the expected computing resources required for the transaction. Consequently, users can distinguish between simple transactions and more resource-intensive operations like NFT mints, despite both expressing the same level of urgency. Ongoing developments in this area aim to improve RPC and wallet support, introduce higher fees for contested accounts, and optimize block scheduling.

How to use Solana?

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.

Solana SOL token staking 

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.

The SOL token

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.

Is Solana safe?

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

Ecosystem & Partners 

Among the many partnerships established by Solana are the collaborations 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. 

Mainstream adoption of Solana has been gaining traction, with traditional companies recognizing the network's potential. Companies like Google Cloud and Brave have integrated Solana into their systems, making it more accessible to non-crypto native internet users. Moreover, other traditional projects have joined the Solana ecosystem, solidifying its position as a powerful and adaptable platform.

In the spring of 2023, the Solana Foundation, founded in 2019, decided to broaden its funding approach to support the Solana network's growth. In addition to grants for non-commercial projects, it now offers convertible grants and investments. Convertible grants can transform into investments when specific milestones are reached, allowing projects to build viable businesses with Foundation support. Investments are made into for-profit companies aligned with the Foundation's goals. Returns from investments will be reinvested into the grants program to sustainably support builders in the future. The Foundation's objective is to diversify funding options and foster innovation within the Solana ecosystem.

What's next?

The 2023 Solana roadmap has significant advancements and initiatives lined up. The mobile stack, "Saga," and Solana Pay are aiming to revolutionize web3 accessibility, making dApps mobile-friendly and enabling frictionless, permissionless payments.

Developer growth remains a key focus, with over 2,000 active developers engaged in Solana projects. Enhanced education and tooling make it easier for new builders to contribute to the ecosystem.

The Solana community extends beyond the internet, with physical spaces like Solana Spaces and Hacker Houses fostering real-world interactions and project showcases.

https://docs.solana.com/

Author:

Frank Stewskid

Frank Stewskid

Last updated: Aug 22, 2023

Latest News

Video Tutorials