Mempool зберігає прийняті біткоїн-вузлом транзакції, ще не підтверджені в блоці. Вузол — це комп’ютер, підключений до мережі Bitcoin. Кожен має власний набір, тож єдиної спільної черги з гарантованим порядком немає. Оглядач — це сайт, на якому можна переглядати транзакції та блоки.
Після натискання Надіслати гаманець передає підписану транзакцію в мережу. Вузли, які її отримують, перевіряють, чи відповідає вона правилам мережі та їхнім місцевим умовам прийняття. Якщо вона проходить перевірку, вони можуть зберегти її у своєму mempool і передати далі. Платіж в оглядачі означає, що його оператор знає про нього, а не що він підтверджений. Перше підтвердження з’являється лише після включення в дійсний блок поточного ланцюга. Навіть це може змінитися під час реорганізації, коли мережа переходить на іншу дійсну гілку з більшою накопиченою роботою. [2]
Mempool не працює як черга до каси. Місце в блоці обмежене, і майнери зацікавлені вибирати транзакції, які більше за нього платять. Важлива ставка в sat/vB: сатоші, найменших одиницях BTC, за віртуальний байт — одиницю обліку розміру транзакції в Bitcoin. Наприклад, 100 vB за ставки 10 sat/vB означають комісію 1 000 сатоші. Це не відсоток суми платежу. Якщо транзакція витрачає вихід іншої, ще непідтвердженої транзакції, важлива також комісія всього залежного пакета. Навіть висока ставка не обіцяє конкретного блоку чи часу. [4]
Вузли отримують транзакції по-різному й можуть мати інші обмеження пам’яті або правила прийняття та передавання. Іноді їм бракує попередньої транзакції, від якої залежить новий платіж. Тому кількість платежів у черзі та оцінки комісій можуть різнитися. Ці місцеві робочі правила відрізняються від консенсусу — спільних умов дійсності блоків. Вузол може прийняти дійсний блок із транзакцією, якої ніколи не було в його mempool. [2]
Після підтвердження транзакція більше не чекає в mempool. Проте вона може зникнути через нестачу пам’яті, надто довге очікування або заміну іншою транзакцією, що витрачає ті самі кошти. Видалення з одного вузла не скасовує платіж у всій мережі: інші можуть його зберегти, а майнер — підтвердити згодом. Один відсутній запис не означає, що безпечно платити ще раз іншими коштами. Спершу перевірте стан у гаманці та можливу заміну. Після реорганізації деякі вилучені з ланцюга транзакції можуть знову чекати, якщо пройдуть повторну перевірку. [1] [2]
Для звичайної перевірки відрізніть непідтверджений платіж від платежу в блоці та подивіться його ставку й можливі попередні транзакції. Якщо ви запускаєте власний Bitcoin Core, getmempoolentry показує одну місцево відому транзакцію, а getmempoolinfo підсумовує стан набору. Це запити до вашого вузла, не до центрального списку всієї мережі. Публічний оглядач також пропонує власний погляд; його оцінка часу може змінюватися з надходженням транзакцій і блоків. [3]
Для повної картини прочитайте також Транзакція, Transaction Fees, Майнінг, Full Node, UTXO. На цю статтю також посилаються Майнінг, Транзакція, UTXO, Transaction Fees.
01Чи існує один глобальний mempool Bitcoin?+
Ні. Кожен вузол має власний набір. Він залежить від отриманих транзакцій, налаштувань, обсягу пам’яті та того, які транзакції вузол приймає й передає далі.
02Що означає зникнення транзакції з mempool?+
Спершу перевірте, чи вона вже не підтверджена в блоці. Якщо ні, один вузол міг її видалити або замінити. Інший може досі її зберігати, а майнер — підтвердити пізніше. Тож зникнення з одного mempool саме по собі не скасовує платіж.