Wat is Ouroboros? Cardano’s consensusmechanisme

Wat is Cardano's Ouroboros?
Ouroboros is het consensusmechanisme dat door de blockchain van Cardano wordt gebruikt voor de validatie van transacties en het toevoegen van nieuwe blokken aan de blockchain. Binnen de blockchain bepaalt Ouroboros welke deelnemers het recht krijgen om een nieuw blok te produceren en hoe deelnemers in het netwerk het eens worden over de geldigheid van transacties en de laatste staat van de distributed ledger.
Ouroboros functioneert als een Proof-of-Stake (PoS)-mechanisme, maar probeert zich te onderscheiden met een op academisch onderzoek gebaseerd systeem met formeel wiskundig bewezen veiligheidseigenschappen.
Het mechanisme is ontwikkeld onder leiding van Charles Hoskinson samen met zijn team van cryptografen en computerwetenschappers, maar ook met onderzoekers van onder andere de Universiteit van Edinburgh en IOHK (Input Output Hong Kong). Uniek aan Ouroboros is dat het een van de eerste Proof-of-Stake-protocollen was waarvan de veiligheid peer-reviewed werd in academische publicaties.
Korte samenvatting
- Ouroboros is het consensusmechanisme van de Cardano-blockchain en bepaalt hoe transacties worden gevalideerd en hoe nieuwe blokken aan de blockchain worden toegevoegd.
- Het protocol werkt met een tijdsstructuur van epochs en slots, waarbij voor elke slot wordt bepaald welke deelnemer het recht krijgt om een nieuw blok te produceren.
- In plaats van energie-intensieve mining, zoals bij Proof of Work, worden blokken geproduceerd door deelnemers die ADA hebben gestaket of hun ADA hebben gedelegeerd aan staking pools.
- Ouroboros is ontwikkeld op basis van academisch onderzoek en behoort tot de eerste Proof-of-Stake-protocollen waarvan de veiligheid wiskundig is onderzocht en peer-reviewed gepubliceerd.
Wat betekent Ouroboros?
De naam Ouroboros klinkt nogal ingewikkeld. Alleen al bij de naam zul je misschien denken: waarom zou je zo’n moeilijke naam kiezen? Maar Charles Hoskinson (de oprichter van Cardano) en zijn team hebben die niet zomaar gekozen. De naam Ouroboros is namelijk een oud symbool van een slang of draak die in zijn eigen staart bijt en zo een cirkel vormt. Dit symboliseert oneindigheid, cycliciteit en voortdurende vernieuwing. Omdat het wezen zichzelf voortdurend opeet en opnieuw vormt, wordt het vaak geïnterpreteerd als een representatie van de eeuwige cyclus van leven, dood en wedergeboorte.
Het symbool komt voor in verschillende oude culturen, waaronder de Egyptische, Griekse en alchemistische tradities.
In de context van blockchains sluit deze symboliek goed aan bij het idee van een systeem dat continu nieuwe blokken produceert en zichzelf blijft vernieuwen. De blockchain groeit namelijk voortdurend doordat nieuwe blokken worden toegevoegd, terwijl het netwerk zichzelf blijft onderhouden via consensusmechanismen.
Met deze context is het dus niet zo vreemd dat de naam wordt gegeven aan het consensusmechanisme van een blockchain. Dat is ook precies de reden waarom Cardano voor de naam Ouroboros heeft gekozen.
Achterliggende gedachte van Ouroboros
De ontwikkelaars van Ouroboros en Cardano wilden een blockchain ontwikkelen die veilig, schaalbaar en energie-efficiënt is en, misschien wel het belangrijkst, een consensusmechanisme heeft dat wiskundig bewezen veilig is. Met Ouroboros hebben ze een alternatief geprobeerd te ontwikkelen voor energie-intensieve blockchains, zoals Bitcoin en Litecoin, die gebruikmaken van Proof of Work (PoW).
Deze blockchains gebruiken miners die grote hoeveelheden rekenkracht inzetten om transacties te valideren en nieuwe blokken toe te voegen. Dit model is veilig, maar verbruikt veel energie.
Ouroboros probeert hetzelfde veiligheidsniveau te bereiken zonder deze energie-intensieve competitie. In plaats daarvan gebruikt het protocol economische deelname aan het netwerk als basis voor consensus. De kans dat een deelnemer een nieuw blok mag produceren is afhankelijk van de hoeveelheid ADA die hij of zij inzet. Dit noemen we staking.
Het model is wetenschappelijk onderbouwd. Onderzoekers hebben mathematische bewijzen opgesteld die aantonen dat het netwerk veilig blijft zolang een meerderheid van de stake eerlijk handelt.
Ouroboros werkt als een consensusmechanisme dat gebruikmaakt van zogeheten epochs en slots. Het systeem gebruikt een vaste tijdsindeling om te bepalen wie een block mag toevoegen aan de blockchain. In plaats van miners die met rekenkracht concurreren, zoals bij Proof of Work, kiest Ouroboros op basis van de gestakete ADA welke deelnemers blocks mogen produceren.
Een epoch is een langere periode binnen het netwerk. Zo’n epoch bestaat uit een groot aantal slots. Een slot is een kort tijdsvenster waarin in principe één block kan worden geproduceerd.
Binnen een epoch worden dus nieuwe blokken verdeeld over slots. Binnen zo’n slot wordt bepaald wie het nieuwe blok met daarin transacties mag valideren en toevoegen aan de distributed ledger.
Ouroboros kijkt daarbij naar het aandeel van een staking pool. Hoe groter het aandeel van gestakede ADA binnen een staking pool is, hoe groter de kans dat die pool het recht krijgt om in een bepaalde slot een block te produceren. Daardoor is blockproductie gekoppeld aan economisch belang in het netwerk, in plaats van aan computerkracht.
Doordat op basis van ingezette ADA de block producer wordt gekozen, zien we in de praktijk dat er veel staking pools zijn opgezet. Een staking pool beheert de technische infrastructuur die nodig is om transacties te verwerken en nieuwe blokken te produceren. Aan zo’n pool kunnen gebruikers ADA delegeren, waardoor de kans groter wordt dat met behulp van hun ingezette ADA tokens blokken geproduceerd mogen worden. De gedelegeerde ADA blijft van de gebruiker zelf, maar telt wel mee bij de totale stake van die pool. Hoe meer stake een pool vertegenwoordigt, hoe groter de kans dat die pool in meerdere slots als producent wordt geselecteerd.
Wanneer een staking pool voor een bepaalde slot is geselecteerd, mag die pool in dat tijdsvenster een nieuw blok maken. In dat blok worden geldige transacties opgenomen die nog niet eerder aan de blockchain zijn toegevoegd. Daarna verspreidt de pool het block naar de rest van het netwerk. Andere nodes controleren vervolgens of het block geldig is. Ze kijken bijvoorbeeld of de transacties correct zijn, of er geen dubbele uitgaven (double spending) plaatsvinden en of het block volgens de protocolregels is geproduceerd. Als het nieuwe blok geldig is, nemen zij het op in hun eigen versie van de blockchain.
Een belangrijk onderdeel van Ouroboros is dat de veiligheid van het netwerk afhangt van een eerlijke meerderheid van de stake. Zolang het grootste deel van de ingezette ADA wordt beheerd door eerlijke deelnemers, blijft het netwerk betrouwbaar en wordt het voor kwaadwillenden zeer moeilijk om de blockchain te manipuleren. Dat is een fundamenteel verschil met Proof of Work, waar veiligheid vooral afhangt van de meerderheid van de rekenkracht.
Wat is het verschil tussen Ouroboros en traditioneel Proof of Stake?
Ouroboros is een vorm van Proof of Stake (PoS), maar verschilt op een aantal punten van andere PoS-modellen, zoals die van Ethereum.
Een belangrijk verschil is dat Ouroboros is ontwikkeld op basis van wetenschappelijk onderzoek. Het protocol is ontworpen door onderzoekers en later ook beoordeeld door andere wetenschappers. Veel oudere Proof-of-Stake-systemen zijn vooral gebouwd door ontwikkelaars zonder dat er eerst uitgebreid academisch onderzoek naar de veiligheid werd gedaan.
Daarnaast is het uniek aan Ouroboros dat er een duidelijke tijdstructuur is geïntroduceerd met epochs en slots, waardoor blockproductie beter voorspelbaar en georganiseerd is. In sommige traditionele PoS-systemen wordt blokproductie op een minder gestructureerde manier toegewezen, bijvoorbeeld via een willekeurige selectie van validators op basis van hun stake. Die validators krijgen dan de beurt om een blok te produceren wanneer het protocol hen selecteert.
Een ander verschil is het gebruik van stake pools. Ouroboros moedigt decentralisatie aan door staking pools, zodat gebruikers hun ADA kunnen delegeren zonder zelf een node te hoeven draaien.
Updates van Ouroboros
Sinds de ontwikkeling van Ouroboros en Cardano is Ouroboros meerdere keren verbeterd. Elke update heeft onder andere gezorgd voor betere beveiliging, schaalbaarheid en stabiliteit. Hieronder worden de belangrijkste updates uitgelegd.
Ouroboros Classic
Ouroboros Classic is de oorspronkelijke versie van het protocol en werd in 2017 gepresenteerd in een academische publicatie. Het was een van de eerste Proof-of-Stake-systemen waarvan de veiligheid wiskundig werd bewezen. Deze versie vormde de basis van het oorspronkelijke Cardano-netwerk.
Het protocol introduceerde het idee van epochs en slots en gebruikt de hoeveelheid ingezette ADA om te bepalen welke node een block mag produceren.
Ouroboros BFT
Ouroboros BFT (Byzantine Fault Tolerance) was een tijdelijke upgrade die werd gebruikt tijdens de overgang van de eerste Cardano-versie naar een volledig gedecentraliseerd netwerk.
Deze versie maakte het mogelijk om een veilige overgang tussen verschillende protocollen te doen zonder dat de blockchain opnieuw moest worden gestart of dat de geschiedenis verloren ging. Het werd vooral gebruikt tijdens de Byron- en Shelley-fase van Cardano.
Ouroboros Praos
Ouroboros Praos is de versie van het protocol die momenteel de basis vormt van het Cardano-netwerk. Deze upgrade verbeterde vooral de veiligheid en de manier waarop block producers worden gekozen.
Daarnaast heeft Praos ervoor gezorgd dat het voor aanvallers moeilijker wordt om vooraf te weten welke node een blok zal produceren, doordat de selectie van een slot gedeeltelijk geheim blijft. Ook werd de willekeurigheid in het selectieproces verbeterd, waardoor het netwerk beter beschermd is tegen manipulatie.
Ouroboros Genesis
Ouroboros Genesis is een verdere verbetering van Praos en richt zich vooral op nodes die nieuw zijn in het netwerk of na lange tijd weer online komen.
Normaal gesproken moet een nieuwe node de volledige blockchain synchroniseren. Genesis introduceert mechanismen die voorkomen dat zo’n node misleid wordt door een kwaadwillende partij die een alternatieve, valse blockchain probeert te tonen (een zogenaamde long-range attack). Hierdoor wordt het veiliger voor nieuwe nodes om zich bij het netwerk aan te sluiten.
Voordelen van Ouroboros
Ouroboros heeft verschillende voordelen:
- Laag energieverbruik
Ouroboros gebruikt Proof of Stake in plaats van energie-intensieve mining. Daardoor verbruikt het netwerk veel minder elektriciteit dan blockchains die Proof of Work gebruiken. - Hoge mate van decentralisatie
Gebruikers kunnen hun ADA delegeren aan verschillende staking pools, wat de decentralisatie van het netwerk versterkt. Hierdoor kunnen veel deelnemers bijdragen aan het netwerk zonder zelf een node te hoeven draaien. - Wetenschappelijk onderbouwd ontwerp
Het protocol is ontwikkeld op basis van academisch onderzoek en is beoordeeld door wetenschappers. Dit helpt om de veiligheid en betrouwbaarheid van het netwerk te vergroten. - Schaalbaarheid
Door het gebruik van epochs en slots kan blockproductie efficiënt worden georganiseerd.
Nadelen van Ouroboros
Naast voordelen heeft Ouroboros ook nadelen en risico’s:
- Complexiteit van het protocol
Ouroboros is technisch vrij complex en gebaseerd op geavanceerde cryptografie. Hierdoor kan het moeilijker zijn om het systeem volledig te begrijpen. - Risico op centralisatie
Als grote staking pools veel delegaties ontvangen, kan een relatief klein aantal pools een groot deel van de nieuwe blokken produceren, waardoor de decentralisatie onder druk kan komen te staan. - Afhankelijkheid van economische prikkels
Het systeem werkt het beste wanneer deelnemers zich eerlijk gedragen omdat ze financieel belang hebben bij het netwerk. Als grote hoeveelheden stake door kwaadwillenden worden gecontroleerd, kan dat risico’s opleveren. - Langzamere ontwikkeling
Omdat Cardano sterk inzet op academisch onderzoek en peer review, kunnen nieuwe functies soms langzamer worden geïntroduceerd dan bij sommige andere blockchainprojecten.
Conclusie
Ouroboros is het consensusmechanisme dat de basis vormt van de Cardano-blockchain en bepaalt hoe transacties worden gevalideerd en nieuwe blokken worden toegevoegd. In tegenstelling tot energie-intensieve systemen zoals Proof of Work maakt Ouroboros gebruik van Proof of Stake, waarbij deelnemers op basis van hun gestakete ADA kans maken om blokken te produceren. Door het gebruik van epochs en slots kan het netwerk blockproductie op een gestructureerde en efficiënte manier organiseren.
Wat Ouroboros onderscheidt van veel andere consensusmechanismen is de sterke focus op academisch onderzoek en formele veiligheidsbewijzen. Het protocol is ontworpen door onderzoekers en is gepubliceerd in peer-reviewed studies, waardoor de veiligheid van het systeem wiskundig is onderbouwd. Daarnaast maken staking pools het mogelijk voor gebruikers om eenvoudig deel te nemen aan het netwerk zonder zelf een node te hoeven beheren.
Tegelijkertijd kent Ouroboros ook uitdagingen. De technische complexiteit van het protocol kan het moeilijker maken om het systeem volledig te begrijpen, en een sterke concentratie van stake bij grote staking pools kan de decentralisatie onder druk zetten. Ondanks deze aandachtspunten wordt Ouroboros gezien als een belangrijk voorbeeld van hoe wetenschappelijk onderzoek en blockchaintechnologie gecombineerd kunnen worden om een veilig en energie-efficiënt consensusmechanisme te ontwikkelen.