スマートコントラクトが知っているのは、自らのブロックチェーン上にあることだけです。ETH の価格やボールトシェアの価値を調べることはできません。それでもレンディング市場は、担保の価値をあらゆる瞬間に知っておく必要があります。オラクルは、その閉じた世界と、それが依存するデータとをつなぎます。そのため不可欠なインフラであると同時に、頻繁に狙われる標的でもあります。
価格オラクルの仕組み
多くの価格オラクルは、取引所やデータプロバイダーなど多数の情報源から価格を集め、ひとつの数字にまとめてオンチェーンで公開します。配信の方式は主に2つです。
- プッシュ型フィードは、スケジュールに沿って、または価格が設定された閾値を超えて動いたときに、新しい価格をチェーンに書き込みます。
- プル型フィードは、署名済みの価格をオフチェーンに保持し、必要になった瞬間にユーザーやプロトコルが最新の価格をオンチェーンに持ち込みます。
Chainlink と RedStone は広く使われているオラクルプロバイダーで、どちらもプッシュ型とプル型の両方を提供しています。
市場価格とファンダメンタル価格
市場価格フィードは、トークンがいくらで取引されているかを報告します。ファンダメンタル価格フィードは、トークンの価値を裏側にある資産に基づいて報告します。たとえば、ボールトの保有資産から計算したボールトトークンのシェア価値です。この違いは担保にとって重要です。薄い市場でボールトトークンが一時的に裏付けとなる価値を下回って取引された場合、市場価格フィードはレンディングのポジションを清算へと近づけますが、ファンダメンタルフィードはそうしません。その代わり、ファンダメンタルフィードは市場の信頼が本当に失われたときに、それを反映するのが遅くなります。
オラクルが失敗するとき
- 操作。攻撃者がフラッシュローンで大きな金額を借り、オラクルが読み取る薄い流動性プールで価格を動かし、つり上げた価格を元に借り入れをして、プロトコルに不良債権を残して去ります。
- 古いデータ。動きの速い市場でフィードの更新が止まれば、コントラクトは古い価格に基づいて動きます。
- 不適切な情報源。十分な数の情報源が誤った価格を報告すれば、まとめた数字も誤ったものになります。
- 設定ミス。小数点の桁数や対象資産を誤って設定したフィードは、市場の価格を一瞬で狂わせることがあります。
シンプルな例
あるレンディング市場が、価格を1つの小さなプールからだけ取得しているトークンを受け入れているとします。攻撃者はそのプールで大量に買い、1回のトランザクションの中で報告価格を2倍にし、そのトークンを担保として供給して、それを元にほかの資産を借り、価格が元に戻るのを待ちます。市場の手元には、貸した額の半分の価値しかない担保が残ります。多数の情報源を時間をかけてまとめるフィードであれば、この動きに耐えられたはずです。
リスクと限界
完璧なオラクルの設計はありません。どのフィードも、速さ、コスト、正確さ、操作への耐性の間でトレードオフを抱えています。マネーマーケットは、保守的な借入可能比率の上限、ある資産を供給・借り入れできる量の上限、異常な価格に対する一時停止によって、残りの部分を補います。チェーン間を移動しなければならないデータには独自のリスクがあり、オラクルネットワークが Chainlink CCIP のようなクロスチェーンのメッセージングも提供しているのはそのためです。
Tori Finance での使われ方
Ethereum 上の trUSD と strUSD について、RedStone のファンダメンタル価格フィードが稼働しています。ファンダメンタルフィードは、ある市場での取引価格ではなく、裏側にある資産に基づいてトークンの価値を報告します。
よくある質問
ブロックチェーンオラクルとは何ですか?
資産価格のようなブロックチェーンの外にあるデータをチェーン上に持ち込み、スマートコントラクトが使えるようにするサービスです。
オラクル操作攻撃とは何ですか?
オラクルが報告する価格を動かす攻撃です。多くの場合、薄い市場でフラッシュローンを使って行われ、プロトコルにつり上げられた担保を元に過大な貸し出しをさせたり、ポジションを不当に清算させたりします。
ファンダメンタル価格フィードとは何ですか?
市場での取引価格ではなく、裏側にある資産に基づいてトークンの価値を報告するフィードです。たとえば、ボールトの保有資産から計算したボールトシェアの価値などがあります。
関連用語
担保
担保とは、問題が起きたときに損失をカバーできるよう、ローンやトークンの裏付けとして差し入れられる資産です。DeFi では、その量と同じくらい種類、質、置かれている場所が重要で、価値が大きく下がるとスマートコントラクトが自動的に売却することがあります。
マネーマーケット
伝統的な金融でマネーマーケットといえば、短期の資金が貸し借りされる市場のことです。DeFi では通常、ユーザーが資産を供給して利回りを得て、ほかのユーザーが担保を元に借り入れをするレンディングプロトコルを指し、そのレートは需要と供給に応じて動きます。
Chainlink CCIP
Chainlink CCIP(Cross-Chain Interoperability Protocol)は、ブロックチェーン間でメッセージやトークンを送るための規格です。トークン発行体はこれをネイティブに採用できるため、サードパーティのブリッジによるラップされたコピーに置き換えられることなく、同じトークンがチェーン間を移動します。
流動性プール
流動性プールとは、2種類以上のトークンを保有し、トレーダーがそれを相手にスワップするスマートコントラクトで、価格は板ではなく計算式で決まります。流動性の提供者はトークンを供給して取引手数料の一部を受け取り、その見返りに価格リスクとスマートコントラクトリスクを引き受けます。
出典
- ethereum.org: Oraclesethereum.org
- Chainlink: What is a blockchain oracle?chain.link
- RedStone documentationdocs.redstone.finance
Tori Finance チームが執筆しました。投資助言ではありません。利回りは変動し、元本を失うおそれがあります。