Когда мы выпустили ZK Book более года назад, мы сделали огромный шаг вперед в области образования по ZK. Наша книга стала новаторской благодаря подходу "достаточно математики" для изучения ZK. Сегодня мы снова делаем это с новым дополнением к ZK Book. "Circom и шаблоны проектирования ограничений" Этот новый раздел посвящен тому, как проектировать, создавать и проверять нетривиальные ZK-схемы. Вы, вероятно, видели множество учебных материалов о том, как доказать, что вы знаете значение полинома, используя Circom. Но как перейти от этого к проектированию ZKVM или доказательству того, что вы знаете исходное значение традиционной хэш-функции (например, MD5 или Keccak256)? Новая часть нашей ZK Book проведет вас через путь от умножения чисел до: - создания ZKVM с нуля - кодирования ограничений для хэш-функции MD5 - изучения повторяющихся шаблонов проектирования в проектировании ограничений Последняя часть была интересной, потому что некоторые из установленных "шаблонов проектирования" даже не имеют названий. Нам пришлось придумать некоторую терминологию! Как обычно, мы очень тщательно подходим к тому, как мы вводим читателя в новые идеи, чтобы избежать перегрузки для новичков. Мы стараемся обучать необходимым основам в разумном порядке и с множеством примеров. Каждая глава показывает, как построить схему для все более сложного приложения. С каждой главой вы как повторяете то, что уже изучили, так и узнаете новый шаблон проектирования. Как только вы соберете коллекцию этих шаблонов проектирования, вы сможете комбинировать их для создания более сложных приложений, таких как ZKVM или нетривиальная хэш-функция. Мы приложили огромные усилия, чтобы убедиться, что материал как легок для понимания, так и корректен, без каких-либо важных упущений. Мы хотели бы поблагодарить @ChainLight_io, @VeridiseInc, @PrivacyScaling и @zksecurityXYZ за выделение времени на обзор этой работы и предоставление предложений. Мы особенно благодарны @marcobesier из @zksecurityXYZ за работу над несколькими редакциями, чтобы действительно довести главы до отполированного состояния. Особая благодарность @cal_nix за соавторство первых семи глав в этой новой части книги! Темы, которые мы здесь рассматриваем, чрезвычайно фундаментальны. Если вы не понимаете материалы здесь, изучение внутренней структуры более современных ZKVM или ZK L2 клиента будет довольно сложным. До сих пор отсутствие объяснений, ориентированных на новичков, для таких основополагающих концепций сдерживало развитие пространства ZK. Этот новый корпус работы — это не просто "лучшее объяснение" существующих материалов, а первое объяснение вообще — вне академических статей. Мы используем Circom как язык обучения, так как считаем его наиболее дружелюбным для начинающих. Однако то, что вы здесь изучите, обобщается на другие фреймворки, такие как Plonky3, Halo2, o1js и Gnark. Новые статьи увеличивают объем ZK Book на более чем 38,000 слов. Вам не обязательно знать, как работает ZK-SNARK, чтобы читать этот раздел книги, но есть несколько предварительных требований. Они перечислены в главе "Введение в Circom". Как обычно, материал полностью бесплатен и не требует регистрации.
10,09K