Wat is Proof of Authority?
Proof of Authority (PoA) is een consensus algoritme dat over het algemeen minder bekend is dan bijvoorbeeld
Proof of Work en Proof of Stake. Toch is het een algoritme dat door veel blockchains gebruikt wordt. Het zorgt er namelijk voor de blockchain door een heel ander publiek gebruikt kan worden. Vooral private blockchains maken namelijk gebruik van het Proof of Authority alogirtme.
Proof of Authority
In 2017 had medeoprichter en voormalig CTO van Ethereum het algoritme Proof of Authority ontwikkeld. Dit deed hij als oplossing voor verschillende blockchains die op
Ethereum gebaseerd waren.
Blockchains die in bepaalde situaties gebruikt werden, ondervonden verschillende problemen met Proof of Work en Proof of Stake. Echter werd het in eerste instantie gemaakt tegen de spamaanvallen op het testnetwerk van Ethereum.
Bij Proof of Authority vindt er geen
mining plaats zoals bij andere consensus algoritmes. Normaal gesproken mag degene met de meeste rekenkracht of de grootste inzet nieuwe blokken toevoegen aan de blockchain. Bij Proof of Authority worden degene die blokken mogen toevoegen al van tevoren geselecteerd. Er zijn dus maar een paar nodes verantwoordelijk voor het valideren van de transacties. Deze nodes noemen we ook wel de ‘authorities‘ (autoriteiten).
Hierdoor is het netwerk een stuk minder groot, en minder gedecentraliseerd. Er zijn namelijk een stuk minder nodes die transacties mogen valideren. Nu klinkt dit als een groot nadeel. Toch is het juist een groot voordeel, gezien de gebruikerssituaties van Proof of Authority blockchains.
Door wie wordt Proof of Authority gebruikt?
Proof of Authority wordt door twee verschillende soorten blockchain gebruikt: private blockchains en public blockchains. Het is belangrijk om hier een verschil in te maken, omdat dit erg bepalend is voor de functie van de blockchain.
Private blockchains
Vooral private blockchains maken gebruik van Proof of Authority. Dit zijn dus blockchains waar het grote publiek niet aan mee kan doen. Denk bijvoorbeeld aan ziekenhuizen, verzekeringskantoren en andere instellingen. Zij hebben veel baat bij Proof of Authority, omdat ze gebruik kunnen maken van de voordelen van blockchain, terwijl ze nog steeds zelf in controle zijn over de gegevens op de blockchain.
Zo zouden alle ziekenhuizen in een land kunnen overstappen op een blockchain die gebruik maakt van Proof of Authority. Ieder ziekenhuis zou dan een server hebben welke als ‘authority‘ zijn werk doet in de blockchain. Het voordeel is dat patiënten dan bij ieder ziekenhuis terecht kunnen, en dat ziekenhuis dan direct de gegevens van de patiënt kunnen inzien. Ze hoeven de informatie dan niet eerst op te vragen.
Maar waarom zouden ze niet van een publieke blockchain gebruik maken? Zo‘n publieke blockchain is niet aanpasbaar aan de situatie van het bedrijf of de instelling dat gebruik maakt van de blockchain. Ziekenhuizen kunnen op deze manier veel makkelijker de blockchain omvormen voor eigen gebruik. Ook zijn ze er zo zeker van dat de gegevens afgesloten zijn van de buitenwereld.
Public blockchains
Echter zijn er ook genoeg publieke blockchains die gebruik maken van Proof of Authority, zoals VeChain en PAO Network. De blockchains hebben op maat gemaakte validatieprocessen voor overheden, en hanteren in beide gevallen strenge selectiecriteria voor het kiezen van authorities. Dat is nodig, omdat het hele netwerk afhangt van de integriteit van de authorities.
Hoe werkt Proof of Authority?
Eigenlijk lijkt Proof of Authority erg veel op het Proof of Stake model. In plaats van dat gebruikers geld inzetten, zetten ze in dit geval hun identiteit in. Deze groep nodes wordt van tevoren gekeurd op integriteit. Het ligt aan de blockchain, maar vaak gaat er een streng selectieproces aan vooraf. Het is daarom niet per se makkelijker om te werk te gaan in een Proof of Authority dan in een Proof of Stake model.
Je zult bij Proof of Stake over veel geld moeten beschikken, terwijl je bij Proof of Authority vaak over een goede reputatie moet beschikken om gekozen te worden.
Vaak is het maar een kleine groep authorities dat de blockchain voorziet van nieuwe blokken. Er is dan ook maar weinig rekenkracht nodig om transacties te valideren. Ook is er geen communicatie tussen nodes nodig om consensus te bereiken. Ook is de continuïteit van het netwerk onafhankelijk van het aantal beschikbare nodes.
De voordelen van Proof of Authority
Het Proof of Authority algoritme brengt verschillende voordelen met zich mee. Hierdoor wordt het voor veel blockchains soms erg interessant om ook gebruik te maken van het Proof of Authority algoritme.
- Geen dure hardware nodig. Omdat de rekenkracht die bij Proof of Authority nodig is erg laag is, hoeven nodes niet te investeren in dure hardware. Ook zijn er geen mining farms nodig, zoals bij Proof of Work wel het geval is.
- Minder energie nodig. Er is minder rekenkracht nodig, en er zijn minder nodes die blokken toevoegen aan de blockchain. Hierdoor is er ook een hele hoop minder energie nodig om de blockchain draaiende te houden. De energie die wél geleverd wordt, wordt ook nog eens nuttig gebruikt door de blockchain.
- Hoog transactieratio. De blokken worden gegenereerd in een volgorde op een bepaald tijdsinterval. Hierdoor wordt de snelheid waarmee transacties worden gevalideerd een stuk verhoogd.
- Voorspelbare tijdsinterval. Bij veel andere consensus algoritmes verschilt het tijdsinterval tussen de blokken. Bij het Proof of Authority is het tijdsinterval altijd hetzelfde, en heb je dit probleem dus niet.
Nadelen van Proof of Authority
Ondanks de vele voordelen kent dit algoritme ook genoeg nadelen. Hierdoor is het algoritme niet geschikt voor iedere blockchain, wat logisch is.
- Minder decentralisatie. Het moge duidelijk zijn dat er minder decentralisatie is in het Proof of Authority algoritme. Er zijn namelijk minder nodes die zich bezighouden met het valideren en controleren van transacties. Het lijkt er dus op dat Proof of Authority vooral een algoritme is waarmee gecentraliseerde systemen efficiënter worden gemaakt.
- Identiteit is bekend. Wanneer je wilt meedoen en blokken wilt toevoegen aan de blockchain, wordt je identiteit kenbaar gemaakt. Hierdoor zouden authorities hun bekendheid kunnen gebruiken voor neventaken.
- Aanval kan specifieker uitgevoerd worden. Door de openbare identiteit kunnen nodes hierdoor veel makkelijker afgeperst worden door kwaadwilligen. Omdat het netwerk uit veel minder nodes bestaat, is het veel makkelijker om een kwartet te vormen met andere nodes, en vervolgens het netwerk over te nemen.