Proof-of-Individuality Consensus Algorithm
In order to support consensus, the Ethereum project uses the PoW (Proof-of-Work) algorithm borrowed from the Bitcoin network. However, this method works in Ethereum a little differently. While Bitcoin uses the cryptographic function of SHA-256, Ethereum developers created their own function and called it Ethash. Consensus in this case is successfully reached but still some disadvantages exist:
- Need for multiple hashing;
- Vulnerability to attack 51%;
- The ability to secretly gain hashing majority.
To prevent potential problems, Ethereum developers are planning to change their consensus protocol from PoW to PoS (Proof-of-Stake), which is supposed to be activated in the final version of Ethereum. PoS has its own drawbacks, which, however, are considered less harmful.
Besides these two methods used for achieving consensus in the blockchain network, there are alternative ones. They are based on memory space, member's authority; some of them can even combine PoW and PoS. One of those alternative methods partially takes personal data and supports consensus achievement with a specific periodic confirmation procedure. It is called Proof-of-Individuality (PoI), and we are going to examine it today.
For the first time, this method was briefly explained in the Ford and Strauss' article. The main idea of this article was to find a way to fight the Sybil attack. Further development was performed upon the Ethereum smart contracts system. You can trace its result on the GitHub page or the project's website. Unfortunately, the development of the algorithm was stopped two years ago. But the research still seems interesting as an alternative to standard methods.
The Sybil Attack
Let's first determine what type of attack it is and how dangerous it may be. The Sibyl attack is based on a multiple fake personalities involved in a particular process. All these personalities are created by a single source. This means that a person can gain control over the entire system in which these individuals exist.
This is not a problem for PoW, since it makes no difference how many nodes mine blocks. But for the PoS method, such an attack can be a source of difficulties. Imagine several anonymous users participating in PoS mining with all their stakes. If several of them are controlled by one person, they can generate a block sequence. This sequence is wrong in terms of honesty, nevertheless, it can exist due to the majority the Sybil attack provides.
Proof-of-Individuality as a Countermeasure
The basic idea of PoI as a way to counter the Sybil attack is the partial interaction of participants. It doesn't matter what users are in your group. The important point here is to be sure that they are honest players who participate in the process “once”. Such a check can be performed in many ways. The simplest one includes video conferences with proper software launched simultaneously.
Groups and a Token
The key concept of PoI is to divide participants into groups. Each group includes at least five users who communicate for a while in order to make sure that other members exist. According to the PoI concept, it takes about four weeks to form the group. After a year, the groups change. A year later, new groups are combined.
To maintain verification validation, a special token should be used. This token has to possess several important properties: uniquity, untraceability, and verifiability. This combination guarantees that each token will be valid, will not lead to its owner and can't be duplicated.
Alternative approaches to consensus can sometimes be truly unique. To prevent manipulation and all sorts of attacks, developers sometimes create masterpieces. Unfortunately, it is not known whether PoI will be ever successfully implemented.