スマートコントラクトにおけるOracle(オラクル)の役割とは?

編集部ピックアップ

スマートコントラクトにおけるOracle(オラクル)の役割とは?

五月雨まくら(@samidare_makura)です。

皆さんはOracle(オラクル)という言葉をご存知ですか?真っ先にデータベース(DB)のOracleを連想した人は、IT業界で働いてる方かもしれませんね。しかし、本記事で紹介するOracleはデータベースとは全く関係ありません。仮想通貨の文脈におけるOracleは、ざっくり言えば、現実世界とデジタル世界を結びつける仕組みです。それではここから、Oracleについて説明していきます。

Oracleに関する前提知識

ブロックチェーンを基盤とする技術を実装しようとした時に、外部からのデータを必要とする場合があります。そのような時に使われるのがOracle(オラクル)です。

Oracleは、情報をシステムに伝達するだけではなく、それらのデータが正確かどうかを判断することができます。もし、Oracleからの情報が信頼できるとするならば、現実世界と同じように、ブロックチェーン上のシステムでの経済活動の実行を、スマートコントラクトを用いて、自動化することができます。

Oracleによるリアルタイム自動執行

ブロックチェーン内のノード(端末)は、デフォルトでは外部の情報を照会あるいは処理することができません。そのような時に、Oracleはブロックチェーンとオフチェーン間において情報を伝達する媒体のような役割を持ちます。

例えば、選挙結果や石油価格、気象情報をブロックチェーン上のシステムに変数として組み込んでおき、Oracleの得た情報を変数に入れ込むことで動的なプログラムを作ることができます。さらに、スマートコントラクト によって条件分岐を実装することで、柔軟なシステムを実装することが可能です。

もしそれらの条件が満たされると、スマートコントラクトはブロックチェーン上で契約を、外部のデータを組み込みながら、自動実行することが可能になり、リアルタイムな処理を行うこともできます。

情報の正確さを証明するには?

Oracleが、現実世界とデジタル世界のデータ変換と通信における問題を即座に解決する方法と考えるのであれば、どのような点を満たしている必要があるでしょうか?それはズバリ、情報が正確であることへの確信です。

当然のことながら、Oracleから得られる情報の真偽がはっきりしないのであれば、誰もOracleを使わないでしょう。悪意を持つユーザは現実世界とデジタル世界の両方に存在しています。そのため例えば、Oracleのオペレーターが自己の利益を優先して情報を改ざんする可能性もあるということです。

上述した情報の正確さを担保するためには、Oracle同士で競争が行われる自由市場の存在が必要です。新しい分散型市場において、Oracleとそのデータは、中央集権型支配から独立した形でキュレートされます。

将来的には、自由市場において正確な情報を提供することが保証されたOracleだけが生き残り、それ以外のOracleは市場から締め出されるでしょう。これによって、情報の正確さが証明されます。

Oracleのある世界

Oracleを利用すれば、現実世界とデジタル世界で情報の伝達を行うことができます。そして、情報の正確さは自由競争市場により保証されていて、信頼性のある情報をスマートコントラクト 内の変数に格納することで、リアルタイムで契約を執行することが可能になります。現時点(2018年5月)では、ユースケースは多くありませんが、将来的に不可欠な存在になるかもしれませんね。

編集部ピックアップ

マルチシグ管理の安心・安全ウォレット