Кошелёк показывает сумму, сеть видит набор отдельных выходов
Представьте кошелёк, который раньше получил три платежа: 120 000, 310 000 и 800 000 satoshi. Для интерфейса это общий доступный баланс 1 230 000 satoshi. Для Bitcoin это три разных outputs с собственными txid, индексами и условиями траты. Пока output не использован как input новой transaction, он остаётся unspent — отсюда UTXO, Unspent Transaction Output.
| Outpoint | Value | Состояние | Что может сделать кошелёк |
|---|---|---|---|
| txid A : vout 0 | 120 000 sat | Unspent | Выбрать как input |
| txid B : vout 1 | 310 000 sat | Unspent | Выбрать как input |
| txid C : vout 0 | 800 000 sat | Unspent | Выбрать как input |
- Outpoint
- txid A : vout 0
- Value
- 120 000 sat
- Состояние
- Unspent
- Что может сделать кошелёк
- Выбрать как input
- Outpoint
- txid B : vout 1
- Value
- 310 000 sat
- Состояние
- Unspent
- Что может сделать кошелёк
- Выбрать как input
- Outpoint
- txid C : vout 0
- Value
- 800 000 sat
- Состояние
- Unspent
- Что может сделать кошелёк
- Выбрать как input
Платёж на 500 000 satoshi может потратить выход на 800 000
Допустим, кошелёк выбирает UTXO на 800 000 satoshi. Transaction создаёт output получателю на 500 000 и change output самому отправителю на 292 000. Оставшиеся 8 000 satoshi не записываются отдельным output — эта разница является miner fee. После подтверждения прежний UTXO уже spent, а два новых outputs начинают собственную историю.
| Часть | Роль | Value |
|---|---|---|
| Input | Тратит txid C : vout 0 | 800 000 sat |
| Output | Получателю | 500 000 sat |
| Output | Сдача отправителю | 292 000 sat |
| Разница | Miner fee | 8 000 sat |
- Часть
- Input
- Роль
- Тратит txid C : vout 0
- Value
- 800 000 sat
- Часть
- Output
- Роль
- Получателю
- Value
- 500 000 sat
- Часть
- Output
- Роль
- Сдача отправителю
- Value
- 292 000 sat
- Часть
- Разница
- Роль
- Miner fee
- Value
- 8 000 sat
Формула проста: fee = сумма inputs − сумма outputs. Но определить, достаточна ли fee для подтверждения, по абсолютной сумме нельзя. Узлы и miners сравнивают transaction с другими кандидатами, а кошельки обычно выражают ставку относительно virtual size — в sat/vB.

Сдача не приходит отдельным переводом после оплаты
Change создаётся в той же transaction, что и платёж. Современный кошелёк обычно направляет её на новый адрес, контролируемый тем же seed. В explorer поэтому видны два или больше outputs, и без данных кошелька не всегда можно надёжно определить, какой адрес принадлежит получателю, а какой отправителю.
Это важное ограничение публичного анализа. Блокчейн показывает amounts, scripts и связи transactions, но не записывает имя владельца и не ставит метку «сдача» по воле отправителя. В материале о публичном адресе разобрано, где заканчивается наблюдаемый факт и начинается heuristic.
Coin selection решает, какие UTXO превратить во входы
Если одного UTXO недостаточно, кошелёк объединяет несколько. Если подходят разные комбинации, алгоритм выбирает между размером transaction, величиной change, будущей стоимостью траты и приватностью. Два кошелька с одинаковым total balance могут построить разные transactions на одну сумму.
Что может учитывать алгоритм кошелька
- достаточность selected inputs с учётом предполагаемой fee;
- количество и script types входов;
- нужен ли change output и не окажется ли он экономически неразумно мал;
- не связывает ли комбинация UTXO адреса и платежи, которые раньше выглядели независимыми;
- ручные ограничения пользователя: frozen coins, coin control или выбранный account.
PSBT — Partially Signed Bitcoin Transaction — позволяет передавать подготовленную transaction между ролями и устройствами до финальной подписи. В multisig или hardware-wallet flow это помогает сохранить inputs, outputs и metadata согласованными, пока разные участники проверяют и подписывают общий результат.
Много маленьких UTXO часто означает более крупную transaction
Каждый input должен указать предыдущий outpoint и предоставить данные, удовлетворяющие script. Поэтому добавление inputs обычно увеличивает transaction weight и virtual size. При одной и той же fee rate более крупная transaction платит больше total fee. Однако простой подсчёт входов недостаточен: P2PKH, SegWit и Taproot используют разные структуры и веса.
| Сценарий | Что меняется | Влияние |
|---|---|---|
| Один крупный UTXO | Меньше inputs | Обычно меньше vsize при прочих равных |
| Несколько мелких UTXO | Больше inputs и witness/script data | Обычно больше vsize |
| Другой address/script type | Вес input и output отличается | Меняется vsize без изменения суммы платежа |
| Дополнительный получатель | Добавляется output | Увеличивается размер transaction |
| Изменилась fee rate | Рынок block space | Меняется total fee при том же vsize |
- Сценарий
- Один крупный UTXO
- Что меняется
- Меньше inputs
- Влияние
- Обычно меньше vsize при прочих равных
- Сценарий
- Несколько мелких UTXO
- Что меняется
- Больше inputs и witness/script data
- Влияние
- Обычно больше vsize
- Сценарий
- Другой address/script type
- Что меняется
- Вес input и output отличается
- Влияние
- Меняется vsize без изменения суммы платежа
- Сценарий
- Дополнительный получатель
- Что меняется
- Добавляется output
- Влияние
- Увеличивается размер transaction
- Сценарий
- Изменилась fee rate
- Что меняется
- Рынок block space
- Влияние
- Меняется total fee при том же vsize
Монитор сетевых комиссий показывает текущую рыночную сторону задачи, а UTXO model — структурную. Умножать рекомендованную fee rate следует на оценённый vsize именно вашей transaction, а не на отправляемую сумму в BTC.
В explorer сначала смотрят связи, затем привычный баланс
Как прочитать конкретную Bitcoin-транзакцию
- 1Найдите inputs
Каждый input должен ссылаться на предыдущий txid и vout. Эти outputs перестают быть unspent после подтверждённой траты.
- 2Сложите input values
Explorer получает их из предыдущих outputs, потому что raw input не является новой записью пополнения.
- 3Разберите outputs
Отделите проверяемые destination scripts и amounts от предположения о том, какой output является change.
- 4Сверьте fee и vsize
Fee выводится из разницы values; fee rate помогает сравнить transaction с рынком block space.
- 5Проверьте confirmation status
Наличие txid не означает включение в block, а один confirmation не равен любой требуемой политике получателя.
Гайд «проверить криптотранзакцию» объясняет общий порядок сверки сети, hash и статуса. В Bitcoin к нему добавляются outpoints, UTXO, change и fee rate — без них explorer выглядит как список незнакомых адресов.
Объединение входов создаёт наблюдаемую связь
Когда transaction тратит несколько UTXO, аналитик видит их в одном наборе inputs. Это может служить heuristic общего контроля, хотя не является математическим доказательством личности: collaborative transactions и другие конструкции требуют осторожности. Повторное использование адресов и очевидная change pattern добавляют новые связи.
Поэтому «собрать все мелкие UTXO, пока комиссии низкие» нельзя превращать в универсальный совет. Consolidation может уменьшить число будущих inputs, но сама transaction публично объединяет coins и оплачивает block space сейчас. Решение зависит от privacy model, script types, текущей fee rate и предполагаемых будущих платежей.
Перед отправкой важны outputs, а не только большая сумма на экране
Безопасный перевод начинается с адреса и сети, но для Bitcoin полезно также посмотреть preview transaction: адрес получателя, amount, change, selected inputs, fee и fee rate. Аппаратный кошелёк или PSBT coordinator должен показывать именно те outputs, которые пользователь намерен подписать.
Баланс Bitcoin — удобный итог, а не отдельная строка сети
Кошелёк считает spendable balance из UTXO, которые способен разблокировать своими ключами и правилами. При отправке он не уменьшает одно число: он уничтожает статус unspent у выбранных прошлых outputs и создаёт новые. Если видеть этот поток, сдача перестаёт казаться лишним переводом, inputs объясняют vsize, а комиссия становится проверяемой разницей, а не загадочным процентом от суммы.
Источники
Мы используем прямые ссылки и фиксируем дату проверки. Полный текст чужих материалов не перепечатывается.
- Bitcoin Developer Guide — Transactions Bitcoin Project · Проверено 13 августа 2026 г. в 22:40 GMT+5
- Bitcoin Developer Reference — raw transaction format Bitcoin Project · Проверено 13 августа 2026 г. в 22:41 GMT+5
- Bitcoin whitepaper Bitcoin Core · Проверено 13 августа 2026 г. в 22:42 GMT+5
- Bitcoin Core — PSBT documentation Bitcoin Core · Проверено 13 августа 2026 г. в 22:43 GMT+5
- Bitcoin Core — REST interface и UTXO set Bitcoin Core · Проверено 13 августа 2026 г. в 22:44 GMT+5
- mempool.space — Bitcoin API mempool.space · Проверено 13 августа 2026 г. в 22:45 GMT+5