Skip to content

КомиссииBitcoin

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

Обновлено:

На этой странице

Комиссии в Bitcoin устроены совсем не так, как газ в Ethereum. В статье рассказано про мемпул, единицу sat/vB, почему комиссию определяет размер транзакции и что делать, если платеж застрял.

Основы сети описаны в статье Bitcoin. Общая идея комиссий — в статье газ и комиссии.

Мемпул

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

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

Комиссия считается за байт, а не за сумму

Bitcoin берет комиссию не за отправляемую сумму, а за то, сколько места транзакция занимает в блоке. Единица измерения — виртуальный байт (vB). Цена указывается в сатоши за vB (sat/vB). Один сатоши — это одна стомиллионная биткоина.

Комиссия вычисляется так:

комиссия = размер в vB x ставка в sat/vB

Пример: транзакция в 141 vB при 10 sat/vB стоит 1,410 сатоши. Отправка очень маленькой суммы стоит столько же, сколько очень большой, если размер одинаков. Комиссия не зависит от суммы, только от размера.

Виртуальные байты появились благодаря SegWit, который считает данные подписи со скидкой. Лимит блока — 4 миллиона единиц веса, что составляет около 1 миллиона vB.

От чего зависит размер транзакции

В транзакции Bitcoin есть входы (inputs) — монеты, которые вы тратите, и выходы (outputs) — куда монеты уходят. Чем больше входов и выходов, тем больше транзакция и выше комиссия.

  • Простой платеж с одним входом и двумя выходами (один получателю, один вам обратно в виде сдачи) занимает около 140 vB, если используется современный адрес SegWit.
  • Если в кошельке много мелких монет и их нужно объединить, используется много входов, и комиссия растет.
  • Платеж многим получателям содержит много выходов, что тоже увеличивает размер.

Типы адресов

Разные типы адресов дают разный размер на один вход.

  • Legacy-адреса (начинаются с 1) самые большие.
  • Адреса SegWit (начинаются с bc1q) меньше на один вход.
  • Адреса Taproot (начинаются с bc1p) тоже компактны на один вход, а некоторые сложные траты становятся меньше.

Поэтому один и тот же платеж с адреса SegWit или Taproot может стоить заметно дешевле, чем с legacy-адреса. Тип адреса выбирает кошелек, так что проверьте, какой он использует.

Оценка комиссии

Кошельки оценивают ставку комиссии по мемпулу и последним блокам. Типичный инструмент показывает несколько целей:

  • Следующий блок: самая высокая ставка, наибольший шанс попасть в следующий блок.
  • Около 30 минут: средняя ставка.
  • Около 1 часа: более низкая ставка.
  • Экономная: минимальная ставка для платежей, которые могут ждать долго.

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

Что происходит, когда мемпул переполнен

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

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

Как сдвинуть застрявший платеж: RBF и CPFP

Если вы заплатили слишком мало, есть два распространенных решения.

  • RBF (replace-by-fee, замена за комиссию). Вы отправляете новую версию той же транзакции с более высокой комиссией. Узлы заменяют старую на новую. Нужен кошелек с поддержкой этой функции, а старые узлы принимали замену, только если исходная транзакция была помечена как заменяемая. Сегодня большинство узлов принимают замену в любом случае, но кошелек, который никогда не помечает транзакции как заменяемые, может не предлагать эту опцию.
  • CPFP (child pays for parent, потомок платит за родителя). Вы или получатель создаете новую транзакцию, которая тратит выход застрявшей и платит высокую комиссию. Майнеры включают обе вместе, потому что хотят получить комиссию потомка, а потомок не может быть добыт раньше родителя.

Отправитель обычно использует RBF, а получатель, который не может изменить исходную транзакцию, — CPFP.

Почему блоки идут не ровно раз в 10 минут

Bitcoin стремится к одному блоку примерно раз в 10 минут в среднем. Майнинг — это лотерея: майнеры перебирают множество вариантов, и время нахождения допустимого блока случайно. Одни блоки появляются меньше чем за минуту, другие ждут 30 минут и больше. Каждые 2016 блоков сеть подстраивает сложность майнинга, чтобы среднее значение оставалось около 10 минут.

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

Следите в реальном времени

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

Часто задаваемые вопросы

Что такое sat/vB?

Это ставка комиссии в Bitcoin: сатоши, уплаченные за каждый виртуальный байт размера транзакции. Умножьте ее на размер вашей транзакции, чтобы получить комиссию.

Почему моя транзакция Bitcoin застряла?

Скорее всего, ее ставка ниже той, которую майнеры принимают сейчас. Она остается в мемпуле, пока ставка не снизится, вы не ускорите ее или узлы не отбросят ее.

Как ускорить транзакцию Bitcoin?

Используйте RBF, если кошелек его поддерживает, или попросите получателя использовать CPFP. Оба способа платят более высокую комиссию за то же место.

Стоит ли отправка большей суммы биткоина дороже в комиссиях?

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

Сколько подтверждений нужно ждать?

Распространенное правило — 6 подтверждений для крупных платежей. См. финальность и подтверждения.