17 / 736MEM

Mempool

місцевий набір транзакцій, що чекають підтвердження

Куди потрапляє платіж після надсилання, чому він іноді чекає і чому зникнення з оглядача ще не означає скасування.

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 саме по собі не скасовує платіж.

DOC · 001Bitcoin Core v29.0: mempoolПервинне джерело DOC · 002Bitcoin Core v29.0: transaction admissionПервинне джерело DOC · 003Bitcoin Core v29.0: mempool RPCПервинне джерело DOC · 004Bitcoin Core v29.0: block transaction selectionПервинне джерело
Переглянуто: Спочатку джерела · Не інвестиційна порада