Foto: Costi Trandafir/Shutterstock
De afgelopen weken viel zo nu en dan in het Cardano nieuws te lezen dat het netwerk hard groeit. Na de introductie van smart contracts lijkt Cardano (ADA) zich op te maken om daadwerkelijk de concurrentiestrijd aan te gaan met Ethereum (ETH). Maar hiervoor dient het netwerk wel op te schalen. In Timo’s take van deze week duik ik kort in een van de manieren waarop Cardano dit voor elkaar wil krijgen.
Hoe een Cardano block wordt verspreid
Het opschalen van een netwerk houdt met andere woorden in; het opvoeren van het netwerk om zoveel mogelijk transacties per seconde te verwerken. Een hoge transactiesnelheid gecombineerd met een hoge decentralisatie- en veiligheidsgraad is de heilige graal van blockchain. Helaas is het vaak zo dat het een ten nadele komt van het ander; enorm hoge transactiesnelheden zijn weer nadelig voor de beveiliging van een netwerk en de betrouwbaarheid van de transactiedata.
Cardano verwerkt transacties in een aantal stappen. Wanneer een block producer een transactieblok aanmaakt, wordt deze gedeeld met het netwerk. Een meerderheid van de nodes moet de data nakijken en goedkeuren. Nodes zullen eerst de header (informatie zoals tijd, datum, softwareversie, etc.) van een transactieblok valideren. Indien dit klopt, zal de node de body (transactiedata) van het transactieblok downloaden en vervolgens valideren. Wanneer alles is nagekeken en klopt, stuurt de node het transactieblok door naar andere nodes, die dit proces weer vanaf het begin herhalen.
Dit alles moet zo snel en veilig mogelijk gebeuren, met het nadeel dat transactieblokken maar een beperkte grootte kunnen aannemen. Hoe groter een blok namelijk is, hoe langer het duurt om het na te kijken. En dat nakijken en verspreiden van transactieblokken moet binnen een bepaalde tijd gebeuren. Cardano zal daarom in juni een update doorvoeren die dit proces aanpast.
Cardano “pipelining”
Vanaf dan zal het netwerk namelijk gebruik gaan maken van pipelining. Dit houdt in dat transactieblokken niet langer volgens de bovenstaande cyclus geverifieerd en gedeeld worden met het netwerk. In plaats daarvan zullen nodes eerst enkel de header valideren om deze vervolgens meteen met de rest van het netwerk te delen. Tegelijk met het proces van het delen van de header, zal de node de body van een transactieblok verifiëren.
Kortom, delen van het validatieproces zullen elkaar gaan overlappen. Het resultaat is dat transactieblokken sneller met het hele netwerk gedeeld kunnen worden. Hierdoor kunnen blokken ook in grootte groeien en dus potentieel meer transacties meenemen.
Wat is het verwachte effect op het aantal transacties per seconde? Input Output Global (IOG), de ontwikkelaar van Cardano, deelde onlangs in een blogartikel zijn verwachtingen. Volgens de ontwikkelaar zou door pipelining het aantal transacties per seconde kunnen verdubbelen.
Of het effect van deze verbetering ook echt van de een op de andere dag zichtbaar zullen worden is natuurlijk onwaarschijnlijk. Wel stelde de oprichter van het project eerder al dat veel applicaties mogelijk nog aan de zijlijn wachten totdat pipelining mogelijk is. Cardano bevindt zich daarnaast nog in een relatief vroege ontwikkelingsfase en pipelining is slechts een van de manieren om op te schalen. Daarom blijf ik het project, ondanks de toch wel flinke daling sinds de all-time high (ATH) van rond $3, goed in de gaten houden.