Zostatok je súčet použiteľných výstupov
UTXO je skratka pre unspent transaction output, čiže neminutý výstup transakcie. Každý taký výstup má sumu a podmienku minutia. Peňaženka označí za vaše tie výstupy, ktorých podmienku vie splniť vašimi kľúčmi. Ich súčet zobrazí ako zostatok.
Zostatok 100 000 satoshi môže tvoriť jeden alebo desať výstupov. Napríklad môžete mať UTXO vo výške 20 000, 30 000 a 50 000 satoshi. Aplikácia ich spojí do jedného čísla. Sieť ich však stále eviduje samostatne.
Vybraný výstup sa minie celý
UTXO nemožno odrezať ako kúsok bankovky. Keď ho transakcia použije ako vstup, spotrebuje celý. Hodnota sa potom rozdelí medzi nové výstupy a poplatok. Preto väčšina bežných platieb vytvorí aj výdavok pre odosielateľa.
Predstavte si vstup 50 000 satoshi. Príjemca dostane 18 000 a nový výdavkový výstup vráti odosielateľovi 31 500 satoshi. Zvyšných 500 satoshi je poplatok. Bez výdavkového výstupu by celý nevyužitý rozdiel pripadol ťažiarovi.
- vstup: 50 000 satoshi
- platba príjemcovi: 18 000 satoshi
- výdavok odosielateľovi: 31 500 satoshi
- poplatok: 500 satoshi
Výber mincí ovplyvňuje cenu aj súkromie
Peňaženka musí rozhodnúť, ktoré UTXO použije. Tento postup sa nazýva výber mincí alebo coin selection. Viac vstupov zväčšuje transakciu a často zvyšuje poplatok. Veľmi malé výstupy môžu stáť viac na minutie, než je ich hodnota.
Spájanie viacerých vstupov tiež prezrádza informácie. Pozorovateľ môže odhadnúť, že ich ovládala jedna peňaženka. Výdavkový výstup sa môže pokúsiť rozpoznať podľa sumy alebo typu adresy. Ide o odhady, nie o istotu, no súkromie môžu citeľne oslabiť.
Plný uzol udržiava aktuálnu množinu UTXO
Pri overovaní vstupu uzol hľadá odkazovaný výstup vo svojej množine UTXO. Skontroluje jeho existenciu, sumu a podmienku minutia. Ak je transakcia potvrdená, spotrebované výstupy odstráni. Nové neminuté výstupy do množiny pridá.
Uzol preto nemusí pri každej platbe nanovo prehľadávať celú históriu. Predošlé bloky však overil, aby si správnu množinu vytvoril. UTXO model sťažuje dvojité minutie: ten istý výstup nemôže zostať použitý v dvoch platných transakciách rovnakej histórie.