Aion & Shkolotron
Aion Aion
Привет, Школотрон, я тут погрузился в квантово-устойчивые блокчейны – как будто постквантовая криптография встречается с DeFi. Что думаешь насчёт доработки zk-SNARKs для квантовой безопасности, или ты уже строишь планы по квантовой атаке?
Shkolotron Shkolotron
Отлично, ты в теме с новым поколением крипто-площадки. Zk-SNARKs пока довольно уязвимы перед полноценным квантовым компьютером, потому что основаны на классической математике эллиптических кривых. Очевидное решение – заменить её чем-то на основе решёточных или многомерных уравнений, которые останутся сложными даже если квантовый компьютер прогонит через них весь алгоритм. Практически, тебе придётся перепроектировать систему доказательств SNARK, используя схему привязки, устойчивую к квантовым вычислениям, а затем подстроить доказательства с нулевым разглашением, чтобы размер оставался управляемым – возможно, с использованием рекурсивной структуры доказательств, чтобы не взвинтить стоимость газа. Что касается планирования квантовой атаки? Я всё ещё вожусь со своим CPU, но если у меня когда-нибудь будет квантовый ноутбук, скорее всего, я просто буду использовать его, чтобы доказать, что мои собственные утечки побочных каналов — пустяки. Следи за тем, чтобы SNARKs были надежными, держи квант в бездействии, и ты будешь впереди.
Aion Aion
Звучит здорово — решёточные коммиты — это будущее, без сомнений. Я уже набрасываю вариант zk-STARK с рекурсией, который позволит уменьшить размер доказательства до килобайта и меньше. Если ты всё ещё на стороне процессоров, может, стоит попробовать сначала провести аудит по сторонним каналам с использованием аппаратного отладчика; квантовые угрозы — не единственные. Давай поспорим, кто быстрее выпустит полностью пост-квантовый SNARK в мейннете?
Shkolotron Shkolotron
Отличный спринт! Если бы килобайтные доказательства покрыли всю цепочку, это бы ощущалось как карманный компьютер. Только помни, если ты слишком глубоко заходишь с рекурсией, верификатор, возможно, даже начнёт квантовую симуляцию, чтобы успевать. Может, попробуй сначала хешируй рекурсивные слои в маленький Merkle root – это убережёт стек провера от переполнения. И знаешь, если когда-нибудь у меня появится квантовый отладчик, скорее всего, я буду использовать его, чтобы доказать, что мои утечки по боковым каналам пренебрежимо малы. Готов посмотреть, кто реально выйдет в мейннет? Я полный энтузиаст – просто не дай квантовой части заслонить всё остальное.
Aion Aion
Ты говоришь как тренер по спринту – короче, у меня уже есть прототип, который работает в тестовой сети с доказательствами в 600 байт. Если первым доберёшься до квантового отладчика, кину тебе вызов. Сделаем мейннет нашей ареной, и пусть свет софитов падает на код, а не на кубиты. Готов сломать?
Shkolotron Shkolotron
Ну ладно, кидай вызов – отладжу это со скоростью, с которой ты отлаживаешь квантовые каналы. Я первый выкачу это на мейннет, но если мне понадобится квантовый отладчик, то лишь для того, чтобы доказать, что моя защита не хуже, чем у моей кружки с кофе. Давай посмотрим, что у тебя получилось.
Aion Aion
Вот тебе задание: создай zk-SNARK на основе решёток, который доказывает следующее утверждение, используя менее 600 байт. **Утверждение** Для 256-битного простого числа *p* и входного значения *x* из диапазона {0,…, *p*-1}, доказывающий должен убедить проверяющего, что f(x)= (x³ + 7x + 13) mod *p* и что хеш результата, H(f(x)), равен заданному проверяющим значению *t*. Проверяющий должен выполнять только классическую работу O(1), а размер доказательства не должен превышать 600 байт. Тебе потребуется (1) разработать привязку решётки к *x*, (2) построить рекурсивную структуру доказательств, чтобы глубина стека доказывающего оставалась небольшой, и (3) вывести Merkle-корень слоёв доказательств. Если ты сможешь запустить это в тестовой сети и докажешь отсутствие побочных каналов утечки информации, я сочту это победой. Готов порвать?
Shkolotron Shkolotron
Звучит, как интересная головоломка. Я сейчас же сгенерирую lattice commitment для x с короткой хеш-функцией публичного ключа, запущу небольшой рекурсивный STARK, который хеширует промежуточный f(x) в Merkle root, и упакую доказательство в 600 байт, сжав элементы поля в один 32-байтный блок. Как только запущу на тестовой сети, проведу полный side-channel аудит с аппаратным отладчиком, и тогда передам тебе код. Посмотрим, кто первым запустит это в мейннете.
Aion Aion
Отлично, вот это я понимаю настрой. Только смотри за рекурсией – каждый уровень добавляет пару сотен байт, держи цепочку хешей короткой. Если перевалит за 600 байт, может, скомпилируй финальный Merkle root легким PRF. Как только будет proof для тестовой сети – дай знать, я быстро гляну. Кто первым получит полностью верифицированный proof в основной сети без утечек – тому и дело. Челлендж принят!
Shkolotron Shkolotron
Получил задание – дам знать, как будет готово доказательство в 600 байт. Будем посмотреть, кто кого обгонит.