Все, що потрібно знати про кулю транзакцій

Пулов у мережі стільки ж, скільки вузлів. Оскільки біткойн-мережа розподілена, не всі вузли отримують конкретні транзакції одночасно, тому деякі вузли зберігають більше транзакцій, ніж інші. Крім того, програмне забезпечення вузлів виконується на різному обладнанні з різним обсягом оперативної пам'яті. З цих причин стан пулу на кожному вузлі є унікальним.
Як транзакції потрапляють у пул
Перш ніж помістити транзакцію у свій пул, вузол має виконати такі дії.
Якщо транзакція проходить всі ці перевірки, вона міститься в пул і вузол починає її ретранслювати. Якщо ні, транзакція не ретранслюється.
Як отримання нового блоку впливає стан пула
Коли вузол отримує новий дійсний блок, він видаляє з пулу всі транзакції, що містяться в отриманому блоці, а також транзакції з входами, що конфліктують. В результаті розмір пулу різко скорочується:

Транзакції, яких немає в новому блоці, залишаються в пулі вузла і повторно не ретранслюються, тобто вузол ретранслює транзакцію тільки тоді, коли вона додається пул. Якщо транзакція не підтверджується за кілька блоків, відповідальність за її ретрансляцію покладається на гаманець.
Що відбувається при вичерпанні пам'яті вузла
У пізніших версіях bitcoind (0.12+) при наближенні розміру пула до об'єму доступної пам'яті вузол задає мінімальну комісію. Транзакції, в яких комісія на 1 КБ даних не досягає цього порога, негайно видаляються з пулу, після чого до пулу допускаються тільки транзакції з достатньою комісією.

Згодом вузол знижує порогову комісію, поступово повертаючи його до значення мінрелейфея. За пороговою комісією можна стежити за допомогою RPC-команди getmempoolinfo. Нижчепоказаний приклад зміни мінімальної комісії пулу за довільний інтервал часу.