web-dev-qa-db-ja.com

「知識ゼロ証明」をエンドユーザーに説明するにはどうすればよいですか?

ZKPは、実際にその答えが何であるかを明らかにすることなく、秘密への答えを知っていることの証明を可能にします。

この概念を日常の実践に取り入れるために役立つ類推はありますか? " lie to children "の例で十分です。

たとえば、Diffie–Hellmanには 色の混合 の類推と南京錠のメタファーがあります。

実生活のメタファー、力のあるスーパーヒーロー、ヒーロー/悪役、オブジェクト、または誰かがZKPとは何かを説明するのに役立つと思われるものはありますか?

私の意図は、優勝したメタファーを、ZKPが提示されたときにモバイルデバイスで再生されるアニメーションに変換することです。 (送信側に1つのアニメーション、受信側に1つのアニメーション)

32

私の大学院でのゲスト講義でこの例を聞きました。私は何度も使ったので、ZKPをほぼZero Knowledgeの暗号/数学で説明するのに十分簡単だと思います。

superpowerを使用して、ツリー内の葉の正確な数をカウントすることをあなたに納得させたいとしましょう数秒。実際に正確な数を明らかにせず、私のsuperpowerがどのように機能するかを明らかにせずに、あなたを説得したいと思います。簡単なプロトコルを考案できます:

私は目を閉じて、その木から葉を取り除くことを選択できるようにします。それは単なる選択なので、あなたはそれを引き離すか、または引き受けないでしょう。私があなたがそれをしたかどうかを知る方法は、私のsuperpowerを使って再びすばやく葉を数える以外にありません。さて、木を見ると、実際にそれを引っ張ったのかどうか尋ねてきます。

私があなたに間違った答えを与えると、あなたはすぐに私のsuperpowerが偽物であり、私の知識も偽物であることを知るでしょう。しかし、私の答えが正しければ、私は運が良かったと思うかもしれません。その場合、上記の手順を繰り返すことができます。私が実際にsuperpowerを所有し、の正確な数を知っているという事実に満足するまで、これらの手順を繰り返し続けることができます

52
Rahil Arora

私が遭遇したゼロ知識証明の最良のデモンストレーションは、Moni Naorによる "Applied Kid Cryptography、or How to Convin Your Children You Not Cheating not" by Moni Naorです。 、Yael Naor、Omer Reingold。彼らは単純だが実際の暗号の問題を調べます: Waldo パズルの解決策を知っていることを、彼の場所に関する情報を残さずに人々に納得させる方法。論文のタイトルが示唆しているように、説明は子供が理解できるほど単純なものを目指しています。

6
Psychonaut

良い答えはこの話です:注目すべき事例は、ゼロ知識証明の背後にある基本的なメカニズムを説明するために使用される「ALi Babaの洞窟」のメタファーです。同時に、カジュアルな見物人は秘密の知識についての情報を得てはなりません。

  • 本から:メタファーを使用したアルゴリズムの説明、ミハルフォリシェク・MonikaSteinová、2013
  • 本の参照は1990年のこの記事です:あなたの子供にゼロ知識プロトコルを説明する方法。

enter image description here

3
Ali

RSAのミキシングのアナロジーに関する称賛。素晴らしい発見。

Zkpは、主に何らかの操作に依存しており、検証側は、相手側が使用できるいくつかの用語を指示できます。もちろん、これはそもそも問われる質問に大きく依存しています。

ドアを通り抜けるためのパスワードを知るのではなく、ペギーがトンネルの左側/右側に到達できるかどうかをビクターが知りたいと質問された場合、ペギービクターシークレットドアの組み合わせは機能しません。

だから、現実の問題はおそらく子供のために要約することができます:

A/B/Cがどのように機能するかを理解しているのか、そうであると言う知識に精通しているのか知りたい。その証明は、何らかの形のテストである可能性があり、受け入れられた回答の逐語的説明の形の知識、または知識の物理的表現に変換される可能性があります(つまり、燃焼エンジンがどのように機能するか知っていますか?はい、ここがフラットです。 8私が素手で作ったツイン炭水化物で、ロシアの北部のどこかにある鉱山の奥から切り出した鋼で) ZKPのトリッキーなことは、これが他の多くの領域にまで及んでいることです。それは、証明の作成時に、それ自体が答えを導き出す方法を明らかにするかどうかです。

そして、それは現実の世界に現れ、検証当事者が証明をリバースエンジニアリングして内部の陰謀を決定するのに必要な時間に変換されます。したがって、私はZKPもこの時間を、これを理解することが意味をなさない割合まで増やすことについてであると主張します。

これで、これを実際の多くの例に適用できます。

1
munchkin

同じであるが、パッケージが異なると広く信じられている2種類の飲み物があるとします。しかし、それらが同じであるという事実を知っているAは、2つを区別するためのテストを発見しようとします。次に、AはBに2つの飲み物が同じではないことを納得させたいと思います。

a)Aが彼女のテストの詳細をBに送信し、Bにテストを実行させることを証明する簡単な方法。 b)しかし、Aが実施されたテストについて何も漏らしたくないと仮定します。次に、Aは次のプロトコルを使用してBを説得できます。

それは次のようになります Bは各ブランドの缶飲料を取り、ランダムに缶を選び、そこから飲み物を注ぎ(すべて非公開)、Aに渡します。次に、サンプルをテストし、サンプルが属するブランドをBに伝えます。彼らはこの手順を数回繰り返します。 Aが毎回正しく答えると、Bは飲み物が同一ではないという主張を受け入れます。

このプロトコルでは、最初に、飲み物が異なり、Aがそれらを区別する信頼できるテストを持っている場合、Aは常にBを納得させることができます。一方、実際に両方の缶からの飲み物が同じである場合、Aはそれらを知ることができません離れて。

0
TarunSh