Могут ли отменить перевод после того, как он получил статус «успешно»? Именно на этот вопрос отвечает понятие «финальность» в блокчейне. У разных сетей ответы разные: в биткоине финальность обеспечивается всё новыми подтверждениями, в Ethereum — голосованием валидаторов, участвующих в стейкинге, а в некоторых сетях блок становится окончательным сразу после создания.
В Ethereum застейканные $ETH служат гарантией финальности: за отмену уже финализированных блоков можно потерять значительную часть стейка. Сейчас — 2123.52 (за 24 ч. −0.99%).
Что такое финальность:
Финальность — это свойство подтверждённой транзакции или блока, которое означает, что их уже нельзя отменить или изменить. В блокчейне иногда возникают кратковременные разветвления: если два блока создаются почти одновременно, в итоге сохраняется только одна ветвь, а транзакции из другой приходится ставить в очередь заново. Финальность отвечает на вопрос: когда можно перестать беспокоиться о том, что такое произойдёт?
Биткоин: вероятностная финальность:
У биткоина только вероятностная финальность. Чем больше блоков добавлено поверх блока, тем больше блоков атакующему придётся пересчитать, чтобы его отменить, и тем ниже вероятность успеха. В разделе 11 белой книги биткоина рассчитано, что эта вероятность быстро снижается с увеличением числа подтверждений.
Поэтому часто говорят «дождаться 6 подтверждений» — это общепринятый на практике уровень безопасности, а не математическая гарантия того, что транзакцию невозможно отменить. Для разных сумм и ситуаций может требоваться разное число подтверждений.
Эфириум: финализация:
В механизме доказательства доли владения эфириума используется Casper FFG. Каждые 32 слота образуют эпоху (epoch), которая длится около 6,4 минуты. После того как валидаторы с долей в две трети от общего объёма стейкинга проголосуют за контрольную точку, она сначала получает статус «обоснованной», а в следующей эпохе — «финализированной». Поэтому блок обычно становится финализированным примерно через две эпохи, то есть через 12,8 минуты.
За попытку отменить уже финализированный блок атакующий потеряет как минимум треть всего застейканного ETH. Это экономическая финальность: отменить блок возможно, но цена этого чрезвычайно высока. Если слишком много валидаторов окажутся офлайн, финализация приостановится, однако создание блоков продолжится.
Цепочки с финальностью сразу после создания блока:
В цепочках на основе консенсуса Tendermint (CometBFT), например Cosmos Hub, блок становится финальным сразу после добавления — ждать следующих блоков не нужно. Однако за это приходится платить: валидаторам нужно проводить несколько раундов голосования для каждого блока, а с ростом их числа увеличиваются и затраты на коммуникацию.
Что это значит для обычных пользователей:
Число подтверждений, которое требует биржа для зачисления средств, по сути, показывает, насколько финализированной должна стать транзакция, чтобы платформа сочла её безопасной. При получении крупного платежа дождитесь достаточного числа подтверждений или финализации, прежде чем распоряжаться средствами. Задержки при вводе и выводе средств в разных сетях различаются, и это не обязательно означает, что возникла проблема.
Моё мнение:
Коротко: «попало в блокчейн» не значит «всё окончательно решено». Разберитесь, как именно финализируются транзакции в используемой вами сети, — тогда при крупных операциях вы будете знать, сколько ждать. Сверяйте информацию из нескольких источников и только потом принимайте решение; не полагайтесь на слова одного человека.
Сталкивались с подобными проблемами? Расскажите о них, чтобы предупредить остальных.
Прежде чем распоряжаться своими деньгами, всё тщательно обдумайте.