UTXO – neviditeľné zostatky v Bitcoine
Koľko vlastne mám bitcoinov?
V bežnej banke je to jednoduché – prihlásite sa do internetbankingu a okamžite vidíte zostatok na účte, napríklad 720 €. Tento údaj je uložený v databáze banky a jednoznačne spojený s vaším menom alebo účtom. Pri Bitcoine to však funguje úplne inak.
V bitcoinovom svete neexistuje centrálny účet ani meno používateľa. Nikde nie je napísané „Ján Novák má 0.075 BTC“. Namiesto toho sa Bitcoin spolieha na elegantný systém UTXO – Unspent Transaction Outputs, teda „nevyčerpané transakčné výstupy“.
Tento pojem sa môže na prvé počutie zdať zložitý, no s trochou príkladov a analógií mu porozumie každý.
Čo je to UTXO?
Každá bitcoinová transakcia má vstupy (inputs) a výstupy (outputs). Vstupy hovoria, z ktorých mincí transakcia pochádza. Výstupy hovoria, kam tieto mince smerujú – teda komu sú odosielané.
Každý výstup, ktorý zatiaľ nebol použitý v žiadnej novej transakcii, sa označuje ako UTXO. To je v podstate to, čo máte vo svojej peňaženke.
Stav vášho bitcoinového „účtu“ nie je jedno číslo, ale skôr zoznam viacerých UTXO, ktoré spolu vytvárajú vašu celkovú hodnotu. Jednoducho povedané: UTXO sú jednotlivé kúsky bitcoinov, ktoré vlastníte a ktoré môžete v budúcnosti použiť.
Tieto „kúsky“ nemusia byť rovnaké ani rovnako veľké, ale dohromady tvoria váš celkový zostatok.
Analógia s hotovosťou
Predstavte si, že máte doma peňaženku a v nej tri bankovky:
- 1× 50 €
- 1× 20 €
- 1× 10 €
Spolu máte 80 €, ale nemáte jednu „80 € bankovku“ – máte tri samostatné kusy. Každá bankovka je samostatné UTXO.
Keď platíte, použijete ich naraz. Predavač síce dostane 80 €, ale zároveň vidí, aké bankovky ste použili. Podobne je to aj pri Bitcoine: keď v jednej transakcii spojíte viac UTXO, ukazujete, z čoho sa váš zostatok skladá.
Čo sa stane so zvyškom?
Ak by ste platili 75 €, dostanete 5 € ako výdavok. V Bitcoine sa tomu hovorí change output a vracia sa vám na novú adresu.
Povedzme, že chcete zaplatiť kamarátovi 0.08 BTC. Vaša peňaženka vyberie najvhodnejšie UTXO, napríklad jedno vo výške 0.1 BTC.
Transakcia potom vyzerá takto:
- 0.08 BTC ide kamarátovi (hlavný výstup)
- 0.0199 BTC ide späť vám ako výdavok (change output)
- 0.0001 BTC je poplatok pre ťažiara (fee)
Je to rovnaké, ako keď v obchode platíte 10 € bankovkou za tovar za 7,50 € a dostanete výdavok späť.
Nemusíte sa báť technických detailov
Aj keď to môže pôsobiť komplikovane, väčšinu týchto procesov spracúvajú bitcoinové peňaženky automaticky na pozadí. Používateľ vidí len konečný zostatok – podobne ako v banke.
UTXO a súkromie
Výhodou systému UTXO je súkromie. Každá transakcia pracuje s viacerými UTXO a vytvára nové adresy, čo sťažuje zistenie, komu jednotlivé mince patria.
Zároveň však platí, že čím viac UTXO spojíte v jednej transakcii, tým viac o sebe prezradíte. Ak v jednej transakcii použijete viac vstupov, analytik v blockchaine vie, že všetky tieto UTXO patria jednej osobe – aj keď pochádzali z rôznych adries.
Preto sa odporúča nepoužívať jednu adresu opakovane a byť opatrný pri spájaní UTXO z rôznych zdrojov.
Príliš veľa malých UTXO
Problémom však môže byť aj opačný extrém – veľa malých UTXO. Ak máte v peňaženke desiatky alebo stovky malých kúskov, pri väčšej platbe ich musí peňaženka všetky spojiť.
To zväčšuje veľkosť transakcie a zvyšuje poplatok, pretože v Bitcoine sa platí za veľkosť dát, nie za percento z hodnoty.
Preto sa odporúča občas UTXO konsolidovať – teda spojiť viac malých výstupov do jedného väčšieho, ideálne v čase nízkych poplatkov (napríklad cez víkend).
Je to ako keď si doma zameníte všetky drobné mince za jednu väčšiu bankovku.
Rozumieť UTXO aspoň rámcovo je dôležité, ak chcete Bitcoinu skutočne porozumieť – najmä v kontexte súkromia, efektivity a bezpečnosti vašich transakcií.