Reaching Consensus Using Proof Of Activity Algorithm
Consensus allows all participants to be confident in the validity of blockchain data. A consensus algorithm is used as a process of data verification in all full-functional nodes for the majority of approaches. In this article, we will not consider such protocols as Proof-of-Work or an alternative method called Proof-of-Stake. These two methods can be referred as representatives of the plain membership group. This means that all nodes are equal by default and the only way to change functionality is to reduce it. Such a reduction leads to the appearance of lightweight nodes, lack of mining, necessity to take part in mining pools, etc.
Lightweight nodes neither store blockchain data nor mine. They can only manage assets. In order to support light nodes, full nodes should provide them with transaction data.
Alternative Approaches To Reaching Consensus
Before we start, let's recollect what alternative methods of achieving consensus exist in blockchain. One of them is Proof-of-Burn where some amount of money has to be destroyed by a participant to obtain the right to create a new block. Another method is called Proof-Of-Capacity. Here, the main role is played by memory space reserved by a member. The last one is Proof-Of-Elapsed-Time, a protocol implying that the more time participants are online, the more rights they gain. Of course, there are other algorithms, and we mentioned them in our previous articles.
Most of them use a unified approach to perform the process of mining, but there are several with mixed algorithms, for example, Proof-of-Activity.
A simple and weakly protected proposal is called Limited Confidence Proof-of-Activity (LCPoA). Here, the block time for PoW is reduced to a few seconds, but an additional rule is introduced in global wallet software. This allows to avoid the mining race but makes the solution vulnerable to the 51% attack.
As an improvement, PoS elements were introduced to this protocol. They're listed in the following article, which states that some of the participants are selected according to the “follow-the-satoshi” algorithm. These members are obliged to sign the next block with several signatures before it is considered as the valid one. This approach cannot be considered pure PoS though. Here, stakes are taken from all coins owned by participants, regardless of whether they want to participate or not.
Anyway, security issues are important for all algorithms. In Proof-of-Activity, security is guaranteed by a variety of methods. Pure PoW is vulnerable to the attack 51%. But given that multiple signatures are required from different participants, attackers will not be able to maintain such a number of addresses without significant investments. Ultimately, the attack becomes unprofitable. On the other hand, PoS requires a lot of assets to be blocked. But in this case, funds are not blocked and selected according to the proposal in a pseudo-random way. Combined PoA can solve the problems of both methods.
There are several projects using the hybrid of PoW/PoS. The first one is called Espers. It is designed to build a secure message service on blockchain. It was started in 2017 and is currently active. Another project is Decred. It is dedicated to Bitcoin-based cryptocurrency with significant community influence. Nevacoin uses the Blake2s hashing algorithm instead of SHA256.
By studying the PoA approach, you can see how the interaction of different algorithms compensates for their weaknesses. This solution can be applied to various combinations of consensus methods. Naturally, such combinations require more detailed and precise research.