Co je nevyužitý výstup transakce (UTXO) Bitcoinu?

Autor: Kraken Learn team
10 min
November 20, 2024

Průvodce modelem UTXO Bitcoinu pro začátečníky 📕

Neutracený transakční výstup (UTXO) je technika, kterou Bitcoin protokol používá ke sledování zůstatků, jak se pohybují mezi krypto peněženkami.

Pokud jde o sledování a správu individuálních krypto zůstatků, protokoly založené na blockchainu obvykle používají jeden ze dvou různých účetních modelů.

Jeden se nazývá model účtu/zůstatku. Projekty jako Ethereum, Tezos a EOS používají tento model ke sledování zůstatků, jak uživatelé blockchainu provádějí transakce. Druhý se nazývá model neutraceného transakčního výstupu (UTXO). 

Bitcoin a mnoho dalších kryptoměn, jako jsou Litecoin, Cardano a Dogecoin, používají model UTXO. 

Co to ale přesně je, jak to funguje a jaké jsou výhody UTXO ve srovnání s modelem účtu/zůstatku?

BTC icon
56,328.00
-1,09 %
24H
btc

Pochopení modelu UTXO 💻

Historie

Adam Back a zesnulý Hal Finney byli dva členové skupiny Cypherpunk zaměřené na kryptografii, kterou navštěvoval autor bílé knihy Bitcoinu Satoshi Nakamoto. Oběma je připisován nezávislý vývoj modelu UTXO v letech 1997 a 2004. 

Když tvůrce Bitcoinu Satoshi Nakamoto v roce 2009 spustil protokol, stal se prvním funkčním systémem digitální měny, který implementoval model UTXO.

Hal Finney i Adam Back jsou dlouho podezříváni z toho, že jsou Satoshi Nakamoto, ačkoli to nikdy nebylo s jistotou prokázáno.

UTXO ve zkratce

Když někomu pošlete bitcoin, programově probíhá několik kroků. Jedním z prvních kroků v transakčním procesu je, aby vaše kryptoměnová peněženka prohledala blockchain a zjistila, jakou máte částku prostředků. Tyto prostředky jsou známé jako neutracené výstupy transakcí (UTXO).

UTXO si můžete představit jako drobné, které zbyly z předchozích bitcoinových transakcí.

Prostředky jsou považovány za „neutracené“, protože je můžete volně poslat někomu jinému nebo převést do jiné peněženky. Nazývají se „výstupy transakcí“, protože byly vytvořeny z předchozích transakcí.

Pokud utratíte 12 $ za oběd a použijete bankovku v hodnotě 20 $, zbyla by vám bankovka v hodnotě 8 $. V tomto příkladu by zbylých 8 $ bylo neutraceným výstupem transakce. Vrátily by se do vaší peněženky připravené k použití na nákup něčeho jiného.

Přesně takto fungují bitcoinové UTXO. Když provedete transakci, výstupy z předchozích bitcoinových transakcí, tj. vaše drobné bitcoinové mince, se používají jako vstupy pro nové transakce.

Další klíčové srovnání mezi transakcemi fyzickou hotovostí a UTXO je, že obojí musí být utraceno v plné výši a nelze je rozdělit. Pokud máte UTXO v hodnotě 5 bitcoinů a chcete někomu poslat 1 BTC, museli byste poslat celé UTXO v hodnotě 5 bitcoinů a na oplátku obdržet nové UTXO v hodnotě 4 BTC minus poplatky. 

Přesně jako v příkladu výše, kde odevzdáte celou bankovku v hodnotě 20 $, abyste zaplatili za oběd v hodnotě 10 $.

Když je UTXO utraceno, je považováno za „spotřebované“ a je technicky odstraněno z oběhu. 

Jakákoli zbývající změna je generována jako zcela nové UTXO. Tato část systému UTXO je způsob, jakým Bitcoin řeší problém dvojité útraty

Stejně jako nemůžete fyzicky dát obchodníkovi bankovku v hodnotě 5 $ a poté stejnou bankovku v hodnotě 5 $ dát někomu jinému, uživatel bitcoinu nemůže úspěšně použít stejný neutracený výstup transakce ve dvou samostatných digitálních transakcích.

Když se osoba pokusí utratit stejné UTXO dvakrát, dvě transakce skončí v mempoolu — jakési čekárně pro čekající transakce. Zůstanou zde, dokud je úspěšní těžaři, kteří vyhrají soutěž proof-of-work, nespojí do nových bloků.

Více o tomto procesu se můžete dozvědět v článku našeho centra Kraken Learn Center Co je těžba bitcoinů?

I když jsou obě transakce spojeny do dvou samostatných bloků a zpracovány současně, díky časovému razítku by jedna z transakcí byla ověřena dříve než druhá. Po několika potvrzeních (nové bloky přidané do blockchainu) by ostatní uzly označily druhou neplatnou transakci a odmítly ji.

Coinbase transakce

Jediný okamžik, kdy bitcoinová transakce nemá žádné vstupy, je, když je těžbou vytvořeno nově ražené BTC.

Tato transakce, známá jako coinbase transakce, představuje první transakci v každém novém bloku.

Každé satoshi (podjednotky bitcoinu) v oběhu lze dohledat pomocí transparentní blockchainové účetní knihy až k jejich příslušné coinbase transakci.

Uzamykací a odemykací skripty

Když jsou UTXO vytvořeny, jsou uzamčeny pomocí veřejné adresy peněženky příjemce. Aby bylo možné použít dané UTXO jako vstup v nové transakci, musí být nejprve odemčeno pomocí digitálního podpisu odesílatele.

To je další důležitá věc, kterou je třeba pochopit ohledně bitcoinových transakcí. Když je transakce provedena, bitcoiny nejsou digitálně přesunuty z jednoho účtu na druhý. Místo toho jsou odemčeny, přeřazeny novému vlastníkovi a poté znovu uzamčeny.

To znamená, že pouze nový vlastník může odemknout finanční prostředky pomocí svého digitálního podpisu a převést je jinam; jiné osobě nebo do jiné peněženky pod jeho kontrolou.

Script je programovací jazyk používaný Bitcoinem ke zpracování transakcí, včetně zamykání a odemykání UTXO. 

  • Uzamykací skript (ScriptPubKey): Když je UTXO uzamčeno, uzamykací skript (známý jako ScriptPubKey) stanovuje podmínky, které musí být splněny, než může být UTXO použito jako vstup. To obvykle zahrnuje prokázání vlastnictví soukromého klíče, který odpovídá veřejné adrese peněženky použité k uzamčení UTXO, a to poskytnutím digitálního podpisu.
  • Odemykací skript (ScriptSig): Abyste odemkli UTXO, musíte splnit podmínky stanovené uzamykacím skriptem, tj. poskytnout digitální podpis, který prokazuje, že kontrolujete soukromé klíče odpovídající veřejnému klíči použitému k uzamčení UTXO.

To zabraňuje komukoli jinému v přístupu a utrácení těchto finančních prostředků.

UTXO pod kapotou 🚗

Na techničtější úrovni má transakce čtyři hlavní části:

  • Verze: Toto informuje síťové uzly, jaká verze klientského softwaru je používána. Různé verze se řídí různými pravidly pro ověřování transakčních dat.
  • Locktime: Čas, který určuje, jak rychle je transakce přidána do blockchainu. Tento vstup diktuje, jaký je nejdřívější možný čas pro zpracování transakce těžebními uzly.
  • Vstup: Informace ukazující na zdroj finančních prostředků nebo předchozí transakci, kde bylo UTXO vytvořeno. Vstup také obsahuje takzvaný „odemykací skript“.
  • Výstup: Informace o převáděné hodnotě, peněžence, na kterou se převádí vlastnictví finančních prostředků, a o nově vzniklých UTXO. Výstup také obsahuje „uzamykací skript“.

Proč Bitcoin používá model UTXO? 💭

Zůstatek na účtu

K identifikaci zůstatku uživatele, známého také jako sada UTXO, software kryptoměnové peněženky skenuje blockchain, aby našel všechna UTXO spojená s odpovídající veřejnou adresou peněženky.

Celková suma všech UTXO poskytuje přesný přehled o tom, kolik krypta vlastník peněženky kontroluje.

Když je UTXO utraceno, částka je přiřazena k veřejné adrese peněženky příjemce a po provedení je na blockchainu zaznamenáno nové UTXO.

Úložiště

UTXO Bitcoinu jsou zaznamenány v různých transakcích, které jsou uloženy v blocích na blockchainu Bitcoinu. Tyto informace však nejsou jasně indexovány, takže může být obtížné rychle vyhledávat a třídit metadata. 

Při použití softwaru peněženky, jako je klient Bitcoin Core, jsou metadata UTXO ukládána a indexována pomocí databáze LevelDB. LevelDB je open-source úložný systém vytvořený společností Google v roce 2011, který výrazně urychluje vyhledávání UTXO.

Klient Bitcoin Core je populární software používaný pro připojení k síti blockchainu Bitcoinu. Původně vytvořený Satoshi Nakamotem, Bitcoin Core je nyní udržován komunitou dobrovolných vývojářů.

Jak se UTXO liší od fyzických peněz

Hlavní rozdíly mezi analogií fyzických bankovek a modelem UTXO spočívají v tom, že bitcoin a další kryptoaktiva založená na UTXO nejsou vázány na pevné částky, tj. 5 $, 10 $, 15 $ atd. Libovolné množství bitcoinu (až na osm desetinných míst) může být nevyčerpaným výstupem transakce. 

Například vám z transakce může zůstat 0,0003847 BTC.

Tato částka by se stala novým UTXO, které musí být v případě použití utraceno celé a nelze jej rozdělit na menší částky.

Řekněme, že John má zůstatek v kryptopeněžence ve výši 1 bitcoinu. Jeho zůstatek a složení tohoto zůstatku jsou dvě různé věci, podobně jako můžete mít 100 $ v peněžence, ale může se skládat ze čtyř bankovek po 20 $, dvou po 5 $ a jedné po 10 $.

Řekněme, že složení Johnova zůstatku 1 BTC je tvořeno 5 různými nevyčerpanými výstupy transakcí.

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

John chce poslat 0,6 BTC Jane. K tomu software Johnovy peněženky automaticky seskupí libovolný počet UTXO, které kontroluje, aby pokryl tuto transakci a veškeré poplatky těžařům za její zpracování.

V tomto příkladu řekněme, že software jeho peněženky automaticky odešle Johnovo bitcoinové UTXO v hodnotě 0,73 BTC Jane a vrátí zbývající částku po odečtení transakčních poplatků Johnovi jako nové UTXO.

Tato částka je automaticky odeslána na změnovou adresu; samostatná adresa propojená s vaší kryptopeněženkou.

Co je Bitcoin dust? 🔍

Bitcoin dust (Bitcoinový prach) označuje UTXO obsahující nepatrné zbytkové množství satoshis z předchozích transakcí.

Samotné tyto nepatrné částky BTC by stály na transakčních poplatcích více, než by byla jejich hodnota, a proto často zůstávají na změnových adresách a čekají, až budou shromážděny s dalšími UTXO a utraceny.

Co je dusting attack?

Dusting attacks (prachové útoky) odkazují na podvodníky, kteří rozesílají dust na stovky tisíc různých adres peněženek. Účelem je zjistit potenciální cíle pro útoky sociálního inženýrství.

Podvodník bude sledovat adresy obsahující dust, který rozeslal, a čekat, až vlastník provede transakci, která spojí UTXO z různých adres propojených s jeho peněženkou. Protože dust UTXO jsou tak malé, je velká šance, že budou seskupeny s ostatními a použity jako vstupy.

Jakmile se to stane, podvodník získá představu o tom, jaké prostředky osoba má. Poté si může vybrat, zda do transakcí vloží phishingové zprávy, které vlastníka vyzvou, aby kliknul na odkaz stahující malware, nebo navštívil falešné webové stránky, které napodobují legitimní vstupní stránky a vyžadují osobní údaje.

Jak nebezpečné jsou Bitcoin dusting attacks?

Dusting attacks neposkytují podvodníkům přístup k vašim prostředkům.

Slouží pouze k zúžení okruhu adres, které jsou kontrolovány konkrétní krypto peněženkou.

Abyste minimalizovali riziko dusting attacks, je nejlepší nikdy neklikat na odkazy ani nenavštěvovat webové stránky spojené s dust transakcemi.

Začněte kupovat Bitcoin

Nyní, když jste se dozvěděli vše o modelu nevyužitého výstupu transakce (UTXO), jste připraveni pokračovat ve své krypto cestě a kupovat Bitcoin?

Pro více informací si přečtěte našeho průvodce Kraken Learn Center na téma Jak nakoupit Bitcoin (BTC) a zaregistrujte se k účtu u Kraken ještě dnes.

Některý obsah na této stránce mohl být přeložen pomocí AI