Consensus at the speed of light.
That’s the north star that Solana co-founder Anatoly Yakovenko said he was following at his “Looking Back, Looking Forward” keynote at Breakpoint 2022 in Lisbon, Portugal. And even today, after the recent industry turmoil, that has not changed.
In order to get to consensus at the speed of light and onboard users around the world, Yakovenko outlined the problems and issues he had identified as roadblocks on the way to mass adoption. Here are the core problems the Solana development team and greater Solana community are tackling now — and what’s on the horizon.
Right now, crypto is chained to the desktop. But, for millions of people around the world, the primary way they interact with the internet is through their mobile devices. There’s just one big problem.
“The business models for web3 are not really compatible with how the business models work in the big app stores,” Yakovenko said. “When you buy-to-own video on Amazon Prime, you don't actually own it. You're renting it from Amazon, maybe forever, or maybe whenever Amazon decides not to have that video anymore. So it's not true digital ownership.”
Current mobile phones reflect this centralized set up — curated app stores are not friendly to crypto use cases, and dApps that make it through app store approval processes require users to take extra steps to connect to a wallet. It creates a lot of friction for the user. “It's a big challenge, not for the network, but for the user experience,” Yakovenko said. “And for developers.”
The Solana Mobile Stack, developed by Solana Mobile and coming first on the Android-compatible Saga phone, aims to make mobile more crypto-friendly. The seed vault, for example, uses the secure element built into every phone to store the seed phrase in a way that cannot be read by Android, allowing dApps to seamlessly connect with wallets. And the Solana dApp Store will be a permissionless marketplace for mobile dApps.
DVT-1, the first developer devices, started shipping in mid-December. The Solana dApp Store will accept the first applications in January, and Saga devices for the general public will ship in early 2023.
Reliability and Resiliency
Early in 2022, Solana ran into a series of bugs that caused the network to halt — and ever since, network reliability has been the main focus of the core Solana engineering team. Several of these bugs were novel, while others were the result of exponentially increasing use of the network.
“We've had a lot of challenges over the last year,” Yakovenko said. “I would say this whole last year has been all about reliability for the Solana engineering team. And a lot of that, I think we've solved.”
Network upgrades are already in the process of being rolled out, if not already:
- QUIC: Solana uses a permissionless UDP-based protocol to process transactions — but under the old design, high transaction volume could overwhelm the network. Redeploying the UDP on top of QUIC, a protocol written by Google, allows for fast asynchronous communication. QUIC is currently live on Mainnet-beta.
- Stake-weighted QoS: Weighting validator priority by stake, instead of processing transactions regardless of source, “prevents unstaked nodes or low-stake nodes from spamming everyone else,” Yakovenko says. Stake-weighted QoS is already live on Mainnet-beta.
- Local fee markets: Local fee markets will allow users to pay a little extra to have their transaction processed first. These fee markets are live on Mainnet-beta, with RPC and wallet support coming soon.
And while a number of community projects, like Jito and Mango, are working to make the network more reliable, the biggest wholesale upgrade of the network could come from Firedancer, a new validator client developed by Jump.
Firedancer is a second validator client, meaning that people could potentially run their validators using one of two entirely different software packages with independent dependencies. It is extremely performant and processes .6 million transactions per second in a test environment (much more than the current network’s average of 4,000, which is still far more than other blockchains can support).
Solana would be the only other smart contract network besides Ethereum to have more than one independent validator client — which would be a boon for the network. If a bug happens to take down one of the clients, the network will remain running on the other, increasing Solana’s reliability and resiliency.
“I've always said that Solana is like Linux, and it should be as programmable as Linux,” said Yakovenko. “That means using modern tools like compilers to support a very large set of developer languages.”
The Solana community has made some major strides in ensuring the network became more programmable. There is already a Solidity compiler for Solana, solang. Anchor, a framework for building on Solana, has become much easier for developers to use — and the newly released program Seahorse allows people to write Anchor programs using Python. “We went from chewing glass last year to surfing glass,” Yakovenko said.
But there’s still some major moves on the horizon. Token-22, a new token standard, will enable the development of new applications, like collecting royalties on transfers and ownership and confidential payments. Token-22 is coming soon.
There’s been a number of other upgrades in the works to make Solana a more secure, performant network.
In order to make sure the Solana network can transmit information almost instantly around the world, the core engineering team has introduced some turbine optimizations that are deep under the hood. “I think this is probably the coolest piece of technology that we built that nobody knows about,” Yakovenko said.
There is also a lot of work being done on runtime optimizations as well. While upgrades to Solana’s Sealevel runtime have made the network even faster at processing transactions, engineers are still making headway on two really big, difficult problems — the transaction scheduler, and then playing those transactions back.
“These are those kinds of engineering problems that you can spend a lifetime on,” Yakovenko said. “The solutions are getting better and better, and heuristics are getting much closer to the best possible you can have.”
The security of the network is paramount to mainstream adoption. Luckily, a number of improvements will be implemented soon to make Solana more secure–for both the network at large and users.
And while Solana’s massive increase in the number of validators has made the network more secure and censorship resistant, there are still improvements that are needed before widespread adoption.
“If you really imagine these networks taking over the majority of finance — like real finance, trillions of dollars being moved between banks, between Forex, between payments — these networks need to provide guarantees that are much, much stronger than, than what exists today,” Yakovenko said. “How do we scale the set to the point that at a gut level, when you're the Chief Security Officer at Bank of America, you're like, ‘Well, I can trust this thing, because there's so many nodes that the probability of something going wrong is basically zero’?”
Yakovenko points to automatic audits as a security feature developed by ecosystem teams like OtterSec and Sec3 that will help developers catch common smart contract and development mistakes. “As much automation as we can build, the more robust that these systems can get.”
Meanwhile, consumer-facing products such as the Solana Mobile Stack’s seed vault will make self custody much easier — and more secure— for consumers.
Yakovenko has his eye on some major problems that he would like teams in the Solana ecosystem to tackle.
“Luckily, we don't have a difficulty bomb — we’re already Proof of Stake — so I think it's downhill from here,” he said. “But there's still a lot of really hard problems left.
On the programmability front, there are a number of big ideas that could make Solana even easier. There’s already tooling in place that could help make formal verification a reality, which could help developers get closer to a second implementation for their smart contracts. “My hope is at next year’s Breakpoint, I'll be talking about the smart contracts that are open source, have formally verifiable specs, that auditors can look at the spec and tell you where you're missing an assumption, or an assumption is not possible to prove,” Yakovenko said.
Type-rich bitcode, Yakovenko says “was basically science fiction when I was an undergrad 20 years ago.” Built on the work that’s been previously done with Linux, it could potentially remove a lot of the plumbing and boilerplate between Solana programs that currently cannot call functions between each other. “This is really like the difference between full composability in the world computer, and like passing messages between different services. And I want that full composability,” he said. “The kinds of things that developers will build I think will blow everyone's mind.
One of the other gnarly problems on Yakovenko’s mind? Network state and dynamic pricing for storage. “What happens when you have like, 5 billion accounts or 10 billion accounts? We've actually done a lot of optimizations over the last year to just scale it with hardware,” he said. “But that still doesn't mean that we know how to price that storage. We don't know what the value of the next account should be next to the validators, and how to make sure that that storage is used effectively.”
At the network level, the name of the game is “slimming down Solana.” What does that mean? Yakovenko points to the research around light clients, which allows users who are not running a full validator node to look at a small sampling of data. These light clients could be a way to effectively secure the network and validate that the majority of nodes are correct. For Solana, he half-jokingly calls these diet clients, “because Solana is a big fat protocol. The proofs are much fatter than something on a very, very thin protocol layer.”
Another big idea on Yakovenko’s mind — removing the act of block production from running a validator node. “This allows the actual block producers to be a bit stateless and not need the most synchronized state, so they can spend all of their resources on this very gnarly, real time knapsack problem of creating blocks,” he said. “That's a huge reliability improvement, and a pretty significant improvement for latency.” Using bankless leaders would free up validator nodes to verify the network.
The other side of that coin is APEX, which would remove the ebb and flow of dealing with web traffic demands from validators by separating out the work of playing and reviewing blocks from picking forks. “Once you pick a fork, you know the execution and you know the result. And if we can accomplish this, that means that you can have actual program execution run a full epoch behind fork choice. That gives you two days worth of transactions to execute at once,” Yakovenko said.
All three ideas would make the network more secure and performant.
“The mother of all difficult bombs:” Multiple concurrent block producers
This all leads to the big problem that Yakovenko sees as the holy grail, the “mother of all difficult bombs.”
If Solana is to create a real-time historical record of events that happen in the world, information needs to be transmitted as fast as possible. Who heard about information first can determine the winners and losers in the world of finance, for example. “If you're the first to recognize an economic opportunity,” Yakovenko said, “you should be the one to get credit for it to be able to take it.”
To fight this, you need to reduce latencies in the network. Take a look at this map as an example:
Right now, Monkey King has to send his transactions across the Atlantic, much further than Solana Summer Monkey. And that geographic distance makes a difference — a few milliseconds of latency could determine whether Monkey King makes a transaction first.
If there were to be multiple concurrent block producers, however, there now could be multiple places to validate transactions at the same time — reducing latency and giving everyone a much fairer chance.
Yakovenko is quick to point out that although it sounds like it, this isn’t actually the same as sharding, which is popular on some other blockchain platforms. “We still have a single state machine, a single unified worldview of what the state is,” he said. “We just have multiple ways to encode that history.”
Ultimately, all these updates and proposals will help make decentralized systems as fast, reliable, and secure as their centralized counterparts. “It just takes a bunch of work and some organization,” he said.
And by tackling these problems, the Solana community will be closer to that goal than ever.