1年以上前にZK Bookをリリースした際、私たちはZK教育の分野を大きく前進させました。
私たちの書籍は、ZKを学ぶための「必要十分な数学」というアプローチを開拓しました。
本日、ZK Bookに新たな追加を行い、再びそれを実現します。
"Circom and Constraint Design Patterns"
この新しいセクションでは、自明ではないZK回路を設計、作成、監査する方法に焦点を当てています。
おそらく、Circomを使用して多項式の評価を知っていることを証明する方法に関するチュートリアルをたくさん見てきたことでしょう。
しかし、そこからどのようにしてZKVMを設計したり、従来のハッシュ関数(MD5やKeccak256など)のプリメージを知っていることを証明したりするのでしょうか?
ZK Bookの新しいパートでは、数字を掛け合わせることから、以下のことを行うための旅に出ます。
- スクラッチからZKVMを構築する
- MD5ハッシュ関数の制約をコーディングする
- 制約設計における反復的なデザインパターンを学ぶ
最後の部分は興味深いものでした。確立された「デザインパターン」の中には、名前さえ付いていないものもあったからです。私たちはいくつかの用語を発明する必要がありました!
いつものように、新しいアイデアを読者に紹介する方法について、新しい人が圧倒されないように非常に慎重に検討しています。前提条件を適切な順序で、多くの例を挙げて教えるように注意しています。
各章では、ますます複雑になるアプリケーションの回路を構築する方法を示しています。各章で、以前に学んだことを復習し、新しいデザインパターンを学びます。
これらのデザインパターンのコレクションを構築したら、それらを組み合わせて、ZKVMや自明ではないハッシュ関数などのより複雑なアプリケーションを構築できます。
私たちは、この資料が理解しやすく、重要な省略なしに正しいものであることを確認するために、多大な努力を払いました。
この作業をレビューし、提案をしてくれた@ChainLight_io、@VeridiseInc、@PrivacyScaling、@zksecurityXYZに感謝します。
特に、章を本当に洗練された状態にするために、いくつかの修正に取り組んでくれた@zksecurityXYZの@marcobesierに感謝します。
この本の新しいパートの最初の7章を共同執筆してくれた@cal_nixに特別な賛辞を送ります!
ここで取り上げるトピックは非常に基本的なものです。ここの資料を理解していなければ、より現代的なZKVMやZK Layer 2クライアントの内部構造を学ぶのは非常に難しいでしょう。これまで、このような基礎的な概念に対する初心者向けの解説がなかったことが、ZK分野の発展を妨げていました。
この新しい研究は、既存の資料の単なる「より良い説明」ではなく、学術論文以外では初めての説明です。
Circomを最も初心者向けであると考えているため、Circomを指導言語として使用しています。ただし、ここで学ぶことは、Plonky3、Halo2、o1js、Gnarkなどの他のフレームワークにも一般化できます。新しい記事により、ZK Bookは38,000語以上長くなりました。
この本のこのセクションを読むために、ZK-SNARKの仕組みを知る必要はありませんが、いくつかの前提条件があります。「Introduction to Circom」の章に記載されています。
いつものように、資料は完全に無料で、ログインは必要ありません。