Закрыть

Мемпул биткоина (btc) — что это такое и как работает bitcoin mempool?

В закладки
Аудио
Содержание

В данной статье мы разберем, что такое мемпул в блокчейне, размер и количество мемпул транкзаций (mempool trancsation size)and count), загруженность мемпула и много другое. Мемпул биткоина — это место, где транзакции ждут, когда их возьмут майнеры, чтобы добавить в блок на блокчейне.

Если вы хоть раз совершали перевод в BTC, вы сталкивались с тем, что время от отправки до получения составляет до 10 минут. В момент загруженности сети это могли быть часы, а иногда и дни. Возможно, вы также слышали фразу «Транзакция застряла в мемпуле». Это именно то место, где хранятся данные в ожидании обработки нодами. В сети биткоина данные — это транзакции, поэтому мемпул также можно назвать пул транзакций.

Если размер мемпула увеличивается, это значит, что переводов в очереди становится больше. Подтверждение будет занимать больше времени, а для ускорения транзакции придется доплачивать комиссию.

Mempool является частью BIP 35. Идея заключалась в том, что внешние узлы смогут получить доступ к мемпулам других узлов. Это важно для следующего:

  • биткоин-кошельки могут узнать о скорости проведения перевода до отправки (размер мемпула поделить на размер блока = сколько блоков ждать примерно по 10 минут каждый),
  • майнеры могут приоретизировать обработку транзакций по комиссиям,
  • наблюдатель может диагностировать сеть.

Включено в блок мемпул — что это значит?

Это означает, что транзакция помещена в общую группу и ожидает подтверждения майнерами.

График количества транзакций мемпула:

  1. По оси X - время.
  2. По оси Y - количество неподтвержденных транзакций.

Стоимость здесь определена разными цветами (Синим – самые дешевые). Вы можете видеть, что мемпул постоянно меняется. Пять минут стоимость увеличивается, затем уменьшается, а затем снова.Мемпул биткоина (btc) — что это такое и как работает bitcoin mempool?

Комиссии в сети Bitcoin высчитывается в Сатоши за байт. Иными словами, у каждой транзакции есть свое место в мемпуле (mempool space). И зависит это место не от суммы перевода, а от комиссии и от количества входов / выходов в транзакции.

Именно поэтому майнеры сначала подтверждают наиболее «дорогие» с точки зрения комиссии переводов. И не важно сколько вы отправили средств – 1 BTC или 10 000 BTC. Майнер всегда возьмет ту транзакцию, в которой выше показатель комиссии (Сатоши за байт транзакции).

График Pending Transaction Fee in BTC – неподтвержденные транзакции

Этот график показывает те переводы, которые сейчас на утверждении в сети.

Иными словами, те транзакции, которые сейчас проходят верификацию.

Каждая работающая полная нода в сети Биткойн подключена к Mempool, особенно майнеры. Майнеры, работающие на своих соответствующих нодах, собирают массу транзакций из этого Mempool, а затем пытаются решить энергоемкую математическую задачу. Именно так работает майнинг (если говорить упрощенно).

Коллекция этих транзакций называется «блоком», и какой бы майнер ни решал математическую задачу первым, он добавляет этот блок в блокчейн. Это первое подтверждение блока.

Позиция в мемпуле

Время нахождения блока Биткойна составляет 10 минут, но все мы время от времени испытываем крайние задержки в подтверждении наших переводов.

Это происходит потому, что майнеры не выбирают именно наши транзакции из Mempool.

Как мы уже рассказывали вам в статье о хэше биткойнов, майнеры получают 6,25 BTC каждый раз, когда они успешно добывают биткойн-блок. Но помимо этой фиксированной суммы в 6,25 BTC, майнеры также получают бонусное количество биткойнов. Этот бонус называется «комиссия за майнинг биткойнов».

Поэтому, когда майнер успешно добывает блок, он получает 6,25 BTC плюс X сумму комиссии за перевод, что представляет собой совокупную сумму всех комиссий за транзакции в этом блоке.

Посмотрите на это изображение блоков в реальном времени, добавляемых в блокчейн:

Как вы можете видеть на изображении выше, майнеры или пулы майнинга (F2Pool, Poolin, AntPool и т. д.) Получают дополнительное вознаграждение в дополнение к стандартному вознаграждению за блок в 6,25 BTC.

И именно поэтому логично, что майнер выберет для майнинга блоки в Mempool с более высокой комиссией за перевод.

И это причина того, что наши биткойн-переводы иногда «застревают» в Mempool и не принимаются через несколько часов (возможно, даже дней) спустя.

Загрузка мемпула – реальная проблема

Простыми словами, мемпул – это набор транзакций, которые ещё не проведены и ожидают подтверждение. В любом пуле может произойти скопление операций, что приведет к задержкам их исполнения.

Как правило, мемпул Биткоина не содержит слишком много информации, но наплыв данных может быть резким.

Это создает проблемы для пользователей. Несмотря на возможность ускорить переводы, никто не повышает комиссию. Скорость обработки операций может снижаться по различным причинам, а это оттягивает срок исполнения транзакции на более длительный срок.

Всё чаще поток новых переводов превышает ту цифру, с которой справляются майнеры.

Перегрузки начинаются с того момента, когда остается меньше 1 Мб памяти в мемпуле. Если это происходит, время ожидания подтверждения возрастает на количество добываемых блоков.

К примеру, если размер пула 20 Мб, то транзакции с небольшой комиссией получат подтверждение, только после каждого 20-го блока.

Кому нужно быстро провести транзакцию, придется платить повышенную комиссию, иного пути нет. Разработчики Bitcoin уже пытались увеличить объем мегабайт в каждом блоке, это привело к появлению BitcoinCash (там блоки по 8 Мб.).

Пока же, проблема загруженности мемпула остается актуальной, а транзакции с большой комиссией однозначно будут приоритетными.

Как можно ускорить обработку переводов

Небольшой размер блоков — одно из проблемных мест биткоин-сети. Если раньше это не было проблемой, то сейчас, когда биткоин активно используется миллионами пользователей по всему миру, порой это доставляет серьёзные неудобства.

Одна из особенностей биткоин-переводов состоит в том, что в каждой транзакции пользователь должен указать размер комиссии (вознаграждения для майнера). А так как нет каких-либо определённых требований к её размеру, пользователи могут устанавливать минимальную комиссию, вплоть до нескольких сатоши.

Для пользователей это хорошо, так как не нужно платить фиксированный сбор и можно сэкономить. Но для майнеров такое положение дел не очень выгодно. Поэтому вполне логично, что из заполненного мемпула майнеры в первую очередь выбирают для подтверждения транзакции, у которых размер комиссии больше.

Напрашивается не менее логичный вывод, что можно ускорить обработку своих транзакций, устанавливая больше размер вознаграждения. Так ваши транзакции будут иметь более высокий приоритет для майнеров и быстрее обрабатываться.

  • Больше размер комиссии — транзакция будет подтверждена быстрее.

Такой подход далеко не идеален и всё равно не поможет решить проблему перегруженности сети. Вот несколько причин, по которым увеличение комиссии не сильно поможет пользователям:

  • Слишком большая комиссия. Если все пользователи начнут увеличивать размер вознаграждения, то для повышения приоритета своего перевода придётся заплатить ещё больше. А это может привести к тому, что комиссия станет очень дорогой и невыгодной для пользователей.
  • Пропускная способность сети не меняется. Транзакции с большой комиссией будут обрабатываться быстро. Но мемпул всё равно будет заполняться транзакциями с небольшим или минимальным вознаграждением.
  • Проблема спам-атак. Работа сети может преднамеренно замедляться злоумышленниками, которые отправляют большое количество переводов с минимальной комиссией. Это вызывает переполнение мемпула.

Сколько по времени занимает перевод Биткоина?

Чтобы биткоины были зачислены на ваш баланс, перевод должен получить два подтверждения. Это стандартное требование для любого безопасного кошелька. Процесс может занять от пяти минут до часа, в зависимости от загруженности сети.

Что делать, если у моей биткоин-транзакции нет подтверждения?

Отсутствие подтверждения — это очень редкий случай, так как большинство переводов получают подтверждение в течение 72 часов. Paxful рекомендует подождать 72 часа, прежде чем повторно отправлять средства. Если транзакция так и не попала в блокчейн спустя 72 часа, биткоины снова окажутся на кошельке отправителя. 

Как отменить неподтвержденную транзакцию Биткоин?

Отменить подтвержденный перевод невозможно. Криптоэнтузиасты не раз заявляли о том, насколько это неудобно: бывали случаи, когда пользователь тщательно проверял все данные перевода, но совершенно случайно отправлял активы не тому получателю. Как ни печально, но в такой ситуации вернуть деньги не удастся.

Предыдущая статья Понравилась статья? 0 Следующая статья
Комментарии: 0
Оставить комментарий
Сервис подписки в данный момент находится на завершающей стадии разработки. Регулярная отправка новостных материалов на Ваш email начнется в ближайшее время. Повторная подписка не потребуется.
Добавить еще