Šta je UTXO?
Najvažnije u nekoliko reči:
- UTXO (Unspent Transaction Output) je output (izlaz) iz prethodne transakcije koji još nije potrošen.
- Bitcoin ne koristi račune i stanja kao banke, već prati pojedinačne UTXO.
- Wallet sabira sve dostupne UTXO i prikazuje ih kao vaš balans.
- Način na koji koristite UTXO utiče i na troškove transakcija i na nivo privatnosti.
Bitcoin transakcije kroz analogiju sa gotovinom
Kada otvorite svoju Bitcoin wallet aplikaciju, obično vidite zbir svih jedinica koje kontrolišete. Prirodno je pomisliti da se u blockchain-u vodi evidencija o tom stanju i da se ono ažurira sa svakom novom transakcijom.
Ipak, Bitcoin funkcioniše drugačije. Ne postoje klasični računi kao u bankama, niti „bitcoini“ koji se fizički šalju od jednog korisnika drugom. Umesto toga, sve se zasniva na strukturi transakcija.
Svaka transakcija sastoji se od inputs i outputs. Iako ih često povezujemo sa pošiljaocem i primaocem plaćanja, njihova uloga je dublja. Najlakše ih je razumeti poređenjem sa gotovinom.
Zamislite novčanik sa ukupno 185 evra. To stanje nije zapisano nigde, već ga izračunavamo na osnovu novčanica i kovanica unutra, recimo po jedna od 5, 10, 20, 50 i 100 evra. Ako želimo da platimo 25 evra, izabraćemo novčanicu od 5 i od 20 evra. To su naši inputs. Primalac dobija 25 evra, to je novi output.
Na isti način, novčanice u našem novčaniku predstavljaju outputs iz prethodnih transakcija koji još nisu potrošeni. Oni se nazivaju UTXO (Unspent Transaction Output). UTXO je, dakle, potvrđeni izlaz iz ranije transakcije koji još uvek može da se iskoristi u sledećoj.
Ključne razlike između UTXO i gotovine
Analogija sa gotovinom pomaže u razumevanju, ali UTXO se ne nalazi u samom wallet-u. Wallet upravlja samo korisnikovim ključevima. Sve transakcije beleže se i odvijaju isključivo u Bitcoin mreži, na blockchain-u.
Na osnovu informacija o adresama koje pripadaju korisniku, wallet pretražuje blockchain i proverava postoje li UTXO koji mogu da se potroše. Njihov zbir zatim prikazuje kao jednostavno stanje računa, slično kao kada bismo ručno sabrali novčanice u novčaniku.
Za razliku od fizičkog novca, gde su novčanice ograničene na fiksne vrednosti, Bitcoin outputs mogu imati proizvoljne iznose. To čini sistem fleksibilnijim i praktičnijim.
Kusur u Bitcoin transakcijama
Kao i kod gotovine, željeni iznos ne možemo uvek platiti tačno. Ako račun iznosi 21 evro, a imamo novčanice od 20 i 5 evra, moraćemo da potrošimo obe i damo više nego što je potrebno. Razliku od 4 evra dobijamo nazad kao kusur.
Isto važi i za Bitcoin. UTXO se ne može podeliti, mora se potrošiti u celosti. Kada nemamo savršeno odgovarajući UTXO, koristimo veći i razliku šaljemo nazad sebi kao Change Output.
Na prvi pogled izgleda kao da je bitcoin poslat na dve adrese, jer postoje dva outputs. U stvarnosti, jedan od njih je kusur koji se vraća pošiljaocu.
Kako se obračunavaju naknade
U Bitcoin transakciji ne postoji posebno polje za naknadu. Ona se određuje posredno.
Zamislite da u restoranu platite račun od 21 evro novčanicom od 25 evra i kažete: „Tako je u redu“. Time ste posredno ostavili 4 evra bakšiša.
U Bitcoin mreži je princip isti: razlika između svih inputs i outputs, odnosno iznos koji nije eksplicitno potrošen, predstavlja transakcijsku naknadu koju miner može da preuzme.
Automatsko biranje UTXO u wallet-u
Iz prakse znamo da račun možemo platiti na više načina, velikom novčanicom, sitnim kovanicama ili njihovom kombinacijom. Isti princip važi i u Bitcoin mreži. Izbor odgovarajućih UTXO (Coin Selection) automatski obavlja wallet aplikacija, tako da korisnik taj proces gotovo i ne primećuje.
I rukovanje kusurom odvija se u pozadini, kroz posebno generisane adrese za kusur. Zato se korisniku u pregledu transakcija on ne prikazuje kako bi se izbegla zabuna.
Odabir optimalnih UTXO nije trivijalan zadatak, jer postoji mnogo mogućih kombinacija i različiti ciljevi, smanjenje naknada, očuvanje privatnosti ili balans između ta dva. Način implementacije zavisi od samog wallet-a.
Napredne strategije upravljanja UTXO
Iako je korisno da wallet automatski obavlja većinu posla, u nekim situacijama korisno je ručno upravljanje. Najčešći razlozi su optimizacija naknada i zaštita privatnosti.
Optimizacija transakcijskih naknada
Naknade se izražavaju kao stopa u sat/vB, satošijima po bajtu. Veće transakcije zauzimaju više prostora i samim tim koštaju više. Zato je cilj da transakcije budu što je moguće manje.
Batching kao grupno slanje transakcija
Umesto da za svako plaćanje pravimo posebnu transakciju, više outputs možemo uključiti u jednu. Takva transakcija zauzima više prostora od pojedinačne, ali u celini troši manje resursa jer koristi samo jedan ili nekoliko inputs. Ovo je česta praksa kod menjačnica i brokera.
Konsolidacija UTXO
Vremenom se u wallet-u mogu nagomilati manji i nepraktični UTXO, slično sitnim kovanicama. Što više UTXO koristimo u transakciji, to ona postaje veća i skuplja.
Kada su naknade niske, isplativo je preventivno spojiti više manjih UTXO u jedan ili nekoliko većih. Ovaj postupak naziva se konsolidacija i predstavlja transakciju poslatu samom sebi. Kasnije, kada naknade porastu, štedimo jer smo „spajanje sitniša“ obavili u povoljnijem trenutku.
Kako UTXO oblikuje vašu privatnost
Sve Bitcoin transakcije javno su dostupne. Ako Marku damo adresu za uplatu, on ne vidi samo tu transakciju, već i sve prethodne i buduće aktivnosti na toj adresi. Zato većina korisnika koristi nove adrese za svaku transakciju, a moderni wallet-i to i automatski predlažu.
Ipak, UTXO model može otkriti dodatne informacije. Ako Marko pošalje 0.1 BTC na novu adresu, a mi kasnije trošimo 0.2 BTC koristeći i njegov UTXO, on može videti sve ostale inputs u toj transakciji i njihove istorije.
Na privatnost utiču:
- Količine – neuobičajeni ili okrugli iznosi lako se prepoznaju.
- Vremenski obrasci – redovna slanja u istim intervalima stvaraju šablon.
- Povezivanje adresa – korišćenje više UTXO u jednoj transakciji otkriva njihovu povezanost.
Zbog toga je preporučljivo da spajamo što manje UTXO i da plaćamo što tačnije.
Ručno upravljanje UTXO uz Coin Control
Koliko su vam važni privatnost, niže naknade ili kombinacija oba, zavisi od vas. Ne postoji univerzalno „ispravan“ način upravljanja UTXO-ima.
Za veću kontrolu koristi se funkcija Coin Control. Ona omogućava da ručno birate koje UTXO ćete potrošiti u transakciji. Tako možete sprovoditi ciljane konsolidacije ili voditi više računa o privatnosti.
Mnogi softverski i hardverski wallet-i podržavaju ovu opciju, a dovoljno je uključiti je u naprednim podešavanjima.
Jedan od najdetaljnijih alata je Sparrow Wallet. On nudi pregled svih UTXO-a, mogućnost „zamrzavanja“ određenih izlaza i alternativni algoritam za izbor UTXO optimizovan za privatnost. Sparrow se može koristiti samostalno ili zajedno sa većinom hardverskih wallet-a, što ga čini moćnim alatom za napredne korisnike.
Ako vam je sadržaj koristan i želite da nas podržite to možete učiniti ovde.






