【特集コラム】ブロックチェーンのオラクルとは

今回は、暗号資産・ブロックチェーン業界で度々話題となる「オラクル」について、その重要性を信玄氏(@shingen_crypto)に解説していただいたコラムをご紹介します。

目次

  1. オラクルという呼び名の由来と代表的な役割
  2. 価格参照オラクルの使用例
  3. オラクルの悪用について考える
  4. 現実世界のイベントをオラクルする
  5. まとめ

ブロックチェーン関係のプロジェクト、特にDeFi周りにおいてはオラクル(Oracle)という単語が頻繁に登場します。また凄まじい高騰で話題になったChainlinkもオラクルをテーマとしたプロジェクトであり、その影響で一時期は”オラクル銘柄”が何でも高騰するという状況も散見されました。更に度々DeFi周りでも起きている攻撃、流出案件でもやはり「オラクルが〜」というようにオラクルという単語が頻出します。

それではオラクルとは何なのか、なぜ大事なのか、どういう役割を持つのかという事を今回は簡単に解説します。

オラクルという呼び名の由来と代表的な役割

IT系の分野でオラクルと言うとデータベース系の企業を連想されるかもしれませんが、元々オラクルという単語は予言者、神託を授ける神の使いといった様な役割を持った人の事を指す単語であり、ブロックチェーンの分野では後者の方に近い意味合いで使われます。

オラクルとは何かのデータを参照する事を指しており、現状一番代表的なのがトークン等の価格データです。これを”価格参照オラクル(Price Feed Oracle)”と呼びます。今回は主にこの価格参照オラクルを前提に解説していく事になります。


上の画像はChainlinkの価格参照オラクルの基本構造です。こちらでは複数のノードから定期的に価格を取得して、そこから適正価格を導き出すという仕組みをとっています。他にも色々な仕組みがありますが、こうした複数のソースから価格データを取得するのが現状では一般的となっています。

他にもUniswapではリアルタイム価格ではなく一定時間内の加重平均価格を提供するオラクルを提供したり、特定プラットフォームが独自の価格参照オラクルを外部へ提供したり、様々な価格参照オラクルが提供、利用されています。

とは言え、APIで何かのデータ取得を行う事は多くのサービスで当たり前の様に行われているため、何故そんな当たり前のような事がこんなに特別視されるのかと不思議に感じる方もいるかも知れません。

その理由はDeFiにおける価格参照オラクルは指標レベルや一部条件の役割ではなく、もっと重要で直接的な役割を担うケースが多く、それ故にオラクルの参照先が不安定で操作可能であったりすると意図的な市場の歪みの演出からのセキュリティ的な脆弱性、攻撃点が産まれてしまうためです。

価格参照オラクルの使用例

名前の通り価格データを取得するこのオラクルは、DeFi上で指定したデータ提供元から指定したアセットやトークンの価格を取得してきます。例えばBTCやETHの現価格を定期的に、といった具合です。これの用途に関して一番代表的なのはDeFiレンディングサービスでの各トークン価格です。

DeFiレンディングでは最低125%~150%以上の過剰担保を元に貸付を行う形式が基本となっています。ざっくりと言えば、借りた資産の価格が上昇するか、担保資産の価格が下降するかのどちらかで担保比率が精算ラインを超えてしまいます。そして反対に、預けた担保資産に対してどれだけ他者が入れた預け入れ資産を借りる事が出来るのかという点についても価格参照オラクルに基づいて決定されています。

つまり、ここで例に挙げた様なDeFiレンディングサービス上での資産評価というのは全てオラクルに依存しており、そこに人間が介在する余地なく評価に基づいた処理が執行されるという事です。実際にはそう簡単には操作されないように作られている事が一般的ですが、それ程に影響が大きく重要な要素となります。

オラクルの悪用について考える

ではもしもレンディングサービスで扱う資産の参照価格を多少なりとも操作出来たらどんな事が出来るでしょうか?

例えば担保資産価格を下落させて精算を強制的に発生させ、割安に担保を精算させる。大規模な精算発生が起きた場合には対象資産価格を一気に下落させる事が出来るかもしれません。

また他にも担保資産となる取扱い銘柄価格を上昇させ、本来ならば借りる事の出来ない量の資産を借り、攻撃側は精算されて元の資産が失われても十分な利益が得られるという事が起きるかもしれません。

上記はあくまでも漠然とした例え話ですし、大手レンディングサービスでこうした事件が起きた事はありません。またMakerDAOやCompound等では価格参照オラクルや精算処理については非常に慎重な作りになっています。

それでも前述した通り、もしも価格参照オラクル参照先を操作される様な事があれば、その時には人間のチェックが挟まる間も無く処理が執行されてしまうのが怖いところでしょう。ミドルマン抜きで24時間365日無停止で市場に対応したリアルタイムレートでの処理を自動執行し続けるという利便性を実現するには、こうした依存性がどうしても存在します。

現実世界のイベントをオラクルする


オンチェーン、つまりブロックチェーン上で観測出来るイベントや複数の取引所がAPIで出してくれる情報をオラクルで取得する事は比較的容易です。では現実世界のイベントはどうでしょうか?

これは主に予測市場や保険に利用されるオラクルの用途となりますが”何を結果とするか”という判定が難しいです。具体例を挙げれば今年の米大統領選挙が良いケーススタディでしょう。

米大統領選は下記の様な日程で行われ、基本的には11月3日の投票結果で大勢が決まると見られている為に現時点ではバイデン氏が勝利というのが一般的な認識になっています。とは言えまだ完全に決着したとは言えず100%勝利とは言えないかもしれないという状況でしょうか。こうしたテーマを扱う時には何を持って勝利とするかの条件付けが困難である事がイメージしやすいかと思います。

  • 2020年11月3日:一般有権者による投票および開票
  • 2020年12月14日:選挙人による投票
  • 2021年1月6日:大統領および副大統領当選者が正式決定
  • 2021年1月20日:大統領就任式

実は2020年の米大統領をテーマにした予測市場マーケットはDeFi上ならばAugur、取引所ならばFTX等で取り扱われていました。執行の基準はそれぞれ異なる為に参加する際にはルールを良く読んでから参加しないと”何を基準に勝利とするか”というポイントの勘違いから予想外の結果になる事も有り得ます。

予測市場や保険の需要が高い事は間違いないですが、扱うテーマと執行のトリガーとなるオラクルについては非常に難しいというのが現状でもあります。

まとめ

特にDeFiにおいてオラクルの果たす役割は非常に大きく、総じて新興サービスではオラクル周りの設計が甘い事が多い事からオラクルに関わる攻撃も頻繁に起きています(厳密にはオラクルそのものではなく、参照先の設定が甘いために攻撃の的となる)。

またオラクル銘柄として代表的なChainlinkでも、実際にはChainlinkのみに多くが依存すると今度はそこが攻撃点になってしまう為に一点依存は避け、あくまでも対象の一つとして有効であるという様な扱いだと感じています。具体的にはUniswap、MakerDAO、Compoundの様な古参プロジェクトは自身でオラクルとして利用できる価格データを提供しており、少なくともオンチェーンの価格参照オラクルについては徐々に分散化が進んでいる事は間違いないでしょう。

色々な事件が起こり資金が奪われる事は被害者にとって厳しい話ですが、大局的に見た場合にはケーススタディが積み重なって将来への糧となります。もしかすると多少なりとも既存金融システムがスマートコントラクトの自動執行に依存する様な社会がいつか来るかもしれず、長い目で見れば甘いところはどんどん攻撃されて対策の知見が増えていく事は重要ではないでしょうか。

現実世界のイベントをオラクルで取得する事は難しいという話をしましたが、もしも人々の活動のオンライン化がもっと進めば、それはオラクルの取得と活用を容易にする事となります。俗に言うメタバース化が進み実現する事があれば、その時にはこうした仕組みが進化を発揮する、とも言えるでしょう。

The following two tabs change content below.
信玄

信玄

本業の傍ら趣味でブロックチェーン関連のリサーチを行うITインフラエンジニア。 DeFiを筆頭にDID、NFT、Layer2、Fiat Gateway、Contract Wallet等、幅広く情報を追っている。Twitter:@shingen_crypto