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.