Hva er en uforbrukt Bitcoin-transaksjonsutgang (UTXO)?

Av Kraken Learn team
10 min
20. november 2024

Ny­begynnerguiden til Bitcoins UTXO-modell 📕

Uspent transaksjonsutgang (UTXO) er teknikken Bitcoin-protokollen bruker for å spore saldoer når de flyttes mellom kryptolommebøker.

Når det gjelder sporing og administrasjon av individuelle kryptosaldoer, bruker blokkjede-baserte protokoller vanligvis en av to forskjellige regnskapsmodeller.

Én kalles konto-/saldomodellen. Prosjekter som Ethereum, Tezos og EOS bruker denne modellen for å spore saldoer når blokkjede-brukere utfører transaksjoner. Den andre kalles Unspent Transaction Output (UTXO)-modellen. 

Bitcoin og mange andre kryptovalutaer som Litecoin, Cardano og Dogecoin bruker UTXO-modellen. 

Men hva er det egentlig, hvordan fungerer det, og hva er fordelene med UTXO sammenlignet med konto-/saldomodellen?

BTC icon
$64 086.00
+0,52 %
24 timer
btc

Forstå UTXO-modellen 💻

Historie

Adam Back og avdøde Hal Finney var to medlemmer av Cypherpunk kryptografi-gruppen som forfatteren av bitcoins hvitbok, Satoshi Nakamoto, frekventerte. De to krediteres for å ha utviklet UTXO-modellen uavhengig av hverandre mellom 1997 og 2004.

Da Bitcoins skaper Satoshi Nakamoto lanserte protokollen i 2009, ble det det første operasjonelle digitale valutasystemet som implementerte UTXO-modellen.

Både Hal Finney og Adam Back har lenge vært mistenkt for å være Satoshi Nakamoto, selv om det aldri har blitt bevist med sikkerhet.

UTXO i et nøtteskall

Når du sender bitcoin til noen, skjer flere trinn programmatisk. Et av de tidligste trinnene i transaksjonsprosessen er at din kryptovaluta-lommebok skanner blokkjeden for å finne hvor mye penger du har. Disse midlene er kjent som uforbrukte transaksjonsutganger (UTXOer).

Du kan tenke på UTXOer som vekslepenger fra tidligere bitcoin-transaksjoner.

Midlene regnes som “uforbrukte” fordi de er fritt tilgjengelige for deg å sende til noen eller flytte til en annen lommebok. De kalles “transaksjonsutganger” fordi de ble opprettet fra tidligere transaksjoner.

Hvis du bruker $12 på lunsj med en $20-seddel, ville du hatt en $8-seddel til overs. I dette eksemplet ville den gjenværende $8 vært en uforbrukt transaksjonsutgang. Den ville gått tilbake i lommeboken din, klar til å bli brukt til å kjøpe noe annet.

Dette er nøyaktig hvordan bitcoin UTXOer fungerer. Når du utfører en transaksjon, brukes utganger fra tidligere bitcoin-transaksjoner, det vil si dine løse bitcoin-vekslepenger, som innganger for nye transaksjoner.

En annen viktig sammenligning mellom fysiske kontanttransaksjoner og UTXOer er at begge må brukes i sin helhet og kan ikke deles opp. Hvis du har en 5 bitcoin UTXO og vil sende noen 1 BTC, må du sende hele UTXOen verdt 5 bitcoin og motta en ny UTXO tilbake verdt 4 BTC minus eventuelle gebyrer. 

Akkurat som i eksemplet ovenfor der du leverer en hel $20-seddel for å betale for en lunsj til $10.

Når en UTXO er brukt, anses den som “forbrukt” og fjernes teknisk sett fra sirkulasjon. 

Eventuelle vekslepenger genereres som en helt ny UTXO. Denne delen av UTXO-systemet er hvordan Bitcoin løser problemet med dobbeltsignering

Akkurat som du ikke fysisk kan gi en butikkeier en $5-seddel og deretter gi den samme $5-seddelen til noen andre, kan en bitcoin-bruker ikke bruke den samme uforbrukte transaksjonsutgangen i to separate digitale transaksjoner.

Når en person prøver å bruke den samme UTXOen to ganger, havner de to transaksjonene i en mempool — et slags venterom for ventende transaksjoner. De forblir der til vellykkede minere som vinner proof-of-work-konkurransen, samler dem i nye blokker.

Du kan lære mer om denne prosessen i vår Kraken læresenter-artikkel Hva er bitcoin-utvinning?

Selv om begge transaksjonene samles i to separate blokker og behandles samtidig, ville en av transaksjonene bli bekreftet før den andre på grunn av tidsstempling. Etter at et antall bekreftelser hadde passert (nye blokker lagt til blokkjeden), ville andre noder flagge den andre ugyldige transaksjonen og avvise den.

Coinbase-transaksjoner

Den eneste gangen en bitcoin-transaksjon ikke har innganger, er når nylig utvunnet BTC opprettes fra utvinning.

Kjent som en coinbase-transaksjon, representerer dette den første transaksjonen i hver nye blokk.

Hver satoshi (underenhetene av bitcoin) i sirkulasjon kan spores tilbake ved hjelp av det transparente blokkjede-regnskapet til deres respektive coinbase-transaksjon.

Låse- og opplåsingsskript 🔒

Når UTXOer opprettes, låses de ved hjelp av mottakerens offentlige lommebokadresse. For å kunne bruke denne UTXOen som et input i en ny transaksjon, må den først låses opp ved hjelp av avsenderens digitale signatur.

Dette er en annen viktig ting å forstå om Bitcoin-transaksjoner. Når en transaksjon utføres, flyttes ikke Bitcoin digitalt fra én konto til en annen. I stedet låses de opp, tildeles en ny eier og låses deretter på nytt.

Dette betyr at kun den nye eieren kan låse opp midlene ved hjelp av sin digitale signatur og overføre dem andre steder; til en annen person eller til en annen lommebok under deres kontroll.

Script er et programmeringsspråk som brukes av Bitcoin for å behandle transaksjoner, inkludert låsing og opplåsing av UTXOer. 

  • Låseskript (ScriptPubKey): Når en UTXO er låst, fastsetter låseskriptet (kjent som ScriptPubKey) betingelser som må oppfylles før UTXOen kan brukes som et input. Dette innebærer vanligvis å bevise at du eier den private nøkkelen som korresponderer med den offentlige lommebokadressen som ble brukt til å låse UTXOen, ved å oppgi en digital signatur.
  • Opplåsingsskript (ScriptSig): For å låse opp en UTXO, må du oppfylle betingelsene satt av låseskriptet, dvs. oppgi en digital signatur som beviser at du kontrollerer de private nøklene som korresponderer med den offentlige nøkkelen som ble brukt til å låse UTXOen.

Dette hindrer alle andre i å få tilgang til og bruke disse midlene.

UTXO-er under panseret 🚗

På et mer teknisk nivå er det fire hoveddeler i en transaksjon:

  • Versjon: Dette informerer nettverksnoder om hvilken versjon av klientprogramvaren som brukes. Ulike versjoner følger forskjellige regler for verifisering av transaksjonsdata.
  • Låsetid: Dette er tidsmengden som bestemmer hvor raskt en transaksjon legges til blokkjeden. Dette inputet dikterer hva det tidligst mulige tidspunktet er for at transaksjonen skal behandles av mining-noder.
  • Input: Informasjon som peker til kilden til midler eller tidligere transaksjon der UTXO-en ble produsert. Inputet inneholder også noe som kalles “opplåsingsskriptet”.
  • Output: Informasjon angående verdien som overføres, lommeboken der eierskapet til midler tildeles på nytt og nye UTXO-er dannes. Outputet inneholder også et “låseskript”.

Hvorfor bruker Bitcoin UTXO-modellen?

Saldo på konto

For å identifisere en brukers saldo, også kjent som et UTXO-sett, skanner programvare for kryptolommebok blokkjeden for å finne alle UTXOer tilknyttet den tilhørende offentlige lommebokadressen.

Den totale summen av alle UTXOer gir en nøyaktig oversikt over hvor mye krypto en lommebokseier kontrollerer.

Når en UTXO er brukt, tilordnes mottakerens offentlige lommebokadresse beløpet, og en ny UTXO registreres på blokkjeden når den er utført.

Lagring

Bitcoin UTXO-er registreres i ulike transaksjoner som lagres i blokker på Bitcoin blokkjeden. Denne informasjonen er imidlertid ikke tydelig indeksert, noe som gjør det vanskelig å søke etter og samle metadata raskt. 

Når man bruker lommebokprogramvare som Bitcoin Core-klienten, lagres og indekseres UTXO-metadata ved hjelp av en LevelDB-database. LevelDB er et åpen kildekode-lagringssystem opprettet av Google i 2011 og gjør det mye raskere å lokalisere UTXO-er.

Bitcoin Core-klienten er en populær programvare som brukes til å koble til Bitcoin blokkjede-nettverket. Bitcoin Core ble opprinnelig opprettet av Satoshi Nakamoto, og vedlikeholdes nå av et fellesskap av frivillige utviklere.

Hvordan UTXO-er skiller seg fra fysiske kontanter

Hovedforskjellene mellom analogien med fysiske sedler og UTXO-modellen er at bitcoin og andre UTXO-baserte kryptoaktiva ikke er bundet av faste beløp, dvs. 5 $, 10 $, 15 $, osv. Ethvert beløp bitcoin (opptil åtte desimaler) kan være en ubrukt transaksjonsoutput. 

For eksempel kan du ha 0,0003847 BTC igjen fra en transaksjon.

Dette beløpet ville bli en ny UTXO som må brukes i sin helhet hvis det brukes, og kan ikke deles opp i mindre beløp.

La oss si at John har en kryptolommebok-saldo på 1 bitcoin. Hans saldo og sammensetningen av den saldoen er to forskjellige ting, omtrent på samme måte som du kanskje har 100 $ i lommeboken din, men det kan bestå av fire 20 $-sedler, to 5 $-sedler og én 10 $-seddel.

La oss si at sammensetningen av Johns 1 BTC-saldo består av 5 forskjellige ubrukte transaksjonsoutputer.

  • 0.138 BTC
  • 0.1 BTC
  • 0.004 BTC
  • 0.73 BTC
  • 0.028 BTC

John ønsker å sende 0,6 BTC til Jane. For å gjøre dette vil Johns lommebokprogramvare automatisk gruppere sammen et hvilket som helst antall UTXO-er han kontrollerer for å dekke denne transaksjonen pluss eventuelle miner-gebyrer som er involvert for å behandle den.

I dette eksemplet, la oss si at hans lommebokprogramvare automatisk sender over Johns bitcoin UTXO verdt 0,73 BTC til Jane og returnerer det resterende beløpet minus transaksjonsgebyrer til John som en ny UTXO.

Dette beløpet sendes automatisk til en vekslingsadresse; en separat adresse koblet til din kryptolommebok.

Hva er Bitcoin dust?

Bitcoin dust refererer til UTXOer som inneholder ørsmå mengder satoshis til overs fra tidligere transaksjoner.

På egen hånd ville disse ørsmå mengdene BTC koste mer i transaksjonsgebyrer å behandle enn de var verdt, og derfor ligger de ofte i vekseladresser og venter på å bli samlet med andre UTXOer og brukt.

Hva er et dusting-angrep?

Dusting-angrep refererer til svindlere som sender ut dust til hundretusenvis av ulike lommebokadresser. Tanken bak det er å fastslå potensielle mål for sosial manipulering.

En svindler vil overvåke adresser som inneholder dust de har sendt, og venter på at eieren skal gjøre en transaksjon som samler UTXOer fra ulike adresser knyttet til lommeboken deres. Fordi dust-UTXOer er så små, er det en god sjanse for at de vil bli gruppert sammen med andre og brukt som inputs.

Når dette skjer, kan svindleren få en idé om hvilke midler en person har. De kan da velge å integrere phishing-meldinger i transaksjoner som inviterer eieren til å klikke på en lenke som laster ned skadelig programvare, eller besøke falske nettsteder som etterligner legitime landingssider og ber om personlig informasjon.

Hvor farlige er Bitcoin dusting-angrep?

Dusting-angrep gir ikke svindlere tilgang til midlene dine.

De tjener kun til å snevre inn hvilke adresser som kontrolleres av en bestemt kryptolommebok.

For å minimere risikoen for dusting-angrep er det best å aldri klikke på lenker eller besøke nettsteder som er knyttet til dust-transaksjoner.

Begynn å kjøpe Bitcoin

Nå som du har lært alt om modellen for uforbrukt transaksjonsutgang, er du klar til å fortsette kryptoreisen din og kjøpe Bitcoin?

Sjekk ut vår Kraken Learn Center-guide for mer informasjon om hvordan du kjøper Bitcoin (BTC) og registrer deg for en konto hos Kraken i dag.

Noe av innholdet på denne siden kan ha blitt oversatt ved hjelp av AI