Провёл вечер, сравнивая документацию Dusk с тем, как её консенсус ведёт себя на деле, и деталь, которая запомнилась, — не слой приватности: меня поразило то, что Dusk @Dusk $DUSK #dusk делит генерацию блоков и ратификацию блоков на два отдельных комитета, а не на единый набор валидаторов, который делает обе задачи. Большинство цепочек трактуют консенсус как одну роль в двух «шляпах». Здесь генератор оптимизируется под пропускную способность, а ратификатор — под безопасность финализации, и эти две цели не обязательно автоматически совпадают. На что я не смог найти ясного ответа ни в документации, ни по активности в тестнете, — что происходит, когда два комитета действительно расходятся во мнениях: не когда валидатор уходит в офлайн, а когда между генерацией и ратификацией возникает реальный раскол суждений. Архитектура, похоже, предусматривает путь разрешения, раз цепочка не останавливалась в нормальных условиях, но «ещё не остановилась» и «корректно разрешает конфликтное расхождение во мнениях при наличии противника» — это разные утверждения. Почти никто из текущего использования не нагружает этот сценарий, потому что основная активность пока ещё лёгкая и кооперативная. Это выбор дизайна, который сейчас почти незаметен и становится понятным только тогда, когда кто-то проверяет его под давлением. Интересно, как это выглядит на практике.