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

Материал из 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

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

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

https://signal.org/

https://tox.chat/

https://wire.com/en/

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

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

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

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

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

- BitBucket: jamadharma

- GitHub: jama-dharma