ゼロ知識証明のユースケースとは?

ゼロ知識証明のユースケースとは?

はじめに

ブロックチェーン業界では日々、様々な研究開発が行われていますが、注目されている技術のひとつに「ゼロ知識証明」(ZKP:Zero Knowledge Proof)があります。当メディアでもゼロ知識証明の基本について解説しています。

ゼロ知識証明は様々なプロトコルが公開されており、関連プロジェクトが既にいくつも進められています。そして、特にプライバシーの文脈で取り上げられることの多いゼロ知識証明ですが、実は他にも様々なメリットがあると考えられているのです。そこで今回は、ゼロ知識証明のユースケースについて、テーマごとに紹介していきます。

プライバシーのためのゼロ知識証明

現在、企業がブロックチェーンを利用するケースは増えていますが、ほとんどの場合、情報を秘匿化できる(公開範囲を限られたメンバーのみに設定できる)パーミッション型のブロックチェーンが活用されています。基本的にパブリックチェーンは、企業が求めるプライバシー要件を満たすことが難しいのです。

ゼロ知識証明を応用することで、(特にパブリックチェーンにおける)プライバシーの課題が解決できるとして、様々な研究開発が行われています。例えば、EYがオープンソースでローンチし、開発を進めている「Nightfall」などが事例として挙げられるでしょう。

Nightfallは、パブリックチェーンのイーサリアム上でトークンのプライベートトランザクション(匿名送金)を可能にするプロトコルです。一般的に、ゼロ知識証明を用いたプライベートトランザクションはデータサイズが大きくなり、gas代の負担が重くなる傾向にありますが、研究開発の進展に伴いコスト面での負担は軽減されつつあります(2019年12月時点で、トランザクションあたりのコストは約0.05米ドル)。

参考:EY releases third-generation zero-knowledge proof blockchain technology to the public domain

また、ゼロ知識証明を用いたツールキットなどを提供する企業「AZTEC」は、イーサリアム上のスマートコントラクトを秘匿化する機能を開発・提供しています。

トランザクションの秘匿化技術としての応用はゼロ知識証明の代表的なユースケースだと言えますが、次に紹介するようにゼロ知識証明はスケーリングなどでも利用されています。

スケーリングのためのゼロ知識証明

ゼロ知識証明の注目すべき点として、任意のデータセットの妥当性を証明できるという特徴があります。この特徴を活かして、ゼロ知識証明をスケーリングに利用する研究が進められており、そのアプローチは以下の2通りです。

  1. メインチェーンに書き込まれたオフチェーントランザクションバンドルを使用する
  2. Recursive snarksを用いてブロックチェーンのサイズを小さくする

ひとつ目のアプローチでは、オフチェーンで実施された複数のトランザクションの証明を、検証可能な形でオンチェーンに書き込むことで、データサイズを圧縮しています。

このアプローチに基づく事例として挙げられるのが、ゼロ知識証明の一種である「ZK-SNARK」を用いてブロックの有効性を検証する「ZK Rollup」というアイデアです。ZK Rollupをベースとして、「Matter Labs」という企業が高いUXを備えた「zkSync」というスケーリングプロトコルを開発しています。

参考:Introducing ZK Sync: the missing link to mass adoption of Ethereum

ふたつ目のアプローチは、「recursive SNARKs」(再帰的なSNARKs)という手法を用いて、ブロックチェーン自体のサイズを縮小しています。ブロックチェーンのブロックが正しいことを再帰的に証明する(n-1番目のブロックの証明をn番目のブロック生成時に検証する)ことによって、すべてのブロックチェーンをダウンロードしなくても、フルノード相当のセキュリティを維持できるとされています。

要するに、recursive SNARKsを用いることで、ブロックチェーンをひとつの証明に圧縮できるのです。

このアプローチには「O(1) Labs」という企業が取り込んでおり、プロジェクトとしては同社の進める「Coda」があります。Codaでは、どれだけ新しいブロックが追加されても、チェーン全体のサイズが一定になる“小さくてポータブルなブロックチェーン”が開発されています。

検証または証明のためのゼロ知識証明

ゼロ知識証明を用いることで、データの選択的開示が可能になります。ゼロ知識証明では、「秘密」が何であるかを開示することなく、秘密の存在を証明できるのです。簡単な例としては、ゼロ知識証明を使うことで、成人であることを年齢を明かさなくても証明できるサービスが実現します。

また、情報が特定の範囲に収まっていることや、別のデータセットと一致するかどうかも証明できるため、例えば、特定のアドレスがホワイトリストに含まれていることを、個人情報の開示無しに証明できるのです。

この特徴は金融システムなどに応用できると考えられており、例えば「QEDIT」という企業は、あるユーザーがKYC済みであることを個人情報の開示なしに複数機関でシェアする基盤「Collaborative KYC」を開発しています。

参考:Privacy-Enhanced Collaborative KYC

インターオペラビリティのためのゼロ知識証明

私企業が運営する取引所などの第三者を介在させずに、異なるブロックチェーン間での通信(アセットの交換など)を行う仕組みの開発は、ブロックチェーンにおける主要な課題のひとつです。実はゼロ知識証明のユースケースとして、このようなインターオペラビリティ(相互運用性)が研究されています。

過去、当メディアではインターオペラビリティを実現するプロジェクトとして「Cosmos」と「Polkadot」を紹介しています。

まとめ:ゼロ知識証明は企業も注目すべき技術

企業のユースケースにおいて、パブリックチェーンがほとんど使われない理由は、プライバシーのコントロールが難しいことがひとつの要因となっています。ゼロ知識証明はこの課題を解決する可能性を秘めており、今後は厳格なセキュリティが求められるケースでも、ゼロ知識証明+パブリックチェーンを使った事例が増えていく可能性が高いです。

また、パブリックチェーンでなくても、ゼロ知識証明を利用したトランザクションは、「Quorum」などのパーミッション型チェーンでも採用されています。

参考:許可型ブロックチェーンQuorumとは?事例&特徴を解説(BaaS info)

以上のように、企業がブロックチェーンや分散型台帳を利用する上では、ゼロ知識証明は要注目の技術だと言えるでしょう。

ブロックチェーンカテゴリの最新記事