The Long Term Viability of Solana
Overview of the ecosystem
Solana’s astronomical growth can be attributed to its positioning as an ultrafast and low-cost blockchain for its users. The DeFi vertical has attracted the most attention with top tier ecosystem protocols such as Marinade Finance, Serum, Raydium, Mango Markets accumulating a total of $2.5B in TVL currently and $15B at its peak.
Furthermore, Solana NFTs have also gained significant traction with popular collections such as DeGods, Solana Monkey Business, Degenerate Ape Academy, Shadowy SuperCoder DAO and Okay Bears, with a cumulative market cap of c. $800m. In May 2022, Solana’s leading NFT marketplace, Magic Eden, even overtook Ethereum’s OpenSea in daily trading volumes, highlighting the increasing demand for Solana NFTs.
Despite the decrease in the number of new addresses on Solana during the bear market, Solana remains the 2nd highest number of active wallet addresses based on data from Nansen, highlighting that users are still engaged in the ecosystem.
While it has made strides in ecosystem growth, Solana has consistently come under fire for its network instability. There have been 2 notable instances in April and June this year where block production was ceased as a result of stalled consensus. Moreover, congestion issues as a result of more recurring spam transactions have led to poor user experience and potentially loss of funds where time sensitive decisions are involved (e.g. liquidation engines, adding collateral etc.). Moreover, Solana has also been criticized for its lack of decentralization and economic viability against some of the other layer 1 counterparts. This article seeks to explore some of these issues and examine the long-term viability of Solana as a scalable blockchain for the masses.
What is causing the outages?
During the most recent outage in June 2022, a runtime bug led to a durable nonce transaction being processed twice, with nodes generating different results from the same block, hence preventing the network from advancing.
Durable nonce transactions are designed not to expire and are processed serially, as compared to 99.99% of other transactions on Solana which are processed in parallel. With regular transactions, the network uses a recent block hash and maintains a record of processed transactions within a time frame to ensure duplicates do not occur. In the case of durable nonce transactions, an on-chain value is assigned to each account that updates whenever a durable nonce transaction is processed. After the on-chain value is updated, the same durable nonce transaction would not be able to be processed again.
In this particular instance, the durable nonce transaction that failed was recognised by the runtime as a regular transaction, and did not update the on-chain nonce value as intended. This allowed the nonce to be used again when the user resubmitted the transaction, and the new block producer incorrectly accepted it into the block. One set of validators rejected the block, while another set accepted the block, because the previous instance of the transaction was no longer in their cache, leading to nondeterminism, which grinded the network to a halt.
Spam transaction overload
Instead of a mempool (memory pool) for pending transactions, Solana uses Gulfstream which sends unprocessed transactions to the future leader nodes so validators can process transactions earlier and face less memory pressures from unconfirmed transactions.
Given only successful transactions have to pay a fee and most duplicate transactions free, users are incentivized to flood the network with requests if there is sufficient economic incentives to do so. For instance, the recent crash in April involved bots attempting to win a newly minted NFT project using the “Candy Machine” program. Approximately 6 million transactions per second were sent onto the network, resulting in validators running out of memory and crashing.
This is similar to the congestion issues that have happened in early January and September 2021. In January 2022, market volatility led to liquidation opportunities on many leverage positions. Bots attempting to close eligible positions in return for bounty led to a flood of transactions which resulted in lots of duplicate transactions that had to be verified by all the validators. and September 2021. In September 2021, the cause of outage was an IDO on Raydium, when bots generated transactions that led to a memory overflow, causing validators to crash and eventually stalling consensus.
How is Solana fixing these issues?
Durable Nonce Feature Disabled
In order to combat runtime bugs, the durable nonce transaction feature was temporarily disabled so that durable nonce transactions will not process until engineers rolled out the mitigation.
To prevent double execution of durable nonce transactions, the blockhash is separated from the block’s nonce and hashed with a fixed string. Thus, when validators check the hash against previous ones, they will reject the transaction with duplicate hash to prevent double execution.
For nonce accounts, the blockhash for the next transaction needs to be stored because durable nonces do not expire. Since the hash method is changed, a ‘DurableNonce’ type will replace old blockhash values. This will make durable nonces explicit and not be executed as a normal nonce.
Durable nonces have now been re-enabled.
QUIC, a protocol built by Google, will help with better traffic control over transaction flows. Currently, bots are able to send transactions directly to the leader given the leader schedule is public. The current UDP system is ill-equipped to handle the spam transactions given it lacks flow control and receipt acknowledgement. QUIC aims to combat this issue through independent sessions where transactions can be throttled depending on how congested the network is, and also rate limit accounts that spam transactions.
QUIC will be introduced in a later 1.10 or 1.11 release and UDP will be consequently disabled.
Stake-weighted transaction QoS
Stake Weighted Quality of Service prioritizes certain origins of traffic when there is network congestion. Instead of accepting transactions on a first-come-first-served basis, validators will be able to prioritise and limit the number of transactions a node can send, given IPs will be verifiable through QUIC.
Under stake-weighted QoS, a node with x% of stake will have the right to transmit at least x% of packets to the network, and the rest of the network will not be able to wash them out. This would ensure blockspace inclusion for the rest of the network should the potential situation arise where bots choose to send transactions through staked nodes that have higher stake. Moreover, in tandem with the fee-based transaction prioritization, this situation could be mitigated.
Stake-weighted QoS can be enabled after the successful implementation of QUIC.
Fee-based transaction prioritization
Transaction prioritization will help to alleviate heavy load on nodes, especially during periods of high demand like NFT mints. Users will be able to pay an optional additional fee, similar to Ethereum, for a higher chance of being included in a block during times of congestion.
Another fee that will be introduced is the concept of neighborhood fees where congestion on a single writable account will lead to higher fees for transactions looking to access that account. The upshot is other parts of the network should operate as per normal without an increase in fees.
This should disincentivize spamming because bots will have to pay higher fees to push many transactions, and in the process get penalized even if the transaction fails. However, the exact fee prioritization model proposed here has not been published, so it’s hard to predict whether this penalty will deter all bots from spamming.
Fee markets will be implemented after QUIC is fully adopted and UDP is disabled.
Solana vs ETH/L2s
Solana vs Alt-L1s
Scalability refers to the ability of the network to process more transactions per second as it grows. At 2,800 transactions per second (both vote and non-vote transactions), other L1s and ETH L2s are unable to compete with Solana in terms of raw throughput. However, it is more important to track Solana’s non-vote transactions which involve transactions that interact with dApps, staking or user transfers (transactions that don’t represent voting to reach consensus). At the time of writing, non-vote transactions account for c. 24% of all transactions which translates to c. 600 tps, which still represents a significant improvement on other blockchains.
Moreover, given Solana’s lack of a mempool, TPS is a measure of the transactions processed by validators based on current demand on the network, rather than the maximum throughput they are capable of. Another distinction to make is that the % of non-vote transactions is a function of network demand, number of validators and blocks per second. For example, assuming a block every 1.9 seconds, and validators vote on 80% of blocks (1.5 votes per second), multiplied by total voting validators which is at about 1,800, which gives approximately 2,500 votes per second. If network demand increases which increases TPS, the number of vote transactions will remain the same, and the non-vote transaction % should begin to increase.
Overall, there has been an increase in dApp interactions on Solana despite the recent fall in TVL, as non-vote transactions have grown from 12m in April 2021 to 36m as of 30 June 2022.
Is Solana Decentralised?
Decentralization eliminates the role of intermediaries and is censorship resistant. There have been three persistent arguments against Solana’s lack of decentralization, namely a) concentration of supply distribution, b) prohibitive cost of participating in consensus and c) centralised decision making. We will look to discuss each of these arguments below.
Concentration of Supply Distribution
According to a 2021 research by Messari, almost 50% of Solana’s tokens are held by VC firms, core devs, and the company itself. A closer look into the Insider definition reveals that c. 5% of the Insider allocation belongs to a Validator sale. At c. 43% of tokens with institutions and the team, it remains a fairly high concentration of tokens that could skew governance and cause high volatility during economic downturns.
Although the high concentration of supply distribution with VCs could be seen as a form of value extraction, it has not deterred Solana from making an all-time high of ~$260 from a public launch price of $0.22, settling at a price of $35 at the time of writing. Moreover, Solana has a healthy percentage of SOL staked at c. 75%, as compared to other competing L1 blockchains.
Prohibitive Cost of Participating in Consensus
Solana’s validators have demanding hardware specifications (128GB RAM, 2.8GHz CPU with 12 cores / 24 threads) and can cost in the ‘000s to set up. With voting fees of c. 1 SOL per day, the breakeven point for validators would be 5,000 self-stake SOL ($175k USD) or 50,000 delegated SOL (assuming a 10% commission). Therefore, critics argue that it is prohibitively expensive to participate in consensus, as compared to Ethereum where “anyone can run a node with just their personal laptop”. However, if we were to compare consensus participation between ETH under PoS and SOL, participation on ETH2 will entail staking 32 ETH with no possibility of third party stake. In comparison, on Solana, it is possible to start with 100 SOL and achieve breakeven in 1–2 months with the help of third party delegations from Stake Pools and the Solana Foundation’s delegation program.
Despite the higher costs involved with setting up a validator, Solana has a nakamoto co-efficient of 27, meaning that it would take 27 validators to collude together to successfully slow down or block the blockchain. While 27 might seem low, it is still higher than most other chains. According to the data below, it is evident that Solana is not the only alternative layer 1 blockchain that is facing the issue of centralization.
Centralised Decision Making
Critics point towards Solana’s high degree of reliance on Solana Labs — they are the only party that have published a validator client to date while networks like Ethereum have numerous core node developers. However, this can be viewed as a temporary roadblock as Solana mainnet is actually much younger, and other validator clients are already under development (e.g. https://jito.wtf/). Moreover, the Solana codebase is open source and has hundreds of independent contributors who are not employed by Solana Labs.
Another criticism levelled at Solana is the way they have handled network restarts. After each network outage, validators have had to come together on a Discord server in order to agree on the latest block to restart the network. In the May 2022 network outage, there were accusations about validators “censoring and blocking” certain types of transactions, further fuelling the arguments over the lack of decentralization in Solana. However, these accusations were dispelled, as the “censorship” was in fact an optional instruction that validators can choose to implement with regards to their own block creation, rather than invalidating other blocks that contained such transactions.
Solana’s Economic Viability
As of 12 July 2022, Solana’s revenue from fees is approximately $42.8k per day. However, it is paying out c. $2.1M/day ($12.8B x 6% APY / 365 days) in staking rewards to validators. As such, more than $2M of SOL is printed daily which results in an extremely high inflationary pressure at the expense of holders.
Solana’s supply is inflationary by nature, with disinflation of 15% per annum, targeting a long term inflation of 1.5%. At 1.5% inflation, Solana’s staking rewards will be ~$525k/day ($12.8B x 1.5% APY / 365 days) in inflationary rewards. Assuming today’s revenue of $42.8k, there needs to be a ~12x increase in revenue generated to even out the impacts of inflation. While it is not necessarily pertinent for a network to be “profitable” now especially during the growth stage, networks will eventually have to take steps to increase economic viability in the long term.
Solana’s path to profitability can come in one of four ways:
Increase in Network Usage
While inflation makes up for most of the validator rewards now, transaction fees will increase as network adoption increases. Block rewards are about 0.005 SOL to 0.008 SOL per block now, and is expected to increase as usage increases.
Priority Based Fees
As part of the upcoming updates, priority based fees will be coming to Solana. Users can then pay an increase in fees in order to ensure prioritized block inclusion. This will help drive an increase in protocol revenue.
Neighborhood Congestion Fees
Another fee to be introduced will result in increased fees for certain transactions that interact with congested accounts. For example, users participating in a hyped NFT launch will pay higher transaction fees, while users participating in a typical lending transaction in DeFi will pay the usual transaction fees. This will help drive an increase in protocol revenue.
Maximum Extractable Value (MEV)
MEV is present on Solana and it is estimated at a lower bound of $45m extracted from arbitrages and liquidations in 2022. Number of daily arbitrage and liquidation transactions consistently exceed the entire transaction volume of the Ethereum blockchain. With more MEV solutions coming to Solana which can help with more efficient MEV extraction, validators are expected to increase their revenue significantly.
The Future Case for Solana
Compared to other layer 1s, Solana has always had a strong emphasis on user experience. This is especially crucial as the most technically sound blockchain cannot scale without widespread consumer adoption. Although Solana has found its early ecosystem users around NFTs, which has flourished and emerged as a viable competitor to the Ethereum NFT ecosystem, we believe that the potential of Solana to onboard new wave users is still untapped.
For instance, Solana has already been making strides in the gaming sector. Fractal, a Solana NFT gaming platform founded by Justin Kan who built Twitch, raised $35M to expand development while PUBG’s creator has chosen to partner with Solana Labs to build games on Solana.
Other social dApps like StepN have also been exploding with popularity with over 10k daily active users. StepN was able to make headlines and onboard non crypto natives due to its attractive model of rewarding users for moving.
In the past few months, Solana has furthered its ambition in the goal towards mass adoption, specifically focusing on bringing crypto and Web3.0 to the mobile masses. We take a brief look at some of these initiatives below.
xNFT is a revolutionary new standard which is tokenised code representing ownership rights over its execution. In its first iteration, Backpack, it is tackling the way Web3.0 wallets are built. Similar to other wallets, it manages your private keys and connects to apps but unlike other wallets, it is asset and protocol agnostic, which allows for permissionless asset management tools to be built on a single interface. Essentially, xNFT is a significant push to enable a more mobile user friendly experience.
Solana Mobile — Saga
On the hardware front, Solana Mobile, a subsidiary of Solana Labs, recently announced the launch of their Android phone, named Saga. Powered by the Solana Mobile Stack, the phone will have a Secure Element built in, where private keys and seed phrases will be separated from the app layer, but still be able to interact with apps and browsers. Compared to current mobile architecture where blockchains can only be accessed through specific apps like Metamask and Trust Wallet, Solana’s implementation will allow any app or browser to access blockchains, providing greater convenience without sacrificing security.
Solana Mobile Stack (SMS)
The technology that makes all of this possible is the Solana Mobile Stack (SMS), which is an open source toolkit that enables native Android web3 apps to be built. It provides libraries for wallets and apps so that developers can create native web3 experiences. The Mobile Wallet Adapter protocol enables the connection of wallets and apps, and the Seed Vault secures private keys from apps. Solana Foundation has also started a $10m fund to encourage the growth of mobile dApps which could onboard new developers looking to build the future of Web3.0 on mobile.
Solana Pay will also be built into SMS, allowing wallets to integrate native Android features like NFC and QR scanning. You can read about our in-depth research on how Solana Pay will be a game changer in the payment landscape.
While all of these initiatives may seem ambitious and not all will succeed, we are cognisant of the second order effects they may bring. We are also of the view that the future of crypto and Web3.0 will be mobile led, and that Solana is taking a giant stride in the right direction.
Despite issues of centralization and economic sustainability, the entire ecosystem of Solana has flourished mainly due to the great user experience, affordable fees, strong usability and early adoption for DeFi, NFT verticals.
While the outages highlighted technical flaws to the network (which has since been fixed and made the network more robust), it is also a first class problem to deal with transaction bottlenecks which indicates economic value that is present in the ecosystem.
Overall, the step towards mobile is a positive one, and further network adoption will pave the way for progressive decentralisation and increased economic sustainability. Therefore, the future success of Solana will eventually hinge on the robustness of the network.