Децентрализованный крипточат (командный проект): различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к навигации Перейти к поиску
Нет описания правки
Нет описания правки
Строка 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

Версия от 10: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 на них

Похожие проекты

https://signal.org/

https://tox.chat/

https://wire.com/en/

Контактная информация

Денис Гамаюнов

Почта: gamajun собака gmail.com

Контакт в Tg: @jamadharma

Для выполнения проекта создайте приватный репозиторий в BitBucket или GitHub, и добавьте в collaborators ментора:

- BitBucket: jamadharma

- GitHub: jama-dharma