We’ve written about why we’re getting behind the web3 movement, and our ambition to become the world’s best Solana delivery partner. Like any startup, success depends on focus, and our focus is Solana. But the question remains - why are we putting all our eggs in the Solana basket?
Blockchain has the power to be a disruptive technology, but it cannot possibly reach its potential if it cannot deliver experiences that are virtually indistinguishable from what we are used to today.
We can’t have all the goodness of web3 unless it feels like web2.
Above all else, this means that any blockchain technology that seeks mass adoption must be fast and cheap. All other attributes are subservient if the goal is for meaningful, broad impact and adoption - and for us, it is.
Solana’s been a victim of its own success with recent congestion issues, but there’s no denying it is both fast and cheap. In fact, Solana is currently the most used blockchain in the world - it regularly does 25M to 50M transactions per day, at an average of >1,000 transactions per second (https://pro.solana.fm/statistics). And it is currently the cheapest blockchain in the world, each of those 25M+ transactions costing only 0.025c each (0.000005 SOL @ $50 USD per SOL as of 21 May 2022).
But this is merely table stakes, and there are other chains that make different trade offs to Solana and have the potential to be both fast enough and cheap enough. This includes Avalanche, NEAR, Cosmos / Tendermint and the various Ethereum L2 scaling solutions.
So given that, why Solana above these other options?
Designed for scale
In traditional databases, there are two characteristics to achieving scale in both reads and writes.
- Vertical scalability (scaling up ⇑) characterises throughput on a single machine, and
- Horizontal scalability (scaling out ⇔) characterises throughput that can be achieved in a cluster of machines.
Vertical scalability hit its upper limits sooner, as there are physical limits to what can be done on a single machine. Horizontal scalability provides more headroom, but must make some tradeoffs to allow machines to operate in a clustered environment.
More often than not, this means introducing a degree of sharding which breaks the database into smaller sections that can operate somewhat independently, especially on write loads. However, sharding is not a decision to be made lightly. Once sharded, the database is no longer a logical whole, and transactions cannot cross the sharding boundary.
Blockchains are logically very similar. There’s a natural limit to how much throughput they can handle before the single blockchain needs to split into logical shards, and then has to deal with the sharding tradeoff.
Sharding is the main strategy for managing speed and cost in all fast and cheap chains:
- Ethereum shard chains are its path to scalability, expected to ship sometime in the next few years
- Ethereum L2s are a form of sharding with particularly high costs for crossing between the L2 and L1 boundary
- Avalanche has sharding with its subnet concept
- Cosmos / Tendermint uses sharding by promoting independent chains with interchain communication (IBC)
- NEARs path beyond 800-1000 TPS requires sharding with Nightshade
It might seem that sharding is necessary to achieve high speed at low cost. Well, not for Solana.
Solana has been designed from the ground up to maximise the throughput of the chain without requiring any sharding. In fact, the design is such that Solana’s cluster throughput is expected to converge on the throughput of any single node. Furthermore, the throughput of any single node is expected to increase over time as hardware improves.
This goal of maximising the vertical scalability of the chain without requiring sharding infuses every part of Solana’s design. For example:
- The ‘proof of history’ cryptographic clock allows a degree of ‘synchronisation without communication’ across the cluster, enabling semi-autonomous and parallelised operation
- Nodes communicate using a specialised streaming block propagation protocol that significantly reduces overhead of gossiping and downtime between switching leaders
- A runtime engine and programming model that separates state from computation and allows for massively parallel processing and increased program safety
Solana has achieved in excess of 70,000 transactions per second (TPS) in test clusters, with theoretical limits of 710,000 TPS. In the real world, we have already seen speeds of over 2,500 TPS regularly with peaks over 5,000 TPS.
It is our firm belief that these types of core design decisions are nearly impossible to retrofit if not considered upfront. Vertical scaling is very hard.
Complex software is harder to ship then hardware. This is why it’s critical to design up front as much around Moores law as possible. It’s nearly impossible to shoehorn multicore scalability after.
By contrast, horizontal scalability via sharding is always possible. Perhaps the growth of blockchain far exceeds even Solana’s capabilities in future, and some form of sharding may subsequently be needed.
By delaying this question, Solana maximises the creative surface area that web3 can address, and allows developers to treat everything as ‘one chain’. As the dust settles on a web3 future, Solana will be best positioned for its next phase of scaling design.
A Solana transaction currently has a fixed cost of 0.000005 SOL, which translates to 0.025c at today’s prices. This makes it the cheapest blockchain by a long way.
A month ago that would have been the end of the story.
However, in recent months this strength of Solana’s has become its vulnerability. The low cost of transactions has created an economic incentive to spam. That is, in cases where the potential reward (eg an NFT mint) far exceeds the cost (thousands of spam transactions), spam becomes inevitable. Unfortunately, this spam has had a negative impact on Solana’s ability to process transactions. This is being alleviated in two ways:
- Through the introduction of networking improvements to allow congestion control at the networking level, and
- The introduction of a local demand driven fee in ‘hotspots’
For deeper coverage of the underlying challenges and their solution, I highly recommend this tweet thread
Demand driven fees are used in most blockchains. How is Solana different then? How can it keep the costs of these fees low?
In other blockchains, the fee is dictated by global demand on the chain. When demand is high for one thing (eg an NFT mint), the cost use the chain is high for everyone temporarily. If global demand becomes high all the time (eg the chain becomes popular in general), then the fees for everyone become high forever.
In Solana, the fee market being introduced is based on local demand. That is, when demand is high for one thing (eg an NFT mint), the cost to submit a transaction for that one thing will become temporarily high. The cost to use the chain for everything else will remain low and fixed.
Solana is able to do this because its underlying runtime requires state and computation to be separated, and allows computation that uses different state to be run in parallel. By creating fee markets based on areas of ‘state contention’, it avoids having a single global fee market dominated by the most demanding use case.
This means that over time the cost to use other chains will be driven by the use cases with the highest economic reward, locking out significant potential usage.
Solana will be able to segregate demand by use case, enabling both high value and low value transactions to co-exist, without impacting each other adversely.
An under-appreciated aspect of having a chain that is fast and cheap is that it is inherently efficient. Solana’s design and innovation means that it’s profitable to run a validator even when transactions pay only fractions of a cent. This implies that the total compute power needed to process transactions must necessarily be under some threshold to allow the network to exist.
This is confirmed by the excellent Solana Energy Usage Report: a single Solana transaction uses less energy than three Google searches.
As energy usage is a very common criticism of blockchains, some comparisons to popular chains here is relevant. This amount of energy usage is:
- 2,500,000 times less than a single Bitcoin transaction
- 250,000 times less than an Ethereum transaction with its current Proof of Work model
- 45 times less than the expected usage of an Ethereum transaction when it moves to a Proof of Stake model
We believe that sustainability must be a central concern if a blockchain is to have the right impact on our world. Lab Eleven could not in good conscience support a technology that had a material negative impact on our world. We are very proud of both Solana’s footprint and its commitment to tracking and transparency.
Separate to Solana’s operational characteristics, Solana’s developer momentum is unmatched.
From the excellent Electrical Capital Developer Report, some key items stand out.
Solana has had a 4.9x year increase of developers from Dec 2020 to Dec 2021 - the largest of any chain, and putting it behind only Cosmos and Ethereum in terms of absolute numbers of developers:
There’s no denying Ethereum’s early entry in the market has resulted in the largest number of total developers. However, when normalised for days since first commit, Solana is growing faster in terms of number of developers than Ethereum:
This assessment is consistent with what we’re seeing in terms of real world community participation. The latest Ignition hackathon had 550 projects submitted by over 7,000 participants - an increase of over 760% from Solana’s first hackathon only several years earlier!
What is most impressive, is that Solana has managed to achieve all of the above momentum without any Ethereum compatibility layer.
The vast majority of other chains look to bootstrap initial developers by providing a pathway for existing Ethereum developers to enter their ecosystem. Often this comes in the form of a compatibility layer with Ethereum, allowing existing apps to be more or less ‘copy and pasted’ into the new chain.
This speaks to the inherent pull of Solana’s design - that developers were willing to eat glass and be early adopters because no other chain offers the types of characteristics and future that Solana does.
We believe that this momentum and pull will only continue:
- Solana’s development and test tooling is still reasonably primitive, and will only improve over time (and at Lab Eleven we are committed to contributing to this improvement).
- Solana network performance will continue to improve, with flow on effects to overall user experience and therefore potential use cases.
- Rust continues to be the most loved programming language in the world (for 6 years running!), providing a steady stream of experienced systems programmers ready to dive into the world of web3.
Betting on Solana is betting on the best and most committed developers in the world, which is a bet we make happily!
The future is bright
Solana’s future is very bright indeed. Beyond being fast and cheap, it is designed for the scale of web3’s ambitions, focused on remaining affordable for all, determined to minimise its environmental impact, and is making a lasting impression on developers.
We believe it is best positioned to usher in the new web3 era.
That’s why we are betting the farm on Solana. We are committed to being generous citizens of this amazing technology and community, and are looking forward to being part of bringing its potential to the masses.