Как устроены транзакции в блокчейне: от простых переводов до сложных протоколов

Первые блокчейны вроде Bitcoin и Litecoin решали одну задачу: перемещать монеты с адреса на адрес. Больше от них ничего не требовалось. Ситуация изменилась с появлением смарт-контрактов — прежде всего в Ethereum, BNB Chain и Solana. Там транзакция перестала быть просто записью о переводе: теперь она может запускать программный код, задействовать несколько контрактов одновременно и выполнять целые цепочки действий за одну операцию.

Единой общепринятой классификации блокчейн-транзакций не существует. В этой статье они разделены по характеру выполняемых операций — от простейших до многоуровневых.

Базовая операция: перевод между кошельками

Отправка криптовалюты с одного адреса на другой — самый распространённый и понятный сценарий. Такие операции называют простыми транзакциями. Последовательность шагов выглядит так:

  • пользователь формирует и подписывает транзакцию своим приватным ключом;
  • подписанная операция уходит узлам сети и встаёт в очередь неподтверждённых — мемпул (от англ. mempool, memory pool — множество операций, ожидающих записи в блок);
  • конкретный майнер/валидатор проверяет корректность данных, затем отправляет остальным участникам сети, которые проверяют правильно ли всё записано и включают в блок;
  • транзакция включается в блок и фиксируется в цепочке.

Более сложные сценарии работают по другой логике.

Сложные транзакции: когда одной операции недостаточно

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

Разберём это на примере обмена монет на децентрализованной бирже (DEX):

  • пользователь выбирает пару активов и сумму, приложение рассчитывает ожидаемый результат и доступные маршруты;
  • если для монеты ещё не выдано разрешение на списание, пользователь подтверждает его — отдельной транзакцией или криптографической подписью, в зависимости от протокола;
  • затем отправляется основная транзакция обмена;
  • маршрутизатор DEX вызывает нужные смарт-контракты и проводит своп через один или несколько пулов ликвидности;
  • при успешной операции монеты списываются с адреса отправителя, а полученный актив зачисляется на указанный адрес. Комиссия протокола обрабатывается логикой биржи, сетевой сбор взимает блокчейн.

Внешне это одна транзакция, хотя внутри неё может происходить множество вызовов: контракт монеты, контракт пула ликвидности, контракт-маршрутизатор биржи. При операциях с несколькими активами в цепочку включается ещё больше контрактов — иногда десятки.

Другой пример сложной операции — одновременная отправка активов на несколько адресов. Крупные майнинг-пулы используют такой формат для выплаты наград участникам; криптопроекты — для рассылки монет в рамках первичного предложения (ICO) и эйрдропов — бесплатных раздач монет пользователям в рамках продвижения проекта или вознаграждения его участников.

Операции такого формата называют пакетными транзакциями. В сети Bitcoin одна транзакция может содержать несколько выходов с переводами на разные адреса — именно так устроены массовые выплаты.

Разновидности сложных транзакций

Рассмотрим операции, которые требуют более внимательной проверки из-за особенностей их механики.

Взаимодействие со смарт-контрактами

Операции с вызовом смарт-контрактов составляют основу децентрализованных финансов (DeFi). К ним относятся:

  • свопы (обмен монет);
  • купля-продажа невзаимозаменяемых токенов (NFT) на маркетплейсах;
  • создание DeFi-пулов и управление ими;
  • добавление криптоактивов в пулы ликвидности и вывод из них;
  • выпуск и сжигание токенов;
  • кредитование и заимствование;
  • стейкинг (от англ. staking — блокировка доли) и другие взаимодействия с протоколами.

Смарт-контракты применяются далеко не только в DeFi: на них строятся децентрализованные автономные организации (DAO), игры, системы управления и множество других приложений.

Атомарные свопы

Атомарный своп (от англ. atomic swap — неделимый обмен) позволяет двум сторонам напрямую обменяться активами из разных блокчейнов без участия централизованного посредника. Ключевое свойство такого обмена — неделимость: либо обе части сделки завершаются успешно, либо не происходит ни одна из них.

Классические реализации атомарных свопов опираются на криптографические условия — например, HTLC (от англ. Hash Time-Locked Contracts — хешированные контракты с временным замком). Активы блокируются в обеих сетях таким образом, что каждая сторона получает своё только при выполнении заданных условий. Если сроки истекают без завершения обмена, то средства автоматически возвращаются владельцам.

Транзакции с мультиподписью

Мультиподпись, или мультисиг (от англ. multi-signature — множественная подпись), применяется там, где одного ключа для авторизации операции недостаточно. Такой формат распространён в корпоративных холодных кошельках: на криптобиржах, у кастодианов и брокеров.

Технически мультиподпись — скорее механизм авторизации, чем отдельный тип транзакции. Для подтверждения операции требуется определённое число подписей: например, 2 из 3 или 3 из 5. Конкретный порог подбирается под нужный баланс между безопасностью и доступностью средств. Схема «2 из 3» означает, что компрометация одного ключа не даст злоумышленнику полного контроля над кошельком — для этого потребуется минимум второй ключ.

Транзакции с данными

Блокчейн используют не только для расчётов, но и для хранения и верификации информации. В протоколе Bitcoin для этого применяется opcode (от англ. operation code — код операции) OP_RETURN языка Bitcoin Script. Он позволяет встроить произвольные данные — идентификатор, хеш документа, сообщение — в специальный нерасходуемый выход транзакции.

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

Разнообразие операций как отражение зрелости блокчейна

Разнообразие форматов транзакций отражает то, насколько далеко блокчейн ушёл от роли простого реестра переводов. Простая отправка монет, пакетные выплаты, атомарные обмены между сетями, сложные DeFi-операции с цепочками смарт-контрактов, мультиподписи для корпоративных нужд, встраивание данных — каждый из этих форматов решает конкретную задачу. Разобравшись в особенностях разных операций, проще понять, почему одни транзакции проходят быстрее и дешевле, а другие требуют больше времени, стоят дороже или несут дополнительные риски.

- - -

Новый сайт:

- - -

BestChange в Telegram:

- - -

Приложение BestChange для смартфона: