Что такое UTXO?
UTXO (unspent transaction output) — выход неизрасходованных транзакций.. В основном, это сумма или оставшееся изменение криптовалюты, которое вы получаете от каждой транзакции. В качестве входных данных для транзакции могут использоваться только неизрасходованные выходные данные. При выполнении транзакции входные данные удаляются, а выходные данные создаются в виде новых UTXOs, которые затем могут быть использованы в будущих транзакциях.
Например, если у вас есть UTXO, который определяет, что у вас есть 10 монет, и вы хотите купить что-то, что стоит 2 монеты, вы сделаете транзакцию, которая потратит весь Ваш баланс UTXO, отправив 2 монеты другому человеку и 8 монет обратно себе. Как только эта транзакция будет завершена, UTXO будет создан как для отправителя, так и для получателя. В общем случае UTXO определяет, сколько пользователь получил обратно и сколько пользователь может потратить. Сумма, которую пользователь получит обратно, будет добавлена к его балансу счета. Таким образом, наиболее вероятно, что у каждого пользователя будет более одного UTXOs, и сумма всех неизрасходованных монет в каждом UTXO будет равна общему балансу счета пользователя.
Преимущества
· Простота. Благодаря UTXO, на которые имеются уникальные ссылки и которые полностью расходуются при затратах, не дает возможности для повторного воспроизведения транзакции.
· Транзакции могут быть проверены параллельно. Две транзакции не могут повлиять на один и тот же UTXO. Это связано с состоянием транзакций UTXO без сохранения состояния. Транзакции не относятся ни к какому входу за пределами потребляемых UTXO и соответствующих сигнатур.
· В модели UTXO поощряется сохранение конфиденциальности. Пользователям рекомендуется создавать новый адрес для каждой входящей транзакции, включая изменение адреса. Используя каждый раз новый адрес, трудно однозначно связать разные монеты с одним владельцем.
Недостатки
· Особенности UI/UX сложны. Пользователи, как правило, думают о счетах, когда они хранят свои деньги. Поставщик кошелька должен управлять потенциальным набором адресов и суммировать соответствующие остатки. Для выполнения этого способа сохранения конфиденциальности может потребоваться запуск локального узла.
· Возможности смарт-контрактов в модели UTXO весьма ограничены. Каждый UTXO имеет критерии расходов, которые диктуют условия расходов. Это может потребовать подписи от нескольких сторон, но существует мало возможностей ссылаться на внешние государства, такие как оракулы.