現在の暗号資産(仮想通貨)業界では、ゼロ知識証明(Zero-Knowledge Proof)を応用したテクノロジーがいくつか開発されています。
中でも、イーサリアムのスケーリングソリューションである「ZK-Rollups」はゼロ知識証明を活用した技術として有名です。
今回の記事では、そんなゼロ知識証明を利用して、プライバシーを保ちながらNFTの所有を証明できる「SealCred」についてご紹介していきます。
そもそもゼロ知識証明とは?といった基礎知識や、SealCredのサービス内容を詳しく解説していくので、気になる方はぜひ最後までチェックしてみてください。
この記事の構成
そもそもゼロ知識証明(Zero-Knowledge Proof)とは?
まず、SealCredのサービス内容をご紹介する前に、そもそもゼロ知識証明とはどういったものなのか?ということを詳しく確認していきましょう。
自分がある情報を知っていることを、その情報の内容を明かさずに証明する方法
ゼロ知識証明を簡単に説明すると、「自分がある情報や秘密を知っていることを、その内容を明かさずに証明する方法」と言うことができます。
このゼロ知識証明を利用すれば、例えば「あるプラットフォームにログインするパスワードの詳細は明かさずとも、自分が本物のパスワードを持っている」ということを証明することが可能になります。
ゼロ知識証明の概念自体は1980年代に発表されており、現在はブロックチェーンにおける様々な技術への活用が進んでいる状況です。
ゼロ知識証明の説明でよく紹介される「ジャン・ジャックの洞窟の問題」
ここでは、ゼロ知識証明について理解を深めるために「How to Explain Zero-Knowledge Protocols to Your Children」で紹介された「ジャン・ジャックの洞窟」の問題を見ていきましょう。
画像引用元:Wikipedia「ゼロ知識証明」
この問題は、Pさん(ピンク色の服)がVさん(緑色の服)に洞窟の奥にある扉を開くための「パスワード」を持っていることを証明するという問題です。
前提として、Vさんはお金を払ってでもパスワードを知りたいのですが、Pさんが本当のパスワードを持っていることをまだ確信しておらず、かつお金を払った途端にPさんが逃げてしまう可能性があります。逆にPさんとしては、先にパスワードを教えてしまうとVさんがお金を払わずに逃げる可能性も考えられます。
そこでPさんは洞窟に一人で入り、ランダムにAもしくはBの方向へと進みます。その後、洞窟の外にいるVさんはランダムにAかBを選択し、Pさんに選択したルートから入り口に戻ってくるように指示をします。
画像引用元:Wikipedia「ゼロ知識証明」
仮にPさんがAの方向へと進み、VさんもAの方向から戻ってくるように指示をした場合、Pさんは来た道を戻る形になります。
しかし、PさんがBの方向へと進み、VさんがAの方向から戻るように指示をすると、Pさんは持っている「パスワード」を使って洞窟の奥にある扉を開く必要があります。
画像引用元:Wikipedia「ゼロ知識証明」
この手順を何度も繰り返し、毎回Pさんが指示した方向から帰ってきた場合、本当のパスワードを持っているという証明をすることが可能となります。
ゼロ知識証明という言葉だけを聞くと少し難しく感じますが、こういった具体例で考えると比較的理解しやすいのではないでしょうか。
ゼロ知識証明が満たさなければいけない3つの条件・ルール
洞窟の例のように「パスワード自体は教えずとも、本当のパスワードを知っていること」を証明できるゼロ知識証明ですが、この仕組みが成り立つためには以下の3つの条件が必要になってきます。
- 完全性(completeness)
- 健全性(soundness)
- ゼロ知識性(zero-knowledge)
順番に詳しく確認していきましょう。
完全性(completeness)
完全性(completeness)とは、「Pさんが持っているパスワードが本物なら、Vさんはそれを高確率で検証できる」という意味になります。
つまり、VさんはPさんに何度も洞窟を往復させることで、本物のパスワードを所有していることを確認することが可能です。
健全性(soundness)
健全性(soundness)とは、「もしPさんが本物のパスワードを持っていると嘘をついている場合、Vさんはそれを見抜くことができる」ということです。
洞窟の例で考えると、もしPさんが本物のパスワードを持っていないと、洞窟の奥の扉を解錠することはできないはずです。
ゼロ知識性(zero-knowledge)
最後のゼロ知識性(zero-knowledge)ですが、「例えVさんがパスワードそのものを盗もうとしても、Pさんが本物のパスワードを持っている」ということ以外を知ることはできません。
洞窟の例でも、VさんはPさんが「扉を解錠した=パスワードを所有している」ということ以外は知ることができないでしょう。
プライバシーを保ちつつNFTの所有を証明できる「SealCred」とは?
ここまで、ゼロ知識証明の概要や、簡単に理解するための具体例などをご紹介してきました。
次に本記事の本題となる、ゼロ知識証明を使ってプライバシーを保ちつつ、NFTの所有を証明できる「SealCred」について解説していきます。
Big Whale Labsが開発するゼロ知識証明を利用したプロジェクト
SealCredとは、ゼロ知識証明を利用して様々なサービスの開発を手がけているBig Whale Labsによるプロジェクトです。
サービスの内容としては「プライバシーを保ちながら、自分が特定のNFTを持っているということを証明できるZK Badges(zk-NFT)の発行」を行っています。
具体例を出すと、例えば「CryptoPunksを持っていることを証明したいものの、具体的にどのCryptoPunksを持っているかまで公表したくない」という場合があるとします。
そういった時にSealCredを使用することで、匿名性を保ちながら、確実にCryptoPunksを所有していることを証明するZK Badges(zk-NFT)を作成することが可能となります。
「SealCred」で「zk-NFT」が発行されるまでの仕組み・手順を徹底解説
SealCredでNFTの所有を証明する「zk-NFT」が発行されるまでの仕組み・手順としては、以下の通りです。
- SealCredとMetaMaskなどの暗号資産ウォレットを接続する
- SealCredがウォレットにあるNFTを確認し、所有を証明するZK Badges(zk-NFT)を発行
- ZK Badges(zk-NFT)を匿名のウォレットに送付して使用する
ここで重要なのが、最後のZK Badges(zk-NFT)を送付したウォレットのアドレスへと辿ることができないということでしょう。
この仕組みによって、しっかりとプライバシーを守りつつ、特定のNFTを所有していることを証明することが可能となります。
「SealCred」が活用される今後のユースケース
そんなSealCredですが、今後のユースケースとしては以下が考えられます。
- NFTの所有権の確認
- 匿名のSNSでの使用
- 学校の所属証明(School Affiliation)
- 匿名でのDAOやDAOメンバーへのレビュー
現状ではまだまだユースケースは少ないと思われますが、今後より社会にNFTが普及することで、利用する機会が増えていくことも考えられるでしょう。
ブロックチェーンでゼロ知識証明が利用されているその他の事例
最後に、ブロックチェーンでゼロ知識証明が利用されているSealCred以外の事例について、いくつか確認していきましょう。
Zcash(ジーキャッシュ)
Zcash(ジーキャッシュ)とは、2016年10月にリリースされた非常に匿名性の高い特徴を持った暗号資産です。
ビットコインをはじめとしたブロックチェーンでは取引履歴などを誰でも確認できることは常識ですが、ある種プライバシーが守られないという課題がありました。
そこでZcashではユーザーのプライバシーを守ることを目的として設計されており、「zk-SNARK」というゼロ知識証明を利用し、暗号資産の送信者や受信者、取引数量などを非公開にしています。
また、元NSA(米国家安全保障局)職員でロシアへと亡命したエドワード・スノーデン氏もZcashの開発に携わったとされており、一時期大きな話題となったことは有名です。
しかし、完全匿名で利用できるという特徴から、マネーロンダリングなどの犯罪に利用される危険性があることも知っておくべきでしょう。
ZK-Rollups
画像引用元:Scaling | ethereum.org
ZK-Rollupsとは、イーサリアムブロックチェーンなどで導入されているレイヤー2のスケーリングソリューションです。
内容を簡単に解説すると、「数千にも及ぶ大量のトランザクションをオフチェーンで一度処理を行い、最小限に要約したデータのみをメインのブロックチェーンに転送する」という技術となっています。
この要約したデータを送る際、イーサリアムブロックチェーンにデータを記録する妥当性を証明するために、ゼロ知識証明を活用しています。
イーサリアムのスケーリングソリューションとしてはSharding(シャーディング)が注目されがちですが、ZK-Rollupsも今後のイーサリアムを支える重要なテクノロジーと言えるでしょう。
プライバシーを守りながらNFTの所有を証明できる「SealCred」まとめ
今回の記事では、ゼロ知識証明を利用してプライバシーを守りながらNFTの所有を証明できるSealCredについてご紹介してきました。
まだ一般の方などがSealCredを利用する機会は少ないと思いますが、実生活にさらにNFTが浸透することで様々なユースケースが生まれてくることが考えられます。
特に、基本的に匿名で参加することが多いDAO(自律分散型組織)においては、SealCredのようなサービスを使用する機会が増えていくと考えられるでしょう。