Блоки Bitcoin ограничены консенсусом 4 миллионами weight units, что вынуждает транзакции с более низкими ставками комиссии ждать, пока емкость заполняется. По состоянию на 8:00 утра EDT в понедельник в mempool ожидали примерно 90 617 неподтвержденных переводов. Ограничение запускает аукцион комиссий: майнеры отдают приоритет транзакциям, предлагающим более высокие сатоши за виртуальный байт (sat/vB), независимо от времени отправки. Каждый узел Bitcoin Core ведет собственный локальный mempool с настройкой по умолчанию 300 МБ и может хранить транзакции до 336 часов, создавая децентрализованную систему, где нет универсальной общей очереди транзакций. В Bitcoin Core 31.0 появилась архитектура cluster mempool, чтобы улучшить то, как узлы группируют, упорядочивают и удаляют связанные транзакции, когда локальные лимиты памяти достигаются.
Полный блок и полный mempool — это разные события. Блоки Bitcoin ограничены консенсусом 4 миллионами weight units — метрикой, учитывающей структуру данных транзакций. Узлы Bitcoin Core по умолчанию выделяют для локальных mempool примерно 300 МБ памяти и могут держать транзакции до 336 часов. Блок может заполниться, даже когда в памяти остается множество транзакций, ожидающих подтверждения.
Сначала транзакция попадает в mempool узла — временную область хранения для действительных платежей, которые еще не подтверждены. Каждый узел ведет свою версию, применяет собственные локальные политики и может видеть чуть разный набор ожидающих транзакций. На сети Bitcoin нет единого универсального mempool.
Обычно майнеры не выбирают транзакции по «возрасту». Они собирают шаблоны блоков вокруг комиссий, веса транзакций и зависимостей между платежами. Практическая единица, которую видят пользователи, — сатоши за виртуальный байт, или sat/vB. Более высокая ставка дает майнерам больше выручки за тот же дефицитный объем места в блоке, поэтому самые сильные пакеты комиссий, как правило, двигаются первыми.
Платеж, отправленный раньше, может быть подтвержден после того, как пройдет несколько минут до платежа, отправленного позже. Транзакция с высокой комиссией может широко распространиться по сети и попасть в следующие шаблоны майнеров. Транзакция с низкой комиссией может оставаться ниже порога даже после того, как пройдут несколько блоков. Оценки подтверждения помогают, но это не обещания: новые транзакции поступают постоянно, а сами блоки появляются с нерегулярными интервалами.
Когда достаточное число ожидающих транзакций конкурирует за каждый блок, mempool превращается в конкурентную среду. Новые, более выгодно оплачиваемые транзакции могут вытеснять более слабые предложения. Если узел Bitcoin Core достигает настроенного лимита памяти, он обрезает экономически самый слабый связанный пул транзакций и поднимает локальный «плавающий» минимальный уровень комиссии (fee floor). Вытесненная транзакция не становится недействительной, и блокчейн ее не отменял. Просто данный узел перестал ее хранить и пересылать.
Для обычного пользователя первый эффект — задержка. Кошелек может показывать, что платеж ожидает подтверждения часами, пока более новые транзакции подтверждаются. Для трейдера, биржи или казначейского отдела такая задержка может отложить депозит, замедлить движение обеспечения, прервать арбитражный перевод или оставить средства недоступными во время быстрого рынка.
Поскольку комиссии привязаны в первую очередь к весу транзакции, а не к сумме перевода, платеж на $50 и перевод на $5 миллионов могут конкурировать на сопоставимых условиях, если их структура транзакции сравнима. Чем более чувствителен перевод ко времени, тем дороже становится недоплата.
Второй эффект — более высокий рынок комиссий. В Bitcoin нет базовой комиссии на уровне протокола. Вместо этого пользователи конкурируют с маржинальной ставкой комиссии, которую майнеры могут «втиснуть» в следующий блок, а каждый узел также держит локальный порог допуска. Под давлением этот динамический порог может вырасти гораздо выше базовой настройки софта для ретрансляции.
Третий эффект — неопределенность до расчетов. То, что транзакция видна в блок-эксплорере, является признаком того, что ее знают некоторые узлы, а не доказательством, что ее знает каждый майнер. Неподтвержденный платеж может быть заменен, вытеснен или исчезнуть из видения узла, при этом оставаясь валидной возможной тратой. Компании, которые отгружают товары, зачисляют счета или считают депозит окончательным при нулевом числе подтверждений, принимают риск: из-за перегрузки он станет заметнее.
Сам Bitcoin дает пользователям два основных способа пересчитать цену задержанного платежа. Replace-by-fee (RBF), известный как RBF, позволяет спендеру заменить неподтвержденную транзакцию транзакцией с более высокой комиссией. Child-pays-for-parent, или CPFP, — другой путь: тратимый выход из задержанной транзакции используется в новой дочерней транзакции с высокой комиссией, давая майнерам стимул включить родительскую и дочернюю транзакции вместе.
Ни один инструмент не является автоматическим. Замена по RBF должна удовлетворять политике узла и быть достаточно выгодной, чтобы обойти и заменяемую транзакцию, и текущую рыночную обстановку. Дочерняя транзакция CPFP должна поднять совокупную ставку комиссии всего пакета, а не просто выглядеть дорогой сама по себе. Реальная цель — не минимальная ставка ретрансляции. Цель — ставка комиссии вблизи хвоста (tail) следующего вероятного блока.
Помимо этих двух вариантов, майнинг-ускорители — это сервисы, предлагаемые некоторыми биткоин-майнинг пулами, которые позволяют пользователям подать транзакцию на приоритетное рассмотрение, когда она застряла в mempool из-за низкой комиссии. Не меняя консенсусные правила Bitcoin, ускоритель просто просит участвующих майнеров включить эту транзакцию в один из ближайших блоков, которые они будут майнить. Некоторые ускорители бесплатны, но имеют требования по правомочности, а другие берут плату или требуют, чтобы транзакция соответствовала минимальной ставке комиссии. Transfer accelerator от ViaBTC предлагает 20 бесплатных «толчков» (push) в час.
Bitcoin Core 31.0 меняет часть механики выбора транзакций. Его cluster mempool группирует связанные неподтвержденные транзакции и упорядочивает их по ставке комиссии, по которой ожидается их майнинг в составе блока. Лимиты cluster по умолчанию: 64 транзакции и 101 кБ по виртуальному размеру. Эта конструкция предназначена для улучшения решений по сборке блоков, вытеснению, ретрансляции транзакций и замене, не меняя консенсусный «потолок» Bitcoin в 4 миллиона weight units.
Другие инженерные работы направлены на снижение стоимости передачи полных блоков по сети. Компактная ретрансляция блоков (compact block relay) позволяет узлу реконструировать большую часть нового блока из транзакций, которые он уже держит у себя, уменьшая объем данных и время, необходимые для распространения. Это важно, потому что более медленная ретрансляция может увеличить риск того, что два майнера на короткое время соберут блоки на разных «вершинах» цепочки (chain tips).
Что происходит, когда блок Bitcoin достигает лимита 4 миллиона weight unit?
Когда блок Bitcoin достигает консенсусного лимита 4 миллиона weight units, майнеры приоритизируют транзакции по ставке комиссии, измеряемой в сатоши за виртуальный байт (sat/vB). Транзакции, предлагающие более высокие комиссии, выбираются первыми, а транзакции с более низкими комиссиями остаются в mempool ожидать последующих блоков. Лимит блока не делает ожидающие транзакции недействительными; они продолжают ждать в локальном mempool каждого узла, который по умолчанию может хранить их до 336 часов.
Как Bitcoin Core 31.0 cluster mempool улучшает обработку транзакций?
Bitcoin Core 31.0 представил архитектуру cluster mempool, которая группирует связанные неподтвержденные транзакции и упорядочивает их по ставке комиссии, по которой ожидается майнинг всей группы. Лимиты cluster по умолчанию: 64 транзакции и 101 кБ по виртуальному размеру. Такая конструкция улучшает сборку блоков, решения об вытеснении, ретрансляцию транзакций и обработку замены, не меняя консенсусный лимит блока Bitcoin в 4 миллиона weight units.
Какие три метода помогают ускорить «застрявшую» транзакцию Bitcoin?
У пользователей Bitcoin есть три способа увеличить комиссию для «застрявших» транзакций: Replace-by-fee (RBF) позволяет спендеру заменить неподтвержденную транзакцию транзакцией с более высокой комиссией; Child-pays-for-parent (CPFP) использует тратимый выход из задержанной транзакции в новой дочерней транзакции с высокой комиссией, стимулируя майнеров включить обе; а майнинг-ускорители, предлагаемые некоторыми пулами, например ViaBTC, который предоставляет 20 бесплатных приоритетных push в час, просят участвующих майнеров включить транзакцию в следующие блоки.
Связанные новости
Биткоин-ETF зафиксировали приток $75,7 млн за неделю, завершившуюся 17 июля, после серии оттоков на $8,2 млрд
Binance и Bybit зафиксировали отток стейблкоинов на $2,3 млрд за 30 дней
Биткоин-кошельки китов накопили 66 700 BTC за 60 дней, завершившихся 19 июля