Мемпул (сокращение от memory pool) — это временный набор действительных транзакций узла, которые ещё не включены в блок. Этот термин является удобным сокращением, но не существует единого универсального мемпула, одинаково используемого каждым узлом.
Узлы применяют локальные правила проверки, комиссий и ресурсов, поэтому два наблюдателя могут видеть разные ожидающие транзакции. Частные ретрансляторы и прямой поток ордеров от создателя могут полностью обходить публичное отображение. Это касается пулов транзакций Bitcoin и Ethereum, выбора и замены комиссий, а также ограничений торговых сигналов на основе мемпулов.
Основные выводы
Каждый узел поддерживает собственный пул ожидающих транзакций в соответствии с локальными правилами программного обеспечения и политикой.
Транзакция может быть действительна для достижения консенсуса, но при этом отклонена пулом памяти конкретного узла.
Майнеры биткоина часто указывают размер комиссии в сатоши за виртуальный байт; в Ethereum порядок обработки транзакций также отражает экономику nonce и Builder.
Общедоступный обозреватель отображает информацию об одной службе, а не обо всех транзакциях, ожидающих обработки в сети.
Что такое мемпул?
Когда пользователь отправляет транзакцию в блокчейн, принимающие узлы проверяют её синтаксис, подписи, возможность расходования и соответствующие правила политики. Узел, принявший транзакцию, может сохранить её в памяти и передать другим узлам, ожидая включения в блок.
Пул не является частью подтвержденного блокчейна. Он может измениться при поступлении блока, при замене записи конфликтующей транзакцией, перезапуске узла, истечении срока действия записи в соответствии с локальной политикой или при принудительном удалении из-за ограничений ресурсов.
Таким образом, статус «ожидание» означает «просмотрено и сохранено данным сервисом», а не гарантированное подтверждение. Если вам незнакомо различие между широковещательной рассылкой и подтверждением, ознакомьтесь с обзором блокчейна UEEx .
Как работает Bitcoin Mempool?
Проверка и политика
Узлы Bitcoin проверяют, соответствует ли транзакция правилам консенсуса, прежде чем принять её. Они также применяют политики ретрансляции и пула памяти, предназначенные для управления спамом, комиссиями и цепочками зависимостей. Политика может быть строже, чем консенсус, и может различаться в зависимости от программного обеспечения или конфигурации узла.
Транзакция, отклоненная одним узлом, может быть принята другим. Майнеры также выбирают, какие из принятых транзакций включить, с учетом действительности блока.
Размер комиссии и виртуальный размер
Комиссии за майнинг биткоинов обычно измеряются в сатоши за виртуальный байт, обозначаясь как sat/vB. Майнеры, стремящиеся получать доход от комиссий, как правило, оценивают соотношение размера комиссии и пакета услуг, а не только саму сумму комиссии.
Для достижения одинакового соотношения сатоши/виртуальный байт при крупной транзакции общая комиссия может быть выше, чем при небольшой. Понятие «один сатоши за байт» неточно для современного анализа комиссий в Bitcoin, поскольку данные свидетеля влияют на вес транзакции и виртуальный размер.
Зависимости и пакеты
Дочерняя транзакция может использовать неподтвержденную родительскую транзакцию. Узлы и майнеры могут совместно оценивать комиссии и размеры связанных транзакций. В случае дочерней транзакции, оплачивающей родительскую, используется дочерняя транзакция с более высокой комиссией для улучшения общей экономической эффективности пакета.
Замена
Иногда отправитель может заменить неподтвержденную транзакцию конфликтной, предусматривающей более высокую комиссию в соответствии с политикой замены узла. Необходимо напрямую проверить действующие правила программного обеспечения Bitcoin и майнеров; гарантия замены транзакций не является универсальной для всех участников.
Как работает пул транзакций Ethereum?
Клиенты исполнения транзакций Ethereum поддерживают локальные пулы ожидающих транзакций. Действительная транзакция включает в себя nonce отправителя, лимит газа, поля комиссии, данные получателя или данные о создании контракта, стоимость и подпись.
Транзакции с одного счета обычно выполняются в порядке следования одноразовых чисел (nonce). Если отсутствует nonce 10, узел может сохранить nonce 11, но он не может быть выполнен первым. В кошельках это иногда называют транзакцией, поставленной в очередь, а не немедленно исполняемой.
В соответствии с EIP-1559, транзакция типа 2 устанавливает максимальную комиссию за газ и максимальную комиссию за приоритет. Включение зависит от базовой комиссии блока, эффективного чаевого, использования газа, баланса счета, nonce и стратегии построения блока. Это не простая глобальная очередь, отсортированная по одному числу.
Чем отличаются публичные пулы, частные потоки заказов и очереди приложений?
Тип очереди
Кто это увидит?
Типичное назначение
Ограничение
Публичный пул памяти узлов
Участники, получающие транзакцию
Широкое распространение до включения блока
Представления различаются в зависимости от узла.
Частный ретранслятор
Избранные участники эстафеты, участники-конструкторы или участники-валидаторы
Защита конфиденциальности или исполнение
Требуется доверие к политике службы.
Очередь кошелька
Кошелек или провайдер
Отслеживает отправленные учетные записи.
Может не соответствовать видимости сети.
очередь на вывод средств с биржи
Централизованная платформа
Внутренняя проверка перед трансляцией
Не является пулом участников блокчейна
Закрытый поток заказов может снизить публичную огласку, но также концентрирует внимание на посредниках. Пользователям следует ознакомиться с политикой конфиденциальности, цензуры и действий в случае сбоя ретранслятора, вместо того чтобы предполагать, что «закрытый» означает безрисковый.
Почему транзакции остаются в статусе "в ожидании"?
Размер комиссии перестал быть конкурентоспособным.
После трансляции спрос на сеть может возрасти. В Bitcoin комиссия за транзакцию может упасть ниже той ставки, которую майнеры предпочитают в данный момент. В Ethereum базовая комиссия может превышать максимальную комиссию за транзакцию.
Разрыв или конфликт
Транзакция Ethereum может ожидать завершения, используя ранее полученный nonce. Замена nonce на аналогичный также может привести к тому, что разные узлы или интерфейсы будут отображать разные варианты.
Родительская информация не подтверждена.
Транзакция, расходующая неподтвержденный выходной сигнал, зависит от родительского процесса. Ограничения на количество пакетов или низкая общая комиссия могут задержать оба процесса.
Местное выселение или отмена
Узлы ограничивают использование памяти и применяют политики истечения срока действия или вытеснения. Транзакция может исчезнуть из пула одного узла, но остаться известной в другом месте. Она также может быть повторно передана позже, если она все еще действительна.
Какие существуют варианты замены и повышения платы?
В случае с биткоином совместимый кошелек может создать альтернативный способ оплаты с более высокой комиссией или использовать схему «дочерний платеж за родительский», если пользователь контролирует соответствующий выходной сигнал. Доступный метод зависит от исходной транзакции и политики сети.
В сети Ethereum отправитель может отправить замену, используя тот же nonce и достаточно более высокие настройки комиссии. «Отмена» обычно представляет собой еще одну транзакцию с тем же nonce, часто отправляющую отправителю нулевую сумму. Нет гарантии, что она выиграет гонку или отменит уже включенную транзакцию.
Никогда не подписывайте инструкции по замене, отправленные с незапрошенного аккаунта службы поддержки. Проверьте nonce, получателя, сумму и комиссию на экране доверенных пользователей кошелька.
Как связаны пулы памяти (Mempools) и MEV?
Публичные незавершенные сделки могут выявить свопы, ликвидации и арбитражные возможности. Ищущие могут предлагать конкурирующие сделки или пакеты предложений, в то время как разработчики выбирают порядок, который максимизирует их цель.
Эта деятельность часто обсуждается как максимальная извлекаемая ценность (МВЦ). Высокая цена на газ сама по себе не гарантирует позицию, поскольку на размещение ордеров влияют частные пакеты, взаимоотношения между инициатором и создателем ордера, а также правила протокола.
Ознакомьтесь с руководством UEEx по книге ордеров криптовалют, чтобы отличить ордера торговой площадки от ордеров транзакций в блокчейне. Они связаны во время расчетов, но не представляют собой одну и ту же очередь.
Какие существуют распространенные риски и неверные толкования?
Всплеск активности в пуле памяти может сигнализировать о повышении спроса, но не указывает на какую-либо конкретную причину.
Крупная, ожидающая оформления сделка купли-продажи, не является доказательством факта продажи, покупки или определения цены.
Оценки стоимости услуг Explorer представляют собой прогнозы, основанные на одной модели, и могут быть неверными.
Неподтвержденные транзакции могут быть заменены, аннулированы или признаны недействительными в случае возникновения конфликта.
Частные транзакции могут никогда не отображаться в общедоступной ленте ожидающих обработки.
Инсайдерская торговля или копирование видимой транзакции может оказаться неудачной и при этом повлечь за собой комиссионные сборы.
Что следует проверить, прежде чем доверять незавершенной транзакции?
Подтвердите сеть, получателя, сумму и идентификатор транзакции.
Проверьте, отображает ли кошелек статус "трансляция", "ожидание", "безопасно" или "подтверждено".
Сравнивайте расчетные суммы комиссий, основываясь на текущих данных сети, а не на старом скриншоте.
Для Ethereum проверьте значение nonce на счете и лимит комиссии.
В случае с биткоином проверьте виртуальный размер, размер комиссии и неподтвержденных родительских пользователей.
Используйте только платные инструменты для замены или ускорения.
Не следует распространять несколько противоречащих друг другу решений, не понимая результата.
Дождитесь подтверждений, соответствующих стоимости и политике получателя.
Заключение
Мемпул — это локальная зона ожидания, а не глобальный зал ожидания или гарантия подтверждения. Узлы Bitcoin и Ethereum используют разные структуры данных, правила комиссий и ограничения порядка, в то время как частный поток может обходить публичное наблюдение. Надежный анализ начинается с цепочки, политики узла, единицы комиссии, nonce или структуры зависимостей, а также разницы между оценкой и подтвержденным блоком.
Связанные условия
данное время – Последовательный счётчик, привязанный к учётной записи Ethereum, который определяет порядок выполнения транзакций.
Плата за газ – Платеж, необходимый для обработки транзакции в сети, совместимой с Ethereum.
Плата за замену (RBF) – Политика Bitcoin, позволяющая заменить неподтвержденную транзакцию транзакцией с более высокой комиссией.
Конструктор блоков – Субъект, который формирует набор и порядок транзакций, включенных в предлагаемый блок.
Максимальная извлекаемая ценность (MEV) – Дополнительная выгода, которую может получить конструктор блоков или поисковик, за счет включения, исключения или изменения порядка транзакций.
UTXO– Неизрасходованный результат транзакции; модель, используемая Биткоином для отслеживания доступных для расходования остатков.
Существует ли единый глобальный пул памяти? Нет. Каждый узел имеет собственное представление, основанное на том, что он получил и принял в соответствии с локальной политикой.
Означает ли наличие незавершенной транзакции, что средства исчезли? Не обязательно. Транзакция не подтверждена. Возможность ее восстановления или последующего подтверждения зависит от цепочки транзакций, исходных данных, одноразового кода и политики.
Может ли майнер включить в отчет транзакцию, которую не отображает мой обозреватель? Да. Майнер мог получить ее конфиденциально или через других пользователей, не отслеживаемых этим обозревателем.
Являются ли транзакции в пуле участников окончательной транзакцией? Нет. Они не подтверждены и могут быть отменены, заменены или аннулированы в случае возникновения конфликтующей подтвержденной транзакции.
Почему оценки стоимости услуг различаются? Сервисы используют разные представления узлов, исторические окна, целевые значения подтверждения и модели. Все оценки являются неопределенными.