#dusk $DUSK @Dusk

Плавная финальность: как Сумерки подтверждают транзакции

Не каждому блоку нужно прыгать из «принят» в окончательно финальный статус в один момент. Сумерки используют более прогрессивный подход через скользящую (rolling) финальность.

Сначала блок может быть принят: это означает, что консенсус был достигнут, но конкурирующий блок с меньшим номером итерации всё ещё может его заменить. Если же все более ранние итерации уже доказаны как неудачные, блок становится засвидетельствованным (attested) и его нельзя заменить более низкой итерацией.

Затем наступает подтверждение. Каждый подходящий преемник добавляет больше доказательств того, что валидаторы (provisioners) продолжают строить на той же цепочке. Для принятого блока число требуемых преемников зависит от того, какие более ранние итерации ещё не разрешены. Чем больше неопределённости, тем больше подтверждений нужно.

Наконец, подтверждения «прокатываются» по цепочке: когда блок подтверждён и его родитель финален, он тоже может стать финальным.

Самое интересное, что финальность в Сумерках не рассматривается как простой таймер или фиксированное количество подтверждений. Она адаптируется к истории блока и к доказательствам, создаваемым более поздними раундами консенсуса.

Это формирует подвижный путь: возможность → принятие → более сильная уверенность → финальность.