Транзакция в блокчейне — это операция, которая изменяет состояние блокчейн-сети и фиксируется в её истории.
Самый простой пример — перевод криптовалюты от одного пользователя другому. Но транзакцией также может быть вызов смарт-контракта, обмен токенов, выпуск NFT и другие действия, поддерживаемые конкретной сетью.
Чтобы понять, как работает криптовалюта, важно разобраться, что происходит с момента нажатия кнопки «Отправить» до появления подтверждения в блокчейне.
Из чего состоит транзакция?
В зависимости от блокчейна структура транзакции отличается, но обычно в ней содержится информация, необходимая сети для выполнения операции.
Например, при переводе криптовалюты могут учитываться:
-
адрес отправителя или данные, определяющие источник средств;
-
адрес получателя;
-
сумма;
-
комиссия;
-
данные, необходимые для обработки операции;
-
цифровая подпись;
-
другие параметры конкретного блокчейна.
При этом приватный ключ не отправляется в блокчейн. Он используется для создания цифровой подписи, которая позволяет сети проверить право пользователя совершить операцию.
Как проходит транзакция?
Упрощённо процесс выглядит следующим образом:
Создание → Подписание → Распространение → Проверка → Включение в блок → Подтверждение
Разберём каждый этап.
1. Пользователь создаёт транзакцию
Представим, что вы хотите отправить криптовалюту другому человеку.
В кошельке вы указываете:
-
адрес получателя;
-
сумму;
-
при необходимости дополнительные параметры;
-
комиссию или связанные с ней настройки.
После этого кошелёк формирует транзакцию в формате, который понимает конкретная блокчейн-сеть.
2. Транзакция подписывается
Кошелёк использует приватный ключ для создания цифровой подписи.
Подпись позволяет сети проверить, что транзакция действительно была авторизована владельцем соответствующего ключа.
Сам приватный ключ не передаётся получателю, майнерам или валидаторам.
Это один из фундаментальных принципов безопасности блокчейна.
3. Транзакция отправляется в сеть
После подписания транзакция передаётся узлам блокчейна.
Узлы получают операцию и распространяют её среди других участников сети.
На этом этапе транзакция ещё не обязательно является частью блокчейна.
Она может находиться в очереди неподтверждённых операций.
4. Сеть проверяет транзакцию
Узлы проверяют, соответствует ли операция правилам конкретного протокола.
В зависимости от сети могут проверяться:
-
корректность цифровой подписи;
-
наличие необходимых средств;
-
правильность формата транзакции;
-
отсутствие попытки повторно потратить одни и те же средства;
-
достаточность комиссии;
-
другие правила протокола.
Если транзакция не проходит проверку, она не должна быть принята сетью как корректная операция.
5. Транзакция попадает в блок
Проверенные транзакции ожидают включения в новый блок.
В разных блокчейнах это происходит по-разному.
В Bitcoin блок создаётся майнером в рамках механизма Proof-of-Work.
В Ethereum блоки создаются и подтверждаются валидаторами в рамках Proof-of-Stake.
Таким образом, конкретный механизм зависит от используемой сети.
6. Блок добавляется в блокчейн
После создания блока сеть принимает его в соответствии со своими правилами.
Транзакции внутри блока становятся частью истории блокчейна.
После этого другие узлы обновляют своё состояние сети.
7. Появляются подтверждения
После включения транзакции в блок она получает первое подтверждение.
Когда поверх этого блока появляются следующие блоки, количество подтверждений увеличивается.
Например:
1 подтверждение → транзакция включена в блок
2 подтверждения → появился следующий блок
3 подтверждения → ещё один блок поверх предыдущего
И так далее.
В разных сетях и сервисах требования к количеству подтверждений могут отличаться.
Что такое неподтверждённая транзакция?
Если транзакция уже отправлена в сеть, но ещё не включена в блок, её часто называют неподтверждённой или находящейся в очереди.
Она может ожидать обработки из-за:
-
высокой нагрузки сети;
-
недостаточной комиссии;
-
особенностей механизма формирования блоков;
-
других условий конкретного блокчейна.
Поэтому статус «транзакция отправлена» не всегда означает, что получатель уже получил подтверждённые средства.
Что такое комиссия?
Для многих блокчейн-операций требуется комиссия сети.
Она компенсирует ресурсы, необходимые для обработки и включения транзакции в блок, и является частью экономической модели сети.
Размер комиссии зависит от конкретного блокчейна и характера операции.
Например, в Ethereum сложный вызов смарт-контракта может потреблять значительно больше вычислительных ресурсов, чем простой перевод ETH.
В периоды высокой нагрузки комиссии могут увеличиваться.
Подробнее о комиссиях и gas fee стоит поговорить отдельно.
Можно ли отменить транзакцию?
В большинстве блокчейнов после подтверждения транзакцию нельзя просто отменить, как банковский перевод.
Это означает, что необходимо внимательно проверять:
-
адрес получателя;
-
сумму;
-
сеть;
-
дополнительные параметры операции.
Если вы отправили средства на неправильный адрес, вернуть их может быть невозможно.
Иногда неподтверждённую транзакцию можно заменить или ускорить определёнными механизмами, если это поддерживает конкретный блокчейн и кошелёк. Но это не означает универсальную возможность отмены операции.
Что такое hash транзакции?
После создания транзакции с ней связан уникальный идентификатор, который часто называют transaction hash, TXID или просто хеш транзакции.
Он позволяет найти конкретную операцию в блокчейн-обозревателе.
Например, при отправке Bitcoin пользователь может получить TXID и использовать его для проверки:
-
была ли транзакция принята сетью;
-
включена ли она в блок;
-
сколько подтверждений получено;
-
какие суммы и адреса указаны в операции.
Что такое блокчейн-обозреватель?
Blockchain explorer — это сервис, который позволяет просматривать публичные данные блокчейна.
С его помощью можно найти транзакцию по её хешу и посмотреть соответствующую информацию.
Важно помнить, что публичность данных зависит от конкретной сети. В публичных блокчейнах информация об операциях обычно доступна для просмотра, хотя реальные личности владельцев адресов напрямую из самого адреса могут быть неизвестны.
Транзакция — это не только перевод криптовалюты
В современных блокчейнах транзакция может выполнять гораздо больше действий.
Например, пользователь может:
-
обменять один токен на другой;
-
взаимодействовать со смарт-контрактом;
-
внести средства в DeFi-протокол;
-
получить NFT;
-
передать токен;
-
выполнить другую операцию, предусмотренную конкретным приложением.
Поэтому блокчейн-транзакция — это не просто «перевод монет».
Пример обычного перевода
Представим, что Алиса хочет отправить Бобу 0,01 BTC.
Шаг 1. Алиса вводит Bitcoin-адрес Боба и сумму.
Шаг 2. Кошелёк формирует транзакцию.
Шаг 3. Транзакция подписывается ключом Алисы.
Шаг 4. Она отправляется в сеть Bitcoin.
Шаг 5. Узлы проверяют её.
Шаг 6. Майнер включает транзакцию в блок.
Шаг 7. Блок принимается сетью.
Шаг 8. Боб видит транзакцию и после необходимого количества подтверждений может считать её окончательно подтверждённой согласно используемым правилам.
Почему транзакцию нельзя просто удалить?
Одна из особенностей блокчейна заключается в том, что история операций предназначена для последовательного и согласованного хранения.
После включения транзакции в блок её нельзя просто удалить из базы данных одним действием.
При этом разные блокчейны имеют разные механизмы финальности и возможные сценарии реорганизации цепочки, поэтому понятие «неизменяемости» не стоит понимать как абсолютную гарантию при любых обстоятельствах.
Главное для новичка
Процесс можно запомнить одной схемой:
Кошелёк создаёт транзакцию → приватный ключ подписывает её → сеть проверяет → транзакция попадает в блок → блок добавляется в блокчейн → появляются подтверждения.
Самые важные правила при отправке криптовалюты:
-
всегда проверяйте адрес получателя;
-
проверяйте блокчейн-сеть;
-
обращайте внимание на комиссию;
-
не передавайте приватный ключ или seed-фразу;
-
не считайте транзакцию окончательной только потому, что нажали «Отправить»;
-
при необходимости проверяйте TXID через блокчейн-обозреватель.
Вопрос для обсуждения: сталкивались ли вы с задержанной транзакцией и сколько времени она находилась без подтверждения?