Мемпул биктоина: что это и как влияет на ускорение транзакций

549
Просмотры
мемпул биткоина

В этом руководстве мы разберем тему мемпула биткоина. Он также известен как mempool или пул памяти.

Что такое мемпул простыми словами

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

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

Мемпул биткоина — это место, где транзакции ждут, когда их возьмут майнеры, чтобы добавить в блок на блокчейне.

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

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

Где смотреть размер мемпула

Хотя блокчейн и мемпул связаны друг с другом, но сам мемпул не является какой-то частью на блокчейне. У него нет единого места. Скорее, у каждой ноды биткоина есть собственный мемпул с объемом памяти. Нодами управляют майнеры и операторы полных нод, которые запускают на своих устройствах копии блокчейна.

Чтобы узнать размер мемпула биткоина, нужно воспользоваться онлайн-сервисом: https://www.blockchain.com/ru/charts/mempool-size?timespan=24h

размер мемпула биткоинаПозиция в мемпуле биткоина

Как транзакции попадают в мемпул, как выходят из него и как сохраняются в блокчейне?

Для попадания в мемпул транзакция должна быть инициирована.

  1. Отправитель открывает свой кошелек, вводит адрес назначения и сумму.
  2. Когда нажата кнопка отправки, первый этап запущен. Для построения транзакции выбираются неизрасходованные выходы и проводятся некоторые проверки.
  3. После этого перевод попадает в список неподтвержденных биткоин-транзакций.
  4. В мемпуле транзакция присоединяется к тысячам других. Каждая транзакция ждет указанного количества подтверждений, обычно шесть. Очередь формируется по времени поступления и размеру комиссии.
  5. Когда первое подтверждение приходит, оно добавляет транзакцию в блок.
  6. Когда транзакция проходит, она очищается из мемпула.

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

Что поднимает транзакцию в очереди

Что нужно сделать, чтобы транзакция прошла за 10 минут? Есть несколько существенных факторов, наиболее важные эти два:

  • большая комиссия (когда мемпул пуст, можно проводить транзакции почти без комиссий, так как майнерам все равно, но когда конкуренция большая — цена растет),
  • количество отправлений (на хайпе люди переводят BTC быстрее, чем их могут обработать майнеры), транзакции ниже минимальной комиссии удаляются,

О том, как ускорить транзакцию биткоина.

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