Het team dat het netwerkconsensus ontwerpt, moet elk kenmerk zorgvuldig in evenwicht brengen. Wat vanuit één perspectief voordelig is, kan vanuit een ander perspectief nadelig zijn. Het is onmogelijk om een enkele beste oplossing te ontwerpen zonder nadelen. Alleen ijverig onderzoek en technologische vooruitgang stellen ons in staat om dichter bij de ideale oplossing te komen. Cardano maakt gebruik van Nakamoto-type Proof-of-Stake, wat onder andere betekent dat het probabilistische transactiefinaliteit heeft. Lees wat dit betekent en wat de voor- en nadelen zijn.
TLDR
Het IOG-team gaf de voorkeur aan continuïteit en veiligheid boven transactiesnelheid voor de huidige versie van PoS. Moderne PoS-netwerken combineren de voordelen van probabilistische en bewijsbare finaliteit. Ouroboros Leios kan dit veranderen.
Finaliteit van transacties
Je weet waarschijnlijk dat elke transactie die gebruikers indienen geleidelijk wordt verspreid via het gedistribueerde netwerk naar alle blockproducer nodes. Als een waarde van het ene adres naar het andere moet worden overgedragen, moet de transactie in het blok worden opgenomen en moet het blok in de blockchain blijven. Voor een transactie om als definitief te worden beschouwd, moet het blok ook definitief zijn.
Laten we definiëren wat transactiefinaliteit en blokfinaliteit betekenen.
Transactie finaliteit verwijst naar het punt waarop een specifieke transactie binnen een blockchain netwerk als onherroepelijk bevestigd wordt beschouwd en niet kan worden teruggedraaid of geannuleerd. Het vertegenwoordigt de garantie dat een transactie in een blok is ingevoegd en wordt beschouwd als een permanent onderdeel van de geschiedenis van de blockchain. Zodra een transactie definitief is, wordt deze over het algemeen geaccepteerd als afgehandeld en onveranderlijk.
De finaliteit van een transactie is afhankelijk van de finaliteit van het blok waarin het is ingevoegd.
Blokfinaliteit heeft betrekking op de bevestiging en onveranderlijkheid van een heel blok binnen de blockchain. Het vertegenwoordigt het punt waarop een blok transacties als onveranderlijk wordt beschouwd en niet kan worden gewijzigd of verwijderd. Wanneer een blok definitief is, worden ook alle transacties die in dat blok zijn opgenomen, als definitief beschouwd.
De rol van netwerkconsensus
De finaliteit van het blok is belangrijk, omdat de inhoud van het blok onveranderlijk is. Netwerkconsensus wordt gebruikt om ervoor te zorgen dat knooppunten in het netwerk een meerderheidsconsensus bereiken over het toevoegen van een nieuw blok. Dus een blockchain is in feite gewoon een ketting van aaneengesloten blokken waarvan de volgorde onveranderlijk is. Meer specifiek, onveranderlijk vanaf een bepaald tijdstip.
Vanuit het oogpunt van finaliteit is het cruciaal op welk punt een blok als onomkeerbaar kan worden beschouwd op basis van de netwerkconsensus. Met andere woorden, we zijn op zoek naar het punt waarop een gebruiker er zeker van kan zijn dat de meerderheid van de knooppunten in het netwerk er zeker van is dat een bepaald blok voor altijd in de blockchain zal blijven.
In de context van blockchain kan tijd worden verdeeld in perioden waarin nieuwe blokken worden toegevoegd. In het geval van Cardano gemiddeld 20 seconden, voor Bitcoin gemiddeld 10 minuten, en voor Ethereum 12 seconden.
Om als definitief te worden beschouwd, moet een meerderheid van de blokproducerende knooppunten in het gedistribueerde netwerk het eens zijn. Dit kan voorafgaand aan het toevoegen van een nieuw blok aan de blockchain gebeuren door middel van een vorm van stemming, of achteraf door het nieuwe blok aan zijn voorganger te koppelen. Het gebruik van het vorige blok (of blokken) als voorganger van het nieuwe blok is een uiting van de instemming van dat blokproducerende knooppunt.
Zoals we in de inleiding al zeiden, gebruikt Cardano Nakamoto-type Proof-of-Stake, dat is gebaseerd op het PoW ontwerp.
Een Nakamoto-consensus kan alleen een zogenaamde probabilistische finaliteit bereiken. Het netwerk kan uiteindelijk een consensus bereiken. Probabilistische finaliteit betekent dat onder bepaalde aannames over de deelnemers in het netwerk, als we een paar blokken zien die zijn toegevoegd achter een bepaald vorig blok, we de waarschijnlijkheid kunnen schatten dat het gegeven vorige blok definitief is. Het bereiken van de uiteindelijke consensus betekent dat op een gegeven moment in de toekomst alle knooppunten het eens zullen zijn over de onveranderlijkheid van een bepaalde reeks blokken. Het bereiken van de uiteindelijke consensus kan lang duren. Bovendien is het niet mogelijk om van tevoren te bepalen hoelang het zal duren.
Zodra een nieuw blok is toegevoegd, kan geen enkele deelnemer (noch blokproducer knooppunten, noch gebruikers) er zeker van zijn dat het blok niet zal worden teruggedraaid. Er kan een zogenaamde fork optreden, waarbij het nieuwe blokproducer knooppunt niet linkt naar het laatste blok in de blockchain, maar naar de voorganger van dat blok. Dit betekent dat één blok wordt gevolgd door twee opvolgers. Slechts één van de opvolgers kan in de blockchain blijven. De andere wordt verweesd, inclusief alle transacties. Welke opvolger in de blockchain blijft, wordt beslist door de volgende blokproducer knooppunten, die één van de varianten kiezen. De regel van de langste keten bepaalt de winnende versie van de blockchain.
Om het concept te begrijpen, is er altijd na het toevoegen van een nieuw blok nog een kleine kans dat een blok wordt teruggedraaid en daarmee alle transacties erin ongeldig worden gemaakt.
Een alternatief voor probabilistische finaliteit is bewijsbare finaliteit. Een consensus die is ontworpen om bewijsbare finaliteit te hebben, streeft ernaar absolute zekerheid te bieden dat een blokkandidaat (en de transacties erin) definitief is en niet kan worden teruggedraaid of gewijzigd. Dit wordt meestal bereikt door consensusmechanismen die een deterministisch resultaat en wiskundige bewijzen garanderen. Het is mogelijk om een consensus te creëren die forks van de blockchain voorkomt. Deelnemers kunnen er zeker van zijn dat elk nieuw toegevoegd blok definitief is, oftewel onveranderlijk.
Aangezien elk nieuw toegevoegd blok bewijsbaar definitief is, is het essentieel dat er een vorm van stemming plaatsvindt tussen blok-producer knooppunten voordat het in de blockchain wordt opgenomen. De regelgedefinieerde meerderheid (vaak ⅔ van de blok-producer knooppunten) moet het eens zijn met het nieuw voorgestelde blok. Als de meerderheid het oneens is, wordt de blokkandidaat niet aan de blockchain toegevoegd en moet er opnieuw een nieuwe kandidaat worden gemaakt en gestemd.
Voordelen en nadelen van probabilistische en bewijsbare finaliteit
Merk op dat beide benaderingen in wezen gaan over een vorm van stemming. Het belangrijkste verschil is dat bij probabilistische finaliteit de stemming plaatsvindt nadat het blok is toegevoegd (wat kan leiden tot forks), terwijl bij bewijsbare finaliteit de stemming plaatsvindt voordat het blok wordt toegevoegd.
Er zijn hybride varianten waarbij de stemming over een nieuw toegevoegd blok direct na toevoeging plaatsvindt. Een blok wordt beschouwd als onveranderlijk zodra de vereiste meerderheid in het netwerk ervoor stemt. Dit betekent dat er forks van de blockchain kunnen optreden, maar het blok kan zeer snel definitief worden gemaakt door middel van stemming (blokproducer knooppunten stemmen om een bepaald blok te behouden).
Als een blokproducer knooppunt een blokkandidaat voorstelt, stemt hij of zij in feite alleen. Het blok heeft weinig “gewicht”. Het gewicht neemt toe met de stemmen van de andere knooppunten. In het geval van Cardano (en ook Bitcoin) neemt het gewicht toe bij elk toegevoegd blok. Daarom groeit het gewicht (aantal stemmers) langzaam. Als de consensus toestaat dat er wordt gestemd op een blok vóór (of kort na) toevoeging, heeft het nieuwe blok relatief snel een hoog gewicht.
Het onderwerp is wat complexer, omdat het belangrijk is om rekening te houden met de stemkracht van individuele blokproducer knooppunten (pools). In een Cardano netwerk kan elke pool een verschillende hoeveelheid stake hebben. Een nieuw blok kan voorgesteld worden door een pool met weinig stake of een volledig verzadigde pool. Welk effect heeft dit op het nieuwe kandidaatblok? Theoretisch geen, omdat elk nieuw voorgesteld blok een vergelijkbare status heeft. Echter, SPO’s met veel stake hebben een grotere kans om meer blokken te produceren in een bepaalde tijdsperiode, wat een voordeel kan zijn als er forks optreden.
We zullen het onderwerp niet ingewikkelder maken en ons beperken tot finaliteit, maar het is belangrijk op te merken dat blokproducer knooppunten mogelijk wel of niet dezelfde stemkracht hebben in verschillende netwerken. Netwerkdecentralisatie is gebaseerd op schaarse middelen (munten of hash-vermogen) en wie er meer van heeft, heeft meer stemkracht.
Laten we teruggaan naar de finaliteit. Het verschil tussen probabilistische en bewijsbare finaliteit heeft een grote impact op de robuustheid en vitaliteit. Het heeft ook invloed op de snelheid van transacties, oftewel de gebruikerservaring.
In het geval van Cardano kan het blok worden verworpen, dus zodra uw transactie in het blok is opgenomen, heeft u geen garantie dat deze voor altijd op de blockchain zal blijven staan. Er is nog steeds een kleine kans dat het wordt teruggedraaid. Cardano heeft een trage finaliteit van blokken en daarmee transacties. Zoals hierboven uitgelegd, groeit het gewicht langzaam omdat er door het toevoegen van nieuwe blokken wordt gestemd. Er wordt elke 20 seconden één stem toegevoegd.
Op dit moment produceren ongeveer 1.200 pools blokken in het Cardano netwerk. Het stemmen van slechts 10% van de pools kost 40 minuten. Gedurende deze tijd worden er 120 nieuwe blokken toegevoegd.
Een bepaald blok kan ervan uit worden gegaan dat het in de blockchain blijft nadat een bepaald klein aantal nieuwe blokken is toegevoegd. Het probleem is dat dit lage aantal moeilijk te schatten is en alleen probabilistisch is.
Er zijn netwerken, zoals Algorand, die directe blokfinaliteit kunnen bereiken via stemming. Zodra een nieuw blok is toegevoegd, kan het nooit worden verworpen. Tegelijkertijd zijn er nooit forks van de blockchain. Algorand heeft een bloktijd van ongeveer 3,6 seconden en als uw transactie in het blok is opgenomen, is deze onmiddellijk definitief.
Ethereum verdeelt alle validatoren in 32 gelijke commissies per epoch. Een epoch heeft 32 slots. Elke slot duurt 12 seconden. De hele epoch duurt dus 6 minuten en 24 seconden. Elke commissie is verantwoordelijk voor het produceren van een blok en de leden van de commissie zijn verantwoordelijk voor het verstrekken van een attestatie (bevestiging of ze het eens of oneens zijn met het door de producent voorgestelde blok). Elk nieuw toegevoegd blok wordt bevestigd door 3,1% van het totale stemgewicht. Dit betekent dat het blok sneller een hoog gewicht (een groot aantal stemmen) zal krijgen dan in het geval van Cardano.
Nakamoto-type consensus geeft de voorkeur aan protocolvitaliteit boven de snelheid van transacties, oftewel de mogelijkheid om altijd een nieuw blok te produceren, zelfs als een groot deel van de knooppunten niet beschikbaar is. In geval van een groot aantal knooppunten die offline gaan, zal de blokproductie langer duren (gemiste slots), maar er is een goede kans dat dit gebeurt. Naarmate knooppunten geleidelijk terugkeren naar het netwerk, zal de blokproductie frequenter worden.
Voor netwerken waarin er actief wordt gestemd op elk blok, kan de blokproductie worden gestopt als 34% (meestal meer dan ⅓ van de blok-producer knooppunten) offline gaat. Netwerken met bewijsbare finaliteit worden beschouwd als meer veerkrachtig tegen aanvallen en kunnen beter de integriteit van de blockchain waarborgen. Deze netwerken geven er de voorkeur aan om blokken niet te produceren in plaats van blokken te produceren koste wat het kost.
Netwerken met bewijsbare finaliteit hebben verschillende nadelen. Netwerkconsensus kan relatief complex en kwetsbaar zijn. Stemmen vereist enige overhead en kan relatief lang duren. Deze netwerken zijn mogelijk gevoeliger voor blokproductieonderbrekingen als er problemen zijn met de snelheid van gegevenspropagatie over internet. Het kan moeilijker zijn om hoge schaalbaarheid te bereiken.
Als we kort terugkomen op decentralisatie en beveiliging, in het geval van Cardano moet de aanvaller meer dan de helft van de schaarse middelen (ADA tokens) verkrijgen, terwijl hij in netwerken met bewijsbare finaliteit meestal meer dan ⅓ van de middelen moet verkrijgen. Het verkrijgen van 1/3 van de bron is voldoende voor de aanvaller om ervoor te zorgen dat het netwerk geen consensus kan bereiken.
Conclusie
Gebruikers geven over het algemeen de voorkeur aan transactiesnelheid boven beveiliging, aangezien beveiliging relatief hoog is in de meeste blockchain netwerken. Ze willen voornamelijk snel een transactie kunnen uitvoeren en zekerheid hebben over de definitieve afhandeling ervan. Niettemin zou de eerste basislaag van een blockchain zo veilig en gedecentraliseerd mogelijk moeten zijn. De toekomst behoort waarschijnlijk toe aan hybride benaderingen die de langste-ketenregel combineren met een mechanisme dat snelle definitieve afhandeling garandeert. Ouroboros Leios zal iets dergelijks naar Cardano brengen, omdat van de 3 soorten blokken die in het netwerk worden geproduceerd, er een vorm van stemming zal plaatsvinden over het tweede type, de endorsement-blokken. Het derde type blok, dat vergelijkbaar zal zijn met het huidige blok, bevat verwijzingen naar goedgekeurde blokken, oftewel blokken die de overeenstemming van een relatief groot belang vertegenwoordigen.
Het artikel ging voornamelijk over de definitieve afhandeling van transacties, maar het is belangrijk om te onthouden dat de kern van Cardano bestaat uit een hoge decentralisatie en native liquid staking. Deze eigenschappen werden gedeeltelijk bereikt doordat Cardano geen slashing heeft en je geen bepaald (relatief hoog) aantal munten nodig hebt om deel te nemen aan het staken. Ethereum maakt gebruik van stemmen om consensus te bereiken, en hiervoor is de mogelijkheid nodig om ETH vast te zetten en validators te straffen voor gedrag dat ingaat tegen het belang van het protocol. De definitieve afhandeling van transacties hangt ook samen met de kwaliteit van het staken en daarmee decentralisatie.
Technologische vooruitgang zal Cardano vooruit stuwen. Ouroboros Leios zal de volgende grote stap zijn met betrekking tot de definitieve afhandeling van transacties op de eerste laag.
Tekst vertaald naar het Nederlands door BeADA Cardano Stake Pool (www.beadapool.com). Als u dit artikel nuttig vond, kan u mijn werk steunen door te delegeren aan onze Cardano stake pool (ticker: BEADA) Origineel artikel vindt u hier.