Консолидация UTXO: как сэкономить на комиссии биткоина | IceAI

Консолидация UTXO: как сэкономить на комиссии биткоина

Консолидация UTXO в биткоине: как объединить мелкие входы, посчитать вес транзакции в vB и платить меньше комиссии. Пошагово с цифрами.

В феврале я расплачивалась биткоином за подписку на сервис — счёт на 28 долларов. Кошелёк собрал платёж из девяти мелких входов, и комиссия вышла 27 400 сатоши, то есть около 17 долларов при тогдашнем курсе. Я заплатила почти половину суммы счёта за то, что у меня на балансе лежало девять кусочков по 0,0007 BTC вместо одного нормального. С тех пор я раз в пару месяцев сажусь и объединяю свои UTXO, пока сеть спокойная, — и плачу за переводы в разы меньше.

Консолидация UTXO: как сэкономить на комиссии биткоина сейчас на балансе 9 входов 0,0063 BTC всего транзакция 654 vB 9 входов → 1 выход после 1 вход 0,0063 BTC всего Консолидация при 6 sat/vB стоит ≈ 3 900 sat Дальше платёж весит 141 vB вместо 685 vB

С чего начать

Сначала посмотрите, из чего собран ваш баланс. В Sparrow, Electrum и Bitcoin Core есть список монет (coins / UTXO): там видно каждый кусочек отдельно, с его размером и адресом. У меня в том кошельке оказалось девять записей по 0,0005–0,0009 BTC — каждая меньше доллара комиссии при спокойной сети, но вместе они собирались в дорогую транзакцию.

Второй шаг — текущая ставка. Откройте mempool.space и посмотрите блоки: там три колонки — «low priority», «medium», «high», в sat/vB. Это и есть цена за единицу веса. Ваша комиссия = вес транзакции × ставка.

Почему мелкие входы дорогие

Биткоин не хранит «баланс» — он хранит набор выходов от прошлых транзакций, UTXO. Когда вы платите, кошелёк берёт один или несколько таких выходов и указывает их как входы новой транзакции. Каждый вход нужно подписать, и подпись занимает место в блоке. Платите вы не за сумму, а за место.

Средний размер входа для обычного SegWit-адреса (P2WPKH) — 68 vB, для Taproot — около 58 vB, для старого P2PKH — 148 vB. Выход занимает 31 vB, служебная часть транзакции — ещё примерно 11 vB. Отсюда простая формула:

вес ≈ 11 + 68 × (число входов) + 31 × (число выходов)

Девять входов и два выхода — это 11 + 612 + 62 = 685 vB. Один вход и два выхода — 141 vB. Разница почти в пять раз, и комиссия отличается ровно так же.

Шаг 1. Посчитайте свою транзакцию

Возьмите количество входов из списка монет и подставьте в формулу. У меня было девять входов: 11 + 68 × 9 + 31 = 654 vB, если отправлять на один свой адрес. При ставке 6 sat/vB комиссия = 654 × 6 = 3 924 сатоши, то есть 0,0000392 BTC — примерно 2,5 доллара по курсу 64 000 долларов.

Тот же расчёт для будущего платежа: один вход, два выхода — 141 vB. При ставке 40 sat/vB это 5 640 сатоши. А без консолидации тот же платёж весил бы 685 vB и стоил 27 400 сатоши. Разница 21 760 сатоши, и из неё надо вычесть 3 924, потраченные на объединение. Чистая экономия — около 17 800 сатоши, или 11 долларов на одной транзакции.

Шаг 2. Проверьте, есть ли смысл

Консолидация выгодна, если одновременно выполняются три условия:

  • входов больше трёх-четырёх, и они мелкие;
  • ставка сейчас низкая — единицы sat/vB, а не десятки;
  • вы собираетесь делать ещё переводы с этого кошелька, а не держать монету годами без движения.

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

Отдельно про совсем мелкие выходы: если вход меньше 300 сатоши, двигать его бессмысленно — комиссия за его включение в транзакцию будет выше номинала. Это пыль, её проще оставить.

Шаг 3. Выберите спокойный час

Ставка в сети меняется в течение суток: в будни днём по европейскому времени мемпул набивается, ночью и в выходные очередь рассасывается, и цена падает в несколько раз. Я обычно смотрю mempool.space в субботу утром и жду, пока «low priority» опустится до 2–5 sat/vB.

Не гонитесь за минимумом до бесконечности: транзакция с ставкой 1 sat/vB может висеть сутки. Для консолидации это нормально — спешить некуда, деньги никуда не уходят. Если ошиблись и поставили слишком мало, включите RBF (replace-by-fee) и поднимите ставку, либо ускорьте через CPFP из кошелька, который поддерживает эту функцию.

Шаг 4. Соберите транзакцию правильно

  1. Откройте список монет и отметьте только те входы, которые хотите объединить. В Sparrow и Electrum это делается галочками, в Bitcoin Core — командой lockunspent для ненужных.
  2. Получателем укажите свой же адрес из этого кошелька, лучше свежий, а не тот, на который вам уже приходили деньги. Так вы не светите связку адресов лишний раз.
  3. Проверьте, что размер комиссии посчитан по весу, а не «на глаз». Хорошие кошельки показывают vB и sat/vB прямо в окне подтверждения.
  4. Отправьте и дождитесь подтверждения.

Не отправляйте консолидацию на адрес биржи. Во-первых, биржа засчитает это как депозит и может запросить объяснения по источнику средств. Во-вторых, вы потеряете контроль над монетами: обратно они придут одной суммой, но уже с биржевым адресом в истории.

Шаг 5. Не складывайте всё в один UTXO

После объединения у вас один большой выход. Это удобно, но приватность страдает: любой ваш платёж будет показывать контрагенту весь объём. Я держу два-три выхода разного размера — один «рабочий» на мелкие траты, второй для крупных переводов. Тогда при оплате видно только тот кусок, который вы реально тратите.

Второй момент: не смешивайте в одной транзакции монеты разного происхождения. Если на кошельке лежат биткоины с KYC-биржи и монеты, полученные от частного лица, объединение свяжет их навсегда в глазах аналитических сервисов. Для таких случаев держите отдельные кошельки.

Частые ошибки

  • Консолидация при высокой ставке. Объединять девять входов при 80 sat/vB — значит заплатить 52 000 сатоши за экономию, которой может не быть. Сначала считайте, потом отправляйте.
  • Отправка на биржу. Лучше на свой адрес: биржа не объяснит, зачем вы дробили и собирали монеты, а вопросы по AML задавать может.
  • Объединение пыли. Вход дешевле ~300 сатоши двигать невыгодно, он уйдёт в комиссию целиком.
  • Один вход на весь баланс. Теряете приватность и гибкость: любую сумму придётся тратить целиком или получать сдачу.
  • Спешка с минимальной ставкой. 1 sat/vB без RBF — риск, что транзакция провисит в мемпуле несколько дней.

Коротко

  • Комиссия зависит от веса транзакции в vB, а не от суммы перевода.
  • Каждый вход — это примерно 68 vB (SegWit), каждый выход — 31 vB.
  • Формула: 11 + 68 × входы + 31 × выходы.
  • Консолидация выгодна, когда входов много, они мелкие, ставка низкая и вы планируете тратить.
  • Объединяйте на свой свежий адрес, а не на биржу.
  • После объединения держите два-три выхода, а не один.
  • Входы дешевле 300 сатоши не трогайте — уйдут в комиссию.
  • Проверяйте расчёт до отправки: вес × ставка = ваши сатоши.