By Ugly Bob | OCT 11, 2022
8:29 Min Read
The concept of the ETH killer, though juvenile, is a sort of holy grail accolade in the cryptocurrency space. During last year’s bull market every Layer-1 was a potential ETH killer and thousand-timer. But then again so was every other token with a market cap.
Solana was created by Anatoly Yakovenko, a Russian computer engineer working in the United States. A battle-hardened distributed network engineer, his past jobs appear to have been a perfect incubator for he who would fulfill the prophecy; He worked at Qualcomm, Mesosphere, and Dropbox.
There was a problem with the current state of blockchains as transaction throughput became a problem. Those who decieded to buy Bitcoin (BTC / USDT) and buy Ethereum (ETH / USDT) were struggling to scale past fifteen transactions per second. These chains did not utilize time, rather a block was a unit of time itself.
In November 2017 Anatoly released a whitepaper on Proof-of-History, a method to provide a clock for a network of computers using the SHA-256 hashing algorithm; He had too much coffee as the legend goes.
He began working privately, developing his project called Loom in the C programming language. It was later migrated to the Rust programming language with some encouragement from friend Greg Fitzgerald.
Loom was its way and in February 2018, Greg Fitzgerald released an open-source prototype of the Proof-of-History whitepaper, called ‘Silk’, that was able to verify and process ten thousand signed transactions in half a second.
A short time later Stephen Akridge, another Qualcomm veteran, was able to improve the prototype by offloading the signature verification process to the GPU.
The two men would join Anatoly on Loom along with three other founders.
Unfortunately, engineers aren’t very good at naming things, so some confusion arose as Ethereum also had a Loom Network. Users would confuse that with Anatoly’s Loom. And fortunately, Loom/Silk became Solana, based on the small beach town the three lived in while working at Qualcomm.
In June 2018 the team was able to release a permissioned fifty node, public testnet network operating on cloud infrastructure that was able to support consistent ‘bursts’ of 250K transactions per second.
They later worked their way up to the ‘Pillbox’ public testnet release running 150 nodes and pushing numbers between 200K and 500K transactions per second. This Pillbox release also offered limited support for on-chain programs using the BPF execution environment.
These were the early years of Solana; we’ll get into the more recent history after we break down the key components that makeup Solana. They are important to understand as Solana is a different beast than Ethereum or Bitcoin.
“The guiding design principle at Solana is to design software that gets out of the way of the hardware to allow 100% utilization” – Solana Labs
The native token in Solana is the SOL, which can be purchased on AscendEX and is used to pay fees on the network. Smaller denominations of SOLs are referred to as Lamports, much like a Satoshi for BTC. A Lamport has a value of 0.000000001 SOL. Like the ERC-20 for Ethereum, the SPL token standard provides dApps with a means of creating a token for use in their respective protocol.
There will supposedly only be a total of 489 million SOL in circulation by the time the network clears its inflation schedule.
Proof-of-History is a way of encoding time as data. It is an idea that builds upon Bitcoin’s Proof-of-Work consensus but avoids the need to wait for nodes to confirm a block as each Validator’s time is synchronized later.
Though it is considered the spine of Solana, Proof-of-History is not a consensus algorithm, rather it is used with Proof-of-Stake to organize events such as block production and transaction order.
The clock works by running the SHA-256 hash as fast as possible and using the output as the input of the next hash. Time is not measured in seconds but rather in ‘ticks’, so when a certain number of ticks is created the protocol records that chunk of ‘time’ as a verifiable data structure. Upcoming Block Leaders can order themselves according to these chunks of time.
The network participants can be certain a transaction was created after a chunk of time if it references any recorded chunk of time before that.
Proof-of-History is a confusing concept with plenty of videos to further confuse you on the Tube but is worth understanding as well as you can. You can also read Anatoly Yakovenko’s blog which explains Proof-of-History in closer detail.
Solana uses a bespoke variation of Practical Byzantine Fault Tolerance as its consensus mechanism. This is probably the most confusing part of Solana next to Proof-of-History. So an ELI5 is in order and you can go here for an ELI30.
ELI5ish: Using the recorded chunks of time in Proof-of-History, Solana only allows Validators to commit their vote to a fork of the blockchain for a specific amount of time. Once a vote is cast and their stake is bet on the validity of that block, the Validator is locked out from voting on any block that isn’t a child of that vote; The network can’t have Validators voting on multiple versions of the ledger.
I did tell this to my five-year-old with predictable (and relatable) results: He started crying, begged for his toys, and soiled himself. This is standard practice for learning about the inner workings of Solana (USDT / SOL).
A block propagation protocol employed by Solana to handle the delivery of large sums of data to large amounts of Validators. It simply isn’t practical for a node to have separate connections to 25,000 nodes and send them a full 256MB block of data.
Turbine provides a solution like data propagation in BitTorrent (or Multi-Level Marketing). Instead of the 256MB block, the block leader breaks the file down into smaller chunks and delivers each packet to random Validators. Those Validators in turn transmit their received data to a group of peers known as a neighborhood. The peers do the same thing to their connected neighborhoods and soon thousands of nodes receive the data within milliseconds.
Validators can also send out data as Reed-Solomon codes to allow Validators to reconstruct blocks with incomplete data. It is important to note that Validators with more staked $SOL tokens are placed closer to the block producer to give more committed Validators the best chance at the most complete information.
Bitcoin and Ethereum both use mem pools to store unprocessed transactions where this pool of unconfirmed transactions is propagated to random nodes in the network. Since Proof-of-History allows us to know the order of block leaders in advance, transactions can be sent to Validators ahead of time. Once a transaction is sent to a validator, it is sent to an upcoming Block Leader.
Forwarded transactions are only valid for a finite amount of time depending on the block hash referenced by the wallet. Once a transaction is older than roughly 24 seconds it is dropped from a Validator’s mem pool and deemed invalid.
Ethereum uses EVM to execute its smart contracts. EVM only uses one thread, which means only one smart contract can change the state of Ethereum at a time. Sealevel allows multi-threaded execution of smart contracts in Solana.
Also known as Solana’s Transaction Processing Unit. Solana’s goal is to efficiently use all available resources to process as much data as possible as fast as possible. The Pipelining process splits the transaction process into steps and across separate pieces of hardware responsible for each step. The idea is to allow the network to feed transactions into the Pipeline as soon as a transaction is processed to a Validator.
How the conveyor belt works is as follows: The kernel space handles fetches the data from a transaction. This is then sent to the GPU to verify the signature. Upon verification, it is sent to the CPU to process the banking, token amount changes, etc. It is then sent back to the kernel space to write the changes made in the program.
Validators run two pipelines at the same time: TPU for Block Leading and TVU for normal block validation.
A data structure for organizing the database of accounts. Using the thirty-two thread capabilities of modern SSDs to ensure Validators can read and write concurrently. Each additional SSD adds more storage space for the Validator thus allowing more transaction processing ability.
This is a simple explanation of Cloudbreak but is a powerful way of allowing Solana to scale its network; A bet on Solana is a bet on hardware.
Those who decided to buy Solana saw a huge pump in price at the end of 2021 heading as high as $259.96 in November. The network was delivering a crypto experience last known during the early days of Ethereum before gas prices excluded the average user from making DeFi a profitable everyday user experience; Cheap, fast, and permissionless finance.
This apparent golden age of Solana wouldn’t last long. In 2021 Solana began struggling with network performance and then the onslaught of FUD followed. Solana experienced a few slowdowns in transaction output with a few actual network outages but in crypto, it doesn’t matter: It’s all the same to an investor in a market full of scoundrels and perpetual instability. The price went down.
Much like any crypto application, Solana is an ongoing project. The new network upgrades like QUIC implementation, Stake-weight Quality of Service, and Fee markets are software upgrades but the real announcement (still a bear market mind you) were the Solana Mobile Stack and the Saga Phone. DeFi and dApps are coming to your pocket. These concepts are beyond the scope of this article, but the Bob’s will surely be writing about them in the future, maybe from our Sagas.