Во время трассировки фазы Prepare я пропустил один блок на диаграмме последовательности, потому что хотел проверить, действительно ли от него что-то зависит.
Сначала ничего не выглядело сломанным.
Операторы по-прежнему имели цены оракула.
У них по-прежнему были данные о риске.
Оценка политики всё ещё казалась возможной.
Я ожидал, что следующий блок будет выполнением политики.
Этого не было.
Поток остановился на один шаг раньше.
Я снова проверил это.
Та же самая последовательность.
Я проверил это в третий раз.
Всё по-прежнему было в том же порядке.
Это был единственный раздел, который я в итоге подчеркнул.
Я ошибался.
Я относился к фазе Подготовки как к дополнительному шагу протокола.
Чем больше я следовал по последовательности, тем меньше работало это объяснение.

Я перестал спрашивать, почему протокол задерживает оценку политики.
Я начал спрашивать, что тихо сломается, если этого не произойдет.
Казалось, это гораздо лучший вопрос.
Если каждый оператор до оценки политики несет чуть разную версию реальности, детерминированное выполнение не обязательно приводит к одному детерминированному результату.
Именно тогда я перестал читать последовательность.
Я начал отлаживать это.
Я перечитал всё заново.
Независимый сбор.
Подготовка.
Канонический набор данных.
Оценка политики.
Подписи.
Кворум.
Ничто в том порядке больше не казалось случайным.
Я написал четыре слова рядом с диаграммой.
**Согласие прежде суждения.**
Этого не было в документации.
Для меня это был просто самый простой способ запомнить, что именно в последовательности продолжало меня беспокоить.
Я перестал думать о фазе Подготовки как о еще одном компоненте протокола.
Я начал думать об этом как о последней возможности убрать разногласия до того, как кого-либо попросят принять решение.
Это мое толкование после того, как я проследил архитектуру от начала до конца.
Это также изменило то, за чем я теперь наблюдаю.
Мне больше не интересно, может ли Ньютон исполнять политику.
Мне интересно, продолжает ли это разделение делать решения оператора понятными, когда обновления oracle становятся шумными, запаздывающими или несогласованными в реальных сетевых условиях.
Диаграммы архитектуры всегда чистые.
Производственные системы редко бывают.
Я пока не видел достаточно операционной истории, чтобы понять, остается ли эта граница по-прежнему очевидной, когда счастливый путь исчезает.
Это тот вопрос, который я уношу дальше.
$NEWT становится для меня интересным только тогда, когда эта граница между общей реальностью и общими решениями остается легкой для понимания еще долго после того, как производство перестает выглядеть как диаграмма.

