17 / 736MEM

Mempool

místní zásobník čekajících transakcí

Kam se dostane platba po odeslání, proč někdy čeká a proč její zmizení z průzkumníku ještě neznamená zrušení.

Mempool je místo, kde bitcoinový uzel uchovává přijaté transakce, které ještě nejsou potvrzené v bloku. Uzel je počítač zapojený do bitcoinové sítě. Každý má vlastní zásobník, takže neexistuje jedna společná fronta se zaručeným pořadím. Průzkumník je web, na kterém si můžete prohlížet transakce a bloky.

Po stisknutí Odeslat peněženka předá podepsanou transakci síti. Uzly, které ji obdrží, kontrolují, zda splňuje pravidla sítě a jejich místní podmínky přijetí. Pokud kontrolou projde, mohou ji uložit do svého mempoolu a předat dál. Zobrazení platby v průzkumníku tedy znamená, že o ní jeho provozovatel ví, nikoli že už byla potvrzena. První potvrzení získá až zařazením do platného bloku v aktuálním řetězci. I to může změnit reorganizace, při níž síť přejde na jinou platnou větev s více nahromaděné práce. [2]

Mempool nefunguje jako fronta u pokladny. Místo v bloku je omezené a těžaři mají důvod vybírat transakce, které jim za něj přinesou více poplatků. Podstatná je sazba v sat/vB: počet satoshi, tedy nejmenších jednotek BTC, za virtuální bajt, který slouží k měření velikosti transakce pro výpočet poplatku. Například 100 vB při sazbě 10 sat/vB znamená poplatek 1 000 satoshi. Nejde o procento posílané částky. Pokud transakce utrácí výstup jiné dosud nepotvrzené transakce, záleží také na poplatku celého navazujícího balíčku. Ani vysoká sazba neslibuje konkrétní blok nebo čas. [4]

Každý uzel dostává transakce trochu jinak a může mít jiné nastavení paměti nebo pravidla pro jejich přijetí a předávání. Někdy mu chybí i předchozí transakce, na kterou nová platba navazuje. Proto se počty čekajících plateb a odhady poplatků mohou lišit. Tato místní provozní pravidla nejsou totéž co konsenzus, tedy společné podmínky platnosti bloků. Uzel může přijmout platný blok obsahující transakci, kterou předtím ve svém mempoolu neměl. [2]

Po potvrzení už transakce v mempoolu nečeká. Zmizet ale může i kvůli nedostatku paměti, příliš dlouhému čekání nebo nahrazení jinou transakcí utrácející stejné prostředky. Vyřazení z jednoho uzlu není celosíťové storno: jinde může původní transakce zůstat a těžař ji později potvrdit. Z jediného chybějícího záznamu proto nevyvozujte, že je bezpečné zaplatit znovu jinými prostředky. Nejprve ověřte stav v peněžence a případné nahrazení. Po reorganizaci se některé odpojené transakce mohou vrátit mezi čekající, pokud znovu projdou kontrolou. [1] [2]

Pro běžnou kontrolu stačí rozlišit nepotvrzenou platbu od platby v bloku a podívat se na její sazbu i případné předchozí transakce. Pokud si provozujete vlastní Bitcoin Core, příkaz getmempoolentry ukáže údaje o jedné místně známé transakci a getmempoolinfo shrne stav zásobníku. Jsou to dotazy na váš uzel, nikoli na centrální seznam celé sítě. Veřejný průzkumník nabízí stejně tak jen svůj pohled; jeho odhad čekání se může s novými transakcemi a bloky změnit. [3]

Pro nejúplnější obraz čtěte toto heslo společně s Transakce, Transaction Fees, Těžba, Full Node, UTXO. Opačným směrem na něj odkazují také Těžba, Transakce, UTXO, Transaction Fees.

01Existuje jeden globální bitcoinový mempool?

Ne. Každý uzel má vlastní zásobník podle toho, které transakce dostal, jak je nastavený, kolik má paměti a které transakce přijímá a předává dál.

02Co znamená, když transakce z mempoolu zmizí?

Nejprve ověřte, zda už není potvrzená v bloku. Pokud není, mohl ji jeden uzel vyřadit nebo nahradit. Jinde ale může zůstat a těžař ji později potvrdit; zmizení z jednoho mempoolu proto není samo o sobě zrušení platby.

DOC · 001Bitcoin Core v29.0: mempoolPrimární zdroj DOC · 002Bitcoin Core v29.0: transaction admissionPrimární zdroj DOC · 003Bitcoin Core v29.0: mempool RPCPrimární zdroj DOC · 004Bitcoin Core v29.0: block transaction selectionPrimární zdroj
Revidováno: Primární zdroje · Nejde o investiční doporučení