ブロックチェーンのオラクル問題
ブロックチェーンの「オラクル問題」についてメモ。
オラクル問題とは一言でいうと、「ブロックチェーンからみて外の世界のデータをどのように信頼するか」という問題。
そもそもブロックチェーンにおける「オラクル」とは何か? まずブロックチェーン内の世界を「オンチェーン」と呼び、ブロックチェーン外の世界を「オフチェーン」と呼ぶ。 ブロックチェーン上のスマートコントラクトで何か高度なことをしようとした時、オフチェーンのデータが必要になる。 たとえば鹿児島の天気によって何かするスマートコントラクト、鹿児島ユナイテッドFCの試合の勝敗によって何かするスマートコントラクト、IoTデバイスが収集したデータをもとに何かするスマートコントラクト、選挙の結果をもとに何かするスマートコントラクト、乱数に基づいて何かするスマートコントラクトなどなど、オンチェーンにはないデータを使って契約を実行しようとする時、スマートコントラクトが必要とするオフチェーンのデータを提供するのがオラクルと呼ばれるもので、オンチェーンとオフチェーンの接続をブリッジする役割を担う。
このとき、オラクルが提供するデータ(というよりオラクルそのもの)をどのように信頼するかということ、そして単独のオラクルを利用する場合にそれが単一障害点となってしまうことを「オラクル問題」と呼ぶ。
これが解決されない限り、現実世界(オフチェーン)の情報を使った有用なスマートコントラクトは実現できないということになり、広い領域でのスマートコントラクトの実用化がなかなか進まないということになってしまう。なのでかなり重要な課題ということになる。
このオラクル問題を解決するための代表的なプロジェクトとして、Chainlinkという分散型オラクルがある。分散型のため単一障害点にならず高い信頼性を提供するらしい。
Chainlinkについては調べたらまた書く。