Initial commit

This commit is contained in:
Maxim Kalistratov
2026-02-12 21:23:44 +04:00
commit a5744ea60d
18 changed files with 1769 additions and 0 deletions

View File

@@ -0,0 +1,242 @@
# Morpheus — Модель угроз и решения
## Юридическая позиция
Morpheus — **законопослушная, принципиальная** компания:
- Мы регистрируемся где требуется и работаем в рамках применимого права
- Мы отвечаем на законные запросы данными, которыми реально располагаем
- Мы используем сквозное шифрование NIP-44 для ЛС — содержимое ЛС не является данными, которые мы имеем в читаемой форме
- Мы никогда не добавим бэкдоры, депонирование ключей и не ослабим шифрование
- Мы прозрачны: если нас просят о данных, которые мы не можем предоставить, мы объясняем почему
Это модель Apple/WhatsApp, применённая к социальным сетям:
полное сотрудничество, но архитектура делает определённые запросы технически невозможными.
---
## Основное различие: Приватный ≠ Анонимный
Morpheus — **приватный**, не **анонимный**.
| | Анонимный | Приватный (Morpheus) |
| --- | --- | --- |
| Идентичность | Скрытая, одноразовая | Реальная, постоянная, с репутацией |
| Публичный контент | Нельзя отследить автора | Автор известен — в этом суть |
| ЛС | Никто не может их прочитать | Никто не может их прочитать (NIP-44) |
| Метаданные | Скрытые (уровень Tor) | Доступны операторам реле |
| Юридическая позиция | Уклонение от идентификации | Законопослушность; шифрование защищает контент |
| Атмосфера | Даркнет, паранойя | Нормальная социальная жизнь с реальной защитой |
**Позиция Morpheus:** «Все знают твоё имя. Никто не читает твои сообщения.»
NIP-44 шифрует *содержание* личных сообщений. Метаданные (кто с кем общался, когда)
видны операторам реле. Это честная и защитимая позиция:
мы защищаем разговор, а не факт его существования.
---
## Проблема 1: Несоответствие аудитории и ценностного предложения
**Проблема:** Молодёжь не покупает «приватность». Они покупают скорость, эстетику и статус.
**Решения:**
1. **Вести продуктом, а не протоколом.** Маркетинг никогда не упоминает Nostr, реле или шифрование напрямую. Он говорит: «самое быстрое социальное приложение» или «групповые чаты, которые реально работают».
2. **Приватность как текстура, а не фича.** Вместо страницы «настройки приватности» приватность проявляется как:
- Тонкая иконка замка на ЛС (всегда там, нельзя отключить — просто работает)
- «Сообщения зашифрованы» показано один раз при онбординге, потом никогда
- Нет «был в сети» или «прочитано» по умолчанию (приватность = социальный комфорт)
3. **Скорость — ЭТО фича.** Молодёжь сравнивает приложения по ощущению скорости. Инвестировать непропорционально в воспринимаемую производительность: оптимистичный UI, мгновенная отправка, предзагрузка лент, агрессивное кеширование.
4. **Социальное доказательство важнее фич.** Получить 5 популярных создателей на платформу до публичного запуска. Молодёжь идёт за людьми, а не за протоколами.
---
## Проблема 2: Технические ограничения Nostr
**Проблема:** Nostr не имеет нативной поддержки функций, которые ожидает молодёжь.
### 2a. Групповые чаты
**Текущее состояние:** NIP-29 (группы на базе реле) базовый. Нет богатых функций.
**Решение:**
- Строить на NIP-29 для публичных групп (модерируемые реле, обнаруживаемые)
- Для приватных групп: NIP-44 шифрование с общим групповым ключом, ротация при смене участников
- Реализовать функции групп на уровне клиента: ответы, реакции, закрепы, упоминания, треды
- Это кастомная работа, но даёт конкурентное преимущество — «лучшие групповые чаты на Nostr»
### 2b. Хостинг медиа
**Текущее состояние:** Nostr-события текстовые. Медиа требует внешний хостинг.
**Решение:**
- Запуск управляемых серверов Blossom (BLOb Simple Storage) для загрузки медиа
- NIP-96 хранение файлов как стандарт — пользователи загружают через приложение, раздача через CDN
- Агрессивная клиентская компрессия (WebP/AVIF для изображений, H.265 для видео)
- Прогрессивная загрузка: превью → среднее → полное разрешение
- Квота хранения привязана к уровню аккаунта (бесплатный = разумный, Pro = щедрый)
- Контентно-адресуемое хранение (дедупликация по хешу) экономит расходы
### 2c. Поиск и обнаружение
**Текущее состояние:** Нет глобального поиска. Поиск по реле — специфичен для реле.
**Решение:**
- Клиентский полнотекстовый индекс контента подписок (SQLite/Realm на устройстве)
- «Обзор» на базе курируемой агрегации реле — Morpheus запускает индексирующий реле
- Трендовые темы вычисляются по объёму публичных событий через реле сообщества Morpheus
- Обнаружение по хештегам (NIP-12 запросы по общим тегам)
- «Люди, которых вы можете знать» на основе пересечения социальных графов (вычисляется на клиенте)
- Курируемые людьми рекомендуемые аккаунты и сообщества (редакционно, не алгоритмически)
### 2d. Управление ключами / Восстановление личности
**Текущее состояние:** Потерял nsec = потерял всё. Неприемлемо для молодёжи.
**Решение:**
- **Социальное восстановление ключа (основное):** Разделение секрета Шамира — ключ восстановления делится между N доверенными контактами, требуется K из N для восстановления. «Выбери 5 друзей. Любые 3 могут помочь восстановить аккаунт.»
- **Зашифрованный облачный бэкап (опционально):** Зашифровать nsec паролем пользователя, хранить зашифрованный блоб в iCloud/Google Drive.
- **Ключи привязанные к устройству:** Хранение nsec в Secure Enclave / Android Keystore. Биометрическая разблокировка.
- **NIP-46 (Nostr Connect):** Паттерн удалённого подписанта — для продвинутых пользователей.
- **Прогрессивное раскрытие:** Новые пользователи получают ключ на устройстве + предложение облачного бэкапа. Продвинутые пользователи могут экспортировать nsec.
### 2e. Истории / Эфемерный контент
**Текущее состояние:** Нет нативного примитива Nostr для исчезающего контента.
**Решение:**
- NIP-40 (таймстамп истечения) на событиях — реле удаляют после TTL
- Клиент обеспечивает отображение истечения (даже если rogue-реле хранит событие)
- Истории как карусель событий kind:20 или kind:1063 с истечением через 24ч
- Не «исчезающие» в смысле Signal — но соответствует UX историй Instagram/Telegram
---
## Проблема 3: Блокировка государством
**Проблема:** Роскомнадзор может заблокировать домены и IP реле.
**Контекст:** Morpheus работает законопослушно, но блокировка может произойти несмотря на это (как с Telegram в 2018-2020). Цель — не уклонение от правоохранительных органов, а обеспечение доступности сервиса.
**Решения:**
### Слой 1: Стандартная устойчивость
- WebSocket через TLS (wss://) выглядит как обычный HTTPS-трафик для DPI
- Реле за Cloudflare или аналогичным CDN — блокировка CDN блокирует миллионы сайтов
- Несколько доменов реле в разных TLD — избыточность, не уклонение
- Приложение автоматически переключается на рабочие реле
### Слой 2: Устойчивость распространения
- Android: Google Play, RuStore, прямая загрузка APK, F-Droid
- iOS: App Store, PWA как запасной вариант при удалении из магазина
- Веб-приложение всегда доступно как базовая линия
- Ссылки на APK/PWA через существующие каналы (Telegram-боты, QR-коды)
### Слой 3: Проактивное взаимодействие
- Проактивно взаимодействовать с регуляторами — объяснять, какие данные у нас есть, и предоставлять их
- Демонстрировать готовность к сотрудничеству для снижения мотивации к блокировке
- Поддерживать диалог — блокировка часто переговоры, а не бинарное решение
**Примечание:** Если Morpheus заблокируют несмотря на сотрудничество, протокол Nostr гарантирует
доступ к данным через любой другой Nostr-клиент. Это ультимативная устойчивость.
---
## Проблема 4: Юридическое соответствие (Закон Яровой / СОРМ)
**Проблема:** Российское законодательство требует хранения и предоставления доступа к коммуникациям.
**Подход: Полное сотрудничество, честное объяснение архитектуры.**
1. **Регистрация по требованию.** Юрлицо (юрисдикция TBD по совету юристов). Регистрация как организатор распространения информации при необходимости.
2. **Хранить то, что можем.** Публичные посты, метаданные, логи подключений — они существуют на наших реле и мы можем их предоставить.
3. **Объяснять то, что не можем хранить.** Содержимое ЛС зашифровано на стороне клиента NIP-44. У нас никогда нет ключей дешифрования. Это не уклонение — это задокументированная, проверяемая архитектура.
4. **Открытый исходный код подтверждает наши заявления.** Любой технический аудит кодовой базы подтвердит, что сервер никогда не имеет доступа к открытому тексту ЛС.
5. **Юридический прецедент.** WhatsApp, Signal и iMessage работают с E2E-шифрованием во многих юрисдикциях.
6. **Сбор данных регистрации не более необходимого.** Если для юридического соответствия требуется телефон/email, мы собираем. Но не больше.
**Ключевой принцип:** Мы никогда не отказываемся сотрудничать. Мы объясняем техническую реальность. Зашифрованное зашифровано — не потому что мы выбираем не расшифровывать, а потому что не можем.
---
## Проблема 5: Монетизация без рекламы
**Проблема:** Никакой рекламы, никогда. Нужен альтернативный доход.
**Подход:** См. [monetization.md](./monetization.md). Резюме:
- Подписка Morpheus Pro (премиум-функции, кастомизация, увеличенные лимиты)
- Маркетплейс стикеров/тем (экономика создателей с комиссией)
- Инструменты для создателей (платная аналитика, контент только для подписчиков)
- Бизнес-профили (фиксированная месячная плата, только органический охват)
- Управляемый хостинг реле (инфраструктура-как-сервис для сообществ)
Все потоки дохода добровольные и не требуют профилирования пользователей.
---
## Проблема 6: Модерация контента
**Проблема:** Молодёжь на платформе требует ответственной модерации без подрыва приватности.
**Подход:**
1. **Публичный контент модерируем.** Публичные посты... публичные. Мы можем и будем модерировать публичный контент на реле, которые мы оперируем. Стандартные правила сообщества.
2. **Зашифрованные ЛС не модерируемы нами — и это нормально.** Как почтовая служба не читает ваши письма. Клиентские функции безопасности (блок, жалоба, мут) дают пользователям контроль.
3. **Многоуровневая модерация публичного контента:**
- **Уровень реле:** Реле Morpheus применяют опубликованные правила сообщества.
- **Уровень сообщества:** Модераторы групп управляют своими пространствами. NIP-56 жалобы поступают к модераторам.
- **Уровень клиента:** Спам-фильтры, предупреждения о контенте, мут/блок инструменты.
4. **Соответствие CSAM:** Хеш-сопоставление (PhotoDNA или эквивалент) на медиа, загружаемые на серверы Morpheus. Обязательное юридическое и этическое обязательство. На серверной стороне медиа CDN.
5. **Отчёты прозрачности.** Ежеквартальные публикации: сколько модерационных действий, сколько юридических запросов, какие данные были предоставлены.
---
## Проблема 7: Холодный старт / Сетевые эффекты
**Проблема:** Социальная сеть без пользователей бесполезна.
**Решения:**
1. **Запуск как мессенджер, потом как соцсеть.** Групповым чатам не нужны сетевые эффекты — нужны 5-10 друзей. «Перенеси свою группу друзей в Morpheus» — выполнимое предложение.
2. **Мост в Telegram.** Бот для кросспостинга между группами Telegram и Morpheus. Снижает стоимость перехода.
3. **Таргетировать конкретные сообщества:**
- Студенческие группы университетов
- Игровые сообщества
- Музыка/арт сцены
- Технически продвинутые ранние пользователи
4. **Партнёрства с создателями.** Привлечь популярных русскоязычных создателей контента. Их аудитории последуют.
5. **Функция «Импорт группы».** Создать группу Morpheus из существующей группы Telegram/VK, авто-приглашение участников.
6. **Реферальные механики.** «Пригласи 3 друзей → разблокируй эксклюзивный стикерпак.»
7. **Запустить киллер-фичу, которой нет нигде:**
- Голосовые сообщения с автоматической транскрипцией (огромный спрос в русскоязычных сообществах)
- Встроенный редактор мемов
- Анонимные вопросы на профилях (как ASKfm — весело и вирально)
- Превосходные инструменты создания стикеров