UTXO: a bitcoin „címletei”
A Bitcoin nem egyenlegeket, hanem el nem költött tranzakciós kimeneteket tart nyilván. Miért fontos ez?
Ha a blokkböngészőben megnézünk egy Bitcoin-címet, egy egyenleget látunk, mintha egy bankszámla lenne. A Bitcoin azonban valójában nem egyenlegeket tart nyilván. Ez a különbség elsőre technikai részletnek tűnik, de a Bitcoin-tranzakciók nyomon követésének egyik legfontosabb alapja.
Kimenetek, nem egyenlegek
Minden Bitcoin-tranzakciónak vannak bemenetei (input) és kimenetei (output). A kimenet egy meghatározott összeg, amelyet egy meghatározott címhez rendel a tranzakció. Amíg ezt a kimenetet senki nem költötte el, el nem költött tranzakciós kimenetnek nevezzük, angol rövidítéssel UTXO-nak (Unspent Transaction Output). Egy új tranzakció bemenetei mindig korábbi tranzakciók el nem költött kimenetei.
A Bitcoin-hálózat a mindenkori UTXO-k összességét tartja nyilván. Amikor a blokkböngésző egy cím „egyenlegét” mutatja, valójában a címhez tartozó összes el nem költött kimenet összegét adja össze. Ezt a modellt UTXO-modellnek nevezzük.
A legjobb hasonlat a pénztárca és a bankjegyek. Ha a tárcánkban egy tízezres van, és háromezer forintot kell fizetnünk, nem vághatunk le a bankjegyből egy darabot: odaadjuk az egészet, és visszajárót kapunk. A Bitcoin pontosan így működik:
- egy kimenetet mindig egészben kell elkölteni;
- ha a kifizetendő összeg kisebb, a különbözetet a tranzakció egy új kimenetként visszaküldi a küldőnek – ez a visszajáró (change);
- a bemenetek és a kimenetek összegének különbsége a tranzakciós díj, amelyet a bányász kap.
Több bemenet, több kimenet
A banki utalással ellentétben egy Bitcoin-tranzakcióban tetszőleges számú bemenet és kimenet lehet. Ha egyik kimenetünk sem elég nagy a fizetéshez, a tárca többet használ fel egyszerre, és egy tranzakcióval akár száz címzettnek is lehet fizetni (a tőzsdék például így teljesítik a kifizetéseket).
Próbáld ki! Fizess a tárcából, és figyeld meg, mi lesz a kimenetekkel:
Interaktív elem – betöltés…
Miért fontos ez a nyomozónak?
A UTXO-modellből három gyakorlati következmény adódik:
- Szinte minden fizetésnél van visszajáró. Ha egy tranzakciónak két kimenete van, az egyik nagy valószínűséggel a fizetés, a másik a küldő saját visszajárója. Ha a pénz útját követjük, tudnunk kell, melyik melyik – különben rossz irányba megyünk. Erről a következő kártya szól.
- A több bemenet árulkodó. Ha egy tranzakcióban több cím szerepel bemenetként, mindegyik privát kulcsával alá kellett írni. Ezért ezek a címek szinte biztosan ugyanahhoz a tárcához, ugyanahhoz a személyhez tartoznak. Ez a közös költés elve, amelyre a nyomkövető szoftverek a címek csoportosítását építik.
- Egy „cím” nem egy „számla”. Egy tárca jellemzően sok címet használ (minden visszajáróhoz újat), ezért egy személy vagyona sok címen oszlik szét. A tárcát nem egy cím, hanem a címek csoportja jelenti.
Megjegyzés: az Ethereum és sok más kriptovaluta nem UTXO-, hanem fiókalapú modellt használ, amely a banki egyenleghez hasonlít: ott nincs visszajáró. Erről az Ethereum térképen lesz szó. Aki Bitcoinról Ethereumra vált a nyomozásban (vagy fordítva), ezt a különbséget mindig tartsa szem előtt.
Extra tudásA „por” (dust)
Ha egy kimenet olyan kicsi, hogy az elköltésének díja nagyobb lenne, mint maga az összeg, akkor gazdaságilag elkölthetetlen. Az ilyen apró kimeneteket a kriptovilág pornak (dust) nevezi. A tárcák nem is szoktak ilyen kicsi visszajárót létrehozni: a maradékot inkább a díjhoz csapják. Egyes megfigyelők és csalók szándékosan küldenek apró összegeket sok címre (dusting): ha a címzett később ezeket a többi pénzével együtt költi el, a közös költés felfedi, mely címek tartoznak össze.
Ellenőrizd a tudásod
A kvíz betöltése…