• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

Децентрализованные системы: внутреннее устройство

Преподаватель: Грищенко Виктор Сергеевич

Модуль: 3-4

Кредиты: 5

Программа

2 модуля, 15 лекций + 15 семинаров

Занятия

2 пары в неделю (лекция+семинар)

Аннотация

"Почта, телеграф, телефон!" Топология коммуникационной сети определяет точки контроля и точки сбоя системы. Централизованные системы строить просто. Децентрализоваынные сложней, но жизнь заставляет. Децентрализация даёт важные коммерческие, эксплуатационные и даже военные качества (да-да, интернет создавался на случай атомной войны!)

В курсе мы рассмотрим эволюцию децентрализованных систем и их основные механизмы. Это даст слушателям понимание основ их устройства, сильных и слабых сторон и границ применимости. Что важно, те же идеи используются как заготовки для строительства как глобальных сетей так и менее масштабных систем. И с теми и с другими, слушатели либо уже знакомы либо обязательно столкнутся в будущем.

Мы постараемся проследить, как идея переходит в код, код в реально работающую систему, а передовые технологии становятся ширпотребом. Это улучшит навыки планирования у слушателей.

Для кого курс

Для студентов 2 курса и старше, нацеленных на работу в исследовательских и наукоёмких технологических проектах.

Требования

Навыки самостоятельной работы, поиска и проверки информации.

Умение программировать хотя бы на 1 языке кроме Python.

Организация курса

Курс продлится 15 недель. Еженедельно нужно посетить одно занятие. Домашнее задание - командное, из расчёта 2-х недельных итераций с работающим/проверяемым результатом.

Студентам рекомендуется установить IDE JetBrains либо MS VS Code и освоить навигацию по коду.

Предварительный список тем

  • Динамическая маршрутизация - учимся переживать изменения в топологии сети.

graph based ARP/OSPF/BGP

DNS based SMTP/HTTP/CDN

content based DHT, consistent hashing, rarest1st BitTorrent

  • Федерирование - объединяем разные административные домены в единую сеть.

graph based BGP

DNS based SMTP/HTTP

crypto based git, bittorrent

  • Криптография - гарантируем целостность пересылаемых данных и многое другое.

TLS HTTP, SMTP

Merkle trees BitTorrent, IPFS, DAT

Blockchain BitCoin, etc

Merkle DAGs git

  • Инцентивизация - заинтересовываем участников в соблюдении правил.

tit4tat BitTorrent

payments BitCoin

  • Коллаборация - позволяем участникам работать совместно.

hyperlinks HTTP, Wiki(pedia)

dmp git

CRDT RON

Как будут выставляться оценки

На основе проверки самостоятельных (командных) работ.

Примеры работ: написать JSON интерфейс для DNS, выявить точки выхода из российского интернета в международный, написать систему логгирования с криптографической защитой. Проверка работы также может быть работой.

Расписание: понедельник 9:30-10:50 и 11:10-12:30 с 18 января

Подключиться к занятию