ブロックチェーンオラクルとは何ですか?それはどのように機能しますか?

ブロックチェーンオラクルとは何ですか?

ブロックチェーンオラクルは、ブロックチェーンを外部システムに接続するエンティティであり、実際の入力と出力に応じてスマートコントラクトを実行できます。オラクルは、Web 3.0エコシステムに、既存のレガシーシステム、データソース、および高度な計算に接続する方法を提供します。

分散型オラクルネットワーク(DON)は、ハイブリッドスマートコントラクトの実装を可能にします。このコントラクトでは、オフチェーンインフラストラクチャとオンチェーンコードを組み合わせて、実際のイベントに反応する複雑な分散型アプリケーション(DApp)を提供します。従来のシステムと相互作用します。

アリスとボブが競馬の結果に賭けをしたいとしましょう。合計$ 80はスマートコントラクトによってエスクローに保管され、アリスはチームXに$ 50を賭け、ボブはチームYに$ 30を賭けます。スマートコントラクトは、ゲームが終了したときにアリスとボブのどちらにお金を渡すかをどのように判断しますか?解決策は、正確な一致結果をオフチェーンで取得し、それらをブロックチェーンに安全かつ確実に配信するには、オラクルメカニズムが必要であるということです。

ブロックチェーンの分散型台帳の側面のため、ネットワーク内の各ノードは、同じ入力が与えられた場合に同じ結果を取得する必要があります。たとえば、ノードが別のノードのトランザクションを検証しようとすると、異なる結果が得られます。このアーキテクチャは、決定論的であるように作成されました。

コンセンサスは、ブロックチェーン内のデータ値について合意するための手法であり、ノードがコンセンサスに到達するには決定論が必要です。ナカモトコンセンサスによるプルーフオブワーク(PoW)やビザンチンコンセンサスによるプルーフオブステーク(PoS)など、それらのいくつかはあなたに馴染みがあるかもしれません。そもそもブロックチェーンを機能させる主な要因の1つは、コンセンサスです。

ただし、ブロックチェーンの世界は実際の世界と接続する必要があります。 DeFiを利用するには、イーサリアム(ETH)とその他の暗号通貨の価格を契約に含める必要があります。分散型の信頼できない保険を提供するには、気象データが必要です。最も重要な用途の1つであるスマートコントラクトにブロックチェーンを使用するには、データが必要です。では、この制約を踏まえて、どのように世界をつなぐのでしょうか?

このガイドは、ブロックチェーンoracleの機能、ブロックチェーンoracleの問題を説明し、さまざまなブロックチェーンoracleプロジェクトを紹介することを目的としています。

ブロックチェーンオラクルの問題

ブロックチェーンのオラクルのジレンマは、スマートコントラクトの重要な制限を浮き彫りにします。つまり、ネイティブのブロックチェーンコンテキスト外のデータやシステムに接続することはできません。外部リソースは「オフチェーン」と呼ばれ、現在ブロックチェーンに記録されているデータは「オンチェーン」と呼ばれます。

ブロックチェーンは、二重支払い攻撃の防止、ユーザートランザクションの信頼性に関する強力なコンセンサス、ネットワークのダウンタイムの削減など、外部システムから意図的に分離することで、最も有益な品質を実現します。ブロックチェーンからオフチェーンシステムと安全にやり取りし、2つの環境間のギャップを埋めるには、「オラクル」と呼ばれる追加のインフラストラクチャが必要になります。

DeFiなどのスマートコントラクトのユースケースの大部分は、実際のデータとオフチェーンで発生するイベントの知識を必要とするため、オラクルの問題を解決することが重要です。その結果、オラクルは、ブロックチェーンの主要なセキュリティ品質を維持しながら、オフチェーンリソースへのユニバーサルゲートウェイを提供することにより、ブロックチェーンが可能にする可能性のあるデジタル契約の種類を拡大します。

金融の資産価格、政府の身元確認、ゲームのランダム性、保険の天気情報は、オラクルとスマートコントラクトを統合することで利益を得る業界のほんの一部です。

ブロックチェーンオラクルは何をしますか?

決定論的ブロックチェーンをオフチェーンデータに接続するデバイスまたはエンティティは、ブロックチェーンオラクルと呼ばれます。すべてのデータ入力は、これらのオラクルの外部トランザクションを介してルーティングされます。

ただし、この方法で自身を認証するために必要なすべての情報がブロックチェーンに含まれていることは確かです。オラクルは、2つのレルム間のリンクとして機能するため、ブロックチェーンミドルウェアと見なされます。

Chainlinkは、外部データへのアクセスとスマートコントラクトの問題の集中化の両方を克服するため、分散型オラクルの業界標準です。では、Chainlinkオラクルとは何ですか?

Chainlinkは、実世界のデータをブロックチェーンのスマートコントラクトに供給する分散型のオラクルネットワークです。 LINKトークンは、ネットワークサービスの支払いに使用されるデジタルアセットトークンです。

一方、単一の集中型Oracleは、分散型のブロックチェーンで保護されたスマートコントラクトが解決するはずの特定の問題、つまり単一障害点を引き起こします。では、オラクルに欠陥があるか、侵害されている場合、データが正確であるかどうかをどのように知ることができますか?ブロックチェーンが依存するデータが疑わしい場合、ブロックチェーン上の安全で信頼できるスマートコントラクトはどのようなメリットがありますか?

この問題は、オラクルを使用してオフブロックチェーンソースからオンブロックチェーンスマートコントラクトにデータと情報を提供するChainlink(ノードの分散型ネットワーク)によって解決されます。この手法は、他の安全なテクノロジーとともに、単一の集中型ソースのみが使用された場合に発生する可能性のある信頼性の問題を取り除きます。

Chainlinkは、単一のフレームワークを使用してすべての主要なパブリックおよびプライベートブロックチェーン環境を接続するため、ブロックチェーンに依存しません。これにより、クロスネットワーク通信の一般的な抽象化レベルが提供されます。

したがって、分散データを除いて、公共図書館と同様のChainlinkなどのサービスを使用して、実世界からすでに抽出され、収集された分散データをチェーン上で参照できます。モジュール式のオラクルネットワークを作成して、必要な特定の情報を取得することもできます。さらに、オフチェーン計算を実行して、データを実際の世界に転送することができます。

その他の上位のブロックチェーンオラクルは、Witnet、Paralink、Provable、およびDos.Networkです。これらのサービスは、スマートコントラクトと、アプリケーションユーザーインターフェース(API)にクエリを実行し、トランザクションを送信してスマートコントラクトのデータを定期的に更新できるいくつかのオフチェーンコンポーネントで構成されるオラクルを提供します。

ブロックチェーンオラクルの種類

オラクルは、外部データと通信するためのブロックチェーンまたはスマートコントラクトを提供します。代わりに、それらはブロックチェーンの外側の世界へのインターフェースとして機能します。多くの状況で、特にスマートコントラクトが実際のイベントにリンクされている場合は、外部データをクローズドブロックチェーンシステムに伝達する必要があります。外部データは暗号オラクルによって照会、検証、認証され、暗号オラクルはそれをクローズドシステムに中継します。その後、検証されたデータはスマートコントラクトを検証するために利用されます。

ハードウェアとソフトウェアのオラクル

これが常に当てはまるとは限りませんが、ほとんどの暗号オラクルはデジタルデータを分析します。ハードウェアオラクルは物理的な世界からデータを配信し、ソフトウェアオラクルはWebサイト、サーバー、データベースなどのデジタルソースからデータを配信します。さらに、カメラモーションセンサーおよび無線周波数識別(RFID)センサーからの情報は、ハードウェアオラクルによって配信および中継できます。為替レート、価格変動、旅行情報などのリアルタイムデータは、ソフトウェアオラクルを介して配信できます。

インバウンドおよびアウトバウンドのオラクル

オラクルは、ブロックチェーンを使用して双方向通信チャネルを確立し、データを送受信します。アウトバウンドオラクルはブロックチェーンデータを外部に配信できますが、インバウンドオラクルはオフチェーン(または実世界)のデータをブロックチェーンに配信する可能性が高くなります。さらに、インポートされたデータは、資産価格の変動から気象条件、完了した支払いの検証まで、ほぼすべてを表すことができます。

インバウンドオラクルの場合、一般的なプログラム可能なシナリオは次のとおりです。資産が特定の価格に達した場合、買い注文を出します。一方、アウトバウンドのオラクルは、チェーン上で発生したイベントを外部に警告します。

集中型および分散型のオラクル

一元化されたオラクルは単一のエンティティによって管理され、スマートコントラクトの唯一のデータソースとして機能します。契約の有効性はオラクルを担当するエンティティにのみ依存するため、1つの情報源のみを使用することは危険な場合があります。

悪意のある人物の敵対的な介入も、スマートコントラクトに直接影響します。一元化されたオラクルの基本的な問題は、単一障害点があり、契約が攻撃や弱点に対してより脆弱になることです。

分散型オラクルの目標のいくつかは、カウンターパーティリスクの最小化など、パブリックブロックチェーンの目標と似ています。たとえば、信頼できる唯一の情報源に依存しないことで、スマートコントラクトに配信される情報の信頼性を高めます。

スマートコントラクトは、データの有効性と正確性を評価するためにいくつかのオラクルに相談します。これが、分散型オラクルがコンセンサスオラクルとしても知られている理由です。他のブロックチェーンは、一部のブロックチェーンオラクルプロジェクトによって提供される分散型オラクルサービスを使用できます。

人間の神託

特定の分野の専門知識を持つ個人は、神託者として行動することがあります。彼らはさまざまな情報源から情報を収集し、その正当性を確認してスマートコントラクトに変換する場合があります。人間の神託は暗号化を使用して身元を確認できるため、詐欺師が偽装して改ざんされたデータを提供する可能性はわずかです。

契約固有のオラクル

これらのオラクルは、単一のスマートコントラクトで機能するように作られています。開発者が多数のスマートコントラクトを展開する場合は、さまざまなコントラクト固有のオラクルを構築する必要があります。

契約固有のオラクルは、最新の状態に保つためにかかる時間と作業の価値がありません。代わりに、これらは不便であり、特定の状況でのみ使用する必要があります。

計算オラクル

これまで、データの検索と提供の観点からオラクルについて説明しました(データキャリアオラクルまたは自動オラクルとも呼ばれます)。ただし、オラクルを使用して任意の「オフチェーン」計算ソリューションを実行できます。これは、イーサリアム固有のブロックガスの制約と非常に高い計算コストを考えると特に有益です。

計算オラクルは、クエリの結果を中継するだけでなく、一連の入力に対して計算を実行し、チェーン上で計算することが不可能な計算結果を返すために使用できます。たとえば、債券契約の利回りを見積もるには、計算オラクルを使用して、計算が複雑な回帰計算を実行できます。

Oracleのデザインパターン

定義上、説明されているすべてのオラクルはいくつかの重要な役割を果たします。これらの機能には、次の機能が含まれます。

  • 非ブロックチェーンソースからデータを収集します。
  • 署名されたメッセージを使用して、データをチェーン上で送信します。
  • スマートコントラクトのストレージにデータを保存して、データにアクセスできるようにします。

データがスマートコントラクトのストレージに保存されると、他の自動化された契約は、オラクルのスマートコントラクトの「取得」機能を呼び出すメッセージ呼び出しを介してデータにアクセスできます。また、オラクルのストレージを「調べる」ことにより、イーサリアムノードまたはネットワーク対応クライアントから直接「呼び出す」こともできます。

オラクルを設定する3つの主な方法は、次のように分類できます。

即時読み取り

即時読み取りのオラクルは、「この学生は25歳以上ですか?」などの迅速な決定にのみ必要な情報を提供します。このタイプのデータをクエリしたい人は、通常、「ジャストインタイム」ベースでクエリを実行します。つまり、情報が必要な場合にのみルックアップが実行されます。

例としては、ダイヤルコード、学位証明書、機関会員、空港ID、その他のオラクルがあります。

パブリッシュ/サブスクライブ

(おそらく定期的および頻繁に)変更される可能性のあるデータのブロードキャストサービスを効果的に提供するオラクルは、オンチェーンのスマートコントラクトによってポーリングされるか、オフチェーンデーモンによって更新を監視されます。気象データ、価格フィード、経済統計または社会統計、および交通データは、パブリッシュ/サブスクライブ設定のほんの一例です。

要求/応答

最も難しいカテゴリは要求/応答です。これは、データスペースが大きすぎてスマートコントラクトに保存できない場合であり、ユーザーは情報全体のごく一部を使用することが予想されます。時間。これは、データプロバイダーにとって実行可能なビジネス戦略でもあります。

実際には、このようなオラクルは、リクエストを監視し、データを取得して返すためのオンチェーンスマートコントラクトとオフチェーンインフラストラクチャのシステムとして実装できます。分散型アプリケーションからのデータ要求は、多くの場合、次のような複数のステップを伴う非同期手順です。

DAppでのオラクルのアプリケーション

Oracleは、オフチェーンの世界と、市場に出回っている多くのDAppで使用されているスマートコントラクトとの間のギャップを埋めるためのメカニズムです。以下は、オラクルが提供する可能性のあるデータのいくつかのインスタンスです。

  • 時間と間隔のデータは、正確な時間測定に基づくイベントトリガーに使用されます。

  • トークン化された資産や証券のバンドルの価格設定など、資本市場からのデータ。

  • スマート金融デリバティブに含まれる、金利などのベンチマーク参照データ。

  • たとえば、天気データは、天気予報に基づいて保険料を計算するために使用されます。

  • サプライチェーンの追跡で使用されるようなジオロケーションデータ。

  • 保険契約の場合、損害の確認が必要です。

  • スポーツイベントは、予測市場とファンタジースポーツ契約を解決するために使用されます。

  • グループやクラブがフライトチケットをプールするために使用する統計など、フライト統計。

セキュリティ上の懸念に注意してください

オラクルは、外部データを方程式に取り入れることで、スマートコントラクトの実行において重要な役割を果たします。一方、オラクルは、信頼できるソースであり、ハッキングされる可能性がある場合、フィードするスマートコントラクトの実行を危険にさらす可能性があるため、大きな危険をもたらします。

一般的に、オラクルの採用を検討する際には、信頼モデルを慎重に検討する必要があります。オラクルが信頼できると思われる場合は、スマートコントラクトを誤った入力にさらすことで、スマートコントラクトのセキュリティを犠牲にしている可能性があります。ただし、セキュリティの前提を慎重に検討すれば、オラクルは価値があります。

これらの懸念のいくつかは、分散型オラクルを介して対処でき、信頼されていない外部データをイーサリアムスマートコントラクトに提供します。イーサリアムと現実世界の間のオラクルの架け橋を探索する前に、慎重に選択する必要があります。


ブロックチェーン
  1. ブロックチェーン
  2. ビットコイン
  3. イーサリアム
  4. デジタル通貨交換
  5. 鉱業