要点

  • ブロックチェーン・オラクルとは、価格フィード、天気の観測値、イベント結果などの外部の世界のデータを、スマートコントラクトにつなぐサービスです。

  • オラクルは、データソース(ソフトウェアかハードウェアか)、方向(インバウンドかアウトバウンドか)、信頼モデル(中央集権か分散型か)によって分類できます。

  • オラクル問題とは、侵害された、または不正確なオラクルが、それに依存するスマートコントラクトを破壊(改変)してしまうリスクを指します。

  • 分散型オラクルネットワークは、単一のポイントではなく複数の独立した提供者からデータを取得することで、このリスクに対処します。

Binance Academy courses banner

はじめに

ブロックチェーン・オラクルとは、外部データをブロックチェーン・ネットワークへ取り込むサードパーティのサービスです。スマートコントラクトは、特定の条件が満たされると自動的に実行されるプログラムですが、自分のブロックチェーン上に存在するデータしか読み取れません。オラクルは、オンチェーンのロジックとオフチェーン情報の間に橋を架けることで、この制限を解決します。

オラクルは分散型金融(DeFi)やその他のブロックチェーン・アプリケーションにとって不可欠です。正確な外部データがなければ、スマートコントラクトは、資産価格の変動、スポーツの試合結果、出荷の確認といった現実世界の出来事に対応できません。この記事では、オラクルがどのように機能するのか、主な種類、直面する課題、そして近年その分野がどのように進化してきたかを解説します。

ブロックチェーン・オラクルとは?

ブロックチェーンのオラクルは、データソースそのものではありません。スマートコントラクトへ外部情報を照会し、検証し、中継する層です。データはさまざまな形を取り得ます。たとえば、資産価格、センサーが計測する温度、スポーツの試合結果、支払いが受領されたことの確認などです。

スマートコントラクトが外部情報を必要とする場合、オラクルへリクエストを送ります。するとオラクルは、1つまたは複数のオフチェーンソースからデータを取得し、スマートコントラクトが処理できる形式にまとめ、オンチェーンへ送信します。その後スマートコントラクトは、受け取った内容に基づいて実行されます。

スマートコントラクトは、受け取ったデータに基づいて決定論的に実行されるため、オラクルの信頼性は契約の信頼性に直結します。不正確、または操作されたデータを提供するオラクルは、スマートコントラクトを誤って実行させ、結果として金銭的損失につながる可能性があります。

オラクルがどのように機能するかの例

たとえば2人が、スポーツの試合結果に賭けをして、資金をスマートコントラクトにロックしたとします。この契約は、結果が分かり次第、勝者に資金を解放するように設計されています。ブロックチェーンは試合結果を直接参照できないため、スマートコントラクトは結果を提供するオラクルに依存します。

試合が終わると、オラクルは信頼できるデータソースに問い合わせ、結果を取得して、それをスマートコントラクトに送信します。すると契約は、結果に基づいて資金を自動的に分配します。オラクルがなければ、参加者は互いの合意がないと契約を発動できなくなり、契約が排除しようとしていた信頼問題が再び持ち込まれることになります。

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

オラクルは、データがどこから来るのか、データがどちらに流れるのか、そして信頼がどのように管理されるのかによって、いくつかの方法で分類できます。

ソフトウェア・オラクル

ソフトウェア・オラクルは、ウェブサイト、API、データベースなどのオンラインソースからデータを取得します。最も一般的なタイプで、資産価格、為替レート、フライト状況のようなリアルタイム情報の提供に使われます。インターネットに接続されているため、データを迅速かつ継続的に中継できます。

ハードウェア・オラクル

ハードウェア・オラクルは、物理世界のデバイスをブロックチェーンに接続します。例えば、輸送用コンテナのセンサーが、荷物が目的地に到着したことを検知し、その情報をスマートコントラクトへ中継し、スマートコントラクトが自動的に支払いを解放する、ということが起こり得ます。バーコードスキャナー、GPSトラッカー、温度センサーは、ハードウェア・オラクルのデータソースとしてよく使われる例です。

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

インバウンド・オラクルは、外部ソースからのデータをスマートコントラクトへ持ち込みます。アウトバウンド・オラクルは逆方向で、スマートコントラクトから外部システムへ情報を送信します。例えば、アウトバウンド・オラクルは、オンチェーン上で支払いが確認されたときに物理的なスマートロックを開けるようトリガーするかもしれません。

中央集権型オラクル

中央集権型オラクルは単一の組織によって管理されます。実装はシンプルですが、単一障害点が生まれます。提供者が侵害された場合、オフラインになった場合、または不正確なデータを送信した場合、それに依存するすべてのスマートコントラクトに影響が及びます。そのため中央集権型オラクルは、価値の高い用途や敵対的な利用シナリオでは一般に不適切だと考えられています。

分散型オラクル

分散型オラクルは、複数の独立したソースからデータを集約することで、単一の障害や改ざんの影響を減らします。1つの提供者に頼るのではなく、スマートコントラクトは複数ノードからデータを受け取り、最終的な値はコンセンサスまたは加重集計によって決まります。

分散型オラクルは信頼を完全に排除するわけではありませんが、それを多数の参加者に分散させます。これにより、共謀や操作が格段に難しくなり、コストも高くなります。

コントラクト固有のオラクル

コントラクト固有のオラクルは、単一のスマートコントラクトのために構築されます。これにより開発者は用途に合わせてオラクルを細かくカスタマイズできますが、作成と保守には時間と費用がかかります。多くの現代的なアプリケーションでは、専用オラクルを作るのではなく、共有された汎用のオラクルネットワークが使われています。

人間(ヒューマン)オラクル

場合によっては、専門知識を持つ個人がオラクルとして振る舞います。法律の専門家が契約条件を確認することもあれば、記者がイベントの結果を確認することもあります。人間オラクルは暗号学的な方法で身元を認証できますが、それでも人間の判断が入り、関連するリスクも生じます。

オラクル問題

オラクル問題とは、トラストレスなシステムにおいて外部データを信頼することの根本的な難しさを指します。ブロックチェーンは改ざんに強いように設計されていますが、オラクルはブロックチェーンのコンセンサス機構の外側にあるオフチェーン情報への依存を持ち込みます。これにより脆弱性が生まれます。

オラクルが誤ったデータを提供した場合(技術的な不具合、データ改ざん、いわゆる中間者攻撃などが原因であっても)、それに依存するスマートコントラクトは誤った形で実行されます。オラクル操作は、攻撃者が一時的に価格フィードを歪めて有利な契約条件を引き出し、資金を抜き取るために、複数のDeFiインシデントで悪用されてきました。

この問題への主要なアーキテクチャ上の対応が、分散型オラクルネットワークです。オンチェーンに値を投入する前に、複数の独立したデータ提供者がその値に同意することを求めることで、操作が格段に難しくなります。ステーキングやスラッシングのような暗号経済的インセンティブが、オラクルノードの行動を正確性に結びつけるために用いられることが多いです。

ブロックチェーン・オラクルにおける最近の動向

オラクルのインフラは、単なる価格フィードを超えて大きく拡張してきました。クロスチェーン・メッセージングプロトコルは、複数のブロックチェーン間で状態を検証し中継するために、オラクルネットワークを利用するようになっています。これにより、資産や命令をネットワークをまたいで移動できるようになります。これは、複数のチェーンで同時に動作する分散型アプリケーション(DApps)にとって重要です。

また、リアルタイムのプル・オラクルモデルも、従来のプッシュ方式に代わる選択肢として登場しています。プルモデルでは、データはオフチェーンで公開され、スマートコントラクトが必要とするタイミングでのみオンチェーンに「引き寄せ」ます。これにより、ガスコストとレイテンシーを削減できます。このアプローチは、パーペチュアル取引プラットフォームのような高頻度DeFiアプリケーションで人気になっています。

現実世界の資産(RWA)のトークン化が拡大したことで、新しいカテゴリのオラクルデータへの需要が生まれました。法的な所有記録、信用格付け、コモディティの引き渡し、本人確認(ID検証)などです。これらのユースケースでは、数値データだけでなく、構造化されたドキュメント単位の情報をオラクルが中継する必要があり、オラクル設計には新たな課題が生じます。

AIエージェントのフレームワークでも、自律的なオンチェーン判断のデータ入力としてオラクルネットワークを統合し始めています。これらの仕組みでは、AIエージェントがオラクルから提供される市場データや環境データを使って、人の介入なしにスマートコントラクトのアクションをトリガーします。誤りが自動的に伝播するため、データの正確性の重要性が一段と高まります。

よくある質問(FAQ)

シンプルに言うと、ブロックチェーンのオラクルとは何ですか?

ブロックチェーン・オラクルとは、ブロックチェーンの外部からスマートコントラクトに情報を供給するサービスです。スマートコントラクトは自分のネットワークに保存されているデータしか参照できません。そのためオラクルは、価格、天気の観測値、イベント結果などの外部データを取得して届ける「使者」として機能します。

なぜオラクルはDeFiで重要なのですか?

ほとんどのDeFiアプリケーションは、正しく動作するために現在の資産価格に依存しています。融資(レンディング)プラットフォームは、担保価値を算定するために正確な価格を必要とします。デリバティブ・プラットフォームは、損益(P/L)を計算するためにそれが必要です。信頼できるオラクルがなければ、これらのアプリケーションは安全に運用できません。そのためDeFiプロトコルの正確性は、利用するオラクルネットワークの品質に直接左右されます。

オラクル問題とは何ですか?

オラクル問題とは、トラストレスなシステムに信頼できる外部データを導入することが難しいという課題です。ブロックチェーンはコンセンサスによって自分自身の内部取引を検証しますが、外部の世界からのデータが正確かどうかを検証するための仕組みを内蔵していません。侵害された、または不正確なオラクルデータは、スマートコントラクトを意図しない形で実行させてしまう可能性があります。

中央集権型と分散型のオラクルの違いは何ですか?

中央集権型オラクルは単一の提供者に依存するため、単一障害点が生まれます。一方、分散型オラクルは複数の独立したデータ提供者のネットワークを用い、その入力をコンセンサスまたは集計によってまとめます。分散型オラクルは、操作しにくいため、価値の高い用途では一般により安全だと考えられています。

オラクルはブロックチェーンの外にデータを送れますか?

はい。アウトバウンド(送信側)オラクルは、スマートコントラクトから外部システムへデータまたは命令を送ります。例えば、スマートコントラクトはアウトバウンド・オラクルを使って、オンチェーンでの支払いが確認されたときに物理デバイスを作動させたり、レガシーの銀行システムで支払いを発動したり、条件がオンチェーンで成立した際に外部APIへ通知したりできます。

最終的な考察

ブロックチェーン・オラクルは、スマートコントラクトの実用性を支える基盤レイヤーです。信頼できる外部データがなければ、スマートコントラクトはすでにオンチェーンに存在する情報に限られてしまい、実現できることが大幅に制限されます。分散型オラクルネットワークは、データの取得と検証を多数の独立した参加者に分散することで、オラクル問題に対処します。

さらに詳しく

  • スマートコントラクトとは?どのように機能しますか?

  • 分散型金融(DeFi)とは何ですか?

  • Binanceのオラクルとは何ですか?

  • DeFiおよびクリプトにおける現実世界の資産(RWA)とは何ですか?

  • 分散型アプリケーション(DApps)とは何ですか?

免責事項:本コンテンツは一般情報および教育目的のために「現状のまま」提供されています。いかなる種類の表明または保証もありません。これは、金融・法律・その他の専門的助言として解釈されるべきではなく、特定の製品またはサービスの購入を推奨する意図もありません。適切な専門家アドバイザーからご自身の判断で助言を求めてください。第三者の寄稿によって本コンテンツが提供されている場合、当該第三者の見解は寄稿者自身のものであり、必ずしもBinance Academyの見解を反映するものではありません。デジタル資産の価格は変動する可能性があります。投資の価値は下がることも上がることもあり、投資額全額が回収できるとは限りません。投資判断に関する責任はすべてご自身にあります。また、Binance Academyは、発生しうる損失について一切の責任を負いません。詳細は、利用規約、リスクに関する警告、およびBinance Academyの利用規約をご覧ください。