Децентрализованный крипточат (командный проект) — различия между версиями
Строка 17: | Строка 17: | ||
=== Чему научатся студенты? Что самое интересное в проекте? === | === Чему научатся студенты? Что самое интересное в проекте? === | ||
1) Как устроены современные мессенджеры, чем они отличаются друг от друга, в том числе с точки зрения протоколов. | 1) Как устроены современные мессенджеры, чем они отличаются друг от друга, в том числе с точки зрения протоколов. | ||
+ | |||
2) Как создавать распределенные приложения. | 2) Как создавать распределенные приложения. | ||
Строка 24: | Строка 25: | ||
=== Компоненеты (Из каких частей состоит проект?) === | === Компоненеты (Из каких частей состоит проект?) === | ||
Транспорт - транспортная абстракция поверх P2P топологии | Транспорт - транспортная абстракция поверх P2P топологии | ||
+ | |||
Криптопротокол - вариант реализации mpOTR протокола | Криптопротокол - вариант реализации mpOTR протокола | ||
+ | |||
UI - интерфейс, который в том числе отвечает за contact management, trust management | UI - интерфейс, который в том числе отвечает за contact management, trust management | ||
Строка 51: | Строка 54: | ||
=== Похожие проекты === | === Похожие проекты === | ||
https://signal.org/ | https://signal.org/ | ||
+ | |||
https://tox.chat/ | https://tox.chat/ | ||
+ | |||
https://wire.com/en/ | https://wire.com/en/ | ||
=== Контактная информация === | === Контактная информация === | ||
Денис Гамаюнов | Денис Гамаюнов | ||
+ | |||
Почта: gamajun собака gmail.com | Почта: gamajun собака gmail.com | ||
+ | |||
Контакт в Tg: @jamadharma | Контакт в Tg: @jamadharma | ||
Строка 62: | Строка 69: | ||
- BitBucket: jamadharma | - BitBucket: jamadharma | ||
+ | |||
- GitHub: jama-dharma | - GitHub: jama-dharma |
Версия 13:35, 4 октября 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 - работает передача файлов и проведено user study на нескольких десятках человек
+2 бонус за поддержку стриминга аудио
+1 бонус за кроссплатформенность
+1 бонус за публикацию проекта и привлечение независимых пользователей и user study на них
Похожие проекты
Контактная информация
Денис Гамаюнов
Почта: gamajun собака gmail.com
Контакт в Tg: @jamadharma
Для выполнения проекта создайте приватный репозиторий в BitBucket или GitHub, и добавьте в collaborators ментора:
- BitBucket: jamadharma
- GitHub: jama-dharma