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

User avatar placeholder
Written by TACOS14

May 22, 2024

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

ブロックチェーンオラクルとは、スマートコントラクトに外部情報を提供するサードパーティのサービスです。ブロックチェーンと外部との橋渡しをする役割を果たします。

ブロックチェーンとスマートコントラクトは、オフチェーンデータ(ネットワークの外部にあるデータ)にアクセスすることはできません。しかし、多くの契約では、契約を実行するために外の世界から関連情報を得ることが不可欠だ。

そこで登場するのがブロックチェーンのオラクルで、オラクルはオフチェーンとオンチェーンのデータをつなぐ役割を果たす。オラクルは、スマート・コントラクトが活動できる範囲を広げるため、ブロックチェーン・エコシステムにおいて不可欠な存在だ。ブロックチェーンのオラクルがなければ、スマートコントラクトはそのネットワーク内のデータにしかアクセスできないため、使い道が非常に限られてしまう。

ブロックチェーン・オラクルはデータ・ソースそのものではなく、外部のデータ・ソースに問い合わせ、検証、認証を行い、その情報を中継するレイヤーであることに注意することが重要だ。オラクルによって送信されるデータは、価格情報、支払いの成功、センサーが測定した温度など、さまざまな形で提供される。

外部からのデータを呼び出すには、スマート・コントラクトを起動し、ネットワーク・リソースを消費しなければならない。オラクルの中には、スマートコントラクトに情報を中継するだけでなく、それを外部に送り返す機能を持つものもある。

ブロックチェーンのオラクルがどのように動作するかは、それが何のために設計されているかに完全に依存する。この記事では、そのような設計のいくつかについて説明する。

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

アリスとボブがアメリカ大統領選挙の勝者を賭けるとする。アリスは共和党候補が勝つと信じ、ボブは民主党候補が勝つと信じている。二人は賭けの条件に合意し、スマートコントラクトに資金をロックする。

スマートコントラクトは外部データとやりとりできないため、必要な情報(この場合は大統領選挙の結果)を提供するオラクルに依存しなければならない。選挙が終わると、オラクルは信頼できるAPIに問い合わせ、どの候補者が勝ったかを調べ、この情報をスマート・コントラクトに伝える。そして契約は、結果に応じてアリスかボブに資金を送る。

オラクルがデータを中継しなければ、参加者の誰かが賭博できない方法でこの賭けを解決する方法はなかっただろう。

ブロックチェーンオラクルにはどのような種類がありますか?

ブロックチェーンオラクルは、いくつかの異なる性質によって分類することができます:

  • ソース– データの発信元はソフトウェアかハードウェアか?
  • 情報の方向性 – インバウンドかアウトバウンドか?
  • 信頼性– 集中型か分散型か?

一つのオラクルが複数のカテゴリーに分類されることもある。例えば、企業のウェブサイトから情報を取得するオラクルは、集中型のインバウンド・ソフトウェア・オラクルです。

ソフトウェア・オラクル

ソフトウェアオラクルは、オンラインの情報源とやりとりし、ブロックチェーンに情報を送信します。この情報は、オンライン・データベース、サーバー、ウェブサイトなど、基本的にウェブ上のあらゆるデータ・ソースから得ることができる。

ソフトウェアオラクルはインターネットに接続されているため、スマートコントラクトに情報を提供できるだけでなく、その情報をリアルタイムで送信することもできる。そのため、最も一般的なブロックチェーンオラクルの1つとなっている。

一般的にソフトウェアオラクルが提供する情報には、為替レート、デジタル資産価格、リアルタイムのフライト情報などがある。

ハードウェアオラクル

スマートコントラクトの中には、現実世界とのインターフェースを必要とするものがある。ハードウェア・オラクルは、物理世界から情報を取得し、スマート・コントラクトが利用できるようにするために設計されている。そのような情報は、電子センサー、バーコードスキャナー、その他の情報読み取りデバイスから中継される可能性がある。

ハードウェア・オラクルは基本的に、現実世界のイベントをスマート・コントラクトが理解できるデジタル値に「変換」する。

例えば、商品を輸送するトラックが搬入口に到着したかどうかをチェックするセンサーがそうだ。到着した場合、センサーはその情報をスマート・コントラクトに伝え、スマート・コントラクトはそれに基づいて意思決定を実行することができる。

同じようなテーマでもっと読みたい方は、ブロックチェーンのユースケースをご覧ください: サプライチェーン

インバウンド・オラクルとアウトバウンド・オラクル

インバウンドオラクルは外部ソースからスマートコントラクトに情報を送信し、アウトバウンドオラクルはスマートコントラクトから外部に情報を送信する。

インバウンドオラクルの例は、センサーによって測定された温度をスマートコントラクトに伝えるものだ。アウトバウンドオラクルの例は、スマートロックで考えることができる。あるアドレスに資金が入金されると、スマートコントラクトはこの情報をアウトバウンドオラクルを通じてスマートロックを解除するメカニズムに送る。

集中型オラクルと分散型オラクル

集中型オラクルは単一のエンティティによってコントロールされ、スマートコントラクトのための唯一の情報プロバイダーとなる。コントラクトの有効性は、オラクルをコントロールするエンティティに完全に依存します。また、悪意のあるアクターからの妨害は、スマート・コントラクトに直接影響を与える。中央集権型オラクルの主な問題は、単一障害点が存在することで、コントラクトの脆弱性や攻撃に対する耐性が弱くなることだ。

分散型オラクルはパブリック・ブロックチェーンと同じ目的を共有している。単一の真実の情報源に依存しないことで、スマート・コントラクトに提供される情報の信頼性を高める。スマートコントラクトはデータの有効性と正確性を判断するために複数のオラクルに問い合わせる。

一部のブロックチェーン・プロジェクトは、分散型オラクル・サービスを他のブロックチェーンに提供している。分散型オラクルは、社会的コンセンサスによって特定の結果の妥当性を検証できる予測市場においても有用である。

分散型オラクルはトラストレスを実現することを目指しているが、トラストレス・ブロックチェーン・ネットワークと同様に、分散型オラクルもトラストを完全に排除するのではなく、むしろ多くの参加者の間でトラストを分散することに注意することが重要である。

契約固有のオラクル

コントラクト固有のオラクルとは、単一のスマート・コントラクトで使用されるように設計されたオラクルである。つまり、複数のスマート・コントラクトをデプロイしたい場合は、それに比例した数のコントラクト固有のオラクルを開発しなければならない。

このタイプのオラクルは、メンテナンスに非常に時間とコストがかかると考えられている。様々なソースからデータを抽出したい企業は、このアプローチが非常に非現実的であると感じるかもしれない。一方、契約固有のオラクルは、特定のユースケースに対応するようにゼロから設計できるため、開発者は特定の要件に合わせて柔軟に設計することができる。

人間のオラクル

特定の分野で専門的な知識を持つ個人がオラクルの役割を果たすこともある。彼らは様々な情報源から情報の信憑性を調査・検証し、その情報をスマートコントラクトに変換することができる。人間のオラクルは暗号を使って身元を確認できるため、詐欺師が身元を偽って破損したデータを提供する可能性は比較的低い。

オラクルの問題

スマート・コントラクトはオラクルから提供されたデータに基づいて意思決定を実行するため、オラクルは健全なブロックチェーン・エコシステムの鍵を握っている。オラクルを設計する際の主な課題は、オラクルが危険にさらされると、それに依存しているスマートコントラクトも危険にさらされるということだ。これはしばしば「オラクル問題」と呼ばれる。

オラクルはメインのブロックチェーンのコンセンサスの一部ではないため、残念ながらパブリック・ブロックチェーンが提供できるセキュリティ・メカニズムの一部ではない。サードパーティのオラクルとスマートコントラクトのトラストレスな実行との間の信頼衝突は、ほとんど未解決のままである。

中間者攻撃も脅威となる可能性があり、悪意のあるアクターがオラクルとコントラクトの間のデータフローにアクセスし、データを変更または改ざんする。

最後に

スマートコントラクトと外部との通信を容易にする信頼性の高い仕組みは、ブロックチェーンの世界的な普及に不可欠である。ブロックチェーンのオラクルがなければ、スマートコントラクトはすでにネットワーク内にある情報のみに頼らざるを得ず、その機能はかなり制限されることになる。

分散型オラクルには、ブロックチェーンエコシステムから多くのシステミックリスクを排除できるセーフガードメカニズムを導入できる可能性がある。ブロックチェーンオラクルは、ブロックチェーンエコシステムが成長するために、安全で信頼性が高く、トラストレスな方法で実装されるべき重要なビルディングブロックの1つであることに変わりはない。

Image placeholder

Lorem ipsum amet elit morbi dolor tortor. Vivamus eget mollis nostra ullam corper. Pharetra torquent auctor metus felis nibh velit. Natoque tellus semper taciti nostra. Semper pharetra montes habitant congue integer magnis.

Leave a Comment