UTXO's Uitgelegd: Hoe Bitcoin en Vergelijkbare Crypto's Eigendom Bijhouden

UTXO's Uitgelegd: Hoe Bitcoin en Vergelijkbare Crypto's Eigendom Bijhouden

Wat is een UTXO en waarom zou ik me erom bekommeren?

Stel je voor dat je geld probeert bij te houden zonder bankrekeningen te gebruiken. Hoe zou je weten wie wat bezit? Sommige cryptovaluta’s, zoals de beroemde Bitcoin, lossen dit op met een concept genaamd Unspent Transaction Output, of UTXO. Vergeet een enkel rekeningsaldo dat op en neer gaat. Denk in plaats daarvan aan UTXO’s als individuele munten of bankbiljetten die je in je fysieke portemonnee ontvangt.

Elke UTXO vertegenwoordigt een specifiek stukje cryptovaluta dat je hebt ontvangen en nog niet hebt uitgegeven. Het is alsof je een briefje van €10, een briefje van €5 en drie munten van €1 hebt – dit zijn afzonderlijke stukjes waarde waarover jij de controle hebt. Het begrijpen van dit concept is cruciaal omdat het de basis vormt van hoe Bitcoin en vele andere digitale valuta’s eigendom bijhouden en transacties beheren. Het verschilt fundamenteel van je traditionele bankrekening, en dit verschil begrijpen is de eerste stap om echt te doorgronden hoe deze cryptovaluta’s onder de motorkap werken.

Hoe gebruikt Bitcoin UTXO’s in plaats van rekeningsaldi?

Je bank houdt je geld bij met een rekeningsaldo – één enkel getal dat verandert wanneer je geld stort of opneemt. Bitcoin en vergelijkbare cryptovaluta’s die het UTXO-model gebruiken, werken niet op deze manier. Ze houden geen lopend totaal bij voor het adres van elke gebruiker.

In plaats daarvan is je “saldo” in Bitcoin eigenlijk de totale som van alle individuele UTXO’s die gekoppeld zijn aan jouw cryptografische adressen. Zie het als het bezitten van een verzameling specifieke digitale “bankbiljetten” (de UTXO’s) verspreid over het publieke grootboek, allemaal gekoppeld aan adressen die jij beheert via je privésleutels. Je hebt niet zomaar een saldo; je bezit afzonderlijke, besteedbare stukjes digitaal geld.

Hoe worden UTXO’s gecreëerd en uitgegeven in een transactie?

Elke UTXO heeft een levenscyclus. Het begint zijn bestaan als een output van een eerdere transactie. Het staat op de blockchain, geduldig wachtend, gemarkeerd als “ongebruikt” (unspent). Wanneer je besluit om wat cryptovaluta te verzenden, selecteer je een of meer van je UTXO’s om te gebruiken als inputs voor je nieuwe transactie.

Deze transactie “verbruikt” effectief de UTXO’s die je als inputs hebt gebruikt, waardoor ze voor altijd als uitgegeven worden gemarkeerd. Tegelijkertijd creëert de transactie een of meer nieuwe UTXO’s als outputs. Deze nieuwe UTXO’s vertegenwoordigen het geld dat naar de ontvanger(s) wordt gestuurd en vaak ook het “wisselgeld” dat naar jou terugkomt. Om een transactie geldig te laten zijn, moet de totale waarde van de inputs gelijk zijn aan of groter zijn dan de totale waarde van de outputs plus eventuele transactiekosten die aan netwerkvalidators (miners) worden betaald.

Waarom creëren mijn cryptotransacties soms ‘wisselgeld’?

Heb je ooit een koffie van €4 betaald met een briefje van €10 en €6 teruggekregen? Het UTXO-model werkt op een vergelijkbare manier. Als je een UTXO bezit ter waarde van, zeg, 0,5 Bitcoin, maar je wilt slechts 0,1 Bitcoin naar iemand sturen, kun je niet zomaar een stukje van die UTXO “afbreken”.

In plaats daarvan gebruikt je transactie de volledige 0,5 BTC UTXO als input. Het creëert vervolgens twee nieuwe outputs: één UTXO ter waarde van 0,1 BTC die naar het adres van de ontvanger wordt gestuurd, en een andere UTXO ter waarde van iets minder dan 0,4 BTC (de oorspronkelijke 0,5 BTC min de 0,1 BTC die is verzonden, min een kleine transactiekost) die wordt teruggestuurd naar een nieuw wisselgeldadres dat jij beheert. Je wallet-software handelt dit proces meestal automatisch af en creëert een nieuw adres voor het wisselgeld om je privacy te verbeteren.

Tip

Het is een goede gewoonte om je wallet elke keer een nieuw adres voor wisselgeld te laten genereren. Dit maakt het voor waarnemers moeilijker om al je transacties aan elkaar te koppelen door alleen naar de openbare blockchain te kijken.

Waar komt mijn ‘saldo’ in de wallet vandaan als het allemaal UTXO’s zijn?

Als Bitcoin geen enkel saldonummer opslaat, hoe laat je crypto-wallet dan zien hoeveel je bezit? Je wallet-software doet hier het zware werk. Het bewaart je privésleutels, die je controle geven over je adressen op de blockchain.

De wallet scant continu het openbare blockchain-grootboek en identificeert alle UTXO’s die zijn gekoppeld aan de adressen die door jouw sleutels worden beheerd. Vervolgens telt het de waarde van al deze individuele, ongebruikte stukjes cryptovaluta bij elkaar op. De totale som die het berekent, is het “saldo” dat je ziet weergegeven in je wallet-interface. Onthoud dat de wallet de sleutels bevat om je geld te beheren; de daadwerkelijke UTXO’s die je geld vertegenwoordigen, bestaan openbaar op het gedistribueerde blockchain-grootboek.

Hoe kan ik UTXO’s op de blockchain zien?

Je kunt een kijkje nemen onder de motorkap van op UTXO gebaseerde blockchains met behulp van tools die blockchain explorers worden genoemd. Deze websites stellen iedereen in staat om het openbare register van transacties te bekijken. Hoewel ze misschien niet expliciet “jouw UTXO’s” netjes op een rijtje zetten (aangezien ze niet weten wie jij bent), kun je individuele transacties onderzoeken.

Door een transactie-ID of een openbaar adres op te zoeken, kun je de inputs zien (welke UTXO’s zijn uitgegeven) en de outputs (welke nieuwe UTXO’s zijn gecreëerd). Deze outputs vertegenwoordigen potentiële UTXO’s. Als je je openbare adressen kent, kun je transacties traceren die ermee te maken hebben en de resulterende ongebruikte outputs identificeren. Dit benadrukt de openbare maar pseudonieme aard van deze blockchains – de gegevens zijn openbaar, maar het koppelen van adressen aan echte identiteiten vereist externe informatie.

Wat zijn de belangrijkste verschillen tussen het UTXO- en het Account-model?

Cryptovaluta’s houden eigendom voornamelijk op twee manieren bij: het UTXO-model en het Account-model. Het begrijpen van het verschil helpt te verduidelijken hoe verschillende crypto’s werken.

Het UTXO-model, gebruikt door Bitcoin, Litecoin en anderen, vertegenwoordigt de staat van het systeem als een verzameling afzonderlijke, besteedbare outputs (zoals digitaal contant geld). Het verifiëren van transacties omvat het controleren of de inputs (UTXO’s die worden uitgegeven) geldig en ongebruikt zijn.

Het Account-model, gebruikt door Ethereum, Solana en vergelijkbare platforms, functioneert meer als een bankgrootboek. Het onderhoudt accounts met saldi die direct toenemen of afnemen bij transacties. Verificatie richt zich op het waarborgen dat het verzendende account voldoende saldo heeft en het bijwerken van de staat van de betrokken accounts. Hoewel het Account-model vaak als eenvoudiger wordt beschouwd voor complexe slimme contracten, kan het UTXO-model mogelijk voordelen bieden op het gebied van transactieparallellisme en bepaalde privacytechnieken. De ontwikkeling van eUTXO heeft tot doel meer programmeerbaarheid naar het UTXO-framework te brengen.

Wat zijn de voordelen van het gebruik van het UTXO-model?

Het UTXO-model is niet willekeurig gekozen door de maker(s) van Bitcoin; het biedt verschillende potentiële voordelen die aansluiten bij de doelen van gedecentraliseerde digitale valuta.

Een belangrijk voordeel is het potentieel voor verbeterde privacy. Door het gebruik van nieuwe adressen voor wisselgeld aan te moedigen, wordt het moeilijker om de geldstroom tussen transacties te traceren in vergelijking met het hergebruiken van één enkel accountadres. Vanuit een veiligheidsperspectief maakt het duidelijke onderscheid tussen uitgegeven en ongebruikte outputs het verifiëren van de geldigheid van transacties eenvoudig en helpt het het kritieke probleem van dubbel uitgeven (double-spending) te voorkomen. Elke UTXO kan slechts één keer worden uitgegeven.

Bovendien kan de onafhankelijkheid van UTXO’s bijdragen aan schaalbaarheid. Aangezien het verifiëren van één transactie niet noodzakelijkerwijs afhankelijk is van de staat van niet-gerelateerde accounts, kunnen meerdere transacties mogelijk gemakkelijker parallel worden verwerkt en geverifieerd. Filosofisch gezien zien sommigen het UTXO-model als meer in lijn met decentralisatie, aangezien de systeemstatus wordt gedefinieerd door gedistribueerde transactie-outputs in plaats van gecentraliseerde-stijl rekeningsaldi.

Hoe helpen UTXO’s diefstal van Bitcoin of dubbel uitgeven te voorkomen?

De kernveiligheid van op UTXO gebaseerde systemen zoals Bitcoin leunt zwaar op hoe deze outputs worden beheerd. Elke UTXO is uniek en kan slechts één keer worden uitgegeven. Wanneer een nieuwe transactie naar het netwerk wordt verzonden, voeren nodes (computers die het netwerk onderhouden) verschillende controles uit.

Cruciaal is dat ze verifiëren dat de UTXO’s die als inputs voor de transactie worden vermeld, inderdaad momenteel ongebruikt zijn volgens het blockchain-register. Als een UTXO al is uitgegeven in een eerdere bevestigde transactie, wordt elke nieuwe transactie die probeert deze opnieuw uit te geven, afgewezen. Dit is de fundamentele verdediging tegen dubbel uitgeven.

Bovendien vereist het uitgeven van een UTXO het verstrekken van een geldige digitale handtekening die is gegenereerd met behulp van de privésleutel die is gekoppeld aan het adres dat die UTXO bezit. Dit bewijst eigendom en autoriseert de overdracht. Zonder de juiste privésleutel kan de UTXO niet worden uitgegeven, wat ongeautoriseerde toegang of diefstal voorkomt (ervan uitgaande dat de privésleutel zelf veilig blijft).

Important

Het beschermen van je privésleutels is van het grootste belang. Als iemand toegang krijgt tot je privésleutels, kunnen ze transacties ondertekenen om je UTXO’s uit te geven, waardoor ze effectief je cryptovaluta stelen.

Zijn mijn transacties privé bij gebruik van UTXO’s?

Het is cruciaal om te begrijpen dat blockchains zoals Bitcoin pseudoniem zijn, niet volledig anoniem. Alle transacties, inclusief de verzendende en ontvangende adressen en de bedragen, worden openbaar en permanent vastgelegd in het blockchain-grootboek, zodat iedereen ze kan zien.

Deze openbare adressen zijn echter reeksen tekens die niet direct zijn gekoppeld aan je echte identiteit, tenzij je die connectie op de een of andere manier blootlegt (bijv. via een exchange die KYC - Know Your Customer - verificatie vereist, of door je adres openbaar te posten). Het UTXO-model helpt enigszins bij privacy omdat het creëren van nieuwe adressen voor het ontvangen van betalingen en wisselgeld het moeilijker maakt om meerdere transacties definitief aan één enkele entiteit te koppelen, puur door de blockchain te observeren.

Omgekeerd verzwakt het hergebruiken van hetzelfde adres voor meerdere transacties de privacy aanzienlijk, omdat waarnemers dan gemakkelijk alle activiteit die aan dat adres is gekoppeld, kunnen verbinden. Geavanceerde blockchain-analysetechnieken kunnen soms ook adressen clusteren en mogelijk pseudonieme activiteit koppelen aan echte identiteiten.

Caution

Ga nooit uit van volledige anonimiteit op een openbare blockchain. Neem proactieve stappen, zoals het gebruik van nieuwe adressen voor elke transactie, om je pseudonymiteit te vergroten.

Zijn er nadelen of uitdagingen met UTXO’s?

Hoewel het UTXO-model voordelen biedt, brengt het ook enkele uitdagingen en potentiële nadelen met zich mee. Voor nieuwkomers kan het minder intuïtief zijn dan het bekende account/saldo-model dat door banken en sommige andere cryptovaluta’s zoals Ethereum wordt gebruikt. Het idee van het beheren van afzonderlijke stukjes geld in plaats van een eenvoudig saldo vereist een mentale omschakeling.

Een andere technische uitdaging is het potentieel voor “blockchain bloat”. Naarmate er meer transacties plaatsvinden, groeit de totale set van ongebruikte UTXO’s, wat meer opslagruimte en rekenkracht vereist voor nodes die het netwerk beheren om ze allemaal bij te houden. Dit kan ook leiden tot het “dust”-probleem, waarbij gebruikers talloze UTXO’s met minuscule waarden verzamelen. Het uitgeven van deze dust-UTXO’s kan meer kosten aan transactiekosten dan de UTXO’s zelf waard zijn, waardoor ze effectief onbestedeerbaar worden.

Tot slot kan het programmeren van complexe slimme contracten (geautomatiseerde overeenkomsten die op de blockchain worden uitgevoerd), hoewel mogelijk, soms complexer zijn op traditionele UTXO-ketens in vergelijking met op accounts gebaseerde modellen, hoewel innovaties zoals eUTXO deze beperking actief aanpakken.

Hoe worden transactiekosten bepaald met UTXO’s?

Een veel voorkomende misvatting is dat crypto-transactiekosten gebaseerd zijn op het bedrag dat wordt verzonden. In op UTXO gebaseerde systemen zoals Bitcoin is dit over het algemeen niet waar. Kosten worden voornamelijk bepaald door de data-omvang van je transactie, gemeten in bytes of virtuele bytes (vBytes).

Waarom is de omvang belangrijk? Je transactie bevat data voor inputs (de UTXO’s die je uitgeeft), outputs (de nieuwe UTXO’s die worden gecreëerd) en handtekeningen. Een transactie die veel kleine UTXO’s als inputs uitgeeft, zal groter zijn in data-omvang dan een transactie die dezelfde totale waarde verzendt maar slechts één grote UTXO als input gebruikt.

Tijdens perioden van hoge netwerkactiviteit (congestie) wordt de ruimte in nieuwe blokken op de blockchain schaars. Gebruikers concurreren om hun transacties opgenomen te krijgen door kosten aan te bieden. Grotere transacties nemen meer blokruimte in beslag en vereisen dus doorgaans hogere totale kosten. Jij (of je wallet-software) stelt meestal een tarief per fee in (bijv. satoshi’s per byte) om miners/validators te stimuleren. Dit betekent dat het verzenden van 1 BTC verschillende kosten kan hebben, afhankelijk van hoe gefragmenteerd je bezittingen (UTXO’s) zijn.

Note

Het samenvoegen van veel kleine UTXO’s tot een grotere tijdens perioden van lage netwerkkosten kan je soms geld besparen op toekomstige transactiekosten.

Welke cryptovaluta’s gebruiken het UTXO-model?

Het begrijpen van UTXO’s is waardevol omdat dit model ten grondslag ligt aan veel belangrijke cryptovaluta’s, inclusief de allereerste. Het meest prominente voorbeeld is Bitcoin (BTC). Andere bekende cryptovaluta’s die het UTXO-model gebruiken, zijn onder meer:

  • Litecoin (LTC)
  • Bitcoin Cash (BCH)
  • Dogecoin (DOGE)
  • Zcash (ZEC) (die hier privacyfuncties aan toevoegt)

Het is ook de moeite waard om Cardano (ADA) te noemen, dat een verbeterde versie gebruikt, genaamd het eUTXO (Extended UTXO) model.

Dit staat in contrast met cryptovaluta’s die het account/saldo-model gebruiken, zoals Ethereum (ETH) en zijn vele Layer 2-oplossingen, Solana (SOL), en de Avalanche C-Chain (AVAX). Weten welk model een cryptovaluta gebruikt, helpt bij het begrijpen van de fundamentele mechanismen voor transactieverwerking en statusbeheer.

Is het UTXO-model in de loop der tijd verbeterd?

Ja, het oorspronkelijke UTXO-model dat voor Bitcoin is bedacht, heeft innovatie gezien. Een opmerkelijke vooruitgang is het Extended UTXO (eUTXO)-model, beroemd geïmplementeerd door Cardano (ADA).

Het kernidee achter eUTXO is om de sterke punten van het traditionele UTXO-model – de inherente veiligheidseigenschappen, het potentieel voor parallellisme en duidelijke transactievalidatie – te combineren met de verbeterde programmeerbaarheid die vaak wordt geassocieerd met het account-model. Simpel gezegd stelt eUTXO toe dat complexere data en logica (scripts) direct aan de UTXO’s zelf worden gekoppeld.

Dit maakt het mogelijk om meer geavanceerde slimme contracten rechtstreeks binnen het UTXO-framework te creëren, zonder afhankelijk te zijn van een globale, gedeelde staat zoals bij op accounts gebaseerde systemen. Het vertegenwoordigt een evolutie die gericht is op het overwinnen van enkele waargenomen beperkingen van het oorspronkelijke UTXO-ontwerp, met name voor het bouwen van complexe gedecentraliseerde applicaties (dApps).

Wat moet ik onthouden over UTXO’s?

Beschouw UTXO’s (Unspent Transaction Outputs) als de fundamentele bouwstenen van eigendom in cryptovaluta’s zoals Bitcoin. Ze zijn niet zoals je banksaldo; ze functioneren meer als individuele digitale munten of bankbiljetten die specifieke hoeveelheden cryptovaluta vertegenwoordigen die je hebt ontvangen en nog niet hebt uitgegeven.

Wanneer je een transactie doet, verbruik je bestaande UTXO’s als inputs en creëer je nieuwe als outputs voor de ontvanger en mogelijk als wisselgeld terug naar jezelf. Je wallet berekent je totale saldo door alle UTXO’s te vinden en op te tellen die gekoppeld zijn aan de adressen die jouw privésleutels beheren. Het begrijpen van dit mechanisme is essentieel om te bevatten hoe transacties worden verwerkt, hoe beveiliging zoals het voorkomen van dubbel uitgeven werkt, en waarom zaken als transactiekosten en privacy functioneren zoals ze doen op deze blockchains.

Important

De hier gepresenteerde informatie is uitsluitend bedoeld voor educatieve doeleinden om u te helpen cryptocurrency-concepten te begrijpen. Het is geen financieel, investerings-, juridisch of fiscaal advies. Voer altijd uw eigen grondige onderzoek uit (DYOR - Doe Je Eigen Onderzoek) en raadpleeg gekwalificeerde professionals voordat u financiële beslissingen neemt met betrekking tot cryptovaluta’s.