Я здесь не для того, чтобы рассказывать вам о ЗК[5] Вот как это работает. Я здесь не для того, чтобы говорить вам, что вы должны изучать.
Это больше о том, что я чувствовал, когда копал (огромную) кроличью нору ZK. Как я узнал ЗК, что работает для меня и что может сработать для вас.
Помните, что правильного пути не существует: у каждого свой способ обучения.
Во-первых, возможно, вам придется пересмотреть свой жизненный выбор. Не проще ли в конце концов научиться готовить? Или научиться делать кубик Рубика? Я имею в виду, вы уверены, что хотите мучить себя ЗК?
Если вы хотите более легкой жизни, нажмите на «X» рядом с этой вкладкой браузера, и вы вернетесь к комфортной жизни с милыми щенками и увлекательными кроссвордами. В противном случае обратите внимание, что вы можете продолжать со спокойной душой.
ЗК - это тяжело. Я имею в виду, что это сложно почти во всех аспектах.
Хотя трудно понять, как это работает, основная идея довольно проста. Вы должны доказать, что у вас есть определенные данные, не раскрывая никаких данных. Это звучит как волшебство, и именно с этого начинается магия. А магия — это сложно.
На мой взгляд, мотивация лежит в основе любого обучения. Достаточно ли вы мотивированы, чтобы изучать ЗК? Или вы учитесь только потому, что вам так сказала мама?
Иногда я задаюсь вопросом, какой была бы моя жизнь, если бы у меня была мотивация во время учебы в обычной школе. Я потратил 10 лет на «изучение» французского, но у меня не было никакой мотивации, поэтому я выучил очень мало. Представьте себе, что вы потратили 10 лет на изучение чего-то с большой мотивацией — возможно, вы уже находитесь на Луне.
Итак, узнайте, что заставляет ваше сердце трепетать. Что вам нравится, есть ли у вас четкая цель или что мотивирует вас учиться?
Материалов ЗК сейчас очень много. Я перечислю некоторые подходящие материалы в конце этого поста, но моя цель не в том, чтобы сказать вам, что читать.
Я думаю, что основная проблема большинства источников заключается в том, что они либо нацелены на хардкорных криптографов, либо содержат слишком много контента. Сложно понять, на чем сосредоточиться.
Представьте себе 5-минутное видео, представляющее 20 новых концепций. Это означает, что вы будете ставить видео на паузу каждые 15 секунд, выходить в Интернет для поиска (или использования ИИ) более подробного материала, а затем возвращаться к исходному видео. Это эффективно, но очень разочаровывает. Это заставит вас почувствовать, что вы вообще не подходите для изучения ZK. **
Так проще выучить ЗК: там много понятий, которые вы не поймете. Вам придется выучить многие из этих концепций, но вы не должны пытаться выучить их все сразу. Хитрость заключается в том, чтобы каждый раз узнавать кусочек головоломки: это может быть просто новый термин, который вы услышали, или, может быть, просто какой-то новый ресурс, который вы нашли.
Быть интровертом — это нормально, но если вы сможете получить обратную связь от других, все будет намного проще.
Одна из самых эффективных вещей для меня – это участие в различных кружках по изучению ЗК. Они могут оказывать на вас давление со стороны сверстников и заставлять вас действительно хотеть идти в ногу с другими и учиться в том же темпе. Это также стимул видеть, как другие борются с теми же проблемами. Это заставляет вас осознать, что вы не можете быть неудачником.
Вам также не нужны какие-либо устоявшиеся или общепринятые учебные группы. Просто найдите кого-нибудь, кто заинтересован в изучении ЗК, и обменивайтесь идеями вместе.
Вы можете начать с присоединения к различным чатам, форумам или другим сообществам, связанным с ZK. Читайте, что говорят другие, обращайтесь к ним и двигайтесь.
Открыто рассказывайте о своем прогрессе и делитесь своими достижениями. Вы узнаете больше из отзывов, которые вы (надеюсь) получите.
Поделиться работой ZK в Twitter
В качестве дополнительного бонуса вы также можете общаться с другими людьми, которые разделяют ту же страсть.
Мы все начинали с нуля.
Я открыл свое сердце ЗК
Коллега как-то сказал мне, что устал отвечать на глупые вопросы младших разработчиков. А теперь представьте, что вы новичок, изучающий ZK, и у вас есть глупый вопрос. Разобраться можно самостоятельно, а можно показать себя новичком и задать задачу открыто.
Я знаю, что люди неоднозначно реагируют на такие вопросы, но, на мой взгляд, это хорошо, что кто-то задает такие вопросы. На мой взгляд, это говорит о том, что человек действительно хочет учиться, и что интеграция других в процесс обучения приведет к более быстрым результатам. Да, иногда унизительно задавать глупые вопросы, но это тоже награда. Если вы будете задавать глупые вопросы открыто, это придаст смелости и другим.
Я имею в виду, что самое худшее, что может случиться?
В зависимости от того, что вы хотите сделать с ZK, вы можете начать писать проект с первого дня. Существует множество доменно-ориентированных языков ZK (DSL), которые могут абстрагироваться почти от всех болевых точек ZK: даже если вы не знаете ZK, вы можете начать писать ZK-программы. Все волшебство происходит на заднем плане.
Используйте магию ZK
Я думаю, что полезно посмотреть, что происходит, когда вы пишете ZK-программу. Вы запускаете какую-то загадочную команду, чтобы сгенерировать доказательство, и внезапно появляется файл, содержащий фактическую строку доказательства. Вы запускаете еще одну загадочную команду, и, возможно, будет сгенерирован смарт-контракт, который будет использоваться для проверки вашего доказательства. Следующая команда будет использовать сгенерированное вами доказательство для проверки выполнения программы. Круто, правда?
В общем, не будьте слишком собой. Изучать ЗК сложно. Поначалу вы можете быть не в состоянии понять многие понятия.
Будьте настойчивы и продолжайте учиться, и однажды некоторые проблемы будут решены.
Старайтесь подходить к теме с разных ракурсов. Найдите видео на YouTube, почитайте статьи, задайте глупые вопросы, сделайте несколько ошибок. Я не могу многому научиться, просто перечитывая статью, но мне действительно помогает подойти к одной и той же головоломке с разных сторон.

ЗК Ракетостроение
Помните: обучение — это не ракетостроение. Только учебники есть.
Я стараюсь не рекомендовать слишком много материалов, потому что метод обучения у всех разный. Но вот некоторые из них: