ゼロ知識証明とブロックチェーンの世界でのその役割とは何ですか?
公開: 2020-01-09過去数年間、私たちは大手銀行や他の企業が私たちの個人情報にアクセスして使用する方法に慣れてきました。 私たちは、時間の経過とともに、特定の方法で維持するのに役立つ機密情報を使用するメカニズムに「グリーンシグナル」を与えてきました。
しかし、それからブロックチェーン技術に入り、それはすべてを完全に変えました。
ブロックチェーンテクノロジーは、透明性、不変性、分散化、分散型台帳などのさまざまな特性を実現しました。 これにより、ユーザーは匿名で行動し、ハイエンドのセキュリティでトランザクションを実行できるようになりました。
[さらに詳しく調べる前に、時間をかけてブロックチェーンの基本を理解することを強くお勧めします。]
ブロックチェーンは、簡単に言えば、ユーザーがプライバシーと将来を制御できるようにしました。
しかし、Blockchainは本当にそうすることに成功しましたか?
一言で言えば、答えはNOです。
多くのブロックチェーンネットワークはパブリックデータベースを使用しています。 したがって、インターネットに接続している人は誰でも、ネットワークのトランザクション履歴のリストを表示できます。 彼らはトランザクションに関連するすべての詳細とあなたのウォレットの詳細を見ることができますが、ユーザーの名前はまだ彼らにはわかりません。 代わりに、公開鍵(ブロックチェーンネットワーク上のユーザーを表す一意のコード)として検出されます。
このように、暗号化技術を介して作成された公開鍵は、プライバシーをある程度保護します。 ただし、他の手法で公開することは可能です。
これはあなたの匿名のカバーを吹き飛ばしました。 ブロックチェーンの匿名性とプライバシーの神話を暴き、それを実感させます–
ブロックチェーンネットワークに保存されているユーザーの機密情報は機密情報であり、匿名ではありません。
同様に、ハイエンドのプライバシーと安定性を提供するためにコンセンサスアルゴリズムによって管理されるさまざまなブロックチェーンネットワークがありますが、そのような場合、分散化は2番目の優先事項と見なされます。 そのような多くの場合、両者はお互いを信頼していません。 [これらのコンセンサスモデルの詳細については、このブロックチェーンコンセンサスアルゴリズムガイドをご覧ください。]
これは、全体として、Blockchainがそれほど匿名ではなく、多くの愛好家が信じているように分散化されていることを明確に示しています。 そして、次のようなさまざまな質問を生み出します–
ブロックチェーンネットワークは本当に匿名である必要がありますか? Blockchainはどのようにしてユーザーにより多くの匿名性とより良いプライバシー保護を提供できますか?
現在のブロックチェーンネットワークでは、トランザクションはパブリック元帳に記録され、本質的に透過的です。 このため、ウォール街のようなさまざまな評判の高いブランドや市場は、クライアントとトランザクションの機密性が必須であるため、ゼロ知識証明テクノロジーの採用をためらっています。 これは、全体として、 Blockchain web3.0がビジネスに影響を与えることができるかどうかを疑問視しています。
2番目の質問に来ると、ブロックチェーンでトランザクションを匿名にするコインミキシング、 Ringct 、コインジョインなどのさまざまな概念と方法がありますが、高く評価されているのはゼロ知識証明です。
この記事で詳しく説明するもの。
それでは、ゼロ知識証明ブロックチェーンの簡単な定義から始めましょう。
ゼロ知識証明とは何ですか?
ゼロ知識証明は、1980年代にMITの研究者であるシルビオミカリ、シャフィゴールドワッサー、チャールズラコフによって提案された暗号化スキームです。 この方法では、一方の当事者(Prover)は、追加情報を開示することなく、特定のステートメントが他方の当事者(Verifier)に当てはまることを証明できます。
ゼロ知識暗号化により、あなた以外の誰も(サービスプロバイダーやブロックチェーンアプリ開発機関でさえも)あなたの保護されたデータにアクセスできないようになります。
定義がクリアされた状態で、 ZKPがどのように機能するかを理解するために例を見てみましょう。
例:キッズバーとキャンディーバー
ボブとアリスの2人の子供が、パーティーからキャンディーバーを受け取ったとします。 ボブは、アリスが同じ数のキャンディーバーを持っているかどうかを知りたがっています。 しかし同時に、それらのどれも正確な数を明らかにする準備ができていません。
つまり、ボブは、受け取ったキャンディーバーの数が10、20、30、および40であると想定して、部屋に4つのロック可能なボックスを持ってくるということです。彼は各ボックスにキャンディーバーの数に対応する値のラベルを付けます。
次に、ボブはポケットに入れたキャンディーバーの数を定義するボックスのキーを保持し(たとえば、30個のキャンディーバーを入手したとしましょう)、他のすべてのボックスのキーを捨てます。 そして彼は部屋を出ます。
さて、アリスは4枚の小さな紙を持って部屋に入り、そのうちの1枚に「+」を書き、もう一方には「-」と書きます。 ここで、「+」は彼女が入手したキャンディーバーの数を示し、「-」は他のすべての値を示します。
彼女は、1つのボックス(たとえば、20個のキャンディーバーを表すもの)に「+」記号が付いた紙片を滑り込ませ、残りのボックスに「-」記号を入れます。 そして彼女は去ります。
今、ボブは再び部屋に入り、鍵がポケットに入っている箱を開けます。 次に、ボックスに「+」記号または「-」記号の付いた紙があるかどうかを確認します。 '+'記号の場合、彼はアリスが同じ数のキャンディーバーを持っていることに気付きます。 一方、他の場合、彼女はしません。
アリスには20個のキャンディーバーがあり、ボブには30個のキャンディーバーがあることがわかっているので、ボブがキーを持っているロック可能なボックスに「-」記号が表示されることは明らかです。 これにより、両方に同じ数のキャンディーバーがないことが明らかになります。
同時に、アリスは部屋に再び入り、ボブの手に「-」のサインを見つけます。彼女はまた、キャンディーバーの数が異なることを知るようになります。
注:この方法により、ボブは同じ数のキャンディーバーがないことを学習します。 しかし、アリスが彼よりも多かれ少なかれキャンディーバーを持っているかどうか、またその逆の場合、彼にはまだ手がかりがありません。
したがって、ゼロ知識証明イーサリアムは、トランザクションを実行している間、ユーザーの機密情報のプライバシーを維持します(この場合、トランザクションは、ユーザーが同じ数のキャンディーバーを持っているかどうかを検出します)。
この例は、ゼロ知識証明(ZKP)とは何かを正確に理解するのに役立ちますが、画像で概念を更新しましょう-
ここで、ゼロ知識証明(ZKP)の概念が説明されているので、他の利用可能なオプションよりも誰もがそれを好む理由を調べるのに最適な時期です。 ゼロ知識証明の長所と短所を掘り下げてみましょう。
ゼロ知識証明(ZKP)の利点
- シンプル–ゼロ知識暗号化の主な利点の1つは、複雑な暗号化方式を必要としないことです。
- 安全–いかなる種類の情報も公開する必要はありません。
- トランザクション─ZKPに関連するもう1つの確実な利点は、ブロックチェーン上のトランザクションの短縮です。 その結果、ユーザーは、さまざまなタイプの資産との互換性とIDを含めるために、情報ストレージについて心配する必要がなくなります。
これらはゼロ知識証明の長所ですが、この概念にはいくつかの短所もあります。 そのうちのいくつかは:-
- 長い–ゼロ知識技術では、約2kの計算があり、それぞれが処理するのに一定の時間を必要とします。 これは、ゼロ知識証明を使用することの最大の欠点です。
- 不完全–検証者/証明者に配信されたメッセージが破棄または変更されている可能性があります。
- 制限付き–ゼロ知識プロトコルでは、シークレットが数値である必要があります。 それ以外の場合は、翻訳が必要です。
これについては、ゼロ知識プロトコルをブロックチェーンエコシステムにいつどのように導入できるかを評価する前に、技術を深く掘り下げてみましょう。
ゼロ知識証明のコア特性は何かから始めます。
ゼロ知識証明の特性
1.完全性
ステートメントが真実であり、両方のユーザーが規則に忠実に従っている場合、検証者は外部の助けなしに確信します。
2.健全性
ステートメントが偽の場合、検証者はどのシナリオでも納得しません(たとえ証明者がステートメントがある程度の確率で真であると言ったとしても)。
3.ゼロ知識
どちらの場合も、検証者は、ステートメントが真または偽であること以外の情報を知ることはできません。
ZKPの原則について説明しますが、ビジネス愛好家が投資できるさまざまな種類のZKPについて説明しましょう。
ゼロ知識証明の種類
1.インタラクティブなゼロ知識証明
インタラクティブなゼロ知識証明では、証明者は数学的確率のメカニズムの下で一連のアクションを実行して、特定の事実を検証者に納得させます。
2.非対話型ゼロ知識証明(NIZKP)
名前からわかるように、非対話型ゼロ知識証明は対話型プロセスを必要としません。 つまり、証明者はすべての課題を一度に生成でき、検証者は後で応答できます。 これにより、共謀の可能性が制限されます。 ただし、一連の実験を見つけるには、追加のマシンとソフトウェアが必要です。
注:非対話型から対話型のZKPに移行することが可能です。
ブロックチェーンシステムのゼロ知識証明をどこに実装するか?
1.メッセージング
メッセージングでは、エンドツーエンドの暗号化が不可欠であるため、通信しているメッセージ以外にプライベートメッセージを読むことはできません。 セキュリティを確保するために、メッセージングプラットフォームは、サーバーに対してIDを確認するようにユーザーに要求します。その逆も同様です。
しかし、ZKPの登場により、追加情報を漏らすことなく、メッセージングの世界でエンドツーエンドの信頼を構築できるようになります。 これは、ブロックチェーンの世界におけるゼロ知識証明の主要なアプリケーションの1つです。
2.認証
ゼロ知識証明は、認証情報などの機密情報をより安全に送信することも容易にします。 ユーザーが情報を公開せずに使用するための安全なチャネルを構築できます。 そしてこのようにして、最悪のシナリオでのデータ漏洩を回避します。
3.ストレージ保護
ゼロ知識証明(ZKP)のもう1つの考えられる使用例は、ストレージユーティリティの分野です。
ゼロ知識証明には、ストレージユニットだけでなく、その中の情報も保護するプロトコルが付属しています。 言うまでもなく、シームレスで安全なエクスペリエンスを提供するために、アクセスチャネルも保護されています。
4.プライベートブロックチェーントランザクションの送信
プライベートブロックチェーントランザクションの送信について話すときは、サードパーティの手の届かないところに保管することが非常に重要です。 現在、従来の方法はある程度保護的ですが、いくつかの抜け穴があります。
これは、ZKPが関与するもう1つの分野です。 この概念は、賢明に統合されると、プライベートブロックチェーントランザクションをハッキングまたは傍受することをほぼ不可能にするのに役立ちます。
5.複雑なドキュメント
ゼロ知識証明はデータをチャンクで暗号化する可能性があるため、特定のブロックを制御して特定のユーザーにアクセスを提供し、他のユーザーのアクセスを制限することができます。 このように、この概念は、複雑なドキュメントを、それらを表示することを許可されていないものから保護します。
6.ファイルシステム制御
効果的なゼロ知識証明の実装を見ることができるもう1つの場所は、ファイルシステムです。
この概念により、ファイル、ユーザー、さらにはログインにさまざまなセキュリティレイヤーが追加され、保存されたデータをハッキングしたり操作したりすることが非常に困難になります。
7.プライベートブロックチェーントランザクションの送信
プライベートブロックチェーン交換の送信は、ブロックチェーンでのZKPのさまざまな著名な実行の中で目立つ通知の1つです。 プライベートブロックチェーントランザクションは、送信中は第三者から保護する必要があります。
プライベートブロックチェーントランザクションを送信する際の主な懸念は、通常の戦略で明らかなさまざまな抜け穴を暗示しています。 ZKPとプライベートブロックチェーントランザクションの強力な統合により、あらゆるタイプのハッキングや干渉に対応できるようになります。
8.投票検証の民主化
ブロックチェーンを使用してZKPを適用する最も明白な例は、投票のチェックにおける民主的な役割をほのめかしています。 ZKPは、パブリックブロックチェーン(イーサリアムなど)に投票を記録することで、監査可能な投票に対して信頼できる回答を提供できます。
その後、投票プロセスでは、制限の要件を除いて、第三者による確認は必要ありません。 ZKPは、有権者が投票する資格があることを証明することを許可できます。これらの方針に沿って、機密性の高い個人データの漏洩を防ぎます。 同様に、有権者は、最終投票数で自分の投票を検討するための不変の証拠を要求できます。
9.機密情報のセキュリティ
最後になりましたが、ゼロ知識証明は、ブロックチェーンテクノロジーがトランザクションを刷新する方法も洗練します。
ZKPは、クレジットカードの詳細や履歴などの機密性の高い銀行情報を含むすべてのブロックにハイエンドのセキュリティレベルを追加します。これにより、銀行は、ユーザーが情報を要求したときに必要なブロックのみを操作する必要があります。 他のブロックはそのまま残り、したがって保護されます。
例えば
ZoKrates(デジタルツールボックス)は、熟練した開発者が、Ethereumベースのスマートコントラクトの作成に使用されるオブジェクト指向プログラミング言語であるSolidityを介してZKPを考案および検証するために使用されます。
アステカは、プライバシーに焦点を当てたスマートコントラクトのスタックを開発することにより、既存のイーサリアムネットワークにイーサリアムのゼロ知識証明をもたらすことを目指しています。
したがって、これらは、ブロックチェーン開発サービスにおけるゼロ知識証明のユースケースの一部でした。 これらのいずれかを構築して市場でブランドの存在感を高めるには、ブロックチェーンアプリ開発会社を雇います。
また、実際の実装について混乱している場合は、2つのコンバージェンスで動作している次の既存のプロジェクトを確認してください。
ゼロ知識証明とブロックチェーンの収束の実際の例
1. ZCash
Zcashはオープンソースで許可のないブロックチェーンプラットフォームであり、要件に従ってトランザクションを「透過的」および「シールド」に保つ機能を提供します。
前者の場合、ビットコイントランザクションと同様に、トランザクションはt-addrによって管理されます。 後者の場合、 zk-SNARKsと呼ばれるゼロ知識証明が使用され、トランザクションはz-addrによって制御されます。
これは、暗号通貨の世界で最初の暗号通貨のユースケースとZKPのアプリケーションです。 これは、テクノロジーを展開する最初のゼロ知識証明暗号通貨です。
2.ING
INGはオランダを拠点とする銀行であり、独自のゼロ知識ブロックチェーンを導入しています。 ただし、彼らはゼロ知識システムを変更して、ゼロ知識知識範囲の証明にして、計算能力の必要性を減らしました。
このようにして、彼らはフィンテックにおけるブロックチェーンの影響を高めるためにゼロ知識システムを準備しました。
3.ZCoin
同社は、ゼロ知識証明に基づくZerocoinプロトコルを使用して、トランザクションプロセスのセキュリティと匿名性を強化しています。 ただし、この概念に取り組んでいる他のプロジェクトとの違いは、スケーラビリティも提供することです。
さまざまな国際的な関係者がゼロ知識証明の概念をブロックチェーンに実装することに関心を示し始めていますが、採用のペースは遅すぎます。 そして、背後にある主な理由は、ブロックチェーン環境へのZKPの追加に関連する次の一連の課題です。
ZKPをブロックチェーンプロジェクトに統合する際に直面する可能性のある課題
1.基準の欠如
ブロックチェーンテクノロジー自体は初期の採用段階にあるため、アプリ開発者やビジネスの見込み客がZKPの概念と対話し、その可能性を効率的に活用できるようにする標準、システム、および同種の言語はありません。
2.スケーラビリティ
ブロックチェーン環境でのゼロ知識証明の採用を制限するもう1つの課題は、そのようなアルゴリズムが高レベルで動作するために高いコンピューティング能力を必要とする場合のスケーラビリティです。
まとめ
ZKPの概念とブロックチェーンドメインでのその範囲(実際の例とともに)が明確になったので、分散型の世界に足を踏み入れながら、概念のより広範なアプリケーションに投資することを期待しています。
ただし、まだ質問がある場合は、ブロックチェーンコンサルタントまたはブロックチェーンアプリ開発サービスUSAの専門家に連絡してください。