Что такое eUTXO?
6 февраля 2024 г.

eUTXO, или расширенные неиспользованные выходы транзакций, предлагают уникальный способ создания смарт-контрактов и построения децентрализованных приложений (dApps) на блокчейнах, подобных Bitcoin. Модель eUTXO принципиально отличается от модели на основе аккаунтов Ethereum, а также от многих других цепочек смарт-контрактов, и имеет различные преимущества и недостатки.
Что такое UTXO?
UTXO — это неиспользованный выход транзакции, или блок монет, который является результатом транзакции и который не был впоследствии использован получающим адресом. UTXO — это важная концепция для Bitcoin и аналогичных блокчейнов, включая Ergo.
В таких системах баланс адреса не хранится в блокчейне как одно значение. Вместо этого это сумма коллекции отдельных, доступных для расходования "выходов" из транзакций на адрес, каждый из которых представляет собой определенное количество монет. Эти отдельные выходы и есть UTXO.
Как работают UTXO?
UTXO — это способ отслеживания балансов в блокчейне. Когда пользователь инициирует транзакцию, он по сути тратит один или несколько UTXO, которые он контролирует в своем кошельке. Выходы транзакции создают новые UTXO для получателей и потенциально "сдачу" в виде UTXO монет для отправителя, если что-то остается.
Например, Алиса хочет отправить Бобу 20 ERG. Ее адрес содержит UTXO на 15, 10, 7, 6 и 3 ERG. Она выбирает UTXO на 15 и 6 ERG (важно отметить, что этот шаг обычно обрабатывается автоматически криптокошельком, но может быть выполнен вручную) и отправляет 20 ERG Бобу. Теперь у Боба есть UTXO на 20 ERG в его кошельке, а Алиса получает "сдачу" в виде UTXO на 1 ERG.
Алиса могла бы объединить любое количество UTXO, в сумме составляющее не менее 20 ERG, чтобы отправить Бобу, но чем больше UTXO используется, тем больше данных необходимо хранить в блокчейне, и тем выше комиссия за транзакцию.
UTXO, отправленные в транзакциях, считаются неиспользованными, пока они не будут использованы в будущей транзакции. В этот момент они становятся частью нового UTXO.
Таким образом, UTXO немного похожи на конверты с деньгами. Пользователь может держать много таких конвертов и объединять их в транзакциях. Любая новая сдача (средства, превышающие сумму транзакции) в результате транзакций помещается в новый конверт и сохраняется отправителем.
Пользователи также платят небольшую комиссию за транзакцию майнерам, которая просто является разницей между общим входом и общими выходами, включая сдачу. (На Ergo это обычно 0.0011 ERG за простую транзакцию.)
Каждая монета в блокчейне, следовательно, принадлежит UTXO. Любую монету можно проследить обратно через предыдущие блоки UTXO, вплоть до транзакции, в которой она впервые появилась (т.е. когда она была добыта).
Вот как блокчейны, подобные Bitcoin, отслеживают балансы и обеспечивают надежность транзакций. Каждая транзакция должна ссылаться на действительные и неиспользованные UTXO, чтобы считаться законной. Модель UTXO обеспечивает прозрачность и позволяет любому независимо проверять право собственности и действительность биткойнов, проверяя блокчейн.
Таким образом, UTXO представляют собой строительные блоки собственности и транзакций в системах, подобных Bitcoin.
Что такое модель на основе аккаунтов?
Основной альтернативой модели UTXO является подход на основе аккаунтов. Он используется многими блокчейнами, включая Ethereum. Модель на основе аккаунтов работает совершенно иначе, чем цепочки UTXO для отслеживания состояния блокчейна.
Как работает модель на основе аккаунтов?
В блокчейне на основе аккаунтов транзакции управляются через аккаунты, связанные с адресами. У каждого пользователя есть аккаунт с балансом, как у банковского счета, и транзакции включают дебетование и кредитование этих балансов.
Состояние реестра обновляется, чтобы отразить изменения в балансах аккаунтов после выполнения транзакций. Эта модель дает более детальный контроль над балансами пользователей (поскольку нет необходимости в выходах сдачи), но имеет другие свойства и различные плюсы и минусы.
UTXO против аккаунтов: преимущества и недостатки
Как и в любой системе, есть преимущества и недостатки использования либо модели UTXO, либо подхода на основе аккаунтов.
Преимущества модели UTXO:
- Упрощенное отслеживание состояния: Каждый UTXO представляет собой определенное количество криптовалюты и ее право собственности, что делает отслеживание состояния блокчейна простым.
- Конфиденциальность: Модель UTXO может улучшить конфиденциальность, если используется правильно, поскольку отдельные транзакции не связаны напрямую с идентичностями пользователей.
- Параллельная обработка: UTXO могут обрабатываться параллельно, что позволяет быстрее проверять и валидировать транзакции, потенциально способствуя масштабируемости.
- Ясное отслеживание собственности: Легко проследить происхождение и текущего владельца определенного количества монет.
- Снижение нагрузки на блокчейн: Поскольку использованные UTXO удаляются из набора UTXO, использование модели UTXO может помочь в снижении нагрузки на блокчейн, что приводит к более эффективному хранению.
Недостатки модели UTXO:
- Проблемы с написанием скриптов: Из-за природы модели UTXO написание скриптов работает иначе, чем на платформах на основе аккаунтов, поэтому может быть сложнее создавать dApps, если разработчики привыкли к более традиционному подходу.
- Менее выразительные смарт-контракты: Простота модели UTXO может ограничивать сложность смарт-контрактов, хотя есть способы это исправить.
- Масштабируемость: По мере роста количества UTXO, хранящихся в блокчейне, могут возникнуть проблемы с масштабируемостью.
- Использование ресурсов: Модель UTXO может привести к менее эффективному использованию ресурсов, поскольку расходование монет включает в себя потребление целых UTXO, даже если сумма транзакции невелика.
Что такое eUTXO?
Как было рассмотрено выше, в стандартной модели UTXO (такой как используется в Bitcoin) каждая транзакция требует существующих UTXO в качестве входа и создает новые UTXO в качестве выходов.
Расширенная модель UTXO или "eUTXO" расширяет эту концепцию, позволяя UTXO содержать дополнительную информацию, такую как сложные скрипты или логику смарт-контрактов.
Преимущество этого подхода заключается в том, что пользователи могут по-прежнему наслаждаться преимуществами модели UTXO, включая безопасность и простоту, но платформа также может предоставлять возможности смарт-контрактов. Cardano — это один из известных блокчейнов, который использует модель eUTXO для включения смарт-контрактов в свою сеть. Ergo — еще один.
Как работают eUTXO?
Модель eUTXO расширяет стандартную модель монет UTXO двумя способами:
- Адреса могут содержать дополнительную логику в скриптах, которые предоставляют дополнительные условия и информацию. Когда транзакция добывается узлом, узел проверяет и выполняет скрипт, если условия выполнены.
- Выходы могут включать дополнительные данные, что позволяет создавать более мощные и гибкие скрипты.
Все это позволяет создавать сложную логику, которая может содержать множество различных условий и информации. Эта произвольная логика применяется к транзакции валидатором и обрабатывается, если транзакция разрешена использовать данный вход.
Преимущества и недостатки eUTXO
Как видно из вышеизложенного, использование UTXO в качестве основы для смарт-контрактов имеет различные последствия. Некоторые из них предлагают значительные преимущества по сравнению со смарт-контрактами на основе аккаунтов, но, как и в любой системе, есть компромиссы.
Одной из особенностей модели eUTXO является то, что транзакция проверяется только на основе самой транзакции и ее входов, без необходимости в чем-либо другом в блокчейне. Интересным и полезным следствием этого является то, что транзакцию можно проверить на действительность вне цепи до того, как она будет отправлена на проверку. После проверки транзакция будет гарантированно успешной (если только другая транзакция не использовала ее входы в это время). eUTXO, следовательно, более предсказуемы и надежны, чем транзакции смарт-контрактов на основе аккаунтов, которые могут потерпеть неудачу во время обработки. Например, в Ethereum возможно, что транзакция потребляет значительное количество газа и все равно терпит неудачу, что обходится пользователю без какой-либо выгоды.
Еще одним следствием этой надежности является то, что все комиссии, необходимые для транзакции, также могут быть рассчитаны до того, как транзакция будет отправлена. Ethereum и другие системы на основе аккаунтов являются недетерминированными, что означает, что транзакция может не только потерпеть неудачу, но даже если она и успешна, точная стоимость неизвестна. С моделью eUTXO комиссии предопределены и предсказуемы.
Конфиденциальность, как правило, лучше с моделью eUTXO, а логика транзакций, как правило, проще, поскольку UTXO может быть использован только один раз (и полностью). Это также открывает возможность параллельной обработки, поскольку несколько UTXO могут обрабатываться одновременно (при условии, что они не пытаются использовать один и тот же вход UTXO). Диапазон возможных исходов гораздо более ограничен, чем в системе на основе аккаунтов, что делает выполнение более предсказуемым и безопасным.
Против всего этого модель eUTXO довольно сильно отличается от модели на основе аккаунтов, с которой знакомы большинство разработчиков (поскольку Ethereum использует этот подход). dApps, созданные для Ethereum и аналогичных блокчейнов, не могут быть легко адаптированы для использования на платформах eUTXO.
Ключевые различия между eUTXO, UTXO и моделью на основе аккаунтов
UTXO представляют собой простые неиспользованные выходы, которые могут быть использованы в новых транзакциях. Это простая, безопасная бухгалтерская модель, используемая блокчейном первого поколения: Bitcoin.
eUTXO расширяют этот подход и обобщают его, так что валидаторы могут принимать решение о том, использован ли UTXO, на основе широкого спектра условий — позволяя создавать далеко идущие и выразительные смарт-контракты, сохраняя при этом простоту и безопасность основы UTXO.
Выполнение смарт-контрактов в системе на основе аккаунтов может быть более сложным и потенциально менее безопасным из-за способа хранения данных и внесения изменений.
В системе eUTXO монеты UTXO либо полностью используются, либо нет. В системе на основе аккаунтов каждый аккаунт изменяем, и смарт-контракты могут изменять свое состояние во время выполнения. Это может привести к сложным и иногда трудно предсказуемым взаимодействиям между различными контрактами. Изменения в состоянии одного смарт-контракта могут повлиять на другие, поэтому могут возникнуть потенциальные конфликты, которые необходимо учитывать. Это невозможно с моделью eUTXO. Поскольку UTXO независимы, они изолированы, и выполнение смарт-контрактов более детерминировано и безопасно — изменения в одной части реестра не влияют напрямую на другие. Условия расходования ясны и легко проверяемы. Аналогично, расчет газа известен и предсказуем.
Против всего этого блокчейны на основе аккаунтов, как правило, предлагают большую гибкость для сложных смарт-контрактов и децентрализованных приложений, поскольку разработка, как правило, проще, и контракты могут легко получать доступ и взаимодействовать с другими контрактами — хотя это связано с большим риском и возможностью того, что уязвимости могут быть непреднамеренно введены. Подход на основе eUTXO часто предпочтителен, если все остальное одинаково, для определенных типов dApp.
Заключение
eUTXO предлагают принципиально другой подход к смарт-контрактам и децентрализованным приложениям, чем преобладающая модель на основе аккаунтов. Хотя в некоторых отношениях она может показаться более ограниченной, модель eUTXO, как правило, безопаснее и предсказуемее, устраняя некоторые из самых серьезных уязвимостей, связанных со смарт-контрактами.
Share post
13 августа 2025 г.
9 июля 2025 г.
12 мая 2025 г.






