How Purple Protocol achieves the highest throughput out of all public blockchains
It is widely known among the blockchain community that the single biggest challenge that public blockchains face today is the issue of scalability. This is also, besides buggy virtual machines, the biggest issue that prevents the widespread adoption of blockchain technology.
Why is this so?
The issue of scalability
The answer lies in the architectural decisions of blockchain’s creator, Satoshi Nakamoto.
When Bitcoin was invented, it’s creator Satoshi Nakamoto focused solely on making it as safe in the face of attacks as it could be, even if this meant sacrificing every available ounce of scalability.
And he was right to do so.
Imagine Bitcoin as being the Wright Brother’s airplane. It’s purpose was not to enable flight across oceans but to demonstrate to the wider world that it was actually possible to fly.
After Bitcoin happened, the next greatest thing that happened in the blockchain community was Ethereum. Coming back to the earlier analogy, you can say that Bitcoin is as equivalent to the invention of the wings as Ethereum is to the propeller. Together they form an aircraft, a device which proved the impossible and which uplifted mankind. In this way too, Ethereum added a simple extension to the Bitcoin protocol by enabling the manipulation of blockchain stored data using a Turing Complete programming language.
Bitcoin is as equivalent to the invention of the wings as Ethereum is to the propeller. Together they form an aircraft, a device which proved the impossible and which uplifted mankind.
However, both Bitcoin and Ethereum describe the end features that should be achieved but at the same time fail to provide the level of efficiency required for high-stress usage.
This is the same as with the traditional propeller powered aircraft, it did it’s job, but just not efficiently enough to facilitate their wide adoption. Even tough they can actually cross oceans, it is not a journey for the faint of heart and people still preferred to do this via ship.
So where does Purple fit in this analogy?
Scalability, the main feature of the Purple Protocol
What makes Purple different from all other protocols is that it can handle a transaction throughput that is in the order of millions while maintaining the same level of features and level of decentralization that both Bitcoin and Ethereum possess.
If Bitcoin and Ethereum are the invention of the propeller powered aircraft, then Purple is the invention of the jet engine.
At the same time, since it is a completely new protocol, Purple learns from the mistakes made by it’s predecessors and improves upon them with the intention to provide the first protocol that is ready for widespread adoption and long-term usage.
So how does this “jet engine” actually work?
The answer is that Purple’s consensus algorithm, the heart of the protocol, is completely different than that of both Bitcoin and Ethereum, which share the same one.
The main difference is that algorithm of Bitcoin and Ethereum is synchronous while Purple’s is asynchronous. For those of you wondering what these two words mean, they can be explained with a simple metaphor:
Imagine you ask someone to do something for you and he accepts, but in order to make sure that he is doing it, you keep your mind occupied with the task and repeatedly check that the person is doing it. This is synchronous behavior.
Now instead imagine that you ask someone to do something for you, and then you simply wander off and do something else, without checking if the person is actually doing it or not.
Well, first of all, you are not sure if the person will actually do what you asked of him, but at the same time, you can ask any number of other people to do different things at the same time as the first task is performed, a thing which you wouldn’t have had energy to do if you were solely focused on the first person. This is asynchronous behavior.
Using an asynchronous algorithm makes checking if a task was completed or not impossible, it either has completed or it’s status is unknown, kind of like Schroddinger’s cat. However, at the same time it enables to maybe complete multiple tasks in the same amount of time it would have taken to surely complete a single task.
As you can now imagine, asynchronous systems have an exponential increase in throughput when compared to synchronous systems.
A system can also have varying degrees of both synchrony and asynchrony, as is the case with Purple which uses the synchronous part to manipulate the rate at which the asynchronous part executes. Think of the beast and it’s harness.
The way in which this is done does not really change much for the end-user except for confirmation times. There still are miners that earn rewards for approving transactions but this is not done by mining blocks. Mining a block in Purple, which is the synchronous part, instead grants eligibility of participation in the asynchronous algorithm for a deterministic amount of network ticks, during which the miner approves as many transactions as it can. The more transactions a miner approves, the greater the amount of fees that it will collect.
If a miner behaves maliciously or crashes during it’s designated period, it will lose all of it’s accumulated fees and will need to start over by mining another block.
Other than this, the throughput of the protocol is further increased by partitioning the ledger into separate units called shards, each of which has it’s own consensus algorithm that executes concurrently besides the other ones.
This is but a simplified explanation of the protocol, for an in-depth technical explanation, please read the white-paper here: https://purpleprotocol.org/whitepaper/.