Current State of Blockchain and Solana
As a huge fan of blockchain and crypto I always keep my eyes open for any developments in blockchain technology that will be able to solve what I believe are the two greatest pains in crypto:
- Speed and transactions per second - It is important to have a blockchain that can take care of the needs of a rapidly growing user base with ability to process an excess of traffic
- Ease of use: Integration into everyday life so that interactions with blockchain and crypto are seamless. Also brings with it the need to be device agnostic and have low computational overhead so it can be run on any device and any device can be used to secure the blockchain.
Blockchain and Crypto has lots of advantages, but current implementations also have lots of limitations. The current blockchain solutions are limited in what they can do in terms of throughput, scalability, and latency so the Solana team have set out to rectify these problems.Below you will find a table of current in use blockchains compared to Solana to give an overhead comparison of their capabilities and limitations.
|Blockchain||TX/S||Blocktime Seconds||Smart Contracts||Transaction Overhead*||Method of Securing Blockchain**|
|Bitcoin||7||600||Not yet||Very high||PoW|
45,000 planned (in next 3-5 yrs)
|14||Yes||High||PoW but moving to PoS|
|0.5||Yes||Low||PoH + PoS|
But highly scalable depending on no. of nodes
|3||Yes||Low||LFT (Modified PBFT)|
** Method of securing blockchain: How does the blockchain ensure that no wrong data is written on the blocks being published.
Solana easily solves the first pain of speed and transactions per second whilst also touching upon and providing a good base for solving the second pain of Ease of Use and Integration by providing a low overhead solution and a machine agnostic smart contract system that can easily be run on any device.
Learn more about the history of cryptocurrency here.
How does Solana do this?
Solana uses a very unique method of securing its blockchain and the transactions stored within. Solana’s method is called Proof of History (PoH) which includes Proof of Stake and adds a time element into securing the blockchain in addition to hashes.
In essence, it allows cores (in the case of multicore CPUs) or a group of cores (in the case of GPUs) to process blocks where the blockchain is secured not only by cryptographic hashes and blocks as in typical blockchains but is also secured by a flow of time.
Typically traditional blockchains are very dependent on slow writing of blocks and exclude parallelism so time ordered systems are usually very slow. Examples of these are BTC and ETH where you have to wait a long time for blocks to be published and verified on the network for any meaningful work to be done. Big disadvantages for these are the very high latency in minutes or seconds for each block and how hard it is to scale these blockchains to increase transactions per second.
Solana has a method of time ordering inputs or processes in their blockchain by enabling parallelism to boost throughput and enabling some sort of out of order execution of processes or inputs but having time ordered outputs which gives Solana a very low latency of around 500 ms which according to the team can even be lowered in the future which would enable a near real time blockchain.
Proof of History in a Nutshell (Hourglass Analogy)
Solana boasts of a throughput of 710,000 transactions per second thanks to its highly unique low overhead and low blocktime system called Proof of History. Proof of history is Solana’s method of securing the blockchain and adding an element of time to transactions.
You can imagine sand as a singular grain which can be termed the representative block of the Solana Blockchain and a group of hourglasses as the nodes. The “sand” is a cryptographically computed SHA-256 hash that flows through imaginary hourglasses that track the flow of time through the movement and order of sand grains from top to bottom. From the group of hourglasses, a master hourglass or Leader/PoH generator is randomly selected based on reliability and how big a stake in the system they have. The master hourglass is termed the Leader or PoH Generator where all users who want to input messages into the blockchain pass through. Users who add commands, data or user messages change the colors of a sand grain so you can visually identify sand grains that have a message inside them but these different sand grains do not break the flow of sand and time and have a specific order based on what time they were input.
The master hourglass (Leader/PoH Generator) also passes the messages sent by users to perfect copies of this master hourglass which we call replicator nodes. These copies of the master hourglass (replicator nodes) are perfectly calibrated to show the same flow of sand and time as the master hourglass. These copies or replicator nodes are used to verify that the whole group of hourglasses (copies and master) are working in sync with same flow of time and same chain of colored sand (users messages) between them. Participation in the Solana blockchain as a replicator node requires that some coin be staked in their Proof of Stake (PoS) system, this combination of Proof of History and Proof of Stake is what makes up consensus in Solana.
If a copy hourglass/replicator node goes rogue or experiences a hardware failure so that the flow of sand (time) or color of sand is different than the whole, the erring replicator node is then slashed or removed from the group. This is done to remove malicious actors or erroneous hardware and to prevent erroneous blockchain from propagating. By the act of “slashing” erroneous replicator nodes, any coin staked to get the node running is now lost so it is not economically sound to try to subvert the blockchain.
The description above does not fully explain the whole mechanism of Solana, there are various omissions to simplify things but it should be a nice and simple overview of how Solana works. For a more in depth and technical explanation you can check out Solana's Whitepaper and blogpost.
Here you can learn what to look for in an ICO Whitepaper.
High Performance Smart Contracts:
According to Solana’s white paper this future smart contract system would be called “High Performance Smart Contracts” and has the following features:
- Extended Berkeley Packet Filter (eBPF): A well-documented way to write and execute code that has been in use for a longer time than Solidity; ensures a more mature ecosystem.
- Just in Time (JIT) compiling to allow fast performance on any machine. This also means that performance is guaranteed and execution of smart contracts is the same across different architectures in use today.
- Parallelism: Through enabling the usage of GPU cores for computing
Solana Use Cases
Solana as a blockchain or protocol, would have a lot of uses that build on its strengths. Some of these are:
Online Games: Near real time blocktime means latency is reduced which is great for online games.
Real time sensor data: Where fast but accurate and blockchain secured data is needed.
Location Services: where sub second blocktime means location is tracked and recorded in greater detail.
Applications that require execution based on a specific time: Highly granular nature of implementing time means that more precise events may be orchestrated by smart contracts.
Mobile: Solana’s low overhead and fast blocktimes lend itself well to deployment in the mobile environment where devices have intermittent internet connections and can only transmit limited amount of data so fast transactions are needed and where device performance is limited by battery capacity thus needing low overhead. It also helps that the Solana team is comprised of members who have worked for Qualcomm which is one of the leading mobile tech companies.
High Security internet: It would not be too far to imagine that Solana by itself could be used as a protocol to augment TCP/IP by providing secured end to end encryption where users are assured that the stream of data being passed between 2 clients is secure thanks to PoH that excludes tampering of the data stream.
These are just some of the examples where applications might benefit from Solana and I am very sure that a lot of developers and users will see Solana as a good blockchain to develop on.
The Solana code is available on Github, if you wanted to test it out:
Testing allows you to get a good feel for how Solana will work on your system and may even help expose some bugs in Solana.
I personally think that having a runnable demo of their blockchain available is a good sign that progress is being made and that the project is focusing on its core tech and not hype.
Get more information on new and upcoming ICOs.