ブロックチェーンのレイヤー2とは④くりぷと知っ得情報2月14日号

クリプトスタディ(クリスタ)の水野です。
シリーズで、ブロックチェーンのレイヤー2について、書いています。
前回までの記事
◻︎くりぷと知っ得情報1月17日号「ブロックチェーンのトリレンマとは」
◻︎くりぷと知っ得情報1月24日号「ビットコインのレイヤー2」
◻︎くりぷと知っ得情報1月31日号「イーサリアムのレイヤー技術『ロールアップ』」
◻︎くりぷと知っ得情報2月7日号「ロールアップの検証技術「Optimistic Rollups」
ロールアップとは、メインのブロックチェーンのセキュリティを活用しながらも、トランザクションの一部をレイヤー2=オフチェーン(ブロックチェーン外)で処理することにより、ネットワークの混雑解消を図るスケーリング・ソリューションでした。
具体的には、トランザクションはレイヤー2で実行されるものの、トランザクションの正当性はレイヤー1のコンセンサス・メカニズムに依存して検証され、また、トランザクションデータの保存もレイヤー1で行われることを書いてきました。
先回は、このロールアップにおける正当性の検証技術、オプティミスティック・ロールアップ(Optimistic Rollups)について書きましたが、今回は、ZKロールアップ(ZK-Rollups)について、書いていこうと思います。
ZK Rollup
ZKロールアップ(ZK Rollup)は、オプティミスティック・ロールアップ(Optimistic Rollups)と同様に、メインネットワーク(レイヤー1)の外で取引を実行し、その結果をメインネットワークに送信する方法です。
この二つの特徴的な違いは、レイヤー2で計算されたデータの証明方法です。
この違いにより多くの差が生まれます。
異なる計算方法
オプティミスティック・ロールアップ(Optimistic Rollups)においては、メインチェーンにデータが送信された後、一定期間中に不正を検知した場合は、誰でも「不正証明(Fraud-Proof)」と呼ばれる方法を使って、イーサリアムのメインチェーンに訴えることができます。
それに対し、ZKロールアップでは、計算の証明に「ゼロ知識証明(ZKP)」と呼ばれる手法が使われて、レイヤー2で行われた処理が正しいかどうかが証明されます。
ゼロ知識証明(ZKP:Zero Knowledge Proof)
ZKロールアップのZKは、「Zero-Knowledge」(=ゼロ知識)の頭文字から来ています。
ゼロ知識証明とは「自分だけが知っている秘密の情報を他人に伝えることなく、それが本当であると証明するもの」です。
ゼロ知識証明(ZKP)その機能
ZKPの主要な参加者は2人です。
1、証明者(Prover)
秘密の情報を持っている人。
個人的な詳細を明らかにすることなく証明したいと考える人。
2、検証者(Verifier)
認証者の秘密を検証する人。
個人情報を尋ねることなく、証明者の主張が真実かどうかを検証する人
証明者と検証者が手続きを行うことで認証手順(プロトコル)が成立します。
これにより、認証者は自分が秘密の情報を所有していることを証明することができますが、その秘密の情報を公開する必要はありません。
このような方法は、プライバシーを保護するために非常に有用というわけです。
ゼロ知識証明の例
ゼロ知識証明を簡単に理解する例として、よく洞窟の例が利用されます。
Aさんが洞窟内にある扉のパスワードを知っていることを、Bさんに証明しようとします。

◻︎Aさんは1または2の入口から洞窟に入ります。(Aさんが洞窟に入るところをBさんは見ていない)
◻︎Bさんは、洞窟内のAさんに向かって、「1(または2)から出てきて」と指示します。
◻︎この時、何度試してもAさんがBさんの言った通りの出入り口から出てきた場合、Aさんは洞窟内の扉のパスワードを知っていると言えます。
「1から入って2から出る、2から入って1から出る」の時は鍵が必要になります。
(「1から入って1から出る、2から入って2から出る」は鍵が不要)
そのため、Aさんが入った方と逆の出口をBさんが指定する確率は一定(1/2)にも関わらず、毎回指定の入り口から出てくる‥‥、
となればBさんはAさんが鍵を持っていると信じて問題ない=Aさんは鍵を持っていることを証明できたと言えます。
これがゼロ知識証明の一例で、ZKロールアップではこの手法を使って、レイヤー2で行われた処理(計算)が正しいことを証明します。
イーサリアムのレイヤー2部分で正しい処理が行われていることをどう証明するかが、ロールアップ系の技術では問題となりますが、ZKロールアップ(ZK-Rollups)では、それをゼロ知識証明(ZKP)によってクリアすることを目指しているわけですね。
ZKPの可能性
ゼロ知識証明(ZKP)にはプライバシーに重点を置いた暗号化ネットワークにおいて最も有効な活用方法となります。
ブロックチェーンにおけるZKP
1、ブロックチェーンは誰でも情報を見ることができるので、プライバシーの観点で個人情報を暗号化する必要がある。
2、暗号化するとマイナーが正当性を確認できない
という課題を解決することができ、ブロックチェーンによる活用範囲が格段に上がると期待されています。
おわりに
ZKPを使用するには、大量の計算を行う必要があることが、ZKPを実用化する上での問題となっています。
また、ZKPはまだ研究が進んでいる段階であり、今後さらに発展する可能性があります。