Бакалавриат
2024/2025




Децентрализованные системы
Статус:
Курс по выбору (Прикладная математика и информатика)
Направление:
01.03.02. Прикладная математика и информатика
Где читается:
Факультет компьютерных наук
Когда читается:
4-й курс, 3 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для всех кампусов НИУ ВШЭ
Язык:
русский
Кредиты:
4
Программа дисциплины
Аннотация
Распределённые системы строят, когда других опций нет - это значительно сложней систем централизованных. Тот же Internet создали под угрозой атомной войны, ни много ни мало. Распределённые системы, однако, обладают уникальными возможностями: масштабируемостью, открытостью, исключительной живучестью. Целью курса является ознакомить слушателей с широким набором технологий построения децентрализованных и распределённых систем, а также сетевых протоколов в целом, а также выработать необходимый минимум практических навыков. Курс рассчитан на один семестр и состоит из одной пары теории и одной пары практики в неделю. Студенты должны сделать командный проект - распределённую систему любого типа.
Цель освоения дисциплины
- В целом, студент должен чётко представлять шаги и приёмы разработки сетевых протоколов и общее устройство популярных децентрализованных систем.
Планируемые результаты обучения
- По результатам курса, у студентов должно быть понимание основ инцентивизации
- По результатам курса, у студентов должно быть понимание основ коллаборации
- По результатам курса, у студентов должно быть понимание основ консенсуса
- По результатам курса, у студентов должно быть понимание основ криптографии
- По результатам курса, у студентов должно быть понимание основ марштуризации
- По результатам курса, у студентов должно быть понимание основ сериализации
Содержание учебной дисциплины
- git: устройство, история и эволюция
- BitTorrent: устройство, история и эволюция
- BitCoin и блокчейны: устройство, история и эволюция
- Основы криптографии
- Основы форматов сериализации
- Основы сетевых протоколов
- Основы консенсуса: 2PC, 3PC, Paxos/Raft, PoW, PoS, PoX
- Маршрутизация, перколация и топологии сетей
- Микснеты и степени скрытности общения
- Фаззинг форматов и протоколов
- Комбинаторика сложности форматов и протоколов
- Внутреннее устройство криптовалют
- Языки и VM на блокчейне
- DHT vs gossip vs HTTP на примере BitTorrent
- IPFS и друзья: облако данных
Промежуточная аттестация
- 2024/2025 3rd moduleИтоговая оценка это k*0.2 + p*0.4, где k это количество сданных практических работ и p это балл за проектную работу.
Список литературы
Рекомендуемая основная литература
- Shapiro, M., Preguiça, N., Baquero, C., & Zawirski, M. (2011). A comprehensive study of Convergent and Commutative Replicated Data Types. Https://Hal.Inria.Fr/Inria-00555588 ; [Research Report] RR-7506, Inria – Centre Paris-Rocquencourt; INRIA. 2011, Pp.50.
- Tanenbaum, A. S., & Steen, M. van. (2014). Distributed Systems: Pearson New International Edition : Principles and Paradigms (Vol. 2nd ed). Harlow, Essex: Pearson. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1418515
- Высоконагруженные приложения : программирование, масштабирование, поддержка, Клеппман, М., 2019
Рекомендуемая дополнительная литература
- Shapiro, M., Preguiça, N., Baquero, C., & Zawirski, M. (2011). Conflict-free Replicated Data Types. Https://Hal.Inria.Fr/Inria-00609399 ; [Research Report] RR-7687, INRIA. 2011, Pp.18.