Niet-bestede transactie-uitvoer: complete beginnershandleiding voor UTXO

Bij het verzenden / ontvangen van Bitcoin heb je misschien de term ‘Unspent Transaction Output’ of het acroniem UTXO gezien en vroeg je je af wat het in vredesnaam is?

In feite is het uw wijziging ten opzichte van een Bitcoin- of andere cryptocurrency-transactie.

In dit bericht zal ik je alles geven wat je moet weten over niet-bestede transactie-outputs en hoe je deze kunt gebruiken om de blockchain te lezen.

Maar eerst, om een ​​beter begrip te krijgen van UTXO en hoe het werkt, is hier een voorbeeld van een cryptocurrency-transactie, waarbij de bekendste Bitcoin als crypto wordt gebruikt.

UTXO-voorbeeld

Als u een Bitcoin bezit, ziet u het exacte saldo wanneer u in uw portemonnee kijkt. Het saldo dat u ziet, kan echter uit verschillende UTXO’s bestaan. Stel dat uw bitcoin-saldo 10 BTC is.

Dat kunnen 5 UTXO’s zijn die elk 2 BTC waard zijn, of het kunnen 10 UTXO’s zijn die elk 1 BTC waard zijn, of het kunnen vier UTXO’s zijn met waarden van 3,5 BTC, 2,5 BTC, 2,25 BTC en 1,75 BTC. De bedragen van elke UTXO zijn niet relevant, maar ze moeten optellen bij uw totale saldo, in dit geval 10 BTC.

Laten we nu zeggen dat u winkelt op Amazon en dat u uw BTC-saldo gebruikt om te betalen (hypothetische toekomstige Amazon Bitcoin-aankoop). Uw totaal komt op 0,25 BTC, maar u heeft geen UTXO van 0,25 BTC in uw portemonnee en het is niet mogelijk om UTXO’s te splitsen.

UTXO Voorbeeld Bitcoin

Voorbeeld van een Bitcoin-transactie met niet-bestede output. Afbeeldingen van Shutterstock en Amazon

In plaats daarvan stuurt de portemonnee de 1.75 BTC UTXO en het Bitcoin-netwerk neemt dat en slaat twee nieuwe UTXO’s. De ene wordt gewaardeerd op 0,25 BTC en gaat naar de Amazon-ontvangende portemonnee, en de andere wordt gewaardeerd op 1,5 BTC en keert terug naar uw portemonnee als wisselgeld.

Misschien heeft uw portemonnee een aantal van 0,1 BTC UTXO’s. Het zou ook mogelijk zijn om drie van deze UTXO’s te combineren en 0,05 BTC als wisselgeld te ontvangen. In principe kan elke transactie elke combinatie van UTXO’s gebruiken, maar u kunt niet bepalen welke worden gebruikt.

Dat komt omdat uw portemonnee beslist welke UTXO voor elke transactie moet worden gebruikt, en elke wijziging automatisch terugstuurt naar uw eigen portemonnee. Dit is eigenlijk een goede zaak, want in het verleden moest u aangeven waar uw UTXO-wijziging moest worden afgeleverd.

Als u het adres van uw portemonnee verkeerd heeft getypt, kan uw wijziging ergens anders naartoe worden gestuurd en heeft u pech.

Hoe worden transactiekosten verwerkt?

De transactiekosten worden feitelijk afgetrokken van de UTXO die als wisselgeld naar u wordt teruggestuurd. Dus in het bovenstaande voorbeeld zou de 1.5 BTC UTXO die naar u is teruggestuurd, eigenlijk iets kleiner zijn omdat de transactiekosten van deze UTXO worden afgetrokken.

Praktische voorbeelden

Het belangrijkste aspect voor jou is natuurlijk het gebruik van de UTXO-gegevens op de blockchain. Voordat u dit kunt doen, moet u uw favoriete blockchain-expolorer kiezen.

Zodra u uw blokverkenner heeft, kunt u dieper ingaan op elke transactie die u hebt verzonden of die u wilt ontvangen. Het onderstaande is bijvoorbeeld een transactie van $ 36.

UTXO Blockchain.com

Voorbeeld van UTXO, uitgegeven & niet-bestede transacties op blockchain.com

Zoals u kunt zien, is de totale invoer voor de transactie $ 45,19. Er zijn twee outputs: de $ 36,13 uitgegeven output (die naar de 1MfLb95r8jUMBbYjh3cJFGs5oLn4nP8w98 gaat) en de $ 9,02 onbestede output die teruggestuurd wordt naar de afzender.

U vraagt ​​zich misschien af ​​waarom het niet-bestede bedrag teruggaat naar een nieuw adres?

Dit komt doordat de niet-bestede transactie-output wordt verzonden naar wat de “adres wijzigen​Dit is een nieuw adres dat door de wallets voor de afzender wordt aangemaakt.

Zoals hierboven vermeld, worden de transactiekosten afgetrokken van het niet-uitgegeven transactiebedrag dat naar u wordt verzonden. Dus in werkelijkheid heeft elke transactie twee transacties.

Tegenwoordig kunnen de moderne Hierarchical Deterministic (HD) wallets deze transacties afhandelen en automatisch het wijzigingsadres genereren. Daarom zult u soms zien dat er elke keer dat u een transactie start een nieuw adres wordt gegenereerd.

Dit is een functie die in deze HD-portefeuilles is ingebouwd en bedoeld is om uw privacy te waarborgen. Dus de volgende keer dat u merkt dat uw adres verandert, weet u dat dit te maken heeft met een nieuwe UTXO die op uw veranderingsadres komt.

Het belang van het UTXO-concept

Het concept van UTXO’s heeft de boekhouding op de blockchain drastisch vereenvoudigd. In plaats van elke afzonderlijke transactie die ooit is gemaakt bij te houden en op te slaan, hoeft elk knooppunt met het gebruik van UTXO’s alleen informatie over niet-uitgegeven munten of UTXO’s bij te houden..

Bitcoin UTXO-model

Hoe het Bitcoin-netwerk transacties bijhoudt. Afbeelding via bitcoin.org

Dit werkt omdat het netwerk van Bitcoin toestaat dat elke munt één keer kan worden uitgegeven. Dat betekent dat elke BTC die in een portemonnee zit, niet is uitgegeven omdat deze is ontvangen als een mijnbeloning of omdat deze tijdens een transactie is geslagen als wisselgeld.

Het concept van UTXO’s is cruciaal om dubbele uitgaven aan de blockchain te voorkomen, en ze voorkomen ook dat gebruikers niet-bestaande munten uitgeven. Elk netwerkknooppunt onderhoudt een database met alle bestaande UTXO’s. Dit betekent dat elke transactie die wordt verzonden met een munt die niet in de database staat, door de knooppunten wordt geweigerd.

Mogelijke problemen met de opslag van knooppunten

De volledige UTXO-database wordt in het RAM opgeslagen, wat het cruciaal maakt om de dataset beheersbaar te houden. Hoe groter de database wordt, hoe duurder het is om een ​​volledig knooppunt te draaien. En als het te duur wordt om een ​​volledig knooppunt te runnen, zal het netwerk een toenemende centralisatie zien onder de rijke minderheid die het zich kan veroorloven om een ​​knooppunt te runnen.

In feite is het dit risico van centralisatie dat Bitcoin-ontwikkelaars ervan heeft weerhouden de blokgrootte te vergroten. Door de blokgrootte op 1Mb te houden, wordt de groei van de database beperkt, aangezien er een beperkt aantal transacties is en een beperkte UTXO-set. Als de blokgrootte zou worden verhoogd, zou de UTXO-set overeenkomstig snel groeien en zou het duurder worden om een ​​volledig knooppunt te draaien.

Bitcoin UTXO-groei

Groei van UTXO’s op de Bitcoin-blockchain sinds de oprichting. Afbeelding via blockchain.com

Dat gezegd hebbende, zal het nodig zijn om de blokgrootte van Bitcoin te vergroten om schaaloplossingen voor de tweede laag mogelijk te maken. Maar er zijn andere veranderingen die kunnen worden aangebracht om de impact van een toenemende UTXO-setgrootte te minimaliseren.

Node Storage-oplossingen

Zoals hierboven vermeld, zijn er oplossingen voor het opslagprobleem van knooppunten naarmate de UTXO-gegevensset groter wordt. De eerste oplossing is om een ​​deel van de dataset op een harde schijf op te slaan in plaats van in RAM.

Dit vergroot de opslagcapaciteit aanzienlijk, hoewel de lage snelheid van opslag op de harde schijf leidt tot een langzamere validatie van transacties. Maar zolang de validatietijden onder de gemiddelde bloktijd van tien minuten worden gehouden, is deze oplossing acceptabel.

Bovendien blijft het ontwikkelingsteam van Bitcoin verbeteringen aanbrengen om de UTXO-database te optimaliseren. Plus Segregated Witness en andere schaaloplossingen vertragen eigenlijk indirect de groei van de UTXO-dataset.

Een manier waarop Segwit het UTXO-probleem verbetert, is door handtekeninggegevens 75% goedkoper te maken. Dat is belangrijk omdat handtekeninggegevens geen invloed hebben op de grootte van de UTXO-dataset, en door het aanzienlijk goedkoper te maken, zullen gebruikers worden gestimuleerd om transacties te gebruiken die de UTXO-dataset niet groter maken.

Het moedigt ontwikkelaars ook aan om slimme contracten en andere nieuwe functies te ontwerpen op manieren die geen invloed hebben op de UTXO-datasetgrootte.

Gevolgtrekking

Hoewel ik Bitcoin heb gebruikt voor mijn bespreking van UTXO, is het niet de enige blockchain die gebruikmaakt van UTXO’s. Andere cryptocurrencies die de UTXO-methode gebruiken, zijn Litecoin en Bitcoin Cash.

We kunnen ook veel cryptocurrencies vinden met behulp van andere boekhoudmethoden, zoals Ethereum. Het heeft een accountgebaseerd transactiemodel dat geen UTXO’s gebruikt. En deze methode biedt het Ethereum-netwerk een eenvoudigere codebasis en betere ruimtebesparende maatregelen.

Er zijn echter afwegingen. Een daarvan is tot op zekere hoogte een verlies van transactieprivacy en er zijn potentiële schaalbaarheidsproblemen later in het leven van de blockchain.

Aan het eind van de dag werkt de UTXO-boekhoudmethode voor Bitcoin en andere cryptocurrencies. Boekhoudmethoden zijn eigenlijk een heel belangrijk en veelbesproken onderwerp onder blockchain-ontwikkelaars en als je tien ontwikkelaars vraagt ​​wat de beste boekhoudmethoden zijn voor blockchain-grootboeken, krijg je waarschijnlijk tien verschillende antwoorden.

Er is geen perfect antwoord op de vraag naar boekhoudmethoden, en net als het schaalbaarheidsprobleem is het voldoende complex dat er waarschijnlijk geen perfecte oplossing wordt gevonden. In plaats daarvan zullen ontwikkelaars de oplossing blijven gebruiken die het beste werkt voor hun blockchain, en in veel gevallen zal dit de UTXO-methode blijven.

Uitgelichte afbeelding via Fotolia

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me