UTXO (неизрасходованный выход)
В биткоине нет балансов счетов. Кошелёк хранит отдельные «монеты» — UTXO, как купюры в кошельке; платёж тратит часть из них и создаёт новые, включая сдачу вам.
Коротко
Непотраченный выход транзакции — «монета», которую может потратить кошелёк. Баланс — сумма ваших UTXO.
Модель
Транзакция перечисляет входы, каждый указывает на прежний неизрасходованный выход, и создаёт новые выходы с суммой и скриптом блокировки (обычно это адрес). Вход тратится целиком: платёж 0,3 BTC из выхода в 1 BTC создаёт выход 0,3 BTC получателю и около 0,7 BTC сдачи, минус комиссия.
Комиссия — это просто разница входов и выходов. Каждая нода хранит множество всех неизрасходованных выходов (UTXO set), чтобы проверять, что ничто не потрачено дважды.
Почему это важно
Комиссия зависит от размера транзакции, а размер растёт с числом входов: много мелких UTXO дорого тратить при высоких комиссиях. Объединение UTXO к тому же публично связывает их, поэтому ценящие приватность пользуются контролем монет.
См. также
- Контроль монетВыбор, какие UTXO тратить, ради приватности и экономии комиссий.
- АдресТо, что вы даёте для получения биткоина. Современные начинаются с bc1. Для приватности берите новый каждый раз.
- Ставка комиссии (сат/vB)Комиссия за виртуальный байт размера транзакции; чем выше, тем быстрее подтверждение.
- МемпулМемпул — зал ожидания для платежей: отправленные, но ещё не попавшие в блок транзакции. Майнеры обычно берут сначала те, что платят больше всего за байт.
- PSBTЧастично подписанная транзакция: стандартный формат для передачи транзакции между кошельками на подпись.
Источники
- Bitcoin developer guide: transactions developer.bitcoin.org
- Satoshi Nakamoto, Bitcoin: A Peer-to-Peer Electronic Cash System (2008) bitcoin.org