【L2ブロックチェーンの未来】ゼロ知識証明の概念を基礎から解説!
今回はゼロ知識証明の概念について、基礎的な内容から解説していきたいと思います。
昨今、L2ソリューションとしてzkRollupなどのゼロ知識証明を活用したプロトコルが注目されていますが、本投稿では、「最近ゼロ知識証明ってよく聞くようになったけど、中身はよく分からない」という方向けに技術的な話というよりかは、その根本となる概念部分から説明していきたいと思います。
ゼロ知識証明をこれから学んでいく際の入り口になれたら幸いです!
ゼロ知識証明の概要
ゼロ知識証明は、Shafi Goldwasser氏とSilvio Micali氏による1985年のMIT論文「The Knowledge Complexity of Interactive Proof-Systems」にて提唱された理論となります。この論文で著者らは、証明者は自分が持つ知識が正しいことを、追加情報を検証者に提示することなく証明可能であることを示しています。
ゼロ知識証明の基本特性
ゼロ知識証明の主な特性は以下の3点です。
1. 完全性(completeness)
証明者の主張が真であるならば、検証者はその主張の正しさを高確率で検証できる
2. 健全性(soundness)
証明者の主張が偽であれば、証明者がどのように振る舞ったとしても、検証者はその主張が間違いであることを見抜くことができる
3. ゼロ知識性(zero knowledge)
検証者が証明者から何らかの知識(情報)を取得しようとしても、証明者の主張が真であること以上の知識は得られない
なぜゼロ知識証明が必要なのか
秘匿性の向上
ブロックチェーンのオープンであるという特徴は、ガバナンスの透明化など多くの利点を提供してきましたが、個人資産が外部から閲覧可能であることのリスクや、企業のプライベート性の高いデータの取扱いなど、まだまだ課題が残されています。
今後はその透明性と秘匿性がユースケースごとに上手く使い分けされていくことが予想されており、その中でゼロ知識証明が秘匿性を向上させる技術として活用されていく可能性が高いと考えられています。
ブロックチェーンの処理速度(スケーラビリティ)の向上
また、2021年バブルの時期からEthereumのトランザクション処理速度の遅さや、高騰するガス代の問題がそれまで以上に顕在化しておりますが、その課題に対するスケーリングソリューションとしてzkRollupと呼ばれる技術などの活用も大きく期待されています。
zkRollupでは、まず複数のトランザクションをひとまとまり(Rollup)にし、その有効性をゼロ知識証明(zero-knowledge proof)の技術を用いて証明します。その後、トランザクションの束とその有効性証明をまとめてL1ブロックチェーンに提出します。
L1ブロックチェーンでは、提出されたトランザクションの束は既に有効性が証明されているため、検証者はその中身まで改めて確認するという手間をかける事無く、多くのトランザクションを一括で検証することが可能となります。これによって検証にかかるスピードの向上とコストの大幅な削減が実現されます。
Ethereumの創設者であるVitalik Buterin氏自身もかねてよりzkRollupの可能性について言及しており、下記Tweetでは自身が2018年に初めてzkRollupについて執筆した記事について紹介しています。
※Tweetに記載のvitalik氏の記事リンク:https://ethresear.ch/t/on-chain-scaling-to-potentially-500-tx-sec-through-mass-tx-validation/3477
ゼロ知識証明の概念を理解するための事例「洞窟問題」
ゼロ知識証明の作成では検証者が証明者に一連の動作を依頼します。
その動作は証明者が正しい知識を持っている場合にのみ実行することが可能となり、もし証明者がその答えを推測して回答するだけであれば、検証者の一連のテストによって高確率で証明者の間違いが判明します。
ここからはその具体例として洞窟問題を用いて説明をしていきます。
Jean-Jacques Quisquater氏らの論文「我が子にゼロ知識証明をどう教えるか」で紹介されているのがこの洞窟問題で、相手に知識の中身を教えることなく、その知識を持っていることを証明する概念的なお話になります。
前提となる情報と証明の流れは以下の通りです。
基本情報
男性:検証者
女性:証明者
前提:
・男性(検証者)は女性(証明者)がAとBのどちらの道から入ったかを知らない
・女性(証明者)は洞窟の先にある扉を開けるパスワードを知っている
⇨つまり、女性はAとBのどちらの道からも外に出られる
証明したいこと:
女性(証明者)はパスワードを知っていることを男性(検証者)に証明したい(パスワードの内容は知られたくない)
さて、女性はパスワードの中身を男性に知らせずにどう自分がパスワード知っていることを証明するのか、というのがこの洞窟問題のテーマになっています。
ここでゼロ知識証明の考え方を活用することになります。
検証の流れ:
・男性は女性がどの道から洞窟に入ったのか分からない洞窟の外に立つ
・女性はAとBの道のどちらかをランダムに選んで、その道を進む
・その後、男性は女性にAとBの二つの道のうちどちらかを使って洞窟の入り口に戻るように依頼する
⇨ここで女性が元々Aの道を選んでいて、男性からBの道から戻るように依頼された場合、それを実現する唯一の方法はパスワードを知っていることになります。
この一連のプロセスを何度も繰り返すことで、女性がパスワードを知っていて、たまたま推測で選んだ帰り道が当たっていたわけではないことが確率的に証明されます。(例えばこのプロセスを20回繰り返した場合、全てに応えられる可能性は約0.000001%というかなり低い確率になります)
概念的な話になりますが、以上がゼロ知識証明の根本的な考え方になっています。
ゼロ知識証明のユースケース
ゼロ知識証明についてはいくつかの事例が存在しますが、その中で代表的ものを簡単にご紹介をします。
Tornado Cash
Tornado Cashはミキシングという技術を使って送金元と送金先の繋がりを不鮮明することで、送金者・受け取った人・送金内容を秘匿するサービスです。ミキシングとは「BTCやETHの送金を行うトランザクションを集めてその名の通り”ミックス”し、送金先を判別しづらくする」ことを指しており、Tornade Cashではその仕組みにゼロ知識証明が活用されています。
しかし、Tornado Cashの問題点として、その秘匿性からマネーロンダリングやテロに活用される懸念を指摘されており、今後何かしらの規制が入ることも考えられます。こちらはゼロ知識証明の秘匿性の利点と犯罪に利用される可能性があるという欠点が表裏一体になっているというわかりやすい事例でもあります。
zkEVM
zkEVMとは、Ethereum Virtual Machine(EVM)との同等性や高い互換性を実現したzkRollupになります。完全にEVMとの同等性があれば、開発者はこれまで慣れ親しんだEthereum上で開発する時と同様の言語・フレームワークを用いて開発を進めることが可能となり、EVM環境に特に変更を加える必要もないので、ストレスなくサービス開発が可能となります。
また、L1のEthereumとL2ブロックチェーン間がシームレスに接続されることで、L1の高いセキュリティを維持しつつL2の高速処理・低いガス代による高いUXが実現でき、より一層のTVL(Total Value Locked)獲得に繋げやすくなることが考えられます。
上記のようなEVM同等性のあるzkEVMについては、開発難易度の高さから2023年2月現在まだ実現されていません。しかし、既に大きなTVLを持つプロダクトをいち早く自身のzkEVMに誘致できるかが、プロダクトとしての成否に大きく関わるため、各社凌ぎを削って開発を進めている状況となります。
まとめ
ここまでゼロ知識証明の概念的な説明とそのユースケースについて解説をしてきましたが、EthereumのL2ソリューションとしては、現状ArbitrumやOptimismなどのOptimistic Rollup系のプロトコルがTVLの面でも一歩先を行っています。
それは完全なzkEVMがまだ実現しておらず、EVM環境でゼロ知識証明を活用した汎用的なサービスの開発が出来ないため、今ゼロ知識証明を活用するインセンティブが弱いことに起因しています。
しかし、Optimistic Rollupを活用したL2ソリューションも万能なものではなく、その特性上(Fraud Proofと呼ばれる不正防止の技術)、資金の引き出しに一定期間が必要なため、資本効率性が低いなどの課題を抱えています。
反対にzkRollupはゼロ知識証明によってトランザクションの正当性が担保されているため、Optimistic Rollupのような課題を持たず、即時資金の引き出しが可能です。特にこれはDefiなど資金の流動性が重要となるプロダクトを頻繁に利用するユーザにとっては大きなメリットになります。
資金の流動性はL2ブロックチェーンの特徴である低いガス代、スケーラビリティの向上と同じくらい重要なポイントであり、zkRollupやzkEVMの分野が未来のL2ソリューションの基盤になると期待される所以でもあります。結果として、今後EVM同等性を持つzkEVMが完成し、多くのプロダクトがその上で稼働を開始した場合、現在のL2ソリューションのTVLランキングも大きく塗り替えることが予想されるでしょう。
まだ未成熟であるからこそ、この分野を早期にキャッチアップしておくことはブロックチェーンの未来を考える上でも大きなアドバンテージになるかと考えています。今後もこの分野から目が離せないこと間違いなしです。
Plus Web3は「Web3領域に特化したキャリア支援サービス」
Plus Web3では、Web3で働きたい人材と、個人に合わせた優良企業をマッチングする求人サービスを行っています。
- Web3で働くことも考えている…
- Web3のインターン先はどこがいいか分からない…
- どんな知識やスキルがあれば良いのか分からない…
このような悩みを抱える人は、一度「無料キャリア相談」にお越しください。あなたにマッチした優良企業をご紹介いたします。