ゼロ知識証明の理論
ミキサープロトコルを実装するにあたって、この章を理解することは必須ではありません。この章では、ゼロ知識証明をブラックボックスとして扱いたくない人のために、Groth16について形式的な記述を挟みつつ説明します。理論よりもアプリケーションの構築を重視している人は、次の章である「ゼロ知識証明回路の基礎」に進むことを推奨します。
この章の構成は、まず「前提知識と準備」でGroth16を理解するために必要な計算機科学の知識と表記法を説明したあと、「証明システム」の説明から始め、「対話型証明システム」、「対話型ゼロ知識証明」、「NPに対するゼロ知識証明」、「知識の証明」、「アーギュメント」、「非対話型ゼロ知識証明」、「知識の非対話型ゼロ知識アーギュメント」、「簡潔な非対話型アーギュメント」、「Quadratic Arithmetic Program」と段階的にGroth16を理解するために必要なゼロ知識証明に関する技術を説明していき、最後にGroth16プロトコルの実体である「Quadratic Arithmetic Programのためのペアリングに基づく簡潔な知識の非対話型ゼロ知識アーギュメント」について説明します。
筆者はゼロ知識証明の専門家ではないため、不正確な記述をしている可能性があるので注意してください。もしあれば報告してくれると嬉しいです。あくまで参考程度にしてください。