Not being able to agree on time is a tough problem, not only in blockchain but also on the internet. The practical use of synchronized clocks in distributed systems is to improve performance of distributed algorithms.
Other projects like Hashgraph (with “median” timestamp) or FOAM (with clock synchronization between deployed beacons with radio transceivers, to ensure Proof of Location) are working to solve the “time agreement” issue.
SOLANA: “Proof of History” to determine the future of blockchain scalability.
In order to create a ledger with an encoded trustless passage of time, SOLANA has designed Proof of History, a proof for verifying order and the passage of time between specific events.
Proof of History will work alongside Proof of Work (the consensus algorithm used by Bitcoin, among others) or Proof of Stake (the one used by Ethereum´s Casper) consensus algorithms. This may reduce messaging overhead resulting in subseconds finality times.
In addition to this, Solana is working to produce up to 710K transactions per second based on 1 gb network without data partitioning. Do you want to know how they´re planning to achieve this great triumph?
In the race to develop high throughput (tps) and highly secure blockchains, teams are devising new ways to create highly scalable solutions that will allow high transactions per seconds currently available in existing blockchains.
“Time issues”. In the age of computation and information, there is a basic need that’s waiting to be solved. Fairless Coordination between events. It means: for example, when a computer sends a message to another computer, they need to synchronize the time between transactions. Therefore this implies that, if each of them has its own inner clock, they might, or might not, coordinate properly.
Coordinating events with a timestamp is not only a need for the system but also it is a great cost in terms of money, personnel and effort.
One technique that developers have started using to increase the overall throughput of the chain is sharding. Sharding is a technique used to improve overall chain TPS and is proving to be successful but on it’s own is not a full solution as this could introduce vulnerabilities.
The biggest vulnerability is the partitioning of the transactions, if this is not handled well, it can open the chain up to fraudulent transactions, double-spend, or a lack of shared knowledge between shards of the same transaction
To give some general vision, Google Spanner (Google’s scalable, multi-version, globally distributed, and synchronously-replicated database, which supports read-write transactions, read-only transactions, and snapshot reads) spends an enormous amount of resources to synchronize its atomic clocks between data centers.
They need to be maintained precisely and a whole bunch of engineers work on that. It may seem that coordinating time is an easy thing, but it is not and that’s where Solana comes in with its Proof of History solution.
By enabling trusted time coordination, Solana will not only increase its blockchain throughput in terms of speed and reliability, but also it will reduce average costs.
The team that successfully solves this problem could have a highly adopted blockchain.
Solana is implementing a new time based approach to consensus within their blockchain.
Their approach is based on “proof of history” and is an innovative approach to consensus that doesn’t require all nodes in the network to confirm the transactions like, (BTC or ETH) it just requires that all agree that event A took place before event B.
To handle the problem, Solana designed a new blockchain architecture. This new concept integrates what has been called “Proof of History” (go to “tech overview” for a deeper and easy to understand explanation of the sequence) and will result in increased scalability (as shown in the graphic) and reduced costs.
If you take a look at the sequence of pictures above, and if you are Marvel blockbuster movie fan, you could of course imagine yourself watching one of these movies at the cinema. You will agree, that if you were recorded in the event of attending the premier one of these, no one could deny that you watched The Avengers after being at the premier of Iron Man, but beforewatching The Avengers: Infinity War. Being able to record events in history and using those events as ticks of time.
These pictures carry with them specific time information. You wouldn’t need to spend resources to find out that information because it is inherent to the picture taken, it comes with them and is something everyone would agree on and which could easily be verified. This is something similar (in the above example) to what this new blockchain architecture will try to provide to the cryptoworld.
An efficient and reliable clock for the blockchain, a timestamp in every transaction.Therefore Solana will allow users of their blockchain to trust the order and the specific moment in time around a particular event, by creating an organized and fully verifiable historical record. This verification can be done in significantly less time than it took to generate it, as we will see in the next section.
A deep dive into Solana’s proposed solution raises questions such as, how Proof of History is being implemented on the blockchain, and exactly how does Solana work and what tools are they using?
First we need to understand how the network was designed, and what it consists of. This is summarized in the diagram below, a visual demonstration of Solana´s network design, from the top-down.
The Proof of History is a high frequency Verifiable Delay Function. It means that it will require a determined number of correlative steps to be evaluated. But on the other hand, those steps will produce in the end a unique output , easy to verify.
In the solution section, we talked about how Solana would increase the number of txn/s and how it would reduce the necessary resources used to run them. The explanation of how this is possible goes hand in hand with the explanation of the hash function.
The Hash Function operates as a way to compress data, so that larger amounts of data can end up being compressed in little sets of bits, which encourages a lighter tx weight and therefore a more effective and faster sequence.
As summarized above, the Proof of History sequence is designed to work with a cryptographic hash function.
What is especially relevant about cryptographic hash functions, is that it is impossible to predict what you will have in the end (the output) without executing the whole function from the beginning, using the original input. Consequently, having the input and trying to predict the output is impossible, you will be required to run the function to achieve a result.
Taking that into consideration, imagine this hash function running from some random starting point (initial Input) and once that process is complete you obtain your first Output (hash 1). Here is where it gets interesting, feed the inputs with the obtained output you got from running the function before, into the input of the next hash as in the diagram below:
Now if we were to repeat this process… 300 times for example. You can begin to see that we have created a single threaded process where the final output (hash 300) is a completely unguessable except for those who execute the whole thread.
This cycle of feeding outputs to the inputs of the next function along with the data that is generated, is then represented as time passing and history being created, in Solana’s words, ticks. Each output carries detailed information and cannot be predicted without running the function. Like the films in the Marvel Saga in our above example, each Output represents a tick of time that is exactly in its place within the thread of sequential time
Therefore, instead of using unreliable time, Solana proposes to use these sequentially ordered and unpredictable Outputs to determine a specific moment in time, a specific moment in that threaded process which we may call history.
Avalanche : Solana’s solution for Congestion
Solana’s high transaction output at 1 GB network is done through an architecture Solana developed called Avalanche. Similar to a torrent network, a full copy of the ledger isn’t necessarily available at any particular node, but a full copy is always available and can be passed around by collecting each piece and reconstructing it.
In the image above, you may observe that the assigned leader node’s block data is split into two. It makes it’s initial hop onto the 2nd level then proceeds to hop a second time to its peers. After the 3rd hop, the block makes a fourth hop back to the leader node to report it’s vote. With the ⅔ + 1 majority vote, the block reaches finality and moves on to the next block.
By only having to share half of the block data amongst peers, it greatly reduces bandwidth and data usage in the network
The Honest Approach
In order for Solana to keep nodes and verifiers honest, the Proof of History generator will intentionally send an invalid hash at random intervals. Due to the incentives the nodes have of verifying any hash they receive, Solana ensures that any verifiers validating an invalid hash will get slashed.
Proof of Stake
Solana uses proof of stake (POS) for consensus so and it has many of the same characteristics of other POS based coins. As a refresher here are some of the main characteristics of a POS coin:
Solana has very similar construct but has implemented their proof of stake in a slightly different fashion.
Maximum txn/sec of 400k has been achieve on a 1gb network during testing.
Stephen Akridge — Co-Founder and Head of Engineering