Консолидация не обслуживает кошелёк — она создаёт новую транзакцию

Кошелёк выбирает несколько прежних outputs и тратит их целиком как inputs. Получателем становится новый адрес того же кошелька или другой заранее проверенный self-address. Старые UTXO после подтверждения spent, новый output — отдельный UTXO. Miner fee равна разнице total inputs и total outputs; специальной бесплатной операции `merge` в Bitcoin нет.

Что меняет и чего не меняет консолидация
УтверждениеРезультат
Число UTXOМожет уменьшиться, если несколько inputs создают меньше новых outputs
КомиссияПлатится сейчас за фактический vsize transaction
Будущая комиссияМожет снизиться при меньшем числе inputs, но будущая fee rate неизвестна
ПриватностьВыбранные inputs становятся публично связаны одной transaction
Право подписиОстаётся у ключей; self-address нужно проверить так же, как внешний
Что меняет и чего не меняет консолидация
Утверждение
Число UTXO
Результат
Может уменьшиться, если несколько inputs создают меньше новых outputs
Утверждение
Комиссия
Результат
Платится сейчас за фактический vsize transaction
Утверждение
Будущая комиссия
Результат
Может снизиться при меньшем числе inputs, но будущая fee rate неизвестна
Утверждение
Приватность
Результат
Выбранные inputs становятся публично связаны одной transaction
Утверждение
Право подписи
Результат
Остаётся у ключей; self-address нужно проверить так же, как внешний

Решение начинается с будущей задачи, а не с количества строк

Когда готовить preview, а когда остановиться
СитуацияРабочий выводПочему
Много мелких UTXO от одного уже публичного источникаМожно оценить previewСвязывание может добавить мало новой информации, но это нужно проверить
UTXO относятся к разным клиентам или ролямНе объединять автоматическиTransaction создаст наблюдаемую связь
Будущий крупный платёж известенСравнить будущий input set с self-transfer сейчасЕсть конкретный сценарий вместо абстрактной экономии
Текущая fee rate высокаяОтложить, если нет операционной необходимостиКонсолидация потребляет block space сейчас
Wallet preview не показывает inputs или self-outputНе подписыватьНельзя проверить состав и сдачу
Есть unconfirmed или locked UTXOСначала классифицировать ихСтатус влияет на spendability
Когда готовить preview, а когда остановиться
Ситуация
Много мелких UTXO от одного уже публичного источника
Рабочий вывод
Можно оценить preview
Почему
Связывание может добавить мало новой информации, но это нужно проверить
Ситуация
UTXO относятся к разным клиентам или ролям
Рабочий вывод
Не объединять автоматически
Почему
Transaction создаст наблюдаемую связь
Ситуация
Будущий крупный платёж известен
Рабочий вывод
Сравнить будущий input set с self-transfer сейчас
Почему
Есть конкретный сценарий вместо абстрактной экономии
Ситуация
Текущая fee rate высокая
Рабочий вывод
Отложить, если нет операционной необходимости
Почему
Консолидация потребляет block space сейчас
Ситуация
Wallet preview не показывает inputs или self-output
Рабочий вывод
Не подписывать
Почему
Нельзя проверить состав и сдачу
Ситуация
Есть unconfirmed или locked UTXO
Рабочий вывод
Сначала классифицировать их
Почему
Статус влияет на spendability

Считайте два расхода: сейчас и при будущей трате

Для preview приблизительная miner fee равна `vsize × fee rate`. Virtual size (vsize) — размер с учётом weight, а satoshi per virtual byte (sat/vB) — ставка. При 620 vB и 5 sat/vB расчёт даёт 3 100 sat; при 25 sat/vB — 15 500 sat. Это учебные ставки, не прогноз. Script types, inputs, outputs и подписи меняют vsize; итог берут из wallet preview.

Карточка решения до подписи
ПолеЧто записатьКрасный флаг
Selected inputsКаждый txid:vout, amount, confirmations и назначениеНеизвестный или неожиданный UTXO
Self-outputПолный address, script type и amountАдрес не подтверждается на доверенном signer
ChangeЕсть ли отдельный output и кому он принадлежитИнтерфейс скрывает сдачу
Estimated vsizeЗначение из previewОценка только по числу inputs
Fee ratesat/vB и источник текущей оценкиПодмена sat/vB абсолютной fee
Total feeСумма в sat и доля от консолидируемой суммыFee съедает значимую часть мелких UTXO
Карточка решения до подписи
Поле
Selected inputs
Что записать
Каждый txid:vout, amount, confirmations и назначение
Красный флаг
Неизвестный или неожиданный UTXO
Поле
Self-output
Что записать
Полный address, script type и amount
Красный флаг
Адрес не подтверждается на доверенном signer
Поле
Change
Что записать
Есть ли отдельный output и кому он принадлежит
Красный флаг
Интерфейс скрывает сдачу
Поле
Estimated vsize
Что записать
Значение из preview
Красный флаг
Оценка только по числу inputs
Поле
Fee rate
Что записать
sat/vB и источник текущей оценки
Красный флаг
Подмена sat/vB абсолютной fee
Поле
Total fee
Что записать
Сумма в sat и доля от консолидируемой суммы
Красный флаг
Fee съедает значимую часть мелких UTXO

Coin control — ручная ответственность за input set

Bitcoin Core `listunspent` показывает outpoint, amount, confirmations, script и признаки spendability. Кошельки с coin control дают похожий выбор через интерфейс. Флажок напротив UTXO не доказывает, что комбинация оптимальна: алгоритмы учитывают effective value, стоимость change и предполагаемую будущую трату, а человек должен добавить назначение coins и privacy boundary.

Контролируемый self-transfer

  1. 1
    Составьте read-only inventory

    Запишите txid:vout, amount, confirmations, address/script type и понятное вам происхождение каждого кандидата. Не вставляйте xpub на случайный сайт.

  2. 2
    Разделите UTXO по контексту

    Не смешивайте автоматически личные, клиентские, публичные и внутренние treasury flows. Это операционная граница учёта и приватности, а не попытка скрыть историю.

  3. 3
    Создайте новый self-address

    Получите адрес в том же контролируемом кошельке и подтвердите его на аппаратном устройстве или другом доверенном signer.

  4. 4
    Постройте preview без broadcast

    Выберите inputs, один или несколько ожидаемых outputs и fee rate. Сверьте vsize, absolute fee, change и отсутствие посторонних recipients.

  5. 5
    Подпишите после независимой сверки

    Signer должен показать существенные outputs и суммы. Если экран не позволяет проверить self-address, не считайте подпись осознанной.

  6. 6
    Сохраните txid и проверьте сеть

    После broadcast убедитесь, что transaction тратит именно выбранные outpoints и создаёт ожидаемый self-output. До подтверждения не запускайте дубль вслепую.

Partially Signed Bitcoin Transaction (PSBT) передаёт preview на отдельный signer, но не делает selection честным: outputs, fee и change всё равно проверяют на доверенном экране.

Одна подпись не скрывает, что inputs встретились вместе

Multi-input transaction наблюдаема. Common-input ownership heuristic не доказывает одну личность, но создаёт публичную связь для анализа. Если два UTXO не должны встречаться публично, не выбирайте их вместе только ради меньшего числа строк.

Если self-transfer уже отправлен

Следующее действие определяется фактом в сети
СостояниеЧто это значитЧто делать
Hash неизвестен узламBroadcast мог не состоятьсяПроверить подписанный transaction и официальный wallet log до новой попытки
Transaction в mempoolInputs уже заняты кандидатомНе создавать конфликт вслепую; проверить fee rate и доступные RBF/CPFP-сценарии
Transaction подтвержденаСтарые UTXO spent, новый output существуетСверить self-output и сохранить запись учёта
Обнаружен чужой outputPreview или подпись не соответствовали намерениюОстановить новые операции и проверить оставшиеся UTXO на чистом signer
Fee оказалась выше ожиданияИсторическую transaction отменить нельзяСохранить vsize/fee rate и исправить policy будущих preview
Следующее действие определяется фактом в сети
Состояние
Hash неизвестен узлам
Что это значит
Broadcast мог не состояться
Что делать
Проверить подписанный transaction и официальный wallet log до новой попытки
Состояние
Transaction в mempool
Что это значит
Inputs уже заняты кандидатом
Что делать
Не создавать конфликт вслепую; проверить fee rate и доступные RBF/CPFP-сценарии
Состояние
Transaction подтверждена
Что это значит
Старые UTXO spent, новый output существует
Что делать
Сверить self-output и сохранить запись учёта
Состояние
Обнаружен чужой output
Что это значит
Preview или подпись не соответствовали намерению
Что делать
Остановить новые операции и проверить оставшиеся UTXO на чистом signer
Состояние
Fee оказалась выше ожидания
Что это значит
Историческую transaction отменить нельзя
Что делать
Сохранить vsize/fee rate и исправить policy будущих preview

Replace-by-fee (RBF) и child-pays-for-parent (CPFP), то есть сценарии RBF и CPFP, разобраны отдельно. Сначала установите txid, mempool status и inputs, затем используйте функции собственного кошелька.

Хорошая консолидация объясняется до и после подписи

Решение проверяемо, если до broadcast сохранены выбранные outpoints, self-address, vsize, fee rate, total fee и причина объединения, а после — txid и ожидаемый новый UTXO. Если единственный аргумент звучит как «комиссии вроде низкие», данных недостаточно. Можно ничего не делать: отказ от консолидации тоже корректный результат, когда privacy cost или текущая fee выше понятной будущей пользы.

Источники

Мы используем прямые ссылки и фиксируем дату проверки. Полный текст чужих материалов не перепечатывается.

  1. Bitcoin Developer Guide — Transactions Bitcoin Project · Проверено 19 августа 2026 г. в 20:24 GMT+5
  2. Bitcoin whitepaper Bitcoin Core · Проверено 19 августа 2026 г. в 20:24 GMT+5
  3. Bitcoin Core 31.0 — listunspent Bitcoin Core · Проверено 19 августа 2026 г. в 20:24 GMT+5
  4. Bitcoin Core 31.0 — walletcreatefundedpsbt Bitcoin Core · Проверено 19 августа 2026 г. в 20:24 GMT+5
  5. Bitcoin Core — coin selection implementation Bitcoin Core · Проверено 19 августа 2026 г. в 20:24 GMT+5
Материал носит информационный характер и не является индивидуальной рекомендацией. Криптоактивы связаны с риском волатильности, технических сбоев, хищения и полной потери средств.