Детерминированная финальность – это явный статус, который протокол присваивает записи после выполнения условий консенсуса; экономическая финальность опирается на стоимость попытки эту запись отменить. Термины описывают разные основания уверенности, а не универсальную шкалу «плохо – хорошо». Некоторые proof-of-stake сети используют явные финализированные контрольные точки, защищённые штрафами для нарушителей. В других моделях уверенность растёт постепенно по мере накопления подтверждений. Прежде чем считать перевод завершённым, нужно знать, какой критерий применяют сеть, кошелёк и получающая сторона.
Что означает детерминированная финальность
В протоколе с явной финализацией участники голосуют за блок или checkpoint по установленным правилам. Если получен нужный порог голосов, протокол меняет статус записи на finalized. При соблюдении предпосылок безопасности честные участники не должны затем финализировать конфликтующую историю. Чтобы изменить уже финализированный результат, атакующему обычно пришлось бы нарушить условия протокола, скоординировать существенную часть участников или добиваться общественного решения в чрезвычайной ситуации.
Слово «детерминированная» относится к механизму принятия решения: алгоритм указывает, финализирована запись или нет, когда выполнены заданные условия. Это не обещает математическую невозможность сбоя при любом поведении сети и любого программного обеспечения. Порог участников, подписи, исходный код клиента, сетевое взаимодействие и правила управления остаются важными предпосылками. Если валидаторы не достигают кворума, сеть может временно прекратить финализацию, сохраняя невозможность принятия противоречивой записи.
В Ethereum proof of stake, например, checkpoint получает статус justified, а затем finalized после голосования достаточной доли активного stake. Это часто называют crypto-economic finality, потому что попытка отката может повлечь уничтожение значительной доли залога. Таким образом, явный статус и экономическое обеспечение могут сочетаться в одной сети. Подробности о различии между блоком и окончательным состоянием приведены в материале о receipt транзакции и состоянии сети.
Что называют экономической финальностью
Экономическая финальность описывает цену нарушения истории. Если участники поставили залог, голосовали за несовместимые цепи или нарушили правила, протокол может конфисковать их обеспечение. Чем выше ожидаемая потеря и меньше возможная выгода, тем слабее экономический стимул атаковать. Но это оценка при заданной модели угроз, а не гарантия абсолютной невозможности изменения истории.
В Proof of Work похожую бытовую интуицию дают подтверждения: после появления следующих блоков конкурентной ветке нужно накопить больше работы, чтобы заменить уже наблюдаемую цепь. Вероятность отката уменьшается, но у блока обычно нет единого мгновения, после которого вероятность строго равна нулю. Участники сами выбирают необходимое число подтверждений в зависимости от суммы, риска двойной траты и стоимости задержки.
В Proof of Stake экономический залог тоже может поддерживать явную финализацию. Если протокол объявляет запись finalized при достижении кворума, это формальное состояние; стоимость нарушения правила задаёт дополнительный барьер. Поэтому нельзя просто записать «PoW – экономическая финальность, PoS – детерминированная». Реальные архитектуры могут сочетать несколько механизмов, а разные сети по-разному определяют финализацию.
Почему слова иногда путают
«Финальность» применяют к нескольким уровням. На уровне протокола речь о включении в согласованную историю. На уровне моста это может быть достаточное число подтверждений в исходной сети, после которого контракт разрешает выпуск или вывод представленного актива. В бирже внутренний статус «завершено» определяется её политикой. В традиционном расчёте правовой момент исполнения может регулироваться договором или законом. Эти понятия связаны, но не подменяют друг друга.
Есть также разница между подтверждением, необратимостью и доступностью. Транзакция может быть включена в блок, но блок ещё не финализирован. Финализированная запись может быть доступна для чтения, тогда как кошелёк не может связаться со своим RPC. Receipt может сообщать об успешном исполнении, но ничего не говорить о том, какой внутренний статус зачисления применяет биржа. Проверка TxID и разбор реорганизации доступны в статье о реорганизации блокчейна.
Как выбрать критерий для конкретной операции
Сначала выясните, какой блокчейн обрабатывает перевод и какие статусы он поддерживает. Для сети с вероятностной моделью спросите, сколько подтверждений ожидает получатель. Для сети с финализируемыми checkpoints проверьте, показывает ли обозреватель finalized и что именно этот статус означает в текущей версии протокола. Для моста изучите его собственные пороги и порядок завершения операции. Один и тот же исходный перевод может получить разные пороги в кошельке, бирже и протоколе моста.
Затем соотнесите ожидание с возможным ущербом. Небольшой перевод может быть принят сервисом до полной финальности как оптимизация UX, но это означает, что сервис принимает на себя риск отката. Для крупной операции обычно важнее дождаться более сильного статуса. Универсального числа подтверждений для всех сетей нет: интервалы блоков, скорость финализации и последствия конфликта различаются.
Не принимайте значок «успешно» за одинаковую гарантию везде. Проверьте TxID, сеть, адрес получателя, число подтверждений и, если доступно, состояние финализации. Для операций на уровне приложений полезно отдельно учитывать взаимодействие с контрактом и выдачу события. Материал о light client объясняет, как кошелёк может проверять часть данных цепи без полной копии блокчейна.
Компромисс между скоростью и уверенностью
Более сильный критерий завершения обычно увеличивает ожидание, но позволяет снизить вероятность того, что позже обнаружится конфликтующая история. Более быстрый статус улучшает пользовательский опыт и работу рынков, однако обслуживающая сторона принимает больше риска или должна иметь собственную схему защиты. Протокол может одновременно выпускать блоки быстро и финализировать их позднее; это не противоречие, а разделение включения и окончательного подтверждения.
Если сеть останавливает финализацию, это может быть защитным поведением, а не признаком потери истории. Разница между safety и liveness подробно разобрана в статье о свойствах safety и liveness. Для безопасного взаимодействия следите за тем, какое свойство и какой слой сети показывает конкретный сервис.
Итог
Экономическая финальность отвечает на вопрос, какие последствия и стоимость несёт откат. Детерминированная финальность описывает наличие явного решения по критериям консенсуса. В proof-of-stake обе идеи нередко используются одновременно, а в Proof of Work уверенность часто растёт постепенно с подтверждениями. При проверке криптоперевода уточняйте модель сети, статус блока и отдельные требования получателя, не полагаясь на одно слово «завершено».



