オフチェーンデータとブロックチェーンのオラクル
スマートコントラクトの処理は決定的である必要があり、スマートコントラクト自らはオフチェーンデータにアクセスできません。しかしながら、現実的に意味のあるシステムを作るには、ほとんどの場合にさまざまなオフチェーンデータを必要とします。例えば、為替のレートや天候の情報などで、これらは現実世界で日々刻々生まれる性質のデータです(これらのデータを使って、スマートコントラクトによる暗号資産の自動取引をさせたいかもしれません)。このような、オフチェーンのデータとスマートコントラクトを連携させたい場合に登場するのがオラクル(Oracle)と呼ばれるシステムです(図2)。
オフチェーンのデータは、オラクルがオンチェーンのスマートコントラクト(図2のオラクルスマートコントラクト)に入力として流し込みます。スマートコントラクト間は相互にやり取りができますので、オフチェーンデータを必要とするスマートコントラクトは、それらのデータをオラクルスマートコントラクトから取得することができます。なお、英単語Oracleには神託といった意味があります。
ここで重要な問題は、オラクルから提供されるデータが信頼できるのかです。例えば、オラクルのデータが中央集権的に都合よく管理、コントロールされてしまうのであれば、それに依存するスマートコントラクトは、非中央集権の特徴に期待することはできなくなるかもしれません。オラクルをどのようなシステム構成でつくるのか、誰がどのように運用するのかなどについては、今後のブロックチェーンの発展において重要なポイントのひとつと考えられます。なお、オラクルサービスを提供する会社もすでにあります(例:Chainlink)。
