Что такое процесс UTXO в сети Биткоин: особенности, зачем он нужен

В системах популярных криптовалют, а особенно в сети Биткоин, не теряет актуальности серьёзная проблема – повторное расходование монет. Большинство пользователей не понимает, как защититься от этого процесса, однако существует эффективное решение в виде UTXO.

Рассмотрим подробнее, что такое UTXO в сети Биткоин. Изучим особенности данного процесса, проанализируем пример работы этого механизма и возможные проблемы с ним.

Что такое UTXO в сети Биткоин

Для понимания модели транзакций UTXO нужно расшифровать эту аббревиатуру. Unspent Transaction Output – это вывод из криптосети транзакций, которые не были израсходованы. Иными словами, UTXO является остатками криптовалюты, возвращаемыми обратно в кошелёк после транзакций.

Детальнее принцип работы данного процесса лучше рассмотреть на реальном примере. Поскольку самая популярная криптовалюта биткоин используется значительно чаще, возьмём для анализа именно этот блокчейн-проект.

Принцип работы UTXO Bitcoin

Когда пользователь открывает свой биткоин-кошелёк, перед ним открывается баланс. Допустим, имеется 200 BTC. На экране будут видны только монеты в суммарном количестве 200 штук, однако, баланс в действительности состоит из многих UTXO биткоин.

Их может быть любое число – 20 штук по 10 bitcoin, 200 по 1 монете, 2 по 100 BTC или 8 по 25 коинов – никакой разницы, ведь в сумме получается 200.

Предположим, пользователь решил потратить 50 BTC – приобрести респектабельное авто. Однако, в криптовалютном кошельке сейчас существует некоторое количество UTXO, имеющих эквиваленты 20, 56, 75, 90 и 120 биткоинов. Как здесь произойдёт транзакция, если нужного варианта на 50 bitcoin нет?

А транзакция будет исполнена очень просто благодаря механизму UTXO в сети Биткоин. Случится транзакция самой близкой суммы, но неизрасходованные монеты будут возвращены обратно. То есть здесь с биткоин-кошелька уйдёт UTXO объёмом в 56 BTC. В сети эта операция будет разбита на два отдельных перевода:
– 50 bitcoin – они направляются продавцу автомобилей;
– 6 биткоинов – возвращаются пользователю в кошелёк для криптовалют.

Фактически в подобных ситуациях могут использоваться транзакции любых UTXO – в рассматриваемом случае 75, 90 или 120 BTC. Просто тут вторые операции возврата имели бы объём 25, 40 и 70 bitcoin соответственно.

Допустимо даже формирование разных комбинаций UTXO, которые владелец криптовалюты никак контролировать или выбирать не сможет. Система самостоятельно выбирает, какой UTXO биткоин отправлять в сеть.

Комиссии в криптовалютных транзакциях UTXO

Когда совершается перевод криптовалюты, которую можно добывать, из суммы транзакции будет вычтен какой-то процент для выплаты комиссий майнерам.

Любопытно, что комиссионные отчисления будут сниматься исключительно с обратной транзакции UTXO. Получается, что в рассмотренном выше примере, пользователю вернётся остаток не 6 BTC, а немного меньше.

Учитывая актуальную комиссию сети Bitcioin, равную сегодня 0,000059 BTC, в криптовалютный кошелёк поступит 6 – 0,000059 = 5,999941 биткоина.

Прослеживать такие минимальные перемены непросто, хотя обозреватель блокчейна может тут помочь. Интересным является момент – возврат неизрасходованной суммы осуществляется на новый счёт. Обусловлена такая особенность спецификой механизма UTXO, который на новый адрес отправляет выходные параметры остаточной транзакции.

Выше упоминалось, что транзакционную комиссию криптовалютная система вычитает из возвращаемой суммы. Каждая операция состоит из двух частей, где одна сумма уходит целевому получателю в неизменном виде.

Сейчас нет никаких трудностей с формированием дополнительного адреса для получения UTXO. В новых HD-криптокошельках (иерархически детерминированные криптокошельки) происходит автоматическая генерация адресов изменения.

Эта опция встроена в функционал HD-кошельков для криптовалют, чтобы обеспечивать конфиденциальность.

Значимость концепции UTXO

Для блокчейна процедура учёта значительно может быть упрощена концепцией UTXO. Теперь узлам криптосетей не нужно контролировать и сохранять все транзакции, поскольку достаточно отслеживать сведения о UTXO или неизрасходованных цифровых монетах.

Для самой популярной криптовалюты это отлично работает, так как в сети Bitcoin пользователям позволено совершать трату коинов только единожды. Получается, что любая монета в биткоин-кошельке может являться неизрасходованной по двум причинам:
– во время транзакции от подвергнулся изменению;
– его получили, как награду за майнинг bitcoin.

В предотвращении двойных трат криптовалюты концепция UTXO невероятно важна. Также этот механизм не даёт возможности для траты несуществующих криптомонет. Это объясняется тем, что все ноды поддерживают единую базу данных, содержащую информацию о существующих UTXO.

Возможные трудности

Для расчётов на блокчейне очень выгодно использование принципа вывода неизрасходованных транзакций.

Основная проблема может возникнуть со стороны нод. Узлы в сети Bitcoin делают сохранение информации про все UTXO исключительно в пространстве оперативной памяти. Из-за такой специфики её объём должен оставаться в пределах лимитного значения.

Ежегодно полная нода BTC становится всё дороже в обслуживании, поскольку блокчейн постоянно растёт. Кроме того, увеличивается размер информационной базы о UTXO.

Дальнейшее прогрессирование этих факторов может превратить систему Bitcoin в централизованную криптосеть, ведь котировка биткоина не растёт и есть вероятность неприглядного сценария в ближайшем будущем.

Теоретически возможно, что один узел системы богатые участники смогут поддерживать самостоятельно. А это уже значительное смещение в сторону централизации.

Такая проблема разрешается весьма просто – для оперативной памяти сохранять часть UTXO, оправляя при этом остальную информацию на SDD. Разумеется, подобная схема несколько изменит значение скорости подтверждения транзакций, но специалисты беспрестанно анализируют параметры и отыскивают новые варианты решений. Они стараются оптимизировать процедуру перемещения цифровых монет.

Нюанс! Очень значительный положительный эффект был достигнут при интеграции с протоколом SegWit. Это достижение помогло группе разработчиков снизить на 75% затратность хранения UTXO!

Заключение

Модель криптовалютного UTXO является специфическим механизмом, помогающим протоколам отслеживать местонахождение коинов в любое время. По сути их роль можно рассматривать как помощь в проверке, ведь транзакции направляются конкретным пользователям, вернее, публичным адресам их криптовалютных кошельков.

Невозможно UTXO тратить частично. Следует вместо этого формировать из старых проверок новые, чтобы совершать передачу монет. В хранилищах криптомонет отображаемым балансом является именно UTXO.