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Первичный источник
Обновлено: Сначала источники · Не является инвестиционной рекомендацией