Как работает OUO
Люди общаются.
Ноды помогают.
Клиент шифрует сообщение. Сеть находит Home собеседника и доставляет пакет — без доступа к тексту.
01 · Вход в сеть
Сначала клиент узнаёт, куда подключиться
Gateway помогает с приглашением и начальными адресами. Дальше клиент общается со своим Home; Gateway не передаёт каждое сообщение.
Ключи остаются в клиенте. Discovery знает адрес Home, но не хранит переписку.
02 · Найти собеседника
Три способа начать контакт
Выберите способ. Это поиск человека, а не доставка сообщения: после него ещё нужно найти его Home и установить защищённую сессию.
Сканируете QR человека
Поиск по username можно запретить в настройках приватности. Прямой lookup по известному User ID и сетевые метаданные этим не скрываются.
03 · Найти нужную ноду
Discovery отвечает на вопрос «где Home собеседника?»
Пользователи не обязаны находиться на одном сервере. Для удалённого контакта ваш Home узнаёт актуальный адрес его Home и отправляет туда зашифрованный пакет.
Контакт найден.
Теперь найдём его Home.
Карта компонентов
Каждая роль делает свою работу
Некоторые роли могут работать на одной физической машине. Разделение здесь означает ответственность сервиса, а не обязательное число серверов.
Клиент
Ключи и текст остаются на устройстве.
Home Node
Ваш адрес в сети и доставка пакетов.
Gateway
Даёт начальный маршрут новому клиенту.
Discovery
Находит Home по User ID.
Relay, Hub и Storage
Промежуточная доставка и временный буфер при сбое путей.
Media и TURN
Вложения и помощь звонкам.
Варианты доставки
Один Home, два Home или промежуточные узлы
Путь зависит от расположения адресата и доступности нод.
Один Home
Оба клиента обслуживаются одной нодой — межнодовой переход не нужен.
Home → Home
Разные Home связываются напрямую, когда путь доступен.
Relay → Hub
При сбое прямого пути сеть пробует Relay, затем может добавить Hub.