131 / 691PKG

Package Relay

Przekazywanie pakietów transakcji

Przekazywanie zależnych niepotwierdzonych transakcji, aby opłata potomka mogła pomóc rodzicowi spełnić politykę mempoolu.

Package Relay przesyła powiązane niepotwierdzone transakcje między węzłami, umożliwiając wspólną ocenę rodzica i potomka przy przyjmowaniu do mempoolu. Transport danych, lokalna polityka przyjęcia i wybór transakcji do bloku przez górnika to osobne kroki; pakiet nie zmienia ważności konsensusowej poszczególnych transakcji.

Rodzic z niską stawką może zostać odrzucony, zanim węzeł zobaczy potomka z wyższą opłatą. CPFP ma sens ekonomiczny tylko wtedy, gdy potrzebne transakcje dotrą do górnika. Package Relay pomaga pokonać tę lukę w przekazywaniu; nie zastępuje podpisów ani sprawdzania wejść. [BIP 331 — Ancestor Package Relay]

Przykładowy rodzic ma 200 vB i opłatę 200 sat, a potomek 100 vB i 1300 sat. Łącznie daje to 1500 / 300 = 5 sat/vB, a nie średnią poszczególnych stawek 1 i 13. Przykład zakłada dokładnie te dwie niepotwierdzone transakcje bez dalszych przodków; rzeczywiste przyjęcie zależy też od polityki węzła i konfliktów. [BIP 331 — Ancestor Package Relay]

Potomek wydaje wyjście rodzica. W liście uporządkowanej topologicznie rodzice muszą poprzedzać potomków; wysoka opłata nie naprawi brakujących przodków ani sprzecznych wydatków. Limity rozmiaru, liczby i kształtu pakietu chronią zasoby węzła i nie są uniwersalnymi parametrami konsensusu. [Bitcoin Core 28.0 — submitpackage]

BIP 331 opisuje negocjowanie obsługi i osobne komunikaty dla informacji o przodkach oraz pobierania transakcji. Bitcoin Core 28.0 udokumentował natomiast ograniczone oportunistyczne parowanie jednego rodzica z jednym potomkiem przez dotychczasowy protokół przekazywania. Wielu rodziców dopuszczanych przez lokalne RPC nie oznacza takiej samej obsługi P2P; dane te opisują wersję 28.0, a nie obietnicę dla każdej wersji lub peera. [BIP 331 — Ancestor Package Relay] [Bitcoin Core 28.0 — release notes]

submitpackage 28.0 sprawdza transakcje i przekazuje je lokalnemu węzłowi. Sprawdzaj package_msg i poszczególne tx-results: operacja może przyjąć część pakietu i nie wycofuje atomowo wszystkiego przy błędzie. Nawet pełny sukces nie dowodzi przyjęcia przez sąsiadów ani terminowego włączenia do bloku przez górnika. [Bitcoin Core 28.0 — submitpackage]

W oddzielnym środowisku testowym zapisz wersję, ustawienia mempoolu, kolejność zależności, rozmiary i opłaty. testmempoolaccept sprawdza bez rozgłaszania; jego wynik nie gwarantuje wyniku submitpackage. Obserwuj też przyjęcie na innym węźle. Transakcje Lightning z terminem nadal wymagają zapasu: sama obsługa pakietów nie usuwa pinningu, przeciążenia ani opóźnień bloków. [Bitcoin Core 28.0 — testmempoolaccept] [Bitcoin Core 28.0 — release notes]

Pełniejszy obraz uzyskasz, czytając to hasło razem z Mempool, CPFP (Child Pays for Parent), Fee Rate, Replace-by-Fee (RBF), Lightning Network. Do tego hasła prowadzą również odsyłacze z CPFP (Child Pays for Parent), Gloria Zhao.

DOC · 001BIP 331 — Ancestor Package RelaySpecyfikacja ↗DOC · 002Bitcoin Core 28.0 — release notesDokumentacja ↗DOC · 003Bitcoin Core 28.0 — submitpackageDokumentacja ↗DOC · 004Bitcoin Core 28.0 — testmempoolacceptDokumentacja ↗
Najpierw źródła · To nie jest porada inwestycyjna