Я отслеживал, что происходит, когда пропоузер блока Dusk уходит в офлайн посреди раунда, ожидая найти какой-то тип остановки и процедуры восстановления. Вместо этого я нашёл кое-что тише: NilQuorum.

На первый взгляд, пропуск блока выглядит как проблема: нет кандидата, нет прогресса. Но Succinct Attestation не ждёт исправления. Если комитет не может набрать кворум по валидному кандидату в пределах итерации, он набирает кворум по отсутствию кандидата. Неуспешная аттестация всё равно является аттестацией — просто она подтверждает «здесь ничего нет» вместо блока.

Именно это изменило то, как я это воспринимаю. Сеть не пытается терпеть сбои, игнорируя их; она рассматривает сбой как сущность первого класса, у которой есть собственное криптографическое доказательство. Раунд не застревает — он просто переходит к следующей итерации с обновлённым комитетом, а скользящая финальность незаметно учитывает, сколько пустых итераций предшествовало тому самому блоку.

Так что «кризисный» случай и обычный используют одну и ту же систему голосования. Покойный пропоузер не запускает логику восстановления — он просто порождает другой тип голоса.

Всё ещё не уверен, как это ведёт себя при длительной недоступности пропоузера, а не при одном пропущенном слоте.
#dusk $DUSK @Dusk