Транзакция в блокчейне — UTXO vs аккаунты, комиссии и mempool

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

Базовые моменты

  • Модель учёта. В сетях типа Bitcoin действует UTXO-модель (тратятся «монеты»-выходы, создаются новые, см. UTXO); в аккаунтных сетях (напр., Ethereum) изменяется баланс адреса и счётчик nonce.
  • Комиссия. Отправитель платит сеть за обработку (приоритет включения зависит от цены и условий комиссии, см. комиссии).
  • Необратимость. После подтверждения откат транзакции невозможен без реорганизации цепи; сервисы учитывают риск двойной траты до наступления финальности.

Структура (обобщённо)

Поле Что означает Где встречается
Входы (inputs) Ссылки на тратимые UTXO + подписи/скрипты. UTXO-сети (напр., Bitcoin).
Выходы (outputs) Новые «монеты» с суммой и условием траты (адрес). UTXO-сети.
from / to Отправитель/получатель, иногда несколько адресов. Аккаунт-модель.
amount / value Сумма перевода. Везде.
fee / gas Цена работы сети; в EVM — gasLimit × gasPrice/maxFee. Везде.
nonce Порядковый номер транзакции адреса. Аккаунт-модель.
data/call Поле для вызова контракта/передачи данных. Смарт-контракты.
подписи Доказательство владения ключом. Везде.

Жизненный цикл транзакции

  • Формирование и подпись. Кошелёк собирает поля транзакции и подписывает их приватным ключом (локально; ключ не покидает устройство).
  • Рассылка (broadcast). Подписанный объект попадает в мемпул узлов и распространяется по сети.
  • Отбор и включение в блок. Валидатор/майнер выбирает транзакции (обычно по комиссии/приоритету), формирует блок и публикует его.
  • Подтверждения. Чем глубже блок в цепи, тем меньше риск отката. В PoW ориентируются на число подтверждений; в PoS — на чекпойнты/финальность эпох.
  • Финальность. По достижении протокольных критериев считается практически необратимой.

Модели: UTXO vs аккаунты

Критерий UTXO (напр., Bitcoin) Аккаунт-модель (напр., Ethereum)
Представление Набор входов/выходов. Пара from → to, баланс и nonce.
Комиссия Разница входов и выходов. Явное поле gas/fee.
Параллелизм Выше (независимые UTXO). Ограничен порядком nonce.
Контракты Ограниченные скрипты. Полные смарт-контракты.

Комиссии и приоритет

  • Спрос → цена. При высокой нагрузке мемпулы переполнены — требуется повышать цену за байт/газ для быстрого включения.
  • Стратегии. В UTXO-сетях — выбор входов влияет на размер (байты) и стоимость; в EVM-сетях — управление maxFee/maxPriorityFee или gasPrice.
  • Ресендинг/замена. В аккаунт-модели можно «ускорить» неподтверждённую транзакцию, отправив новую с тем же nonce и большей комиссией; сеть примет только одну.

Риски и типовые проблемы

  • Неверный адрес/сеть. Переводы в неправильную сеть или на некорректный адрес почти всегда невозвратимы. Проверяйте первые/последние символы и целевую сеть.
  • Застрявшие транзакции. Низкая комиссия → долгая жизнь в мемпуле. Помогает замена/ускорение (аккаунт-модель) или повтор с корректной комиссией.
  • Двойная трата (до финальности). Не принимайте ценные платежи без достаточных подтверждений/финальности.
  • Фишинг и «слепые подписи». Взаимодействуя со смарт-контрактами, читайте понятные calldata/подсказки кошелька; избегайте широких allowance.

Практика / чек-лист пользователя

1. Проверяйте реквизиты на «доверенном экране». Для крупных сумм — подтверждение на дисплее аппаратного устройства; делайте тест-переводы.

2. Управляйте комиссиями. Учитывайте текущую нагрузку сети; держите запас нативной монеты для оплаты газа.

3. Следите за nonce (EVM). Серии отправок делайте по порядку; при необходимости заменяйте «застрявшую» транзакцию той же nonce с повышенной комиссией.

4. Адреса-«сдача»/coin control (UTXO). Контролируйте выбор входов, не смешивайте чувствительные UTXO; планируйте консолидации при низких комиссиях.

5. Разделяйте кошельки. «Рабочий» для dApp и отдельный — для хранения (см. кошелёк, Self-custody).

6. Храните ключи/сид офлайн. Seed-фраза и приватные ключи должны быть вне сети; для крупных сумм — холодный режим.

Частые вопросы (FAQ)

Можно ли «отменить» транзакцию? Если она уже подтверждена — нет. До подтверждения в аккаунт-модели можно вытеснить её новой транзакцией с тем же nonce и более высокой комиссией.

Почему комиссия «скакнула»? Сети работают по рынку: при росте спроса на место в блоке растёт плата. Настройте динамическую стратегию комиссий.

Где посмотреть статус? В обозревателях блокчейна по хешу транзакции (tx hash). Там видны подтверждения, блок, размер комиссии и т. п.

Чем «перевод» отличается от «вызова контракта»? Перевод меняет балансы напрямую. Вызов контракта может выполнять произвольную логику: своп, депозит, чек-ин и др. Такие транзакции сложнее и дороже.

Почему моя EVM-tx «не проходит», хотя комиссия нормальная? Возможны ошибки исполнения (revert), неверный nonce, недостаточный gasLimit или конфликтующая незавершённая tx с тем же nonce.

См. также

Блокчейн

Криптокошелёк

Приватный ключ

Публичный ключ

Комиссии

Nonce

UTXO

Двойная трата

Bitcoin (BTC)

Ethereum

Task Runner