Что такое UTXO? | Объяснение для начинающих по выводам транзакций

Что такое UTXO?

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

Пример транзакции UTXO

Когда вы смотрите на свой биткойн-кошелек, вы видите баланс. В этом примере давайте установим это на 100 биткойнов. Хотя вы наблюдаете просто один баланс, ваши средства фактически состоят из несколько UTXO. У вас может быть четыре UTXO стоимостью 25 биткойнов каждый, два UTXO стоимостью 50 или набор UTXO стоимостью 37, 18, 40 и 5 биткойнов. Конкретные суммы не имеют значения, но они должны составлять ваш общий баланс, в данном случае 100.

Продолжая этот пример, предположим, что вы ищете новую машину. Ты усердно работаешь; ты заслуживаешь это. Опровергая стереотип Lambo, вы выбираете Porche стоимостью 35 биткойнов. Что ж, ваш кошелек содержит только UTXO, равные 15, 17, 28 и 40 биткойнов каждый. У вас нет ни одного, который оценивается точно в 35 биткойнов.

Невозможно разделить UTXO, поэтому нет возможности выплатить 35 биткойнов, которые вы должны.

Вместо этого вы тратите 40 биткойнов UTXO. Вместо этого сеть выпускает два новых UTXO: один стоимостью 35 биткойнов, другой – 5 биткойнов. Автосалон получает UTXO 35 биткойнов, а вы получаете UTXO 5 биткойнов в качестве сдачи..

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

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

Что насчет комиссии за транзакцию?

Комиссионные за транзакции также включаются в транзакции и вычитаются из UTXO, который вы получаете как изменение. Уравнение выглядит примерно так:

Новый UTXO = (Сумма UTXO в транзакции) – (Сумма транзакции) – (Комиссия за транзакцию)

Продолжая наш последний пример с комиссией за транзакцию в один биткойн:

Новый UTXO = (17 + 18) – (35) – (1) = 9 биткойн


Важность UTXO и возможные проблемы

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

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

  1. Майнер получил его в качестве вознаграждения за майнинг, или
  2. Он был отчеканен во время транзакции. (Помните наш предыдущий пример?)

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

Возможные проблемы с хранением

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

Размер базы данных Bitcoin UTXO с течением времени через блокчейн

Размер базы данных Bitcoin UTXO с течением времени через блокчейн

Этот риск централизации – один из главных аргументов против увеличения размера блока биткойнов. Разработчик биткойнов Гэвин Андресен описывает это лучше всего в его статья UTXO э-э…:

«Блок размером в один мегабайт – это место для около 100 миллионов 500-байтовых транзакций в год. Если бы каждый из них увеличил набор UTXO на 500 байтов, это увеличило бы набор UTXO на 50 гигабайт в год ».

Размер блока в один мегабайт устанавливает верхний предел того, насколько база данных UTXO может расти каждый год. Он продолжает:

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

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

Решения

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

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

Наконец, Segregated Witness (Segwit) и подобные решения для масштабирования косвенно замедляют рост базы данных UTXO. Вытягивание прямо из Документация Bitcoin Core:

«Segwit улучшает ситуацию здесь, делая данные подписи, которые не влияют на размер набора UTXO, на 75% меньше, чем данные, которые действительно влияют на размер набора UTXO. Ожидается, что это побудит пользователей использовать транзакции, которые минимизируют влияние на набор UTXO, чтобы минимизировать комиссии, и побудит разработчиков разрабатывать смарт-контракты и новые функции таким образом, чтобы также минимизировать влияние на набор UTXO. ”

Заключение: альтернативы UTXO?

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

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

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

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map