Jak działa mempool

advanced
Część ścieżki Jak działa Bitcoin, krok 10 z 11

Każda transakcja Bitcoin przechodzi przez etap oczekiwania, zanim stanie się ostateczna. W momencie, gdy naciskasz wyślij, twoja transakcja nie przeskakuje od razu do blockchaina. Zamiast tego trafia do poczekalni, gdzie czeka obok tysięcy innych oczekujących transakcji, a wszystkie rywalizują o ograniczoną ilość miejsca w następnym bloku. Ta poczekalnia to mempool, a jego zrozumienie stanowi różnicę między transakcją, która potwierdza się w kilka minut, a taką, która utyka na wiele godzin.

Ten artykuł przygląda się z bliska temu, czym jest mempool, dlaczego tak naprawdę nie istnieje tylko jeden, jak górnicy decydują, które transakcje potwierdzić, oraz co możesz zrobić, gdy transakcja utknie. Opiera się na ideach omówionych w artykule jak weryfikowane są transakcje Bitcoin i schodzi o poziom głębiej w ekonomię i mechanikę potwierdzania.

Czym jest mempool

Słowo mempool to skrót od memory pool, czyli pula pamięci. Możesz go sobie wyobrazić jako poczekalnię, w której ważne transakcje odpoczywają, dopóki górnik nie wybierze ich do bloku. Gdy transakcja zostaje rozgłoszona do sieci, nie jest jeszcze potwierdzona. Jest po prostu w toku, przechowywana w pamięci węzłów, które ją otrzymały, czekając na swoją kolej.

Mempool jest ściśle powiązany z kopaniem. Górnik, który składa blok kandydujący, nie wymyśla transakcji. Wyciąga je z mempoolu. W tym sensie mempool jest zapasem pracy, z którego czerpią górnicy. Rola górnika w wyborze i potwierdzaniu tych transakcji jest szczegółowo omówiona w artykule rola górników w sieci Bitcoin.

Jeden ważny punkt nadaje ton wszystkiemu, co następuje dalej. Mempool nie jest blockchainem. To pamięć tymczasowa. Transakcja, która znajduje się w mempoolu, w żadnym ostatecznym sensie jeszcze się nie wydarzyła. Staje się tym dopiero wtedy, gdy zostaje zapisana w bloku. Do tego czasu może zostać zastąpiona, odrzucona albo wyprzedzona przez transakcje płacące wyższe opłaty.

Nie istnieje jeden mempool

Kusi, by wyobrażać sobie mempool jako jedną wielką wspólną listę, którą każdy może zobaczyć. Ten obraz jest błędny, a jego skorygowanie jest kluczem do zrozumienia Bitcoina jako sieci zdecentralizowanej.

Każdy węzeł trzyma własny mempool. Gdy Alice wysyła Bitcoiny do Boba, jej transakcja najpierw dociera do jednego węzła. Ten węzeł ją sprawdza i, jeśli jest ważna, przechowuje ją we własnej pamięci oraz przekazuje dalej do węzłów, z którymi jest połączony. Tamte węzły robią to samo. Transakcja rozchodzi się na zewnątrz przez sieć, jeden skok po skoku.

Ponieważ to rozprzestrzenianie zajmuje czas, dwa węzły nigdy nie mają dokładnie tego samego zestawu transakcji w tej samej chwili. Niektóre węzły już otrzymały daną transakcję, podczas gdy inne jeszcze jej nie widziały. Każdy węzeł ma więc własną, nieco inną kopię mempoolu.

Dlatego dokładniej jest mówić o mempoolu jako o pojęciu, a nie jako o jednym fizycznym miejscu. Pokrycie między węzłami jest bardzo wysokie, zwykle znacznie powyżej dziewięćdziesięciu dziewięciu procent, i właśnie dlatego eksploratory zwykle zgadzają się ze sobą. Ale ta niewielka pozostała różnica tłumaczy, dlaczego dwie strony internetowe mogą podawać nieco inne liczby transakcji i dlaczego transakcja może czasem zachowywać się w zaskakujący sposób.

Propagacja w sieci jest szybka, ale nie natychmiastowa. Węzły nie przekazują na ślepo surowych danych transakcji wszystkim. Najpierw ogłaszają, że znają transakcję, wysyłając jedynie jej krótki identyfikator. Węzeł, który jej nie widział, prosi wtedy o pełną transakcję, i dopiero wtedy wysyłane są pełne dane. Ta wymiana pozwala uniknąć zalewania sieci zduplikowanymi danymi i dodaje małe, celowe opóźnienia, które pomagają także chronić prywatność punktu pochodzenia.

How a Transaction Spreads

No single global mempool exists. Alice's transaction ripples outward hop by hop, and each node stores its own copy.

Alice is broadcasting
Origin (Alice)
Transaction received
Not yet reached

Each node validates the transaction, stores it in its own mempool, then passes it to its peers.

Jak węzeł decyduje, czy przyjąć transakcję

Węzeł nie przyjmuje wszystkiego, co mu się poda. Zanim transakcja trafi do jego mempoolu, węzeł weryfikuje ją względem reguł sieci i historii zapisanej w blockchainie.

Sprawdza kilka rzeczy. Monety, które mają zostać wydane, muszą rzeczywiście istnieć i muszą być wciąż niewydane, co oznacza, że za transakcją muszą stać wystarczające środki. Podpisy cyfrowe muszą być ważne, co dowodzi, że nadawca jest uprawniony do poruszania tymi monetami. A transakcja nie może być w konflikcie z niczym, co już znajduje się w mempoolu. Jeśli dwie transakcje próbują wydać te same monety, jest to próba podwójnego wydatku, a węzeł zachowuje pierwszą ważną, którą zobaczył, i odrzuca drugą.

Jeśli któryś z tych testów się nie powiedzie, transakcja zostaje od razu odrzucona i nigdy nie trafia do mempoolu. Jeśli wszystko przejdzie, węzeł ją przechowuje i przekazuje dalej. Kryptografia, która umożliwia te testy podpisów, jest wyjaśniona w artykule czym jest kryptografia, a cały proces weryfikacji jest omówiony w artykule jak weryfikowane są transakcje Bitcoin.

Droga transakcji

Warto prześledzić pełną drogę, jaką pokonuje transakcja. Najpierw twój portfel tworzy i podpisuje transakcję, a następnie rozgłasza ją do węzła. Ten węzeł ją weryfikuje i, jeśli jest ważna, umieszcza ją w swoim mempoolu i udostępnia swoim węzłom sąsiednim. Transakcja teraz rozchodzi się po sieci i czeka.

Górnik składający następny blok wybiera transakcje ze swojego mempoolu, zwykle zaczynając od tych, które płacą najwyższą stawkę opłaty, i włącza twoją wśród nich. Gdy ten górnik znajdzie ważny blok, a reszta sieci go zaakceptuje, twoja transakcja ma jedno potwierdzenie. Przeszła teraz z tymczasowej pamięci mempoolu do trwałej pamięci w blockchainie. W miarę jak na górze układają się kolejne bloki, liczba potwierdzeń rośnie, a transakcję coraz trudniej odwrócić.

The Journey of a Transaction

From wallet to confirmed. The mempool is the only temporary stop: everything from mining onward is permanent and secured by proof of work.

Create and sign

Private key authorises the spend

Broadcast

Sent to network nodes

Node validates

Inputs, signatures, rules

Mempool

Waiting by fee rate

Temp
Perm

Mined

Included in a block

Confirmations

Each new block adds one

Zero confirmations means the transaction is in the mempool but not yet secured by any proof of work. Each block mined on top adds one more confirmation.

Miejsce w bloku, waga i wirtualne bajty

Miejsce w bloku jest rzadkie, a to właśnie rzadkość tworzy rywalizację. Nowy blok znajdowany jest średnio mniej więcej co dziesięć minut, a każdy blok może pomieścić tylko określoną ilość.

W pierwszych latach blok był ograniczony do jednego megabajta danych. Aktualizacja SegWit z 2017 roku zmieniła sposób mierzenia tego limitu. Zamiast sztywnego pułapu rozmiaru bloki mają teraz maksymalną wagę 4 000 000 jednostek wagi. Aby łatwiej było o tym rozumować, sieć używa też wirtualnych bajtów. Jeden wirtualny bajt odpowiada czterem jednostkom wagi, więc blok mieści około 1 000 000 wirtualnych bajtów transakcji.

Powód tej zmiany jest subtelny. SegWit stosuje zniżkę do części każdej transakcji zwanej witness, która zawiera podpisy. Dane witness liczone są jako jedna czwarta wagi pozostałych danych. To nie sprawia, że transakcja jest fizycznie mniejsza na dysku ani w sieci. Transakcja licząca trzysta bajtów nadal liczy trzysta bajtów. SegWit po prostu liczy część z podpisami ze zmniejszoną wagą, gdy decyduje, ile zajmuje ona w bloku. Praktyczny skutek jest taki, że typowy pełny blok mieści się dziś w okolicach półtora do dwóch megabajtów rzeczywistych danych, choć dawne pojęcie jednego megabajta już nie istnieje.

Wirtualne bajty mają znaczenie, bo są jednostką, w której mierzy się opłaty. Gdy porównujesz, ile płaci jedna transakcja w stosunku do drugiej, porównujesz opłatę za wirtualny bajt, a nie łączną wysłaną kwotę.

Block Space, Weight, and the SegWit Discount

A block holds at most 4,000,000 weight units. Core transaction data counts at 4 weight units per byte; signature data counts at only 1. Fees are priced in virtual bytes, where 1 vB = 4 weight units.

Part 1: how weight units are counted

Core data(inputs, outputs, metadata)·100 bytes× 4 wu/byte=400 wu
Witness data(signatures)·100 bytes× 1 wu/byte=100 wuSegWit discount
0 wu500 wu (scale max)

Raw size

200 bytes

Total weight

500 wu

Virtual bytes

125 vB

500 wu / 4

Values are illustrative. The signatures still take up the same bytes on the wire. They are simply counted at a quarter of the weight when filling a block.

Part 2: block capacity

04,000,000 wu max
Typical full block: ~1.7 MB actual data~3,850,000 wu used (96%)
Core data weight
Witness weight (discounted)
Unused capacity

Block limit

4,000,000 wu

= 1,000,000 virtual bytes

1 vbyte = 4 weight units

Typical full block

1.5 to 2.0 MB

actual on-disk bytes

exceeds old 1 MB due to discount

Before SegWit (2017)

flat 1 MB cap

replaced by weight limit

still equivalent for non-SegWit txs

Rynek opłat

Ponieważ miejsce w bloku jest ograniczone, a popyt się zmienia, powstaje rynek. Ceną wejścia jest stawka opłaty, mierzona w satoshi na wirtualny bajt, zapisywana jako sat/vB. Satoshi to najmniejsza jednostka Bitcoina, jedna stumilionowa część całej monety.

Oto część, która zaskakuje wiele osób. Opłata nie ma nic wspólnego z tym, ile pieniędzy wysyłasz. Wysłanie równowartości jednego Euro lub Dolara może kosztować dokładnie tę samą opłatę co wysłanie równowartości miliona Euro lub Dolara, ponieważ opłata zależy od tego, ile miejsca w bloku zajmuje transakcja, a nie od jej wartości. Transakcja z wieloma wejściami zajmuje więcej wirtualnych bajtów i dlatego jej potwierdzenie kosztuje więcej przy tej samej stawce opłaty.

Przydatnym sposobem wyobrażenia sobie rynku opłat jest dworzec autobusowy. Autobusy odjeżdżają mniej więcej co dziesięć minut, a każdy ma ograniczoną liczbę miejsc. Pasażerowie to transakcje czekające na wejście. Ci, którzy są gotowi zapłacić za miejsce priorytetowe, wsiadają do następnego autobusu, podczas gdy ci, którzy płacą mniej, czekają na późniejszy, mniej zatłoczony autobus. Gdy dworzec jest zatłoczony, ceny rosną, bo wszyscy licytują o nieliczne dostępne miejsca. Gdy dworzec jest spokojny, możesz wsiąść tanio. Opłaty i nagroda za blok razem wynagradzają górników za ich pracę, co jest strukturą zachęt powiązaną także z halvingiem Bitcoina, który z czasem stale zmniejsza subsydium blokowe.

Blocks Flowing Through the Mempool

The mempool assembles pending transactions into projected blocks. When a miner solves a block, it crosses the line and joins the confirmed chain. Fee rates drive which transactions make it in first.

Pending blocks
Confirmed blocks

In ~20 min

~3sat/vB

1 – 8 sat/vB

1.7 MB

2,720 txs

In ~10 min

~5sat/vB

2 – 12 sat/vB

1.8 MB

2,960 txs

Next block

~8sat/vB

3 – 20 sat/vB

1.9 MB

3,100 txs

Mined

#953,331

avg 8 sat/vB

1.9 MB

3,100 txs

Just now

Mined

#953,330

avg 6 sat/vB

1.8 MB

2,960 txs

~10 min ago

Mined

#953,329

avg 5 sat/vB

1.8 MB

2,880 txs

~20 min ago

Current fee tiers

No priority1 sat/vB
Low priority3 sat/vB
Medium5 sat/vB
High priority8 sat/vB

Sped up for illustration. In reality a new block is found on average about every ten minutes.

Jak oszacować właściwą opłatę

Mądrym sposobem ustawienia opłaty jest spojrzenie na to, czego sieć rzeczywiście potrzebuje w danym momencie, zamiast zgadywać. Eksploratory mempoolu istnieją właśnie po to.

Narzędzie takie jak mempool.space pokazuje bloki prognozowane, zbudowane z bieżącego mempoolu, obok bloków już wykopanych. Bloki prognozowane są przeliczane co kilka sekund, więc zmieniają się w miarę napływania nowych transakcji i znajdowania nowych bloków. Strona grupuje zalecane opłaty w poziomy takie jak brak priorytetu, niski priorytet, średni priorytet i wysoki priorytet, każdy powiązany z tym, jak szybko chcesz potwierdzenia. Te sugestie są wskazówką, a nie obietnicą, ponieważ każdy górnik ma nieco inny widok mempoolu i własny sposób wybierania transakcji.

Innym dobrze znanym narzędziem są statystyki mempoolu Johoego, które pokazują niepotwierdzone transakcje jako kolorowe pasy ułożone według stawki opłaty, z pasem płacącym najmniej na dole i tymi płacącymi najwięcej na górze. Zwykle każdy nowy blok usuwa tylko górną warstwę popytu. Jeśli pas pozostaje tam godzinami, nie kurcząc się, oznacza to, że transakcje przy tej stawce opłaty nie są potwierdzane, ponieważ transakcje płacące więcej wciąż mają pierwszeństwo. Aby wybrać opłatę, celujesz na poziomie lub powyżej pasów, które ostatnio się oczyszczały.

Ogólna zasada jest prosta. Gdy sieć jest spokojna, nie ma powodu przepłacać. Gdy jest obciążona, nieco wyższa opłata oszczędza ci długiego i niepewnego czekania.

Gdy transakcja utyka

Jeśli zapłacisz zbyt niską opłatę, twoja transakcja może długo pozostawać w mempoolu. Nie jest stracona ani uszkodzona. Po prostu czeka na moment, w którym popyt spadnie na tyle, by górnicy ją włączyli.

Istnieje jednak granica tego, jak długo czeka. Domyślnie węzły odrzucają transakcję, która utknęła na około dwa tygodnie. Gdy transakcja opuszcza mempool bez wykopania, to tak, jakby nigdy się nie wydarzyła. Monety, które próbowała wydać, znów stają się dostępne, a przez cały czas były pod twoją kontrolą. Możesz wtedy ponownie rozgłosić tę samą transakcję albo zbudować nową.

Usuwanie i opłata minimalna

Każdy węzeł ma limit pamięci dla swojego mempoolu, zwykle ustawiony domyślnie na kilkaset megabajtów. Gdy mempool się zapełnia, węzeł musi zrobić miejsce. Robi to, usuwając najpierw transakcje z najniższą stawką opłaty i podnosząc własną opłatę minimalną do poziomu tego, co właśnie wyrzucił. Transakcje płacące poniżej tego progu nie zostaną nawet przekazane dalej.

To minimum następnie powoli opada w spokojnych okresach, dopóki kolejny skok popytu znów go nie podniesie. W spokojnej sieci próg krąży zwykle wokół jednego satoshi na wirtualny bajt, co pełni funkcję praktycznego bazowego kosztu przekazania transakcji dalej.

Odblokowanie utkniętej transakcji: RBF i CPFP

Jeśli nie chcesz czekać, istnieją dwa dobrze ugruntowane sposoby, by popchnąć utkniętą transakcję.

Pierwszy to Replace By Fee, czyli RBF. Zastępuje twoją niepotwierdzoną transakcję nową wersją, która płaci wyższą opłatę. Zamiennik ponownie wykorzystuje co najmniej jedno z tych samych wejść, co gwarantuje konflikt z oryginałem, więc tylko jedna z dwóch może się potwierdzić. Większość nowoczesnych portfeli udostępnia to jako przycisk podniesienia opłaty. Od końca 2024 roku domyślne zachowanie Bitcoin Core traktuje transakcje jako wymienialne nawet bez wyraźnego sygnału, co sprawiło, że podnoszenie opłat stało się bardziej niezawodne w całej sieci. Możesz też użyć RBF, aby faktycznie anulować płatność, zastępując ją nową transakcją, która odsyła te same monety z powrotem do ciebie.

Drugi to Child Pays For Parent, czyli CPFP. Tutaj zostawiasz utkniętą transakcję w spokoju i zamiast tego tworzysz nową transakcję, która wydaje jedno z jej niepotwierdzonych wyjść, dołączając wysoką opłatę. Górnik, który chce hojnej opłaty z transakcji potomnej, musi włączyć także rodzica, ponieważ potomek nie może być ważny bez niego. Obie potwierdzają się razem jako pakiet. Jest to szczególnie przydatne, gdy nie możesz użyć RBF, na przykład gdy jesteś odbiorcą, a nie nadawcą. CPFP zwykle kosztuje nieco więcej w sumie, bo ostatecznie płacisz za miejsce w bloku dla obu transakcji.

Obie techniki opierają się na tej samej podstawowej idei. Górnicy podążają za pieniędzmi, więc podniesienie efektywnej opłaty czyni twoją transakcję bardziej atrakcyjną do włączenia. Warunki, które muszą zostać spełnione, aby jedna transakcja mogła wydać wyjście innej, sprowadzają się do reguł skryptowych Bitcoina, omówionych w artykule zrozumieć Bitcoin Script.

RBF and CPFP: Two Ways to Rescue a Stuck Transaction

When a low-fee transaction is stuck in the mempool, two techniques can push it through: replace it entirely, or attach a high-fee child that pulls it along.

Replace By Fee

RBF

Original tx

2 sat/vB

Stuck

Replacement tx

20 sat/vB

Confirmed

Same input reused, so the two conflict. Only the higher-fee version confirms.

Child Pays for Parent

CPFP

Parent tx

2 sat/vB

Stuck

Child tx

40 sat/vB

Confirmed
Both included in the same block

The child cannot confirm without the parent, so a miner takes both together.

Both methods work by raising the effective fee that miners earn for including the transaction.

Czytanie eksploratora mempoolu

Eksploratory bloków i mempoolu zamieniają abstrakcyjną ideę poczekalni w coś, na co naprawdę możesz spojrzeć. Dla dowolnej transakcji eksplorator zwykle pokazuje jej identyfikator, zwany TxID, który działa jak odcisk palca tej transakcji i sam jest wynikiem funkcji skrótu. Pokazuje też liczbę wejść i wyjść, łączną przeniesioną kwotę, opłatę w sat/vB, łączną zapłaconą opłatę oraz rozmiar transakcji w wirtualnych bajtach.

Niektóre eksploratory idą dalej i animują sam mempool. Wizualizatory przedstawiają każdą oczekującą transakcję jako kolorowy blok, którego rozmiar zależy od wartości lub od wirtualnych bajtów, a kolor od wieku lub opłaty, a następnie pokazują te bloki wpadające do każdego nowo wykopanego bloku, gdy tylko zostaje znaleziony. Te widoki sprawiają, że rywalizacja o miejsce staje się naprawdę widoczna, i są dobrym sposobem na wyrobienie sobie intuicji, jak blockchain rośnie, blok po bloku.

Polityka mempoolu a reguły konsensusu

Jest tu rozróżnienie, które myli nawet doświadczonych użytkowników, a jego wyjaśnienie jest jedną z najbardziej rozjaśniających idei w całym Bitcoinie.

Reguły konsensusu to obowiązujące w całej sieci reguły, które definiują, co czyni blok lub transakcję ważnymi. Brak podwójnych wydatków, ważne podpisy, limit podaży, limit wagi bloku i tak dalej. Złamanie reguły konsensusu odłącza cię od sieci, ponieważ nikt inny nie zaakceptuje twojego bloku.

Polityka mempoolu jest inna. To lokalny zestaw reguł, których węzeł używa, by zdecydować, które ważne transakcje jest gotów przechowywać i przekazywać dalej. Opłata minimalna, rodzaje skryptów, które uznaje za standardowe, oraz rozmiar jego mempoolu to wszystko kwestie polityki. Dwa uczciwe węzły mogą stosować nieco inne polityki, w ogóle nie spierając się co do blockchaina. Transakcja, której węzeł odmawia przekazania dalej z powodu swojej polityki, może mimo to być całkowicie ważna i mimo to trafić do bloku, jeśli górnik zdecyduje się włączyć ją bezpośrednio. Gdy ten blok nadchodzi, węzeł przyjmuje go bez sprzeciwu.

Krótko mówiąc, reguły konsensusu decydują o tym, co jest prawdą. Polityka decyduje o tym, co dany węzeł zadaje sobie trud, by przekazać dalej.

Zero potwierdzeń

Transakcja, która znajduje się w mempoolu, ma zero potwierdzeń. Jest widoczna i jest ważna, ale nie jest jeszcze chroniona przez żaden dowód pracy. To rozróżnienie ma realne konsekwencje.

Dopóki transakcja nie zostanie wykopana, może w zasadzie zostać zastąpiona wersją w konflikcie lub wydana podwójnie. Dlatego przyjęcie płatności z zerem potwierdzeń niesie ryzyko, zwłaszcza przy czymś o znacznej wartości. Sprzedawca przyjmujący płatności z zerem potwierdzeń za mały, natychmiastowy zakup robi wyrachowany zakład, że nikomu nie będzie się chciało odwracać niewielkiej kwoty. Przy większych sumach bezpiecznym podejściem jest poczekanie na potwierdzenia. Szeroko stosowaną zasadą jest czekać na sześć potwierdzeń, około godziny, po czym prawdopodobieństwo odwrócenia staje się znikome. To jest praktyczne znaczenie zdania, że mempool nie jest blockchainem.

Mempool jako warstwa bezpieczeństwa

Mempool robi więcej niż tylko kolejkuje oczekujące płatności. Pomaga także bronić sieci.

Wyobraź sobie atakującego, który próbuje zalać każdy węzeł niekończącym się strumieniem maleńkich transakcji, aby wyczerpać pamięć i przepustowość, atak typu odmowa usługi. Połączenie minimalnej opłaty za przekazanie i ograniczonego rozmiaru mempoolu czyni to kosztownym i samoograniczającym się. W miarę jak mempool się zapełnia, minimalny próg rośnie, więc każda dodatkowa transakcja spamowa kosztuje więcej niż poprzednia. Najtańsze, pyłowe transakcje są usuwane jako pierwsze. Zalewanie sieci na dużą skalę staje się więc ekonomicznie bolesne, a nie darmowe, co jest dokładnie takim rodzajem projektowania zachęt, który utrzymuje Bitcoina w solidnej formie bez żadnego centralnego operatora pełniącego rolę stróża.

Podsumowanie

Mempool to miejsce, w którym ekonomia Bitcoina staje się namacalna. To poczekalnia między naciśnięciem wyślij a uzyskaniem potwierdzenia, pamięć oczekujących transakcji utrzymywana przez każdy węzeł, a nie jedna wspólna lista. Górnicy czerpią z niej i nadają priorytet według stawki opłaty, ponieważ miejsce w bloku jest naprawdę rzadkie, a rynek na nie jest realny.

Zrozumienie tego daje ci praktyczną kontrolę. Możesz czytać eksplorator, by ustawić rozsądną opłatę, rozpoznać, dlaczego transakcja utknęła, i użyć Replace By Fee lub Child Pays For Parent, by ją odblokować. I możesz przez cały czas mieć na uwadze najważniejszą zasadę. Transakcja w mempoolu jeszcze tak naprawdę się nie wydarzyła. To potwierdzenie w bloku czyni ją ostateczną, i to jest linia, która oddziela poczekalnię od trwałego zapisu.

Kluczowe Fakty

Mempool (skrót od memory pool) to poczekalnia, którą każdy węzeł utrzymuje dla ważnych transakcji, które nie zostały jeszcze umieszczone w bloku.

Nie istnieje jeden globalny mempool. Każdy węzeł trzyma własną kopię, więc dwa węzły mogą w tym samym momencie mieć nieco różne zestawy niepotwierdzonych transakcji.

Górnicy wybierają transakcje według stawki opłaty, mierzonej w satoshi na wirtualny bajt (sat/vB), a nie według ilości wysyłanego Bitcoina.

Miejsce w bloku jest ograniczone do 4 000 000 jednostek wagi, czyli około 1 000 000 wirtualnych bajtów, a blok jest wykopywany średnio mniej więcej co dziesięć minut.

Transakcja z zerową liczbą potwierdzeń pozostaje w mempoolu i nie jest jeszcze chroniona przez dowód pracy, więc do momentu wykopania może zostać zastąpiona lub wydana podwójnie.

Replace By Fee (RBF) i Child Pays For Parent (CPFP) to dwa główne sposoby przyspieszenia transakcji, która utknęła na zbyt niskiej opłacie.

Często zadawane pytania

Nie. Mempool zawiera transakcje, które nie zostały jeszcze potwierdzone. Żyje w pamięci węzła, a nie w blockchainie. Transakcja staje się częścią blockchaina dopiero wtedy, gdy górnik umieści ją w bloku. Do tego czasu pozostaje niepotwierdzona i może jeszcze zostać odrzucona, zastąpiona lub wydana podwójnie.

Prawie zawsze dlatego, że zapłacona opłata jest zbyt niska jak na bieżący popyt. Górnicy najpierw wypełniają każdy blok transakcjami, które płacą najwięcej, więc transakcja z niską opłatą czeka, aż sieć się uspokoi i konkurencyjne transakcje zostaną potwierdzone. Twoje monety nie są stracone. Możesz poczekać, ponownie rozgłosić transakcję albo użyć Replace By Fee lub Child Pays For Parent, aby podnieść efektywną opłatę.

Tak. Każdy węzeł ma limit pamięci i domyślnie Bitcoin Core odrzuca transakcje czekające dłużej niż około dwa tygodnie, albo usuwa te z najniższą opłatą, gdy mempool jest pełny. Jeśli tak się stanie, wejścia znów stają się wydawalne, a transakcję można po prostu rozgłosić ponownie, dopóki jest jeszcze ważna.

Wyższa opłata sprawia, że potwierdza się szybciej, ale nie zmienia poziomu jej bezpieczeństwa, gdy już jest w bloku. Bezpieczeństwo bierze się z potwierdzeń, czyli z dowodu pracy ułożonego na twoim bloku. Powszechna zasada to czekać na sześć potwierdzeń, około godziny, zanim uzna się duży przelew za ostateczny.

Źródła

  1. 1.Greg Walker, Learn Me A Bitcoin: Memory Pool
  2. 2.The Mempool Open Source Project: FAQ and Fee Estimation
  3. 3.Johoe's Bitcoin Mempool Statistics
  4. 4.Bitcoin Optech: Replace By Fee
  5. 5.Bitcoin Optech: Child Pays For Parent
  6. 6.Bitcoin Core Onboarding: Mempool Lifecycle

To nie jest porada finansowa. CanoeBit publikuje wyłącznie treści edukacyjne. Nic tutaj nie stanowi rekomendacji kupna, sprzedaży ani trzymania jakiegokolwiek aktywa.