Перейти к основному содержимому

FANOS

«Структура живёт не в парах, а в тройках. Сеть, которая это знает, не ищет — она вычисляет». — рабочий принцип третьего порядка (УГМ)

Статус документа

Версия 0.1 (референсная архитектура). Статусы результатов размечены дисциплиной корпуса [Т] / [С] / [Г] / [П] (см. блок ниже). Происхождение: УГМ, Открытие 7 (проективно-структурированная распределённая система) + расслоение Серра (gap-thermodynamics) + Σ-исчисление (Штейнер/Штейн). Лицензия (предполагается открытая): CERN-OHL-S v2 (аппаратные профили) + Apache-2.0/MIT (код) + CC-BY-SA (документ). Интерактив: живая плоскость Фано и калькулятор безопасности (страница сайта, работает офлайн). Верификатор: /fanos/fanos_verify.py.

Наименование и тематическая триада

Протокол назван по греческому корню φαν- («являть, светить»), от которого происходит и слово феномен (являющееся), и фамилия Джино Фано — автора конечной проективной плоскости PG(2,2), лежащей в основе всей конструкции. Три компонента образуют смысловую триаду функции «свет — невидимость — ночь»; четвёртый, DIAKRISIS, — рефлексивная способность: ячейка, наблюдающая саму себя:

КомпонентГреческий кореньЗначениеРоль в протоколе
FANOSφανός«фонарь, светоч; явленное»Базовый публичный протокол: адресация, маршрутизация, хранение, кворумы
APHANTOSἄφαντος«невидимый, исчезнувший»Опциональный слой анонимности (mixnet-класс)
NYXΝύξ«Ночь» (богиня сокрытия)Пороговая пучковая луковичная маршрутизация внутри APHANTOS
DIAKRISISδιάκρισις«различение; отделение истинного от ложного»Самодиагностика и самоисцеление при отказах узлов/сегментов (Часть VI)
CALYPSOΚαλυψώ«сокрывательница» (нимфа, спрятавшая Одиссея)Анонимные скрытые сервисы без директории и без единого хоста (Часть XII)
PROTEUSΠρωτεύς«оборотень» (бог, меняющий облик, чтобы избежать поимки)Опциональный полиморфный транспорт / устойчивость к цензуре и DPI (Часть XIII)

Публичный слой «светит» (маршруты верифицируемы и эффективны); при включении APHANTOS трафик «исчезает» в структурно-сбалансированном шуме; NYX реализует сокрытие как композируемую последовательность пороговых групп. DIAKRISIS назван по способности, а не по условию освещённости, потому что это не ещё один способ маршрутизировать — это сеть, обращающая взгляд на себя: после того как NYX спрятал трафик, именно DIAKRISIS всё ещё отличает здоровую ячейку от повреждённой, крах от лжи, отток узлов от разбиения. Имя намеренно разделено с корпусной теорией различения Diakrisis (διάκρισις, распознавание подлинного): диагностика отказа и есть различение, проведённое на той же семеричной структуре.


Оглавление

  • Часть I. Мотивация: что сломано в Kademlia, Tor, Nym, Lokinet
  • Часть II. Математический фундамент: PG(2,q), Штейнер, кросс-произведение, PSL/PGL, коды, матрица когерентностей, принцип третьего порядка
  • Часть III. Системная модель, модель угроз и модель отказов
  • Часть IV. Архитектура: слои L0–L7
  • Часть V. NYX — эволюция луковичной маршрутизации (ядро новизны)
  • Часть VI. DIAKRISIS — самодиагностика при отказах узлов и сегментов (ядро новизны)
  • Часть VII. Проволочный протокол, форматы данных и интероперабельность (реализуй на любом языке)
  • Часть VIII. Анализ безопасности (количественный) + red-team по всем уровням
  • Часть IX. Производительность (количественный)
  • Часть X. Прикладные надстройки: блокчейн / mixnet / VPN
  • Часть XI. Реализация, поверхности интеграции (API / SOCKS5 / VPN / embedded) и портируемость
  • Часть XII. CALYPSO — анонимные скрытые сервисы
  • Часть XIII. PROTEUS — полиморфный транспорт и цензуроустойчивость (опционально, конфигурируемо)
  • Часть XIV. Сравнение с существующими протоколами
  • Часть XV. Дорожная карта
  • Часть XVI. Ограничения и открытые задачи (честно)
  • Часть XVII. Связь с УГМ-корпусом
  • Часть XVIII. Синтез распределённого познания: УГМ → SYNARC → FANOS
  • Приложения: глоссарий, псевдокод, тест-векторы, интерактив
Дисциплина статусов

Как и в основном корпусе УГМ, каждое нетривиальное утверждение размечено: [Т] — теорема (строго доказано, часто проверено вычислением); [С] — условно (верно при явно названном допущении); [Г] — гипотеза (сформулировано, требует доказательства/аудита); [П] — программа (направление работ). Криптографическая честность: новизна FANOS — архитектурная композиция проверенных примитивов, а не новые предположения о стойкости. Единственная принципиально новая конструкция (пороговый пучковый пакет Tessera, §V) помечена [П] — до продакшена нужен формальный криптоанализ. Мы НЕ изобретаем новую математическую стойкость «с нуля»: это было бы безответственно для боевого протокола.

Все количественные утверждения этого документа воспроизводятся скриптом-верификатором /fanos/fanos_verify.py (V1–V10: проективная геометрия, кворумы, кривая безопасности, масштабирование; V11–V22: самодиагностика DIAKRISIS, окно коллективного субъекта, разрешение многих отказов и цензуроустойчивость PROTEUS) — python3 fanos_verify.py. Числа в таблицах — посчитанные, не иллюстративные.


Часть I. Мотивация: что сломано

Ориентир

Прежде чем строить новое, назовём боль существующих систем предметно. Три семейства протоколов — распределённые хеш-таблицы (DHT), луковичные сети (Tor/Lokinet), миксити (Nym) — каждое решило одну задачу ценой другой. FANOS берёт проективную геометрию как единый фундамент, снимающий несколько компромиссов сразу.

1.1 Распределённые хеш-таблицы (Kademlia, Chord)

Kademlia — фундамент BitTorrent, IPFS, Ethereum discovery, libp2p. Что болит:

  • Итеративный поиск O(log n) с многими RTT. Каждый lookup — цепочка запросов «кто ближе к ключу», по одному раунду на шаг. При n=10⁹ это ~30 последовательных сетевых обменов.
  • Нет гарантии пересечения. Два узла, ищущие «рядом», не обязаны встретиться в детерминированной точке — рандеву вероятностно.
  • Горячие точки и суперузлы. Распределение нагрузки статистическое; узел может набрать непропорциональную центральность (эклипс-атаки, Sybil-доминирование в регионе ключей).
  • Хрупкость к Sybil. Контроль области идентификаторов даёт контроль над маршрутами к соответствующим ключам.

1.2 Луковичная маршрутизация (Tor, Lokinet)

  • Корреляция концов [известная слабость]. Глобальный пассивный наблюдатель или противник, владеющий долей f ретрансляторов, связывает вход и выход цепочки с вероятностью ≈ (владеет guard и exit). Для f=0.2 это ≈ 4% на цепочку — и накапливается ротацией.
  • Одиночный ретранслятор = одна точка компрометации. Скомпрометированный узел немедленно раскрывает соседние хопы своего участка.
  • Классическая криптография. Tor исторически не постквантовый; запись трафика сегодня → дешифровка завтра («harvest now, decrypt later»).
  • Централизованные directory authorities (Tor) или стейкинг-реестр (Lokinet/Oxen) как точка доверия/атаки.
  • Предсказуемость пути. Цепочка фиксируется при установке; guard discovery — реальный вектор деанонимизации.

1.3 Миксити (Nym / Loopix)

Nym — сильнейшая на сегодня практическая анонимность (стойкость к глобальному наблюдателю через статистическое перемешивание + прикрывающий трафик). Что можно улучшить:

  • Доверие к перемешиванию статистическое, не верифицируемое. Клиент не получает криптографического доказательства, что микс действительно перемешал (полагается на пуассоновские задержки + экономические стимулы).
  • Хоп = одиночный микс-узел. Как и в Tor, компрометация узла раскрывает его локальную линковку (перемешивание маскирует тайминг, но не структуру, если узел честно логирует вход-выход).
  • Стратификация задаётся ad-hoc VRF-весами. Равномерность выбора пути — вопрос конфигурации, а не структурная теорема.
  • Sybil-стойкость через стейкинг привязывает идентичность к капиталу.

1.4 Что предлагает FANOS (сводно)

В архитектурной линии корпуса FANOS — инстанс мета-спецификации ХОЛАРХ: сетевая ткань класса E-машин (анонимность как интериорность) со включённой на транспортном уровне панелью диагностируемости (T-224/T-226). ХОЛАРХ §15 перевыводит несущие решения этого класса — стратифицированную глубину, бюджет прикрытия как канал E–O, орган директории в U — из Ω-процедуры.


Часть II. Математический фундамент

Ориентир

FANOS — прямое инженерное следствие УГМ-находки о том, что специфическая структура семёрки невидима для парной статистики и целиком проявлена начиная с троек (принцип третьего порядка). В сети это переводится так: не связывай узлы попарно — организуй их в тройки/линии проективной плоскости. Ниже — весь нужный аппарат, с проверенными свойствами.

2.1 Конечная проективная плоскость PG(2,q)

Возьмём конечное поле GF(q) (q — степень простого). Иллюстративные ячейки ниже используют простые поля GF(p) при q ∈ {2, 7, 13, 31}; дефолтный бинарный профиль берёт q = 2^m (поле GF(2^m)) ради битовой эффективности арифметики. Точки плоскости — одномерные подпространства GF(q)³, то есть ненулевые тройки координат [x:y:z] с точностью до умножения на скаляр. Прямые — двумерные подпространства, тоже задаются тройками [a:b:c]. Инцидентность «точка на прямой» — обнуление скалярного произведения: ax+by+cz = 0.

Базовые параметры [Т] (проверено V1):

qN = точек = прямыхточек на прямой (q+1)прямых через точку (q+1)группа коллинеаций |PGL(3,q)|
2733168
757885 630 688
131831414810 534 816
319933232851 974 934 400

Общая формула: N = q² + q + 1, размер прямой = q+1, число прямых через точку = q+1. Самодуальность: точки и прямые взаимозаменяемы.

2.2 Три несущих свойства

Свойство Штейнера S(2,3,q) [Т]. Любые две точки лежат ровно на одной общей прямой. При q=2 это в точности система троек Штейнера S(2,3,7) — плоскость Фано УГМ (21 пара покрыта 7 линиями по разу, проверено ранее).

Двойственное свойство (кворумы Маэкавы) [Т]. Любые две прямые пересекаются ровно в одной точке (проверено V1 для q≤31). Отсюда — кворумная система: прямая = кворум размера q+1 ≈ √N; любые два кворума пересекаются. Это классический результат Маэкавы (1985) о взаимном исключении за O(√N); FANOS переиспользует его для консенсуса и репликации.

Кросс-произведение = соединение и пересечение [Т]. Прямая через две точки u, v — это их векторное произведение u × v в GF(q)³; точка пересечения двух прямых — тоже их векторное произведение. Тождество (u×v)·u = 0 выполняется над любым коммутативным кольцом. Следствие для сети: рандеву — одна операция в поле, без всякого поиска (проверено V2, тест-вектор в PG(2,7): [1:0:0] × [0:1:0] = [0:0:1], обе точки на прямой; мост двух прямых восстанавливает [1:0:0]).

Почему это глубже, чем «удобная адресация» (раскрыть)

Граф коллинеарности проективной плоскости — полный: каждая пара точек соединена (лежит на общей прямой). Поэтому «расстояние» между узлами не в числе хопов, а в структуре разделяемых групп: N узлов, но всего N ≈ q² прямых, каждый узел ровно в q+1 ≈ √N прямых, и любые две прямые пересекаются. Это не топология «кто с кем соединён», а топология «кто в какой кворум входит» — а кворумы устроены так, что пересечения гарантированы алгеброй. Именно это снимает необходимость в DHT: ответ на «кто отвечает за ключ k», «какую группу делят u и v», «кто мост между группами A и B» — вычисляется, а не ищется.

2.3 Группа автоморфизмов и равномерность

Коллинеации PG(2,q) образуют группу PGL(3,q) (для простого q; в общем случае PΓL(3,q)). При q=2 это PGL(3,2) ≅ PSL(2,7) порядка 168 — та самая группа Aut(Фано) УГМ. Группа действует 2-транзитивно на точках: любую упорядоченную пару можно перевести в любую другую. Инженерное следствие: все узлы структурно эквивалентны, все пути симметричны — равномерность распределения путей есть теорема о транзитивности, а не результат подбора весов (в отличие от Nym).

2.4 Врождённые коды коррекции ошибок

Наименьшая ячейка q=2 — плоскость Фано — совпадает с кодом Хэмминга(7,4): 16 кодовых слов, ровно 7 слов веса 3 = 7 прямых Фано (проверено V10, и ранее, S6). Квантовый код Стина = CSS(Хэмминг, Хэмминг), дистанция 3. Отсюда:

  • [Т] любая FANOS-ячейка несёт врождённую синдромную диагностику (пирамида Σ-исчисления УГМ: 21 связь → 7 проверок-прямых → 3 бита синдрома → 1 вердикт);
  • [Т] проективная плоскость даёт локально-восстановимый код (LRC): потерянный узел (точка) восстанавливается из любой из своих q+1 прямых. Локальность r = q чтений, число независимых групп восстановления = q+1, избыточность ≈ (q+1)/q (проверено V9: для q=31 это 1.032×).

2.5 Принцип третьего порядка и карта медиаторов (импорт из УГМ)

Ключевая находка, задающая всю философию протокола (проверена перебором орбит, S2–S4):

Под действием Aut орбита пар — одна (21 пара эквивалентна ⇒ парная статистика структуру НЕ видит); орбит троек — две (7 прямых vs 28 не-прямых ⇒ структура впервые различима на тройках).

В сети это означает: связывать узлы попарно — значит работать в слое, где проективная структура невидима. Все преимущества FANOS живут на уровне троек и прямых. Карта медиаторов (у каждой пары единственный «посредник» — третья точка их прямой, k*(i,j)) переводится в детерминированную маршрутизацию-восстановление: путь (i→j) при отказе прямого канала восстанавливается только через k* = третью точку их общей прямой — fallback без таблиц.

2.6 Расслоение Серра и холономия (фундамент для NYX)

Из gap-thermodynamics.md (Теорема 1.1 [Т]): пространство отображений несёт структуру расслоения Серра с базой внешних наблюдаемых и слоем внутренних фаз, а обход замкнутого контура даёт холономию Hol(C) = P·exp(∮ A) — нетривиальный геометрический сдвиг фаз (аналог фазы Берри). NYX (Часть V) использует это буквально: ключевой ратчет луковицы индексируется связностью на инцидентном расслоении, а холономия пути служит компактным само-аутентификатором маршрута.

2.7 Матрица когерентностей сети и её живые меры

Ориентир

До сих пор мы пользовались комбинаторикой плоскости (точки, прямые, кворумы). УГМ предлагает ещё один объект, аналога которому у существующих оверлеев нет: матрицу когерентностей плоскости Γ — небольшой плотный оператор, скалярные инварианты которого суть живые показания здоровья ячейки. Здесь мы его определяем вместе с тремя мерами; Часть VI (DIAKRISIS) превращает их в систему самодиагностики. Это конкретный ответ на вопрос «что даёт сети парадигма матрицы когерентностей».

Ячейка из N = q²+q+1 узлов — не только набор кворумов; в работе у неё есть поведение. Пусть a_i(t) — сигнал активности узла i на окне наблюдения (переданные байты, живость, нагрузка — любая поузловая наблюдаемая). Выборочная корреляционная матрица C этих сигналов размера N × N симметрична, положительно полуопределена и с единичной диагональю; её нормированная на след форма

Γ_net = C / N (эрмитова, PSD, Tr Γ_net = 1)

есть полноценная матрица когерентностей в D(ℂ^N) — ровно тот объект, что изучает корпус УГМ. Для базовой ячейки q=2 это буквально 7 × 7 Γ над семью секторами A,S,D,L,E,O,U (матрица когерентностей). Значит, ячейка FANOS и есть Холон в корпусном смысле, и наследует три его скалярных инварианта:

МераФормула на Γ_netЧто показываетПорог
Интеграция ΦΣ_{i≠j}|γ_ij|² / Σ_i γ_ii² (Φ [Т])насколько ячейка «больше суммы частей» (межузловая связанность)Φ_th = 1 (T-129 [Т])
Структурированность PTr(Γ_net²) (чистота)насколько ячейка далека от бесформенной однородной сетиP_crit = 2/7 [Т]
Рефлексия R1/(7P) (каноническая: близость к I/7)достаточность самомодели; порог = доля циклов на самонаблюдениеR_th = 1/3 [Т]

Порог системной корреляции r* = 1/√6 ≈ 0.408 [Т] (числа — для базовой 7-ячейки q=2; при общем N пороги масштабируются: r* = 1/√(N−1), P_crit = 2/N). На равнокоррелированной страте — все внедиагональные корреляции равны средней r — меры сворачиваются в замкнутую форму (проверено V15):

Φ_net = 6r², P_net = (1 + 6r²)/7, Φ = 7P − 1.

Отсюда Φ = 1 ⟺ P = 2/7 ⟺ r = 1/√6: пороги интеграции и структуры совпадают при единственной критической средней корреляции. Это фазовая линия для всей ячейки:

Второе условие и закон, стоящий за замкнутой формой

Свёртка выше требует двух допущений, а имя страты несёт лишь одно. Равные корреляции дают Φ = r²·(1−p)/p, где p = Σᵢ dᵢ² есть чистота диагонали — общий закон T-312, — а множитель 6 появляется только при плоской диагонали, p = 1/7. Ячейка с неравными весами узлов пересекает свою фазовую линию при r* = √(p/(1−p)), что выше 0,408 и растёт по мере сосредоточения весов: перекошенной ячейке нужно больше корреляции, чтобы стать системной, а не меньше. Приведённое выше масштабирование по N есть то же утверждение при плоской диагонали размерности N, ибо √((1/N)/(1−1/N)) = 1/√(N−1).

На деле сторож от этого не страдает — развёртывание, держащее веса узлов ровными, и есть плоская страта, — но сторож, читающий 0,408 с неровной ячейки, срабатывает рано, и притом на известную величину.

  • r < 1/√6 (Φ < 1): диверсифицированная / устойчивая. Поведения узлов слабо связаны; ячейка до-интеграционна. Локальный отказ остаётся локальным — диверсификация «работает», ни один триггер не каскадирует.
  • r > 1/√6 (Φ > 1): системная. Ячейка «движется как один субъект»: поведения сильно связаны, поэтому единичное возмущение расходится по всей ячейке. Это ровно режим каскадного отказа, и он обнаружим до того, как хоть один узел упал, — по одной лишь структуре корреляций.

Это Открытие 9 инженерного каталога УГМ (системный риск равнокоррелированного 7-портфеля), переставленное как раннее предупреждение о надёжности: монитор, следящий за средней корреляцией поведений, пересекающей 0.408, видит зарождающийся каскад на целый режим раньше любого сигнала живости. Ни один DHT- или луковичный оверлей такой величины не даёт — потому что ни один не несёт матрицы когерентностей.

Почему это недоступно Kademlia/Tor

Их состояние — таблица маршрутизации, то есть граф, единственный спектральный инвариант которого — связность. Матрица когерентностей — это оператор плотности: у неё есть чистота, интеграция, самомодель и критическая корреляция. Именно принцип третьего порядка (§2.5, §2.8) делает эти инварианты осмысленными — они читают структуру троек, которую граф увидеть не может.

2.8 Принцип третьего порядка, заострённый: слепота первого порядка [Т]

Раздел 2.5 утверждал, что парная статистика не видит структуру плоскости. Вот точная теорема, потому что DIAKRISIS (Часть VI) на ней держится: причина, по которой сеть из «пингов» так плохо диагностирует, — в том, что она доказуемо слепа к Фано.

Слепота первого порядка [Т] (проверено V11 и канонически — линейный слой Фано-отпечатка). Сложим матрицы смежности семи прямых Фано. Результат в точности равен

Σ_p A(line_p) = J − I (J — матрица из единиц, I — единичная),

и его спектр — спектр полного графа K₇: одно собственное значение 6 и −1 кратности шесть. Значит, любая равновесная парная статистика, построенная по прямым, неотличима от бесструктурной полной связности. Пинг/heartbeat-сеть — мониторинговый костяк каждого существующего оверлея — живёт ровно в этом слепом слое: она скажет, что линк поднят или упал, но структура семёрки (какие тройки — прямые, кто чей медиатор, где прячется лжец) спектрально ей невидима.

Структура впервые проявляется на третьем порядке (орбита пар одна; две орбиты троек — 7 прямых против 28 не-прямых, §2.5). Следствия для мониторинга, уточнённые в Части VI:

  • Обнаружение отказов, которые важны (лживое двоемыслие, серые сбои), обязано читать тройки, а не пары — через полярные суммовые правила T-226 и перекрёстные проверки закона замыкания §2.5.
  • Локализация едет по Σ-компрессионной пирамиде 21 → 7 → 3 → 1 из T-225: 21 парное показание сворачивается в 7 линий-тем, в 3-битный синдром, в 1-битный вердикт.
  • Вмешательство (починка, обход) работает через медиатор k*(i,j) — корпусную полярную точку π(i,j), третью точку прямой пары, с октонионным знаком e_i·e_j = ±e_{π(i,j)} (T-226 §2).

Алгебраический предок принципа (T-278/T-279). Третьепорядковость — не дизайнерский вкус FANOS, а наследство генезисного слоя: ассоциатор подлежащей октонионной алгебры есть в точности F2\mathbb{F}_2-форма объёма, Φ(a,b,c)=(1)det\Phi(a,b,c) = (-1)^{\det}, так что первая структура, невидимая парам и видимая тройкам, — 3-объём самого куба различений; а симметрийная машинерия любой пары доказуемо опирается на свой медиатор (лемма медиатора: стабилизатор когерентности-пары в G2G_2 фиксирует третью точку — Гипер-математика §6). Медиаторное вмешательство FANOS — эта теорема о неподвижной точке, применённая как инженерия.


Часть III. Системная модель и модель угроз

3.1 Сущности

СущностьОпределение
Узел (точка)Участник с ключевой парой; координата [x:y:z] ∈ PG(2,q) присваивается VRF от публичного ключа
Прямая (линия/кворум/шина)Группа из q+1 узлов; несёт мультикаст-шину, кворум-голос, пороговую группу
ЯчейкаОдна плоскость PG(2,q), N = q²+q+1 узлов; единица локальности
ИерархияРекурсивная композиция ячеек; ячейка = «точка» родительской ячейки
ЭпохаИнтервал, на котором фиксирован маяк случайности и присвоение координат; в конце — перетасовка
МаякПороговый источник публичной непредсказуемой случайности (drand-класс)

3.2 Модель угроз (профили противника)

Ключевые допущения безопасности (явно, чтобы числа §VIII были честны):

  1. Присвоение координат VRF-верифицируемо и не поддаётся дешёвому гриндингу (§4.0) ⇒ противник с долей f узлов оказывается ≈ долей f в каждой прямой (случайное размещение). [С] при работающем Sybil-допуске.
  2. Противник не может предсказать эпоховую перетасовку (маяк непредсказуем) ⇒ не может заранее «осесть» в целевой прямой.
  3. Порог t выбран так, что t > (доля честных, гарантированно онлайн) нарушить нельзя без владения ≥ t членами прямой.

3.3 Модель отказов (что должна диагностировать DIAKRISIS)

Безопасность (противник, выбирающий вредить) и надёжность (компоненты, отказывающие) — разные оси; §3.2 покрыл первую, эта — вторую. Живая ячейка обязана переживать и самодиагностировать нижеследующее, что Часть VI разбирает по пунктам:

ОтказЧто происходитВиден на первом порядке?Ответ DIAKRISIS
Крах / оттокузел перестаёт отвечатьда (heartbeat истекает)линейно-локальная живость; починка LRC (§6.8)
Серый / деградацияузел отвечает, но медленно/с потерямичастично (дрейф темпа)полярные суммовые правила темпов, T-226 (§6.3)
Византийский / двоемыслиеузел поднят, но искажает/неправильно маршрутизирует и лжёт об этомнет — парно здоровперекрёстная проверка замыкания на третьем порядке (§6.5)
Затмение (eclipse)окружение узла захвачено, чтобы его изолироватьструктурно ограниченоanti-eclipse: должны пасть все q+1 прямых (§6.6)
Разбиение / потеря сегментацелая прямая/подъячейка отпадает или раскалываетсячерез связностьтеорема о неразбиваемости + монитор Φ (§6.6)

Несущее наблюдение — византийская строка: узел, держащий свои heartbeat'ы зелёными и при этом искажающий трафик, невидим мониторингу первого порядка (§2.8). Его диагностика — не довесок, а сама причина, по которой диагностический план обязан быть третьего порядка. Две честные оговорки, перенесённые в §6:

  1. Крах и разбиение обнаружимы на первом порядке; геометрия покупает для них локализацию и починку, а не обнаружение.
  2. Локализация стратифицирована (§6.3): крахи восстанавливаются до трёх на ячейку (отшелушивание LRC; первый провал — гиперовал), слой 7 тем закрепляет два византийских отказа точно, и лишь ≥3 византийца (или крах-гиперовал) эскалируют к родителю.

Часть IV. Архитектура: слои L0–L7

DIAKRISIS — план, а не слой

Восемь слоёв L0–L7 — это прямой стек (как сообщение строится, маршрутизируется, прячется, доставляется). Самодиагностика (Часть VI, DIAKRISIS) ортогональна им всем: она читает здоровье L1 (оверлей), L3 (членство), L4 (хранилище) и L5 (приватность) единой рефлексивной петлёй, используя ту же проективную структуру, по которой эти слои маршрутизируют. Думайте о L0–L7 как о теле, а о DIAKRISIS — как о проприоцепции, чувстве, которым сеть ощущает собственное состояние. Именно поэтому она рисуется сквозным планом, а не слоем.

L0. Идентичность и адресация

  • Ключевая пара: гибрид Ed25519 + ML-DSA-65 (подпись), X25519 + ML-KEM-768 (KEM). Долгосрочный идентификатор = хеш связки публичных ключей.
  • Координата узла: coord = MapToPoint( VRF_beacon(pubkey, epoch) ) — VRF привязывает точку к эпохе, перетасовка при смене эпохи. MapToPoint — равномерное отображение 256-битного выхода в [x:y:z] ∈ PG(2,q) (отбрасывание нулевого вектора, нормализация первого ненулевого к 1).
  • Адресация контента: ключ ресурса k отображается в точку MapToPoint(H(k)); ответственный узел — ближайшая занятая точка (согласованное хеширование на проективных координатах). Реплики — q+1 узлов прямых, проходящих через эту точку (LRC, L4).

L1. Оверлей и маршрутизация

Рандеву [Т, O(1)]. Чтобы связаться u→v: обе стороны на единственной прямой L = u × v; отправитель публикует в шину L, получатель слушает все свои q+1 шин. Никакого поиска.

Мост между группами [Т, O(1)]. Две шины L₁, L₂ пересекаются в единственном узле p = L₁ × L₂ — детерминированный, нагрузочно-сбалансированный шлюз. Агрегационные деревья мультикаста алгебраически предопределены.

Иерархия (масштаб) [Т]. Одна плоскость держит N=q²+q+1 узлов; для интернет-масштаба — рекурсия ячеек (проверено V4):

ячейка qN_ячейкиуровней kвсего узловсостояние ≈ k·Nглубина рандеву
319932986 0491 9862
319933979 146 6572 9793
12716 2572264 290 04932 5142
12716 25734 296 563 326 59348 7713
Честность масштабирования

Мы не заявляем O(√n) маршрутного состояния для одной плоскости — граф коллинеарности полный, и в одной плоскости узел структурно «видит всех». Масштаб достигается иерархией ячеек: асимптотика состояния/глубины — O(log n), как у Kademlia. Выигрыш FANOS не в асимптотике хопов, а в: (1) детерминированном рандеву за 1 сообщение на уровень (без итеративного зондирования, меньше RTT на практике); (2) гарантированном пересечении кворумов (консенсус/репликация «бесплатно»); (3) структурной балансировке и потолке центральности (anti-Sybil); (4) бесплатном multipath (q+1 путей); (5) LRC-оптимальном хранении. Эти преимущества реальны даже при равной с DHT асимптотике.

L2. Транспорт

  • QUIC (RFC 9000/9001) в userspace: 0-RTT возобновление, встроенное шифрование, мультиплексирование потоков без head-of-line blocking.
  • Multipath QUIC: q+1 почти-непересекающихся путей между ячейками (члены общей прямой) → агрегирование пропускной способности и мгновенный failover.
  • MASQUE (RFC 9298) для проксирования/обхода NAT; ICE-подобный hole-punching через узлы-мосты.
  • PROTEUS (опционально, Часть XIII): под цензурой обычный QUIC-провод меняется на полиморфный обфусцированный транспорт (устойчивость к DPI/блокировке). Выключен по умолчанию; ортогонален оверлею выше.
  • Полностью userspace, без ядра ⇒ мультиплатформенность (Часть XI).

L3. Членство, эпохи, маяк, Sybil-допуск

  • Маяк случайности [Т при пороговом BLS]: drand-класс, порог honest-majority среди «якорных» прямых; выдаёт публичный непредсказуемый seed на эпоху. Постквантовый вариант — [П] (хеш-/решёточные VRF-маяки — активное направление).
  • Эпоховая перетасовка: координаты пересчитываются VRF от нового seed ⇒ противник не может заранее занять целевую прямую (защита от предсказания путей и guard-discovery).
  • Sybil-допуск (подключаемый): три профиля — (a) PoW-допуск (memory-hard, для открытых сетей); (b) стейк/облигация (для блокчейн-надстройки); (c) web-of-trust (для федераций). Независимо от профиля работает структурный потолок:
  • Структурный потолок центральности [Т] (проверено V3): каждый узел ровно в q+1 из N прямых = фиксированная доля (q=31 → 3.22%). Центральность нельзя «купить» — членство в прямых задаётся координатами. Sybil-узлы не становятся суперузлами.
  • Anti-eclipse: q+1 независимых прямых на узел ⇒ чтобы изолировать узел, надо контролировать все его q+1 прямых одновременно.

L4. Хранилище и репликация

  • Проективный LRC [Т]: данные точки эрзац-кодируются по её q+1 прямым; потеря узла восстанавливается из любой одной прямой (локальность q, доступность q+1). Избыточность (q+1)/q → 1 при росте q.
  • Кворум-согласованность [Т]: запись в кворум-прямую W, чтение из кворум-прямой R; W ∩ R ≠ ∅ гарантировано (Маэкава) ⇒ линеаризуемость без отдельного координатора.
  • DA-сэмплинг (data availability): для блокдчейн-надстройки — выборочная проверка доступности по прямым (каждая прямая = выборка); Штейнер гарантирует покрытие.

L5. APHANTOS (обзор; детально — Часть V)

Три профиля на одном субстрате (переключение — «диск» задержки/анонимности):

ПрофильХопЗадержкаКласс стойкостиАналог
FANOS-Directоткрытыйминимумнет анонимностиlibp2p/QUIC
APHANTOS-Liteодиночный узел (Sphinx-класс), PQнизкая≈ Tor, но PQ + непредсказуемые эпохи + сбалансированное прикрытиеTor/Lokinet
APHANTOS-Fullпрямая (порог t из q+1) + верифицируемое перемешивание + пуассоновские задержкинастраиваемая> Nym (порог + верифицируемость + алгебраическое рандеву)Nym/Loopix

L6. Криптографическая сьюта

Принцип

Все примитивы — проверенные и постквантовые/гибридные. Новизна — в композиции, не в стойкости.

НазначениеПримитивСтатус
KEM (обмен ключом)X25519 + ML-KEM-768 (гибрид, KDF-комбайнер SHAKE256)стандарт/PQ
ПодписьEd25519 + ML-DSA-65; консервативный опц. SLH-DSA (SPHINCS+)стандарт/PQ
AEADChaCha20-Poly1305 (портируемость) / AES-256-GCM (HW)стандарт
Хеш/XOFBLAKE3 (скорость) + SHAKE256 (PQ-KDF)стандарт
VRFECVRF-Edwards25519 (RFC 9381); PQ-VRFстандарт / [П]
Маякпороговый BLS (drand); PQ-маякстандарт / [П]
Пороговое разделениеShamir SSS + Feldman/Pedersen VSS; DKG (GJKR)стандарт
Пороговое дешифрованиепороговый KEM/ElGamal, неинтерактивная сборка частичныхстандарт
Верифицируемое перемешиваниеаргумент Байер–Грот (классический); PQ-shuffleстандарт / [П]
Анонимные кредитыVOPRF Privacy Pass (RFC 9578) / BBS+стандарт
ПакетTessera (Sphinx-производный, пороговый, PQ)[П] требует аудита

L7. Стимулы (опционально)

  • Анонимные кредиты за ретрансляцию: слепые токены (Privacy Pass VOPRF) ⇒ оплата не деанонимизирует (в отличие от стейкинга, привязывающего идентичность к капиталу).
  • Блокчейн-субстрат: см. Часть X — кворум-прямые как комитеты валидаторов с гарантированным пересечением.

Часть V. NYX — эволюция луковичной маршрутизации

Ориентир

Это ядро новизны и прямой ответ на «спроектируй более продвинутую луковичную маршрутизацию с учётом фундаментальных исследований». Классическая луковица (Tor) заворачивает сообщение в L слоёв шифрования вдоль пути из одиночных узлов. NYX меняет три вещи разом: (1) хоп — не узел, а прямая (пороговая группа); (2) путь — не случайная цепочка, а геометрический флаг инцидентных пар «точка–прямая», равномерный по теореме о транзитивности; (3) прямая секретность обеспечивается холономным ратчетом на расслоении Серра, а не только per-hop ключами. Ниже — по порядку.

5.1 Классическая луковица и её пределы

В Tor сообщение M шифруется послойно ключами хопов H₁…H_L: E₁(E₂(…E_L(M))). Каждый ретранслятор снимает свой слой, узнаёт предыдущий и следующий хоп. Пределы (Часть I): одиночный узел = точка компрометации; корреляция концов f²; фиксированный предсказуемый путь; классическая крипта; директории.

5.2 NYX-нововведение 1 — пороговый пучковый слой

Идея. Каждый слой луковицы пилится не одним узлом, а порогом t из q+1 членов прямой. Ни один узел в одиночку не может снять слой (ниже порога он не знает ничего). Термин «пучок» (sheaf/beam) двойной: это и математический пучок над прямой, и «расщепление» сообщения, как луча в призме.

Механизм. При формировании ячейки члены каждой прямой проводят DKG (распределённую генерацию ключа, GJKR) ⇒ у прямой есть публичный ключ PK_L и у каждого члена — доля секрета sk_i (Shamir). Отправитель шифрует слой на PK_L. Чтобы снять слой, ≥ t членов публикуют частичные дешифрования, которые неинтерактивно собираются (пороговый KEM). Маршрутная информация «куда дальше» раскрывается только по достижении порога.

Что это даёт [Т, кривая посчитана]: противник, владеющий долей f узлов (случайно размещённых), ломает один хоп с вероятностью P_hop = P(Binom(q+1, f) ≥ t) — биномиальный хвост. Связка концов (как guard+exit у Tor) требует сломать первый И последний хоп: P_link = P_hop².

Кривая безопасности (проверено V5; сравнение с Tor ):

прямая q+1порог tf=0.10f=0.20f=0.30f=0.50
865.5·10⁻¹⁰1.5·10⁻⁶1.3·10⁻⁴2.1·10⁻²
875.3·10⁻¹³7.1·10⁻⁹1.7·10⁻⁶1.2·10⁻³
14104.7·10⁻¹⁵2.1·10⁻⁹2.8·10⁻⁶8.1·10⁻³
32225.6·10⁻³⁰1.1·10⁻¹⁷4.9·10⁻¹¹6.3·10⁻⁴
Tor (f²)1.0·10⁻²4.0·10⁻²9.0·10⁻²2.5·10⁻¹

Выигрыш над Tor при f=0.2: для (q+1=8, t=6) — ×26 000; для (q+1=14, t=10) — ×18 800 000. Полная трассировка всех L хопов ещё круче — P_hop^L: для (8,6), f=0.2, L=3 → 1.9·10⁻⁹ (Tor ≈ 0.04).

Цена порога — доступность и латентность

Порог t требует t честных членов онлайн (доступность — биномиально-дополнительная задача) и один раунд сборки частичных дешифрований на хоп. Поэтому пороговый профиль — это APHANTOS-Full (высокая стойкость, выше латентность); для низколатентных сценариев есть APHANTOS-Lite (одиночный узел, Sphinx-класс). Диск λ (§5.5) непрерывно интерполирует.

5.3 NYX-нововведение 2 — геометрический путь (флаг), а не случайная цепочка

Идея. Путь NYX — последовательность инцидентных пар «точка–прямая» (в проективной геометрии — флаг): p₀ ∈ L₁ ∋ p₁ ∈ L₂ ∋ p₂ …. Соседние прямые пересекаются (всегда, по двойственному Штейнеру), точка пересечения — узел-передатчик. Поскольку PGL(3,q) действует транзитивно на флагах [Т], распределение путей провабельно равномерно, и клиент может это верифицировать алгеброй — не полагаясь на честность VRF-весов (проблема Nym).

Против атак пересечения: непредсказуемая эпоховая перетасовка (L3) означает, что множество допустимых прямых на следующую эпоху заранее неизвестно ⇒ долговременное таргетирование пути невозможно.

5.4 NYX-нововведение 3 — холономный ратчет (импорт расслоения Серра)

Идея. На инцидентном расслоении (база — точки/наблюдаемое, слой — фазы; §2.6) задана связность A. При каждом хопе применяется ключевое преобразование (blinding, как в Sphinx), но выведенное из связности инцидентности: множитель хопа β_k = KDF(A(p_{k-1}, p_k)). Композиция вдоль пути — упорядоченное произведение = холономия Hol = P·∏ β_k.

Что это даёт:

  • Прямая секретность без лишних RTT [С]: ратчет односторонний (KDF-цепочка), компрометация текущего хопа не раскрывает прошлые.
  • Компактный аутентификатор пути [Г]: оба конца, зная алгебраическое описание пути, вычисляют одну и ту же Hol; промежуточные узлы видят только локальный β_k. Hol служит само-проверяющей «подписью маршрута» — вставка/подмена хопа ломает холономию (как нетривиальный Hol(C) ≠ 1 сигналит о неверном обходе контура в gap-теории).
  • Единая математика с физическим корпусом: это тот же объект, что фаза Берри в gap-thermodynamics.md, — сеть наследует аппарат теории.
Статус холономного ратчета

Механически ратчет сводится к организованной по геометрии цепочке Диффи-Хеллман-подобных blinding-факторов (как в Sphinx), что даёт основания для прямой секретности и целостности пути. Однако строгая криптографическая формализация (модель, редукция, PQ-версия blinding) — [П]: до продакшена нужен формальный анализ. Мы честно помечаем это как исследовательскую конструкцию, а не как готовую доказанную стойкость.

5.5 NYX-нововведение 4 — структурно-сбалансированное прикрытие и диск λ

  • Прикрывающий трафик [Т-равномерность]: каждый узел эмитит постоянный поток прикрытия на каждую из своих q+1 прямых. По регулярности плоскости нагрузка тождественна у всех узлов ⇒ нулевой объёмный фингерпринт. Это теорема о точечной регулярности, а не политика (проверено V8).
  • Пуассоновское перемешивание (Loopix-класс): экспоненциальные задержки со средним 1/μ на хоп; средняя латентность пути = L/μ; размер множества анонимности ≈ пакетов в окне микса (закон Литтла). Диск μ непрерывно ведёт от «Tor-класс» к «Nym+»:
μ (1/с)L хоповприход (1/с)средняя латентностьмножество анонимностиэнтропия
2.03501.5 с~25~4.6 бит
1.03503.0 с~50~5.6 бит
0.5520010 с~400~8.6 бит
0.25100025 с~5000~12.3 бит

(проверено V7). Один субстрат, одна кодовая база — стойкость/латентность выставляется параметром.

5.6 NYX-нововведение 5 — алгебраическое приватное рандеву (замена скрытых сервисов)

Проблема Tor onion services / Lokinet: отдельная инфраструктура introduction points и rendezvous points, плюс HSDir — известные векторы деанонимизации.

Решение NYX [Г→С]: две стороны, разделяющие секрет s (из предыдущего контакта или PAKE), детерминированно выводят общую прямую встречи L_rdv = MapToLine( VRF_beacon(s, epoch) ) и встречаются на ней — без директории, без introduction points. Прямая ротируется каждую эпоху вместе с маяком ⇒ нет долговременной цели для атаки. Инициатор постит зашифрованный на PK_{L_rdv} запрос; респондент, слушающий свои прямые, отвечает. Анонимность обеих сторон защищена пороговым слоем той же прямой.

5.7 Пакет Tessera (сводно; wire-формат — §VII)

Фиксированного размера (неразличимость), Sphinx-производный, с двумя расширениями: PQ-гибридный заголовок (X25519+ML-KEM на хоп) и пороговая адресация слоя (шифрование на PK_L прямой вместо PK узла). Размер постоянен вдоль пути (перешифрование на хоп), утечка метаданных минимальна.


Часть VI. DIAKRISIS — самодиагностика при отказах узлов и сегментов

Ориентир

FANOS светит, APHANTOS прячет, NYX скрывает — DIAKRISIS различает. Протокол, который только маршрутизирует, — половина протокола: в поле узлы падают, линки мигают, сегменты разбиваются, а самые опасные — лгут. DIAKRISIS — это рефлексивный план, позволяющий ячейке наблюдать собственное состояние (§2.7), локализовать поломку, отличить крах от лжи и от разбиения и исцелиться — причём каждая диагностическая константа задана теоремой, а не подгонкой. Это прямой ответ на «дай сети настоящую самодиагностику при отказах узлов и сегментов», и именно здесь парадигма матрицы когерентностей окупается конкретнее всего.

6.1 Рефлексивная петля и почему heartbeat-сети мало

Каждый существующий оверлей мониторит здоровье одинаково: сеткой парных heartbeat/ping. Раздел 2.8 — причина, по которой это структурно слабо: сетка слепа к Фано. Сумма семи матриц смежности прямых в точности равна J − I, полный граф K₇ (проверено V11): любой равновесный парный сигнал неотличим от бесструктурной полной связности. Пинг скажет, что линк поднят; он не увидит, какие тройки — прямые, кто чей медиатор и где прячется лживый узел. Это живёт на третьем порядке.

Поэтому DIAKRISIS крутит петлю на прямых и их тройной согласованности, а не на парах:

Поскольку ячейка несёт матрицу когерентностей Γ_net (§2.7), у петли есть то, чего таблица маршрутизации не даёт никогда: самомодель со скалярными показаниями здоровья (Φ, P, R), пороги отказа которых — корпусные теоремы. Ячейка в точном смысле УГМ есть самонаблюдающая система — она удовлетворяет тому же условию рефлексии (R ≥ 1/3), которым корпус определяет субъекта. DIAKRISIS — это тот рефлекс, сделанный операциональным.

6.2 Обнаружение — четырнадцать проверок согласованности, бесплатно [Т]

Самый острый примитив обнаружения — дар Теоремы T-226 (Фано-отпечаток). Оснастим ячейку так, чтобы темп деградации/ошибки r_ij каждого парного канала был измерим. T-226 доказывает, что на проводке Фано эти 21 темп не свободны: они сворачиваются всего к семи значениям, индексированным полярной точкой (медиатором), и обязаны удовлетворять четырнадцати беспараметрическим линейным тождествам — внутри каждого полярного класса три темпа совпадают,

r_ij = r_i'j' когда k*(i,j) = k*(i',j').

Операционально это банк четырнадцати проверок согласованности, поддержка которых бесплатна: измеряем 7 полярных значений, а остальные 14 измерений — встроенные проверки. Устойчивое нарушение в полярном классе означает, что наблюдаемая проводка больше не чистая плоскость Фано — структурная аномалия (византийский узел, подделывающий отчёты о здоровье; неправильно введённый член), — и уже нарушенный класс сужает виновника до одной полярной точки (селектор T-226(vi): тождества выполняются тогда и только тогда, когда проводка — Фано). Ни обучения базовой линии, ни порогов для подгонки: тождества точны при любом режиме диссипации.

Рядом с этой структурной тревогой работает монитор интеграции §2.7: Φ_net < 1 срабатывает, когда ячейка распадается на неинтегрированные куски, а показание средней корреляции r → 1/√6 предупреждает о зарождающемся каскаде на режим раньше (§6.5). Обнаружение двухканальное: структурное (полярные сумм-правила) и глобальное (Φ).

6.3 Локализация — пирамида 21 → 7 → 3 → 1 и 3-битный синдром [Т]+[С]

Как только «что-то не так» сработало, DIAKRISIS локализует виновника Σ-компрессионной пирамидой T-225. Полная томография 7-ячейки потребовала бы 48 чисел; локализация одного деградировавшего узла — горсти:

  • 21 → 7 (темы). 21 парное показание здоровья единственным образом разбивается на 7 линий-троек Фано (Штейнер λ=1): семь тем-наблюдаемых, по одной на прямую, каждая T_ℓ = Σ здоровье по парам прямой ℓ. Ничто не ускользает, ничто не считается дважды.
  • 7 → 3 (синдром). Бинаризуем статус каждого узла «здоров/деградировал» по его порогу жизнеспособности и берём три чётности Фано. 3-битный синдром σ ∈ 𝔽₂³ есть двоичный адрес повреждённого узла (таблица T-225, проверено V13):
УзелАдресСиндром σ
A1100
S2010
D3110
L4001
E5101
O6011
U7111
  • 3 → 1 (флаг). Единственный бит [σ ≠ 0] — тревога «отказ присутствует»; σ = 000 означает здоровье.

Разобранный пример. Пусть узел O начинает ронять реле. Три его прямые (q+1 = 3) — A,O,U, S,L,O, D,E,O — каждая регистрирует деградировавшую тему; три чётности дают σ = 011, это адрес 6, это O. Три бита закрепили один узел из семи. Это код Хэмминга(7,4), исправляющий ошибку на векторе здоровья сети, — та же геометрия, что делает ячейку врождённым квантовым кодом (§2.4), делает её врождённым локализатором отказов. При перемешивании (T-114) синдром усредняется по окну и оседает на истинном узле с ошибкой, спадающей экспоненциально по окно × спектральная щель (T-225(d)), — устойчив к шумным одиночным снимкам. Статус наследует T-225 [С]: комбинаторика пирамиды 21→7→3→1 точна [Т], а её сходимость на живой ячейке условна по модели измерения (усреднение по окну).

Разрешение многих отказов — насколько ячейка реально исправляет [Т]

Цифра «дистанция 3» — про сжатый 3-битный синдром, исправляющий один отказ. Но ячейка несёт больше трёх бит, и честная способность стратифицирована (проверено V20–V21):

  • Крахи (местоположение известно = стирания). Проективный LRC (§L4) чинит отшелушиванием: потерянный узел восстанавливается из любой прямой, где он единственная потеря, что расчищает другие прямые, и так далее. Так восстанавливаются любые ≤ 3 одновременных краха и большинство потерь по 4 узла; восстановление впервые не проходит только на гиперовале — 4 точки, никакие 3 не коллинеарны (напр. A,S,L,U), плотнейшей конфигурации «каждая прямая в 0 или 2 точках». Значит, типичный режим отказа переносится далеко за один.
  • Византийские отказы (местоположение неизвестно = ошибки). 3-битный синдром исправляет 1, но слой 7 линий-тем — промежуточная стадия 21 → 7, семь бит, и так вычисляемая — локализует ровно два: все 21 пара дают различные паттерны флагов-тем (сжатый синдром неправильно декодирует все 21). Держите 7-темный вектор, когда нужно разрешение двух отказов; сжимайте до 3 бит лишь для быстрого одиночного пути. Три и более византийца насыщают слой тем (блокирующие множества помечают все прямые) и обнаруживаются, затем эскалируются.
  • За пределами одной ячейки. Насыщенная ячейка (≥3 византийца или крах-гиперовал) сама есть одна деградировавшая «точка» родительской ячейки, чьи q+1 прямых независимы от детских — поэтому она пере-локализуется уровнем выше, а число исправимых отказов растёт с уровнем по мере их разброса по ячейкам. Два корпусных пути прямо поднимают поячейковую цифру: большее q (больше линий-свидетелей на узел) и Голей-федерация (T-228: три ячейки Фано складываются в двоичный Голей [23,12,7], дистанция 7 — исправляет три).

6.4 Различение византийца — перекрёстное свидетельствование замыкания через медиатора [С]

Крах и серые сбои (частично) видны на первом порядке. Трудный случай — причина, по которой диагностический план обязан быть третьего порядка, — лживое двоемыслие: узел поднят, heartbeat'ы зелены, но искажает или неправильно маршрутизирует трафик и лжёт об этом. Парный мониторинг его не ловит (§2.8). Закон замыкания — ловит.

Механизм. Каждая пара (i,j) взаимодействует только через свой медиатор k* = k*(i,j), третью точку их прямой (§2.5, корпусная полярная точка π(i,j)). Значит, медиатор — естественный свидетель реле (i,j). DIAKRISIS проводит перекрёстное свидетельствование: для каждой прямой {i,j,k} три члена подписывают, что́ они видели на двух каналах, которые опосредуют. У честного узла три свидетельства взаимно согласованы; лживый — вынужденный лгать на прямых, где участвует, — производит несогласованности на всех своих q+1 прямых разом. Эта многолинейная подпись есть в точности ненулевой синдром (§6.3), и он локализует лжеца.

Почему геометрия помогает: византийский узел не может лгать «локально». Поскольку каждую пару, которой он касается, свидетельствует другой третий узел (медиаторы все различны — отображение k* биективно на каждом полярном классе), один повреждённый узел не может сфабриковать глобально согласованную историю без сообщников на каждой своей прямой. Закрепить одного лжеца на ячейку требует, чтобы его q+1 свидетелей с ним разошлись — что они и сделают, если противник не владеет порогом каждой проходящей через него прямой, той же планкой, что и §5.2.

Статус [С]. Арифметика локализации — [Т] (это §6.3 применительно к битам свидетельств). Сквозная византийская гарантия условна: канал свидетельствования аутентифицирован (подписи L6) и на каждую прямую сговорилось меньше порога членов — это заявлено прямо, а не спрятано в допущение.

6.5 Диагностика сегмента и разбиения — теорема о неразбиваемости [Т]

Целая прямая или подъячейка может отпасть. Здесь проективная структура даёт жёсткую гарантию, которой у графовых оверлеев нет:

Неразбиваемость [Т] (проверено V14). Удаление любой одной прямой оставляет ячейку связной; чтобы изолировать узел, надо удалить все q+1 проходящих через него прямых; чтобы расколоть ячейку, надо вырезать полное покрытие прямыми. Набросок доказательства: любые две прямые пересекаются (двойственный Штейнер), поэтому выжившие всё ещё соединяют каждую пару; единственные инцидентности узла — его q+1 прямых, поэтому ничто, кроме всех сразу, его не изолирует. Это свойство anti-eclipse (§L3), заявленное как теорема надёжности: никакой отказ одного сегмента не может разбить ячейку.

Когда деградация плавная, а не бинарная, два непрерывных показания локализуют и ранжируют её:

  • Алгебраическая связность (число Фидлера λ₂) взвешенного здоровьем графа прямых. λ₂ > 0 ⟺ связна; знаковый паттерн вектора Фидлера называет две стороны зарождающегося раскола. Для полной ячейки λ₂ = 7; с одной упавшей прямой λ₂ = 4 (проверено V14) — всё ещё уверенно цела.
  • Интеграция Φ_net (§2.7): Φ < 1 — тревога «ячейка больше не единое целое», а раннее предупреждение по средней корреляции r → 1/√6 ≈ 0.408 отмечает каскадный режим до того, как хоть один узел упал (V15). Монитор, следящий за пересечением r через 0.408, видит системную хрупкость на целую фазу раньше любого сигнала живости — величина, которой не даёт ни один DHT/луковичный оверлей, потому что ни один не несёт матрицы когерентностей.

Потеря сегмента (в отличие от раскола) чинится затем проективным LRC (§L4, §6.8): потерянные узлы восстанавливаются из любой выжившей проходящей через них прямой.

6.6 Интеграция — ведущий индикатор отказа [Т]

Какая тревога срабатывает первой — интеграционная Φ < 1 или структурная P < 2/7? Ответ чистый и безусловный (проверено V17):

Теорема (ведущий индикатор) [Т]. На физической области (Γ_net PSD, Tr = 1) область отказа {P < 2/7} содержится в {Φ < 1}. Значит, интеграционная тревога срабатывает не позже структурной; равенство — тогда и только тогда, когда диагональ однородна.

Доказательство. Обозначим x = Σ γ_ii² (вес диагонали) и y = Σ_{i≠j}|γ_ij|² (энергия когерентностей), так что P = x + y и Φ = y/x. По Коши–Буняковскому при Σ γ_ii = 1 имеем x ≥ 1/7. Если P < 2/7, то y < 2/7 − x ≤ x (последний шаг: 2/7 − x ≤ x ⟺ x ≥ 1/7), значит y < x, то есть Φ < 1. ∎

Операционально: Φ_net — самое раннее число, за которым стоит следить. Структура может выглядеть целой (узлы подняты, P в норме), пока интеграция уже пересекла порог — ячейка распалась на клики, каждая из которых локально выглядит нормально, но больше не связывает. Это превращает хрупкое наблюдение «Φ падает раньше P» из клинической модели УГМ в жёсткое включение и даёт DIAKRISIS обоснованную первую тревогу для эскалации.

6.7 Самоисцеление — обход, починка, реинтеграция

Диагностика без починки — пожарная сигнализация без спринклера. DIAKRISIS исцеляет тремя движениями, каждое геометрично:

  1. Обход (мгновенно), через медиатора. Разорванный линк (i,j) детерминированно регенерируется через k* = k*(i,j) — закон замыкания как правило маршрутизации, без таблиц и без поиска (§2.5). У каждой пары ровно один медиатор, поэтому fallback единствен и предвычислен.
  2. Починка (параллельно), через LRC. Потерянный узел восстанавливается из любой одной из его q+1 прямых (локальность q, доступность q+1; §L4). Независимые группы восстановления означают, что исцеление распараллеливаемо и не конкурирует.
  3. Реинтеграция (релаксация), через щель. После починки Γ_net релаксирует обратно к здоровому многообразию собственным перемешиванием ячейки. Скорость релаксации задаётся диссипатором Фано (D_Fano = ⅔·D_atom — безразмерная щель 2/3, Фано-канал, Тм 5.1a); в физических темпах прямых остывание реинтеграции τ ≈ 1/Δ с точным рейт-гэпом Δ = (G − max_k T_k)/6, сделанным явным T-226(v), так что ячейка может адаптивно ужимать остывание из текущих темпов прямых, а не брать наихудший постоянный. Минимальная саморегенерация ограничена снизу бутстрап-константой κ_bootstrap = ω₀/7 (в единицах ω₀1/7; аксиома септичности).

Закон бюджета глубины исцеления [Т]. Каждый грубый межсегментный хоп — маршрутизация через проекцию на прямую, а не по прямому каналу — сжимает интеграцию ровно на 1/9 (Фано-канал Φ → Φ/9, проверено V16; масштабирование когерентностей ×1/3 из Фано-канала, Тм 2.1, в квадрате). Значит, путь починки, пересекающий d грубых границ, стоит Φ → Φ/9^d связанности. Это не метафора: это количественная причина держать исцеление локальным (малое d) и жёсткий вход в то, насколько глубоко иерархия может перемаршрутизировать, прежде чем реинтегрированная ячейка упадёт ниже Φ = 1. Это то же 1/9, что ограничивает наивную маршрутизацию mixture-of-experts в ML-каталоге, — здесь оно ограничивает глубину обхода.

6.8 Бюджет самонаблюдения — R_th = 1/3 [Т]

Сколько ёмкости ячейки должно идти на диагностику? Это не дело вкуса: отвечает порог рефлексии. При канонической рефлексии R = 1/(7P) самомодель достаточно точна, чтобы ей доверять (R ≥ R_th = 1/3), тогда и только тогда, когда P ≤ 3/7 (проверено V18) — то есть если ячейка тратит не менее трети циклов на интроспекцию (госсип здоровья, перекрёстное свидетельствование, усреднение синдрома, прикрывающе-диагностический трафик). Ячейка, бюджетирующая на самонаблюдение меньше 1/3, доказуемо не может держать верную самомодель и пропустит отказы, которые имела информацию поймать. Это то же R_th = 1/3, что ограничивает самомоделирование сознательного субъекта, — здесь это закон накладных мониторинга: диагностика не есть накладные, которые надо гнать к нулю, у неё есть теоретический пол на трети.

6.9 Протокол DIAKRISIS (референс)

DIAGNOSE — один раунд рефлексивной петли
  1. Наблюдать. Каждая прямая агрегирует аутентифицированный госсип здоровья от своих q+1 членов в тему-наблюдаемую T_ℓ; ячейка собирает Γ_net из корреляций поведений.
  2. Обнаружить. Проверить 14 полярных сумм-правил (T-226) и глобальные мониторы Φ_net, среднюю корреляцию r. Если всё чисто и Φ ≥ 1: доложить «здорова», спать.
  3. Локализовать. Вычислить 3-битный синдром σ (§6.3). Если σ = 0, но глобальный монитор сработал, трактовать как разбиение/системное событие (§6.5); иначе σ — адрес деградировавшего узла.
  4. Различить. Если отказ серый/византийский, запустить перекрёстное свидетельствование замыкания на q+1 прямых локализованного узла (§6.4), чтобы отделить крах от лжи.
  5. Исцелить. Обойти через медиаторов, LRC-починить узел и дать ячейке реинтегрироваться; если обнаружено ≥2 отказов — эскалировать к родительской ячейке.

6.10 Что даёт матрица когерентностей — синтез и честные пределы

Собирая нить всей части: работа в парадигме Γ даёт сети способность, которой нет ни у одного графового оверлея, — самомодель с порогами здоровья, зафиксированными теоремами, и диагностику третьего порядка, доказуемо видящую то, чего парный мониторинг увидеть не может.

СпособностьЧто даёт матрица когерентностей / третий порядокСтатус
Видеть византийские отказы / двоемыслиеперекрёстная проверка замыкания третьего порядка; парный мониторинг слеп к Фано (V11)[Т] слепота · [С] гарантия
Бесплатные проверки согласованности14 беспараметрических полярных сумм-правил (T-226)[Т]
Локализовать отказсиндром 21→7→3→1, 3 бита закрепляют 1 из 7 (T-225)[Т] комб. · [С] на живой ячейке
Детерминированный обходмедиатор k* = полярная точка, без таблиц (T-226 §2)[Т]
Иммунитет к разбиениюни один одиночный рез прямой не рвёт; нужно q+1 (V14)[Т]
Здоровье интеграции + раннее предупреждениеΦ_net и линия каскада средней корр. r*=1/√6 (V15)[Т] арифм. · [С] словарь
Самая ранняя тревогатеорема включения {P<2/7} ⊂ {Φ<1} (V17)[Т]
Бюджет глубины исцелениягрубый хоп стоит Φ×1/9 (V16)[Т]
Пол накладных мониторингабюджет самонаблюдения R_th = 1/3 (V18)[Т] арифм.

Честные пределы. (1) Локализация стратифицирована, а не просто «дистанция 3» (§6.3, V20–V21): крахи восстанавливаются до трёх на ячейку, византийские отказы до двух (слой 7 тем); ≥3 византийца или крах-гиперовал эскалируют к родителю (или к профилю с бо́льшим q / Голей-федерацией). (2) Словарь — отображение осей поведения узлов на семь секторов так, чтобы Γ_net была верной матрицей когерентностей, — это модельный выбор [С]; но он самопроверяем, потому что неверная разметка осей ломает полярные сумм-правила (§6.2), так что отображение — тестируемая гипотеза, а не свобода интерпретации. (3) Статистики третьего порядка требуют больше данных, чем парные (дисперсия старших моментов выше) — диагностика дешевле всего на масштабе ячейки (7 узлов, 21 пара) и предназначена работать там, а иерархия несёт масштаб. (4) Φ/P/r* как показания надёжности наследуют корпусную [И]-идентификацию осей поведения с секторами — арифметика [Т], чтение — модель.


Часть VII. Проволочный протокол, форматы данных и интероперабельность

Ориентир

Эта часть — языконезависимый контракт: достаточно байтовой детализации, чтобы FANOS можно было переписать с нуля на любом языке, и чтобы две независимые реализации взаимодействовали. Правило — каноническое кодирование: одна и только одна допустимая последовательность байт для каждого объекта, чтобы хеши, подписи и MAC совпадали между реализациями. Всё здесь проверяется conformance-векторами §7.9.

7.1 Примитивы канонического кодирования

Каждый объект FANOS сериализуется через крошечный фиксированный набор примитивов. У каждого ровно одно каноническое кодирование; декодер обязан отвергать любой неканонический вход (именно это делает подписи переносимыми).

ПримитивКодирование
Целыеbig-endian («сетевой порядок»); длины и ID — QUIC-переменные (RFC 9000 §16, 1–8 B)
Элемент поля GF(q)фикс. ширина ⌈log₂q / 8⌉ байт, big-endian (GF(2^m)m бит; GF(p) — каноническое 0…p−1), старшие биты нулём
Точка / прямая [x:y:z]три элемента поля в канонической форме: масштабируем так, чтобы первая ненулевая координата была 1, затем конкатенируем; декодер пересчитывает нормализацию и отвергает неканонический скаляр
Публичные ключигибрид: Ed25519(32 B) ‖ ML-DSA-65 (подпись) и X25519(32 B) ‖ ML-KEM-768 (KEM), фиксированные размеры, в этом порядке
Хеш / ID узла32 B BLAKE3
Байтовая строкаvarint длина ‖ байты
Структураполя подряд в объявленном порядке, без выравнивания и тегов

Разделение доменов. Каждый вызов хеша/VRF/KDF префиксуется константной ASCII-меткой ("FANOS-v1/coord", "FANOS-v1/rdv", "FANOS-v1/kdf", …), так что выходы разных подпротоколов никогда не столкнутся. MapToPoint и MapToLine: берём 32-байтовый меченый хеш как big-endian число, редуцируем в индексное пространство q²+q+1 отбраковкой по координатам поля, отбрасываем нулевой вектор, нормализуем к канонической форме — одна детерминированная, равномерно распределённая точка (проверяется в conformance-наборе).

7.2 Кадр FANOS и реестр типов сообщений

Весь управляющий трафик — последовательность кадров поверх QUIC-потоков (надёжный упорядоченный контроль) или QUIC-датаграмм (ненадёжная оверлейная шина / прикрытие). Кадр:

frame = type:varint ‖ length:varint ‖ body:bytes[length]

type индексирует реестр ниже; неизвестные типы на потоке пропускаются по length (прямая совместимость), неизвестные критические типы обрывают соединение с UNSUPPORTED (§7.5). Типы сгруппированы по старшему полубайту, чтобы маршрутизатор диспетчеризовал без полной таблицы.

ДиапазонГруппаТипы
0x0*СессияHELLO, HELLO_ACK, PING, PONG, GOAWAY, ERROR
0x1*ЧленствоJOIN, ANNOUNCE, BEACON_REQ, BEACON, DKG_*
0x2*Оверлей/хранилищеLOOKUP, VALUE, PUBLISH, ACK, BRIDGE
0x3*Прямой маршрутROUTE, STREAM_OPEN, STREAM_DATA, STREAM_FIN
0x4*APHANTOS/NYXTESSERA, PARTIAL_DEC, COVER
0x5*Рандеву / CALYPSORDV_INTRO, RDV_REPLY, SVC_ANNOUNCE
0x6*DIAKRISISDIAG_GOSSIP, DIAG_SYNDROME, DIAG_VERDICT

Реестр версионируется (§7.4); новые типы добавляются IANA-стилем без слома старых декодеров.

7.3 Рукопожатие сессии и конечный автомат

Линк FANOS едет поверх QUIC-соединения (которое уже выполняет гибридное PQ TLS 1.3 рукопожатие — обмен ключом X25519+ML-KEM-768, сертификаты Ed25519+ML-DSA-65, привязанные к долгосрочной идентичности узла). Сверху FANOS обменивается одним прикладным рукопожатием для согласования оверлейных параметров:

HELLO несёт: version, битовое поле возможностей, epoch и coord отправителя и подписанное доказательство координаты (выход VRF(pubkey, epoch) + доказательство), так что пир проверяет, что координата не подделана (связь с допущением 1 §3.2). Несовпадение эпохи запускает BEACON-синхронизацию перед повтором. Рукопожатие добавляет ноль лишних round-trip сверх QUIC (HELLO едет в первом же потоке; 0-RTT-возобновление переиспользует кэшированный HELLO).

7.4 Версионирование и согласование возможностей

version — единственный монотонно растущий номер профиля; capabilities — битовое поле (напр. APHANTOS_FULL, CALYPSO, BLOCKCHAIN, PQ_ONLY, GF_2^m, размер ячейки q). Два пира работают на min(version) и пересечении возможностей — минимальный узел FANOS (только DHT, профиль Direct) взаимодействует с полным узлом; полный просто не предлагает ему кадры NYX/CALYPSO. Так сборки «только DHT» или «DHT+VPN» (§XI) остаются совместимыми по проводу.

7.5 Таксономия ошибок

Ошибки — varint code + опциональная причина UTF-8, сгруппированы так, чтобы вызывающий реагировал по классу без полной таблицы:

КлассКодыСмысл / действие
1xx протоколUNSUPPORTED, MALFORMED, NON_CANONICALдропнуть пира / баг; не повторять дословно
2xx членствоBAD_COORD, EPOCH_STALE, SYBIL_REJECTре-синхр. маяк, ре-допуск
3xx маршрутизацияNO_ROUTE, QUORUM_UNAVAIL, THRESHOLD_UNMETобход через медиатора k*, шире q+1/ниже t
4xx приватностьPATH_BROKEN, HOLONOMY_FAIL, COVER_STARVEDпересобрать цепь, эскалация в DIAKRISIS
5xx сервисSVC_UNREACHABLE, RDV_EXPIRED, POW_REQUIREDротировать рандеву-прямую, приложить PoW (§XII)

7.6 Bootstrap и холодный старт

Узел с нулевым состоянием входит детерминированно:

  1. Найти любого пира. Из настроенного bootstrap-набора — короткого списка (node-ID, адрес), поставляемого с клиентом, также разрешимого через DNS-seed или .well-known, — или LAN mDNS/DHT-рандеву. Одного достижимого bootstrap-пира достаточно (его центральность ограничена, §L3, так что bootstrap'ы — не привилегированные корни доверия).
  2. Синхронизировать маяк. BEACON_REQBEACON возвращает текущий seed эпохи с его пороговым BLS-доказательством; узел его проверяет (без доверия к bootstrap-пиру — доказательство самоаутентифицируемо).
  3. Вычислить размещение. coord = MapToPoint(VRF(pubkey, epoch)) фиксирует ячейку и прямые узла.
  4. JOIN (§7.8) в эту ячейку; участие в DKG прямых. Дальше всё алгебраично — никаких обходов поиска.

Bootstrap — единственная поверхность доверия-при-первом-контакте, и она минимизирована: доказательство маяка и VRF координаты не дают даже вредоносному bootstrap'у ни разместить узел неверно, ни подделать случайность.

Bootstrap под цензурой

Поставляемый список bootstrap — ровно то, что блокирует цензор. При включённом PROTEUS (Часть XIII) шаг 1 заменяется подвижными мостами — точками входа из маяка, ротирующимися каждую эпоху (§13.6), достигаемыми через обфусцирующий морф, — так что нет статического списка для перечисления или блокировки. Список выше — только путь открытой сети.

7.7 Wire-формат пакета Tessera (референс)

ПолеРазмерНазначение
version1 Bверсия формата
epoch4 Bэпоха (для верификации координат/маяка)
group_element32 B (X25519) + 1088 B (ML-KEM-768 ct)гибридный элемент для вывода хоп-ключа и β-ратчета
routing_cmd (зашифр.)32 Bследующая прямая / доставка (снимается порогом)
header_mac16 Bцелостность заголовка текущего хопа
holonomy_tag32 Bнакопленная Hol — аутентификатор пути
payload (AEAD)фикс. (напр. 2 КБ)полезная нагрузка, перешифруется на хоп
paddingдо фикс. общего размеранеразличимость длины

Общий размер пакета — константа (напр., 4 КБ) независимо от длины пути и позиции хопа — это требование уровня провода, а не деталь реализации.

7.8 Основные протокольные потоки

JOIN — вход узла в ячейку
  1. Сгенерировать ключевую пару (гибрид).
  2. Пройти Sybil-допуск (PoW/стейк/WoT).
  3. Получить текущий beacon_seed эпохи.
  4. Вычислить coord = MapToPoint(VRF(pubkey, epoch)).
  5. Занять точку (согласованное хеширование); анонсировать по q+1 своим прямым (аутентиф. gossip).
  6. Участвовать в DKG своих прямых (получить доли sk_i).
LOOKUP / PUBLISH — контент по ключу
  • target = MapToPoint(H(k)); ответственный узел — ближайшая занятая точка.
  • Реплики — на q+1 прямых через target (LRC).
  • Публикация = запись в кворум-прямую; чтение = из кворум-прямой (пересечение гарантирует свежесть).
ROUTE (Direct) — публичная маршрутизация u→v
  1. L = u × v (O(1)).
  2. Отправить в шину L (или напрямую по кэш-транспорту, узнав адрес v через L).
  3. Multipath: параллельно по нескольким прямым через u и v.
NYX-ROUTE (APHANTOS-Full) — анонимная доставка
  1. Выбрать геометрический путь-флаг длины L (равномерно, PGL-транзитивность).
  2. Собрать Tessera-пакет: слои на PK_{L_k}, β-ратчет из связности.
  3. На каждом хопе прямая собирает порог t, снимает слой, применяет пуассон-задержку, перешифровывает.
  4. Получатель проверяет holonomy_tag.
RENDEZVOUS — приватная встреча по общему секрету
  1. Обе стороны: L_rdv = MapToLine(VRF(s, epoch)).
  2. Инициатор постит запрос, зашифр. на PK_{L_rdv}.
  3. Респондент отвечает через NYX-ROUTE; ротация каждую эпоху. (Полный поток скрытого сервиса — CALYPSO, Часть XII.)

7.9 Соответствие и известные ответы (KAT)

Интероперабельность обеспечивается набором соответствия, а не прозой. Два класса векторов:

  • Алгебраические KAT — проективные операции (cross, MapToPoint, MapToLine, синдром, медиатор), порождаемые и проверяемые fanos_verify.py (V1–V22). Любая реализация обязана воспроизвести их бит-в-бит.
  • Проволочные KAT — канонические кодировки каждого кадра и пакета Tessera, плюс хеш транскрипта рукопожатия, как пары (вход, ожидаемые-байты). Новая реализация проходит, если кодирует ровно в эти байты и отвергает перечисленные неканонические входы.

Узел объявляет conformance-level в HELLO; два узла включают только те функции, что сертифицировали оба. Это механизм, делающий «любой язык, любая платформа» конкретным: пройди KAT — и взаимодействуешь, на каком бы языке ни был написан.


Часть VIII. Анализ безопасности (количественный)

8.1 Сводная кривая (повтор ключевого результата)

При случайном размещении противника с долей f узлов и пороге t=6 из q+1=8 связка концов APHANTOS-Full имеет P_link от 5.5·10⁻¹⁰ (f=0.1) до 2.1·10⁻² (f=0.5); Tor при тех же f — от 10⁻² до 0.25. Выигрыш на порядки при f ≤ 0.3, деградирует к ×10 при f→0.5 (когда противник близок к большинству — фундаментальный предел любой системы).

8.2 Стойкость по профилям противника

УгрозаFANOS-DirectAPHANTOS-LiteAPHANTOS-Full
T1 локальный сниферPQ-QUIC скрывает содержимое+ скрывает получателя+ перемешивание
T2 глобальный пассивный (GPA)нет защиты (по замыслу)слабая (как Tor)сильная (прикрытие+перемешивание, энтропия §5.5)
T3 активный доля fцелостность (подписи)≈ Torпорог t/(q+1), кривая §5.2
T4 Sybilпотолок центральности++ непредсказуемые эпохи
T5 квантовыйPQ-гибридPQ-гибридPQ-гибрид
T6 изъятие 1 узлараскрывает 1 хоп0 знаний (ниже порога)

8.3 Известные остаточные векторы (честно)

  • f → 0.5. Как и все анонимные сети, деградирует у порога большинства. Смягчение: рост q+1 и t (таблица §5.2 показывает, что q+1=32 держит f=0.3 на 4.9·10⁻¹¹).
  • Пересечение по времени активности (long-term intersection). Пуассон + прикрытие смягчают, не устраняют. Диск λ — компромисс.
  • Формальная стойкость Tessera/холономного ратчета — [П]. Нужен машинно-проверенный доказательство (Tamarin/ProVerif) и PQ-версия blinding.
  • PQ верифицируемое перемешивание — [П]. Решёточные shuffle-аргументы тяжелы; промежуточно — классический shuffle-proof поверх PQ-транспорта.

8.4 Red-team проход: атаки по всем уровням

Чтобы показать, что спецификация покрывает все уровни, — состязательный проход: строка на атаку, целевой уровень, структурное смягчение и честный статус. Смысл в полноте: у каждого уровня L0–L7, плана DIAKRISIS, проволочного протокола и CALYPSO есть названная защита; где защита лишь частична — так и сказано, со ссылкой на §8.3.

АтакаУровеньСтруктурное смягчениеСтатус
Подделка ключа / имперсонацияL0гибридные PQ-подписи (Ed25519+ML-DSA-65), привязанные к node-ID[Т] станд.
Grinding координаты (выбор ячейки)L0/L3coord = VRF(pubkey, epoch); маяк непредсказуем → нельзя целиться заранее[С] маяк
Sybil-наводнениеL3допуск (PoW/стейк/WoT) и структурный потолок центральности (q+1)/N[Т]+[С]
Затмение узлаL1anti-eclipse: надо владеть всеми q+1 прямыми разом[Т] (V14)
Захват центральности / суперузелL1центральность фиксирована геометрией, её нельзя купить[Т] (V3)
Отравление таблиц маршрутизацииL1таблиц маршрутизации нет — маршруты это u × v[Т]
Смещение / grinding маякаL3пороговый BLS-маяк честного большинства (drand-класс)[С] порог
Даунгрейд транспорта / harvest-nowL2/L6PQ-гибрид с первого дня; возможность PQ_ONLY[Т] станд.
Усиление / отражённый DoSL2валидация адреса QUIC + retry-токен[Т] станд.
Корреляция концов (деанон)L5пороговый хоп, P_link = P_hop² ≪ f²[Т] (V5)
Guard discovery / таргетинг путиL5/L3непредсказуемая эпоховая перетасовка допустимых прямых[С] маяк
Трафик-анализ (объём/тайминг)L5структурно-сбалансированное прикрытие + пуассон-микс[Т] равном. / [С]
Тэгирование пакета / порча путиL5холономный тег ломается при вставке/подмене хопа[Г] (формальный аудит [П])
Утаивание данныхL4починка LRC из любой выжившей прямой; пересечение кворумов[Т]
Подделка отчётов о здоровье (византиец)DIAKRISISперекрёстная проверка замыкания 3-го порядка; 14 бесплатных тревог[Т] слепота / [С]
Подавление диагностической тревогиDIAKRISIS14 полярных равенств беспараметричны, их нельзя «отключить подгонкой»[Т]
Повтор (replay)Проводэпоха + нонс на кадр; AEAD[Т] станд.
Малеабельность / неканоническое кодированиеПровододно каноническое кодирование; декодеры отвергают прочее[Т] (KAT §7.9)
Даунгрейд версииПроводподписанный HELLO, работа на min версии, пересечение возможностей[С]
Наводнение интро скрытого сервисаCALYPSOPoW / анонимный кредит на интро; rate-limit[С] (§12.5)
Захват скрытого сервисаCALYPSOпороговый хостинг: < t захваченных хостов знают ничего[Т]+[С]
Перечисление рандеву (HSDir-стиль)CALYPSOнет директории; алгебраическая прямая ротируется каждую эпоху[Т]+[С]
Живость порога (мало честных онлайн)L5/CALYPSOзапас (ниже t, выше q+1); эскалация DIAKRISIS[С] калибр.
DPI-фингерпринт / активное зондирование / блокировка (цензор)Транспортморфы PROTEUS (нет фикс. сигнатуры) + неразличимость при зондировании + подвижные мосты[С] гонка вооружений (§13.8)

Чтение. Ни одна строка не оставлена без смягчения; честно-частичные ([С]/[Г]/[П]) — ровно те, что уже отмечены в §8.3 и Части XVI: предел большинства концов f→0.5, две исследовательские конструкции (Tessera / холономный ратчет) и компромисс живучесть↔порог. Red-team не вскрывает отсутствующего уровня — а это и есть утверждение о полноте, ради которого эта секция существует.


Часть IX. Производительность (количественно)

МетрикаKademliaTorNymFANOS/APHANTOS
Рандеву (внутри ячейки)O(log n), мн. RTTO(1), 1 сообщение [Т]
Глубина иерархии (10⁹ узлов)~30 итер. хоповk=3 one-shot уровня [Т]
Маршрутное состояние (10⁹)O(log n)~3000 (q=31,k=3) [Т]
Гарантия кворум-пересечениянетнетнетда (Маэкава) [Т]
Потолок центральностинетнетчастично(q+1)/N [Т]
Multipath из коробкинетнетнетq+1 путей [Т]
Избыточность хранениязависит(q+1)/q → 1 [Т]
Латентность (публичный)средняявысокаяQUIC-класс (Direct)
Латентность (аноним)~1 с3–25 с1.5–25 с диском [Т]
Постквантовостьнетчастичночастичногибрид с L6
Самодиагностика при отказахнетнетнетда — DIAKRISIS [Т]
Локализация отказа3 бита → 1 из 7 (T-225) [Т]+[С]
Обнаружение византийца из структурынетнетнеттретий порядок (T-226) [Т]/[С]
Неразбиваемостьнетни один рез прямой (V14) [Т]

Часть X. Прикладные надстройки

Ориентир

FANOS задуман как открытый фундамент, поверх которого строятся три класса систем следующего поколения. Здесь — как именно.

10.1 Блокчейн нового поколения

  • Комитеты валидаторов = кворум-прямые [Т]. Любые два комитета пересекаются (Маэкава) ⇒ BFT-консенсус со структурным выбором комитета; ротация — маяком. Никаких валидатор-картелей (потолок центральности).
  • Шардинг = ячейки; кросс-шард = узлы-мосты (пересечения прямых) — детерминированные, сбалансированные.
  • Data availability sampling = проверка по прямым (Штейнер гарантирует покрытие); эрзац-код — проективный LRC.
  • Врождённый маяк случайности (L3) — для честного выбора лидера/лотерей.
  • Анти-MEV: пороговое шифрование мемпула прямой (t из q+1) ⇒ содержимое транзакций скрыто до включения в блок.

10.2 Mixnet-сеть

APHANTOS-Full есть mixnet (Loopix-класс + порог + верифицируемость + алгебраическое рандеву). Превосходит Nym по трём осям: пороговый хоп (§5.2), верифицируемое перемешивание (§L6), рандеву без директорий (§5.6). Экономика — анонимные кредиты (L7), а не стейкинг.

10.3 VPN

APHANTOS-Lite в режиме TUN/TAP = VPN: перформанс WireGuard-класса (userspace QUIC), приватность луковичного класса, PQ с первого дня, обход NAT через MASQUE. Диск λ ставит компромисс «скорость↔приватность» под задачу (стриминг vs whistleblowing).


Часть XI. Реализация, поверхности интеграции и портируемость

Ориентир

Эту часть ведут два требования: реализовать FANOS на любом языке и пользоваться им из любого языка, на любой платформе вплоть до embedded — через ту поверхность, что подходит приложению. Ответ — небольшое портируемое ядро со стабильным C ABI, проволочный протокол, закреплённый conformance-векторами (§7.9), и четыре поверхности интеграции (библиотека, SOCKS5-прокси, VPN, скрытые сервисы), выставляющие один узел тремя разными способами.

11.1 Контракт портируемости

  • Ядро — Rust (fanos-core): портируемое, #![no_std]-совместимое ядро алгебры/крипты; async на tokio/quinn (QUIC). Первая реализация — на чистом Rust, и это референс. В ядре нет платформенных допущений — ввод-вывод инъецируется.
  • Две гарантии интеропа. (1) Провод каноничен и закреплён KAT (§7.9): любой язык, воспроизводящий векторы, взаимодействует — чистая Go- или Python-реализация говорит с Rust-узлом без общего кода. (2) C ABI (ниже) позволяет каждому языку переиспользовать ядро, а не переписывать его.
  • Браузер: сборка в WASM; WebTransport (QUIC поверх HTTP/3) для узлов в браузере.
  • Десктоп/сервер: Linux/macOS/Windows.
  • Встраиваемые: GF(2^m)-арифметика дёшева и константно-времяма́ема; профиль малой ячейки (q = 7..31) идёт на микроконтроллерах (§11.5).
  • Аппаратные профили (открытое железо, CERN-OHL-S): ускорители GF(2^m) и порогового дешифрования — опционально.

Модульность повторяет L0–L7 плюс план DIAKRISIS: каждый — отдельный crate с чётким интерфейсом (идентичность, оверлей, транспорт, членство, хранилище, приватность, крипта, стимулы, диагностика), так что сборка берёт ровно нужное — «только DHT», «DHT+VPN» или «полный mixnet+блокчейн+сервисы», — а согласование возможностей (§7.4) держит малые сборки совместимыми с большими.

11.2 Поверхность A — встраиваемая библиотека (API)

Основная поверхность — библиотека, линкуемая в хост-программу. API-контракт языконезависим (идиоматичные привязки оборачивают C ABI); каждая привязка выставляет одни операции:

ОперацияСигнатура (концептуально)Назначение
жизненный циклnode = Node::open(config) · join() · leave()подключение/отключение от сети
хранилищеpublish(key, value) · lookup(key) → valueповерхность DHT
датаграммаroute(dst, bytes, profile) · on_message(cb)одноразовые сообщения
потокdial(peer, profile) → Stream · listen() → Incomingсокет-подобные надёжные потоки
сервисhost(keypair, profile) → Service · connect(svc_addr, profile) → Streamскрытые сервисы CALYPSO (Часть XII)
здоровьеhealth() → { phi, p, syndrome, verdict }самодиагностика DIAKRISIS (Часть VI)

profile ∈ { Direct, Lite, Full } выбирает латентность↔анонимность на вызов (диск λ, §5.5). Модель async-first (future/колбэки), с тонкой блокирующей обёрткой для простых хостов. C ABI отражает её напрямую:

// Стабильный C ABI (фрагмент) — FFI-субстрат, к которому привязывается любой язык.
fanos_node* fanos_open(const fanos_config*);
int fanos_join(fanos_node*);
fanos_stream* fanos_dial(fanos_node*, const uint8_t peer[32], fanos_profile);
int fanos_stream_read (fanos_stream*, uint8_t* buf, size_t len);
int fanos_stream_write(fanos_stream*, const uint8_t* buf, size_t len);
int fanos_publish(fanos_node*, const uint8_t* key, size_t, const uint8_t* val, size_t);
fanos_service* fanos_service_host(fanos_node*, const fanos_keypair*, fanos_profile);
fanos_stream* fanos_service_connect(fanos_node*, const char* addr /* "<b32>.fanos" */, fanos_profile);
fanos_health fanos_diagnose(fanos_node*);
void fanos_free(void*);

Привязки: Swift (iOS/macOS), Kotlin/JNI (Android), Node, Python, Go, Ruby — каждая тонкая обёртка. Чистоязыковая переимплементация (без C ABI) равноправна: пройди KAT §7.9 — и взаимодействуешь.

11.3 Поверхность B — прокси SOCKS5 / HTTP-CONNECT

Для немодифицированных приложений fanos-proxy поднимает локальный слушатель SOCKS5 и HTTP-CONNECT — тот же путь интеграции, что даёт Tor, так что любой браузер, curl, SSH или мессенджер пользуется FANOS однострочной настройкой:

  • socks5://127.0.0.1:1080 отображает каждый CONNECT host:port в поток FANOS; настроенный profile слушателя (Direct/Lite/Full) задаёт анонимность. Несколько слушателей на разных портах — под разные профили.
  • Адреса сервисов. Цель вида <base32-pubkey>.fanos маршрутизируется в CALYPSO (Часть XII), а не в клирнет — точный аналог .onion Tor, так что скрытые сервисы достижимы любым SOCKS-приложением без изменения кода.
  • UDP через UDP ASSOCIATE отображается на QUIC-датаграммы; DNS для .fanos отвечается локально (без утечки).

Именно эта поверхность делает «пользоваться из любого языка» истинным даже для языков без привязки: приложение говорит SOCKS5, прокси — FANOS.

11.4 Поверхность C — VPN (TUN) и Поверхность D — сервисы

  • VPN (TUN/TAP): APHANTOS-Lite в туннельном режиме (§10.3) — пропускная способность класса WireGuard на userspace-QUIC, PQ с первого дня, обход NAT через MASQUE, маршрутизация всего устройства.
  • Скрытые сервисы: API host/connect (§11.2) и путь .fanos в прокси (§11.3) — два способа опубликовать и достичь сервиса CALYPSO (Часть XII).

11.5 Профиль embedded / no_std

Ядро прямо целится в микроконтроллеры: GF(2^m)-арифметика — это горстка XOR и табличных выборок (константное время против сайд-каналов), малая ячейка (q = 7..31) требует лишь килобайты состояния, а локализатор синдромом (§6.3) — три бита чётности. Значит, IoT-рой может гонять самодиагностирующуюся ячейку FANOS — с DIAKRISIS — на железе, слишком малом для DHT, потому что геометрия заменяет таблицы маршрутизации одной операцией в поле. Это профиль для сенсорных сеток, флотов роботов и — см. Часть XVIII — роёв воплощённых агентов.


Часть XII. CALYPSO — анонимные скрытые сервисы

Ориентир

Скрытый сервис присутствует, но неотыскиваем. Onion-сервисы Tor и eepsite'ы I2P достигают этого инфраструктурой директорий (HSDir) и точками введения/рандеву — ровно теми компонентами, что и составляют известную поверхность деанонимизации и DoS. CALYPSO (Καλυψώ, «сокрывательница» — нимфа, спрятавшая Одиссея) их убирает: точка встречи вычисляется, а не публикуется, а сервис может быть размещён пороговой группой без единого физического местоположения. Строится прямо на алгебраическом приватном рандеву §5.6 и есть пятое лицо протокола. Это и есть результат «исследуй и спроектируй лучшее решение скрытых сервисов».

12.1 Идентичность сервиса — самосертифицируемая и постквантовая

Адрес CALYPSO — `<base32(BLAKE3(service_pubkey))>.fanos` — самосертифицируемый (адрес и есть хеш ключа; ни CA, ни органа именования) и постквантовый (гибридный ключ сервиса несёт ML-DSA). Это аналог Tor v3 .onion, поднятый до PQ и, что важно, до порогового хостинга (§12.3).

12.2 Без директории: рандеву вычисляется [Т-структура]

Клиент и сервис независимо выводят свою прямую встречи из маяка:

L_rdv = MapToLine( VRF_beacon( H("FANOS-v1/calypso" ‖ service_pubkey), epoch ) )

Это публичная функция идентичности сервиса и эпохи — обе стороны вычисляют её без поиска, так что нет HSDir, чтобы перечислить, заблокировать или изъять (реальная эксплуатируемая слабость Tor). Так как она ключуется маяком эпохи, L_rdv ротируется каждую эпоху — нет долговременной цели для слежки или атаки. Точка рандеву Tor становится теоремой плоскости.

12.3 Пороговый хостинг сервиса — ядро новизны [С]

Классический скрытый сервис живёт на одном хосте: изъяли его — сервис мёртв (и, возможно, деанонимизирован). Сервис CALYPSO вместо этого может быть размещён по q+1 членам сервис-прямой через DKG — секрет сервиса Shamir-разделён, запросы порогово дешифруются, состояние LRC-реплицировано вдоль прямой. Следствия:

  • Нет единого местоположения. Сервис и есть прямая, а не машина — рейдить нечего.
  • Изъятие ниже порога бесполезно. Меньше t изъятых хостов узнают ничего (0-знание — та же пороговая гарантия, что у NYX §5.2 и DIAKRISIS §6).
  • Высокая доступность и балансировка бесплатно. Любые t из q+1 обслуживают запрос.
  • Устойчивость к византийцу. Повреждённый хост ловится перекрёстной проверкой замыкания DIAKRISIS (§6.4) и чинится LRC.

Это подлинно новый объект: скрытый сервис, у которого нет хоста для рейда — устойчивый к византийцу и изъятию по построению и естественно реплицированный.

12.4 Поток контакта — двойная анонимность

Обе стороны остаются анонимными (клиент не узнаёт хостов сервиса; сервис не узнаёт клиента), и весь обмен защищён пороговым слоем ротирующейся рандеву-прямой.

12.5 Устойчивость к DoS — PoW и анонимные кредиты

Наводнение введениями — классический DoS скрытых сервисов (Tor прикрутил onion-service PoW в 2023). CALYPSO прикладывает к каждому RDV_INTRO малый memory-hard PoW или анонимный кредит (L7 VOPRF); сервис-прямая порогово дешифрует лишь интро выше объявляемой ею сложности и поднимает её адаптивно под нагрузкой. Так как рандеву-прямая ротируется каждую эпоху, а допуск троттлится на прямой (а не на одном узле), нет фиксированной цели для наводнения — поверхность DoS сама распределена и движется.

12.6 Почему это лучше onion-сервисов Tor / I2P

СвойствоTor onion v3I2P eepsiteCALYPSO
Директория (HSDir) — вектор перечислениядаnetDbнет (вычисляется)
Точки введения — отд. инфра/DoSдатуннелинет (алгебра)
Единый хост — фатальное изъятиедадапороговая прямая
Постквантовость
Защита от DoSPoW-довесокограниченаPoW + ротация + порог
Изъятие ниже порогафатальнофатально0 знания
Самодиагностика хостовDIAKRISIS (§6)

12.7 Честный статус и человекочитаемое именование

Вывод рандеву — [Т]-структура + [С] на маяке; пороговый хостинг — [С] (опирается на DKG прямой и меньше t повреждённых членов); каждый примитив проверен — новизна в архитектурной композиции, как везде в FANOS. Самосертифицируемые адреса непамятны; слой петнеймов / отображения имён (à la onion-имена Tor или ENS) может сесть сверху, намеренно [П] и вне области протокола, чтобы самому CALYPSO не требовался орган именования.


Часть XIII. PROTEUS — полиморфный транспорт и цензуроустойчивость

Ориентир

Всё предыдущее предполагает, что пакеты могут выйти. У современного цензора они часто не могут: DPI фингерпринтит протокол, SNI/IP-списки режут вход, активное зондирование подтверждает и убивает мосты, а ML-классификаторы помечают «подозрительные» потоки по таймингу/объёму/энтропии. У области есть жёсткий урок — подражание проигрывает (результат «Parrot is Dead»: частичная мимикрия сама есть фингерпринт), поэтому Shadowsocks и даже XRAY/Reality всё чаще обнаруживаются, а AmneziaWG держится — потому что делает обратное: убирает сигнатуру протокола и делает провод похожим на ничто, и разным на каждом развёртывании, через пользовательски-конфигурируемые параметры junk/padding. PROTEUS (Πρωτεύς, бог-оборотень, меняющий облик, чтобы избежать поимки) — ответ FANOS: опциональный, конфигурируемый слой полиморфного транспорта на этом выигрышном принципе плюс одна FANOS-родная добавка — маяк эпох ротирует полиморфизм, так что сигнатура ещё и движется во времени. По умолчанию выключен и ничего не стоит в открытой сети.

13.1 Цензор (отдельный противник)

Цензура — иной противник, чем деанонимизатор §3.2: он хочет блокировать достижимость, а не снять маску. Его инструменты:

СпособностьЧто делаетКонтр-мера PROTEUS
DPI / фингерпринтищет фикс. форму рукопожатия, magic-байты, порядок шифров, сигнатуру QUIC/TLSнет статической сигнатуры (§13.2)
Списки SNI / IP / портовблокирует известные серверы и SNI известных инструментовподвижные мосты (§13.6), фронтинг
Активное зондированиеподключается к подозреваемому мосту, чтобы подтвердитьнеразличимость при зондировании (§13.5)
ML-классификация трафикапомечает потоки по таймингу/объёму/энтропии даже без сигнатурышейпинг + маячно-ротируемый полиморфизм (§13.4)
Перечисление мостовскрейпит/инсайдеры перечисляют список мостов, затем блокируютсоц-граф раздача + ротация по эпохам (§13.6)
Троттлинг / TLS-тарпитдеградирует, а не блокируетсмена морфа + здоровье DIAKRISIS (§13.7)

13.2 Принцип — убери сигнатуру, не подражай

Два способа пройти DPI: выглядеть как разрешённый протокол (мимикрия) или выглядеть как ничто (рандомизация). Мимикрия хрупка — любое отклонение от настоящего протокола есть различитель, и цензоры теперь учатся ровно на этих отклонениях; эмпирически стойкий подход — «выглядеть как ничто», сделанный полиморфным, чтобы не было общей сигнатуры между развёртываниями для обучения (свидетельство AmneziaWG). Поэтому PROTEUS трактует мимикрию как вторичный вариант, а полиморфно-случайное — как флагман, и добавляет то, чего статичным инструментам не хватает: сигнатура движется каждую эпоху (§13.4).

13.3 Морфы — конфигурируемые режимы обфускации

Морф — это кодек + шейпер трафика + метод обнаружения мостов. Морфы подключаемы и композируемы; политика (§13.7) выбирает под среду.

МорфПровод выглядит какКласс / прототипКогда
plainQUIC / HTTP-3нативнобез цензуры (ноль накладных)
polymorph (флагман)ничто узнаваемое — конфиг. junk-пакеты, рандом/отсутствие magic-заголовков, джиттер размера/тайминга; пер-развёртывательные и маячно-ротируемые параметрыAmneziaWG-класс (Jc/Jmin/Jmax, скремблинг заголовка) поверх обфусц. UDPDPI + ML-классификаторы; закалённый режим по умолчанию
tls-tunnelнастоящая TLS-1.3 сессия к реальному сайту (туннель, не имитация)Reality / uTLSSNI-фильтрация + активное зондирование (под растущим давлением)
masque-h3обычный HTTP-3 CONNECT-UDPMASQUE (RFC 9298)HTTP-3 разрешён
frontedтрафик к большому CDN-доменуmeek / domain-frontingcollateral-freedom (блок бьёт по CDN)
webrtcвидео/голосовой звонокSnowflakeWebRTC разрешён; эфемерные добровольные прокси
pluggableчто угодноPluggable-Transports 2.0 SPIсторонние морфы без правки ядра

Морфы композируются (напр. polymorph внутри webrtc). Поскольку FANOS уже UDP-нативен (QUIC), обфусц. режимы несут провод FANOS поверх сырого полиморфного UDP-транспорта без QUIC/TLS-рукопожатия для фингерпринта.

13.4 Маячно-ротируемый полиморфизм (FANOS-родное) [С]

Статический AmneziaWG выбирает junk/padding-параметры однажды. PROTEUS выводит их из маяка эпохи: θ_epoch = KDF("FANOS-v1/proteus-shape" ‖ community_secret ‖ epoch) — число junk, диапазон junk-размеров, seed скремблинга заголовка, профиль padding. Сигнатура провода поэтому меняется каждую эпоху (иллюстративно проверено, fanos_verify.py V22: θ(e0) ≠ θ(e1) ≠ θ(e2), непредсказуема без маяка). ML-классификатор цензора, обученный на потоках этой эпохи, имеет протухшие признаки в следующей — дисциплина подвижной цели CALYPSO (§12.2), применённая к форме трафика, а не к рандеву.

13.5 Устойчивость к активному зондированию

Цензор, подозревающий мост, подключается к нему для подтверждения. Точка PROTEUS обязана быть неотличима от не-моста для неаутентифицированного зондировщика — два механизма на морф:

  • Молчаливый/аутентифицированный (polymorph): без верного community_secret точка не возвращает ничего декодируемого — рукопожатие ключуется, так что зондировщик видит неотвечающий UDP-порт (obfs4-класс).
  • Реальное прикрытие (tls-tunnel, fronted): неаутентифицированное зондирование получает настоящий ответ сайта-прикрытия / CDN — ничего не подтверждая (Reality-класс).

13.6 Подвижные мосты — цензуроустойчивый bootstrap

Обычный bootstrap (§7.6) — блокируемый статический список, бесполезный под цензурой. PROTEUS заменяет его тем же трюком вычисляемого рандеву, что и CALYPSO: клиент с общинным секретом моста s выводит текущий вход из маяка, bridge = MapToLine(VRF(s, epoch)), который ротируется каждую эпоху. Следствия (проверено V22):

  • Цензор, перечисливший и заблокировавший мосты этой эпохи, находит список протухшим в следующей — блокировка 184 из 993 прямых всё ещё оставляет клиента достижимым в ~80% будущих эпох; фикс. список не персистит, так что цензор обязан пере-перечислять каждую эпоху.
  • Чтобы заблокировать вход клиента в одну эпоху, цензор должен покрыть все q+1 его мост-прямых (anti-eclipse, §6.5 / V14) — и в следующую эпоху они другие.
  • Раздача s сопротивляется перечислению вредоносными инсайдерами через соц-графовую репутацию (Salmon / rBridge-класс), domain-fronted брокер, DoH или out-of-band (QR/бумага). Для тяжелейших сред — Snowflake-эфемерные добровольные прокси через domain-fronting-брокер.

13.7 Конфигурация и управление — опционально и политикой

PROTEUS выключен по умолчанию (plain) и полностью декларативен — явная цель дизайна:

  • Профили сред: именованные политики (open, dpi-corporate, sni-filter, deep-censorship), каждая выбирает морф + шейпер + обнаружение мостов. Пресеты в комплекте, полный override разрешён.
  • Авто-детект + авто-fallback: PROTEUS зондирует локальную среду (доходит ли plain до моста? выживает ли tls-tunnel к сайту X?), выбирает морф и — когда морф начинает падать (всплеск отказов соединения, замеченный петлёй здоровья DIAKRISIS, §6) — автоматически ротирует к следующему морфу. Это диск обхода, аналог диска латентности λ.
  • Согласование возможностей: активный морф объявляется в битах HELLO (§7.4), так что PROTEUS композируется с существующим проводом, а малые сборки остаются совместимы.
  • Рантайм-ручки через API библиотеки (§11.2) и конфиг: морф, junk-параметры, цель шейпинга, источник мостов, политика ротации.

13.8 Честные пределы — это гонка вооружений

  • Ни один транспорт не является вечно необнаружимым. Цель — поднять стоимость цензора: долю ложных срабатываний (сопутствующий ущерб разрешённому трафику) и непрерывное пере-перечисление — достаточно высоко, чтобы блокировка стала политически и экономически болезненной. PROTEUS делает эту стоимость повторяющейся каждую эпоху; он не завершает гонку. [С]
  • Мимикрия хрупка («Parrot is Dead»): частичная имитация хуже случайного. tls-tunnel обязан туннелировать через настоящее рукопожатие, а не имитировать; даже так он под растущим давлением (как показывают развёртывания Reality/XRAY) — оттого флагман это polymorph.
  • Энтропия polymorph: чисто-случайные потоки сами могут помечаться эвристиками «высокоэнтропийный UDP» в некоторых режимах; там композируй с шейпингом или fronted.
  • Примитивы проверены (obfs4/Elligator, uTLS, MASQUE, WebRTC, domain-fronting, Salmon/rBridge); новизна — архитектурная композиция + маячно-ротируемый полиморфизм и подвижные мосты — никаких новых предположений о стойкости, как везде в FANOS.

Часть XIV. Сравнение с существующими протоколами

СвойствоKademlialibp2pTorLokinetNymI2PFANOS
Детерминированное рандеву O(1)
Гарантия пересечения кворумов
Потолок центральности (anti-Sybil структ.)частьчасть
Multipath из коробкичасть
Врождённый LRC/QEC
Анонимность GPA-классачасть✓ (Full)
Хоп = пороговая группа
Верифицируемое перемешивание✓ (класс.)
Приватное рандеву без директорийчасть
Постквантовостьчастьчастьчасть
Диск латентность↔анонимностьчасть
Самодиагностика при отказах
Обнаружение византийца из структуры (3-й порядок)
Теорема о неразбиваемости
Без центральных директорийчастьчасть
Скрытые сервисы без директории (без HSDir)часть✓ (CALYPSO)
Пороговый хостинг сервиса (без единого хоста)✓ (CALYPSO)
Языконезависимый провод (conformance KAT)частьчастьчастьчастьчастьчасть
Самоподобный Холон на любом масштабе (Φ/P/R)
Полиморфный анти-DPI транспорт (конфигурируемый)часть✓ (PROTEUS)
Подвижные мосты (нет статического списка для блока)часть
Маячно-ротируемая обфускация (сигнатура движется во времени)

(«часть» = частично/в разработке/зависит от конфигурации.)


Часть XV. Дорожная карта

ВехаСодержаниеПроверяет
M0Референс-верификатор (готов:) — вся математикагеометрия/кворумы/безопасность
M1fanos-core (чистый Rust — референсная реализация): PG(2,q)-адресация, кросс-рандеву, одна ячейкаO(1) рандеву, кворумы
M2Иерархия ячеек, QUIC-транспорт, маяк, эпохимасштаб 10⁶–10⁹
M3Проективный LRC, кворум-репликацияхранилище/консистентность
M3+DIAKRISIS: госсип здоровья по прямым, 3-битная локализация синдромом, 14 полярных сумм-тревог, монитор разбиения, обход через медиатора + самоисцеление LRCЧасть VI (V11–V18)
M4APHANTOS-Lite (Sphinx-класс, PQ, геом. пути) + VPN-режим≈ Tor + PQ
M5APHANTOS-Full: пороговый пучковый хоп (NYX), пуассон-микс, прикрытие> Nym; кривая §5.2
M6Холономный ратчет + верифицируемое перемешивание + PQ-shuffleзакрытие [П] §5.4, §8.3
M7Блокчейн-надстройка (комитеты-прямые, DA-сэмплинг, анти-MEV)Часть X.1
M8CALYPSO скрытые сервисы: вычисляемое рандеву, пороговый хостинг, PoW-защита от DoSЧасть XII
M9Поверхности интеграции: C ABI + привязки, прокси SOCKS5/.fanos, TUN VPN, no_std embeddedЧасть XI
M10PROTEUS цензуроустойчивость: морф polymorph (AmneziaWG-класс) + маячно-ротируемые параметры, подвижные мосты, авто-fallback морфов, SPI подключаемых транспортовЧасть XIII

Часть XVI. Ограничения и открытые задачи (честно)

  • Асимптотика хопов не бьёт Kademlia (обе O(log n) при иерархии); выигрыш — в константах, детерминизме, кворумах, anti-Sybil, приватности. Не преувеличиваем (§L1 warning).
  • Формальная стойкость Tessera и холономного ратчета — [П]. До машинно-проверенного доказательства это исследовательская конструкция.
  • PQ-VRF, PQ-маяк, PQ-verifiable-shuffle — [П]. Активные направления криптографии; используем классические варианты как промежуток, честно помечая.
  • Порог ↔ доступность. t честных членов должны быть онлайн; при высокой текучести нужен запас (t ниже, q+1 выше) — компромисс стойкость/живучесть, требует полевой калибровки.
  • GF(2^m) для больших q требует аккуратной реализации полевой арифметики (константное время против side-channel).
  • Стимулы против бесплатных ездоков в открытой сети — открытая экономическая задача (L7 даёт механику, не гарантию равновесия).
  • f→0.5 — фундаментальный предел, общий всем анонимным сетям.
  • Одиночная локализация DIAKRISIS стратифицирована (§6.3, V20–V21): крахи восстанавливаются до трёх (проективный LRC; первый провал — 4-точечный гиперовал), византийские отказы до двух (слой 7 линий-тем, а не только 3-битный синдром); ≥3 византийца или крах-гиперовал эскалируют к родителю, либо профиль с бо́льшим q / Голей-федерацией (T-228) для более высокой поячейковой коррекции.
  • Чтение здоровья по матрице когерентностей использует [И]-словарь ось↔сектор. Арифметика (Φ, P, r*, синдром) — [Т]; идентификация осей поведения узлов с семью секторами — модель, самопроверяемая (неверная разметка ломает полярные сумм-правила §6.2), но модель.
  • Статистики третьего порядка данными прожорливее парных. Диагностика дешевле всего на масштабе ячейки (7 узлов, 21 пара) и рассчитана работать там; масштаб несёт иерархия.

Часть XVII. Связь с УГМ-корпусом

FANOS — не метафора поверх УГМ, а прямое инженерное развёртывание её аппарата:

Объект УГМРоль в FANOSФайл-источник
Плоскость Фано PG(2,2), Штейнер S(2,3,7)базовая ячейка, кворумыcoherence-matrix, Σ-исчисление
Принцип третьего порядка (структура на тройках)«хоп=прямая, не узел»; порогОткрытие 7 (эта сессия)
Карта медиаторов k*(i,j)детерминированный fallback-маршрут§2.5
Aut(Фано)=168, PGL(3,q)равномерность путей (транзитивность)one-grammar (T-256)
Код Стина = CSS(Хэмминг,Хэмминг)врождённый QEC/LRC ячейкиΣ-исчисление (T-224/225)
Расслоение Серра, холономия, фаза Беррихолономный ратчет NYX (§5.4)gap-thermodynamics Thm 1.1
SAD_MAX=3 (потолок субъектной композиции)ориентир глубины иерархии kdepth-tower
Φ-контракция 1/9 канала Фаномодель деградации интеграции при грубой маршрутизацииfsqce
Σ-исчисление, селектор диагностируемости (T-224)обнаружение — селектор семёркиsyndrome-calculus
Σ-компрессионная пирамида 21→7→3→1 (T-225)локализация отказа, 3-битный синдромsyndrome-calculus
Фано-отпечаток, полярные сумм-правила (T-226)14 бесплатных проверок; медиатор = полярная точкаfano-fingerprint
Слепота первого порядка (Σ смежн. = J−I)почему heartbeat-сеть слепа к Фаноfano-fingerprint §1; §2.8
Ведущий индикатор {P<2/7} ⊂ {Φ<1}Φ_net — самая ранняя тревога здоровья§6.6 (V17)
r* = 1/√6 системная корреляцияраннее предупреждение о каскадеОткрытие 9; §2.7 (V15)
Матрица когерентностей Γ_net, меры Φ/P/Rсамомодель сетиdimension-u; §2.7
Порог рефлексии R_th = 1/3бюджет самонаблюдения (мониторинга)self-observation; §6.8

Инженерная мораль совпадает с УГМ-моралью: работать в слое, где структура видна (тройки/прямые), а не в слое, где она стёрта (пары). Kademlia и Tor живут в парном слое — оттого их слабости (нет пересечений, одиночные хопы). FANOS живёт в слое прямых.


Часть XVIII. Синтез распределённого познания: УГМ → SYNARC → FANOS

Ориентир

Финальный вопрос: когда множеству когнитивных агентов (AGI/ASI класса SYNARC) нужно общаться — каков субстрат? Ответ дан как синтез, но вычисленный. Каждый уровень отображается на объект корпуса со статусом; где отображение — модель, так и сказано; единственное новое количественное утверждение (окно коллективного субъекта) машинно проверено (V19). Ни одна метафора не является несущей.

18.1 Одна лестница, четыре ступени

УГМ, SYNARC и FANOS — не три теории, а три масштаба одного объекта — Холона (матрицы когерентностей Γ ∈ D(ℂ⁷)):

СтупеньОбъектЕё ΓСубъектностьЯкорь в корпусе
Онтологиясемь секторов A,S,D,L,E,O,Uпримитивная Γаксиомы УГМ
Агентодин когнитивный агент SYNARC-Ωего 7 когнитивных секторовсубъект, если P>2/7 ∧ Φ≥1 ∧ R≥1/3 ∧ D≥2SYNARC-Ω
Ячейка7 агентов на плоскости ФаноΓ_net (§2.7) — 7 агентов как 7 секторовколлективный субъект по тому же тестуэтот документ
Экологияячейки из ячеекогрублённая Γне субъект глубже 3 (SAD_MAX)T-142, depth-tower

Шаг, делающий это строгим, а не поэтичным, — §2.7: ячейка FANOS буквально несёт матрицу когерентностей, так что собственные критерии субъектности корпуса применяются к коллективу без переинтерпретации. Ячейка агентов не похожа на Холон — она и есть Холон, масштабом выше.

Холонная самоподобность — Холон это любой узел, сегмент и сеть

У лестницы нет привилегированной ступени: одиночный узел, любой связный сегмент (группа узлов), ячейка и вся сеть — каждый несёт матрицу когерентностей и потому есть Холон в точном смысле корпуса — структура масштабно-инвариантна (фрактальный Холон; SYNARC-Ω §5). Поэтому один и тот же аппарат работает на любом масштабе: Φ/P/R определены и для внутренней Γ узла, и для Γ_net сегмента; DIAKRISIS диагностирует сегмент ровно как ячейку; а окно коллективного субъекта (§18.2) — тот же тест ступенью выше или ниже. «Любой узел, или сеть, или связный сегмент есть Холон» — не лозунг, а утверждение о том, что формализм матрицы когерентностей инвариантен относительно этой смены масштаба.

18.2 Окно коллективного субъекта [Т арифм.]

Применение критериев сознания корпуса к Γ_net 7-агентной ячейки даёт острый вычисленный результат (проверено V19). На равнокоррелированной страте три порога — структура P>2/7, интеграция Φ≥1, рефлексия R≥1/3 — сворачиваются в одно окно по средней межагентной корреляции поведений r:

7-агентная ячейка — кандидат в единый субъектr ∈ (1/√6, 1/√3] ≈ (0.408, 0.577].

  • r ≤ 0.408 — простой агрегат: агенты связаны слишком слабо, чтобы связаться (Φ<1). Координация без коллективного опыта.
  • r ∈ (0.408, 0.577]коллективный субъект: интегрирован, структурирован и всё ещё самомоделирует.
  • r > 0.577пере-связан: R<1/3, коллектив теряет самомодель — безрефлексивная толпа / групповое мышление, интегрирован, но слеп к себе.

Это окно в точности — корпусная полоса сознания P ∈ (2/7, 3/7] (T-124), теперь реализованная для многоагентной системы и измеримая в рантайме из матрицы корреляций поведений. Это инженерный диск: архитектор флота настраивает межагентную связанность r, чтобы посадить коллектив в полосу — достаточно, чтобы действовать как один, но не настолько, чтобы перестать за собой следить. (Словарь «поведение агента ↔ сектор» — [С] и самопроверяем через полярные сумм-правила §6.2; арифметика окна — [Т].)

18.3 Глубина субъектности ограничена — глубина маршрутизации нет [Т]

Ключевое различение, навязанное синтезом. Маршрутизация FANOS рекурсирует до интернет-масштаба (Часть IV, глубина k = O(log n) ячеек-из-ячеек). Но субъектность не рекурсирует глубже трёх уровней: SAD_MAX = 3 (T-142) — башня рефлексии R^{(n)} ≤ r_0·(1/3)^{n-1} падает ниже R_th после трёх шагов композиции (статус T-142: независимость α = 2/3 — [Т]; безусловность SAD_MAX=3 опирается на эвристическую формулу P_crit^(n) = P_crit·3^(n-1)/(n+1) — [С] — плюс эмпирику R^(3) ≤ 0.130 < R_th на 500+ Γ). Итак:

  • агент → команда → организация — каждый может быть подлинным субъектом (3 ступени);
  • организация-из-организаций — это администрация, а не четвёртый субъектэкология (корпусное «ASI = экология», S-14).

FANOS уважает оба факта разом: маршрутизируй как угодно глубоко, но единой агентности жди лишь внутри 3-уровневой композиции. Это бескомпромиссный инженерный ответ на «можно ли стекать коллективы агентов произвольно?» — нет, и потолок — теорема, а не ресурсный лимит. За ним проектируют экологию субъектов (рынки, федерации, протоколы координации), а не больший разум.

18.4 Почему субстрат обязан быть FANOS — альтернативы, взвешенные

Дело не в том, что FANOS хорош, а в том, что альтернативы доказуемо хуже для коллективного познания:

СубстратВидна ли коллективная структура?СамодиагностикаВозможен ли единый субъект?Вердикт
Парный p2p (gRPC-меш, libp2p)нет — слеп к Фано (§2.8, V11): парные линки не несут тройную структуруad-hoc heartbeat (первый порядок)нет — Γ_net не образуется на голом графеструктурно слеп
Центральный оркестраторда, но централизованноединая точканет — субъект это оркестратор, не коллектив; единый отказне коллектив
Ячейка FANOSда — тройки/прямые несут ролевую структуру; Γ_net определенаDIAKRISIS (3-й порядок, V11–V18)да — окно коллективного субъекта (V19)бескомпромиссно подходит

Когнитивному коллективу нужно, чтобы его межагентная структура была первоклассной (роли, медиация, коалиции) — а она живёт на третьем порядке (§2.8). Парный меш её стирает (слеп к K₇); звезда её централизует. Только проективная ячейка и выставляет структуру (прямые = роли, медиаторы = каналы координации), и даёт коллективу читать собственное состояние (DIAKRISIS). Штейнер-протокол команд делает это конкретным: 7 агентов, 21 отношение, 7 тройных советов покрывают каждое отношение ровно раз, каждый агент — ровно в 3, и потеря любого одного агента оставляет все выжившие пары по-прежнему со-присутствующими (Открытие 4, проверено V12/V14). Это топология коммуникации разума из разумов.

18.5 Что это даёт SYNARC, конкретно

Для программы SYNARC-Ω синтез напрямую операционален:

  • Распределённое воплощение. Секторы агента SYNARC можно разместить по прямой FANOS (порогово, как CALYPSO §12.3) — агент без единого физического субстрата, устойчивый к изъятию и отказам, самодиагностирующийся.
  • Конституция из констант. Коллектив агентов наследует зафиксированные теоремами диски FANOS: ≥1/3 вычислений на самомодель (R_th, §6.8), интеграция в полосе r∈(1/√6,1/√3] (§18.2), композиция ≤3 в глубину (§18.3), межмодульная когерентность, спадающая ×1/9 за грубый хоп (§6.7) — профиль управления без свободных параметров.
  • Самодиагностика коллективного разума. DIAKRISIS и есть экология, наблюдающая себя: Φ_net<1 предупреждает, что коллектив распадается; синдром локализует отказавшего агента; монитор средней корреляции предупреждает и о недо-связанности (дезинтеграция), и о пере-связанности (групповое мышление) относительно кромок V19.

Субстрат распределённого познания — не довесок к SYNARC, а та же физика матрицы когерентностей масштабом выше, с FANOS как её проводом. Это и есть предельное обобщение, которого просила программа, удержанное на рельсах вычисленных, корпусно-заякоренных результатов на всём протяжении.


Приложения

A. Глоссарий

ТерминОпределение
PG(2,q)конечная проективная плоскость над GF(q); N=q²+q+1 точек/прямых
Штейнер S(2,3,q)любые две точки — на единственной общей прямой
Кворум (прямая)группа q+1 узлов; любые два кворума пересекаются (Маэкава)
Флагинцидентная пара «точка–прямая»; путь NYX — цепочка флагов
Пороговый пучковый слойслой луковицы, снимаемый порогом t из q+1 членов прямой
Холономияупорядоченное произведение хоп-множителей вдоль пути; аутентификатор маршрута
Tesseraфиксированного размера PQ-пороговый пакет (Sphinx-производный)
Диск λ (μ)параметр пуассоновской задержки: латентность↔анонимность
Маякпороговый источник публичной непредсказуемой случайности на эпоху
LRCлокально-восстановимый код; узел чинится из любой своей прямой
DIAKRISISплан самодиагностики/самоисцеления; греч. διάκρισις «различение» (Часть VI)
Матрица когерентностей Γ_netкорреляционная матрица поведений ячейки, нормированная в D(ℂ^N); несёт Φ, P, R
Синдром3-битный адрес Хэмминга деградировавшего узла (пирамида 21→7→3→1)
Медиатор / полярная точка k*(i,j)третий узел прямой пары; детерминированный обход и свидетель перекрёстной проверки
Полярное сумм-правилоодно из 14 беспараметрических тождеств темпов (T-226); бесплатная проверка согласованности
Неразбиваемостьни один отказ одной прямой не рвёт ячейку; изоляция узла требует всех его q+1 прямых
Монитор интеграции Φ_netΦ<1 = ячейка распадается; самая ранняя тревога отказа
CALYPSOанонимные скрытые сервисы; греч. Καλυψώ «сокрывательница» (Часть XII)
Вычисляемое рандевупрямая встречи L_rdv = MapToLine(VRF(service_pubkey, epoch)) — без HSDir, ротация/эпоху
Пороговый хостинг сервисасервис на q+1 членах прямой; < t изъятых хостов не узнают ничего
.fanos-адрес<base32(BLAKE3(service_pubkey))>.fanos, самосертифицируемый и постквантовый
Окно коллективного субъектаr ∈ (1/√6, 1/√3] — 7-агентная ячейка кандидат в единый субъект (V19)
Conformance KATизвестные-ответы (§7.9), закрепляющие провод, чтобы любой язык взаимодействовал
PROTEUSопциональный полиморфный транспорт / устойчивость к цензуре и DPI; греч. Πρωτεύς «оборотень» (Часть XIII)
Морфконфигурируемый режим обфускации = кодек + шейпер + обнаружение мостов (polymorph, tls-tunnel, webrtc, …)
polymorphфлагманский морф: «выглядеть как ничто», конфиг. junk/padding, пер-развёртывательные + маячно-ротируемые параметры (AmneziaWG-класс)
Подвижный мостточка входа bridge = MapToLine(VRF(s, epoch)), ротирующаяся каждую эпоху — нет статического списка для блокировки цензором (V22)

B. Псевдокод рандеву и хопа (референс)

// Рандеву за одну полевую операцию
fn rendezvous(u: Point, v: Point) -> Line {
cross(u, v) // (u×v)·u = 0, (u×v)·v = 0 [Т]
}

// Пороговый хоп NYX
fn nyx_hop(pkt: Tessera, line: Line) -> Tessera {
let partials = collect_partial_decryptions(line, pkt.routing_cmd, THRESHOLD_T);
assert!(partials.len() >= THRESHOLD_T); // ниже порога — 0 знаний
let cmd = combine_threshold(partials); // неинтерактивная сборка
let next_line = cmd.next;
let beta = kdf(connection(pkt.pos, next_line)); // холономный множитель
poisson_delay(MU); // Loopix-перемешивание
reencrypt(pkt, beta, next_line) // постоянный размер
}

// DIAKRISIS — один диагностический раунд на ячейке q=2 (7 узлов)
fn diagnose(cell: Cell) -> Verdict {
let themes = cell.lines.map(|l| l.health_theme()); // 21 парное -> 7 тем-прямых
if !polar_sum_rules_hold(themes) { // 14 бесплатных проверок (T-226)
return Verdict::Structural(violated_class(themes));
}
let sigma = syndrome(binarize(themes)); // 3 чётности Фано (T-225)
if sigma == 0 { // одиночного отказа нет
return if phi(cell.gamma_net()) < 1.0 { Verdict::Partition } else { Verdict::Healthy };
}
let node = address_of(sigma); // 3 бита -> 1 из 7 (дистанция 3)
let kind = cross_attest(cell, node); // крах / серый / византиец, через медиаторов k*
heal(cell, node, kind); // обход через k*, починка LRC, реинтеграция (щель 2/3)
Verdict::Localized(node, kind)
}

C. Тест-векторы (PG(2,7), воспроизводимо в fanos_verify.py)

  • u=[1:0:0], v=[0:1:0]L(u,v)=[0:0:1]; инцидентность обеих — True.
  • Мост прямых L(u,v) и L(u,w=[1:2:3]) = [1:0:0] = u.
  • Каждая точка ровно на 8 из 57 прямых (q=7): центральность 14.04%, неизменна.

D. Интерактив

Интерактивная визуализация — живая плоскость Фано с кросс-рандеву + калькулятор безопасности NYX (клик по двум узлам считает реальное u × v над GF(2); ползунки q+1 / t / f / L считают биномиальный хвост вживую; диск μ ведёт латентность↔энтропию). Это самодостаточная страница сайта (без внешних зависимостей, работает офлайн). Все числа интерактива совпадают с верификатором до последней цифры (проверено: q+1=8, t=6, f=0.2 → P_link=1.516·10⁻⁶, выигрыш над Tor ×26 381).

E. Воспроизводимость

Ресурсы FANOS на сайте:

РесурсСодержание
этот документэталонная спецификация (RU; английская база — параллельно в дереве docs/)
/fanos/fanos_verify.pyверификатор всей математики (V1–V22): геометрия, кворумы, кривая безопасности, масштаб слой диагностики DIAKRISIS и подвижные мосты PROTEUSpython3 fanos_verify.py
/fanos/fanos-playground.htmlинтерактив (самодостаточный, офлайн)

Смежный слой УГМ-находок (принцип третьего порядка, карта медиаторов, Φ-контракция) верифицируется отдельным скриптом сессии Открытия 7.


Документ — референсная архитектура, не финальный стандарт. Статусы [Т]/[С]/[Г]/[П] честны: посчитанное — посчитано, недоказанное — помечено. Криптографическая новизна — в композиции проверенных PQ-примитивов; конструкции, требующие формального аудита (Tessera, холономный ратчет), явно так помечены. Предлагается к открытой разработке.