# zkTLS技術の分析とWeb3への応用展望最近、新しいプロジェクトの方向性を探る中で、以前触れたことのない技術スタックであるzkTLSに出会いました。深く研究した結果、学びの心得を以下にまとめましたので、皆さんと共有できればと思います。zkTLSは、ゼロ知識証明(ZKP)とTLS(トランスポート層セキュリティプロトコル)を組み合わせた新しい技術です。Web3分野では、主にオンチェーンの仮想マシン環境で使用され、信頼できる第三者を介さずにオフチェーンのHTTPSデータの真実性を検証できます。ここでの真実性は、データソースが実際に特定のHTTPSリソースから来ていること、返されたデータが改ざんされていないこと、データの有効性が保証されていることの3つの側面を含みます。このような暗号学的実現メカニズムにより、オンチェーンのスマートコントラクトは、信頼できるアクセスを介してオフチェーンのWeb2 HTTPSリソースにアクセスできる能力を得ることができ、データの孤島を打破します。## TLSプロトコルの概要zkTLS技術の価値を深く理解するためには、まずTLSプロトコルを簡単に紹介する必要があります。TLS(トランスポート層セキュリティプロトコル)は、ネットワーク通信において暗号化、認証、データの整合性を提供し、クライアント(ブラウザなど)とサーバー(ウェブサイトなど)間のデータの安全な転送を確保します。HTTPSプロトコルは、実際にはHTTPプロトコルの基礎の上にTLSプロトコルを利用して情報伝送のプライバシーと完全性を保証し、サーバー側の真実性を検証可能にしています。それに対して、HTTPプロトコルは平文で伝送されるネットワークプロトコルであり、サーバー側の真実性を検証することができないため、いくつかのセキュリティ上の問題が発生します:1. 情報は第三者によって傍受される可能性があり、プライバシーが漏洩する恐れがあります。2. サーバー側の真正性を確認できません。リクエストは悪意のあるノードに乗っ取られる可能性があります。3. 戻り情報の完全性を確認できず、ネットワークの問題によりデータが失われる可能性があります。TLSプロトコルは、これらの問題を解決するために設計されています。その主な解決思路には次のようなものがあります:1.暗号化通信:対称暗号化(AES、ChaCha20など)を使用してデータを保護し、盗聴を防ぎます。2. 身分認証:指定された機関に対して第三者によって発行されたデジタル証明書(例えば、X.509証明書)を使用してサーバーの身分を確認し、中間者攻撃を防止します。3. データの完全性:HMAC(ハッシュメッセージ認証コード)またはAEAD(認証暗号)を使用してデータが改ざんされていないことを確認します。## HTTPSプロトコルのデータ交換プロセスTLSプロトコルに基づくHTTPSプロトコルは、データのやり取りの過程で2つの段階に分かれています:ハンドシェイク段階とデータ転送段階。具体的なプロセスは以下の通りです:1. クライアントがClientHelloを送信します: - サポートされているTLSバージョン、暗号化アルゴリズム、ランダム数などの情報を含む - 目的はサーバーがクライアントの暗号化能力を理解し、安全なパラメータを準備することです。2. サーバーが ServerHello を送信します。 - 選択した暗号アルゴリズム、サーバーの乱数、サーバー証明書などの情報を含みます - 目的はクライアントがサーバーの身元を知り、安全なパラメータを確認することです。3. クライアントがサーバーを検証する: - サーバー証明書を検証する - 共有鍵を計算する - 完了メッセージを送る - 目的はサーバーを信頼できるものにし、セッションキーを生成することです。4.暗号化通信を開始します。 - 交渉によって決定されたセッションキーを使用して暗号化通信を行う - 対称暗号を使用してデータを暗号化し、速度とセキュリティを向上させる - AEADを使用してデータの改ざんを防止する## zkTLSの利点従来のWeb3アプリケーションは、チェーン外データにアクセスする際、通常ChainlinkやPythなどのオラクルプロジェクトに依存しています。これらのプロジェクトは、チェーン上のデータとチェーン外のデータの中継として機能し、データ孤島の現象を打破します。しかし、オラクルに基づくデータ取得のソリューションには、2つの主要な問題があります:1. コストが高い:データの真実性を保証するために、PoSコンセンサス機構が必要であり、これにより高額な維持コストが発生します。2. 効率が低い:PoSメカニズムのコンセンサスには時間がかかり、ブロックチェーン上のデータに遅延が生じ、高頻度アクセスのシーンには適していません。zkTLS技術の出現は、これらの問題を解決するためにあります。これは、ZKPゼロ知識証明アルゴリズムを導入することにより、オンチェーンのスマートコントラクトが第三者として、特定のノードが提供するデータが実際に特定のHTTPSリソースから来ており、改ざんされていないことを直接検証できるようにし、従来のオラクルが合意アルゴリズムによって引き起こされる高額な使用コストを回避します。## zkTLSの仕組みzkTLSは、暗号学によって保護され、従来のオラクルがデータの利用可能性を提供するためのコンセンサスメカニズムに基づく高コストを代替します。具体的には、次のステップで実現されます:1. ZKPゼロ知識証明を導入する2. オフチェーンリレーノードがHTTPSリソースにリクエストを行い、取得したデータ、CA証明書の検証情報、タイムスタンプ証明、およびデータの完全性証明を計算して、Proofを生成します。3. ブロックチェーン上で必要な検証情報と検証アルゴリズムを維持するこの方法により、スマートコントラクトは重要な情報を公開することなく、データの真実性、時効性、およびデータソースの信頼性を検証できます。## zkTLSの応用展望zkTLS技術の応用の展望は広範であり、主に次のものが含まれます:1. ロングテール資産のオンチェーン価格取得コストを削減する2. Web2の世界における権威あるウェブサイトを利用して、オンチェーンKYCを行い、DIDを最適化する3. Web3ゲームの技術アーキテクチャ設計の改善しかし、zkTLS技術の発展は既存のWeb3企業に挑戦をもたらしており、特に主流のオラクルプロジェクトに影響を与えています。このような挑戦に対処するために、ChainlinkやPythなどの業界の巨頭は関連分野を積極的に研究し、従量課金やCompute as a serviceの提供など、新しいビジネスモデルを模索しています。もちろん、ほとんどのZKプロジェクトと同様に、zkTLS技術の主な課題は計算コストをどのように削減し、商業的価値を持たせるかにあります。つまり、製品設計を行う際にzkTLSの発展動向に注目し、この技術スタックを適切に統合することで、ビジネスの革新や技術アーキテクチャにおいて新たなブレークスルーを見つけることができるかもしれません。
zkTLS技術:Web3オンチェーン検証オフチェーンHTTPSデータの新しいソリューション
zkTLS技術の分析とWeb3への応用展望
最近、新しいプロジェクトの方向性を探る中で、以前触れたことのない技術スタックであるzkTLSに出会いました。深く研究した結果、学びの心得を以下にまとめましたので、皆さんと共有できればと思います。
zkTLSは、ゼロ知識証明(ZKP)とTLS(トランスポート層セキュリティプロトコル)を組み合わせた新しい技術です。Web3分野では、主にオンチェーンの仮想マシン環境で使用され、信頼できる第三者を介さずにオフチェーンのHTTPSデータの真実性を検証できます。ここでの真実性は、データソースが実際に特定のHTTPSリソースから来ていること、返されたデータが改ざんされていないこと、データの有効性が保証されていることの3つの側面を含みます。このような暗号学的実現メカニズムにより、オンチェーンのスマートコントラクトは、信頼できるアクセスを介してオフチェーンのWeb2 HTTPSリソースにアクセスできる能力を得ることができ、データの孤島を打破します。
TLSプロトコルの概要
zkTLS技術の価値を深く理解するためには、まずTLSプロトコルを簡単に紹介する必要があります。TLS(トランスポート層セキュリティプロトコル)は、ネットワーク通信において暗号化、認証、データの整合性を提供し、クライアント(ブラウザなど)とサーバー(ウェブサイトなど)間のデータの安全な転送を確保します。
HTTPSプロトコルは、実際にはHTTPプロトコルの基礎の上にTLSプロトコルを利用して情報伝送のプライバシーと完全性を保証し、サーバー側の真実性を検証可能にしています。それに対して、HTTPプロトコルは平文で伝送されるネットワークプロトコルであり、サーバー側の真実性を検証することができないため、いくつかのセキュリティ上の問題が発生します:
TLSプロトコルは、これらの問題を解決するために設計されています。その主な解決思路には次のようなものがあります:
1.暗号化通信:対称暗号化(AES、ChaCha20など)を使用してデータを保護し、盗聴を防ぎます。 2. 身分認証:指定された機関に対して第三者によって発行されたデジタル証明書(例えば、X.509証明書)を使用してサーバーの身分を確認し、中間者攻撃を防止します。 3. データの完全性:HMAC(ハッシュメッセージ認証コード)またはAEAD(認証暗号)を使用してデータが改ざんされていないことを確認します。
HTTPSプロトコルのデータ交換プロセス
TLSプロトコルに基づくHTTPSプロトコルは、データのやり取りの過程で2つの段階に分かれています:ハンドシェイク段階とデータ転送段階。具体的なプロセスは以下の通りです:
クライアントがClientHelloを送信します:
サーバーが ServerHello を送信します。
クライアントがサーバーを検証する:
4.暗号化通信を開始します。
zkTLSの利点
従来のWeb3アプリケーションは、チェーン外データにアクセスする際、通常ChainlinkやPythなどのオラクルプロジェクトに依存しています。これらのプロジェクトは、チェーン上のデータとチェーン外のデータの中継として機能し、データ孤島の現象を打破します。しかし、オラクルに基づくデータ取得のソリューションには、2つの主要な問題があります:
zkTLS技術の出現は、これらの問題を解決するためにあります。これは、ZKPゼロ知識証明アルゴリズムを導入することにより、オンチェーンのスマートコントラクトが第三者として、特定のノードが提供するデータが実際に特定のHTTPSリソースから来ており、改ざんされていないことを直接検証できるようにし、従来のオラクルが合意アルゴリズムによって引き起こされる高額な使用コストを回避します。
zkTLSの仕組み
zkTLSは、暗号学によって保護され、従来のオラクルがデータの利用可能性を提供するためのコンセンサスメカニズムに基づく高コストを代替します。具体的には、次のステップで実現されます:
この方法により、スマートコントラクトは重要な情報を公開することなく、データの真実性、時効性、およびデータソースの信頼性を検証できます。
zkTLSの応用展望
zkTLS技術の応用の展望は広範であり、主に次のものが含まれます:
しかし、zkTLS技術の発展は既存のWeb3企業に挑戦をもたらしており、特に主流のオラクルプロジェクトに影響を与えています。このような挑戦に対処するために、ChainlinkやPythなどの業界の巨頭は関連分野を積極的に研究し、従量課金やCompute as a serviceの提供など、新しいビジネスモデルを模索しています。
もちろん、ほとんどのZKプロジェクトと同様に、zkTLS技術の主な課題は計算コストをどのように削減し、商業的価値を持たせるかにあります。
つまり、製品設計を行う際にzkTLSの発展動向に注目し、この技術スタックを適切に統合することで、ビジネスの革新や技術アーキテクチャにおいて新たなブレークスルーを見つけることができるかもしれません。