オラクル
オラクルは、コンテキストに応じて、複数の異なる方法で定義できます。ブロックチェーンのコンテキスト内では、オラクルは基本的にスマートコントラクトと他の外部ソース間のブリッジとして使用されるデータソースです。
より具体的には、オラクルは、外部データソースと通信するだけでなく、提供されているデータが正確であることを検証および認証するエージェントです。したがって、オラクルは、スマートコントラクトに重要で信頼できる情報を提供する責任があり、スマートコントラクトは特定のタスクを実行します。
オラクルの重要性は、ブロックチェーンスマートコントラクトが独自のデジタルネットワーク内に含まれているデータにのみアクセスできるという事実に依存しています。したがって、オラクルは、現実世界のイベント(非決定論的データ)をスマートコントラクト(決定論的データ)によって認識されるデジタル値に「変換」する通信手段として必要です。
ブロックチェーンオラクルは、ユースケースに従って分類できます。最も一般的なタイプは次のとおりです。
-ハードウェアオラクル:物理システムおよびテクノロジーと統合し、スマートコントラクトの実際のデータを提供します。たとえば、ハードウェアオラクルは、さまざまな業界(自動車、製薬、サプライチェーンなど)で使用されるRFIDセンサーと通信できます。
-ソフトウェアオラクル:最も一般的に使用されます。市場価格、フライト状況、天気データなど、外部プログラムやWebAPIからオンラインデータを取得します。
-コンセンサスオラクル:収集されたデータの有効性と正確性を判断するための特定の方法に従って、他のオラクルのセット数から大量のデータを収集する一種の分散型オラクル。コンセンサスオラクルは、AugurやGnosisなどの予測市場で使用されています。
-インバウンドオラクル:外部データをスマートコントラクトまたはソフトウェアオラクルに送信します。一連の「if」ガイドラインとして構成できます(たとえば、「資産が特定の価格に達した場合、買い注文を出す」)。
-アウトバウンドオラクル:スマートコントラクトデータを外部システムに送信し、スマートコントラクトが非ブロックチェーンソースと通信できるようにします。
一般に、ブロックチェーンオラクルは、適切に機能するために外部の許可に依存するサードパーティのデータソースで構成されます。つまり、これらは通常、一元化されたエンティティによって提供されるツールです。したがって、ほとんどのオラクルは、スマートコントラクトの分散型プロパティを犠牲にすることになります。
###Oracleの問題
一元化されたオラクルによって提供されるデータに応じて、スマートコントラクトはさまざまな機能を実行します。つまり、オラクルはスマートコントラクトに対して非常に強力です。これはOracle問題として知られており、一元化されたサードパーティのオラクルが信頼できないスマートコントラクトとブロックチェーンシステムにもたらす信頼の競合として発生します。
コンセンサスオラクルなどの分散型オラクルは可能な解決策を提示する可能性がありますが、分散型オラクルネットワークを安全で機能的で信頼できない方法で実装することは非常に難しいため、克服すべき多くの課題があります。