Как Чженчжун Цзинь строит краткие аргументы для Batch NP

MIT OpenCourseWare 2,3 тыс. 1 ч 21 мин 4 мин 29.01.2025
Главное

В лекционных залах Массачусетского технологического института (MIT) продолжается глубокое погружение в мир современной криптографии. В рамках восьмой лекции курса Чженчжун Цзинь (Zhengzhong Jin) представляет концепцию BARGs — кратких неинтерактивных аргументов для пакетных NP-языков, объясняя, как эффективно доказать истинность сразу множества утверждений, не раздувая размер доказательства.

📦 Пакетные аргументы: когда опт выгоднее розницы 0:12

Понятие «батчинга» (пакетной обработки) — фундаментальная концепция в информатике, позволяющая объединять множество элементов в одну коллекцию для совместной обработки. В контексте систем доказательств это превращается в BARGs (Batch Arguments) или SNARGs for Batch NP.

Вместо того чтобы доказывать каждое утверждение $x$ по отдельности, проувер (доказывающая сторона) стремится убедить верификатора в том, что весь список инстансов ${x_1, \dots, x_k}$ принадлежит некому NP-языку $L$. Ключевая характеристика такой системы — лаконичность (succinctness).

По определению Чженчжуна Цзиня, система считается лаконичной, если размер доказательства $\pi$ строго меньше суммарной длины всех свидетельств (witnesses) для данного пакета. В тривиальной системе проувер мог бы просто отправить все свидетельства верификатору, но цель BARGs — сделать передачу данных значительно эффективнее.

Основные свойства BARG:

🧱 Зачем это нужно и как обойти «невозможное» 6:30

На первый взгляд BARGs могут показаться узкоспециализированным инструментом, но Чженчжун Цзинь подчеркивает их важность как строительных блоков. По его словам, аналогичные концепции уже успешно применяются в других областях криптографии, например, в агрегированных подписях, где множество подписей сжимаются в одну короткую.

Более того, лектор анонсирует, что BARGs являются критически важным компонентом для создания SNARGs для всего класса NP. Однако на пути исследователей стоит теоретическое препятствие — результат Гентри и Викса (Gentry-Wichs).

Суть ограничения Гентри-Викса:

Невозможно построить SNARGs для произвольного сложного языка с размером доказательства существенно меньше, чем логарифм времени проверки этого языка, используя только «фальсифицируемые» (falsifiable) предположения.

Чженчжун Цзинь объясняет, что для общего случая NP это означает невозможность создания доказательства короче длины свидетельства $w$. Однако BARGs элегантно обходят это ограничение: даже если размер доказательства сопоставим с $w$, он все равно будет «лаконичным» по отношению к пакету из $k$ утверждений, так как $w \ll k \times w$.

🛠 Теорема и первая попытка построения 12:43

Главная цель лекции — доказать существование конструкции BARGs на основе задачи LWE (Learning With Errors). Согласно представленной теореме, размер доказательства в такой системе определяется размером схемы отношения $C$, а время верификации состоит из фиксированной части для обработки инстансов и короткой «онлайн-фазы», не зависящей от количества утверждений в пакете $k$.

Для построения Чженчжун Цзинь предлагает использовать модифицированный протокол Килиана (Kilian's protocol).

Алгоритм начальной схемы:

  1. Генерация PCP: Проувер создает вероятностно проверяемое доказательство (PCP) для каждого из $k$ инстансов.
  2. Матрица доказательств: Эти PCP-строки можно представить в виде матрицы, где строки — это доказательства для отдельных инстансов, а столбцы — соответствующие биты этих доказательств.
  3. Хеширование по столбцам: Вместо использования дерева Меркла, лектор предлагает хешировать каждый столбец матрицы отдельно, получая набор значений $h_1, \dots, h_L$.
  4. Запрос и ответ: Верификатор присылает случайный запрос $Q$ (набор индексов), и проувер открывает соответствующие столбцы хеш-матрицы.

🧩 Проблема интерактивности и CI-хеширование 32:35

Чтобы превратить интерактивный протокол в SNARG (неинтерактивный аргумент), обычно используется парадигма Фиата-Шамира. Однако здесь требуется особый инструмент — корреляционно-неуязвимые хеш-функции (Correlation-Intractable Hash, CI Hash).

По словам Цзиня, CI-хеш должен гарантировать, что для заданного отношения $R$ злоумышленнику будет сложно найти такой вход $x$, чтобы пара $(x, H(x))$ попала в это отношение. В нашем случае отношение $R$ — это условия, при которых верификатор принимает доказательство.

Ключевая проблема здесь заключается в разреженности (sparsity) отношения. Чтобы CI-хеш существовал, для любого фиксированного первого сообщения проувера лишь ничтожная доля ответов верификатора должна приводить к принятию ложного доказательства. Но в схеме с обычным сжимающим хешем у одного значения $h$ может быть множество прообразов, что «засоряет» отношение и мешает доказательству надежности.

🛡 Решение: Somewhere Statistical Binding (SSB) хеш 49:40

Для преодоления проблемы разреженности Чженчжун Цзинь вводит понятие Somewhere Statistical Binding (SSB) хеш-функции. Это особый тип хеширования, который обладает двумя свойствами:

  1. Скрытность индекса (Key Indistinguishability): Ключ хеша создается для конкретной позиции (индекса) $i$, но глядя на ключ, невозможно понять, какой именно индекс был выбран.
  2. Статистическая привязка (Statistical Binding): Хеш-значение статистически фиксирует входные данные именно в позиции $i$. Если хеши двух строк совпали, то их элементы в позиции $i$ гарантированно идентичны.

Лектор демонстрирует элегантный способ построения SSB на основе полностью гомоморфного шифрования (FHE).

Как работает SSB через FHE:

⚖️ Финальный аккорд: Доказательство надежности 1:06:17

Использование SSB-хеша позволяет «привязать» проувера к конкретной строке в матрице PCP. Если в пакете есть хотя бы одно ложное утверждение $x_{i^}$, мы можем сгенерировать CRS (общую строку параметров) с SSB-ключом, настроенным именно на этот индекс $i^$.

Благодаря свойствам SSB, хеши столбцов теперь жестко фиксируют именно $i^$-ю строку матрицы — ту самую, которая соответствует ложному утверждению. Теперь отношение для CI-хеша становится разреженным: оно сводится к проверке того, примет ли PCP-верификатор конкретное (уже фиксированное в хеше) ложное доказательство для $x_{i^}$.

По словам Чженчжуна Цзиня, такая гибридная структура — переключение CRS на индекс ошибки и использование экстракции из SSB — позволяет свести надежность всей системы к безопасности базовых примитивов (LWE и FHE).

💬 Цитаты

«Батч — это очень базовая концепция в компьютерных науках... это просто понятие пакета в системе доказательств.»

Чженчжун Цзинь 0:56

«SNARG для NP очень сложно построить... невозможно получить доказательство существенно меньше логарифма времени проверки.»

Чженчжун Цзинь 10:07
👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
BARG
Batch Argument — краткое доказательство того, что целый набор утверждений является верным.
PCP
Probabilistically Checkable Proof — формат доказательства, которое можно проверить, прочитав лишь несколько его случайных битов.
SSB Hash
Somewhere Statistical Binding Hash — хеш-функция, которая гарантированно фиксирует значение в одной конкретной позиции входа.
LWE
Learning With Errors — математическая задача, на которой строится квантово-устойчивая криптография.
📊 Цифры
⚖️ Другая сторона
Математика и физика BARG LWE PCP SSB hash