The first envisioned Solana use-case was an on-chain NASDAQ. Anatoly was frustrated by the lack of data for algorithmic trading, and since all data on open ledgers is available, he figured that it could be an amazing platform for executing and clearing trades.
Since I was thinking about the open data problem, storage became the next obvious thing to solve. I was at Dropbox when Filecoin did their sale, so I was familiar with their approach. I was actually on the backend file system team, and we didn’t think that the approach they published in the first Filecoin paper would work well for general purpose object storage.
As the story goes, Anatoly had too much coffee one night and thought that he had invented verifiable delay functions (VDFs). This was the fall of 2017, and at that time he couldn’t really find any literature on VDFs, outside of RSA time locks from the ‘90s.
Once I realized that VDFs can be used as a source of time in a distributed network, it was obvious that we can do the same performance optimizations that wireless networks do to increase capacity.
Additionally, with a VDF as a clock in the network, that original Filecoin PoRep (proof of replication) scheme suddenly appeared to be scalable for a globally-known, single data set.
Now Anatoly’s excited about Solana’s potential as a settlement and clearing engine between blockchains — hosting an orderbook on-chain. The bet? Everything of value will be represented by a cryptographic key, and it won’t matter where settlement occurs.
An open, permissionless ‘execution and clearing engine’ could be the biggest single market for price discovery and trading.
Solana’s main advantage is that they have a trustless source of time before consensus. The block producer provides evidence that they waited a sufficient amount of time before producing the block, and then each node can take action as soon as they see the proof, because they know that every other node will do the same thing.
This enables optimization for block latencies — 400 ms per block is the latest release available on Github. A trustless source of time minimizes messaging overhead between nodes in the network:
If I know that both of us are synchronized, I know you will take the same action as me when you see this message, and therefore our states will remain in sync.
Solana’s SOL token will be used for securing consensus and for paying transaction fees, including smart contract execution and state rent. It is the same token that is distributed via inflation in block production and replication rewards. From a high level, it’s similar to Ethereum’s ETH.
Bitcoin’s smallest unit is the “Satoshi,” while Solana’s are called Lamports. Therefore much of the codebase references Lamports instead of SOL tokens.
The plan is to use almost half of the genesis block for community rewards with an approach similar to that of Cosmos and the Interchain Foundation.
Solana Labs has set up a Swiss entity that will become the Solana Foundation (more on that near the end of this article). Over the next few years, the foundation will distribute tokens to network participants. Tour de SOL is one such distribution mechanism.
As Andrew (Figment) noted, potential Solana validators will need SOL to participate.
The main way will be through our Tour de SOL incentivized testnet. We’re following in Cosmos’ footprints, so it’s a testnet focused on stress-testing the network, with some competition and rewards in the mix. It’s a good place for validators to start showing benchmarks, reliability, etc. to start building a brand for attracting delegations.
Beyond Tour de SOL, Anatoly figures that there is an infinite amount of work to do, so the team will incentivize folks that want to participate in all different ways — documentation, hosting events, and porting the EVM (Ethereum virtual machine), to name a few.
We are working on a bounty program. If you see a “good first issue” in GitHub, reach out to us if that’s something you want to work on.
We should expect a bounty program to be announced and launched along with the first stage of Tour de SOL in September.
Anatoly stated that no investors own more than 5% of the network. More info about token sales, distribution, and minting can be found here in our recent article, Figment’s First Look: Solana.
Validators will earn rewards through block rewards, transaction fees, and commission fees on delegations. A validator will be scheduled based on the size of its stake (including delegations).
Andrew (Figment) asked Wolfgang and Flo from Staking Facilities about their specs and goals for their Solana validator hardware.
Solana’s hardware requirements are pretty specific, so we thought why not build this thing from scratch. Solana is hungry for GPUs (over time, transaction execution will move from CPUs to GPUs), high storage bandwidth (disk I/O) and CPUs. The goal was to build an enterprise-grade machine which has lots of excess power to stress-test the client software. We ran a benchmark which was able to achieve more than 120k TPS with the 0.17 release (just a local cluster)
Solana Labs’ goal is smart contract execution on GPUs. According to Anatoly, contracts typically do very small computation, a couple of branches, and a cryptographic operation. Votes generate rewards based on their Tower BFT consensus scheme.
Néstor asked if there is any documentation on the theoretical ROI of running a validator and what the different variables involved in the calculation are. Anatoly replied that there is a tradeoff between Solana’s approach and sharding — sharded systems should have higher latencies and cheaper validators. He thinks that a low cost validator could get started and off-load to cloud at peak capacity.
Andrew (Figment) noted that there’s a growing storage cost for nodes, and asked what how validators should think about that.
Perhaps you’re familiar with the problems inherent in state bloat — a single, initial gas fee incentivizes data to be included in the ledger, but the cost of continuing to preserve that data is externalized to the nodes (ie. validators) that store the ledger.
Solana will incentivize storing its blockchain state with part of Solana’s inflation rewards. Replicators will be responsible for storing the ledger, unbundling the burden from validators, which are expected to only store a window of the ledger.
Replicators must store an ever-growing ledger, but that burden can be shared.
Replicators will run as light clients, meaning that each replicator does not need to store the entire ledger. Replicators don’t stake SOL. They just need enough SOL to pay the transaction fees to submit the “PoReps” (proofs of replication). Replicators will be paid via inflation rewards that are proportional to the amount of the ledger they secure.
Eric expects the replication role to be an accessible on-boarding path to Solana’s economy, and the participation overhead should be fairly low — you’ll just need some extra disk space. Replicators will be able to auto-delegate tokens to validators to compound their rewards.
Think of it like PoW (proof of work) mining, but storage mining. Solana’s goal is to have sufficient replication, but not a hardware race, since 100 replications of the ledger provide nearly infinite availability. Ideally there will be replicator businesses that are akin to present-day validator businesses, but Anatoly thinks phones with 20 Gb of space will also run a replicator.
Smart contracts will require ongoing fees to remain active on the Solana network, a “state rent” that will also help to manage chain bloat.
If the smart contract balance is below two years’ worth of rent, then the network will charge rent, and the state will be destroyed when it hits 0. Rent can be paid by anyone, simply by transferring Lamports (the smallest unit of SOL) to the smart contract. Contracts that have a balance greater than two years of rent are not charged rent. As for receiving the rent, Anatoly thinks Solana will distribute the rent to the validators by amount staked.
There is no technical limitation to the size of the active validator set, but there will likely be economic limitations. If the validator’s stake is too small, the costs of validating may outweigh the benefits of commission fees and staking rewards. However, if the network is heavily used, then it should support a larger validator set.
There weren’t many questions about Solana rewards, so I’m drawing from our recent ‘First Look’ article:
Rewards will be held in a smart contract and may withdrawn at any time by delegators. Thus rewards will not earn compounding rewards until they are staked. There are reportedly plans for auto-delegation for replicators, a feature that may be extended to validators.
Since Solana will support delegation, what are the risks for delegators? The same as those for validators. According to Anatoly, Solana will initially have 1% to 5% slashing, an approach similar to Cosmos. Validators will not have custody over delegator rewards.
Downtime will not be punished by slashing, but both signing illegal transactions and voting for an inferior fork will result in a loss of tokens (slashed). Partial slashing may be implemented in the case of multiple validators being slashed during the same time period.
Governance will be critical for coordinating changes to the Solana network. Though it wasn’t addressed in this AMA, I did get information from Eric about the Solana Foundation.
Long-term governance will be conducted under the Solana Foundation, a Swiss non-profit entity established in June 2019. The foundation’s board will be elected representatives from the various stakeholder communities within the Solana network, such as validators, replicators, users, developers and token holders.
The Solana Foundation will focus on efforts to grow the network ecosystem through grants and decentralized governance processes. Solana Labs intends to begin the process of transferring network governance to the Solana Foundation in 2020.
Flo (Staking Facilities) wondered if the cost of hardware at network capacity may make onboarding smaller validators difficult, a tradeoff that Anatoly acknowledged: “That is definitely a tradeoff. But hardware costs drop 50% every 2 years.”
Andrew (Figment) asked if there are plans to implement IBC (inter-blockchain communication) or other interoperability approaches, something Anatoly said that Solana Labs would love to do. Apparently they have already begun the work for Bitcoin and Ethereum payment verification.
Solana presented a substantial amount of innovation, so I think that one hour was not enough time for this AMA. We’d love to have Solana Labs back for another chat in the future.
Special thanks to Anatoly and Eric for spending an hour with Staking Hub to answer our many questions. Thank you to Andrew Cronk for inviting the Solana Labs team, and for organizing and hosting this AMA with Wolfgang Albrecht.
Thanks to our Staking Hub community for the thoughtful and impactful questions that inspired high-quality answers. Since you’ve read this far, you might as well join us over in the Staking Hub Telegram channel :)
Hopefully you found this useful. Feedback is always welcome! I’m on Twitter.