Ce este o ieșire de tranzacție Bitcoin necheltuită (UTXO)?

De Kraken Learn team
10 min.
20 noiembrie 2024

Ghidul începătorului pentru modelul UTXO al Bitcoin 📕

Unspent transaction output (UTXO) este tehnica pe care protocolul Bitcoin o utilizează pentru a urmări soldurile pe măsură ce acestea se mută între portofelele cripto.

Când vine vorba de urmărirea și gestionarea soldurilor cripto individuale, protocoalele bazate pe blockchain utilizează de obicei unul dintre cele două modele contabile diferite.

Unul se numește modelul Cont/Sold. Proiecte precum Ethereum, Tezos și EOS utilizează acest model pentru a urmări soldurile pe măsură ce utilizatorii blockchain execută tranzacții. Celălalt se numește modelul Unspent Transaction Output (UTXO). 

Bitcoin și multe alte criptomonede precum Litecoin, Cardano și Dogecoin utilizează modelul UTXO. 

Dar ce este exact, cum funcționează și care sunt avantajele UTXO comparativ cu modelul Cont/Sold?

BTC icon
56.202.00
-2,07 %
24 de ore
btc

Înțelegerea modelului UTXO 💻

Istoric

Adam Back și regretatul Hal Finney au fost doi membri ai grupului Cypherpunk de criptografie pe care autorul documentului white paper Bitcoin, Satoshi Nakamoto, îl frecventa. Cei doi sunt creditați cu dezvoltarea independentă a modelului UTXO între 1997 și, respectiv, 2004. 

Când creatorul Bitcoin, Satoshi Nakamoto, a lansat protocolul în 2009, acesta a devenit primul sistem de monedă digitală operațional care a implementat modelul UTXO.

Atât Hal Finney, cât și Adam Back au fost mult timp suspectați că ar fi Satoshi Nakamoto, deși acest lucru nu a fost niciodată dovedit cu certitudine.

UTXO pe scurt

Când trimiți bitcoin cuiva, au loc mai mulți pași în mod programatic. Unul dintre primii pași în procesul tranzacției este ca portofelul tău de criptomonedă să scaneze blockchain-ul pentru a verifica suma de fonduri pe care o ai. Aceste fonduri sunt cunoscute ca ieșiri de tranzacție necheltuite (UTXO-uri).

Poți considera UTXO-urile ca restul rămas din tranzacțiile anterioare cu bitcoin.

Fondurile sunt considerate „necheltuite” deoarece sunt disponibile gratuit pentru tine, pentru a le trimite cuiva sau a le muta într-un alt portofel. Ele se numesc „ieșiri de tranzacție” deoarece au fost create din tranzacții anterioare.

Dacă cheltuiești 12 $ pe prânz folosind o bancnotă de 20 $, ți-ar rămâne o bancnotă de 8 $. În acest exemplu, cei 8 $ rămași ar fi o ieșire de tranzacție necheltuită. S-ar întoarce în portofelul tău, gata să fie utilizați pentru a cumpăra altceva.

Exact așa funcționează UTXO-urile bitcoin. Când efectuezi o tranzacție, ieșirile din tranzacțiile anterioare cu bitcoin, adică restul tău de bitcoin, sunt utilizate ca intrări pentru noi tranzacții.

O altă comparație cheie între tranzacțiile cu numerar fizic și UTXO-uri este că ambele trebuie să fie cheltuite integral și nu pot fi subdivizate. Dacă ai un UTXO de 5 bitcoin și vrei să trimiți cuiva 1 BTC, ar trebui să trimiți întregul UTXO în valoare de 5 bitcoin și să primești înapoi un nou UTXO în valoare de 4 BTC minus orice comisioane. 

Exact ca în exemplul de mai sus, unde dai o bancnotă întreagă de 20 $ pentru a plăti un prânz de 10 $.

Când un UTXO este cheltuit, este considerat „consumat” și este eliminat tehnic din circulație. 

Orice rest rămas este generat ca un UTXO complet nou. Această parte a sistemului UTXO este modul în care Bitcoin rezolvă problema dublei cheltuieli

Așa cum nu poți da fizic un 5 $ unui vânzător și apoi să dai același 5 $ altcuiva, un utilizator de bitcoin nu poate utiliza cu succes aceeași ieșire de tranzacție necheltuită în două tranzacții digitale separate.

Când o persoană încearcă să cheltuiască același UTXO de două ori, cele două tranzacții ajung într-un mempool — un fel de sală de așteptare pentru tranzacțiile în așteptare. Ele rămân acolo până când minerii de succes care câștigă competiția proof-of-work le ambalează în noi blocuri.

Poți afla mai multe despre acest proces în articolul din Centrul nostru de Învățare Kraken Ce este minarea de bitcoin?

Chiar dacă ambele tranzacții sunt împachetate în două blocuri separate și procesate simultan, din cauza marcării temporale, una dintre tranzacții ar fi verificată înaintea celeilalte. După ce ar fi trecut un număr de confirmări (noi blocuri adăugate la blockchain), alte noduri ar semnala a doua tranzacție ca fiind invalidă și ar respinge-o.

Tranzacții coinbase

Singura dată când o tranzacție bitcoin nu are intrări este atunci când BTC nou-mintit este creat prin minare.

Cunoscută sub numele de tranzacție coinbase, aceasta reprezintă prima tranzacție din fiecare bloc nou.

Fiecare satoshi (subunitățile bitcoin) aflat în circulație poate fi urmărit înapoi utilizând registrul transparent al blockchain-ului până la tranzacția coinbase respectivă.

Scripturi de blocare și de deblocare 🔒

Când sunt create UTXO-urile, acestea sunt blocate utilizând adresa publică a portofelului destinatarului. Pentru a utiliza acel UTXO ca intrare într-o nouă tranzacție, acesta trebuie mai întâi deblocat utilizând semnătura digitală a expeditorului.

Acesta este un alt aspect important de înțeles despre tranzacțiile Bitcoin. Atunci când se efectuează o tranzacție, Bitcoin nu este mutat digital dintr-un cont în altul. În schimb, sunt deblocate, realocate unui nou proprietar și apoi blocate din nou.

Aceasta înseamnă că doar noul proprietar poate debloca fondurile utilizând semnătura sa digitală și le poate transfera în altă parte; unei alte persoane sau unui alt portofel aflat sub controlul său.

Script este un limbaj de programare utilizat de Bitcoin pentru a procesa tranzacțiile, inclusiv blocarea și deblocarea UTXO-urilor. 

  • Script de blocare (ScriptPubKey): Când un UTXO este blocat, scriptul de blocare (cunoscut sub numele de ScriptPubKey) stabilește condițiile care trebuie îndeplinite înainte ca UTXO-ul să poată fi utilizat ca intrare. Aceasta implică de obicei demonstrarea că deții cheia privată corespunzătoare adresei publice a portofelului utilizate pentru a bloca UTXO-ul, prin furnizarea unei semnături digitale.
  • Script de deblocare (ScriptSig): Pentru a debloca un UTXO, trebuie să îndeplinești condițiile stabilite de scriptul de blocare, adică să furnizezi o semnătură digitală care dovedește că tu controlezi cheile private corespunzătoare cheii publice utilizate pentru a bloca UTXO-ul.

Acest lucru împiedică pe oricine altcineva să poată accesa și cheltui aceste fonduri.

UTXO-uri sub capotă 🚗

La un nivel mai tehnic, o tranzacție are patru părți principale:

  • Versiune: Aceasta informează nodurile rețelei ce versiune de software client este utilizată. Versiunile diferite respectă reguli diferite pentru verificarea datelor tranzacției.
  • Timp de blocare: Aceasta este durata de timp care determină cât de rapid este adăugată o tranzacție la blockchain. Această intrare dictează care este cel mai devreme moment posibil pentru ca tranzacția să fie procesată de nodurile de minare.
  • Intrare: Informații care indică sursa fondurilor sau tranzacția anterioară în care a fost produs UTXO-ul. Intrarea conține și ceva numit „script de deblocare”.
  • Ieșire: Informații referitoare la valoarea transferată, portofelul către care este reatribuită proprietatea fondurilor și noile UTXO-uri formate. Ieșirea conține și un „script de blocare”.

De ce utilizează Bitcoin modelul UTXO?

Sold cont

Pentru a identifica soldul unui utilizator, cunoscut și sub numele de set de UTXO-uri, software-ul de portofel cripto scanează blockchain-ul pentru a găsi toate UTXO-urile asociate cu adresa publică a portofelului corespunzător.

Suma totală a tuturor UTXO-urilor oferă o evidență precisă a cantității de cripto pe care o controlează un deținător de portofel.

Când un UTXO este cheltuit, adresa publică a portofelului destinatarului este alocată sumei, iar un nou UTXO este înregistrat pe blockchain odată ce tranzacția este executată.

Stocare

UTXO-urile Bitcoin sunt înregistrate în diverse tranzacții care sunt stocate în blocuri pe blockchain-ul Bitcoin. Totuși, aceste informații nu sunt indexate clar, astfel încât poate fi dificil să cauți și să organizezi metadatele rapid. 

Când utilizezi software de portofel, cum ar fi clientul Bitcoin Core, metadatele UTXO sunt stocate și indexate utilizând o bază de date LevelDB. LevelDB este un sistem de stocare open-source creat de Google în 2011 și face localizarea UTXO-urilor mult mai rapidă.

Clientul Bitcoin Core este un software popular utilizat pentru a te conecta la rețeaua blockchain Bitcoin. Creat inițial de Satoshi Nakamoto, Bitcoin Core este acum întreținut de o comunitate de dezvoltatori voluntari.

Cum diferă UTXO-urile de numerarul fizic

Principalele diferențe între analogia bancnotelor fizice și modelul UTXO sunt că Bitcoin-ul și alte active cripto bazate pe UTXO nu sunt legate de sume fixe, adică 5 $, 10 $, 15 $, etc. Orice cantitate de Bitcoin (până la opt zecimale) poate fi o ieșire de tranzacție necheltuită. 

De exemplu, poți avea 0,0003847 BTC rămas dintr-o tranzacție.

Această sumă ar deveni un nou UTXO care trebuie cheltuit integral dacă este utilizat și nu poate fi împărțit în sume mai mici.

Să presupunem că John are un sold de 1 Bitcoin în portofelul său cripto. Soldul său și compoziția acelui sold sunt două lucruri diferite, la fel cum ai putea avea 100 $ în portofel, dar acesta ar putea fi compus din patru bancnote de 20 $, două bancnote de 5 $ și una de 10 $.

Să presupunem că soldul de 1 BTC al lui John este format din 5 ieșiri de tranzacții necheltuite diferite.

  • 0,138 BTC
  • 0,1 BTC
  • 0,004 BTC
  • 0,73 BTC
  • 0,028 BTC

John vrea să-i trimită 0,6 BTC lui Jane. Pentru a face acest lucru, software-ul de portofel al lui John va grupa automat orice număr de UTXO-uri pe care le controlează pentru a acoperi această tranzacție, plus orice comisioane de miner care sunt implicate pentru procesarea acesteia.

În acest exemplu, să spunem că software-ul său de portofel trimite automat UTXO-ul Bitcoin al lui John în valoare de 0,73 BTC către Jane și returnează suma rămasă, minus comisioanele de tranzacție, lui John ca un nou UTXO.

Această sumă este trimisă automat la o adresă de rest; o adresă separată legată de portofelul tău cripto.

Ce este praful de Bitcoin?

Praful de Bitcoin se referă la UTXO-uri care conțin cantități minuscule de satoshi rămase din tranzacțiile anterioare.

Singure, aceste cantități minuscule de BTC ar costa mai mult în comisioane de tranzacție pentru a fi procesate decât valoarea lor și, prin urmare, adesea stau în adrese de rest, așteptând să fie grupate împreună cu alte UTXO-uri și cheltuite.

Ce este un atac de tip "dusting"?

Atacurile de tip "dusting" se referă la escroci care trimit cantități mici de "dust" către sute de mii de adrese de portofel diferite. Ideea din spatele acestora este de a identifica ținte potențiale pentru atacuri de inginerie socială.

Un escroc va monitoriza adresele care conțin "dust"-ul trimis, așteptând ca proprietarul să efectueze o tranzacție care grupează UTXO-uri de la diferite adrese legate de portofelul său. Deoarece UTXO-urile "dust" sunt atât de mici, există o șansă bună ca acestea să fie grupate împreună cu altele și utilizate ca intrări.

Odată ce acest lucru se întâmplă, escrocul își poate face o idee despre fondurile pe care le are o persoană. Apoi poate alege să încorporeze mesaje de phishing în tranzacții, invitând proprietarul să facă clic pe un link care descarcă malware, sau să viziteze site-uri web false care imită pagini de destinație legitime și solicită informații personale.

Cât de periculoase sunt atacurile de tip "dusting" Bitcoin?

Atacurile de tip "dusting" nu oferă escrocilor acces la fondurile tale.

Acestea servesc doar la restrângerea adreselor controlate de un anumit portofel cripto.

Pentru a-ți minimiza riscul de atacuri de tip "dusting", este cel mai bine să nu dai niciodată clic pe linkuri sau să vizitezi site-uri web atașate tranzacțiilor de tip "dust".

Începe să cumperi Bitcoin

Acum că ai învățat totul despre modelul UTXO, ești gata să îți continui călătoria cripto și să cumperi Bitcoin?

Consultă ghidul nostru din Centrul de Învățare Kraken pentru mai multe informații despre Cum să cumperi Bitcoin (BTC) și înregistrează-te pentru un cont Kraken astăzi.

Unele conținuturi de pe această pagină pot fi traduse folosind AI