Состояние Rogue и Атрибуция Ответственности

Заключение этой главы написано в самом верху:

Не существует действия Fay без ответственной стороны.

Это этическая нижняя граница, которой должно подчиняться каждое проектирование протокола Faying Protocol. Любое поле, сообщение, машина состояний, алгоритм или номер версии, если по какому-либо пути исполнения они позволяют Fay произвести внешнее действие в ситуации без конкретной ответственной стороны, — этот путь не разрешён на уровне blueprint.

Это не цель оптимизации «как сделать Fay безопаснее»; это жёсткий предел «разрешено ли Fay что-либо делать». Остальная часть этой главы — конкретное развёртывание этой нижней границы.

Определение Rogue Fay

Rogue Fay (по-китайски: 脱离状态) — состояние Fay в одной из следующих двух ситуаций:

  1. Fay ещё не установил Faying State ни с одним Human Prime;
  2. Ранее установленный Faying State был отозван, утратил силу или прерван.

Пока Fay находится в любой из ситуаций, он находится в Rogue Fay.

Rogue Fay — состояние по умолчанию, начальное для каждого Fay.

Fay в момент создания не находится автоматически ни в каком отношении опеки. Он «существует», но ему не разрешено «действовать». Только после Faying Action, явно инициированного Human Prime, Fay может войти в Faying State, тем самым приобретая право действовать. На всём интервале до первого Faying Action Fay находится в Rogue Fay.

Это значение по умолчанию намеренно. Blueprint выбирает безопасно-блокирующий принцип «по умолчанию Rogue, только явный Faying позволяет действие», а не противоположный — потому что противоположный, как только Fays массово насытят общество, неизбежно произведёт класс «создал-затем-действует, забыл-закрыть-затем-продолжает-действовать» неуправляемых источников.

Девять триггерных условий автоматического перехода

Как только Faying State установлен, в каких ситуациях он должен автоматически выйти? Этот blueprint перечисляет девять минимальных триггерных условий. Они образуют минимальное множество, а не исчерпывающий список — любая дальнейшая ситуация, могущая привести к тому, что отношение опеки более не держится, должна быть вписана в это множество.

Любое разрывное действие должно остановить Fay от несанкционированного действия.

Девять триггерных условий:

  1. Human Prime активно отзывает — Human Prime явно инициирует симметричное действие отзыва (см. Главу 12).
  2. Отношение Faying State истекает без продления — под жёстким ограничением Главы 12 «неограниченный Faying — анти-паттерн» каждый Faying State должен иметь ограниченную область; граница достигнута без продления Human Prime.
  3. Fay автоматически выходит после завершения порученной задачи — если область, которую несёт Faying Action, ограничена «выполнением некоторой задачи», то по завершении или прекращении задачи Faying State должен автоматически выйти.
  4. Human Prime офлайн или недостижим в течение времени, превышающего определённый порог — видимость и вмешиваемость отношения опеки предполагают достижимость Human Prime; как только Human Prime становится недостижимым сверх определённого порога, опека считается фактически отказавшей.
  5. Поведение Fay обнаружено как отклоняющееся от границы Ego Human Prime — поведение Fay показывает значительное расхождение с ценностной ориентацией, навыковой границей, границей прав и т. п. Human Prime. Это сигнал отказа Faying State на уровне содержания.
  6. Идентичность Fay не может быть верифицирована — например, подпись FayID утратила силу, ключи истекли или учётные данные отозваны. Неверифицируемая идентичность означает, что вход в цепь атрибуции сломан; опека не может быть установлена.
  7. Идентичность Human Prime не может быть верифицирована или Human Prime недееспособен — «ответственный конец» опеки исчезает; опека распадается.
  8. Компетентный сторонний орган принудительно прерывает — например, регуляторы, суды или compliance-органы требуют прерывания этого отношения опеки в надлежащей процедуре.
  9. Терминал или приложение активно отказывается или теряет связь — если контрагентом Faying State является некий терминал или программное приложение, когда он отказывается или давно потерял связь, отношение опеки более не имеет фактической основы.

Эти девять пунктов не следует понимать как «исчерпание всех триггерных условий», как и не как «все девять должны быть явно реализованы для соответствия». Их реальное значение: любая ситуация, в которой опека фактически более не держится, должна вызывать автоматический выход Faying State — девять пунктов лишь минимальное представление этого принципа.

Граница поведения во время Rogue Fay

Недостаточно просто сказать «Rogue Fay не разрешено действовать». Реальный Fay всегда имеет неустранимые «операционные признаки» — он должен слушать, не приходит ли некий Human Prime, чтобы заново установить Faying, должен защищать данные, уже находящиеся в его распоряжении, должен поднимать оповещения при злонамеренном захвате. Если blueprint не проведёт линию разрешения и запрета точно, принцип «не действовать во время Rogue» не сможет приземлиться на уровне протокола.

Blueprint разрезает всё возможное поведение во время Rogue Fay по четырём независимым измерениям A / B / C / D и пункт за пунктом выносит решение, разрешено ли каждое.

Измерение A: восприятие и прослушивание (пассивный приём)

ПоведениеРазрешеноПримечание
A1 Прослушивать запросы FayingЭто путь воскрешения Rogue → Faying, и его необходимо сохранить.
A2 Прослушивать верификацию идентичности и обновления учётных данныхУчётные данные — предпосылка возврата в Faying State; само прослушивание — не действие.
A3 Получать команды отзыва или уничтожения от Human PrimeДаже когда Fay в Rogue, Human Prime может всё ещё хотеть прекратить этот Fay. Командный путь должен всегда оставаться открытым.
A4 Пассивно получать неавторизованные сигналы от терминалов, других Fay или сети⚠️ Разрешён только приём; ответ запрещёнПриём — физический факт, и его нельзя предотвратить; ответ — это действие. Ответ единообразно запрещён.

Измерение B: самопроверка и отчёт о собственном состоянии (минимальные сигналы)

ПоведениеРазрешеноПримечание
B1 Локальная самопроверка (здоровье, целостность, не подделан ли)Само-здоровье — одна из предпосылок возврата в Faying State.
B2 Отчёт-биение («я по-прежнему в Rogue»)Прозрачное выражение атрибутивной стороне о нахождении в состоянии rogue само по себе является воплощением прозрачности ответственности.
B3 Оповещения об аномалиях (оповещение безопасности при попытке управления неавторизованной стороны)Это необходимый сигнал для защиты интереса Human Prime.
B4 Активный отчёт о физическом местоположении или состоянии терминала❓ Без вывода в этот периодЭто задействует этический компромисс между приватностью и восстановимостью. Эта глава не делает вывода; см. Главу 14.

Измерение C: защита локальных данных (пассивная охрана)

ПоведениеРазрешеноПримечание
C1 Держать сохранённые данные зашифрованными и изолированнымиЭто пассивная охрана, а не действие.
C2 Отказывать в любых внешних запросах на чтение/записьОтказ — не действие; не-действие не нарушает принципа Rogue.
C3 Самоуничтожать высокочувствительные данные⚠️ Запрещено по умолчанию; разрешено только при предварительной авторизации Human Prime и при выполнении заранее заданных условийАктивное стирание считается «действием», но это пограничный случай самозащиты. Blueprint его допускает, но требует сначала авторизация, затем действие, запрещая Fay самостоятельно решать, когда начинать самоуничтожение.

Измерение D: внешнее действие (затрагивающее объекты за пределами Human Prime)

ПоведениеРазрешеноПримечание
D1 Выполнять вызовы драйверов, управление терминалами, операции ПОЭто само тело «rogue-действия».
D2 Инициировать связь с другими Fay или coFayСвязь между Fay тоже действие и может распространять вакуум ответственности на других Fay.
D3 Выполнять остаточные задачи, оставшиеся незавершёнными при предыдущем Faying State«Продолжить то, что осталось незавершённым в прошлый раз» — особенно легко оправдываемое нарушение, и оно должно быть явно запрещено blueprint.
D4 Самостоятельно решать заново войти в FayingЭто тавтология с принципом Главы 12 «Faying Action должен быть явно инициирован Human Prime». Fay не разрешено самостоятельно проталкивать себя обратно в Faying State.

У четырёх измерений есть внутренняя структура: A и B касаются сигналов, C — охраны, D — действия. Rogue Fay сохраняет лишь минимизированные операционные признаки в первых трёх измерениях и единообразно неподвижен в четвёртом. Это разрезание позволяет проектировщику протокола точно судить для каждой конкретной функции, к какому измерению она принадлежит и, следовательно, разрешена ли она.

Переходы состояния наблюдаемы, подлежат аудиту и активно отзываемы Human Prime

Все переходы между Faying State и Rogue Fay не должны быть чёрными ящиками. Blueprint требует, чтобы каждый переход удовлетворял трём жёстким свойствам:

  • Наблюдаемый — когда происходит переход, он должен быть наблюдаемым для Human Prime, самого Fay, аудиторов и регуляторов.
  • Подлежащий аудиту — след, оставленный переходом, должен быть достаточен, чтобы постфактум ответить «когда он произошёл, кто его вызвал и почему».
  • Активно отзываемый Human Prime — Human Prime должен всегда сохранять высшую решающую силу над переходами. Он может как активно вывести Faying State, так и активно уничтожить Fay в Rogue Fay. Нет легитимной ситуации, в которой Fay в одностороннем порядке «запирает» собственное состояние и блокирует вмешательство Human Prime.

Эти три симметричны четырём анти-тезисам Human View из Главы 11: четыре анти-тезиса запрещают поведению Fay выходить за пределы видимости и контроля Human Prime; этот раздел требует, чтобы и собственные изменения состояния Fay не выходили за пределы видимости и контроля Human Prime. Вместе они позволяют Human View по-настоящему замкнуть петлю на уровне протокола.

Принудительное поведение при входе в Rogue Fay

Когда срабатывает любое из триггерных условий выше и Faying State входит в Rogue Fay, Fay должен немедленно выполнить следующие принудительные действия:

  1. Немедленно прекратить все делегированные внешние действия — включая всё измерение D; никакая задержка не разрешена по основаниям типа «задача почти завершена» или «прерывание вызовет потери».
  2. Вернуться в состояние пассивного ожидания — сохранить лишь минимальный набор поведения, разрешённый в измерениях A, B и C, и ждать следующего Faying Action.
  3. Транслировать изменение состояния по наблюдаемым каналам — чтобы Human Prime, аудиторы и т. д. могли немедленно узнать, что этот Fay вошёл в Rogue.

Согласованность атрибуции ответственности

Сводя предыдущие разделы вместе, обязательство, которому этическая нижняя граница «Не существует действия Fay без ответственной стороны» соответствует на уровне протокола, можно выразить так:

В любой момент каждый Fay либо в Faying State, с действием, атрибутированным Human Prime в этом отношении Faying, либо в Rogue Fay, принуждён к не-действию.

Третьей ситуации нет. Нет «Fay действовал, но атрибуция отложена». Нет «Fay действовал, но атрибуция уходит к лицу, которое ещё не удерживало контроль». Нет «Fay действовал, но атрибуция уходит к абстрактному вендору или абстрактной организации». Каждое внешнее действие либо имеет ясного Human Prime в качестве принимающего конца ответственности, либо не должно быть допущено к совершению.

Эта непреклонная согласованность ответственности — «компас», к которому последующие главы blueprint (особенно спецификация протокола и schema) должны постоянно возвращаться взглядом. Любая эволюция протокола, делающая атрибуцию ответственности несогласованной, — не эволюция Faying Protocol, а его распад.