はじめに 本記事は Ethereum Advent Calendar 2021 の19日目の記事で、zkRollupの具体的な処理について解説していきたいと思います。 実際に稼働してるロールアップのコードではなく、わかりやすいチュートリアル向けのミニマムな実装があるのでそれのコードの解説をしていければと思います。 ゼロ知識証明(Zero Knowledge Proof) ゼロ知識証明とは、秘密を知っていることを秘密を教えることなく、第三者に秘密を知っていると証明できる仕組みのことです。 ここではあまり深入りしませんが、zkRollupを作る上で大切な特徴があります。それは、大量の計算を正しく行ったことを証拠を見るだけで検証できるということです。 例えば、Bob(検証者)はAlice(証明者)の担任の先生だとします。 大量の計算(宿題)を正しく行ったことと証明したいAliceがProof(証