Mempool (мемпул): очередь неподтверждённых транзакций

Mempool (мемпул) — это очередь неподтверждённых транзакций, которые узел принял из сети, проверил базовые условия, но ещё не увидел в включённом блоке. Простыми словами, мемпул — «зал ожидания» для транзакций между отправкой и финальным включением в блокчейн.

У каждого узла свой локальный mempool, но в популярных сетях (например, Bitcoin и Ethereum) их содержимое обычно похоже, потому что узлы обмениваются транзакциями по p2p-сети.

Mempool (мемпул): очередь неподтверждённых транзакций

Что происходит с транзакцией в mempool

Жизненный цикл типичной транзакции:

  • Пользователь подписывает и отправляет транзакцию в сеть (через кошелёк, RPC и т.п.).
  • Узел-получатель:
    • проверяет подпись, формат и базовые ограничения по комиссии;
    • если всё корректно — кладёт транзакцию в свой mempool.
  • Валидатор/майнер, создающий следующий блок:
    • выбирает транзакции из mempool (обычно с более высокой платой);
    • формирует блок и распространяет его в сеть.
  • После включения в блок:
    • транзакция считается подтверждённой;
    • узлы удаляют её из своего mempool.

Важно: mempool — это данные на уровне узлов, а не часть самого блокчейна. Его содержимое постоянно меняется и нигде не хранится «навсегда».

Особенности mempool в разных сетях

Хотя идея одна и та же, реализации отличаются:

  • В Bitcoin узлы могут отбрасывать транзакции с очень низкой комиссией, если mempool заполнен.
  • В Ethereum mempool связан с моделью газа:
    • узлы могут игнорировать транзакции с слишком низкой ценой газа относительно текущей нагрузки;
    • одна из целей пользователя — поставить такую плату, чтобы его транзакция попала в приоритетный набор для следующего блока.

Кроме того, некоторые сети и провайдеры поддерживают частный mempool (private/isolated), куда отправляются транзакции, не попадающие в общий публичный мемпул (например, для защиты от фронтраннинга).

Подробнее архитектура и технические детали рассматриваются в технической статье о mempool.

Связь mempool и комиссий (fee market)

Состояние mempool напрямую влияет на комиссии (gas fee и аналоги):

  • если мемпул почти пуст — в блок помещаются практически все транзакции, и платы держатся на минимальном уровне;
  • если мемпул переполнен — между транзакциями возникает конкуренция:
    • узлы/валидаторы сортируют их по комиссии;
    • пользователям приходится повышать плату, чтобы попасть в блок раньше.

В Ethereum при этом добавляется логика EIP-1559:

  • есть base fee (минимальная плата, которая сжигается);
  • есть priority fee (tip), которая идёт валидатору;
  • транзакции в mempool отличаются по maxFee и maxPriorityFee, и из них собирается блок.

На практике «загруженный mempool» = «дорогие и медленные транзакции», а «пустой mempool» = дешёвые и быстрые.

Mempool, MEV и фронтраннинг

Так как большинство mempool’ов публичны, содержимое очереди транзакций могут читать:

  • валидаторы/майнеры;
  • поисковые боты;
  • специализированные MEV-инфраструктуры.

Это даёт:

  • возможность анализировать будущие сделки на DEX, ликвидации и арбитраж;
  • почву для фронтраннинга и сэндбоксинга (например, замена пользовательской транзакции более «выгодной» для валидатора).

Поэтому mempool — центральный элемент в экосистеме MEV (Maximal Extractable Value). Часть решений по снижению MEV/фронтраннинга строится вокруг:

  • приватных каналов отправки транзакций;
  • альтернативных mempool’ов;
  • схем, где порядок транзакций фиксируется до их раскрытия.

Mempool в контексте L2 и новых моделей транзакций

В L2-роллапах и AA-моделях появляются дополнительные уровни mempool:

  • собственный mempool для L2-транзакций (до публикации батча на L1);
  • специализированный мемпул UserOperation (UserOp) для Account Abstraction:
    • там работают бандлеры (bundler);
    • комиссия и порядок операций зависят от логики AA и paymaster’ов.

При этом базовая идея та же: mempool — буфер между намерениями пользователей и блоками сети.

Зачем обычному пользователю понимать, что такое mempool

Понимание mempool помогает:

  • объяснить, почему транзакция «долго висит» без подтверждения;
  • правильно подбирать размер комиссии под текущую нагрузку сети;
  • понимать, почему иногда выгодно пользоваться L2-сетями;
  • лучше оценивать риски фронтраннинга, особенно при крупных сделках на DEX.

Кошельки и обозреватели блоков часто показывают состояние мемпула (сколько транзакций, средние комиссии) и дают подсказки по оптимальной плате.

См. также

Task Runner