DBC Deep Dive: Modulaire blockchains - de volgende stap in de evolutie van decentrale technologie?
Dit artikel is onderdeel van de reeks #DBCDeepDives over Digital assets en Web 3.0 in samenwerking met LekkerCryptisch. Met speciale dank aan Mathijs van Esch van Maven11.
Blockchains zijn peer-to-peer netwerken van verschillende nodes waarop een distributed ledger draait. Omdat die nodes met elkaar overeenstemming bereiken via een zogenaamd consensusmechanisme zijn de gegevens onveranderbaar voor een individuele deelnemer.
Alle huidige blockchains zijn ‘monolithische blockchains’, wat betekent dat de vier kerncomponenten van een blockchain, te weten data availability (is alle data gepubliceerd), executie, settlement en consensus, zijn verenigd. Deze blockchains hebben te maken met het zogenaamde blockchain trilemma, zoals voor het eerst beschreven door Ethereum-grondlegger Vitalik Buterin.
Het komt erop neer dat blockchains maximaal 2 van de 3 bovenstaande karakteristieken kunnen hebben. Belangrijke kanttekening is dat je over de definities van die kenmerken een stevig debat kan voeren, en dat gebeurt ook regelmatig, maar dat laten we in dit artikel buiten beschouwing.
De focus van Bitcoin en Ethereum ligt op decentralisatie en veiligheid, wat ten koste gaat van het aantal transacties per seconde dat kan worden verwerkt. Die schaarste leidt tot hoge transactiekosten in perioden van drukte. Met andere woorden: beperkte schaalbaarheid.
Een voorbeeld van een blockchain met andere prioriteiten is Solana, die vooral inzet op veilig en schaalbaar. Dit betekent dat de hogere transactiesnelheid en te allen tijde lage transactiekosten ten koste gaan van het decentrale karakter. Solana draait op slechts 4 full nodes en 50 validators met hoge hardwarevereisten.
4 componenten van blockchains
Voordat we dieper ingaan op de manieren om schaalbaarheid van blockchains te vergroten, staan we kort stil bij de functie van de vier basiscomponenten van blockchains:
1. Executie: de 'virtual environment' binnen een blockchain waarbinnen transacties worden verwerkt en de smart contracts én accounts zich bevinden. Dit soort virtual environments zijn op zichzelf niet nieuw, denk aan hoe het bijvoorbeeld mogelijk is om met software het Windows OS te draaien op een Macbook; die software creëert een virtuele Windows machine binnen je Macbook. Ethereum heeft ook zo'n executie-component of execution environment, namelijk de EVM, oftewel de Ethereum Virtual Machine, waarbinnen de Ethereum transacties worden verwerkt en Ethereum adressen en smart contracts zich bevinden.
2. Settlement: het verschaffen van ‘finality’, dat wil zeggen de garantie dat de transacties daadwerkelijk onomkeerbaar worden vastgelegd op de blockchain.
3. Data availability: dit verwijst naar de locatie waar transactiegegevens worden opgeslagen en beschikbaar gemaakt voor de nodes van het netwerk. Dit is nodig zodat iedereen die dat wil de ‘state’ van het netwerk kan recreëren.
4. Consensus: de software die zorgt voor consensus/overeenstemming over de volgorde van transacties
Bij de huidige blockchains zijn deze vier componenten onlosmakelijk met elkaar verbonden.
Zoektocht naar schaalbaarheid: Rollups
De afgelopen 5 jaar is er veel onderzoek gedaan naar het verhogen van schaalbaarheid zonder dat dit ten koste gaat van veiligheid en decentralisatie.
Het begon met het Lightning Network van Bitcoin en Raiden op Ethereum. De afgelopen periode gaat de meeste aandacht uit naar zogenaamde ‘Rollups’, L2-technologie voor Ethereum. L2 staat voor ‘Layer 2’ en is een verzamelnaam voor schaalbaarheidsoplossingen voor Ethereum. Rollups voeren een set aan transacties uit en sturen deze dan op een gegeven moment terug naar de ‘main chain’, ze focussen zich dan ook vooral op het vergroten van schaalbaarheid door de executie-component los te koppelen van de andere taken van een blockchain (settlement, data availability en consensus). De twee belangrijkste varianten van Rollups zijn Optimistic Rollups en Zero Knowledge Rollups.
Optimistic Rollups gaan er vanuit dat alle transacties valide zijn, maar indien nodig kunnen deze worden aangevochten. Als een ongeldige transactie wordt vermoed, wordt een foutproef uitgevoerd om te zien of dit het geval was. Het nadeel is dat transactiedata alsnog op de main-chain moet worden geplaatst als blokje data, dit om transacties aan te kunnen vechten, informatie moet immers wel beschikbaar zijn om het te gebruiken.
Transactiedata op de chain zetten kost minder data dan het uitvoeren van transacties op de chain, maar desondanks kost het data. En omdat de hoeveelheid data die je in één keer op Ethereum Mainnet kunt plaatsen dus beperkt is, is de ‘data availability’ op de blockchain (‘blocksize’) de beperkende factor. Dus wel grotere schaalbaarheid, maar begrensd door de maximale grootte van de blokken transacties.
Zero-knowledge Rollups gebruiken validiteitsbewijzen waarbij off-chain door een speciale vorm van cryptografie, namelijk zero-knowledge proofs, wiskundig wordt bewezen dat bepaalde data valide is zonder dat de ontvanger de data zelf heeft hoeven inzien, en vervolgens worden gecomprimeerde gegevens aan Ethereum Mainnet geleverd als bewijs van hun geldigheid. Daardoor heb je minder ruimte nodig op de main chain, maar de accountgegevens moeten wel op de chain worden geplaatst zodat het bewijs wordt geleverd dat deze bepaalde assets bevatten.
Dus ook deze ZK Rollups zijn - zij het in mindere mate dan in Optimistic Rollups - beperkt door de data availability-vereisten van de main chains. Op dit moment verloopt ongeveer 20-25% van de transacties op Ethereum via L2, te weten via Optimism en Arbitrum, en de verwachting is dat dit percentage de komende jaren verder zal oplopen.
Alternatieve opschaling: modulariteit
Ethereum wil vergrote schaalbaarheid - via de data availability layer - uiteindelijk bereiken via sharding, d.w.z. het horizontaal splitsen van een database om de belasting te spreiden. De hoop en verwachting is dat dit in 2023 mogelijk wordt, maar een precieze roadmap is er niet en vertragingen voor de invoering van dit soort complexe wijzigingen zijn niet ongebruikelijk. Er is nu een nieuwe variant van blockchain in aantocht, namelijk de modulaire blockchain. Het komt erop neer dat de data availability-component los komt te staan van de settlement en executie-componenten.
Ethereum (monolithische blockchain) vergeleken met modulaire blockchains, afbeelding van Maven11.
Celestia is een voorbeeld van zo’n gespecialiseerde data availability-component of een modulaire blockchain. Het idee is dat met de toename van het aantal deelnemers de schaalbaarheid vergroot. Het doet denken aan torrent-diensten zoals Bittorrent. Grote aantallen individuen zorgen allemaal voor de beschikbaarheid van een stukje van de totale hoeveelheid data.
Dat wordt in het geval van Celestia gecombineerd met een beperkt aantal full nodes, als achtervang om ervoor te zorgen dat alle applicaties altijd werken. Voor DeFi-applicaties bijvoorbeeld is dat noodzakelijk, omdat je voor een financiële transactie niet alleen afhankelijk wilt zijn van de online aanwezigheid van specifieke deelnemers. Het draaien van een validator node wordt laagdrempelig en kan zelfs op een Android-telefoon worden gedaan.
Voordelen en vraagtekens
Als voordelen van modulaire blockchains wordt gezien dat netwerken zich veel meer kunnen gaan specialiseren op één component van blockchains. Het geeft developers van decentrale applicaties daarnaast meer vrijheid om hun eigen ideale chain samen te stellen voor hun specifieke toepassing.
Er zijn ook risico’s. Zo levert modulariteit in de praktijk ook meer complexiteit op en dus extra manieren waarop er dingen fout kunnen gaan. Daarnaast kan modulariteit ook ten koste gaan van composability, het combineren van verschillende componenten om nieuwe systemen of outputs te creëren. Het verloren gaan van composability door modularity komt omdat niet alle applicaties meer op hetzelfde systeem draaien, dit maakt het “in elkaar haken” ervan lastiger.
Bij softwareontwikkeling betekent composability dat ontwikkelaars bestaande softwarecomponenten kunnen hergebruiken om nieuwe applicaties te bouwen, als een soort van Lego-blokken. Dit wordt juist gezien als één van de krachten van de bestaande monolithische blockchains.
To be continued in 2023
Celestia biedt een interessante route richting schaalbare decentrale technologie. Een route die bovendien fundamenteel afwijkt van die van Ethereum dat schaalbaarheid binnen de eigen technologie stack probeert te bereiken. En ook één met een andere filosofie dan die van de Ethereum community dat er vanuit gaat dat juist het netwerkeffect als een vorm van zwaartekracht ervoor zorgt dat er uiteindelijk maar één grote winnaar kan zijn onder de decentrale tech stacks. Volgend jaar weten we meer over de kans van slagen van modulaire blockchains. Celestia bevindt zich nu in de testfase en zou in het tweede kwartaal van 2023 live moeten gaan.