Vorige week hebben we enkele consensus mechanismen uitgelegd. In dat artikel kwam ook aan bod waarom deze mechanismen van belang zijn. Ook kon je lezen waarom ze onmisbaar zijn in de opslag en verwerking van informatie. Mocht je dit gemist hebben, dan is het zeer aan te raden dit eerst te lezen! In dit artikel komen Proof of Importance, Proof of Elapsed Time en het Casper Protocol aan bod.
Proof of Importance (POI)
Een eerste mechanisme is Proof of Importance (POI). Elke keer zien we bij een consensus protocol dat er op een eerlijke manier een overeenstemming moet worden gesloten tussen alle deelnemers vanuit de hele wereld die op het netwerk zijn aangesloten. Al de verschillende methoden hebben allemaal andere voordelen en nadelen. Bij Proof of Importance gaat het er om dat het belang van het netwerk of de blockchain centraal staat. Hierbij is het nodig om in kaart te brengen welke nodes de meeste waarde toevoegen aan het netwerk. Bij Proof of Stake kan het bijvoorbeeld zo zijn, dat het de nodes (met grote stacks) puur om het geld gaat. Hierdoor krijgen ze indirect alleen maar meer macht. En dit zorgt er niet voor dat het netwerk centraal staat, maar dat het belang van de nodes eigenlijk voorop staat. Bij POI is dit anders.
NEM (XEM) gebruikt dit mechanisme in de praktijk. Het is in POI van belang dat je niet alleen maar coins vast houdt of staked, maar dat je ook gebruik maakt van het netwerk door transacties te sturen. Hierdoor is XEM niet een passieve coin die je hodlet, maar wordt de circulation supply ook op orde gehouden. NEM kijkt naar drie aspecten om de ‘score of importance’ van de node te bepalen:
Vested stake
- De Proof of Importance rekent alleen de coins mee die al een aantal dagen op het account staan
- 10% van de XEM die niet-apart is gezet voor het netwerk, wordt elke dag vast gezet
- Hoe hoger het aantal vested coins, hoe hoger de POI score van het account.
- Er is een minimale hoeveelheid van 10.000 XEM nodig om te kunnen beginnnen met staken – of harvesting, zoals bij NEM het noemt.
Deze regels zorgen ervoor dat er coins worden vastgezet, voordat je als node überhaupt kunt gaan verdienen.
Transaction partners
Zoals je kon lezen, stimuleert NEM het heel erg dat er ‘nuttige’ transacties in het netwerk plaats vinden. Dit wordt in stand gehouden door onder andere:
- Het POI-mechanisme beloont de gebruikers die transacties plaatsen.
- Er wordt gekeken naar het ‘gedrag’ van de transacties. Ook dit wordt weer gekoppeld aan de importance score.
- Gebruikers kunnen geen fake transacties plaatsen om maar aan het mechanisme te voldoen. Het heen en weer verplaatsen van XEM heeft dus geen enkele invloed op de importance score. Het gaat om het netto aantal transacties tussen de accounts (binnen een bepaalde tijd).
Hoeveelheid en grootte van transacties in de afgelopen 30 dagen
- Elke transactie (boven een minimale grootte) draagt bij aan je POI-score en dit vergroot dus de kans op het harvesten van een block en dus op het verkrijgen van de block-reward.
- Grotere en meer frequentere transacties hebben een grotere impact op de score.
- Deze manier zorgt voor een effectief gebruik van de XEM-valuta.
Op deze manier wordt er dus invulling gegeven aan Proof of Importance. Het belang van het netwerk staat voorop, namelijk: transacties goedkoop en snel verwerken.
Proof of Elapsed Time (PoET)
Dit idee werd begin 2016 uitgevonden door Intel, de beroemde computerchipfabrikant. Het biedt een kant-en-klare tool om het computerprobleem van random leader election op te lossen.
Het PoET algoritme wordt vaak gebruikt om toestemmingen te geven voor het vaststellen van de rechten die een miner heeft. De netwerken dit dit gebruiken identificeren de deelnemers voordat ze hieraan kunnen deelnemen. Elke node heeft exact dezelfde kans om de winnaar te zijn van het block. Het PoET-mechanisme is gebaseerd op het spreiden en eerlijk verdelen van de winkansen voor een zo groot mogelijk aantal deelnemers.
Elke deelnemende node in het netwerk moet verplicht een bepaalde (random) tijd wachten. De persoon die deze wachttijd als eerste ‘uit heeft gezeten’, krijgt het recht om het nieuwe block toe te voegen aan de blockchain. Elke node genereert elke keer weer een eigen wachttijd, waarna het in een soort van slaapstand gaat. Zodra de node wakker wakker wordt en er een block beschikbaar is, is die node de gelukkige winnaar. Vervolgens kan een node de informatie verspreiden over het hele netwerk waardoor het gedecentraliseerd blijft en de reward in ontvangst nemen.
Het enige dat in dit mechanisme echt belangrijk is, is dat er daadwerkelijk een random wachttijd is. Het moet niet beïnvloedbaar kunnen zijn. En ten tweede moet het ook 100% zeker zijn dat de node zijn wachttijd ook echt heeft uitgezeten. Naast deze twee aspecten is er niets anders nodig om dit protocol te laten draaien.
Voordelen en nadelen in gebruik
Het voordeel van dit mechanisme is dat het vrijwel niets kost (want: wachttijd), en daardoor is het eenvoudig om hier een enorm gedecentraliseerd netwerk van/door te ontwikkelen. Echter is er wel speciale hardware nodig om dit te kunnen uitvoeren. En dat brengt dan uiteraard wel kosten met zich mee. Verder is het ook volledig duidelijk dat de winnaar ook echt de winnaar is. En als je dat niet geloofd, had je er maar eerder bij moeten zijn… Proof of Elapsed Time is dus het bewijs dat de winnaar direct met zich mee draagt. In blockchains wordt dit principe nog niet veel toegepast.
Het is echter wel een interessante blik op de invulling van een consensus dat geldt voor veel deelnemers. Hyperledger Sawtooth is tot op heden het enige DLT-bedrijf dat dit gebruikt.
Casper Protocol
Casper is het Proof-of-Stake protocol dat Ethereum gaat gebruiken. Het is anders dan het traditionele PoS, dat in het vorige artikel is uitgelegd. Dit protocol voorkomt dat de kwaadaardige aanvallen buiten het netwerk worden gelaten. Het werkt als volgt:
De nodes (of validators) zetten een beetje van de Ethers aan de kant om deze te staken (= stapelen). Vervolgens zal er worden begonnen met het valideren van de blocks. Vanaf hier gaat het Casper protocol verschillen met het originele PoS. Het valideren van het block wordt gedaan door er een soort van inleg aan te verbinden. Er wordt een weddenschap op het block geplakt, naar mate de validator ‘denkt’ dat deze aan de blockchain zal kunnen worden toegevoegd. Als het blok vervolgens wordt toegevoegd, krijgen de validators een beloning die in verhouding staat tot hun weddenschap. Als de validator echter een kwaadaardige handeling uitvoert, en hij probeert om met ‘nothing at stake’ het block te valideren, zal de vooraf ingestelde stake enorm worden verlaagd.
👀! my first public draft spec of Casper the Friendly Ghost a "correct-by-construction" blockchain consensus protocolhttps://t.co/8Y01zzS31t
— Vlad Zamfir (@VladZamfir) November 2, 2017
Iedereen die het netwerk zal proberen aan te vallen, zal direct worden gestraft met de stake/inzet die ze vooraf hebben moeten doen. Schadelijke acties hebben iets te verliezen, en dus het is onmogelijk dat er niets op het spel staat. Deze variant (en nieuwere versie van PoS) zal haar intrede doen bij Ethereum.