どうも!こんにちは!
クリプトマッスルです!
仮想通貨に関連してオラクル(Oracle)という言葉を聞いたことがある人も多いかもしれません。
これはデータベースを意味するオラクルとは全くの別物になります。
今日は、そんなオラクルについて詳しく説明していきます。
オラクル(Oracle)とは?
オラクルとは、ブロックチェーンネットワークにおいて外部の情報を取得してくれるシステムのことになります。
つまり、ブロックチェーンとインターネットの間の橋渡しをしてくれるようなもので、ブロックチェーンネットワーク内部の情報に関係のない外部情報を得るためにオラクルは使用されるということになります。
ブロックチェーンでは、自ら外部より情報を持ってくる機能を持ち合わせていません。
そこでオラクルがブロックチェーンに情報をもたらすシステムとしてとても重要な役割を果たすことになります。
例えば、「サッカーの試合でチームXとチームYのどちらが勝つのか」というのを予測する分散型予測市場アプリケーションがあるとします。
サッカーの試合のデータはブロックチェーンネットワーク内部には存在しないために外部データが必ず必要になってきます。
しかし、スマートコントラクトの実行や合意形成はブロックチェーンネットワーク内部で行う必要があるため、このサッカーの試合に関するデータを外部より取り込む必要があります。
こういった時にオラクルが必要になり、ネットワーク内部には存在しない外部情報についてスマートコントラクトを実行することができるようになります。
2種類あるオラクル
そんなオラクルには分散型と集中型の2種類があります。
分散型
分散型オラクルは参加者全員で分散して管理されているオラクルで、管理主体が1つではないため、外部からハッキングされて情報が改ざんされるといったようなリスクはほとんどありません。
このように分散型オラクルは安全なように思えますが、分散型オラクルネットワークを維持するためのインセンティブ設計が難しいため分散型オラクルの実現は現状では難しくなっています。
その他にも、外部データの正確性の確認、合意形成するのにも時間がかかってしまうなどの問題点も抱えています。
このような理由から現在利用されているオラクルは集中型オラクルがメインとなっています。
集中型
集中型オラクルは1つの管理主体によって運営されているオラクルのことです。
管理主体が責任を持って、外部情報の情報源と情報自体の「正確性」を保証してくれているために、ブロックチェーンの外部の情報を効率的に集め、その情報をブロックチェーンへと繋げてくれます。
そこで集中型オラクルでは正しい情報を外部から持って来るという責任が生じます。
そこで集中型オラクルが不正やハッキングなどの被害に遭った場合に誤った情報がブロックチェーンに流れるのを防ぐために、ハッキング防止システムに多額の管理コストが必要になります。
オラクルとスマートコントラクト
リアルタイム自動執行
例えば、スマートコントラクトで「明日の天気が晴れか雨かとした場合で、雨の場合は1ETHが貰える」というような契約をするとします。
この場合、ブロックチェーン内に天気の情報がないので天気が晴れになったか雨になったかが分からないのでこの天気の情報をブロックチェーン内に持ってくるためにオラクルが必要になります。
オラクルを使用してスマートコントラクトをすることで、条件分岐で、柔軟なシステムを実装することができ、さらにブロックチェーン上での契約を、外部のデータを組み込みながら、自動実行することが可能になり、リアルタイムで迅速な処理を行うことができるようになります。
ブロックチェーン技術の他分野での利用
これまでは仮想通貨での利用が主だったブロックチェーン技術ですが、オラクルの登場により保険、金融、ギャンブルなどの様々な分野でのブロックチェーン技術の利用が可能になると期待されています。
オラクルの欠点
先ほど集中型オラクルのところでも少し触れましたが、欠点があります。
- ハッキング防止にコストがかかる
外部の情報を集めてそれをブロックチェーン内に流入させ、スマートコントラクトを行うために、ハッキングされて情報が改ざんされてしまうと、誤った情報でスマートコントラクトが行われることになってしまいます。
なので多額の管理コストが掛かってきます。
- 情報の信頼性の確保
集中型オラクルでは、1つの管理主体が運営するためにオラクルが持ってくる外部の情報の真偽がわからないとそのオラクルを使うことができません。
そのために管理主体自身に利益となるような情報の改ざんが可能になってしまうので、管理主体はその信頼性を確保するために様々な取り組みを行わないといけません。
マッスルまとめ
オラクルとスマートコントラクトを組み合わせて利用することで、ブロックチェーン内にはない必要な外部にある多大な量の情報をリアルタイムで自動的に契約執行をすることができるようになり「現実世界とデジタル世界の情報の伝達」を行うことができるようになります。
今のところ使用事例というのはそこまで多くありませんが、これから様々なビジネスへの応用が可能になってくることでしょう。
今後に期待です。