Provozuje
Learning - Insights

Co se stane, když se blok bitcoinu zaplní? Každý bajt spustí živou aukci poplatků

Když se provoz v síti bitcoinu zvýší, plný blok síť nezastaví; promění další volné místo v živou aukci, kde má naléhavost svou cenu.

SDÍLET
Co se stane, když se blok bitcoinu zaplní? Každý bajt spustí živou aukci poplatků

Hlavní body

  • Bloky bitcoinu mají limit 4 miliony váhových jednotek, což nutí platby s nižšími poplatky čekat.
  • Bitcoin Core 31.0 dokáže vyřadit slabé balíčky, když se mempool uzlu o velikosti 300 MB zaplní.
  • Uživatelé bitcoinu mají v případě přetrvávajícího přetížení k dispozici 3 možnosti zvýšení poplatku: RBF, CPFP a těžební akcelerátory.

Fronta se tvoří před blokem

Představte si přeplněné nástupiště metra v dopravní špičce. Každý nový cestující má platnou jízdenku, ale přijíždějící vlak má omezenou kapacitu. V síti Bitcoin se transakce nejprve dostane do mempoolu uzlu, což je dočasná úschovna platných plateb, které ještě nebyly potvrzeny. Důležitým detailem je, že neexistuje jediný univerzální mempool. Každý uzel si vede svou vlastní verzi, uplatňuje vlastní lokální pravidla a může vidět mírně odlišný soubor čekajících transakcí.

mempool.space unconfirmed transfer count.
V pondělí v 8:00 EDT čekalo v mempoolu bitcoinu přibližně 90 617 nepotvrzených převodů. Zdroj obrázku: Mempool.space

Plný blok a plný mempool jsou také odlišné jevy. Bitcoinové bloky jsou na základě konsensu omezeny na 4 miliony váhových jednotek, což je měřítko zohledňující strukturu transakčních dat. Uzly Bitcoin Core ve výchozím nastavení vymezují pro své lokální mempooly přibližně 300 MB paměti a mohou uchovávat transakce až po dobu 336 hodin. Blok se může zaplnit, zatímco v paměti zůstává spousta transakcí čekajících na pozdější „vlak“.

Plný blok mění čekání na aukci

Těžaři obvykle nevybírají transakce podle stáří. Vytvářejí šablony bloků na základě poplatků, váhy transakcí a závislostí mezi platbami. Praktickou jednotkou, kterou uživatelé vidí, jsou satoshi na virtuální bajt, neboli sat/vB. Vyšší sazba nabízí těžařům větší výnos za stejný omezený prostor v bloku, takže balíčky s nejvyššími poplatky se obvykle zpracovávají jako první.

To znamená, že platba odeslaná jako první může být potvrzena až po platbě odeslané o několik minut později. Transakce s vysokým poplatkem se může široce rozšířit po síti a dostat se do dalších šablon těžařů. Transakce s nízkým poplatkem může zůstat pod hranicí pro zařazení do bloku, a to i po uplynutí několika bloků. Odhady potvrzení pomáhají, ale nejde o sliby, protože nové transakce přicházejí nepřetržitě a samotné bloky se objevují v nepravidelných intervalech.

Když o každý blok soutěží dostatek čekajících transakcí, mempool se přestává podobat zdvořilé frontě a začíná připomínat seznam čekatelů na upgrade na letišti. Noví, lépe platící „cestující“ mohou vytlačit slabší nabídky. Pokud uzel Bitcoin Core dosáhne svého nakonfigurovaného limitu paměti, ořízne ekonomicky nejslabší skupinu připojených transakcí a zvýší průběžnou místní minimální výši poplatku. Vytlačená transakce není neplatná a blockchain ji nezrušil. Daný uzel ji prostě přestal zpracovávat.

Přetížení se projeví v peněžence

Pro běžného uživatele je prvním důsledkem zpoždění. Peněženka může hlásit, že platba čeká na zpracování již několik hodin, zatímco novější transakce se potvrzují. Pro obchodníka, burzu nebo treasury desk může toto zpoždění odložit vklad na burzu, zpomalit pohyb kolaterálu, přerušit arbitrážní převod nebo způsobit, že prostředky nebudou k dispozici během rychle se měnícího trhu.

Vzhledem k tomu, že poplatky jsou vázány především na váhu transakce spíše než na převáděnou hodnotu, mohou platba ve výši 50 dolarů a převod ve výši 5 milionů dolarů soutěžit za podobných podmínek, pokud jsou jejich transakční struktury srovnatelné. Čím více na čase závisí daný převod, tím dražší se může stát nedostatečné zaplacení poplatku.

Mempool blocks via mempool.space
Zelené bloky na mempool.space představují skupiny nepotvrzených bitcoinových transakcí čekajících v mempoolu na výběr těžaři. Každý blok odhaduje transakce, které se pravděpodobně vejdou do budoucího bloku, na základě jejich sazeb poplatků, měřených v satoshi na virtuální bajt (sat/vB). Těžaři obvykle upřednostňují transakce s nejvyšším poplatkem, protože maximalizují výnosy z bloku. Jelikož se nové bloky těží zhruba každých 10 minut, transakce jsou z mempoolu odstraňovány, zatímco nově vysílané transakce jej neustále doplňují, čímž vzniká neustále se měnící fronta.

Druhým důsledkem je trh s vyššími poplatky. Bitcoin nemá základní poplatek na úrovni protokolu, jako má například Ethereum. Místo toho uživatelé soutěží o mezní sazbu poplatku, kterou mohou těžaři zařadit do dalšího bloku, přičemž každý uzel si také udržuje lokální minimální hranici pro zařazení. Pod tlakem může tato dynamická hranice stoupnout daleko nad základní nastavení softwaru pro přenos. Poplatek zobrazený včera, nebo dokonce před 20 minutami, již nemusí zajistit stejnou rychlost potvrzení.

Třetím důsledkem je nejistota před vypořádáním. Zobrazení transakce v blokovém prohlížeči je důkazem, že o ní vědí některé uzly, nikoli však důkazem, že o ní ví každý těžař. Nepotvrzená platba může být nahrazena, vyřazena nebo zmizet z pohledu uzlu, přičemž zůstává platnou možnou transakcí. Podniky, které vydávají zboží, připisují prostředky na účty nebo považují vklad za konečný již při nulovém počtu potvrzení, přijímají riziko, které může být v případě přetížení sítě ještě viditelnější.

Několik způsobů, jak zachránit uvízlou platbu

Bitcoin sám o sobě nabízí uživatelům dva hlavní způsoby, jak přehodnotit cenu zpožděné platby. Funkce „Replace-by-fee“, známá jako RBF, umožňuje plátci nahradit nepotvrzenou transakci transakcí s vyšší poplatkem. Představte si to jako zrušení nízké nabídky a podání vyšší nabídky na stejné místo. Metoda „Child-pays-for-parent“ (CPFP) volí jinou cestu: utratitelný výstup ze zpožděné transakce se použije v nové, s vysokým poplatkem, „dceřiné“ transakci, což dává těžařům motivaci zahrnout „rodičovskou“ a „dceřinou“ transakci společně.

Ani jeden z těchto nástrojů není zázračný. Nahrazení metodou RBF musí splňovat pravidla uzlu a zaplatit dostatečně vysoký poplatek, aby překonalo jak transakci, kterou nahrazuje, tak aktuální tržní sazby. Dceřiná transakce metodou CPFP musí zvýšit celkovou sazbu poplatků celého balíčku, nestačí, aby pouze sama o sobě vypadala draze. Na prudce rostoucím trhu může i mírné zvýšení poplatku stále vést k tomu, že platba zůstane pod pohyblivou hranicí. Skutečným cílem není minimální poplatek za přenos. Je jím sazba poplatku blízko konce dalšího pravděpodobného bloku.

ViaBTC's transfer accelerator
Akcelerátor přenosů ViaBTC nabízí 20 bezplatných posunů za hodinu.

Kromě těchto dvou možností existují také těžební akcelerátory – služby nabízené některými bitcoinovými těžebními pooly, které uživatelům umožňují odeslat transakci k přednostnímu zpracování, pokud uvízne v mempoolu kvůli nízkému poplatku. Namísto změny konsensuálních pravidel bitcoinu akcelerátor jednoduše požádá zúčastněné těžaře, aby danou transakci zahrnuli do jednoho z následujících bloků, které vytěží. Některé akcelerátory jsou bezplatné, ale mají požadavky na způsobilost, zatímco jiné účtují poplatek nebo vyžadují, aby transakce splňovala minimální výši poplatku.

Core 31.0 mění mechanismus, nikoli limit

Bitcoin Core 31.0 mění některé mechanismy, které stojí za tímto procesem. Jeho clusterový mempool seskupuje propojené nepotvrzené transakce a řadí je podle výše poplatku, za který se očekává, že bude daná skupina vytěžena. Výchozí limity clusteru jsou 64 transakcí a 101 kB virtuální velikosti. Cílem tohoto řešení je zlepšit tvorbu bloků, vyřazování transakcí, přenos transakcí a rozhodování o nahrazování transakcí, aniž by došlo ke změně konsensuálního stropu bitcoinu ve výši 4 milionů váhových jednotek.

Vizualizace konceptu clusterového mempoolu v Bitcoin Core.

Další technické úpravy se snaží snížit náklady na přenos plných bloků sítí. Kompaktní přenos bloků umožňuje uzlu zrekonstruovat velkou část nového bloku z transakcí, které již má k dispozici, čímž se snižuje množství dat a čas potřebný k jeho šíření. To je důležité, protože pomalejší šíření může zvýšit riziko, že dva těžaři na krátkou dobu budou stavět na různých koncích řetězce. Větší kapacita bloků může krátkodobě snížit tlak na poplatky, ale může také zvýšit nároky na šířku pásma, ověřování a šíření.

Praktické ponaučení je jednoduché. Když je bitcoinový blok plný, nic se neporouchá a žádná transakce nezíská přednost za čekání. Těžaři potvrzují ekonomicky nejatraktivnější platné balíčky, které se do bloku vejdou, zatímco levnější platby zůstávají v čekání, jsou přeceněny nebo ztratí dosah pro přenos. Pro investory a podniky není poplatek pouhou poštovní známkou. Je to nabídka na vzácný prostor pro vypořádání. Považujte dobu potvrzení za pravděpodobnost a sledujte aktuální podmínky poplatků, než se rutinní zpoždění stane nákladným provozním problémem.

Zdroj úvodního obrázku: mempool.space

Tento článek byl přeložen z angličtiny pomocí umělé inteligence. Původní anglická verze je autoritativním zdrojem; automatické překlady mohou obsahovat nepřesnosti, zejména v právní a regulační terminologii.

Štítky v tomto článku