Добро пожаловать в IXIDE — ваш партнёр в мире криптовалют!
В рубрике «IXIDE разбирает» мы простыми словами объясняем, что происходит с криптовалютной транзакцией после отправки.
Сегодня разберём понятие finality, или окончательности транзакции: почему одной сети достаточно нескольких подтверждений, а другой требуется больше, и почему статус Success ещё не всегда означает, что перевод считается окончательно завершённым.
Finality — это момент, после которого транзакцию можно считать практически или окончательно закреплённой в блокчейне.
Проще говоря:
транзакция отправлена → попала в блок → получила подтверждения → достигла достаточной степени окончательности.
После этого вероятность того, что блокчейн отменит или перестроит содержащий её блок, становится крайне низкой либо протокол прямо считает состояние финализированным.
Когда транзакция впервые включается в блок, она получает первое подтверждение.
Но в некоторых блокчейнах теоретически может появиться другая версия цепочки.
Если сеть выберет её основной, последние блоки могут быть перестроены.
Такое явление называют reorganization, или reorg.
Именно поэтому сервисы нередко ждут несколько новых блоков после первого подтверждения.
Чем глубже транзакция находится в истории блокчейна, тем сложнее её заменить.
Каждый новый блок после блока с вашей транзакцией увеличивает число подтверждений.
Упрощённый пример:
транзакция включена в блок → 1 подтверждение
появился следующий блок → 2 подтверждения
ещё один блок → 3 подтверждения
и так далее.
Но количество подтверждений, необходимое для зачисления, зависит от конкретной сети и правил принимающего сервиса.
У Bitcoin нет одного фиксированного момента, после которого протокол говорит: «Эта транзакция теперь абсолютно необратима».
Его окончательность принято считать вероятностной.
Чем больше блоков было построено поверх блока с транзакцией, тем ниже вероятность изменения этой части истории.
Поэтому для небольшого платежа сервис может считать достаточным небольшое количество подтверждений, а для крупной суммы установить более высокий порог.
Это не значит, что Bitcoin работает медленно или ненадёжно — так устроена его модель консенсуса и оценки риска.
В некоторых сетях на Proof-of-Stake существует более явный механизм финализации.
Валидаторы не только создают и подтверждают блоки, но и участвуют в процедуре, после которой определённое состояние сети признаётся finalized.
Это отличается от модели Bitcoin, где уверенность возрастает постепенно с каждым новым блоком.
Однако даже в PoS-сетях биржи и обменные сервисы могут ждать дополнительные подтверждения или внутренние проверки.
Эти понятия связаны, но не полностью одинаковы.
Подтверждение показывает, насколько глубоко транзакция находится в блокчейне.
Finality описывает степень уверенности в том, что история уже не изменится.
В одной сети окончательность оценивается количеством новых блоков.
В другой существует специальный механизм финализации.
Именно поэтому нельзя применять одно универсальное правило вроде:
«Для любой криптовалюты достаточно трёх подтверждений».
На это влияют сразу несколько факторов:
механизм консенсуса;
среднее время создания блока;
способ финализации;
вероятность реорганизации;
безопасность сети;
сумма операции;
политика принимающего сервиса.
Поэтому две сети могут совершенно по-разному оценивать один и тот же уровень риска.
Иногда пользователи считают:
«Если блок появляется каждую секунду, значит одного подтверждения достаточно».
Не обязательно.
Скорость создания блоков и окончательность транзакции — разные характеристики.
Сеть может создавать блоки очень быстро, но использовать отдельный механизм финализации.
Поэтому важно смотреть не только на скорость блокчейна, но и на то, когда операция считается окончательной согласно его правилам.
Кошелёк может показать:
Success
или
Confirmed
сразу после первого подтверждения.
Но обменник, биржа или другой сервис может требовать больше подтверждений.
Это связано с управлением риском.
Например, сервис может учитывать:
конкретную сеть;
сумму перевода;
историю стабильности блокчейна;
вероятность reorg;
собственные правила безопасности.
Поэтому успешный статус в блокчейн-обозревателе и фактическое зачисление на сервисе могут происходить не одновременно.
Reorg — это перестройка последних блоков блокчейна.
Упрощённо:
сеть сначала считает одну последовательность блоков основной, а затем выбирает другую.
Если транзакция находилась в заменённом блоке, её статус может измениться.
В крупных и устойчивых сетях глубокие реорганизации происходят редко, но именно их возможность объясняет, зачем существуют дополнительные подтверждения.
Теоретически — да, если она ещё не достигла достаточной окончательности и происходит реорганизация сети.
Но вероятность обычно быстро снижается по мере появления новых блоков.
Именно поэтому важные операции зачастую не считаются окончательно завершёнными сразу после первого подтверждения.
Чем выше сумма, тем выше потенциальный ущерб для принимающей стороны.
Поэтому некоторые сервисы используют разные пороги.
Например:
небольшой депозит может быть зачислен быстрее,
а крупный — только после дополнительного количества подтверждений.
Это не обязательно связано с состоянием самой транзакции — это может быть политикой управления риском конкретного сервиса.
Через TXID обычно можно проверить:
включена ли транзакция в блок;
количество подтверждений;
номер блока;
сумму;
адрес отправителя и получателя;
комиссию;
текущий статус.
Если транзакция получила первое подтверждение, но сервис ещё не зачислил средства, стоит проверить, сколько подтверждений он требует.
При обмене через IXIDE транзакция может уже отображаться как успешная в блокчейне, но заявка ещё некоторое время ожидать подтверждений.
Это связано с тем, что разные сети обладают разной моделью finality.
Поэтому необходимое количество подтверждений может отличаться в зависимости от:
криптовалюты;
используемой сети;
параметров конкретной операции.
Пользователю не нужно отправлять средства повторно только потому, что заявка не обновилась сразу после появления первого подтверждения.
Сначала следует проверить TXID и текущий статус операции.
Иногда пользователь думает:
«Прошло уже 20 минут — значит перевод завис».
Но само время ничего не говорит об окончательности транзакции.
Одна сеть может успеть создать множество блоков, другая — значительно меньше.
При высокой нагрузке ситуация также может отличаться.
Поэтому правильнее смотреть на:
статус;
количество подтверждений;
состояние сети;
требования принимающего сервиса.
Перед отправкой криптовалюты проверяйте:
выбранную сеть;
адрес получателя;
наличие Memo или Tag, если он требуется;
TXID после отправки.
Если транзакция уже включена в блок, но заявка ещё ожидает обработки, сначала проверьте количество подтверждений.
IXIDE рекомендует оценивать состояние перевода по данным блокчейна, а не только по времени, прошедшему после отправки.
Finality показывает, насколько окончательно транзакция закреплена в блокчейне.
В Bitcoin уверенность увеличивается по мере появления новых блоков.
В некоторых Proof-of-Stake сетях существуют отдельные механизмы финализации.
Именно поэтому разным блокчейнам требуется разное количество подтверждений.
Самое важное:
1 подтверждение не всегда означает окончательное зачисление.
Транзакция может быть полностью корректной, но принимающий сервис продолжит ждать необходимую для конкретной сети степень finality.