Мемпул Биткойна: Как работают транзакции?

Мемпул биткойна

Биткоин — это криптовалютная сеть, которая позволяет пользователям отправлять и получать электронные платежи в любой точке мира. Не существует ни физических биткоинов, ни счетов, на которых хранятся биткоины. Вместо этого биткоин выступает в качестве формы электронных денег, и пользователи могут совершать одноранговые (P2P) транзакции, используя блокчейн биткоина, который выступает в качестве своеобразной электронной книги. Блокчейн постоянно обновляется узлами, которые обмениваются обновленными балансами и данными по всей сети. Однако прежде чем транзакции будут добавлены в блокчейн, они должны попасть в мемпул.

Как работает транзакция Биткойна?

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

Технология блокчейн делает децентрализацию возможной, но у нее есть свои ограничения. Например, сеть Биткойн обрабатывает около 4,6 транзакций в секунду.
Транзакции в секунду (TPS) — это количество транзакций, которые сеть блокчейн может обрабатывать каждую секунду.
Сравните это с VisaNet, которая обрабатывает 1 700 TPS. Несмотря на возможность некоторой адаптации для улучшения масштабируемости технологии блокчейн, система по-прежнему остается сравнительно медленной, что приводит к высоким комиссиям и периодическим задержкам, особенно в периоды большого объема транзакций.

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

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

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

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

Что такое мемпул биткоина?

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

Узлы делятся данными mempool, передавая друг другу подписанные транзакции, пока они не достигнут всей сети. Когда общий мемпул достигает полной емкости в периоды высокого объема транзакций, узел определяет приоритетность транзакций, основываясь на комиссии за транзакцию, которая выше пороговой. Все транзакции, стоимость которых ниже пороговой, удаляются из пула, а в пул добавляются только новые транзакции, стоимость которых соответствует минимальной. Другими словами, транзакции с более высокой комиссией имеют приоритет на обработку и удаление из mempool и добавление в блок.

Взаимосвязь между мемпулом Биткойна и комиссией за транзакции

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

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

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

Каждая транзакция Биткойна находится в mempool до тех пор, пока не будет готова к подтверждению, но единого, всеобъемлющего mempool не существует. Каждый узел имеет свой собственный пул памяти, и по умолчанию его объем обычно не превышает 300 МБ.

Когда пул переполнен, у пользователей есть возможность заплатить более высокую плату, что может продвинуть их транзакции в первые ряды для более быстрого подтверждения. С другой стороны, транзакции с более низкой комиссией остаются в mempool, где они будут оставаться неподтвержденными до тех пор, пока перегрузка не уменьшится. Аналогичным образом, во время минимальной загруженности, когда объем транзакций невелик, плата соответственно ниже. После того как транзакция будет принята и добавлена в подтвержденный блок, она удаляется из mempool.

Вы можете проверить статус транзакции BTC здесь.

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

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

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

Счетчик транзакций в мемпуле
Напротив, если количество транзакций в пуле увеличивается, это означает, что общее количество неподтвержденных транзакций в пуле растет. Таким образом, взимается более высокая плата. Например, 4 октября 2021 года в мемпуле биткойна было 4,25 тыс. неподтвержденных транзакций, а средняя комиссия за транзакцию составляла $2,45. Сравните это с 25 октября 2021 года, когда размер mempool достиг максимума в 6,6 тыс. транзакций, а средняя комиссия за транзакцию составила $3,09.

Средняя комиссия за транзакцию биткойна

Что делать при перегрузке транзакций?

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

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

После того как транзакция отправлена, у вас остается несколько вариантов, которые могут ускорить ее проведение. Если ваша транзакция застопорилась в очереди, вы можете продвинуться вперед с помощью опции Replace-by-Fee, или опции RBF, которая позволяет повторно отправить транзакцию с более высокой комиссией. Однако не все кошельки поддерживают эту опцию. Если ваш не поддерживает, вам придется рассмотреть альтернативные варианты, такие как «ребенок платит за родителя», или CPFP. При использовании CPFP майнеры выбирают транзакции с наибольшей суммарной комиссией. Вы также можете использовать ускоритель транзакций, который позволяет отправлять транзакции, стоимость которых составляет не менее 0,1 mBTC за килобайт, в майнинговый пул ViaBTC для приоритетного подтверждения.

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

Если ни Lightning Network, ни какое-либо другое решение не подходит, будьте уверены, что даже при застопорившихся транзакциях ваш биткоин не пропадет. Он останется в вашем кошельке до тех пор, пока транзакция не будет подтверждена.

А что, если бы мемпул не существовал?

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

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

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

Итог

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

Оцените статью
Blockchain Media
Добавить комментарий