
Mempool — это «зал ожидания» на узле блокчейна, где временно хранятся транзакции, инициированные, но еще не обработанные. Название образовано от слов «memory» и «pool» и обозначает цифровое пространство, в котором формируется очередь транзакций перед их добавлением в блокчейн.
При инициировании криптовалютных транзакций пользователи могут столкнуться с задержками, пока система их обрабатывает. После отправки, но до завершения, транзакция помещается в mempool. Это промежуточное состояние — ключевой элемент работы блокчейн-сетей.
Bitcoin первым сделал технологию блокчейна массовой. Satoshi Nakamoto, его создатель, представил концепцию обработки транзакций через mempool. Позднее этот принцип был реализован в других проектах, включая Ethereum.
У всех блокчейнов есть mempool, но у некоторых он называется иначе. Например, проект Parity именует свой mempool «Transaction Queue». Независимо от названия, назначение остается прежним — временное хранение необработанных транзакций.
Каждая транзакция, добавляемая в mempool, — это пакет данных, обычно не превышающий нескольких килобайт (КБ). Суммарный объем таких пакетов формирует размер mempool, который является основным индикатором состояния и загрузки блокчейн-сети.
Если mempool большой, значит, множество транзакций ожидают подтверждения. Анализ динамики размера mempool позволяет прогнозировать скорость обработки и рассчитывать оптимальную комиссию для приоритетных операций.
Мониторинговые графики показывают: размер mempool Bitcoin часто резко увеличивается при сильных колебаниях цен на криптовалюту — как вверх, так и вниз, что свидетельствует о росте торговой активности в периоды волатильности.
Интересный факт! Узлы могут ограничивать размер mempool. При превышении порога узлы устанавливают минимальную комиссию для транзакций. Это защищает сеть от перегрузки и спам-атак.
Mempool играет важную роль в работе узлов блокчейна. Чтобы транзакция была записана в блокчейн, ее сначала включают в блок. Не все узлы имеют право создавать блоки — это зависит от механизма консенсуса сети.
Например, в блокчейнах Proof-of-Work, таких как Bitcoin, только майнеры добавляют транзакции в блоки. Майнеры используют вычислительную мощность для решения криптографических задач и создания новых блоков. В Proof-of-Stake системах, например Ethereum, этим занимаются валидаторы, размещающие свои токены.
После создания транзакции пользователь ожидает одобрения от валидатора или майнера для включения в блок и записи в блокчейн. Этот процесс не мгновенный — транзакция проходит проверку, и по всей сети должен быть достигнут консенсус. Все это время — от проверки до включения в блок и записи в блокчейн — транзакция находится в mempool.
В одном блокчейне может быть несколько mempool, ведь у каждого узла собственное пространство для хранения транзакций, ожидающих проверки и включения в блокчейн. Совокупность всех mempool на отдельных узлах формирует общий, децентрализованный mempool, который обеспечивает надежность и устойчивость сети.
Когда пользователь отправляет транзакцию, она поступает на узел. Узел добавляет транзакцию в свой mempool и ставит ее в очередь на проверку, анализируя цифровые подписи, подтверждая баланс отправителя и соблюдение протокола.
После проверки транзакция приобретает статус ожидающей. Только такие проверенные транзакции могут быть выбраны майнерами или валидаторами для включения в блок. Выбор зависит от нескольких параметров, среди которых комиссия имеет ключевое значение.
Когда транзакция записывается в блокчейн, узлы получают уведомление. Тогда они удаляют транзакцию из своего локального «зала ожидания», обеспечивая синхронизацию mempool по всей сети.
Для иллюстрации работы mempool и жизненного цикла транзакции предположим, что вы хотите отправить 0,01 BTC другу. Вот как проходит процесс по этапам:
Инициация транзакции. Сначала вы получаете адрес криптокошелька друга, вводите его как получателя, подтверждаете комиссию и нажимаете «отправить».
Добавление в mempool. Транзакция поступает в mempool и получает статус ожидающей. На этом этапе она еще не записана в блокчейн.
Рассылка и проверка. Сеть передает вашу транзакцию другим узлам. Узлы проверяют соблюдение протокола.
Валидация. Если узлы одобряют транзакцию, она переходит из общей очереди в группу ожидания включения в блок. В случае ошибки вы получите уведомление о неподтвержденной транзакции.
Включение в блок. Майнер или валидатор добавляет вашу транзакцию в новый блок и записывает ее в блокчейн. Обычно при выборе транзакций приоритет определяется размером комиссии.
Распространение информации. Майнер или валидатор рассылает блок другим узлам, чтобы все узлы получили информацию о включенных транзакциях.
Очистка mempool. На этом этапе узлы удаляют вашу транзакцию из своих mempool.
Завершение. Готово — перевод завершен. Ваш друг получает 0,01 BTC, а транзакция навсегда записана в блокчейн.
Перегруженность mempool возникает, когда число ожидающих операций превышает количество транзакций, помещающихся в один блок. Это сильно замедляет обработку и увеличивает комиссии. Основные причины перегруженности mempool:
Сетевая перегрузка. Резкий рост числа транзакций заполняет блоки и перегружает mempool. Например, стандартный блок Bitcoin вмещает около 3 150 транзакций. Если количество ожидающих операций значительно превышает этот показатель в течение нескольких часов, сеть и mempool оказываются перегруженными. Ожидание подтверждения может длиться от минут до часов и даже дней.
События и новости. Запуск токенов, airdrop или поддержка криптовалюты известными лицами могут вызвать всплеск транзакций и перегрузить mempool. Это происходило во время крупных ICO и стартов новых NFT-проектов.
Форки и обновления сети. Форки и обновления протокола могут мгновенно перегрузить mempool, так как узлы обновляются и синхронизируются с новой версией. В такие периоды производительность сети обычно снижается.
Комиссия — главный фактор, определяющий порядок обработки транзакций в mempool. Майнеры и валидаторы выбирают операции для включения в блок, ориентируясь на потенциальную прибыль. Чем выше комиссия пользователя, тем быстрее обрабатывается транзакция.
Это создает рынок комиссий, где пользователи конкурируют за место в следующем блоке. При высокой сетевой активности комиссии могут резко вырасти относительно обычных условий. Некоторые кошельки рекомендуют динамичные комиссии, исходя из текущего состояния mempool.
В итоге скорость подтверждения транзакций Bitcoin зависит от загрузки mempool и выбранной комиссии. При низкой нагрузке и высокой комиссии подтверждение происходит быстрее. При сильной перегруженности и низкой комиссии подтверждение для Bitcoin и других криптовалют может затянуться. Транзакции с очень низкой комиссией иногда не обрабатываются вовсе и удаляются из mempool спустя определенное время.
Mempool — это временное хранилище неподтвержденных транзакций блокчейна. Каждая транзакция включает комиссию, которая определяет ее приоритет — чем выше комиссия, тем быстрее происходит подтверждение.
Транзакции задерживаются в mempool из-за низкой комиссии или сетевой перегрузки. Валидаторы обрабатывают операции с более высокой комиссией в первую очередь, а большой объем транзакций приводит к задержкам.
Комиссия определяет приоритет транзакции в mempool. Чем выше комиссия, тем быстрее обработка. В первую очередь подтверждаются операции с максимальными комиссиями.
Вручную удалить транзакцию из mempool нельзя. Mempool временно хранит необработанные операции до их включения в блокчейн. Можно заменить ее отправкой новой транзакции с более высокой комиссией или дождаться истечения срока хранения.
Чем больше mempool, тем выше нагрузка на сеть. Оптимальный размер mempool позволяет обрабатывать транзакции быстрее и без перегрузки, повышая общую эффективность блокчейна.
Mempool разных криптовалют отличается по размеру, скорости обработки и структуре комиссий. В Bitcoin mempool часто бывает перегружен, а в Ethereum транзакции обычно проходят быстрее. Каждый блокчейн определяет собственные правила и ограничения для работы mempool.











