Transakčné poplatky a minimálna veľkosť UTXO

Catalogue

Article

Aktualizované

S rastúcou cenovkou bitcoinu sa vám môže stať, že niektoré zostatky v bitcoinovej peňaženke nebude možné utratiť. Dôvodom je veľkosť transakčného poplatku, ktorý môže dosiahnuť desiatok percent utratenej čiastky, či ju dokonca presiahnuť. Ako je to možné? Je načase sa zoznámiť s problematikou UTXO, a čo pre vás znamená v bitcoinovej praxi.

Transakčné poplatky a minimálna veľkosť UTXO – OBSAH

  1. Dôležitý poznatok: transakčné poplatky sú v satoshi!
  2. Čo je neutratený výstup transakcie (UTXO)?
  3. Čo ovplyvňuje výšku transakčných poplatkov?
  4. Dust UTXO: neutratiteľné drobáčky
  5. Minimálna odporúčaná veľkosť UTXO

Dôležitý poznatok: transakčné poplatky sú v satoshi!

Na úvod je dôležité si pripomenúť, ako vlastne fungujú transakčné poplatky v bitcoinovej sieti. Transakčný poplatok platíme preto, že veľkosť bitcoinového bloku je obmedzená. Obmedzenie veľkosti bloku nie je chyba, naopak je to veľmi dôležitá vlastnosť Bitcoinu, ktorá zaisťuje decentralizáciu. Pokiaľ by boli bloky výrazne väčšie, zmenšovalo by to množinu potenciálnych prevádzkovateľov nodov, keďže nároky na prevádzku node by boli vysoké – ako z hľadiska trafficu, tak z hľadiska miesta na disku.

i

Co to je Bitcoin full node?

Bitcoin full node, čiže plný uzol, je základná stavebná jednotka decentralizovanej siete Bitcoin. Prevádzkovatelia full nodov zabezpečia dodržiavanie pravidiel protokolu. Viac o tom, prečo a ako prevádzkovať vlastný full node, sa dočítate v našom článku Čo to je Bitcoin full node? (ZÁKLADY BITCOINU).

Veľkosť transakčných poplatkov závisí od aktuálnej prevádzky v sieti a ochote používateľov zaplatiť dostatočný transakčný poplatok, aby sa ich transakcie dostali do bloku skôr, než transakcie iných používateľov. Pokiaľ čaká v mempoole (databáze nepotvrdených transakcií) 10 000 transakcií a do bloku sa ich zmestí iba 2 500, budú medzi sebou používatelia súperiť o to, čie transakcie sa do bloku dostanú – a to s pomocou vyššieho transakčného poplatku.

Kriticky dôležité je uvedomiť si, že transakčné poplatky nie sú stanovené vo fiate (dolároch, korunách atď.), ale v satoshi na byte. Povedzme, že bitcoinová transakcia má veľkosť 200 virtuálnych bytov (vB – s touto jednotkou sa v rámci Bitcoinu pracuje). Ak je aktuálne prevládajúci poplatok 50 satoshi na virtuálnom byte, potom bude celkový poplatok za vyťaženie transakcie činiť 200 x 50 = 10 000 satoshi. A tak to bude, či už je cena bitcoinu 5 000 dolárov či 100 000 dolárov – bitcoinový protokol fiatová cenovka nezaujíma; ale vás ako používateľa asi áno. V prvom prípade bude transakčný poplatok vo fiate činiť 0,5 dolára, v druhom prípade však 10 dolárov. Tento poznatok má zásadný vplyv na praktické nakladanie s bitcoinom, najmä čo sa týka minimálnej výšky nevyčerpaných transakčných výstupov.

i

Bitcoin a satoshi

Najnižšia jednotka bitcoinu je nazvaná podľa tvorcu Bitcoinu, Satoshiho Nakamoto. Jeden Bitcoin je deliteľný na 100 miliónov satoshi. Satoshi sa tiež často skracuje ako „sat“. Vzhľadom na rapídne rastúcu fiatovú cenovku bitcoinu je vhodné používať a uvažovať v satoshi, než v celých bitcoinoch.

1 BTC = 100 000 000 sat<>

1 sat = 0,00000001 BTC<>

Čo je neutratený výstup transakcie (UTXO)?

Bitcoin existuje vo forme UTXOs – nevyčerpaných výstupov transakcií.

Neutratený výstup transakcie je technicky vzaté jediná forma, v ktorej bitcoin existuje. Poďme si vysvetliť, ako vlastne bitcoiny vznikajú a v akej forme ich držíme v našich peňaženkách:

  1. Všetky bitcoiny vznikajú ťažbou – prevádzkovateľ ťažby, ktorý dodá sieti adekvátny dôkaz prác (proof of work) v podobe správneho hashe, získa dvojzložkovú odmenu: transakčné poplatky od transakcií zaradených do nového bloku, a novovzniknuté bitcoiny. Novo vzniknuté bitcoiny sú bitcoinovým protokolom zaslané na ťažiarovu adresu. Tu tieto bitcoiny ležia ako neutratené výstupy svojej prvej transakcie.
  2. Akonáhle sa ťažiar rozhodne svoje vyťažené bitcoiny minúť, musí zostaviť platnú bitcoinovú transakciu. Pri transakcii definuje vstupy (ony vyťažené bitcoiny) a výstupy: adresa, na ktorú bitcoiny zasiela, a prípadný „change output“, t. j. zostatok, ktorý prevádzkovateľ ťažby neutráca a chce si ho ponechať.
  3. Príjemca ťažiarovej transakcie má opäť na svojej adrese neutratený výstup transakcie. Keď bude chcieť svoje bitcoiny minúť, opäť zostaví novú transakciu, pri ktorej definuje vstupy (t. j. neutratený výstup predchádzajúcej transakcie) a výstupy (destinácie, kam bitcoiny zasiela, a prípadný change output).
Model bitcoinovej transakcie. Všetky bitcoiny existujú vo forme nevyčerpaných výstupov transakcií. UTXO 1 vzniká protokolovou emisiou nových bitcoinov pri ťažbe. Ťažiar platí 0,1 BTC inému používateľovi, v rámci UTXO modelu však musí utratiť celý vstup (6,25 BTC). Preto musí byť definovaný aj change output, ktorý ide na novú ťažiarovú adresu. Transakcia tu stojí 10 000 sats (0,001 BTC), preto sú UTXO 2 + UTXO 3 v súčte menšie ako UTXO 1.

Keď sčítame všetky existujúce UTXO, dostaneme aktuálne množstvo bitcoinov. Všetkých 18 651 812 bitcoinov v obehu (v čase písania článku) existuje vo forme nevyčerpaných výstupov transakcií. Súčet všetkých UTXO sa nazýva UTXO set, a drží si ho každý bitcoinový full node. Akonáhle full node zaznamená novú transakciu v sieti (ktorú nody ďalej preposielajú ďalším nodom), preveria validitu transakcie oproti UTXO setu, t. j. či daná transakcia utráca vstupy, ktoré sú súčasťou platného UTXO setu (a neboli minuté už skôr).

UTXO set je vo svojej podstate najdôležitejším výstupom blockchainu. Blockchain eviduje všetky doterajšie transakcie, a UTXO set je aktuálnym výstupom. Bez blockchainu by sme neboli schopní nezávisle a decentralizovane určiť, ako sme dospeli k aktuálnemu počtu bitcoinov a ich majiteľov – a bez UTXO set by sme neboli schopní stanoviť, koľko bitcoinov ktorá adresa vlastní.

Počet UTXO. Všetky súčasné bitcoiny ležia na viac ako 70 miliónoch UTXO. Priemerné UTXO má teda hodnotu 0,257 BTC. Zdroj: statoshi.info.

Čo ovplyvňuje výšku transakčných poplatkov?

Veľkosť transakcie

Prvým faktorom ovplyvňujúcim nákladnosť transakcie je jej veľkosť.

Pre mnoho ľudí oboznamujúcich sa s Bitcoinom je veľkým prekvapením, že veľkosť bitcoinovej transakcie nijako nesúvisí s tým, koľko bitcoinov v transakcii posielame. Môžem posielať 100 bitcoinov a zaplatiť poplatok 1 000 sats (~0,6 USD), a môžem posielať 0,01 bitcoinu a zaplatiť poplatok 100 000 sats (~60 USD). Ako je to možné? Prvá transakcia má totiž oveľa menšiu veľkosť, a to je to jediné, čo bitcoinovú sieť zaujíma. Ako sme si už vysvetlili vyššie, bitcoinové bloky majú obmedzenú veľkosť; ťažiari teda majú motiváciu zaradiť do bloku čo najviac transakcií, aby pobrali čo najviac transakčných poplatkov. Čím je transakcia menšia, tým väčšiu šancu tak má šancu dostať sa do bloku – respektíve tým menší celkový poplatok bude musieť zaplatiť.

Transakčné poplatky sa spravidla udávajú v sats/vB, t. j. satoshi na jeden virtuálny byte. To samozrejme znamená, že čím viac virtuálnych bytov má transakcia, tým drahšia bude.

Čo ale ovplyvňuje veľkosť transakcie, t. j. koľko bude mať celkom virtuálnych bytov? Sú to predovšetkým tri veci:

  1. počet vstupov: čím viac má transakcia vstupov, tým bude väčšia a drahšia;
  2. počet výstupov: čím viac má transakcia výstupov, tým bude väčšia a drahšia;
  3. formát adresy: ak nepoužíva transakcia natívne SegWit adresy (formát bech32, adresy začínajú na „BC1“), potom bude transakcia väčšia a drahšia.

Pre naše potreby je nutné vedieť iba to, že staršie formáty adries (začínajúce na „1“ či „3“) zvyšujú veľkosť transakcie a predražujú ju. Najlepší formát adries je segwitová adresa vo formáte bech32, začínajúca na „BC1“. Ak máte teda ešte bitcoiny na starom formáte adries, urobíte dobre, keď si ich presuniete na modernejší formát začínajúci na „BC1“. V budúcnosti výrazne ušetríte na poplatkoch. Tento formát podporuje už mnoho peňaženiek, napríklad Samourai, Wasabi, Electrum, Copa, Trezor (prostredníctvom aplikácie Suite), Phoenix.

Z uvedeného si môžeme ľahko odvodiť, aký typ bitcoinovej transakcie bude ten najlacnejší. Je to transakcia s jedným vstupom, jedným výstupom a uskutočňovaná z adresy začínajúcej na „BC1“. Taká transakcia má veľkosť 110 vB, príklad nájdete tu. Obdobná transakcia s jedným vstupom aj výstupom, ktorá je však prevedená z adresy začínajúcej na „1”, má 192 vB, príklad nájdete tu. Nevyužívanie segwitovej adresy (začínajúcej na „BC1“) vás teda môže prísť až o 75 % drahšie.

Robíte to pre seba, svoje deti a svetový mier.

Typická bitcoinová transakcia spravidla máva dva výstupy: jeden výstup ide na cudziu peňaženku (t. j. komu platíme), druhý výstup sa vracia nám na novú adresu vygenerovanú našou peňaženkou (t. j. change output). Takáto transakcia má okolo 140 vB (za predpokladu útraty zo segwitové adresy).

Časté tiež je, že transakcia používa viac vstupov, a to najmä vtedy, keď potrebujete zaslať viac, než máte v akomkoľvek jednotlivom vstupe. Pokiaľ posielate 0,1 bitcoinu a máte vstupy s veľkosťou 0,05 BTC, 0,03 BTC a 0,02 BTC, potom bude mať vaša transakcia tri vstupy. Transakcia s tromi vstupmi a dvomi výstupmi má 276 vB (opäť za predpokladu útraty zo segwitovej adresy).

Spočítať si veľkosť transakcií pri rôznych vstupoch, výstupoch a formátoch adries môžete s pomocou nástroja Jamesona Loppa: Bitcoin Transaction Size Calculator. Poznámka: segwitové adresy („bc1”) sú v nástroji pod označením P2WPKH (pay to witness public key hash; ďalšie skratky použitých formátov vstupov/výstupov sú vysvetlené na Stack Exchange).

Fee rate

Druhým faktorom ovplyvňujúcim nákladnosť transakcie je prevládajúci fee rate, t. j. koľko satoshi musíte zaplatiť za jeden virtuálny byte, aby ťažiari transakciu prijali do niektorého z nasledujúcich blokov.

Fee rate však nie je nikým diktovaný, ide o čisto trhový fenomén podobný neustále prebiehajúcej aukcii medzi používateľmi Bitcoinu. Jeho aktuálna výška je ovplyvňovaná dvomi hlavnými faktormi:

  1. veľkosť bloku – jeden blok má kapacitu 4 milióny váhových jednotiek (weight units), čo odpovedá zhruba 1,2 – 1,7 MB (záleží na efektivite transakcií, hlavne ak používajú segwit formát);
  2. zaplnenie mempoolu a dopyt po umiestnení transakcií v bloku.

Inak povedané, čím viac používateľov chce dostať svoje transakcie do limitovaného priestoru jedného bloku, tým vyšší bude fee rate. Používatelia sa budú snažiť preplatiť ostatných, aby sa ich transakcie dostali prednostne do ďalšieho bloku.

S odporúčanou veľkosťou poplatku čiastočne pomáhajú používateľom peňaženky, ktoré spravidla ponúkajú low/medium/high/custom poplatky. Ideálne je, keď sa naučíte odhadovať a stanovovať si poplatky sami – väčšinou tak výrazne ušetríte. Dobrým východiskovým bodom na zmapovanie aktuálnej situácie ohľadom poplatkov je stránka Mempool.Space – orientáciu na tejto stránke vysvetľujem v popise obrázku nižšie.

Modré bloky vpravo sú nedávno vyťažené bloky obsahujúce transakcie, ktoré boli potvrdené. Prvým údajom (~96 sats/vB) je mediánový poplatok transakcií v danom bloku. Hneď pod ním sú minimálne a maximálne fee rates, ktoré používatelia zadali (t. j. v bloku 674 725 sa vyskytovali transakcie s fee rate 89 sats/vB, ale aj 773 sats/vB). Vľavo je stav mempoolu, t. j. transakcií čakajúcich na potvrdenie. Táto časť slúži na odhad fee rate v blízkej budúcnosti. Nižšie (Low/Medium/High priority) je odporúčanie ohľadom fee rate podľa ochoty čakať (pri Low priority pravdepodobne počkáte niekoľko blokov, než bude transakcia potvrdená).

Dust UTXO: neutratiteľné drobáčky

A teraz sa dostávame k jadru problému, ktorým je minimálna praktická veľkosť UTXO.

Povedzme, že typická veľkosť transakcie je 200 vB – to zodpovedá segwitovej transakcii s 2 vstupmi a 2 výstupmi. Pokiaľ je prevládajúci fee rate 50 sats/vB, potom transakčný poplatok činí 10 000 satoshi.

UTXO menší ako 10 tisíc satoshi teda bude neutratiteľný, pretože transakčný poplatok by zobral všetku hodnotu. Neutratiteľné UTXO sa nazývajú dust UTXO.

V minulosti boli dust UTXO skôr okrajový problém, keďže, vyjadrené vo fiate, išlo o zanedbateľné čiastky. Avšak rastúca cena bitcoinu vytvára dust aj zo súm, ktoré nie sú už úplne nevýznamné. Pri cenovke 60 tisíc dolárov za 1 bitcoin má 1 satoshi hodnotu 0,0006 USD. 10 tisíc satoshi potom má hodnotu 6 USD.

To však neznamená, že by dust bol teraz čokoľvek pod 10 tisíc satoshi; praktickým dustom je v uvedenom príklade oveľa vyššia suma, než 10 tisíc satoshi. Dôvodom je, že nechceme platiť transakčné poplatky v desiatkach percent z minutej sumy. Povedzme, že prijateľný transakčný poplatok je maximálne 5 % z minutej sumy – to potom znamená, že naša UTXO by mala mať výšku 200 tisíc satoshi.

V prostredí rýchlo rastúcej ceny Bitcoinu a zároveň rastúceho fee rate je potrebné myslieť na minimálnu veľkosť UTXO, a to práve vo vyjadrení v satoshi. Pretože 40 EUR pred rokom je v satoshi niečo iné, ako 40 EUR dnes.

Ako teda stanoviť minimálnu praktickú výšku UTXO?

Ovplyvňujú ju tri faktory:

  1. veľkosť transakcie, ktorou budeme predmetné UTXO míňať;
  2. budúcu fee rate;
  3. dnešná fiatová hodnota.

Veľkosť transakcie môžete znížiť jednoducho. Používajte segwitové adresy. Konsolidujte inputy (na zníženie budúcich veľkostí transakcií je lepšie mať jeden vstup s hodnotou 0,01 BTC ako 10 vstupov s hodnotou 0,001 BTC) – ale dbajte na naše varovanie v boxe. Zobrazenie vašich inputov ponúka čoraz viac peňaženiek – napríklad Samourai, Wasabi, počas tohto roka túto funkciu bude mať aj Trezor Suite. Akonáhle budete poznať skladbu svojich vstupov, majte ju stále na pamäti a nevytvárajte si dust napríklad pri platbách, kde change output bude mať v satoshi príliš nízku hodnotu.

i

Varovanie: konsolidujte s rozvahou!

Než sa vrhnete na konsolidáciu vstupov, pamätajte na dôležitú vec: môžete si takto spojiť coiny s KYC stopou a non-KYC coinmi. Takže tým môžete povedať burze/regulátoru či komukoľvek ďalšiemu, že máte v skutočnosti oveľa viac coinov, než ste na burze nakúpili.

Budúce fee rate nepoznáme – ale počítajte s tým, že môže byť 100 sats/vB a vyššie. K tomu nie je príliš čo dodať – onchain transakčné poplatky pôjdu v budúcnosti pravdepodobne oveľa vyššie, než kedy v minulosti. Dopyt po onchain transakciách sa bude s rastúcou adopciou len zvyšovať. Naučte sa pracovať s Lightning Network a menšie transakcie vykonávajte s takmer nulovými poplatkami na tejto platobnej vrstve.

Dnešná fiatová hodnota napríklad pri stackovaní (pravidelných úsporách do bitcoinu) by sa mala prispôsobiť minimálnej výške UTXO. Pokiaľ ste zvyknutí stackovať 40 EUR mesačne, ste skoro na hrane minimálneho UTXO. Radšej si stanovte za cieľ, že si každý mesiac stacknete aspoň 100 tisíc satoshi. Prejdite na sats štandard a uvažujte v satoshi. S prepočtom fiatu do sats vám pomôže táto kalkulačka.

Správny bitcoiner sa pozná podľa toho, že mu nedajú spať zásadné problémy ako je aktuálna fee rate.

Minimálna odporúčaná veľkosť UTXO

Tabuľka nižšie uvádza orientačné minimálne veľkosti UTXO v sats a v dolároch. V praxi to znamená, že pri daných fiatových cenovkách bitcoinu a odhadovanom fee rate by ste mali stackovať aspoň v tejto minimálnej výške. Na to je potrebné pamätať napr. pri stackovaní cez Bisq, kde každý nákup vytvára nové UTXO; pri stackovaní s pomocou Bisq zohľadnite odporúčané minimálne nákupy. V budúcnosti sa snáď viac rozšíri možnosť stackovania cez Lightning Network, kde problematiku minimálnej veľkosti UTXO riešiť nemusíme.

Predpoklady použité na výpočet v tabuľke:

  • transakcia, ktorou budeme dané UTXO míňať, má 200 vB
  • pri útrate daného UTXO nechceme, aby transakčný poplatok predstavoval viac, ako 5 % utratenej sumy

Dnešná situácia (v čase písania článku) je úplne vľavo hore (cena okolo 50 tisíc dolárov, fee rate okolo 50 sats/vB). Zvyšok tabuľky slúži na plánovanie do budúcnosti, t. j. ako veľké UTXO by ste si mali vytvárať pri predpoklade rôznych cenových úrovní a fee rate.

Tabuľky zobrazujú minimálnu odporúčanú veľkosť UTXO. Horná tabuľka je v satoshi, spodná v USD. V hornej tabuľke je zrejmé, že fiatová cenovka nemá na minimálnu UTXO vyjadrenej v satoshi vplyv – podstatný je predpokladaný budúci fee rate. Čím viac budeme platiť za potvrdenie transakcie, tým väčšie by malo byť minimálne UTXO, pokiaľ chceme platiť maximálne 5 % poplatok z minutej sumy. V spodnej tabuľke je prepočet satoshi do dolárových súm. Pri cene 100 tisíc dolárov za bitcoin a transakčných poplatkoch 100 sats/vB teda bude minimálna UTXO mať hodnotu 400 dolárov.

Najlepšie jednoducho urobíte, keď sa veľkosť vašich UTXO bude pohybovať aspoň v rádoch státisícov, ideálne však v rádoch miliónov satoshi. UTXO vo veľkosti pod 0,001BTC (100 tisíc satoshi) sú už na hranici dustu, najmä ak zohľadníme predpokladaný rast fee rate v budúcnosti.

Znamená to azda, že v budúcnosti si bežní ľudia už nebudú môcť sporiť do Bitcoinu? Pravdepodobne neznamená, pretože s rastúcou cenovkou bude veľká motivácia umožniť ľuďom stackovať za pomoci Lightning Network, kde nie je problém vykonávať lacné transakcie v rádoch stoviek satoshi.

Myslite na veľkosť vašich outputov a využívajte obdobie, kedy sú poplatky nízke – presúvajte na segwit adresy, otvárajte Lightning kanály, myslite na minimálnu veľkosť UTXO pri stackovaní. Starajte sa o svoje satoshi, a ony sa v budúcnosti postarajú o vás.

Josef Tělek

Josef Tětek

Josef is an economist and analyst influenced by the Austrian school of economics. He works as an analyst at TopMonks and is a fellow at the Czech Liberal Institute. Co-author of the paper Bitcoin Peer Banking. Author of Bitcoin: Separation of Money and State. @SatsJoseph on Twitter.


4.8 94×
TREZOR T
Hardware Wallet - encryption, supports 500 currencies, USB-C, microSD, Password Manager
179.90 €
Buy
In stock > 5 pcs
Order by midnight, get it at the AlzaBox in the morning.
Info
Order Code: TREZBIT1d
4.8 459×
TREZOR Bitcoin Wallet White
Hardware Wallet - encryption, OLED display 128x64, easy to use, compatible with Windows, OS X, Linux, USB
59.90 €
Buy
In stock > 5 pcs
Order by midnight, get it at the AlzaBox in the morning.
Info
Order Code: TREZBIT
4.8 459×
TREZOR Bitcoin Wallet Black
Hardware Wallet - coded, OLED display 128 x 64, easy to use with Windows, OS X, and Linux, USB
59.90 €
Buy
In stock > 5 pcs
Order by midnight, get it at the AlzaBox in the morning.
Info
Order Code: TREZBIT1
4.8
Bitcoin a jiné kryptopeníze budoucnosti
Elektronická kniha
7.21 €
Buy
Available for reading
Order Code: EK25934
4.7
Bitcoin: Peníze budoucnosti
Elektronická kniha
4.69 €
Buy
Available for reading
Order Code: EK22762
Print
P-DC1-WEB01
We will call you and advise you professionally
+420 225 340 120
Order inquiry
Question about the product
Please enter your telephone:
Call me
We care about your privacy Alza.cz a. s., Company identification number 27082440, uses cookies to ensure the functionality of the website and with your consent also to personalisage the content of our website. By clicking on the “I understand“ button, you agree to the use of cookies and the transfer of data regarding the behavior on the website for displaying targeted advertising on social networks and advertising networks on other websites.
More information Less info