Wat is Proof of Participation (PoP)
Proof of Participation (PoP) is een consensus algoritme dat vrij onbekend is. Toch zijn er al verschillende blockchains die gebruik maken van dit algoritme. Om de werking van zulke blockchains te begrijpen, is het belangrijk om eerst te weten hoe het consensus algoritme van de blockchain werkt. We zullen je uitleggen wat Proof of Participation is en hoe dit consensus algoritme werkt.
De aanleiding voor het ontwikkelen van Proof of Participation
De meeste blockchains maken gebruik van het
Proof of Work (PoW) consensus algoritme. Met dit algoritme kunnen alle deelnemers in het netwerk samenwerken om de blockchain te laten draaien. Bij het PoW-algoritme gaat het erom dat een miner alle transacties het snelst valideert, zodat hij een nieuw blok aan de blockchain mag toevoegen. Hier ontvangt de miner een beloning voor.
Een ander bekend algoritme is Proof of Stake (PoS), waarbij een validator wordt geselecteerd om de transacties te valideren en het blok toe te voegen aan
de blockchain. De selectie wordt gedaan op basis van de hoogte van het geld dat hij inzet. Dit wordt de stake genoemd, en is te vergelijken met een borgsom. Hoe hoger de stake, des te hoger de kans dat de validator gekozen wordt.
Het nadeel van deze algoritmes is dat
miners en validators worden geselecteerd op basis van hoeveel geld ze hebben. Bij het PoW-algoritme draait het om de rekenkracht dat iemand kan leveren, wat betekent dat iemand in staat moet zijn om dure hardware aan te schaffen. Gebeurt dit niet, dan zal de miner niet de eerste zijn die een nieuw blok klaar heeft. Bij het PoS-algoritme draait het om het geld dat iemand kan inzetten.
Dit was volgens een groep blockchain-ontwikkelaars niet eerlijk en veilig. Er zou volgens hen namelijk gekeken moeten worden naar de kwaliteit van het werk dat iemand levert. Niet naar hoeveel geld iemand kan inzetten om te minen of valideren. Dit was de aanleiding om een nieuw algoritme te ontwikkelen, genaamd Proof of Participation.
Wat is Proof of Participation?
Proof of Participation is een consensus algoritme dat nodes op basis van de kwaliteit van hun werk kiest om transacties te valideren en een nieuw blok te mogen toevoegen aan de blockchain.
Het algoritme kijkt naar de score van iedere node, en wanneer deze hoog genoeg is, zal de node vaker blokken mogen toevoegen aan de blockchain. Op het moment dat de node goed deelneemt aan het netwerk, zal de score van desbetreffende node worden verhoogd.
Het tegenovergestelde geval kan zich ook voordoen. Wanneer een node namelijk niet goed deelneemt aan het netwerk, kan de score worden verlaagd. Dit kan gebeuren wanneer een node onterecht transacties goedkeurt, of te vaak offline is. In het vervolg zal de node dan miner transacties mogen valideren als gevolg van de lage score die de node heeft.
Wie zijn de bedenkers van Proof of Participation?
Roberto Capodieci (Italië) en Barton Johnston (Verenigde Staten) zijn de bedenkers van Proof of Participation. Zij zijn samen met Stefano Griggio (Italië) ook de oprichters en eigenaren van het bedrijf Blockchain Zoo, dat de eerste blockchain met het PoP-algoritme heeft ontwikkeld.
Hoe werkt Proof of Participation?
De score van de nodes wordt de participatie-score genoemd. De score wordt berekend door middel van tickets. Wanneer een node transacties heeft gevalideerd en een nieuw blok aan de blockchain heeft toegevoegd, krijgt de node van alle andere nodes een ticket. Ieder ticket heeft aan andere waarde.
De waarde wordt gebaseerd op het werk van de node. Zo wordt er bijvoorbeeld gekeken naar hoe vaak de node online is (en hoe vaak deze offline is), of de node niet onterecht transacties heeft af- of goedgekeurd, alsook naar de snelheid van het werk.
Hoe beter een node zijn werk doet, des te hoger de waarde van de tickets zijn. De tickets worden aan ieder nieuw blok toegevoegd. Hierdoor is het onmogelijk dat nodes de waarde van de tickets later nog kunnen aanpassen.
Het is niet mogelijk dat een node zich voordoet als een andere node. Om een geldig ticket te versturen is namelijk de private key nodig. De private key is alleen in het bezit van desbetreffende node.
Vervolgens zal het algoritme gaan kijken hoe veel elk ticket waard is. De totale waarde wordt berekend, waarna er een score wordt berekend voor iedere node. De score kan dalen, maar ook stijgen op basis van alle tickets. Met deze score worden de nodes gekozen om nieuwe transacties te mogen valideren.
Door wie wordt Proof of Participation gebruikt?
Proof of Participation is een consensus algoritme dat vrij onbekend is, en door weinig blockchains wordt gebruikt. Toch zijn er steeds meer blockchainprojecten die besluiten om van dit algoritme gebruik te maken. Dit komt doordat het veel problemen oplost die andere algoritmes hebben.
Op dit moment wordt Proof of Participation gebruikt door ZooBC en DecBC. Dit zijn blockchains die zijn ontwikkeld door het Indonesische bedrijf Blockchain Zoo. Zoals we eerder al hebben gezegd, is dit bedrijf ook de bedenker van het Proof of Participation algoritme.
De voordelen van Proof of Participation
Het grootste voordeel van Proof of Participation is dat iedereen mee kan doen aan het valideren van transacties, en je niet een groot geldbedrag nodig hebt om in aanmerking te komen voor het toevoegen van nieuwe blokken. Je wordt beoordeeld op basis van de kwaliteit van je werk.
Dit maakt het algoritme ook veiliger. Wanneer een node de blockchain probeert te manipuleren, zal deze node een lage score krijgen, waardoor de node vanzelf niet meer gekozen wordt om blokken toe te maken. Wanneer een node een bepaalde score heeft, zal de node automatisch uit het netwerk worden verwijderd.
Nodes die het netwerk proberen te manipuleren, brengen zichzelf dus alleen maar in de problemen. Hierdoor blijft het netwerk schoon en zullen alleen de nodes die kwalitatief goed werk leveren blokken mogen maken en toevoegen aan de blockchain.
Een ander voordeel is dat de blockchain erg efficiënt wordt. Alle nodes zullen proberen om het beste werk te leveren, omdat ze natuurlijk een hoge score willen ontvangen. Dit zet nodes aan om snel transacties te verwerken, alsook om zorgvuldig ter werk te gaan zodat er geen fouten worden gemaakt.
Proof of Participation vs. Proof of Stake
Het Proof of Participation algoritme lijkt op een bepaalde manier veel op het Proof of Stake algoritme. In beide algoritmes worden deelnemers namelijk beoordeeld op basis van een bepaalde score en op basis van het werk dat ze leveren.
Bij Proof of Stake zullen deelnemers worden gekozen op basis van de stake die ze inzetten. Deelnemers van een Proof of Participation netwerk worden ook beoordeeld, alleen niet op de hoeveelheid geld dat ze inzetten. In plaats daarvan worden ze beoordeeld op de kwaliteit van het werk dat ze leveren.
Een ander verschil is dat deelnemers van een Proof of Stake netwerk hun geld zullen verliezen wanneer ze slecht werk leveren. Eerst zullen ze een boete krijgen, maar wanneer bepaalde fouten worden herhaald, kan het netwerk ervoor kiezen om al het geld af te pakken en ze uit het netwerk te verwijderen.
Het Proof of Participation netwerk zal geen geldboete opleggen bij een fout, maar de score van de deelnemer verlagen. Wanneer de score een bepaald niveau heeft bereikt, wordt de deelnemer verwijderd uit het netwerk. Dit zal uiteindelijk geen geld kosten. Echter, de deelnemer zal in het vervolg nooit meer deel kunnen nemen aan het netwerk van de blockchain.