243 lines
20 KiB
Markdown
243 lines
20 KiB
Markdown
# 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 — весело и вирально)
|
||
- Превосходные инструменты создания стикеров
|