Комиссии Bitcoin: sat/vB, мемпул и повышение комиссии
Разберитесь, как размер транзакции Bitcoin, sat/vB, спрос в мемпулах, оценки комиссии, RBF и CPFP влияют на стоимость и вероятность подтверждения ончейн-перевода.
В этом руководствеКомиссия оплачивает место в блоке Bitcoin
Краткое резюме
Комиссия за транзакцию Bitcoin обычно рассчитывается по её виртуальному размеру и ставке: комиссия в сатоши = виртуальный размер в vB × сатоши за vB. Сумма BTC, которую вы отправляете, сама по себе не является основой для расчёта. Оценки комиссии отражают меняющиеся условия сети и не обещают время подтверждения.
Комиссия оплачивает место в блоке Bitcoin
Транзакция Bitcoin расходует один или несколько неизрасходованных выходов транзакций (UTXO) и создаёт новые выходы. Разница между суммой входов и суммой выходов и есть комиссия транзакции. Её получает майнер, который включил транзакцию в свой блок. Протокол не удерживает процент от отправляемой суммы; это также не то же самое, что плата за услуги кошелька.
Транзакции конкурируют за ограниченное место в блоках. Майнер, собирающий блок, может учитывать предлагаемые комиссиями ставки и взаимосвязи между транзакциями. При прочих схожих условиях более высокая ставка может сделать транзакцию привлекательнее, но не закрепляет за ней место в следующем блоке. Результат зависит от рынка комиссий, зависимостей между транзакциями, выбора майнера и того, дошла ли транзакция до нужных узлов.
Здесь рассматриваются ончейн-транзакции Bitcoin в сети Bitcoin. При выводе с биржи может взиматься отдельная комиссия биржи, а в Lightning используются другой путь платежа и другая структура комиссий. Кошелёк может показывать несколько расходов вместе, поэтому выясните, указана ли сетевая комиссия, плата за услугу или обе. Руководство Bitcoin.org по комиссиям объясняет связь между размером транзакции, sat/vB и спросом на место в блоке.
Общая комиссия и ставка отвечают на разные вопросы
Общая комиссия — число сатоши, уплачиваемых за транзакцию. Ставка комиссии указывает количество сатоши на виртуальный байт и записывается как sat/vB. Чтобы получить ставку, разделите общую комиссию на виртуальный размер транзакции; чтобы оценить общую сумму, умножьте виртуальный размер на выбранную ставку. Кошельки часто предлагают выбрать или проверить ставку, поскольку транзакции разного размера при одинаковой ставке могут иметь разную общую комиссию.
Предположим, что гипотетическая транзакция имеет размер 140 vB и ставку 25 sat/vB. Комиссия равна 140 × 25 = 3 500 сатоши. Поскольку 1 BTC равен 100 000 000 сатоши, 3 500 sats — это 0,000035 BTC. Если для транзакции такого же размера выбрать 40 sat/vB, комиссия составит 5 600 sats, или 0,000056 BTC. Это пример расчёта, а не текущая оценка комиссии и не рекомендация.
Ставка комиссии — не процент от суммы платежа. Две транзакции с разными суммами BTC могут иметь одинаковую комиссию, если их виртуальный размер и ставки совпадают. Небольшой перевод может обойтись дороже крупного, если для него нужны дополнительные данные входов или применяется более высокая ставка. Важен и выход сдачи: если сумма входов превышает платёж, разницу можно вернуть отправителю отдельным выходом, который тоже занимает место.
Виртуальный размер отражает место транзакции в блоке
Кошельки Bitcoin обычно рассчитывают комиссии по виртуальному размеру (vsize), а не считают каждый сериализованный байт одинаковым. У данных транзакции SegWit есть вес. По формуле BIP 141: weight = 3 × base size + total size, где total size включает данные witness. Затем vsize = weight ÷ 4 с округлением вверх до целого vB. Формула учитывает разный вес witness-данных и не равна просто размеру файла в байтах.
Входы и выходы добавляют разное количество данных. Вход ссылается на предыдущий выход и содержит данные, необходимые для выполнения условий его расходования. Точный размер зависит от типа выхода и данных разблокировки, включая подписи. Выход задаёт сумму и блокирующий скрипт. Поэтому транзакция с несколькими небольшими входами может быть больше транзакции с одним входом, даже если общая сумма отправки одинакова.
Число входов особенно важно, если кошелёк объединяет множество небольших полученных выходов для оплаты. Транзакция должна расходовать каждый выбранный выход, и каждый вход добавляет данные. Кошелёк также может создать выход сдачи, увеличив размер. У разных типов адресов и скриптов разный размер, а длина подписи может меняться. Поэтому размер «типичной транзакции» — лишь пример, а не постоянная величина для любого платежа Bitcoin.
Оценка кошелька может измениться, если выбрать другие монеты, добавить получателей, выбрать другой тип адреса для сдачи или изменить ставку комиссии. Поэтому одной проверки суммы платежа недостаточно. Состав транзакции определяет её vsize, а ставка определяет, сколько сатоши предлагается за каждый vB. BIP 141 задаёт расчёт виртуального размера, учитывающий данные witness.
Мемпулы хранят неподтверждённые транзакции, но общей очереди нет
После широковещательной отправки транзакция может попасть в пул памяти (мемпул) узлов, которые получили и приняли её. Мемпул — локальный набор неподтверждённых транзакций конкретного узла, а не единая очередь, синхронизированная по всей сети. Узлы могут видеть транзакции в разном порядке, применять разные правила ретрансляции, иметь разные лимиты ёмкости или вовсе не получить конкретную транзакцию.
Майнеры выбирают транзакции для кандидата в блок из тех, о которых знают, с учётом правил консенсуса и собственных политик выбора. Транзакции, расходующие выходы других неподтверждённых транзакций, зависят от них. В таком случае майнер может оценивать родительскую транзакцию вместе с одним или несколькими потомками, а не рассматривать каждую запись отдельно по её собственной ставке. Поэтому простой «номер в очереди» на стороннем сайте может быть неполным или временным.
Когда за место конкурирует больше пользователей, ставки, вероятно подходящие для более раннего включения, могут вырасти. При снижении спроса конкурентоспособными могут стать и транзакции с более низкими ставками. Нагрузка и набор транзакций, известных кошельку или узлу, могут быстро меняться. Если транзакция отображается в мемпуле одного обозревателя или кошелька, это не доказывает, что все майнеры и узлы видят то же самое.
Транзакция без отметки о подтверждении остаётся неподтверждённой; сама отметка не означает, что она потеряна или недействительна. Из-за политик узлов и изменений мемпула транзакция может исчезнуть из мемпула одного узла, а затем снова быть отправлена или принята. Если кошелёк всё ещё показывает её ожидающей, не считайте, что её входы уже можно использовать для нового платежа. Прежде чем тратить их снова, проверьте статус транзакции и официальные инструкции кошелька.

Оценка комиссии — это цель, а не гарантия подтверждения
Кошелёк может предложить варианты вроде «экономный», «обычный» или «приоритетный», либо показать целевое число блоков. Это оценка ставки, которая может быть конкурентоспособна при наблюдаемых условиях. Документация Bitcoin Core по оценке комиссий описывает приблизительную ставку, рассчитанную на начало подтверждения в пределах целевого числа блоков, если у оценщика достаточно истории. При нехватке свежих данных оценка может быть недоступна. Разные кошельки и сервисы могут использовать разные данные, модели, интервалы обновления и определения цели.
Цель «следующий блок» не означает обещание включить транзакцию в следующий блок. Пока она распространяется, условия, использованные в оценке, могут измениться, а за место начнут конкурировать новые транзакции с более высокими комиссиями. На выбор также могут влиять зависимости между транзакциями. Целевое число блоков — параметр оценки, а не договор с майнером.
Проверьте, когда обновлялась котировка комиссии и показывает ли кошелёк ставку или только общую сумму. Если перевод не срочный, можно намеренно выбрать более низкую ставку и подождать, но время подтверждения остаётся неопределённым. Если время важно, сравните оценку кошелька с актуальным источником данных и выясните, что кошелёк предложит при изменении условий. Повышение комиссии «на всякий случай» может увеличить расходы, не гарантируя включение в конкретный блок.
Ставка оценщика также не определяет минимальную ставку, которую каждый узел примет для ретрансляции. Политика ретрансляции, лимиты мемпула, настройки кошелька и прогноз подтверждения связаны, но отвечают на разные вопросы. В документе Bitcoin Core о проектировании мемпула описано, как зависимости между транзакциями влияют на их выбор и политику замены. Не считайте политику одного релиза или узла постоянным правилом всей сети.
RBF позволяет кошельку заменить ожидающую транзакцию на версию с большей комиссией
Replace-by-fee (RBF, замена за комиссию) — способ заменить неподтверждённую транзакцию конфликтующей транзакцией с более высокой комиссией, если это допускают кошелёк и политики соответствующих узлов. Новая транзакция использует хотя бы один из тех же входов, поэтому конфликтующие версии не могут обе подтвердиться как действительные расходы одного входа. В кошельке может быть кнопка «повысить комиссию», но её наличие, условия и итоговая сумма зависят от кошелька и структуры транзакции.
Не полагайтесь на устаревшее правило, будто для замены транзакция всегда должна заранее сигнализировать RBF определённым образом. В действующей политике Bitcoin Core полный RBF указан как политика по умолчанию начиная с версии 28.0; в рамках этой политики сигнализация для замены больше не требуется. Другие узлы, кошельки, сервисы или старые версии могут вести себя иначе. Если кнопка недоступна, это не значит, что все узлы используют одну и ту же политику: ограничение может быть связано с кошельком или структурой транзакции.
Для замены обычно недостаточно «добавить один сатоши». Согласно текущей политике Bitcoin Core, абсолютная комиссия заменяющей транзакции должна быть не меньше суммы абсолютных комиссий исходных транзакций; она также должна покрыть дополнительные расходы на передачу замены по сети и улучшить диаграмму ставок комиссий в мемпуле. Связанные транзакции могут усложнить расчёт — недостаточно просто выбрать ставку повыше. Текущая политика замены описывает эти условия.
RBF — не кнопка отмены, и она не отменяет подтверждённую транзакцию. Это конкурирующий неподтверждённый расход. Получатель, который считает неподтверждённый платёж окончательным, подвергается риску замены. Поэтому неподтверждённая транзакция не равнозначна подтверждённому платежу. Если вы получаете перевод, руководствуйтесь правилами подтверждения принимающего сервиса и не предполагайте, что подтвердится первая увиденная версия.
CPFP может повысить стимул включить родительскую и дочернюю транзакции вместе
Child Pays for Parent (CPFP, «дочерняя платит за родительскую») использует новую дочернюю транзакцию, которая расходует выход неподтверждённой родительской. Дочерняя транзакция может предложить такую ставку, чтобы майнеру было выгодно включить обе вместе. Значение имеют совокупные комиссия и виртуальный размер; дочерняя транзакция не стирает комиссию родительской и не объединяет их бесплатно.
Кошелёк должен контролировать подходящий неподтверждённый выход и уметь создать дочернюю транзакцию. Имеют значение связь родителя и потомка, правила ретрансляции и пакетной обработки, а также выбор майнера. Общая комиссия может оказаться выше той, которую вы выбрали бы для одной транзакции, а включение всё равно не гарантировано. Не создавайте дочернюю транзакцию вручную, если не понимаете, какой выход она расходует и как кошелёк управляет сдачей.
RBF и CPFP решают связанные, но разные задачи. RBF создаёт конфликтующую версию ожидающей транзакции. CPFP добавляет зависимую транзакцию, которая может повысить стимул майнера включить пакет «родитель — потомок». Кошелёк может поддерживать один механизм, оба или ни одного. Политики мемпула Bitcoin Core зависят от версии и влияют на то, что примет узел. Это механизмы, а не обещание времени подтверждения.
Комиссия биржи за вывод может отличаться от сетевой комиссии Bitcoin
Биржа может устанавливать плату за вывод по собственному тарифу. Она бывает фиксированной, периодически пересматривается или учитывает обработку пакетных выводов клиентов. Поэтому она не обязана совпадать со ставкой одной отдельно переданной ончейн-транзакции. Биржа может объединить несколько выводов в одну транзакцию, тогда как кошелёк с самостоятельным хранением обычно формирует транзакцию для выбранных вами выходов.
Перед выводом проверьте отображаемую плату, сумму, которая поступит, и выбранную сеть. Не делайте вывод, что комиссия биржи показывает текущую ставку sat/vB. Даже если платформа называет плату «сетевой комиссией», это может быть рассчитанная самой платформой сумма, а не прямая оценка конкретной транзакции. Проверьте опубликованный тариф и детали предварительного просмотра.
Обратная ситуация тоже возможна: кошелёк показывает сетевую комиссию без платы провайдеру. Ончейн-комиссию Bitcoin платит транзакция, попавшая в блок; интерфейс кошелька не удерживает её как процент от перевода. Сравнивая вывод с биржи и отправку из самостоятельного кошелька, сопоставьте сумму для получателя, выбранную сеть и отдельные строки комиссий. Перед отправкой проверьте сеть и адрес по контрольному списку криптоперевода. Отличная от неё структура комиссии за газ Ethereum описана в руководстве по комиссии Ethereum.
Проверьте детали транзакции перед подписью
Перед подтверждением платежа Bitcoin проверьте сеть, адрес получателя, сумму, общую комиссию и ставку, если кошелёк её показывает. Убедитесь, что это именно ончейн-перевод Bitcoin, а не другой способ платежа. Просмотрите расчёт комиссии после выбора получателей и входов: изменение состава транзакции может изменить её виртуальный размер и общую комиссию даже при той же ставке.
Если транзакция ожидает подтверждения, сначала выясните, поддерживает ли кошелёк RBF или CPFP и какие условия действуют. Не отправляйте тот же платёж отдельной новой транзакцией, не поняв, может ли подтвердиться исходная. Сохраните ID транзакции и проверьте статус в кошельке или надёжном обозревателе блоков. Если транзакция исчезла из одного сервиса, это само по себе не доказывает, что она подтверждена, отменена или безопасна для замены.
Выберите ставку с учётом срочности и того, как долго вы готовы ждать, помня, что котировка не обещает включения в определённый блок. Если комиссия кажется необычно высокой, проверьте число входов и структуру выходов: сумма перевода сама по себе не объясняет размер транзакции. Если кошелёк показывает только итог, откройте подробности или официальную документацию, чтобы понять, какие расходы включены. Приведённые здесь числа — гипотетические примеры, а не актуальная котировка.
Частые вопросы
Q1Комиссия Bitcoin — это процент от отправляемой суммы?
Нет. Сетевая комиссия обычно рассчитывается по виртуальному размеру транзакции и ставке. Если vsize и ставка не меняются, сумма платежа может отличаться, а комиссия останется одинаковой.
Q2Если транзакция не подтверждена, мои биткоины потеряны?
Не обязательно. Транзакция всё ещё может ожидать подтверждения, а состояние мемпула у узлов меняется. Проверьте ID транзакции и её статус в кошельке; не считайте, что ожидающая транзакция отменена или что её безопасно отправить повторно.
Q3Более высокая ставка sat/vB гарантирует включение в следующий блок?
Нет. При схожих условиях более высокая ставка может повысить конкурентоспособность, но меняются рынок комиссий, зависимости между транзакциями, ретрансляция и выбор майнера. Оценка не обещает определённый блок.
Источники и дополнительное чтение
Сообщить о проблеме
Мы подготовим письмо со ссылкой на эту статью. Mark получит сообщение только после отправки
Быстрая проверка
Прочитали руководство? Проверьте себя в 3 вопросах
Вопрос 01
Гипотетическая транзакция имеет размер 140 vB и ставку 25 sat/vB. Какова общая комиссия?
Выберите ответ, чтобы увидеть объяснение