【暗号通貨入門】ゼロ知識証明について簡単に解説

暗号資産

 

ゼロ知識証明って何だろう?

https://liberty-of-will.com/wp-content/uploads/2021/05/admin-ajax-300x300.jpg
高山くん

今回は暗号資産(仮想通貨)を知る上で大切な「ゼロ知識証明」について説明します。

西口さんは、「ゼロ知識証明」って知ってますか?

https://liberty-of-will.com/wp-content/uploads/2021/05/nishiguchi_san-e1619847685345-300x300.jpg
西口さん

深くは知らないけど、仕事関係でそのフレーズは見たことあるかな。

暗号技術の1つだったよね?

https://liberty-of-will.com/wp-content/uploads/2021/05/admin-ajax-300x300.jpg
高山くん

さすがですね。その通り、暗号技術の1つです。

暗号資産にも使用されていて、イーサリアム(ETH)などの通貨が挙げられます。

今回は暗号技術の1つである「ゼロ知識証明」を解説します。

「ゼロ知識証明」は暗号技術の1つであり、プライバシーを強化されるために使用されます。

企業などの注目性も高く、実際にイーサリアム(ETH)などのサービスで利用されています。

「ゼロ知識証明」は、ある情報を直接伝えることはせずに、別の情報を用いて証明することです。

情報が適切であることを証明したいが、その情報を直接相手に渡したくはない時に有効です。

例えば、海外へ入国する際は、関税などで個人を証明するために「パスポート」を用いますよね。

「ゼロ知識証明」を利用することで、「パスポート」を渡さず、検証者である審査官に私が「高山くん」ということを伝えます。

1つの案として、私の父と母の特定情報を伝えれば、「高山くん」を証明できるというものです。

この「ゼロ知識証明」を知ることでより暗号技術を深く知ることができ、ファンダメンタルズ分析に活用ができます。

なるべくイメージができやすいよう簡単に説明するので、最後までご覧ください。

 

実際のサービス

実際のサービスとしては、パスワードなど秘匿すべき情報を直接相手に送りたくない際に、その値の代わりとなるものを送ります。

パスワードは教えないけど、パスワードを知っていることを代わりの情報で伝えます。

二重決済(二重支払い)を証明する時に、取引情報の代わりに「ゼロ知識証明」が利用されています。

暗号資産の多くはトランザクションからアドレス、取引金額、送り先などが分かるようになっており、プライバシーは確保されていません。

そこで一部のプライバシーな情報を隠しつつ、その情報が不正でないことを証明するために「ゼロ知識証明」が必要とされています。

 

3つの性質

「ゼロ知識証明」は3つの性質を持っており、全てを満たしていないといけません。

①完全性

②健全性

③ゼロ知識

①完全性は、データに不正なく、正確であり正しく処理されることを指します。しかし、簡単に辿り着ける解では意味がありません。
②健全性は、検証者がデータを正しく発見することができることを指します。証明者が解を示せないなら検証者は拒否できます。
③ゼロ知識は、与えられた情報以外のものを得ることができないことを指します。

①の完全性にポイントがあり、離散対数問題や素因数分解のような、簡単に答えられない問題であるからこそ、「ゼロ知識証明」が活かせれます。

 

2つのケース

「ゼロ知識証明」が利用されるケースは2つあるとされています。

1つは、「ゼロ知識対話証明」です。

「対話型」ともいわれます。

こちらが一般的になっています。

もう1つは、「非対話ゼロ知識証明」です。

「非対話型」ともいわれます。

 

ゼロ知識対話証明(対話型)

対話型は「証明者」と「検証者」の相互のやり取りにより、情報が正しいかを確かめていきます。

対話型は検証する際に、毎回「証明者」に答えを求めます。

毎回答えを聞かれるため時間がかかり、決済システムではそのやり取りがデメリットとなります。

また、「悪意ある証明者」だけではなく、「悪意ある検証者」が出てくると証明が厄介となります。

 

非対話ゼロ知識証明(非対話型)

一方、非対話型ではその名の通り、お互いのやり取りが発生しません。

非対話型は特別な条件下でのみ使用されていて、暗号資産(仮想通貨)に使用されているのはこちらの方です。

状況を整えることで、「証明者」が証明を渡し、後に「検証者」が確認をします。

非対話型の場合は、誰でも証明を確認することができます。

お互いのやり取りが発生しないため、決済システムに取り入れた場合、レスポンスが早いです。

しかし、特定の条件下という制限があるため、幅広く利用できないのはデメリットといえます。

 

対話型の例

今までの話をまとめて、対話型の分かりやすい例を出したいと思います。

条件
「ダッチ」と「レベッカ」という2人がいたとします。
「ダッチ」=「証明者」で、「レベッカ」=「検証者」となります。
「ダッチ」は、ポーカーでバカ勝ちしている「ロックの秘密を知っている」と言います。
「レベッカ」は、だったら「証明してみろ」と言います。
しかし、「ダッチ」は証明はしてもいいが、秘密についてはバラさないと言います。

「ダッチ」は並べられているトランプのカードを5枚選び、俺が見ていない間、「レベッカ」にランダムに混ぜて伏せろと指示します。

「ダッチ」は「スペードのA」を当てると宣言します。

「レベッカ」はささっと選べと催促します。

「ダッチ」はその中から1枚選び、「スペードのA」を当てました。

ただのまぐれだ言う「レベッカ」に、「ダッチ」はさらに20回連続で「スペードのA」を当てて見せました。

21回まぐれで当てた場合、1/476837158203125となり天文学的な確率となります。

これをまぐれで当てたというには無理があり、「ロックの秘密を知っている」ということをほぼ証明できます。

「ロックの秘密」=「カードの裏にある傷を見てイカサマしている」を「レベッカ」に伝えずに、証明したという例でした。

 

非対話型の例

これを説明するには、数式が簡単なのですが、数学が嫌いな人にはハードルが高いので、またトランプの話にします。

非対話型では「証明者」が、一方的に情報を送りつけ、「検証者」がそれを後に証明します。

ある条件下で計算すると、必ず1になることを証明します。

条件
「ダッチ」=「証明者」で、「その他の登場人物」=「検証者」となります。
ある日、「レベッカ」と「ロック」宛てにビデオレターが届きます。
「ダッチ」はビデオレターの中で、マジックを披露すると息巻いています。
「計算すると、必ず1になる」とダッチは言います。
馬鹿らしいと思いつつ、「レベッカ」と「ロック」は付き合うこととしました。

「ダッチ」は1~13までの中で好きな数を選ぶように言います。

その数字を思い浮かべたらその数に4を足して、さらに倍にするよう言います。

そこから6を引き、2で割った後、最初に選んだ数を引くとどうなるかと問います。

その後間髪入れずに「ダッチ」は、お前さんたちの数字は1になると満足気に言い放ちます。

「レベッカ」「ロック」はまんまと数字が1となることを検証しました。

悔しいので他の数字を選んで挑戦しましたが、何度やっても1となりました。

お互いのやり取りは必要としなくても、後に証明することができるこれを「非対話型」といいます。

 

まとめ

いかがだったでしょうか。

【暗号通貨入門】ゼロ知識証明について簡単に解説と題して、情報をお伝えしてきました。

今回の内容を簡単にまとめます。

・「ゼロ知識証明」は、ある情報を直接伝えることはせずに、別の情報を用いて証明すること

・秘匿したい情報がある際に役立つ技術

・①完全性、②健全性、③ゼロ知識の3つの性質を持っている

・「ゼロ知識証明」には、「対話型」と「非対話型」が存在する

・「対話型」は幅広い場面で使えるが、毎回通信をするデメリットがある

・「非対話型」は限定的だが、「検証者」とのやり取りがないため処理が速い

 

2021年6月現在では、ビットコイン(BTC)などの暗号資産の多くは、アドレスから資金の移動を割り出すことができ、プライバシーは確保されていません。

マネーロンダリングのために取引の透明性を高めて、色々な対策を講じても、悪意ある人間を排除することはできません。

であれば、悪意ある者にアドレス、取引金額などの情報を提供する必要はありません。

取引情報から個人を特定することも不可能ではないため、プライバシー強化が図れる「ゼロ知識証明」は非常に有効といえます。

ビットコイン(BTC)も「シュノア証明」というプライバシー強化の技術を、11月頃の大型アップデート(Taproot)で実装する予定です。

この「シュノア証明」についても今後解説するので、是非楽しみにしてください。

自由を掴むため、これからも一緒に学んでいきましょう。

それではまた!

 

高山くん

高山くん

建築の意匠設計→システムエンジニアに転職。 トレードに関することをお伝えしています。目指せ億り人!

関連記事

特集記事

コメント

この記事へのコメントはありません。

TOP