Alza.cz
Zobrazit katalog

Transakční poplatky a minimální velikost UTXO

Článek

Aktualizováno

S rostoucí cenovkou bitcoinu se vám může stát, že některé zůstatky v bitcoinové peněžence budou neutratitelné. Důvodem je velikost transakčního poplatku, který může dosáhnout desítek procent utrácené částky, či ji dokonce přesáhnout. Jak je to možné? Je načase se seznámit s problematikou UTXO, a co pro vás znamená v bitcoinové praxi.

Transakční poplatky a minimální velikost UTXO - OBSAH

  1. Důležitý poznatek: transakční poplatky jsou v satoshi!
  2. Co je neutracený výstup transakce (UTXO)?
  3. Co ovlivňuje výši transakčních poplatků?
  4. Dust UTXO: neutratitelné drobáčky
  5. Minimální doporučená velikost UTXO

Důležitý poznatek: transakční poplatky jsou v satoshi!

Na úvod je důležité si připomenout, jak vlastně fungují transakční poplatky v bitcoinové síti. Transakční poplatek platíme proto, že velikost bitcoinového bloku je omezená. Omezení velikosti bloku není chyba, naopak je to velmi důležitá vlastnost Bitcoinu, jež zajišťuje decentralizaci. Pokud by byly bloky výrazně větší, zmenšovalo by to množinu potenciálních provozovatelů nodů, jelikož nároky na provoz nodu by byly vysoké - jak z hlediska trafficu, tak z hlediska místa na disku.

i

Co to je Bitcoin full node?

Bitcoin full node, neboli plný uzel, je základní stavební jednotka decentralizované sítě Bitcoin. Provozovatelé full nodů dohlížejí na dodržování pravidel protokolu. Více o tom, proč a jak provozovat vlastní full node, se dočtete v našem článku Co to je Bitcoin full node? (ZÁKLADY BITCOINU).

Velikost transakčních poplatků závisí na aktuálním provozu v síti a ochotě uživatelů zaplatit dostatečný transakční poplatek, aby se jejich transakce dostaly do bloku dříve, než transakce jiných uživatelů. Čeká-li v mempoolu (databázi nepotvrzených transakcí) 10 000 transakcí a do bloku se jich vejde pouze 2 500, budou mezi sebou uživatelé soupeřit o to, čí transakce se do bloku dostane - a to s pomocí výše transakčního poplatku.

Kriticky důležité je uvědomit si, že transakční poplatky nejsou stanoveny ve fiatu (dolarech, korunách atd.), nýbrž v satoshi na byte. Řekněme, že bitcoinová transakce má velikost 200 virtuálních bytů (vB - s toutou jednotkou se v rámci Bitcoinu pracuje). Je-li aktuálně převládající poplatek 50 satoshi na virtuální byte, pak bude celkový poplatek za vytěžení transakce činit 200 x 50 = 10 000 satoshi. A tak to bude, ať už je cena bitcoinu 5 000 dolarů či 100 000 dolarů - bitcoinový protokol fiatová cenovka nezajímá; ale vás jako uživatele asi ano. V prvním případě bude transakční poplatek ve fiatu činit 0,5 dolaru, ve druhém případě však 10 dolarů. Tento poznatek má zásadní dopady pro praktické nakládání s bitcoinem, zejména co se týče minimální výše neutracených transakčních výstupů.

i

Bitcoin a satoshi

Nejnižší jednotka bitcoinu je nazvaná podle tvůrce Bitcoinu, Satoshiho Nakamota. Jeden bitcoin je dělitelný na 100 milionů satoshi. Satoshi se také často zkracuje jako "sat". Vzhledem k rapidně rostoucí fiatové cenovce bitcoinu je vhodné používat a uvažovat v satoshi, než v celých bitcoinech.

1 BTC = 100 000 000 sat<>

1 sat = 0,00000001 BTC<>

Co je neutracený výstup transakce (UTXO)?

Bitcoin existuje ve formě UTXOs - neutracených výstupů transakcí.

Neutracený výstup transakce je technicky vzato jediná forma, ve které bitcoin existuje. Pojďme si vysvětlit, jak vlastně bitcoiny vznikají a v jaké formě je držíme v našich peněženkách:

  1. Veškeré bitcoiny vznikají těžbou - těžař, který dodá síti adekvátní důkaz prací (proof of work) v podobě správného hashe, získá dvousložkovou odměnu: transakční poplatky od transakcí zařazených do nového bloku, a nově vzniklé bitcoiny. Nově vzniklé bitcoiny jsou bitcoinovým protokolem zaslány na těžařovu adresu. Zde tyto bitcoiny leží jako neutracené výstupy své první transakce.
  2. Jakmile se těžař rozhodne své vytěžené bitcoiny utratit, musí sestavit platnou bitcoinovou transakci. U transakce definuje vstupy (ony vytěžené bitcoiny) a výstupy: adresa, na kterou bitcoin zasílá, a případný “change output”, tj. zůstatek, který těžař neutrácí a chce si jej ponechat.
  3. Příjemce těžařovy transakce má opět na své adrese neutracený výstup transakce. Až bude chtít své bitcoiny utratit, opět sestaví novou transakci, u které definuje vstupy (tj. neutracený výstup předchozí transakce) a výstupy (destinace, kam bitcoiny zasílá, a případný change output).
Model bitcoinové transakce. Všechny bitcoiny existují ve formě neutracených výstupů transakcí. UTXO 1 vzniká protokolovou emisí nových bitcoinů při těžbě. Těžař platí 0,1 BTC jinému uživateli, v rámci UTXO modelu však musí utracit celý vstup (6,25 BTC). Proto musí být definovaný i change output, který jde na novou těžařovu adresu. Transakce zde stojí 10000 sats (0,001 BTC), proto jsou UTXO 2 + UTXO 3 v součtu menší než UTXO 1.

Když sečteme všechny existující UTXO, dostaneme aktuální množství bitcoinu. Všech 18651812 bitcoinů v oběhu (v době psaní článku) existuje ve formě neutracených výstupů transakcí. Součet všech UTXO se nazývá UTXO set, a drží si jej každý bitcoinový full node. Jakmile full node zaznamená novou transakci v síti (kterou nody dále přeposílají dalším nodům), prověří validitu transakce oproti UTXO setu, tj. zda daná transakce utrácí vstupy, které jsou součástí platného UTXO setu (a nebyly utraceny již dříve).

UTXO set je ve své podstatě nejdůležitějším výstupem blockchainu. Blockchain eviduje veškeré dosavadní transakce, a UTXO set je aktuálním výstupem. Bez blockchainu bychom nebyli schopni nezávisle a decentralizovaně určit, jak jsme dospěli k aktuálnímu počtu bitcoinů a jejich majitelů - a bez UTXO set bychom nebyli schopni stanovit, kolik bitcoinů která adresa vlastní.

Počet UTXO. Všechny současné bitcoiny leží na více než 70 milionech UTXO. Průměrné UTXO má tudíž hodnotu 0,257 BTC. Zdroj: statoshi.info.

Co ovlivňuje výši transakčních poplatků?

Velikost transakce

Prvním faktorem ovlivňujícím nákladnost transakce je její velikost.

Pro mnoho lidí seznamujících se s Bitcoinem je velkým překvapením, že velikost bitcoinové transakce nijak nesouvisí s tím, kolik bitcoinů v transakci posíláme. Mohu posílat 100 bitcoinů a zaplatit poplatek 1000 sats (~0,6 USD), a mohu posílat 0,01 bitcoinu a zaplatit poplatek 100000 sats (~60 USD). Jak je to možné? První transakce má totiž mnohem menší velikost, a to je to jediné, co bitcoinovou síť zajímá. Jak jsme si již vysvětlili výše, bitcoinové bloky mají omezenou velikost; těžaři tudíž mají motivaci zařadit do bloku co nejvíce transakcí, aby pobrali co nejvíce transakčních poplatků. Čím je transakce menší, tím větší šanci tak má šanci dostat se do bloku - respektive tím menší celkový poplatek bude muset zaplatit.

Transakční poplatky se zpravidla udávají v sats/vB, tj. satoshi na jeden virtuální byte. To samozřejmě znamená, že čím více virtuálních bytů má transakce, tím dražší bude.

Co ale ovlivňuje velikost transakce, tj. kolik bude mít celkem virtuálních bytů? Jsou to především tři věci:

  1. počet vstupů: čím více má transakce vstupů, tím bude větší a dražší;
  2. počet výstupů: čím více má transakce výstupů, tím bude větší a dražší;
  3. formát adresy: nepoužívá-li transakce nativní SegWit adresy (formát bech32, adresy začínají na “bc1”), pak bude transakce větší a dražší.

O problematice rozličných formátů bitcoinových adres jsme pojednali dříve v článku Schnorrovy podpisy a Taproot: dlouho očekávané upgrady Bitcoinu se blíží! Pro naše potřeby je nutné vědět pouze to, že starší formáty adres (začínající na “1” či “3” zvyšují velikost transakce a prodražují ji. Nejlepší formát adres je segwitová adresa ve formátu bech32, začínající na “bc1”. Máte-li tudíž ještě bitcoiny na starém formátu adres, uděláte dobře, když si je přesunete na modernější formát začínající na “bc1”. V budoucnu výrazně ušetříte na poplatcích. Tento formát podporuje již mnoho peněženek, například Samourai, Wasabi, Electrum, Copay, Trezor (skrze aplikaci Suite), Phoenix.

Z uvedeného si můžeme lehce odvodit, jaký typ bitcoinové transakce bude ten nejlevnější. Je to transakce s jedním vstupem, jedním výstupem a prováděná z adresy začínající na “bc1”. Taková transakce má velikost 110 vB, příklad naleznete zde. Obdobná transakce s jedním vstupem i výstupem, která je však provedena z adresy začínající na “1”, má 192 vB, příklad naleznete zde. Nevyužívání segwitové adresy (začínající na “bc1”) vás tudíž může přijít až o 75 % dráž.

Děláte to pro sebe, své děti a světový mír.

Typická bitcoinová transakce zpravidla mívá dva výstupy: jeden výstup jde na cizí peněženku (tj. komu platíme), druhý výstup se vrací nám na novou adresu vygenerovanou naší peněženkou (tj. change output). Taková transakce má okolo 140 vB (za předpokladu útraty ze segwitové adresy).

Časté rovněž je, že transakce používá více vstupů, a to zejména tehdy, když potřebujete zaslat více, než máte v jakémkoli jednotlivém vstupu. Zasíláte-li 0,1 bitcoinu a máte vstupy o velikosti 0,05BTC, 0,03BTC a 0,02BTC, pak bude vaše transakce mít tři vstupy. Transakce o třech vstupech a dvou výstupech má 276 vB (opět za předpokladu útraty ze segwitové adresy).

Spočítat si velikost transakcí při různých vstupech, výstupech a formátech adres můžete s pomocí nástroje Jamesona Loppa: Bitcoin Transaction Size Calculator. Poznámka: segwitové adresy (“bc1”) jsou v nástroji pod označením P2WPKH (pay to witness public key hash; další zkratky použitých formátů vstupů/výstupů jsou vysvětleny na Stack Exchange).

Fee rate

Druhým faktorem ovlivňujícím nákladnost transakce je převládající fee rate, tj. kolik satoshi musíte zaplatit za jeden virtuální byte, aby těžaři transakci přijali do některého z následujících bloků.

Fee rate nicméně není nikým diktován, jedná se o čistě tržní fenomén podobný neustále probíhající aukci mezi uživateli Bitcoinu. Jeho aktuální výše je ovlivňována dvěma hlavními faktory:

  1. velikost bloku - jeden blok má kapacitu 4 miliony váhových jednotek (weight units), což odpovídá zhruba 1,2 - 1,7 MB (záleží na efektivitě transakcí, hlavně používají-li segwit formát);
  2. zaplněnost mempoolu a poptávka po umístění transakcí v bloku.

Jinak řečeno, čím více uživatelů chce dostat své transakce do limitovaného prostoru jednoho bloku, tím vyšší bude fee rate. Uživatelé se budou snažit přeplatit ostatní, aby se jejich transakce dostala přednostně do dalšího bloku.

S doporučenou velikostí poplatku částečně pomáhají uživatelům peněženky, které zpravidla nabízejí low / medium / high / custom poplatky. Ideální je, když se naučíte odhadovat a stanovovat si poplatky sami - většinou tak výrazně ušetříte. Dobrým výchozím bodem pro zmapování aktuální situace ohledně poplatků je stránka Mempool.Space - orientaci na této stránce vysvětluji v popisku obrázku níže.

Modré bloky vpravo jsou nedávno vytěžené bloky obsahující transakce, které byly potvrzeny. Prvním údajem (~96 sats/vB) je mediánový poplatek transakcí v daném bloku. Hned pod ním jsou minimální a maximální fee rates, které uživatelé zadali (tj. v bloku 674 725 se vyskytovaly transakce s fee rate 89 sats/vB, ale i 773 sats/vB). Vlevo je stav mempoolu, tj. transakcí čekajících na potvrzení. Tato část slouží pro odhad fee rate v blízké budoucnosti. Níže (Low/Medium/High priority) je doporučení ohledně fee rate podle ochoty čekat (u Low priority pravděpodobně počkáte několik bloků, než bude transakce potvrzena).

Dust UTXO: neutratitelné drobáčky

A nyní se dostáváme k jádru problému, kterým je minimální praktická velikost UTXO.

Řekněme, že typická velikost transakce je 200 vB - to odpovídá segwitové transakci se 2 vstupy a 2 výstupy. Je-li převládající fee rate 50 sats/vB, pak transakční poplatek činí 10000 satoshi.

UTXO menší než 10 tisíc satoshi tedy bude neutratitelné, jelikož transakční poplatek by sebral veškerou hodnotu. Neutratitelné UTXO se nazývá dust UTXO.

V minulosti byly dust UTXO spíše okrajový problém, jelikož se, vyjádřeno ve fiatu, jednalo o zanedbatelné částky. Nicméně rostoucí cena bitcoinu vytváří dust i z částek, které nejsou už úplně nevýznamné. Při cenovce 60 tisíc dolarů za 1 bitcoin má 1 satoshi hodnotu 0,0006 USD. 10 tisíc satoshi pak má hodnotu 6 USD.

To nicméně neznamená, že by dust byl nyní cokoli pod 10 tisíc satoshi; praktickým dustem je v uvedeném příkladě mnohem vyšší částka, než 10 tisíc satoshi. Důvodem je, že nechceme platit transakční poplatky v řádu desítek procent z utrácené částky. Řekněme, že přijatelný transakční poplatek je maximálně 5 % z utrácené částky - to poté znamená, že naše UTXO by mělo mít výši 200 tisíc satoshi.

V prostředí rychle rostoucí ceny Bitcoinu a zároveň rostoucího fee rate je zapotřebí myslet na minimální velikost UTXO, a to právě ve vyjádření v satoshi. Protože 1000 Kč před rokem je v satoshi něco jiného, než 1000 Kč dnes.

Jak tedy stanovit minimální praktickou výši UTXO?

Ovlivňují ji tři faktory:

  1. velikost transakce, kterou budeme předmětné UTXO utrácet;
  2. budoucí fee rate;
  3. dnešní fiatová hodnota.

Velikost transakce můžete snížit jednoduše. Používejte segwitové adresy. Konsolidujte inputy (pro snížení budoucích velikostí transakcí je lepší mít jeden vstup o hodnotě 0,01BTC než 10 vstupů o hodnotě 0,001BTC) - ale dbejte našeho varování v boxu. Zobrazení vašich inputů nabízí stále více peněženek - kupříkladu Samourai, Wasabi, během tohoto roku tuto funkci bude mít i Trezor Suite. Jakmile budete znát skladbu svých vstupů, mějte ji stále na paměti a nevytvářejte si dust například při platbách, kde change output bude mít v satoshi příliš nízkou hodnotu.

i

Varování: konsolidujte s rozvahou!

Než se vrhnete na konsolidaci vstupů, pamatujte na důležitou věc: můžete si takto spojit coiny s KYC stopou a non-KYC coiny. Takže tím můžete burze/regulátorovi či komukoli dalšímu, že máte ve skutečnosti mnohem více coinů, než jste na burze nakoupili. O nebezpečí KYC procesů jsme psali v článku KYC: poznej svého zákazníka, pravil regulátor.

Budoucí fee rate neznáme - ale počítejte s tím, že může být 100 sats/vB a vyšší. K tomu není příliš co dodat - onchain transakční poplatky půjdou v budoucnu pravděpodobně mnohem výše, než kdy v minulosti. Poptávka po onchain transakcích se bude s rostoucí adopcí pouze zvyšovat. Naučte se pracovat s Lightning Network a menší transakce provádějte s téměř nulovými poplatky na této platební vrstvě.

Dnešní fiatová hodnota například při stackování (pravidelných úsporách do bitcoinu) by se měla přizpůsobit minimální výši UTXO. Jste-li zvyklí stackovat 1000 Kč měsíčně, jste skoro na hraně minimálního UTXO. Raději si stanovte za cíl, že si každý měsíc stacknete alespoň 100 tisíc satoshi. Přejděte na sats standard a uvažujte v satoshi. S přepočtem fiatu do sats vám pomůže tato kalkulačka.

Správný bitcoiner se pozná podle toho, že mu nedají spát zásadní problémy jako je aktuální fee rate.

Minimální doporučená velikost UTXO

Tabulka níže uvádí orientační minimální velikosti UTXO v sats a v dolarech. V praxi to znamená, že při daných fiatových cenovkách bitcoinu a odhadovaném fee rate byste měli stackovat alespoň v této minimální výši. Na to je třeba pamatovat např. při stackování přes Bisq, kde každý nákup vytváří nové UTXO; při stackování s pomocí Bisq zohledněte doporučené minimální nákupy. V budoucnu se snad více rozšíří možnost stackování přes Lightning Network, kde problematiku minimální velikosti UTXO řešit nemusíme.

Předpoklady použité pro výpočet v tabulce:

  • transakce, kterou budeme dané UTXO utrácet, má 200 vB
  • při útratě daného UTXO nechceme, aby transakční poplatek činil více, než 5 % utrácené částky

Dnešní situace (v době psaní článku) je úplně vlevo nahoře (cena okolo 50 tisíc dolarů, fee rate okolo 50 sats/vB). Zbytek tabulky slouží k plánování do budoucna, tj. jak velké UTXO byste si měli vytvářet při předpokladu různých cenových úrovní a fee rate.

Tabulky zobrazují minimální doporučenou velikost UTXO. Horní tabulka je v satoshi, spodní v USD. V horní tabulce je patrné, že fiatová cenovka nemá na minimální UTXO vyjádřené v satoshi vliv - podstatný je předpokládaný budoucí fee rate. Čím více budeme platit za potvrzení transakce, tím větší by mělo být minimální UTXO, chceme-li platit maximálně 5% poplatek z utrácené částky. Ve spodní tabulce je přepočet satoshi do dolarových částek. Při ceně 100 tisíc dolarů za bitcoin a transakčních poplatcích 100 sats / vB tedy bude minimální UTXO mít hodnotu 400 dolarů.

Nejlépe zkrátka uděláte, když se velikost vašich UTXO bude pohybovat alespoň v řádech statisíců, ideálně však v řádech milionů satoshi. UTXO ve velikosti pod 0,001BTC (100 tisíc satoshi) jsou již na hranici dustu, zejména zohledníme-li předpokládaný růst fee rate v budoucnosti.

Znamená to snad, že v budoucnu si běžní lidé již nebudou moci spořit do Bitcoinu? Pravděpodobně neznamená, jelikož s rostoucí cenovkou bude velká motivace umožnit lidem stackovat za pomoci Lightning Network, kde není problém provádět levné transakce v řádu stovek satoshi.

Myslete na velikost vašich outputů a využívejte období, kdy jsou poplatky nízké - přesouvejte na segwit adresy, otevírejte Lightning kanály, myslete na minimální velikost UTXO při stackování. Starejte se o své satoshi, a ony se v budoucnu postarají o vás.

Josef Tětek

Josef Tětek

Josef je ekonom vycházející z rakouské školy ekonomie. Věnuje se Stackuj Podcastu a vede edukativní projekt Trezor Academy se zaměřením na posílení finanční a bitcoinové gramotnosti primárně v Africe. Autor knih Nepřátelé státu, přátelé svobody, Bitcoin: Odluka peněz od státu a Bitcoin: Návrat zdravých peněz. @JosefTetek na Twitteru.

Osobní stránky: Stackuj.cz


4,8 117×
Trezor Model T
Hardware peněženka šifrovací, podporuje více než 500 měn, USB-C, microSD
3 299,-
Skladem > 5 ks
Do půlnoci objednáš, ráno v AlzaBoxu máš.
Info
Objednací kód: TREZBIT1d
4,8 618×
Trezor Model One - White
Hardware peněženka - podpora 600 kryptoměn (Bitcoin, Litecoin, Ethereum…), U2F a další funkce pro správu digitální identity, OLED displej 128x64, snadné použítí na Windows, OS X, Linux, USB
1 249,-
Skladem > 5 ks
Do půlnoci objednáš, ráno v AlzaBoxu máš.
Info
Objednací kód: TREZBIT
4,8 618×
Trezor Model One - Black
Hardware peněženka - podpora 600 kryptoměn (Bitcoin, Litecoin, Ethereum…), U2F a další funkce pro správu digitální identity, OLED displej 128x64, snadné použítí na Windows, OS X, Linux, USB
1 249,-
Skladem > 5 ks
Do půlnoci objednáš, ráno v AlzaBoxu máš.
Info
Objednací kód: TREZBIT1
4,7
Bitcoin: Peníze budoucnosti
Elektronická kniha - autor Dominik Stroukal a Jan Skalický, 170 stran
99,-
Ihned ke čtení
Objednací kód: EK22762
Kryptomeny: Bitcoin, Ethereum, Blockchain, ICO&Co. jednoducho a zrozumiteľne
Kniha - autor Julian Hosp, 172 stran, slovensky, brožovaná bez přebalu lesklá
269,-
Skladem > 5 ks u dodavatele
Objednací kód: FKP0274319
Vytisknout
P-DC1-WEB14
Zavoláme Vám a odborně poradíme
+420 225 340 111
Dotaz na objednávku
Dotaz na zboží
Prosím zadejte svůj telefon:
Zavolejte mi
Zkuste naše cookies My, společnost Alza.cz a.s., IČO 27082440 používáme soubory cookies a další údaje k zajištění funkčnosti webu a s Vaším souhlasem i mj. k personalizaci obsahu našich webových stránek. Kliknutím na tlačítko „Rozumím“ souhlasíte s využívaním cookies a dalších údajů vč. jejich předání pro zobrazení cílené reklamy na sociálních sítích a reklamních sítích na dalších webech.
Více informací Méně informací
Alzak icon