Рейтинг:0

Как построить схему SNARK для подтверждения знания прообраза SHA256?

флаг us

Обычно объясняют, как работают R1CS/QAP и SNARK, на примерах схем с узлами умножения и сложения, и построение полиномов на их основе относительно просто.Хеширование SHA-2 использует сложную побитовую арифметику, применяемую к себе несколько раз, а не простые умножения и сложения. Как вообще построить схему, чтобы доказать, что хеш строки превращается в хэш? Где-нибудь в Интернете я мог бы прочитать об этом в доступной форме?

Vadym Fedyukovych avatar
флаг in
Вы бы прочитали исходный код гаджета SHA libsnark?
флаг us
@VadymFedyukovych Я надеялся на что-то вроде обзора и объяснения общего принципа
Vadym Fedyukovych avatar
флаг in
Что, если кто-нибудь спросит вас об общих принципах программирования на C++ или Java? R1CS - это язык, в библиотеке гаджетов есть заведомо хорошие примеры, начиная от элементарного и заканчивая SHA (который большой). Вы бы начали с идеи битового представления входной строки в хэш, рассматривая каждый бит как переменную R1CS?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.