🤔 What is Solana ?
Solana is the world’s fastest blockchain. It is a decentralized blockchain that optimizes for scalability and high throughput.
It competes directly with other layer 1 blockchain solutions like Etherium, Polkadot and Cardono.
💡 What role does SOL token play ?
SOL is the native currency of Solana. It is used for:
- Staking: Users can stake their tokens to participate in validating blocks and earn block rewards. The stake is also slashed in case the validator does not behave honestly.
- Transaction fee: Similar to Etherium. Users have to pay SOL tokens to include their transactions in the Solana blockchain.
📝 Origin of Solana
- During a self-described “caffeine-induced fever dream at 4 am” in 2017, Anatoly Yakovenko realized that Bitcoin’s hash function, SHA256, could be used to create a decentralized clock on a cryptocurrency blockchain.
- Yakovenko recruited Fitzgerald, Akridge, and three others to co-found a company called Loom. However, because of the potential for confusion with an Ethereum-based project that had a similar name, the company/project was rebranded to Solana, after the beach town near San Diego where the co-founders lived when they worked for Qualcomm.
- Solana released a beta version of its mainnet in Mar 2020, which was around the same time when the project raised $1.76 million in a public token auction. This beta version supports basic smart contract capabilities and token transactions, but it does not feature inflation rewards for validators.
- Once network inflation turns on, the network will graduate from a beta stage to a production-ready version. This complete version of mainnet will introduce Solana’s proposed inflation schedule.
👴🏻 Anatoly Yakavenko - Founder
- Education:
- 1999-2003: Did Bachelor of Science in Computer Science from University of Illinois Urbana-Champaign.
- Experience:
- 2003-2016: Worked as Senior Staff Engineer Manager at Qualcomm. His work involved distributed systems design and low-level programming. This experience made him aware that a reliable clock simplifies network synchronization resulting in exponentially faster network.
- 2016: Worked as Software engineer at Mesosphere.
- 2017: Worked as Software engineer at Dropbox.
- 2017: Founded Solana.
😌 What problems does it solve ?
- Fast: Other blockchains do not have a mechanism to keep time. This results in back-and-forth chatter and uncle blocks. The miners waste a lot of time in coming to a common consensus on how to order the transactions.
However, Solana overcomes this problem by using proof of history(discussed later).
- Cheap: Users have to outbid each other to include their transactions in the limited blockspace available on the blockchains. Solana can handle about 50,000 transactions per second. Hence, it can accommodate much more users resulting in cheaper transaction costs.
- No trusted third party: Validators run and maintain the blockchain. Users are in control of their funds. No single party has the power to influence the blockchain.
- Governments cannot regulate and control Solana.
- No downtime: Thousands of node operators running 24 X 7 ensure the network is always online.
- Efficiency gains: Projects building on Solana do not have to run servers and hire an army of developers.
🤖 How does it work ?
Proof of stake(PoS)
Nodes have to stake SOL tokens to participate in the process of validating transactions. In contrast to other PoS cryptocurrencies, there is no minimum stake required to be a node on the Solana blockchain. However, the amount of block rewards the node gets is proportional to the amount of SOL tokens staked on the network.
Clusters
- Clusters are set of validators working together to serve client transactions and maintain ledger.
- At any given moment, a cluster has a leader, which changes every 4 blocks (1.6 seconds).
- While a node occupies a Leader position, they cram as many transactions as they can into the four blocks they are producing and show these blocks to the relevant groups of nodes, called Solana Clusters.
- These nodes validate the transactions using digital timestamps as reference and then rapidly pass on the records to other relevant nodes on the network.
Proof of history: Decentralized clock
One of the limitations to scalability is the time required to reach a consensus on the order of transactions. For example, one of the blocks will be discarded if two Bitcoin miners make block at the same time. It is not efficient to discard valid transactions which were included in the block. This issue can be resolved if all the miners have a synchronized clock.
However, building a decentralized clock is not easy. Who will be the timekeeper?
Anatoly Yakavenko – Founder Solana found that SHA-256 algorithm can be tweaked to act as a decentralized clock. Using Cryptography it is possible to make proof of passage of time.
Integrating timestamp in blockchain allows very fast sequencing of data by validators, without the need for back-and-forth communication.
This means that nodes can create the next block without having to coordinate with the entire network first because they can trust the timestamp and ordering of the messages that they’ve received. The result is a reduction in consensus overhead.
Tower BFT: PoH-optimized version of PBFT (Practical Byzantine Fault Toleration)
On top of Proof of History, Solana runs its consensus mechanism called Tower BFT, which is a PBFT-like algorithm that leverages the synchronized clock enabled by PoH to achieve consensus on network transactions.
At a high level, each time a node on the network votes on a particular fork, they commit to a certain amount of time where they are locked out from voting on an opposing fork.
This period where they are locked out grows exponentially as they continue to vote on the same fork until they achieve a maximum lockout at 32 votes for the same fork. Nodes on the network will only receive inflation rewards when they reach this maximum vote lockout; therefore, it is in their interest to continue voting on the fork they believe the supermajority of the network is voting for.
Turbine: Block propagation protocol
The Turbine protocol makes it easier to transmit data to the blockchain nodes. Turbine is able to do this by breaking the data into smaller packets. This allows Solana to address issues of bandwidth and also increase its overall capacity to settle transactions faster
Turbine borrows heavily from BitTorrent and is optimized for streaming. As a block is streamed, it is broken up into small packets along with erasure codes, and then fanned out across a large set of random peers.
Gulf Stream: Mempool-less transaction forwarding protocol
In a high-performance network, mempool management presents a new class of problems ie the cost of filtering and maintaining a rising number of unconfirmed transactions.
Gulf Stream functions by pushing transaction caching and forwarding to the edge of the network. Since every validator knows the order of upcoming leaders (block producers) in Solana architecture, clients and validators forward transactions to the expected leader ahead of time.
This allows validators to execute transactions ahead of time, reduce confirmation times, switch leaders faster, and reduce the memory pressure on validators from the unconfirmed transaction pool.
One consequence of knowing leaders ahead of time is an increased risk of validator collusion since the network allows more time for them to coordinate. Solana’s fast block times mitigate the opportunity for collusion because it limits the time allowed to plan an attack.
Sealevel: Parallel smart contracts run-time
Sealevel is a hyper-parallelized transaction processing engine that is used to scale horizontally across GPUs and SSDs. With this system in place, it allows Solana to obtain a more efficient runtime and also allows transactions to run concurrently on the same state blockchains.
Most other blockchains are single-threaded computers. In contrast, Solana can support parallel transaction execution (in addition to signature verification) in a single shard.
The solution to this problem borrows heavily from an operating system driver technique called scatter-gather. Transactions specify upfront what state they will read and write while executing.
Sealevel is able to find the non-overlapping transactions occurring in a block and execute them in parallel (called parallel execution).
Sealevel is a VM that schedules transactions, but it doesn’t actually execute transactions in the VM. Instead, Sealevel hands-off transactions to be executed on hardware natively using bytecode called the Berkeley Packet Filter (BPF).
Pipeline: Transaction Processing Unit for validation optimization
The process of transaction validation on the Solana network makes extensive use of an optimization common in CPU design called pipelining.
Pipelining is a process where a stream of input data is assigned to different hardware responsible for it. This mechanism allows transaction information to be quickly validated and replicated across all the nodes in the network.
On the Solana network, the pipeline mechanism, the Transaction Processing Unit (TPU), progresses through Data Fetching at the kernel level, Signature Verification at the GPU level, Banking at the CPU level, and Writing at the kernel space.
By the time the TPU starts to send blocks out to the validators, it’s already fetched in the next set of packets, verified their signatures, and begun crediting tokens. The GPU parallelization in this four-stage pipeline allows the Solana TPU to operate at a high performance.
Cloudbreak: Horizontally-scaled accounts database
Memory is used to keep track of accounts and can struggle to maintain performance due to a lack of memory size and limited access speeds.
Cloudbreak is a data structure that is optimal for concurrent reads and writes across the network. Cloudbreak was designed to optimize for concurrent reads and writes spread across a RAID 0f configuration of SSDs.
Each additional disk adds storage capacity available to on-chain programs, while also increasing the number of concurrent reads and writes programs can perform when executing.
This goes hand in hand with Solana’s transaction design, allowing for pre-fetching accounts from disk and preparing the runtime for execution, also enabling nodes on the network to begin executing transactions before they are encoded into a block. All of this aims to help reduce block times and confirmation latency on the network.
Archivers: Distributed ledger storage
Storing and maintaining data on a high-performance network is likely to become a primary centralization vector. If storage costs are very high, only well-funded entities will be able to act as validators and participate in consensus.
On Solana, data storage is offloaded from validators to a network of nodes called Archivers. Archivers do not participate in consensus.
The history of the state is broken into many pieces and erasure codes. Archivers store small parts of the state. Every so often, the network will ask the Archivers to prove that they’re storing the data they are supposed to.
Solana leverages Proofs of Replication (PoRep), which are borrowed heavily from Filecoin.
🏛️ Governance model
Solana team maintains and updates the codebase for nodes. However, the team cannot force thousands of nodes to upgrade to the changes made by them.
The team is planning to launch on-chain governance, however, the dates have not been confirmed.
Solana Labs
Anatoly Yakavenko(founder of Solana) incorporated Solana labs in 2017 to start working on Solana project. However, the company has transferred IP rights and funds to Solana Foundation, a non-profit founded in 2020.
Solana Foundation
On April 8th, 2020 Solana Labs transferred all IP related to the protocol and 167m SOLs to the Solana Foundation. It is a non-profit organization headquartered in Zug, Switzerland, dedicated to decentralization, growth, and security of the Solana network.
🤑 How much money does the project have for future development ?
- The project debuted via an Initial Coin Offering (ICO), raising over $25.6 million in March 2020. In June 2021, Solana Labs also raised $314 million for further development of the network.
- The project and founders hold 12,50,00,000 SOL tokens to be used to fund future development
👍 Tailwinds
- Large number of projects are building on Solana blockchain.
- The project has one of the best teams in crypto. Anatoly Yakavenko managed to get his best colleagues at Qualcomm to work on the project. Four out of five initial employees have completed Ironman triathlon.
- Rising demand: More and more decentralized apps are being built. As a result demand for scalable blockchain is growing.
- Approach: Solana blockchain has employed a unique approach – proof of history. No other blockchain uses such an approach. Time will tell how this unique approach plays out.
- Switching cost: It will be difficult for the projects to migrate to other blockchains with their ecosystem and userbase once they have deployed on Solana.
- Network effects: More people will use Solana as more apps are being built. More apps will be built as more people use Solana. This positive feedback loop has potential to result in explosive growth in a short period of time.
Controversies
2020: Blockchain went down for 6 hours
A bot began spamming the network and hit a peak of 400k TPS.
When a validator realizes it is lagging behind the leader, it will forward transactions to the next leader, who will now have to handle its own normal messages and the backlog that’s been pushed to it.
This high volume of transactions took down some validators because they did not have enough compute resources and also buried network-critical messages from being processed. On a technical level, the network is still up — it’s just that nothing important is being processed.
The network was disrupted by a third-party attack and just slowed down the network to 0. Some validators crashed on their own. Some validator managers may have also disconnected their own nodes. However, nobody at the foundation has the power to click a button and disconnect a node.
2020: Solana team burnt 16 million SOL tokens
The confusion stemmed from the fact that Solana’s stated initial circulating supply would be equal to the amount of tokens distributed through its CoinList auction in late March, plus a small amount distributed as part of a series of airdrop campaigns on Binance, which was around 8m tokens. Some members of the community did great work building tools to view token balances and found an account totaling 13,527,651 tokens.
Solana Foundation had temporarily lent 11,365,067 Solana to a market maker for exchange liquidity. However, they forgot to provide this detail to the public. Users noticed the issue and brought it to the notice of the community.
Solana Foundation was then transparent and gave details about the situation, where the coins were being held, and the statistics about the total supply
They also burned a total of 11,365,067 Solana (the same amount they lent) to make up for the amount they temporarily lent over a year ago.
Additionally, they created new API and RPC endpoints to transparently show the total supply of the network going forward.
Finally, as part of their apology, the Solana Foundation initiated an airdrop of $100,000 on the Binance exchange platform to people who had traded Solana on Binance between the initial listing on 2020/04/09 4:00AM UTC and 2020/04/28 4:00 AM UTC.
2020: Team at Chorus One uncovered exploit in Solana
In March 2020 team at Chorus One managed to identify an attack vector allowing them to steal 500 million SOL tokens from the Tour de SOL test network.
Had the team at Chorus One not identified this, a hacker could have exploited the bug to exploit real funds on the mainnet.
😨 Risks and challenges
- Code of Solana and projects built on it are open-source. This makes it very easy for malicious actors to copy the code and launch a fraudulent cryptocurrency.
- Code is law: Smart contracts are uncompromisingly strict. Even the developers cannot go back and change what has been recorded on the blockchain. This is an advantage and disadvantage at the same time.
- Solana and projects built on it are a direct threat to current banking, government and legal system. Governments will resist and fight the change.
- Competition: There are many crypto projects that are in direct competition with Solana.
- Very expensive hardware is required to become a validator on Solana. As a result average user cannot run validator node on a regular computer.
💰 Tokenomics
SOL token had initial supply of 500 million tokens. They were distributed as follows:
These tokens will be released as follows:
Currently, the validators receive 8% staking reward. This will reduce to 1.5% in 10 years(The token will have 1.5% inflation after 10 years).
Demand pressure
Token’s price increases due to demand pressure.
Demand pressure on SOL token will come from:
- Staking: Validators will acquire and stake SOL to participate in block validation.
- Gas fees: Users will acquire SOL to pay for gas fees – to execute their transactions
- Speculators: They will buy SOL for future price appreciation.
Supply pressure
Supply pressure on a token decreases its price.
Supply pressure on SOL token will come from:
- Block reward: Some validators will sell their block rewards.
- Early investors: They have made huge profits on their initial investment. Some of them will sell part of their holdings to realize gains.
🧐 Indicators to watch out for
- YouTube channel is growing:
- Twitter following is growing:
- Total value locked on Solana is growing:
👋Final remarks
It is a new blockchain that has been around for just a couple of years. The project has found itself in many controversies, which is common for a new project. Even Bitcoin and Etheium faced several issues getting off the ground. However, the team has handled all the problems in a very mature and professional way.
Solana takes a different approach than other blockchains:
- Uses proof of history
- Trying to scale at layer 1
Whereas other blockchains are trying to scale using layer 2 solutions like sidechains and roll-ups.
It will be interesting to see how the two approaches progress over a period of time.
😊 Do further research
You can continue your research by using following resources: