Что такое мемпул Bitcoin?
Mempool — это своего рода комната ожидания для транзакций Bitcoin, которую имеет каждый полный узел для проверенных транзакций, но все еще ожидающих подтверждения майнерами.
Майнеры, когда им нужно создать блок Биткойна, выбирают наиболее удобные из них и вставляют их в блок, который они собираются добыть.
Теперь, когда мы это знаем, давайте рассмотрим подробнее, как происходит весь этот процесс, если вам интересно углубиться в эту концепцию.
Как работает MEMPOOL?
Согласно данным Coinmarketrate.com, когда транзакция Bitcoin отправляется в сеть, она сначала должна быть проверена узлами, которые ее принимают (это компьютеры, на которых установлено программное обеспечение Bitcoin).
Когда они проходят этот процесс (где транзакция проверяется на правильность), они становятся частью списка других проверенных транзакций, но которые не были подтверждены узлами майнинга. Эта область известна как Mempool, и именно так в просторечии называют пул памяти.
Здесь они должны ждать, пока майнер выберет их, чтобы интегрировать в следующий блок, который после майнинга станет частью блокчейна.
Короче говоря, это место, где хранятся отложенные транзакции.
Однако не все узлы имеют одинаковый mempool. Каждый может выбрать один из них с разной емкостью, как по размеру, так и по количеству подтверждаемых транзакций.
Менеджер MEMPOOL
Проблема с этим механизмом хранения отложенных транзакций заключается в том, что если бы один из узлов имел все неподтвержденные транзакции, включая те, которые так и не были подтверждены и остались в подвешенном состоянии, это привело бы к возникновению ошибок из-за количества ресурсов, необходимых для его работы.
Поэтому для разрешения этой проблемы необходимо простое решение, которое заключается в том, чтобы mempool имел механизм удаления определенных транзакций и оставления других.
Таким образом, он работает со списком приоритетов, где устанавливает минимальную плату за транзакции, а затем устраняет остальные.
Любая транзакция, имеющая меньшую плату, чем установленная узлом, удаляется, если она уже была в мемпуле, или вообще не добавляется в мемпул. Любая операция, превышающая этот нижний предел, добавляется в список вместе с остальными.
Какое значение имеет MEMPOOL?
Мемпул был одним из предложений по улучшению Биткойна (BIP), в частности, под номером 35. В нем предлагалось, чтобы остальным узлам будет открыт доступ к мемпулу.
Целью этого является:
- Чтобы легкие пользователи (легкие кошельки) были осведомлены о неподтвержденных транзакциях до того, как те добавятся в блок.
- Майнеры могут проверить выплачиваемые комиссии и произвести загрузку списка ожидающих транзакций, и провести их подтверждение.
- Провести анализ состояния сети.
Мы уже знаем, что mempool — это комната ожидания сети Биткойн. Чем быстрее эта комната будет опустошаться по мере добавления в блокчейн, тем лучше будет опыт для экосистемы и пользователей, в частности.
Это означает, что если мы начинаем видеть, как больше транзакций поступает в пул памяти и не так быстро добавляется в блокчейн, то в сети возникает перегрузка.
В этом случае одобряются только сделки с самыми высокими комиссиями, а остальным приходится ждать, пока скорость новых сделок замедлится.
Когда один из этих узлов получает новый добытый блок от майнера, он очищает свой mempool, чтобы удалить те транзакции, которые больше не нуждаются в проверке. Следовательно, размер mempool уменьшается.
Если вас интересует текущее состояние пула памяти, вы можете посмотреть этот график ниже.
Самое любопытное в этом графике то, что он рассказывает очень конкретную историю, так, как если бы mempool весит 5 МБ, а блок Биткойна — 1 МБ, то мы должны были бы ждать подтверждения нашей транзакции не менее 5 МБ, если только наша сделка не имеет высокую комиссию, или пока не появятся новые, которые отправят нас в приоритетный пул.
Также необходимо учитывать другие транзакции, которые обычно имеют очень маленький приоритет, и человек, отправивший их, прекрасно понимает, что ему придется ждать подтверждения дольше, чем обычно. Это известно, как «пылевая транзакция», и называется так потому, что содержит очень мало ценности в BTC.
Как мы знаем, средняя скорость добычи нового блок Биткойна составляет каждые 10 минут. Но, как сказано в ответе, это является средним значением, так как диапазон достаточно большой: от 1 минуты, до 1 часа.
В каждом блоке есть тысячи транзакций, которые получили место в блоке, заплатив более высокую плату, чем те, которые в настоящее время находятся в пуле памяти.
Сайт Bitcoinfees очень хорошо сообщает вам в любое время сумму сатоши, которую нужно заплатить, так что вы можете рассчитать время, которое вам придется ждать в соответствии с комиссионными.
И теперь, на такой вопрос, как почему моя транзакция навсегда застряла в менпуле, вы сможете ответить.
Вообще говоря, когда транзакция проводит в мемпуле более 48 часов, поскольку ни один майнер не хочет ее подтверждать, она удаляется, и мы можем получить наши BTC обратно в кошелек.
Хотя существуют и другие механизмы на случай, если этого не произойдет или мы захотим отменить нашу сделку:
- Replace By Fee (RBF): кошельки, такие как Electrum, имеют функцию, позволяющую заменить транзакции, находящиеся в мемпуле, созданием новых транзакций, с намного большими комиссионными.
- Использование ускорителя транзакции: определенная часть майнинговых пулов предоставляют услугу, позволяющую ускорить указанные транзакции в обмен на плату.
ЗАКЛЮЧЕНИЕ
Как мы видели, mempool — это очень важная частью экосистемы Bitcoin, и по этой причине его необходимо понимать. Это дает ответы на вопрос, почему наша транзакция не подтверждена, и каково ее путешествие от нашего кошелька до нового пункта назначения — блока Биткойна.
Теперь мы знаем, что происходит, когда сеть Биткойн становится перегруженной, в результате чего транзакции занимают больше времени, чем обычно, и нам приходится платить больше комиссионных.