Принципиально последовательное доказательство выполнения работы (проект)
Ментор | Янович Юрий |
Учебный семестр | Осень 2017 |
Учебный курс | 2-й курс |
Проект можно развивать на летней практике | |
Максимальное количество студентов, выбравших проект: 5 | |
Что это за проект?
В пиринговых (одноранговых) сетях (torrent, tor, bitcoin) важную роль играет доказательство выполнения работы (Proof-of-Work, PoW). Оно используется для подтверждения затраты вычислительных ресурсов, которая часто подменяет затрату времени. Однако, популярные реализации PoW являются распараллелиливаемыми, что, например, увеличивает разрыв между вычислительными возможностями злоумышлениками, задумавшими DoS атаку на приложение, и обычными пользователям, желающими воспользоваться услугами приложения. Сократить подобный зазор способны принципиально нераспараллелиливамые реализации PoW-алгоритмов -- Time-lock puzzles -- реализацией которых для случая разделямого проверочного секрета и посвящен проект.
Предполагаемые результаты: - программа для отгадки "головоломок", требующая известное число (входной параметр) вычислительных операций на решение; - программа для проверки решений "головоломок", гаранирующая, что отгадывающий затратил на решение заданное число тактов последовательной архитектуры.
Чему вы научитесь?
Криптография с открытым ключом blockchain hash-деревья
Какие начальные требования?
начальные навыки Python
Какие будут использоваться технологии?
Git, (*) Rust
Темы вводных занятий
Криптография с открытым ключом. Доказательство выполнения работы
Направления развития
- сделать красивый, удобный интерфейс - создать peer-to-peer приложение - написать научную статью
Критерии оценки
Критерии успешности: - реализованы обе программы в предположении единственного проверяющего (4-5) - в проверяющем приложении поддерживается разделение секрета между несколькими проверящими (6-7) - проведенычисленные эксперименты по замерам времен работы приложений на различных конфигурациях (8-10)
Ориентировочное расписание занятий
ПН, ВТ, ПТ, СБ: 10-20