Вывод неизрасходованных транзакций (UTXO)
Неизрасходованные выходные данные транзакции (UTXO) относятся к выходным данным транзакции, которые можно использовать в качестве входных данных в новой транзакции. По сути, UTXO определяют, где начинается и заканчивается каждая транзакция блокчейна. Модель UTXO является фундаментальным элементом Биткойна и многих других криптовалют.
Другими словами, криптовалютные транзакции состоят из входов и выходов. Каждый раз, когда выполняется транзакция, пользователь использует один или несколько UTXO в качестве входных данных. Затем пользователь предоставляет свою цифровую подпись, чтобы подтвердить право собственности на входные данные, что в конечном итоге приводит к выходным данным. Израсходованные UTXO теперь считаются «израсходованными» и больше не могут быть использованы. Между тем, выходы транзакции становятся новыми UTXO, которые позже можно потратить на новую транзакцию.
Это, вероятно, лучше объяснить на примере. У Алисы в кошельке 0,45 BTC. Это не часть монеты, как мы могли бы это представить. Это скорее набор UTXO. В частности, два UTXO стоимостью 0,4 BTC и 0,05 BTC — результаты прошлых транзакций. Теперь давайте представим, что Алисе нужно заплатить Бобу 0,3 BTC.
Ее единственный вариант здесь — разбить единицу 0,4 BTC и отправить 0,3 BTC Бобу, а 0,1 BTC — себе. Обычно она возвращает менее 0,1 BTC из-за комиссий за майнинг, но давайте упростим и опустим майнера.
Алиса создает транзакцию, которая, по сути, говорит сети: возьмите мои 0,4 BTC UTXO в качестве входных данных, разбейте их, отправьте 0,3 BTC из них на адрес Боба и верните 0,1 BTC на мой адрес. 0,4 BTC теперь потрачены и не могут быть использованы повторно. Тем временем были созданы два новых UTXO (0,3 BTC и 0,1 BTC).
Обратите внимание, что в этом примере мы разделили UTXO, но если Алисе нужно было заплатить 0,42 BTC, она могла бы так же легко объединить свои 0,4 BTC с другими 0,05 BTC, чтобы получить UTXO стоимостью 0,42 BTC, вернув себе при этом 0,03 BTC.
Подводя итог, можно сказать, что модель UTXO служит механизмом протокола для отслеживания того, где находятся монеты в любой момент времени. В некотором смысле они работают так же, как чеки: они адресованы конкретным пользователям (точнее, их публичным адресам ). UTXO нельзя тратить частично — вместо этого необходимо создавать новые чеки из старых и передавать их соответствующим образом.