Мелбет

Что такое UTXO и как это работает?

За десятилетия до того, как был создан Биткоин, одержимость созданием чисто цифровой валюты преследовала умы многих людей. Сатоши Накамото смог создать первые полностью цифровые децентрализованные...
Часто задаваемые вопросы

Что такое UTXO и как это работает?

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

Что такое UTXO и как это работает?


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

Биткоин-транзакции состоят из входов и выходов. Набор входных и выходных данных вместе с отправляемыми валютами и криптографическими подписями приводит к хэшу транзакции, часто называемому HASH ID.

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

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

Вступай в наше сообщество в TELEGRAM канале

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

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

Что такое UTXO и как это работает?

UTXO и его значение в биткоинах:


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

Если присмотреться, эта модель дает вам полный контроль над тем, как и при каких условиях можно использовать деньги. Прежде всего, чтобы использовать баланс в биткоинах, этот баланс должен быть принят как UTXO в вашем кошельке. Другими словами, кто-то должен сделать платеж (выход или UTXO), чтобы этот платеж стал вашим входом и, таким образом, у вас был баланс, который можно потратить.

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

Пример того, как UTXO работает с биткоинами:


Вот как мы можем увидеть работу UTXO в биткоинах:

Али хочет заплатить за машину Элес стоимостью 1 BTC, а всего у него в кошельке 1,5 BTC. Баланс Али разделен на два направления: A с 0,8 BTC и B с 0,7 BTC.

Итак, Али идет в Элес и платит за 1 BTC. На данный момент кошелек Али не может напрямую отправить 1 BTC, так как баланс разделен на два направления. Таким образом, он принимает оба баланса и преобразует их во входные данные платежной транзакции. Затем он берет адрес Элеса и назначает ему отправку 1 BTC, а также назначает в общей сложности 0,4995 BTC на адрес биржи, а остальное остается в качестве комиссии за майнинг.

После того, как вы отправите транзакцию Ali, она будет обработана и одобрена сетью и начнет путь к необратимости. И в этот момент будет легко увидеть, где находятся транзакционные UTXO.

Первый UTXO, который мы смогли обнаружить в образце, — это весы Али. Эти адреса с балансом 0,8 BTC и 0,7 BTC являются двумя UTXO, находящимися под их контролем, которые позволяют им платить Eles. Поскольку Али контролирует эти балансы, он может конвертировать свои UTXO в «Билеты» для нового платежа, как он сделал в этом примере.

Ситуация меняется, как только сеть подтверждает транзакцию Али. Али больше не контролирует балансы, которые у него были изначально, и вместо этого создал новые UTXO, которые перезаписывают транзакцию предыдущими. Рассматриваемые новые UTXO представлены первым адресом Элеса и 1 BTC, который он получил от Али в нем. Во-вторых, за адрес обмена и 0,4995 BTC, которые Али получил из сети, потому что это то, что осталось от его платежа. Как мы сказали, чтобы пополнить 1,5 BTC, которые есть у Али, остальное в принципе остается комиссионным платежом для майнера.

Биткоин скрипты и отношение к UTXO


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

- Убедитесь, что используемый баланс действительно принадлежит нам.
- Убедитесь, что отправленные балансы могут быть потрачены только тем человеком, которому мы их отправили.

Но как выполняются эти операции? Мы объясним это ниже:

Подтверждение того, что баланс принадлежит нам


Первая задача использования баланса в биткоинах — показать, что этот баланс действительно наш. Первое, что нужно иметь в виду, чтобы сделать это, это то, что каждый UTXO, который мы конвертируем во вход (баланс, который мы потратим), на самом деле является результатом предыдущей транзакции, которая дала нам доступ к этому BTC. То есть все биткоин-балансы имеют связанный с ним UTXO, а рассматриваемый UTXO имеет связанный с ним блокирующий скрипт.

Этот сценарий блокировки представляет собой цифровой замок, который мы должны открыть, чтобы получить выгоду от баланса указанного UTXO. Скрипты блокировки в биткоинах разнообразны, но наиболее распространенным является P2PKH (Pay to Public Key Hash). Он же P2PK (самый примитивный), хотя и P2SH (multisig). Этот сценарий блокировки можно открыть с помощью закрытого ключа, результатом которого является адрес, указанный в UTXO.

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

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

Блокировка сценариев


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

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

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

Все транзакции проверяются всеми узлами, принимается большинство акцепторов и утверждается большая часть хэш-мощности (генерируемой майнерами). Эти проверки демократично гарантируют соблюдение протокола.

  • Смайлы и люди
    Животные и природа
    Еда и напитки
    Активность
    Путешествия и места
    Предметы
    Символы
    Флаги