ZkSNARK 25 — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Ссылки)
(Лекции)
 
(не показаны 3 промежуточные версии этого же участника)
Строка 27: Строка 27:
 
=== Лекции ===
 
=== Лекции ===
  
* '''Лекция I''' (3 фев). TBA. [ Конспект]. [ Запись].
+
* '''Лекция I''' (3 фев). Определение zkSNARK. zkSNARK многочлена, делящего данный (zkPoly). [ Конспект]. [https://disk.yandex.ru/d/IoakBXz_6yygPw/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%8B%20%D0%B4%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%20%D1%81%20%D0%BD%D1%83%D0%BB%D0%B5%D0%B2%D1%8B%D0%BC%20%D1%80%D0%B0%D0%B7%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC/%D0%9B%D0%B5%D0%BA%D1%86%D0%B8%D1%8F%2B%D0%A1%D0%B5%D0%BC%D0%B8%D0%BD%D0%B0%D1%80%202025-02-03T11-41-54Z.mp4 Запись].
* '''Лекция II''' (10 фев). TBA. [ Конспект]. [ Запись].
+
* '''Лекция II''' (10 фев). Параметры протокола zkPoly. Пейринг. Эллиптические кривые. [ Конспект]. [https://disk.yandex.ru/d/IoakBXz_6yygPw/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%8B%20%D0%B4%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%20%D1%81%20%D0%BD%D1%83%D0%BB%D0%B5%D0%B2%D1%8B%D0%BC%20%D1%80%D0%B0%D0%B7%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC/%D0%9B%D0%B5%D0%BA%D1%86%D0%B8%D1%8F%2B%D0%A1%D0%B5%D0%BC%D0%B8%D0%BD%D0%B0%D1%80%202025-02-10T11-38-46Z.mp4 Запись].
* '''Лекция III''' (17 фев). TBA. [ Конспект]. [ Запись].
+
* '''Лекция III''' (17 фев). Арифметические цепи. R1CS. zkSNARK решения R1CS с публичным входом. Универсальные и не универсальные zkSNARK для систем констрейнтов. Кодирование вычислений в R1CS. [ Конспект]. [https://miro.com/app/board/uXjVIefM6no=/?share_link_id=548051629442 Доска]. [ Запись].
* '''Лекция IV''' (24 фев). TBA. [ Конспект]. [ Запись].
+
* '''Лекция IV''' (24 фев). Эмулирование машины Тьюринга. IVC. Folding Schemes. [ Конспект]. [ Запись].
 +
* '''Лекция V''' (3 мар). TBA. [ Конспект]. [ Запись].
  
 
=== Домашние задания ===
 
=== Домашние задания ===
  
* [ Домашнее задание 1]. Дедлайн '''TBA'''.
+
* [https://classroom.google.com/c/NzUxMDUxODAzOTM3?cjc=cca3jdc Домашнее задание 1]. Дедлайн '''7 марта в 23:59'''.
 
* [ Домашнее задание 2]. Дедлайн '''TBA'''.
 
* [ Домашнее задание 2]. Дедлайн '''TBA'''.
 
* [ Домашнее задание 3]. Дедлайн '''TBA'''.
 
* [ Домашнее задание 3]. Дедлайн '''TBA'''.

Текущая версия на 14:26, 3 марта 2025

Протоколы доказательств с нулевым разглашением

Весенний блендед-курс для студентов 4 курса ФКН ВШЭ.

Команда курса

Лектор: Павел Соколов aka @TurtlePU.

На подхвате: Кирилл Сизов aka @kirillsizov.

Ссылки

Канал в телеграм: https://t.me/+Lo01TtiDATcyODYy

Чат в телеграм: https://t.me/+ndaHNUszEFRiMDdi

Зум: https://us06web.zoom.us/j/83311903782?pwd=zWNtbbxfijWZAlijS40IKAF0rm2AxH.1

Конспекты лекций: TBD

Записи лекций и семинаров: https://disk.yandex.ru/d/IoakBXz_6yygPw/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%8B%20%D0%B4%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%20%D1%81%20%D0%BD%D1%83%D0%BB%D0%B5%D0%B2%D1%8B%D0%BC%20%D1%80%D0%B0%D0%B7%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC

Таблица с оценками: TBD

План курса

Лекции

  • Лекция I (3 фев). Определение zkSNARK. zkSNARK многочлена, делящего данный (zkPoly). [ Конспект]. Запись.
  • Лекция II (10 фев). Параметры протокола zkPoly. Пейринг. Эллиптические кривые. [ Конспект]. Запись.
  • Лекция III (17 фев). Арифметические цепи. R1CS. zkSNARK решения R1CS с публичным входом. Универсальные и не универсальные zkSNARK для систем констрейнтов. Кодирование вычислений в R1CS. [ Конспект]. Доска. [ Запись].
  • Лекция IV (24 фев). Эмулирование машины Тьюринга. IVC. Folding Schemes. [ Конспект]. [ Запись].
  • Лекция V (3 мар). TBA. [ Конспект]. [ Запись].

Домашние задания

  • Домашнее задание 1. Дедлайн 7 марта в 23:59.
  • [ Домашнее задание 2]. Дедлайн TBA.
  • [ Домашнее задание 3]. Дедлайн TBA.

Оценивание

Итог = Округление(1/3 * ДЗ-1 + 1/3 * ДЗ-2 + 1/3 * ДЗ-3),

где ДЗ-n – оценка за домашнее задание n.

Округление арифметическое.

Литература

Основная литература

  1. Maksym Petkus – Why and How zk-SNARK Works: Definitive Explanation
  2. Marta Bellés-Muñoz, Miguel Isabel, Jose Luis Muñoz-Tapia, Albert Rubio, and Jordi Baylina – CIRCOM: A Circuit Description Language for Building Zero-Knowledge Applications
  3. Ariel Gabizon, Zachary J. Williamson, Oana Ciobotaru – PlonK: Permutations over Lagrange-bases for Oecumenical Noninteractive arguments of Knowledge
  4. Benedikt Bünz, Binyi Chen – Protostar: Generic Efficient Accumulation/Folding for Special-sound Protocols

Дополнительная литература

  1. Tim Dokchitser, Alexandr Bulkin – Zero Knowledge Virtual Machine step by step
  2. Dong Pyo Chi, Jeong Woon Choi, Jeong San Kim and Taewan Kim – Lattice Based Cryptography for Beginners
  3. Martin R. Albrecht, Valerio Cini, Russell W. F. Lai, Giulio Malavolta and Sri Aravinda Krishnan Thyagarajan – Lattice-Based SNARKs: Publicly Verifiable, Preprocessing, and Recursively Composable
  4. Rosario Gennaro, Michele Minelli, Anca Nitulescu, and Michele Orrù – Lattice-Based zk-SNARKs from Square Span Programs
  5. Yuval Ishai, Hang Su, David J. Wu – Shorter and Faster Post-Quantum Designated-Verifier zkSNARKs from Lattices