Найти в Дзене
CryptoFox

Что такое UTXO простыми словами? Гид для новичков

До сих пор мы обходили вниманием термин UTXO. Он часто используется в теоретических статьях по матчасти биткоина, но не у всех есть четкое представление, что это такое. В этой статье закроем пробел и расскажем, что такое UTXO, как оно расшифровывается, с чем его можно сравнить и почему UTXO вообще существует. Что такое UTXO UTXO (unspent transaction output) — выход неизрасходованных транзакций. Он является важной концепцией в системе блокчейна. UTXO — это выход транзакции, которую пользователь получает и может потратить в будущем. Неизрасходованный результат легче объяснить через аналогию. Каждый UTXO можно представить как одну купюру. Например, у вас 3750 рублей. Нет деньги такого номинала, но есть различное количество комбинаций, как у вас в кошельке будет представлена эта сумма: В общем, комбинаций будет много. Точно также в вашем биткоин-кошельке, конечная сумма будет складываться из разных UTXO. Их количество зависит от комбинации, от того, каким образом вы получили деньги на коше
Оглавление

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

Что такое UTXO

UTXO (unspent transaction output) — выход неизрасходованных транзакций. Он является важной концепцией в системе блокчейна.

UTXO — это выход транзакции, которую пользователь получает и может потратить в будущем. Неизрасходованный результат легче объяснить через аналогию.

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

  • 3750 штук 1-рублевых монет — это потребует больше места и времени на пересчет,
  • 3 бумажки по тысяче, 7 сотенных купюр и 5 десятирублевых монет,
  • купюра в 2 тысячи, 1 тысячу, 500 рублей, 200 рублей и 50 рублей — самый оптимальный способ, который занимает меньше места в кошельке.

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

Идем дальше. В фиатном мире есть такое понятие, как сдача. Вы покупаете коробочку сока за 26 рублей, но меньшая купюра в вашем кошельке — 50 рублей. Вы получаете сдачу в 24 рубля.

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

Абсолютно то же происходит в мире криптовалют. Ваш баланс может представлен так:

20 mBTC +14 mBTC + 231 mBTC. Всего 265 mBTC и 3 UTXO (по количеству слагаемых).

Напомним, 1 BTC = 100 000 mBTC, подробнее в статье про доли биткоина

Вы хотите оплатить покупку в 16 mBTC. Это число меньше, чем каждый из ваших UTXO. Ваш кошелек отправляет целый UTXO, в нашем случае в 20 mBTC, на другой адрес для завершения транзакции, а затем получает обратно 4 mBTC.

Если сумма больше одного неизрасходованного выхода, будут комбинироваться несколько из них.

В чем разница между купюрами и UTXO

Для аналогии мы использовали сравнение с фиатными деньгами и купюрами. Это помогает получить представление о UTXO, но все-таки выходы и купюры не одно и тоже. Есть два существенных различия:

  • в купюрах при сдаче мы не платим комиссию за сделку, а на блокчейне из исходного UTXO вычтется сумма сборов для майнеров. Получается такая формула: Новый UTXO = (сумма исходного UTXO) - (сумма, отправленная на другой адрес) - (комиссионные за транзакцию). Комиссии могут быть разными от блокчейна к блокчейну и зависеть от момента времени. В мире фиата комиссии обычно более четкие и включены в стоимость (процент НДС, вознаграждение посреднику и т. д.)
  •  номинал купюр установлен для каждого государства. В РФ мы располагаем ограниченным числом купюр (2 тысячи, 1 тысяча, 500 рублей и т. д.) Есть коллекционные купюры, стоимость которых не определяется их номиналом. Количество комбинаций ограничено. А UTXO может иметь разные значения. Это позволяет криптовалюте быть более гибкой. UTXO можно переупаковывать и уменьшать их количество в кошельке, чтобы делать вес транзакции меньше и платить меньшие комиссии.

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

У UTXO есть еще одно отличие, оно же ограничение: количество UTXO для каждого адреса должны быть записаны на блокчейне. Изменить количество UTXO можно только через транзакции. Перетасовать их из кошелька не получится. Но с точки зрения рядового пользователя это вообще не важно, потому что это никак не влияет на баланс.

Почему UTXO важны

На базе UTXO разрабатываются различные технологии.

Например, разработчики Komodo делают смарт-контракты на основе UTXO. А поскольку UTXO есть практически в каждом криптовалютном протоколе, смарт-контракты можно внедрять независимо от языка.

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

Подробности по атомарные свопы вы найдете в этой статье.