Модели учета в блокчейне: UTXO и ABC

Фото - Модели учета в блокчейне: UTXO и ABC
Существует две основные модели контроля транзакций, используемые в блокчейнах: UTXO (выход неизрасходованных транзакций) и Account-Based Chains (цепочки на основе балансов аккаунтов). Каждая из них имеет свои уникальные особенности и преимущества. Сравниваем их возможности.

UTXO — это модель наличных денег

Модель UTXO (Unspent Transaction Output) рассматривает монеты как отдельные единицы стоимости, каждая из которых имеет уникальный идентификатор.

Это можно сравнить с долларовыми купюрами, каждая из которых имеет свой номер. Представьте, что вы отдали  уличному торговцу хот-догами купюру в $5 — ровно столько, сколько стоит хот-дог. Ваш продавец через час купил газету, расплатившись вашей купюрой. Но газета стоит $2, поэтому продавец газет дал ему сдачу тремя купюрами по $1. 

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

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

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

Преимущества модели UTXO:

  1. Простота. Модель UTXO доступна для понимания рядовых пользователей блокчейна, поскольку она основана на аналогии с оборотом наличных денег.
  2. Повышенная конфиденциальность. В модели UTXO каждый неизрасходованный остаток имеет уникальный идентификатор, что затрудняет деанонимизацию участников сделок.
  3. Поддержка сложных транзакций. Модель UTXO позволяет выполнять сложные транзакции, где для подписи требуются несколько ключей, и транзакции с изменением адреса.

Недостатки модели UTXO:

  1. Модель UTXO считается низкоэффективной, поскольку требует создания неизрасходованных остатков для каждой новой транзакции.
  2. Сложность разработки. Разработка кошельков и приложений для модели UTXO может быть сложной, поскольку они должны поддерживать управление множеством UTXO.

Account-Based Chains — это модель банковских счетов

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

Чтобы понять, как работает модель учетных записей, можно провести аналогию с банковскими счетами. Представьте, что у вас есть банковский счет с балансом в $100. Когда вы переводите $50 другому пользователю, ваш баланс уменьшается на $50, а баланс получателя увеличивается на $50.

В модели аккаунтов перевод средств выполняются следующим образом:

  1. Отправитель указывает, баланс какого аккаунта он хочет изменить.
  2. Получатель указывает, баланс какого аккаунта он хочет изменить.
  3. Транзакционный процессор проверяет, достаточно ли средств на аккаунте отправителя для покрытия затребованного платежа.
  4. Если на аккаунте отправителя достаточно средств, транзакционный процессор изменяет балансы аккаунтов и записывает историю сделки в блокчейн.

Преимущества модели Account-Based Chains:

  1. Эффективность. Модель аккаунтов более эффективна, чем модель UTXO, поскольку она не требует наличия неизрасходованных остатков на балансе пользователя.
  2. Простота разработки. Разработка кошельков и децентрализованных приложений для модели аккаунтов проще, чем для модели UTXO, поскольку она поддерживает управление одним балансом.
  3. Экономия места на блокчейне. Каждая транзакция требует только одну ссылку, одну подпись и производит один выход.

Недостатки модели цепочки учетных записей:

  1. Снижение конфиденциальности. В модели баланса аккаунтов легче отслеживать движение монет, ведь все транзакции ведутся через персонализированные аккаунты.
  2. Ограничения на сложные транзакции. Модель аккаунтов может быть неспособна поддерживать транзакции с мультиподписью и переводы с изменением адреса.

Выбор модели учета

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

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

То же самое происходит и с фиатными платежами: если человек желает приватной передачи денег — он остановит свой выбор на наличных, а для “белой” транзакции предпочтет банковский перевод.