Heb jij ooit gehoord van Proof of Elapsed Time (PoET)? Het is een van de minder bekende consensus algoritmes. Daarom is de kans groot dat je niet weet hoe dit algoritme werkt.
Het is echter interessant om meer te weten te komen over dit algoritme. Het wordt namelijk gezien als een van de eerlijkste consensus algoritmes. Steeds vaker komen we dan ook blockchains tegen die dit algoritme gebruiken.
In dit artikel leg ik je stap voor stap uit wat Proof of Elapsed Time is, hoe dit algoritme werkt en welke blockchains gebruik maken van het Proof of Elapsed Time algoritme.
Bekijk snel
Wat is Proof of Elapsed Time (PoET)?
Proof of Elapsed Time is een consensus algoritme dat vooral wordt gebruikt door permissioned blockchains, zoals Hyperledger Sawtooth. Wat permissioned blockchains zijn, leg ik later in dit artikel uit.
Je kunt dit algoritme vergelijken met Proof of Work (PoW). Echter, het belangrijke kenmerk van Proof of Elapsed Time is dat deelnemers random gekozen worden om een nieuw blok te mogen toevoegen aan de blockchain. Je kunt het vergelijken met een soort loterij.
Net zoals bij Proof of Work zijn er miners die transacties valideren en blokken toevoegen aan de blockchain. Het PoET-algoritme gebruikt een willekeurig gegenereerde verstreken tijd om de mining-rechten en blok-winnaars op de blockchain te selecteren.
Er draait ten alle tijden een betrouwbare code binnen een veilige omgeving, wat voor transparantie zorgt. Iedereen kan namelijk de resultaten van de loterij zien en verifiëren.
Intel Corporation
In 2016 heeft Intel Corporation (de beroemde chip-fabrikant) Proof of Elapsed Time bedacht. Samen met Linux Project en IBM heeft Intel de Hyperledger Sawtooth gesponsord. Dit is een blockchain ontwikkelingsbedrijf dat gebruik maakt van een open-source BaaS-platform (Blockchain-as-a-Service).
Het is niet de enige keer dat Intel interesse toont in blockchainprojecten. Het bedrijf heeft zich al vaker uitgesproken over deze technologie, en sponsort meerdere bedrijven en projecten die bezig zijn met blockchains en cryptocurrencies. Niet gek, want het bedrijf verdient natuurlijk ontzettend veel aan de chips die worden gebruikt voor het minen van crypto, zoals Bitcoin (BTC).
In onderstaande video wordt meer uitleg gegeven over Hyperledger Sawtooth.
Wat is een permissioned blockchain?
Een permissioned blockchain is iets anders dan een public of private blockchain. Bij een publieke blockchain kan iedereen deelnemen aan het netwerk. Hiervoor hoef je niet eerst toestemming te hebben.
Een private blockchain is afgesloten van de buitenwereld, en wordt voornamelijk intern gebruikt. Denk bijvoorbeeld aan organisaties, overheden of bedrijven die informatie op een blockchain willen bewaren. Alle deelnemers van een private blockchain zijn in beheer van de eigenaar van de blockchain.
Permissioned blockchains hebben een extra controle-laag. Hiermee wordt gecontroleerd welke rol iemand heeft of mag krijgen, en wat iemand kan doen vanuit zijn rol. Hierdoor krijg je verschillende actoren binnen een netwerk die allemaal andere taken uitvoeren. Dit is een manier om blockchains extra te beveiligen.
Voordelen van PoET
Proof of Elapsed Time lijkt veel op het bekende Proof of Work algoritme. Echter, het verschilt op één cruciaal punt wat twee grote voordelen oplevert.
Miners die een nieuw blok mogen toevoegen aan de blockchain, worden random gekozen. Hierdoor heeft iedere miner gelijke kansen. Ze worden niet gekozen op basis van hoeveel computerkracht ze kunnen leveren, of hoeveel geld ze kunnen staken.
Proof of Elapsed Time is dus een ontzettend eerlijk consensus algoritme. Het wordt door veel mensen ook wel gezien als het eerlijkste algoritme voor blockchains.
Een ander voordeel is dat er veel minder stroom nodig is om dit algoritme te laten werken. Bij Proof of Work worden miners allemaal tegelijkertijd aan het werk gezet. Vervolgens is er maar één miner die een blok toe mag voegen aan de blockchain. Dit zorgt ervoor dat er ontzettend veel stroom verloren gaat.
Doordat Proof of Elapsed Time miners van te voren uitkiest, is er maar één miner die bezig is met het valideren van transacties en toevoegen van blokken aan de blockchain.
Hoe werkt Proof of Elapsed Time?
Voordat je als node mee mag doen aan een PoET-netwerk, zul je jezelf eerst moeten identificeren. Zo weet het netwerk met wie ze te maken hebben. Wanneer iemand niet goed deelneemt binnen het netwerk, kunnen ze deze persoon voor altijd verbannen uit het netwerk (ze hebben namelijk de officiële identiteit).
Het PoET-algoritme genereert voor iedere node een random tijd. Iedere node moet vervolgens gaan 'slapen' totdat deze random gegenereerde tijd is verstreken. Nadat de tijd voorbij is, mag de node een nieuw blok toevoegen aan de blockchain.
Dit betekent dat nodes met de kortste tijden als eerst ontwaken, en een nieuw blok mogen toevoegen aan de blockchain. Omdat deze tijd volledig random wordt gegenereerd, is het een eerlijk algoritme. Je kunt deze tijd namelijk niet beïnvloeden door meer rekenkracht of stake te bieden.
Voor ieder nieuw blok wordt dit proces herhaalt. Dit betekent dat je als node zijnde continu een nieuwe 'slaaptijd' krijgt, en ook iedere keer een nieuwe kans om als eerst een nieuw blok te mogen toevoegen aan de blockchain.
In onderstaande video wordt uitgelegd wat Proof of Elapsed Time is. We raden je aan om deze video te bekijken wanneer je graag meer wilt weten over dit consensus algoritme.
Hoe doe je mee aan Proof of Elapsed Time?
Het meedoen aan een PoET-netwerk gaat anders dan wanneer je mee wilt doen aan een blockhainnetwerk dat gebruik maakt van Proof of Work, of een ander consensus algoritme. Een node zal de volgende stappen moeten doorlopen om succesvol te kunnen deelnemen.
- Eerst zal je een node de PoET-code moeten laten downloaden op de website van een blockchain. Hier wordt ook een speciale deelname-sleutel gegenereerd voor de code om SGX te gebruiken.
- De node stuurt zijn sleutel naar het netwerk waarmee hij vraagt om deel te nemen aan het netwerk. De andere nodes binnen het netwerk zullen de sleutel controleren en verifiëren, waarna een node mag deelnemen aan het netwerk.
- Iedere node heeft een eigen tijd-variabele, welke de tijd bevat die random wordt toegekend aan iedere node binnen het netwerk. SGX zorgt ervoor dat de tijd ook écht random is, en niet beïnvloed kan worden door handelingen van buitenaf.
- Wanneer alle nodes een eigen tijd hebben gekregen, start de 'trekking'. De node waarbij de tijd als eerste voorbij is, is de winnaar. Deze node mag vervolgens een nieuw blok aanmaken en toevoegen aan de blockchain. Wanneer dit succesvol is verlopen, krijgt de node hiervoor een beloning. Dit is meestal in de vorm van tokens of cryptomunten.
Veiligheid van PoET-netwerken
In bovenstaande stappen heb je kunnen lezen dat een node eerst geaccepteerd zal moeten worden door de andere nodes binnen het netwerk. Daarom is PoET ook een algoritme dat wordt gebruikt voor permissioned blockchains.
Ook had ik het over de SGX. Dit staat voor Software Guard Extension, en het is een tool dat in 2015 door Intel is ontwikkeld. Met deze tool kan de verificatie van nodes worden beheerd. Eerst maakt het een speciale sleutel aan, waardoor de code niet toegankelijk is voor anderen, die niet in het bezit zijn van deze speciale sleutel. Zo kan er ook niks gebeuren met de 'randomness' van de gegenereerde tijden.
Andere consensus algoritmes
Naast Proof of Elapsed Time zijn er natuurlijk nog veel andere consensus algoritmes die worden gebruikt door blockchains. Sterker nog, PoET is één van de minder bekende consensus algoritmes die de blockchainwereld rijk is. Hieronder staan een aantal andere consensus algoritmes. Wil je meer te weten komen over sommige algoritmes? Klik dan op de naam door naar een artikel over het algoritme te gaan.
- Proof of Work (PoW)
- Delegated Proof of Stake (DPoS)
- Proof of Stake (PoS)
- Proof of Burn (PoB)
- Proof of Capacity (PoC)
- Proof of Authority (PoA)
- Delayed Proof of Work (DPoW)
- Proof of Participation (PoP)
Het verschil tussen Proof of Elapsed Time en Proof of Work
In verschillende opzichten is Proof of Elapsed Time te vergelijken met Proof of Work. Beide algoritmes maken namelijk gebruik van miners die blokken toevoegen aan de blockchain, en hiervoor een beloning ontvangen.
Deze beloning bestaat in de meeste gevallen uit native tokens van de blockchain.
Echter, het grote verschil tussen deze twee algoritmes is dat miners binnen een PoW-netwerk de strijd met elkaar aangaan om wie de eerste miner is die alle transacties heeft gevalideerd. Om de eerste miner te zijn, zullen ze veel rekenkracht moeten leveren. Dit kost niet alleen veel stroom, maar ook veel geld voor de aanschaf van de beste en nieuwste hardware.
Bij een PoET-netwerk worden de miners van te voren uitgekozen, en hoeven ze niet tegen elkaar te strijden om wie de eerste miner is, zoals binnen een PoW-netwerk wel het geval is.
Proof of Elapsed Time is daarom in dit opzicht een stuk duurzamer dan Proof of Work. Ook kost het deelnemers minder geld, omdat ze geen nieuwe en dure hardware aan hoeven te schaffen om nieuwe blokken aan de blockchain te mogen toevoegen.
Wil je meer weten over Proof of Work? In onderstaande video van AllesOverCrypto legt Matt je uit wat PoW is en hoe het werkt.
Het verschil tussen Proof of Elapsed Time en Proof of Stake
Er zijn ook verschillende overeenkomsten tussen Proof of Elapsed Time en Proof of Stake. Binnen beide algoritmes worden miners/validators namelijk van te voren al uitgekozen. De manier waarop dat gebeurt, is echter verschillend.
Binnen een PoS-netwerk zullen validators geld moeten inzetten (staken). Hoe hoger de stake, des te hoger de kans dat ze worden uitgekozen om een nieuw blok toe te voegen aan de blockchain. Wanneer een validator zijn werk niet goed doet, wordt er een boete opgelegd welke wordt betaald met de stake. Het kan ook zo zijn dat een validator zijn volledige inzet verliest.
Miners worden binnen een PoET-netwerk ook van te voren uitgekozen, alleen niet op basis van een stake. Zij worden volledig random geselecteerd. Hierdoor hebben miners een veel eerlijkere kans om een blok te mogen toevoegen. Het is niet meer alleen voor de rijken weggelegd, zoals bij PoS wel het geval is.
Op het moment dat een miner zijn werk niet goed doet, kan deze uit het netwerk verwijderen en geblokkeerd worden. Miners moeten zichzelf namelijk identificeren, waardoor het vrij makkelijk is om bepaalde mensen in de toekomst buiten te sluiten voor deelname aan het netwerk.
Conclusie
Eén van de minder bekende consensus algoritmes is Proof of Elapsed Time. Dit algoritme wordt voornamelijk gebruikt binnen permissioned blockchains, en selecteert miners random. Hierdoor kun je dit principe vergelijken met een soort lotterij, waardoor iedere node een eerlijke kans heeft om nieuwe blokken aan de blockchain te mogen toevoegen.
Voor ieder nieuw blok vind er een nieuwe 'trekking' plaats. Miners krijgen een random gegenereerde tijd toegekend. Vervolgens gaan alle miners 'slapen', waarna de miner met de kortste tijd als eerste wakker wordt. Deze miner mag vervolgens een nieuw blok toevoegen aan de blockchain.
Je kunt dit algoritme vergelijken met Proof of Work en Proof of Stake, maar toch heeft Proof of Elapsed Time twee grote voordelen ten opzichte van consensus algoritmes zoals Proof of Work en Proof of Stake:
- PoET is eerlijk - miners worden niet gekozen op basis van de computerkracht die ze kunnen leveren of de hoeveelheid geld dat ze kunnen staken.
- PoET is duurzaam - miners worden vóór het minen uitgekozen, waardoor er maar één miner per blok bezig is met het leveren van energie.
Wil je na het lezen van dit artikel nog meer weten over Proof of Elapsed Time, of een ander consensus algoritme? Stel dan je vragen in onze AllesOverCrypto Facebookgroep en dan beantwoorden onze experts al jouw vragen.
Heb je andere crypto gerelateerde vragen? Het makkelijkste is om jouw vraag in onze FAQ op te zoeken. Wat je ook kan doen, is dat je jouw vraag + "AllesOverCrypto" googelt. Je zult dan snel uitkomen bij een van onze andere artikelen die over dat onderwerp gaan, zodat je weer snel meer kunt leren over dat onderwerp.
Headerfoto door Min C. Chiu