The world of blockchain and cryptocurrencies is filled with innovative designs and concepts. When it comes to finding the right consensus algorithm, there are many different options to choose from. While some of these ideas might not be conventional, they are still valid in the long run.
In PoA networks, blocks are only validated by certain appointed accounts. Very few projects currently explore the Proof-of-Authority consensus algorithm, even though it provides a high throughput and a completely different level of scalability. This comes at the cost of dealing with a system which leans towards centralization, as transactions are only validated by approved accounts. This also makes it far less suitable for public blockchains.
Despite the name not necessarily making sense on paper, it is a different take on proof-of-stake. Instead of gaining popularity based on the percentage of tokens owned by any user, it will use a different weighted value. The particular value is highly dependent on the project implementing this algorithm, although it can support some very unique business models. Filecoin is an intriguing example in this regard.
4. Byzantine Fault Tolerance
Most people are familiar with this consensus algorithm without even knowing it. Stellar, Ripple, and Hyperledger are three projects utilizing BFT because of its high throughput and low cost, despite being perceived as relatively centralized. Further research into these options will help improve BFT as a whole, as a few different implementations exist already.
Although Hashgraph has made its way into some recent Bitcoin forks, it is still a relatively new project. Nodes share known transactions with other network participants at random intervals. Eventually, the entire transaction ledger is shared across the network. With its estimated throughput of over 200,000 transactions per second, it certainly suits a purpose. Unfortunately, it is not immune to attack, which makes it less suited for public blockchains.
The Nano team has introduced a very unusual twist on using a consensus algorithm. Every user has their own chain which they can write information to, and all nodes have a copy of all existing chains. Transactions are recorded in “pieces”, with the sending block residing on the sender’s chain, and the recipient’s chain recording the receiving block. Block-Lattice has a very unique structure, although it still needs some improvements to become fully usable.
The award for longest consensus algorithm name goes to Serialization of Proof-of-Work Events: Confirms Transactions Via Recursive Elections, or SPECTRE. It combines proof of work with direct acyclic graphs to improve scalability. In a perfect world, this solution will handle multiple blocks per second. It is evident this concept has some merit, even though there is currently no currency which utilizes it.