Децентрализованный крипточат (командный проект) — различия между версиями
Gamajun (обсуждение | вклад) (Уточнение критериев) |
|||
Строка 44: | Строка 44: | ||
6 - trust management, как верифицировать, что новый контакт именно тот, за кого он себя выдаёт | 6 - trust management, как верифицировать, что новый контакт именно тот, за кого он себя выдаёт | ||
− | 8 - работает | + | 8 - работает обмен файлами через P2P |
+ | |||
+ | +2 бонус за user study на нескольких десятках человек (друзья, коллеги по курсу, знакомые) | ||
+2 бонус за поддержку стриминга аудио | +2 бонус за поддержку стриминга аудио |
Версия 14:43, 6 октября 2017
Компания | SolidSoft |
Учебный семестр | Осень 2017 |
Учебный курс | 3-й курс |
Максимальное количество студентов, выбравших проект: 2-3 | |
Содержание
|
Что это за проект?
Проект направлен на разработку децентрализованного мессенджера с PFS и возможностью отказа от авторства.
В настоящее время подавляющее большинство защищенных мессенджеров завязаны на существование третьей доверенной стороны, в качестве которой обычно выступает "поставщик сервиса". Например, в мессенджере Telegram доверенной стороной является сервераная часть системы. Аналогично в случае Signal.
В рамках проекта предлагается разработать полностью децентрализованный мессенджер, в котором нужно реализовать наиболее востребованные функции (PFS), децентрализованное хранение пользовательского каталога, и схему установления отношения доверия между клиентами. В идеале реализацию выполнить в виде chrome app или js-приложения, которое можно запускать на десктопах и мобильных устройствах без переписывания кода под каждую платформу (см. Signal).
Чему научатся студенты? Что самое интересное в проекте?
1) Как устроены современные мессенджеры, чем они отличаются друг от друга, в том числе с точки зрения протоколов.
2) Как создавать распределенные приложения.
Организация работы (Как студенты будут работать в команде?)
2-3 (до 4), распределение задача - по компонентам. Проектная работа с трекингом задач через gitlab.
Компоненеты (Из каких частей состоит проект?)
Транспорт - транспортная абстракция поверх P2P топологии
Криптопротокол - вариант реализации mpOTR протокола
UI - интерфейс, который в том числе отвечает за contact management, trust management
Какие будут использоваться технологии?
Chrome API, JavaScript, также возможен другой (обоснованный) выбор технологического стека.
Какие начальные требования?
Знакомство с JavaScript, WebSockets, HTTP, базовыми криптографическими примитивами.
Темы вводных занятий
Почему миру нужен ещё один криптомессенджер.
Критерии оценки
4 - работает P2P, обмен сообщениями, регистрация новых контактов
6 - trust management, как верифицировать, что новый контакт именно тот, за кого он себя выдаёт
8 - работает обмен файлами через P2P
+2 бонус за user study на нескольких десятках человек (друзья, коллеги по курсу, знакомые)
+2 бонус за поддержку стриминга аудио
+1 бонус за кроссплатформенность
+1 бонус за публикацию проекта и привлечение независимых пользователей и user study на них
Похожие проекты
Контактная информация
Денис Гамаюнов
Почта: gamajun собака gmail.com
Контакт в Tg: @jamadharma
Для выполнения проекта создайте приватный репозиторий в BitBucket или GitHub, и добавьте в collaborators ментора:
- BitBucket: jamadharma
- GitHub: jama-dharma