column

コラム

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

ブロックチェーンの「オラクル」とは、現実世界のさまざまな情報をブロックチェーンのプログラム(スマートコントラクト)に提供するサードパーティ製のサービスです。世の中のアプリケーションがAPIなどからさまざまなデータを取得して動作するのと同じように、ブロックチェーンのアプリケーション(DApps)もネットワークの外(オフチェーン)にあるデータが必要です。ただ、オラクル自体はデータの情報源ではありません。データの情報源を「検証」して確からしい情報をスマートコントラクトに渡すレイヤーです。

オラクルの情報源

オラクルの情報源となるのは主に以下の3つです。

・人間(アナログ)

・IoT(Internet of Things)デバイス

・API(Application Programming Interface)

人間というのは、人間が生成・加工したデータのことを指します。具体的には、アンケートの調査結果やドキュメントの記載事項をコンピューターに人間が入力したものです。これから説明するIoTデバイスやAPIでは得ることができない幅広いデータを取得できることが特徴です。しかし誤入力の可能性や恣意性の介在など、ヒューマンエラーが起こりうるのが脆弱性です。

IoTデバイスというのは、センサーやカメラ、変位計などのインターネットと繋がっており、さまざまな情報を自動的に送ることができる機器を指します。IoTデバイスから得る情報は正確かつ精度が高いため、信頼性の高い情報源となります。ただ機器の故障や破損などの不具合が発生する可能性はあるため、メンテナンスのコストがかかります。

APIというのは、インターネット上に存在するあらゆる情報を一定の形式でまとめて提供するデータの渡し方のことです。一般的には、APIをかいしてCSVやXML、JSONなどの形式で多様なデータを得ることができます。APIがあることによって、新しいアプリケーションなどを制作する際に、プログラムに必要なデータを外部から簡単な実装で取得可能です。ただAPIのプロバイダが仕様変更するとそれに合わせて、コードを変更しなくてはならないため一定の保守・運用コストがかかります。

オラクルはデータの橋渡し役

ここではオラクルの特徴を情報の流れとガバナンスの視点から解説します。

オラクルはインバウンドだけではない

オラクルは外部の情報源を検証してスマートコントラクトに入力するインバウンドと、スマートコントラクトから渡されるデータを検証して出力するアウトバウンドのふたつのパターンに分けることができます。ただ一般的には、オラクルというとインバウンドのニュアンスが強い印象。オフチェーンとオンチェーンの世界でデータが正しく行き来するように、入力データと出力データを相互に検証するオラクルは、現実世界とブロックチェーンの世界を接続する橋渡しのような役割を担います。

非中央集権的なオラクルは課題が多い

オラクルは中央集権型と非中央集権型に二分できます。中央集権型では単一の個人あるいはグループや組織・集団が情報源の正確性を検証して、スマートコントラクトに渡します。当然のことながら、この場合は情報の改ざんやハッキング被害のリスクが増えることになります。

したがって、後ほど紹介するChainlinkをはじめとしたプロジェクトは非中央集権型のオラクルに取り組んでいます。ところが複数のアクターが情報源の正確性を検証するモデルはいまだにさまざまな課題があり、なかなか普及するには至っていません。例えば、ある情報を検証したいときに何を持ってその情報を正しいとするのか、検証者が一意に合意することは難しく障壁となっています。

分散型オラクルの事例

ここでは分散型オラクルの事例であるChainlinkとThe Graphを紹介します。どちらのプロジェクトも市場からの評価は高く、期待されているプロジェクトです。

Chainlink(チェーンリンク/LINK)は、2019年5月にメインネットで正式にリリースされた分散型オラクルです。情報源を検証するオラクルノードは分散されており、データを検証すると報酬としてネイティブトークンとしてLINKを受け取ることができます。オラクルノードには誰でもなれますが、評価システムやペナルティなどの設計がされており、悪意ある行動が難しくなっています。最近のスケーラビリティアップグレードであるOff-ChainReportingでは、オラクル更新の手数料(ガス代)を90%削減するとしています。Chainlinkのオラクルは、De-Fi領域を中心にさまざまなユースケースがあり、国内の取引所にも上場している有望プロジェクトです。

The Graph

The Graph(ザ・グラフ/GRT)は、ブロックチェーンにあるデータのインデックス作成とクエリ実行をするための分散型プロトコルです。Ethereumのようなパブリック・ブロックチェーンでは、トランザクションやスマートコントラクトに関するデータは誰でも閲覧することができます。しかし多くの場合、それらのデータを取得するためにはエンジニアリングの知識が必要であり、時間と手間がかかってしまいます。The Graphでは、subgraphと呼ばれるAPI(Application Programming Interface)を誰でも作成して公開することができ、サービスの開発者はそれらに対してGraphQLというクエリを実行することで、データを参照することが可能です。これによって、一度subgraphを作成しておけばいつでもそれに対して任意の変数を設定しGraphQLを実行することで、必要なデータを簡単に手に入れることができます。また、自身でsubgraphを作成しなくても他の誰かが作ったものを利用するという方法もあります。UniswapやSynthetix、Decentralandなどの評価の高いプロジェクトがすでにThe Graphを利用しています。ブロックチェーンの世界における新しいインフラとして今後の展開に注目です。

ブロックチェーンのオラクルの重要性

ここまでブロックチェーンのオラクルについて説明してきました。オラクルがないと世の中のスマートコントラクトの多くが機能しません。ところが、現在では中央集権的なオラクルが中心であり、Web3.0の世界観とマッチしていません。そのため、事例で紹介したChainlinkをはじめとする分散型オラクルが今後は増えていくと予想できるでしょう。

お問い合わせ