Crypto News

CEX.IO Spotlight: Solana – Bitcoin & Crypto Trading Blog


Overview

What is Solana?

Solana is an open-source and base-layer blockchain protocol. Created by Anatoly Yakovenko in 2017, Solana strives to provide developers with a scalable platform for decentralized applications (dApps).

Solana’s timestamp feature, aka Proof of History (PoH), solves the “source of time” issue in proof of work and proof of stake-based blockchains (like Bitcoin). The PoH mechanism categorizes transactions according to when they enter the network.

Solana also uses a Delegated Proof of Stake (DPoS) consensus algorithm to secure the network. DPoS networks provide more incentives for smaller investors to decide which nodes can confirm blocks.

Solana developers claim that the network can support over 50,000 transactions per second (TPS) while maintaining block times of 400 milliseconds. As of December 2021, Solana has 2,000 – 3,000 TPS and 0.5 – 0.55 seconds block time, according to Solana Beach.

Additional design goals include lower transaction costs, maintaining thousands of nodes while remaining fast and scalable. Solana also aims to support all LLVM-compatible smart contract languages.

Solana’s History and Founders

Before creating Solana, Yakovenko worked for Qualcomm and Dropbox as a software engineer. Leveraging his extensive experience in compression algorithms, Yakovenko explained in his 2017 White Paper how he could solve scalability by speeding up PoW and PoS blockchain networks. 

Yakovenko would team up with his Qualcomm colleague Greg Fitzgerald to build a blockchain network that used PoH as its core. In February 2018, they published the Solana whitepaper and released the internal testnet.

Solana is a trustless and distributed protocol that uses a mix of new and old scalability solutions to solve the throughput problems existing in the Bitcoin and Ethereum networks. 

Initially, the project was called Loom. The founders decided to rename it to Solana to avoid confusion with the Loom Network, an Ethereum-based layer 2 project.

Alongside Greg Fitzgerald, Eric Williams, Yakovenko created Solana Labs, Inc. Today, Solana Labs is the main contributor to the Solana Network.

Solana raised over $25 million pre-launch funding on various private and public token sales, including $20 million in a Series A round led by Multicoin Capital, Foundation Capital, NEO Global Capital, and other investment firms. 

The Solana network went through multiple permissioned testnet phases until the so-called Mainnet Beta was eventually released in February 2020. The initial beta network featured only basic transaction capabilities and smart contract support but did not include any staking reward. Recently, Solana developers enabled staking in the network but it has yet to officially leave this beta period. 

Solana Network Features

According to Solana Labs, the Solana network is built on eight innovations

  • 1. Proof of History
  • 2. Tower BFT
  • 3. Turbine
  • 4. Gulfstream
  • 5. Sealevel
  • 6. Pipelining
  • 7. Cloudbreak
  • 8. Archivers

Proof of History

In blockchain networks, nodes can’t trust the timestamp on messages received from other nodes, so agreeing on the time and sequence is one of the biggest challenges in distributed networks. Solana solves this issue using a cryptographically secure source of time across the network called Proof-of-History. Proof of History is a Verifiable Delay Function (VDF) that requires a specific number of sequential steps to evaluate but produces a unique output that can be publicly verified. Since nodes can trust the timestamp in the Solana network, this allows them to create the next block without coordinating with the entire network.

Tower BFT

Tower BFT is specifically designed to take advantage of the synchronized clock and it is used to achieve consensus on network transactions. Each time a node 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 locked period grows exponentially if they continue voting on the same fork. Nodes can observe and examine timeouts of all the other validators in the network to see what fork can be valuable to support.

Turbine

Turbine allows Solana to facilitate the seamless transportation of data to nodes on the blockchain. Turbine is a separate but connected protocol that transmits blocks independently of consensus. Turbine breaks data into smaller packets along with erasure codes before sending them out. A similar propagation technique is used in a BitTorrent network.   

Gulf Stream

In Solana architecture, every validator knows the order of upcoming leaders (block producers), so clients and validators forward transactions to the expected leader ahead of time. This allows validators to execute transactions rapidly, switch leaders faster, reduce confirmation times, and reduce the memory pressure on validators from the unconfirmed transaction pool.

Sealevel

With Sealevel, Solana can support parallel transaction execution in a single shard. Sealevel is a transaction processing engine that allows the network to process thousands of smart contract calls at once. It can be achieved because Solana transactions describe all the states a transaction will read or write while executing. This not only allows for non-overlapping transactions to execute concurrently but also for transactions that are only reading the same state to execute concurrently as well.

Pipeline

For sub-second confirmations, it’s not enough to form consensus quickly but you also need a fast validation. And Solana uses pipelining infrastructure for this, making different hardware responsible for separate steps of data processing. 

Validation pipelining can be compared with a universal washer that can do 3 separate things at the same time — wash, dry, and fold laundry. So after finishing the first stage (wash), laundry moves to the second stage (dry), and then to the third one (fold). To optimize the process, the new laundry is added to the washer when the previous laundry moves to the next stage. So it is possible to make three loads of laundry simultaneously. 



Source link