SOLANA

Solana is a revolutionary blockchain with fundamental innovations and it has all it takes to be the ultimate Blockchain.

What is Solana?

Solana is an open source project implementing a new, high-performance, permissionless blockchain. The Solana Foundation is based in Geneva, Switzerland and maintains the open source project.

Many developers have built a variety of projects and dApps (Decentralized Apps) on Solana for example:

Serum, a decentralized exchange; Audius, a music streaming platform; Metaplex,an NFT marketplace.

From all the “Ethereum killers”, Solana emerged in 2021 as the hottest one, with the most engaged developer community. Through a unique blend of eight technological innovations (including Proof of History), it alleviates many of the problems that plague other blockchains and has been able to reach record levels of speed and transaction volumes.

What makes a blockchain better than others?

Well, it needs to be:

  • Fast
  • Secure
  • Scalable
  • Affordable
  • Resistant to censorship

In the current climate of the blockchain environment, it can be difficult to find one with all the above. Some may provide fast transactions, another providing cheap transactions, but very few can claim they’re providing all of the features above.

Solana is a blockchain that offers all the above. That makes it an attractive platform for all sorts of decentralized apps.

Solana has handled up to 65,000 transactions per second at its peak, with a block time of 400ms – that’s nearly 3 blocks per second!

Transactions on Solana are quite affordable. The average cost of a transaction is $0.00025.

It supports smart contracts. Developers can deploy their apps to Solana and take advantage of its features.

How to Buy Solana (SOL)

Solana (SOL) is currently available for purchase on the following exchanges.

Coinbase – Get free crypto when you trade. Know someone curious about crypto? You’ll both receive $10 in Bitcoin when they buy or sell $100 or more on Coinbase.

How to Store Solana (SOL)

Storing your SOL is easy as well. The project’s developers specifically recommend the Trust Wallet. This mobile wallet is available as a free download on both Apple and Android. Coin98 is another recommended mobile selection that offers a bunch of cool features to simplify your storage needs. Of course, the safest option is a hardware wallet

The Ledger Nano S or the more advanced Ledger Nano X both support the storage of SOL. They also allow you to stake your coins directly from your hardware wallet. This approach provides you the highest level of security and rewards for your participation in securing the ledger. 

Solana – A Technological Leap 

Solana is one of the most advanced blockchains in operation currently. The developers behind this project succeeded in creating a network that could surpass today’s payment processors in terms of tps and functionality. As such, you can expect to see more developers make the switch over to Solana as their original blockchains continue to suffer scalability concerns. 

History of Solana (SOL)

The history of Solana begins in 2017. It was at this time that Anatoly Yakovenko founded the project. He quickly partnered with Greg Fitzgerald and Eric Williams to accomplish his goal of creating an infinitely scalable blockchain. Notably, Yakovenko leveraged his past experience as a Dropbox engineer to help Solana achieve its hefty goals. Today, Solana is recognized as an advanced fourth-generation blockchain.

Shortly after its introduction, Solana partnered with another up-and-coming blockchain protocol Serum to create a DEX. Serum utilized the advanced system Solana created to develop a non-custodial spot and derivatives exchange. The DEX was met with excitement from the crypto community due to its new features. Specifically, Serum created an on-chain central limit order book (CLOB) that updates every 400 milliseconds to ensure the most accurate pricing for traders.

SOL

SOL is the native token of the Solana network. This versatile cryptocurrency enables users to earn passive rewards through the network’s delegated staking options. Notably, SOL is hard-capped at 489 million coins.

What Problems Does Solana (SOL) Solve?

There are multiple pain points in the market that Solana attempts to rectify. The network’s architecture was structured to be expandable and resilient to censorship. This trustless and distributed blockchain tackles both transaction settlement speed concerns and bandwidth via this design.

Scalability

Scalability issues continue to plague the crypto market. Early blockchain’s reliance on the Proof-of-Work consensus mechanism has led to serious congestion issues. Top coins such as Bitcoin and Ethereum were designed to increase transaction fees as the network’s congestion rose. Sadly, this has led to major issues for both of these networks. Ethereum is currently flooded with new projects, partly due to the recent rise in DeFi platforms. Sadly, this congestion equates to more fees and transaction delays for the average user.

solana 3rdpartypeople 1

Solana (SOL)

Solana avoids these issues by introducing systems that allow the network’s transaction throughput to scale proportionally to its bandwidth. For example, Bitcoin can handle seven transactions per second (tps), Ethereum can handle around twelve. According to developers, Solana is capable of 50,000 tps. 

Benefits of Solana (SOL)

It’s easy to see the benefits of a network that can scale up to meet the demands of the global economy. Additionally, this scalability makes Solana a better blockchain for Dapps such as DEXs and staking protocols. Here are some of the top benefits gained when you join the Solana network.

Censorship Resistant

The trustless and distributed nature of Solana makes it ideal for day-to-day commerce. You can conduct global transactions in seconds for a fraction of the cost of the most popular cryptocurrencies. Best of all, since there is no centralized control over the network, there is no one to stop, block, or confiscate your transactions like fiat currencies. 

Delegated Staking

As a delegated staking blockchain, users gain some major advantages over the competition. For one, anyone can secure a passive income staking their SOL on the network. Staking protocols continue to gain popularity in the market because they are easier for new users to learn, and they provide more stable rewards when compared to trading.

How Does Solana (SOL) Work

In order for Solana to accomplish all of its goals, the developers had to think outside of the box. As such, the network is packed with proprietary systems. These systems work in tandem to create an extremely useful and reliable blockchain network.

Consensus Mechanism

Solana is a Delegated-Proof-of-Stake (PoS) network. DPoS networks differ from PoS networks in a couple of ways. Both mechanisms utilize Validators to process transactions. Validators are chosen based on their overall holdings in the network. The more SOL you hold, the higher the chances you get chosen as a validator. This strategy ensures that only those vested in the network hold this position.

Validators earn rewards when they approve transactions and add them to the blockchain. Those who aren’t Validators can still secure some easy profits by delegating their holdings to one of the Validators. This system allows everyone to participate in securing the network and allows the users to decide what nodes deserve to validate transactions. 

Solana Network Stats

Solana Network Stats

DPoS networks are multiple times faster than PoS blockchains. The average blocktime for Solana is 2.34 seconds 😅. However, bench tests have shown the network can approve blocks in as little as 1.6 seconds. Considering Bitcoin requires 10 minutes to accomplish this task, it’s easy to see why DPoS blockchains continue to gain momentum.  

🤯There are several key innovations Solana has introduced to the blockchain world that are mind blowing, these innovations are:

  1. Proof of history
  2. Tower BFT
  3. Turbine
  4. Gulf Stream
  5. Archivers
  6. Sea Level
  7. Pipelining
  8. Cloudbreak

Proof of History

Proof of History (PoH) is the core innovation of Solana. For a blockchain to work, participant nodes need to reach an agreement on time. Traditional blockchains like Bitcoin function by proof of work. Solana has revolutionized their consensus model, called PoH.

The POH mechanism serves a vital role in the Solana ecosystem. This protocol increases the efficiency of the blockchain by integrating timestamps in every transaction approval. These timestamps enable nodes to establish the sequence of events. In this way, the system serves as a cryptographic clock for the network.

PoH is a verifiable delay function. This function produces unique output from an input. It uses the hashing algorithm SHA-256 so one can’t reverse the function and calculate input from the output. The nature of the verifiable delay function makes fast verification possible on Solana.

vdf.jpg

The whole philosophy behind it is:

  • Running the function takes some time
  • Running the function is the only way to produce the output
  • With the known input and output of the function, the only way of evaluating the output is to re-execute the function with the provided input

This guarantees that when an output is valid for an input, some time has passed for producing that output. This is the magic behind Solana’s Proof of History!

The ledger in Solana is a chain of blocks. Each block contains some amount of transactions, making the size of a block 10MB.

solanaLedger.jpg

Besides input and output hashes, some other metadata is attached to each block like the number of transactions and events it contains. When a node claims that it has created a new block to add to the ledger, this claim is verifiable by other nodes. The node that generated the block is called the Leader and the other nodes which perform the verification are called Validators.

Validators run the verifiable delay function (VDF) for the number of transactions existing in the block and compare those outputs with the outputs provided by the Leader node.

When proposing a new block, nodes can reference one of the recently confirmed hashes in the ledger. This way they are proving that their block is generated after the referenced hash

Solana (SOL) is a fourth-generation blockchain and cryptocurrency that leverages an open infrastructure to provide greater scalability. The network introduces various new and unique technologies to provide users with unmatched transaction speeds and enterprise-level security.  Consequently, the network has seen considerable growth since its introduction in 2017.

Tower BFT

The Tower BFT system improves network responsiveness by allowing Validators to vote on the state of the ledger. This mechanism also records the previous votes and utilizes them to speed up validation by allowing Validators to simply reference their previous votes rather than running the entire transaction chain. In this way, Tower BFT can be considered an upgraded version of the Practical Byzantine Fault Toleration (PBFT) system found in other DPoS blockchains.

The Byzantine Generals is an old problem discussing the issue of deciding upon a solution for a question where there is more than one solution or proposal with a different number of votes for each solution.

Tower BFT is Solana’s custom implementation of Practical Byzantine Fault Tolerance (PBFT), which takes advantage of PoH as a global clock to reduce message overhead and latency. This implementation uses Proof of History as a reliable source of time and the exponentially-increasing time-outs to select the most valid forks.

In the chart below we see a conflict over Hash number 4. Both Hashes claim to be a valid child for Hash number 3, but only one can be accepted.

Slide2.JPG

After performing validation of a block, Validators submit their vote for that block (referred to as the hash).

For each hash in the ledger, Validators can submit their votes for that specific hash at a vote stack dedicated for it. In the example above, both hashes are trying to get confirmed and become Hash #4. both of them have a vote stack. In the end, the one with the largest vote stack is going to win this competition, and Validators who voted on the winner are going to be rewarded.

This mechanism of reward for votes on the right hash encourages Validators to vote on the fork with the largest vote stack since it’s much likelier to be the valid one.

The slot is the number of hashes that represent about 400ms. Every 400ms, the network has a potential rollback phase. Considering each vote, every subsequent vote coming after it doubles the amount of real-time the network needs to wait to unroll it from the votes stack.

We love examples, so let’s examine this rule with an example:

Assume that Validators started validating the orange hash from figure above and a vote stack has been created as below:

vote stack at 0.jpg

It looks like a pyramid because votes are different depending on the order of their entrance to the stack.

We measure time in slots for the vote stack. Let’s assume the first vote gets submitted by a Validator to the stack at time 1. Then the vote stack would be as below:

vote stack at 1.jpg

The expiry time is the time that the submitted vote gets popped out of the stack along with all votes being submitted after it (i.e. votes above the popped out vote with a higher vote index).

Expiry time for a vote is calculated by “Vote time + current lockout in the stack“.

1 slot (~400ms) later another vote gets submitted, so the new vote stack would be:

vote stack at 2.jpg

Now we are familiar with the math and logic of voting. A vote gets submitted at time 5. At time 5, vote number 2 is expired and popped out of the stack. So now, the vote stack would be:

vote stack at 5.jpg

Although a new vote gets submitted to the stack, it doesn’t double the lockout time for vote 1 because doubling in lockout times happens only when votes need to move to larger positions in the pyramid.

At time 6, vote 1 gets expired and gets popped out along with all votes submitted after it (including vote 3). So our vote stack is empty again.

Now that we are familiar with the logic of it let’s travel in time to 18 and take a look at the vote stack:

vote stack at 18.jpg

At 19 we have 4 votes in stack and vote 7 is about to expire but another vote gets submitted:

vote stack at 19.jpg

As more votes get submitted by Validators, the stack grows in size and the expiry time for older votes increases as well. When the stack size reaches 32, the lockout number for the oldest vote is 2^32 slots which is around 54 years! With a high chance, almost an absolute certainly, this vote would never be rolled back.

To reward Validators who voted on the right hash, when a new vote is being submitted to a stack with 32 votes in it, the oldest one would be de-queued from the stack (i.e. first in, first out) and its Validator receives a reward.

This mechanism sounds similar to what happens with Proof of Stake on other blockchains, but they are distinct in one important aspect: In Tower BFT, when 2/3 of Validators vote on a PoH hash it would be considered as confirmed and cannot be rolled back.

Another advantage of this approach is that every participant in the network can compute the timeouts for every other participant without any P2P communications. This makes Tower BFT asynchronous.

Turbine

Turbine is another proprietary technology introduced by Solana. This blockchain broadcasting protocol takes important data and breaks it into smaller pieces. These packets can be sent to nodes faster and using less bandwidth. 

turbine.jpg

Is it just me or the man in the meme looks like the CEO of Solana Anatoly Yakovenko 😂

Scalability is a hard problem to solve, since adding to the number of nodes in the network results in more time needed for nodes to propagate data between each other.

Consider a leader trying to share 64MB of data (around 250,000 transactions assuming each transaction around 256 bytes) with other 20,000 validators. The very naïve approach would require the Leader to send the data to all other nodes at the network by P2P communication. And that simply means the Leader should have a unique connection with each one of validators and send 64MB of data to each one separately.

That is neither fast nor efficient! That’s why Solana came up with Turbine to solve this issue. Turbine is a protocol used by Solana to propagate blocks through the network fast and securely.

Turbine establishes a random path per data packet through the network, when a Leader node is streaming data to other nodes in the network.

The Leader splits the block into packets up to 64KB in size. For a 64MB block (around 250,000 transactions considering each transaction around 256 bytes) the leader produces 1,000 x 64KB packets, and transmits each packet to a different Validator.

turbine 1.jpg

In turn, each Validator node re-transmits the packet to a group of peers that is called a neighborhood. You can think of the network as a tree of neighborhoods which allows the network to grow beyond 1,000 Validators:

neighborhood tree.jpg

Each node in a neighborhood is responsible for transmitting the data it receives to other nodes in its neighborhood, thus propagating a portion of its data to a small set of nodes in other neighborhoods.

neighborhood interaction.jpg

For simplicity, the diagrams above have assumed each neighborhood consists of 2 nodes. In Turbine there is a parameter called DATA_PLANE_FANOUT which specifies the maximum number of nodes in any neighborhood. With that being said, so far we have seen diagrams with DATA_PLANE_FANOUT = 2. This parameter also determines the shape of the tree.

Consider the following pseudo-code to help you think of network tree creation:

LAYER = 0
NEIGHBORHOOD = 0
// Run until all nodes are allocated to a layer and neighborhood 
While ( NODES_IN_NETWORK > 0 ) {

  // If maximum amount of neighborhoods in a layer is reached, moves to next layer
  If ( NEIGHBORHOOD+1 > DATA_PLANE_FANOUT^LAYER ) {
    LAYER = LAYER + 1
  }

  // If there were equal or more nodes than DATA_PLANE_FANOUT the create a full neighborhood
  If (NODES_IN_NETWORK > DATA_PLANE_FANOUT ) {    
    NODES_IN_NETWORK = NODES_IN_NETWORK - DATA_PLANE_FANOUT
    Create the Neighborhood number [NEIGHBORHOOD] at layer [LAYER] with [DATA_PLANE_FANOUT] nodes
    NEIGHBORHOOD = NEIGHBORHOOD + 1
  }

  // If there were less nodes than DATA_PLANE_OUT create the last neighborhood with remaining nodes
  Else {
    NODES_IN_NETWORK = 0
    Create the Neighborhood number [NEIGHBORHOOD] at layer [LAYER] with [NODES_IN_NETWORK] nodes
  }
}

So for DATA_PLANE_FANOUT = 3NODES_IN_NETWORK = 39 the tree is like below:

tree creation.jpg

In a network with DATA_PLANE_FANOUT = 200, a Leader at the top can reach up to 40,000 (200*200) Validators in 2 jumps in the tree. Which takes 200ms assuming each link inside the network resolves in 100ms on average.

With fast propagation of data comes security concerns. A malicious node may choose to not rebroadcast the data it receives or even rebroadcast incorrect data to other nodes. To address this issue, the Leader creates Reed-Solomon erasure codes. Erasure codes allow each Validator to reconstruct the entire block without receiving all the packets.

If the Leader sends 30% of packets as erasure codes, then the network can drop any 30% of the packets without losing the block. Leaders can even adjust this number based on network conditions. These adjustments are made by the Leaders’ observed packet drop rate from previous blocks.

turbine - erasure codes.jpg

Gulf Stream

Gulf Stream does away with the mempool concept. A mempool is a waiting area for transactions before they are selected to go in the next block. In Bitcoin, the mempool is used to provide miners a chance to select the highest paying transactions to process first. Gulf Stream introduces a new strategy that allows the network to forward transactions to validators before the current block of transactions is finished with its approval. 

Gulf stream is Solana’s mempool management solution. A mempool (i.e. memory pool) is a set of transactions which haven’t yet been processed in the blockchain and are waiting to be picked up by the network.

For instance you can take a look at bitcoin’s mempool (a link is provided in the References section at the end of this document).

bitcoin mempool.jpg

At the time of writing this tutorial, 21 September 2021, the size of the Bitcoin mempool is 1.362M. which demonstrates the number of transactions in bytes waiting to be processed by Bitcoin miners. The size of a mempool depends on the supply and demand in block space. The more demand grows, the more transactions would be submitted and roughly with the same supply, mempool size grows.

With the increase of mempool size, the required time for processing a transaction (on average) rises as well and users say “this blockchain is slow!”. The very naïve solution to this may be increasing the throughput of the network by scaling it and utilizing stronger hardware. But this needs a huge amount of resources to be spent and makes the network harder to manage and keep safe.

Solana has addressed this issue by using a technique they call Gulf Stream. Assuming Solana network’s throughput is 50,000 it can handle 100,000 sized mempool in a matter of seconds.

Each Validator knows the order of upcoming Leaders due to Solana’s architecture. So clients and Validators forward transactions to upcoming Leaders before they act as a Leader in the network. This allows Validators to start processing transactions ahead of time. This results in fewer transactions cached in Validators’ memory and faster confirmations. You can take a look at leader rotation and other details of Solana network at solanabeach (there is a link in the References section).

leader rotation.gif

Clients, such as wallets, sign transactions that reference a specific block hash. Clients select a roughly recent block hash that has been fully confirmed by the network. From the Tower BFT section, we know how a block gets confirmed and finalized in the network. It takes 2 slots or around ~800ms for a block to be proposed. As we have seen in the Tower BFT section, proposed blocks either fail or get confirmed after 32 subsequent blocks.

Once a transaction is forwarded to any Validator, that Validator forwards the transaction to one of the upcoming Leaders. Once the network moves past the rollback point such that the referenced block hash has expired, clients have a guarantee that the transaction is now invalid and will never be executed on-chain.

So that all being said what distinguishes Solana in terms of speed under heavy load of transactions ?!🤔 Utilizing the Gulf Stream results in 2 privileges for the Solana network.

  1. Under load, Validators can process transactions ahead of time and discard any which fail.
  2. A Leader can prioritize executing transactions based on the position of the Validator forwarding the transaction, in the network tree (which means a transaction forwarded from a Validator in layer n is prior to another one forwarded from layer n+1)

These two privileges together help the network to degrade and keep working even under a huge DoS attack.

Archivers

Archivers serve a crucial role in terms of data storage. They are hardware-based storage mechanisms that enable faster access to crucial network information. Specifically, Validators can pull up the transaction history of the network directly from Archivers.

When running at full capacity, Solana will produce 1 Gigabit per second. In just 1024 seconds (~17 minutes), the data produced would be 1 Terrabit and in a year it would catch up to 4 Petabytes (32 Petabits). A tremendous amount of data to be stored!

generated data.jpg

If each node in the network was required to store that much data, a limited group of participants who could afford and manage that kind of storage, could join the network and this makes the network centralized.

To avoid that and do it in a decentralized way, the Solana team built their version of PoRep. PoRep stands for proof of replication and it’s a system introduced by Filecoin initially in which a prover defends a publicly verifiable claim that it is dedicating unique resources to storing one or more retrievable replicas of a data file. Solana’s version of PoRep leverages the PoH technology to make validating proof of replication fast.

The nodes responsible for storing the ledger are archivers. They don’t participate in consensus and have lower hardware requirements than validators and leaders. In an overview replicators work like below:

data storage.jpg

Archivers signal to the network that they have X bytes of space available for storing data. Frequently the network divides the ledger history into chunks to keep up sending ledger history to archivers with a replication rate. Then archivers download their respective data from the network.

Occasionally, the network will ask/challenge the archivers to prove they’re doing their job of storing data and at this point, archivers should complete PoRep. To reward archivers they would get 3% of inflation for their efforts.

Sealevel

Sealevel provides Solana with a major advantage over the most popular smart contract-based networks in use today. Solana uses Sealevel to execute smart contracts that can run in parallel. This system also allows similar smart contracts to leverage the same protocols. This strategy means that thousands of smart contracts can run simultaneously and in parallel without bogging down the network’s performance. 

Sealevel is Solana’s runtime for smart contracts. Running smart contracts in parallel and using all available computational resources of validators efficiently makes the Sealevel as one of the core innovations of Solana.

Sealevel is much more efficient and faster than single-threaded runtimes like EVM for the Ethereum or EOS-VM for the EOS. The reason for that is single-threaded runtimes can run one contract at a time but with Sealevel, tens of thousands of transactions can be running in parallel using all available cores of the Validator machine.

runtimes.jpg

Solana transactions are composed of instructions. Each instruction contains the program ID it invokes, program instruction, and a list of accounts that the transaction needs to write or read.

transaction anatomy.jpg

This enables Sealevel to sort and classify transactions by those reading the same data from accounts or those which can be processed without overlapping (i.e. not overwriting the same state at the same time).

grouped transactions.jpg

Each instruction tells the VM which accounts it wants to read and write ahead of time. So the VM prefetches and prepares that data. This is the first optimization Sealevel does by organizing transactions, but the general optimization occurs at the hardware level.

Assume tons of transactions have been organized and classified into different groups and the same instruction from a program (aka smart contract) is being invoked by 1000 different transactions. How we can take advantage of CPU and GPU architecture to run the instruction over these multiple data streams?

sorted by id.jpg

A SIMD CPU (Single instruction, multiple data) can run an instruction over multiple data sources, so Sealevel does the next optimization by sorting all the instructions in a group by their program ID and then runs the program over all the data streams with all cores available in the CPU.

parallel execution.jpg

The same SIMD implementation exists in GPUs, and Solana nodes use GPUs. A modern Nvidia GPU has 4000 cores and about 50 multiprocessors. A multiprocessor can execute only a single program instruction at a time but over 80 different inputs in parallel since it can use 4000 / 50 = 80 cores.

Now considering the previous step in which Sealevel classified instructions by program ID, this GPU can run the program over all the data streams specified by instructions concurrently. For SIMD optimizations to be possible, a trade-off on the structure of instructions is necessary. Instructions should be composed of a small number of branches and should all take the same branch.

Sealevel does an impressive amount of optimization and again takes Solana one step further towards claiming the top spot in comparison to other blockchains with single-threaded runtimes like Ethereum.

Pipelining

As part of its open hardware structure, Solana incorporates a transaction processing unit known as Pipelining. The protocol works by assigning a stream of input data to different hardware based on its specifications. This system helps to improve block validation times.

For processing a transaction an optimization system has been designed which enables the validator or the leader node to keep working on incoming transactions without waiting for previous ones to be processed completely.

This technique is called pipelining and is common in systems with a stream of entries and consecutive processing steps. Imagine a kitchen in a popular restaurant. Since the restaurant has a constant flow of customers, the kitchen is always busy serving food for customers ASAP. The overall process of food preparation is like below.

  • Washing and cleaning raw material
  • cooking the food
  • plating of the food
  • serving food to the customers

For maximum efficiency kitchen staff works like below:

First, some raw materials (e.g. carrots🥕, onions🧅, fish🐟, etc.) enter to Washing part. Workers do their job and pass the result to the next part, which is cooking. Now the washing section can start working on the next set of materials. After both parts (washing and cooking) finished their job they can pass their result to the next part. So now the cooking part can work on the second set washed by washing part and designing part on the first set of ingredients cooked by cooking part. Now the washing part can start working on the third set of ingredients. The animation below shows how this process works.

kitchen.gif

The same paradigm has been implemented in Solana. Both Processing and validating a transaction consist of different stages. For a transaction to be processed by a leader node there are four steps:

TPU.gif

Let’s see what does each part do:

  • Fetching: Fetching is similar to the washing part of the kitchen example. It fetches transactions created by clients (e.g. CLI client, web-based wallets, etc.) and passes them to the next section.
  • Signature verification: This section is similar to the cooking food part of the kitchen example. It verifies whether the account ( or public key) sending the transaction has signed it or not.
  • Banking: this section is similar to the plating section of the kitchen example. It transfers credits among accounts associated with a transaction and attaches a recently created hash from PoH to the transaction.
  • Broadcasting: This section is similar to serving part of the kitchen example. It broadcasts a block of processed transactions to other nodes to validate it.

To process a transaction quickly, each stage is handled by a different processing unit. Kernel Space handles Fetching and Broadcasting. The CPU handles banking and the GPU handles signature verification.

In the kitchen example, cooking may be the slowest step and in transaction processing, the signature verifying requires the most computation and time. That’s why signature verification is handled by the GPU.

A node in the Solana network runs two pipelined processes, a transaction processing unit (TPU) when it acts as a leader and a transaction validation unit (TVU) when it acts as a validator. The hardware being used for processes and network input and output is the same but the process happening in each pipeline is different.

Cloud Break

Cloudbreak is the Solana network’s account database. This system improves on previous iterations by allowing the system to read and write data at the same time. Cloudbreak works in tandem with the Pipelining and Archivers protocols.

Some blockchains like Ethereum use the technique of sharding to scale the network, which means the blockchain’s database gets split. This way the load of transactions gets spread over these smaller chains (shards).

Cloud Break is a data structure that made it possible to read from and write to the database simultaneously. It uses memory-mapped files and can handle concurrent reads and writes between 32 threads, with support for modern SSDs.

solana ecosystem.jpeg
Solana Ecosystem

🧑‍💻Solana Deployment 101

The Solana Pathway has moved to learn-web3-dapp

What is Solana?

Setup the project

Connect to Solana

Fund the account with SOL

Get the balance

Transfer some SOL

Deploy a program

Create storage for the program

Get data from the program

Send data to the program

🎓 Pathway complete!

Build a Solana Wallet

Step 1: Getting Up and Running 🏃

Step 2: Create a Wallet 💼

Step 3: Fetch a Balance ⚖️

Step 4: Airdrop Funds 🪂

Step 5: Transfer Funds 💵

Step 6: Recover an Account 🔐

Conclusion 🏁

Why Solana?

It is possible for a centralized database to process 710,000 transactions per second on a standard gigabit network if the transactions are, on average, no more than 176 bytes. A centralized database can also replicate itself and maintain high availability without significantly compromising that transaction rate using the distributed system technique known as Optimistic Concurrency Control [H.T.Kung, J.T.Robinson (1981)]. At Solana, we are demonstrating that these same theoretical limits apply just as well to blockchain on an adversarial network. The key ingredient? Finding a way to share time when nodes cannot rely upon one another. Once nodes can rely upon time, suddenly ~40 years of distributed systems research becomes applicable to blockchain!

Perhaps the most striking difference between algorithms obtained by our method and ones based upon timeout is that using timeout produces a traditional distributed algorithm in which the processes operate asynchronously, while our method produces a globally synchronous one in which every process does the same thing at (approximately) the same time. Our method seems to contradict the whole purpose of distributed processing, which is to permit different processes to operate independently and perform different functions. However, if a distributed system is really a single system, then the processes must be synchronized in some way. Conceptually, the easiest way to synchronize processes is to get them all to do the same thing at the same time. Therefore, our method is used to implement a kernel that performs the necessary synchronization–for example, making sure that two different processes do not try to modify a file at the same time. Processes might spend only a small fraction of their time executing the synchronizing kernel; the rest of the time, they can operate independently–e.g., accessing different files. This is an approach we have advocated even when fault-tolerance is not required. The method’s basic simplicity makes it easier to understand the precise properties of a system, wich is crucial if one is to know just how fault-tolerant the system is. [L.Lamport (1984)]

Furthermore, and much to our surprise, it can be implemented using a mechanism that has existed in Bitcoin since day one. The Bitcoin feature is called nLocktime and it can be used to postdate transactions using block height instead of a timestamp. As a Bitcoin client, you would use block height instead of a timestamp if you don’t rely upon the network. Block height turns out to be an instance of what’s being called a Verifiable Delay Function in cryptography circles. It’s a cryptographically secure way to say time has passed. In Solana, we use a far more granular verifiable delay function, a SHA 256 hash chain, to checkpoint the ledger and coordinate consensus. With it, we implement Optimistic Concurrency Control and are now well en route towards that theoretical limit of 710,000 transactions per second.

Documentation Overview

The Solana docs describe the Solana open source project, a blockchain built from the ground up for scale. They cover why Solana is useful, how to use it, how it works, and why it will continue to work long after the company Solana closes its doors.

The goal of the Solana architecture is to demonstrate there exists a set of software algorithms that when used in combination to implement a blockchain, removes software as a performance bottleneck, allowing transaction throughput to scale proportionally with network bandwidth.

The architecture goes on to satisfy all three desirable properties of a proper blockchain:

it is scalable, secure and decentralized.

The architecture describes a theoretical upper bound of 710 thousand transactions per second (tps) on a standard gigabit network and 28.4 million tps on 40 gigabit. Furthermore, the architecture supports safe, concurrent execution of programs authored in general-purpose programming languages such as C or Rust.

What is a Solana Cluster?

A cluster is a set of computers that work together and can be viewed from the outside as a single system. A Solana cluster is a set of independently owned computers working together (and sometimes against each other) to verify the output of untrusted, user-submitted programs. A Solana cluster can be utilized any time a user wants to preserve an immutable record of events in time or programmatic interpretations of those events. One use is to track which of the computers did meaningful work to keep the cluster running. Another use might be to track the possession of real-world assets. In each case, the cluster produces a record of events called the ledger. It will be preserved for the lifetime of the cluster. As long as someone somewhere in the world maintains a copy of the ledger, the output of its programs (which may contain a record of who possesses what) will forever be reproducible, independent of the organization that launched it.

What are SOLs?

A SOL is the name of Solana’s native token, which can be passed to nodes in a Solana cluster in exchange for running an on-chain program or validating its output. The system may perform micropayments of fractional SOLs, which are called lamports. They are named in honor of Solana’s biggest technical influence, Leslie Lamport. A lamport has a value of 0.000000001 SOL.

Solana is one of a number of newer cryptocurrencies designed to compete with Ethereum. Like Ethereum, Solana is both a cryptocurrency and a flexible platform for running crypto apps — everything from NFT projects like Degenerate Apes to the Serum decentralized exchange (or DEX). 

However, it can process transactions much faster than Ethereum — around 50,000 transactions per second.

source: Coinbase

SOL is used to pay transaction fees and for staking. It also serves as a “governance token,” meaning that holders also are able to vote on future upgrades and governance proposals that are submitted by the Solana community.

In conclusion, and why SOLANA works

One way Solana achieves high transaction speeds is via a combination of the proof-of-stake consensus mechanism and a new mechanism called “proof of history.” Proof of history is designed to keep time between computers on a decentralized network without all the computers having to communicate about it and come to an agreement. 

Keep in mind the risks

Like Ethereum, Solana is a computing platform that can interact with smart contracts. Smart contracts power a wide range of applications, from NFT markets and to DeFi, games and decentralized lotteries. 

One reason a user might choose an app that runs on Solana over, say, Ethereum, is that speeds are high and congestion is low — resulting in very low fees. (But always remember that there can be risks associated with emerging crypto applications and technologies, from volatility to the potential for undiscovered smart-contract bugs to be exploited.)

We made a good list to start of your cyber security important things to check off to maintain the security of your crypto.

  • Avoid Discord Scams
  • Avoid Rug pulls (Projects that disappear when NFTs are sold)
  • Phantom Wallet Drained (avoid clicking and having settings
  • Look for Social Validation from the community
  • Good Settings to have inside of discord
  • Click on privacy and settings
  • Turn DM’s off
  • Turn 2 factor authentication ON
  • Apps for 2
  • Don’t trust any messages even your friends specially when there is a link. Remember friends accounts could be hacked.
  • DM from Moderator
  • tag the Moderator got a DM verify
  • Impersonating accounts, someone will create the same profile name, profile pic and metadata
  • Rug pulls
  • Phantom Wallet
  • In Solana Wallet : you can accidentally grant access to an app that is working to wallet to take full control of your wallet and once they have full control, they can send NFT’s and Solana’s to other wallets.
  • RIGHT NOW < We want you to stop reading and do the following:
  • Open you phantom wallet and check out the trusted apps.
  • Make sure all Auto- approved options are turned off.
  • This is very important, if this is turned on your account could be drained.
trusted apps
Open your phantom wallet and check the trusted apps configuration, make sure to revoke any links. Remember, grant access only when needed!

Hope this article was helpful for your crypto journey. Need to buy crypto click here. Need one of our developers to assist you in project? Contact us today.

Recommended Articles

Leave a Reply

Your email address will not be published.