目次[隠す][見せる]
実生活でもデジタルの世界でも、私たちは他の人に物事を証明したいと思うことがよくあります。 従業員は通常、オフィスビルに入る前に、中に入る前に何らかのIDを提供します。
ユーザーがFacebookやTwitterなどのアプリにログインしようとすると、これらのサービスは最初にユーザーにパスワードを使用してログインするように要求する必要があり、場合によってはワンタイムパスコード(OTP)がモバイルデバイスに送信されます。
証拠を提供することの欠点は、他の種類の情報を提供することが多いことです。 Webサイトにパスワードを提供するということは、Webサイト自体がハッシュ化されたパスワードのコピーをサーバーに保持することを意味します。 誰かがオフィスビルの従業員IDスキャナーをハッキングした場合、全員の秘密鍵を入手できる可能性があります。
ゼロ知識証明またはZKPは、追加情報を提供することなく、IDまたはトランザクションを検証する方法を提供します。 暗号化でのアプリケーションのために、ZKPは ブロックチェーン 安全でスケーラブルな検証プロトコルを作成します。
ゼロ知識証明とは何ですか?
ゼロ知識証明は、1985年にMITの研究者であるシルビオミカリ、チャールズラコフ、シャフィゴールドワッサーによって最初に提案されました。 「対話型証明システムの知識の複雑さ」
このホワイトペーパーでは、知識の複雑さの概念を紹介しました。 これは、証明者から検証者に転送された証明に関する知識の量を指します。 ゼロ知識証明は、他の情報を開示することなく、特定のステートメントが別の当事者に真実であることを当事者が証明できるようにすることを目的としています。
ZKPは、現在の認証システムの安全な代替手段として使用でき、トランザクションをプライベートに保つためにブロックチェーンプロトコルに追加することもできます。
ZKPはどのように機能しますか?
実際の例
ゼロ知識証明がどのように機能するかを説明するために、ZKPの抽象的な例を見てみましょう。
赤緑の色覚異常の友達がいるとしましょう。 色だけが異なるXNUMXつの同じボールがあります。XNUMXつは赤、もうXNUMXつは緑です。 あなたの友人には、それらは同じように見えますが、色覚異常のない人として、あなたはそれらを簡単に区別することができます。
どのボールが赤か緑かを明かさずに、友達に色が違うことを証明することはできますか?
実際、ボールの色を明らかにすることなくこれを証明する方法があります。 まず、友達に両方のボールを後ろに置いてもらい、ボールを見せてもう一度隠すように指示する必要があります。 次に、友達に同じボールをもう一度表示するか、他のボールに切り替えるかを選択できることを伝えます。
新しいボールが表示されるたびに、彼がボールを切り替えたかどうかを彼に伝えることができます。 正しい呼び出しを推測し続けると、ボールの色が異なる可能性が高くなります。 これで、友達は、どのボールがどの色をしているのかを教えなくても、ボールの色が違うことを確信できるはずです。
実用化
ゼロ知識証明の最も実用的な例は、XNUMXつのタイプに分類されます。
まず、プロトコルを設計するときにZKPを使用できます。 さまざまな関係者がプロトコルをだましたり利用したりできないようにすることができます。 次に、ZKPを識別に使用できます。
たとえば、ZKPを使用すると、パスワード自体を公開しなくても、Webアプリケーションに安全にログインできます。
ゼロ知識証明を使用する方法のいくつかの例を見てみましょう。
電子投票
ZKPの一般的に議論されているアプリケーションの1つは、オンライン投票におけるそれらの可能な役割です。 ユーザーが提案されたポリシーに投票できる国民投票が予定されているとしましょう。 有権者はそれぞれ、投票用紙に0またはXNUMXのいずれかで投票することができます。
ZKPを使用すると、有権者は自分の身元を明かさずに投票する権利を証明できます。 これにより、各投票が真に匿名になります。 追加のZKPは、特定のユーザーの投票が最終的な投票の集計の一部であることを証明するためにも使用されます。
投票用紙の内容自体に関して、投票システムは、各投票用紙に1または0が含まれていることを示すゼロ知識証明を生成することもできます。これは、投票用紙自体の内容を知らなくても実行できます。
ブロックチェーンのプライバシー
ビットコインやイーサリアムなどのブロックチェーンは、プライベートトランザクションをネイティブにサポートしていません。 あなたのビットコインウォレットが公開されている限り、誰でも次のようなブロックエクスプローラーに行くことができます ブロックストリーム ウォレットが含まれるすべてのトランザクションを表示します。
一方、銀行などのサービスや、Cash AppやVenmoなどの決済サービスを使用すると、個人的に取引することができます。 ただし、この便利さには、一元化されたサービスに情報を公開するという犠牲が伴います。
ブロックチェーンプロトコルにZKPを追加することで、匿名性と分散化を組み合わせることができます。 ZCashなどの暗号通貨は、ZKPを使用して、コイン所有者が匿名性を維持できるようにするプライベートトランザクションを作成します。 これらの暗号通貨のいくつかは、zk-SNARKとして知られているタイプのZKPを使用します。
これらのZKPは、証明者と検証者の間の相互作用を必要としません。
ゼロ知識ロールアップ
ZKロールアップは、オフチェーントランザクションを最小限のガス料金で即座に検証できるスケーラビリティソリューションです。 これらは、多数のレイヤー2トランザクションを組み合わせて、レイヤー1プロトコルに送信する方法です。
プライバシーを提供することに加えて、ZKPは複雑なシステムのスケーリングを可能にします。 ブロックチェーンプロトコルは、ZKPを使用して、ユーザーが適切なトランザクションを決済し、適切なバランスを取っていることなどを証明できます。 これらの安全でスケーラブルなソリューションは、ZKPでオフチェーンで行われる数学的証明によってのみ可能です。
Loopringなどのプロトコルは、ゼロ知識証明を使用して、セキュリティを損なうことなくオフチェーントランザクションを処理するのに役立ちます。
ゼロ知識証明の利点
- ZKPは、PINやIDカードなどの信頼性の低い認証形式に取って代わります
- ZKPSはブロックチェーンのスケーラビリティを向上させます
- ZKPの実装には、単純な暗号化方式が必要です
- ZKPSを使用すると、不要な情報をシステムに保存する必要がなくなるため、システムの安全性が高まります。
まとめ
データのプライバシーは、集中型システムと分散型システムの両方ですでに大きな問題となっています。 ゼロ知識証明は、さまざまな関係者がトランザクションやIDを明らかにすることなく、トランザクションやIDを証明または検証する方法を提供します。
ブロックチェーンテクノロジーがより広く使用されるようになるにつれて、検証を安全に処理するためのZKPの採用は、スケーラビリティの懸念の鍵となるでしょう。
コメントを残す