オラクルとは、ブロックチェーン外(オフチェーン)のデータをブロックチェーン上に提供する主体を指す。ブロックチェーン外のデータを基に執行されるスマートコントラクトにおいては、オフチェーンのデータ提供者を信用する必要があるため、オラクルは単一障害点になり得る。そのため、スマートコントラクトにとって安全なオラクルの存在は不可欠である。
オラクルで取得されるデータは様々であるが、DeFiにおけるオラクルは暗号資産の価格を取得する主体という意味で使われることが多い。レンディングやステーブルコイン、デリバティブなどほぼ全てのDeFiプロトコルは、トークンの価格情報を利用せずには成り立たない。
DeFiの価格オラクルには、オフチェーン(中央集権取引所や価格情報サイト、オラクルプロバイダーなど)とオンチェーン(分散型取引所)の2種類がある。また、取引所のようなソース元となる価格データを提供する主体と、それらのデータを集計・フィルタリングし提供する主体という分け方も可能である。一般的には後者のオラクルプロバイダーの価格データが利用されることが多い。
オラクルプロバイダーの中で最も有名なプロジェクトはChainlinkであり、AaveやSynthetix、0x、Set protocol、1inchなど主要なDeFiサービスが採用している。Chainlinkの価格オラクルは、21のオラクルノードから取得した価格データから、独自のアルゴリズムによって信頼できる価格を算出し、スマートコントラクトへ提供する。
DEX市場の流動性が増加するにつれ、Uniswapなどの価格データもオラクルとして直接的に利用されるようになってきた。bZxやHarvestの資金流出事故のように、流動性の少ないDEXの市場価格は操作されることがあり、オラクルとしてのDEXは攻撃耐性が低いという課題がある。そこでUniswapは、過去一定期間に累積された価格データの平均値を算出し、価格操作に耐性のある価格オラクル「TWAPs(Time-Weighted Average Price)」を提供している。DEX以外にも、MakerDAOやCompound、Augur、UMAなどのプロジェクトは価格オラクルをサービス内で内製することを試みている。
どのオラクルも、可能な限り単一障害点を排した分散的なモデルを追求しているが、完璧に分散化できたオラクルはいまだ存在しない。オラクルのような外部の単一障害点があると、DeFiは真に分散化した金融サービスと言いづらくなる。実際にオラクルにまつわる流出事故は多く、オラクル分野はDeFiのエコシステムにおいて最も改善が必要な分野の一つである。