DBC Deep Dive: UTXO en Account-based blockchains
RSS Feed
Dit artikel is geplaatst op: dbc
Dit artikel is onderdeel van de reeks #DBCDeepDives over Digital Assets en Web3 in samenwerking met Descryptor.
In de jaren na de publicatie van de Bitcoin White Paper in 2008 door Satoshi Nakamoto ontstonden er meningsverschillen en discussies binnen de Bitcoin-gemeenschap over de juiste richting en toepassing van deze technologie. Verschillende groepen hadden andere ideeën over hoe Bitcoin zou moeten werken en wat het potentieel zou kunnen zijn. Voor deze Deep Dive spraken we met Niels van den Bergh en Pieter den Dooven over UTXO-blockchains. Met hun bedrijf mintBlue zetten ze vol in op dit type blockchain. Aan de hand van dit gesprek zoomden we in op een basiselement van blockchains, namelijk de wijze waarop eigendom en transacties in een blockchain-systeem worden gerepresenteerd en beheerd. Om een volledig beeld te schetsen kijken we in dit artikel ook naar het tweede type blockchain, account-based blockchains.
UTXO vs. Account-based
Sinds de lancering van Ethereum (2015) zijn er twee type blockchains te onderscheiden, UTXO (Unspent Transaction Output) en account-based blockchains. In UTXO-systemen, zoals Bitcoin, bestaan transacties uit onuitgegeven 'outputs'. Wanneer een gebruiker een transactie uitvoert, wordt een vorige 'output' verbruikt en wordt een nieuwe 'output' gecreëerd. Dit systeem maakt het mogelijk om eenvoudig de geldigheid van een transactie te verifiëren door te controleren of de 'outputs' nog niet zijn uitgegeven. Aan de andere kant hebben account-based systemen, zoals Ethereum, een staat die lijkt op traditionele bankrekeningen. Elke account heeft een saldo, en dat saldo is de som van alle transacties die van en naar dat account zijn gestuurd.
Bekende protocollen
UTXO
Het debat tussen voorstanders van UTXO-blockchains en account-based blockchains is diepgeworteld in de blockchain-gemeenschap. Als voordelen van UTXO blockchains wordt vaak gewezen op de eenvoud en veiligheid, UTXO’s bieden een eenvoudiger en meer granulaire controle over transacties. Elke transactie-output is uniek en kan slechts één keer worden uitgegeven, waardoor het eenvoudig is om de geldigheid van een transactie te controleren. Je kunt het vergelijken met een portemonnee met daarin diverse bankbiljetten die maar één keer kunnen worden uitgegeven. Daarnaast wordt het privacy-aspect van UTXO's vaak uitgelicht omdat gebruikers nieuwe adressen (kunnen) genereren voor elke transactie. Dit maakt het moeilijker om transacties aan individuele gebruikers te koppelen, in tegenstelling tot account-based systemen waarbij fondsen worden overgedragen tussen vaste adressen. Hier duikt echter ook een UI/UX-uitdaging op: veel gebruikers conceptualiseren hun geld in termen van accounts. In Bitcoin, wat een UTXO-systeem is, bestaat er geen concept van een account. Wallet-aanbieders moeten daarom de saldi van een reeks potentiële adressen bij elkaar optellen.
Een vaak onderbelicht aspect van UTXO's is het vermogen om parallelliteit in transactieverwerking mogelijk te maken. In UTXO-systemen kunnen transacties die verschillende UTXO's gebruiken, parallel worden verwerkt, wat de potentiële doorvoer van het netwerk kan verhogen. Dit staat in contrast met account-based systemen waar transacties die dezelfde accounts beïnvloeden, sequentieel moeten worden verwerkt om conflicten te voorkomen. Vergelijk dit nogmaals met de hierboven genoemde bankbiljetten; verschillende bankbiljetten kunnen tegelijkertijd worden uitgegeven. Dit maakt UTXO-systemen in theorie schaalbaarder bij hoge transactievolumes, hoewel in de praktijk beide systemen met hun eigen schaalbaarheidsuitdagingen worden geconfronteerd.
Account-based
In account-based systemen is een zwaardere administratie nodig, waarbij de actuele boekhouding een afgeleide is van alle transacties die ooit uitgevoerd zijn. Daar staat tegenover dat account-based blockchains hun eigen unieke voordelen hebben, zoals een grotere flexibiliteit voor het ontwikkelen van complexe toepassingen. Dit type blockchains is beter geschikt voor smart contracts dan UTXO-gebaseerde blockchains. Dit komt doordat account-based blockchains een staat hebben, wat meer complexe interacties tussen gebruikersaccounts en smart contracts mogelijk maakt en het voor ontwikkelaars eenvoudiger maakt om programmeerbare logica te creëren en geavanceerde gedecentraliseerde applicaties te bouwen. Met andere woorden, het account-based model is over het algemeen eenvoudiger voor ontwikkelaars om mee te werken omdat de transacties lijken op directe overdrachten tussen accounts of functie-aanroepen naar smart contracts, wat meer overeenkomt met traditionele programmeerparadigma's.
Conclusie
UTXO’s en accounts zijn de twee dominante concepten die de basis vormen voor eigendomsrepresentatie binnen blockchainsytemen. UTXO, wat staat voor Unspent Transaction Output, wordt geroemd om zijn eenvoud, veiligheid en privacyvoordelen.
Aan de andere kant zijn account-based blockchains ideaal voor complexere interacties en zijn ze beter geschikt voor de ontwikkeling van gedecentraliseerde applicaties en smart contracts. Deze systemen zijn vaak gebruiksvriendelijker voor ontwikkelaars en kunnen flexibel worden aangepast om te voldoen aan de specifieke behoeften van bepaalde toepassingen.
Beide systemen hebben hun eigen unieke voordelen en beperkingen, en de keuze tussen de twee hangt vaak af van de specifieke vereisten van een project of toepassing. De toekomst van blockchain-technologie zal waarschijnlijk een mix zijn van beide benaderingen, waarbij innovaties uit beide kampen worden geleend om de limieten van wat mogelijk is op het gebied van gedecentraliseerde technologieën verder te verleggen.