Transakční poplatky spojené s bitcoinovými transakcemi již dávno nejsou zanedbatelnou položkou, zejména používáte-li Bitcoin na menší transakce. Pro uživatele Bitcoinu je tudíž vhodné seznámit se s několika nástroji, které ukazují aktuální stav sítě.
Transakční poplatky
Když ze své peněženky odesíláte transakci, odesíláte ji bitcoinovým uzlům (full nodes), které kontrolují platnost transakcí a propagují transakce dalším nodům. Databáze platných transakcí čekajících na potvrzení se nazývá mempool. Transakce, které se nacházejí v mempoolu, mají 0 konfirmací – to znamená, že je ještě žádný těžař nezařadil do bloku, jenž byl vytěžen a připojen na konec blockchainu.
Jakmile těžař transakci zařadí do bloku a vytěží, získá tím transakce první konfirmaci. S dalšími připojenými bloky získává naše transakce další a další konfirmace a je považována za nezměnitelnou (respektive zpětná změna blockchainu je po pár blocích již prohibitivně nákladná a takový útok se nevyplatí).
Je-li bitcoinový mempool plný čekajících transakcí, dostane se do příštího bloku jen část těchto transakcí, jelikož bloky mají limit na maximální velikost (viz vysvětlující box). O tom, jaké konkrétní transakce se do příštího bloku dostanou, rozhodují transakční poplatky spojené s danými transakcemi. Absolutní výše transakčního poplatku nicméně není rozhodující – důležitější je transakční poplatek vztažený k velikosti transakce.
Bitcoinové transakce totiž mohou mít různou velikost na základě toho, z jakých outputů jsou poskládané, či zda obsahují nějaký složitější script kód (např. multisig, locktime atd.). Dvě transakce převádějící 0.1 BTC tudíž mohou mít řádově odlišnou velikost, čemuž by měl odpovídat i přiřazený transakční poplatek. Uživatel zkrátka neplatí za to, jak hodnotný je bitcoinový převod, ale kolik místa zabere v bloku.
[feature_box style="10" only_advanced="There%20are%20no%20title%20options%20for%20the%20choosen%20style" alignment="center"]
SegWit a sat/vB
Obdobně jako se v logistice platí za kilogram přepravovaného zboží, v Bitcoinu se platí za jednotku „váhy“ transakce. Před implementací technického upgradu Segregated Witness (SegWit) byla tato váha vyjadřována v prostých bytech (B) a jeden blok měl maximální limit velikosti 1 000 000 bytů (1 MB). Po SegWitu mají různé části transakce různou váhu a zabírají různě velký prostor v bitcoinovém bloku. Celý blok má limit kapacity 4 000 000 váhových jednotek (weight units), přičemž podpisová data dle SegWitu mají váhu 1 jednotky, starší typ podpisových dat má váhu 4 jednotky.
Tímto způsobem SegWit navyšuje transakční kapacitu a SegWit transakce jsou pro uživatele také výrazně levnější. 4 váhové jednotky se rovnají jednomu virtuálnímu bytu (vB). Jednotka vB se ujala coby dominantně užívané měřítko pro velikost transakcí, jelikož navazuje na dříve používané prosté byty.
Satoshi (sat) je nejmenší nominální jednotka bitcoinu. 1sat = 0,00000001 BTC. Transakční poplatky jsou vyjádřeny v počtu Satoshi za 1 virtuální byte. Bitcoinová transakce o velikosti 256 vB s transakčním poplatkem 5 sats/vB tudíž bude stát odesílatele 1280 Satoshi (0,00001280 BTC).
[/feature_box]
Mempool a transakční poplatky
Bitcoinové peněženky se při sestavování transakce pokusí odhadnout poplatek, který zajistí zahrnutí transakce do příštích bloků, aby uživatel nemusel dlouho čekat. Některé peněženky mají lepší algoritmus pro odhadnutí, jiné horší. Může se stát, že uživatel za poplatek zbytečně přeplatí, či naopak zaplatí málo a jeho transakce se na několik dní „zasekne“ v mempoolu. Je proto dobré nespoléhat se pouze na odhad peněženky, ale zkonzultovat některé nástroje, které ukazují aktuální stav sítě. Aneb variace na don’t trust, verify.
Nejprve je dobré se podívat, jak je na tom mempool – kolik je nepotvrzených transakcí a jaké jsou průměrné transakční poplatky v posledních blocích? Tyto otázky zodpoví skvělý nástroj mempool.space.
Zde na pravé straně vidí uživatel poslední vytěžené bloky a jejich velikost. Dosahuje-li velikost přes 1MB, většinou to znamená, že jsou bloky zcela zaplněné. Po levé straně vidí uživatel odhad, jak budou vypadat příští bloky, a to co do počtu transakcí, velikosti bloků a hlavně transakčních poplatků.
Transakční poplatky jsou zde vypsány pouze co do průměru a rozsahu, nicméně i ty mohou leccos napovědět. Vidíme-li například, že v příštím bloku pravděpodobně budou transakce s poplatky 3-996 sat/vB, nemusíme přeplácet a platit kupříkladu 300 sat/vB, které nám peněženka se špatným algoritmem může nabízet.
Mempool.space je nicméně spíše nástroj pro prvotní představu o počtu čekajících transakcí. Vzhledem k tomu, že do bloku se aktuálně vejde cca 2-3 tisíce transakcí, je mempool čítající méně než 5 tisíc transakcí poměrně prázdný. Naopak jakmile vidíme desítky tisíc čekajících transakcí, znamená to zpravidla vyšší poplatky.
Fee estimator
Pro přesnější odhad transakčního poplatku lze doporučit nástroj bitcoinfees.earn.com. Zde vidíme v podobě grafu odhad, jak rychle projde transakce s určitým poplatkem sat/vB. Na ose vlevo vidíme poplatek, uprostřed počet transakcí s tímto poplatkem za posledních 336 hodin (14 dní), respektive 24 hodin. Vpravo poté vidíme odhad, jak brzy pravděpodobně transakce s daným poplatkem bude zařazena těžaři do bloku.
Na přiloženém obrázku tudíž například vidíme, že transakce s poplatkem 5 sats/vB by mohla být zařazena již do přespříštího bloku (delay = 2 bloky), můžeme ale také čekat až 18 bloků.
Jak si nastavit poplatky?
Nyní již máme představu, od čeho se odvíjí velikost poplatků v bitcoinové síti a jak jej správně odhadnout. Ale co s tím?
Uživatelsky přívětivé peněženky nabídnou vlastní odhad, a to včetně konkrétního sat/vB. Kupříkladu Trezor nabízí jak vlastní škálu odhadů (Low až High), tak i vlastní zadání poplatků. Klikne-li uživatel na volbu Custom, může si zadat vlastní poplatek.
V mobilních peněženkách bývá možné poplatek měnit při odesílání (Copay), měnit jej v nastaveních (Coinomi), či alespoň překlikávat mezi Regular/Economy (Breadwallet). Ať už používáte jakoukoli peněženku, seznámit se s možností určovat si vlastní poplatek je doporučeníhodné.
Co když zadám příliš nízký poplatek?
Nejednomu uživateli se již stalo, že zadal příliš nízký poplatek a jeho transakce následně klidně i na několik dní „zamrzla“ v mempoolu. To je nepříjemná situace, zvlášť když například odesíláte bitcoiny na burzu, kde je chcete prodat a musíte čekat, mezitím co se vám před očima mění kurz...
Často se tento problém vyřeší sám od sebe – zaplněnost mempoolu podléhá fluktuacím a když je mempool prázdnější, dostanou se těžaři k potvrzování transakcí s nižšími poplatky. Pěkný přehled o těchto fluktuacích nabízí nástroj https://jochen-hoenicke.de/queue/#0,30d.
Pokud však na potvrzení transakce spěcháte, je zde několik způsobů, jak se pokusit o její rychlejší potvrzení:
- Replace by fee (RBF) – v principu se jedná o double spend již odeslané transakce. Jednoduše zadáte totožnou transakci s vyšším poplatkem, čímž budou mít těžaři vyšší motivaci zahrnout ji do bloku. Stará transakce s nízkým poplatkem pak bude neplatná, jelikož její inputy již byly utraceny. Tuto funkci musíte však aktivovat před odesláním původní transakce, umožňuje to například peněženka Electrum.
- Child pays for parent (CPFP) – jedná se o transakci, kdy utrácíte outputy z transakce, která ještě nebyla vytěžena. V navazující transakci zadáte dostatečně vysoký poplatek, aby se těžaři vyplatilo vytěžit i předchozí transakci. Ideální pro tuto metodu je využít peněženku, která zobrazuje konkrétní outputy a umožňuje jejich volbu při sestavování nové transakce. K tomu je doporučeníhodná peněženka Wasabi.
- Rebroadcast transaction – nepotvrzenou transakci můžete znovu vyslat do mempoolu. Některé uzly totiž zahazují nepotvrzené transakce, které v mempoolu visí po určitou dobu. K této metodě stačí tx ID a zadat jej do https://bitaccelerate.com/.
Pozor: žádná bitcoinová transakce ve skutečnosti nikdy neexpiruje. Nepotvrzená transakce se může potvrdit klidně po několika týdnech či měsících. Pokud byste tedy chtěli zamrzlou platbu řešit posláním nové, nezávislé transakce s tím, že stará transakce se již nepotvrdí, mohli byste o své bitcoiny přijít - tím, že byste vlastně provedli platbu dvakrát. Pokud skutečně spěcháte, využijte jednu ze tří výše zmíněných metod.
Mempool vizualizace
Zábavným a zároveň poučným nástrojem jsou všemožné vizualizace mempoolu. Ty ukazují bitcoinové transakce v různé podobě, občas doprovázené zvukovými efekty. Různě veliké transakce mívají různou vizuální a zvukovou reprezentaci. Některé vizualizace vznikly v táboře podpůrců bitcoinového forku Bitcoin Cash (Bcash) a poměrně komicky ukazují, jak je mempool Bcashe oproti Bitcoinu prázdný.
Transakce Bitcoin / Bcash jako autíčka na dálnici: https://txhighway.com/
Transakce Bitcoin / Bcash jako autobusoví pasažéři: https://txstreet.com/
Transakce Bitcoin jako kuličky: https://bitbonkers.com/
Transakce Bitcoin jako bubliny: https://www.bitlisten.com/
Na závěr zbývá jen doporučení seznámit se se zmíněnými nástroji a využívat jich. Ušetříte si tak nervy, čas i peníze. A ještě jedna věc: v dobách poloprázdného mempoolu a nízkých transakčních poplatků (<10 sats/vB) doporučujeme konsolidovat outputy – to znamená, že si veškerý zůstatek z vlastní peněženky pošlete na svou adresu, klidně v té samé peněžence. Větší množství outputů se vám tak slije do jednoho outputu a budoucí transakce budou levnější.
Rekapitulace - užitečné nástroje
https://mempool.space/
https://bitcoinfees.earn.com/
https://jochen-hoenicke.de/queue/#0,30d
https://bitaccelerate.com/
https://txhighway.com/
https://txstreet.com/
https://bitbonkers.com/
https://www.bitlisten.com/
[twitter-follow username="btctip_cz" scheme="dark"]
.
[easy-social-share buttons="facebook,twitter,linkedin" counters=1 counter_pos="inside" hide_names="no" template="tiny-retina"]
Dobrý den,z Blocchainu mi přišlo,že poplatek uvízl v mempoolu,abych zaplatila nový do 15.4….toto jsem provedla,ale o 64$ méně,z Blocchainu mi přišlo potvrzení,že poplatek mají,ale žádají o trpělivost vyřešení moji situace. 3krát jsem posílala mail,ale odpověď žádná…co mám dělat,nevím si rady…
Děkuji za odpověď