オラクルとステーブルコインの関係は?ステーブルコインはドル準備金に裏付けられていると言われているが、なぜオラクルが必要なのか?
これは全く異なる2つのタイプのステーブルコインに関係します。
法定通貨準備型ステーブルコイン(USDC、USDT)はオラクルを必要としません。そのメカニズムは直接的です:発行者がドルを保有し、ユーザーがドルをステーブルコインに交換し、ステーブルコインをドルに戻します。ブロックチェーンがドル価格を「知る」必要はありません——定義上1:1だからです。
暗号資産担保型ステーブルコイン(DAI、USDS)はオラクルに依存しています——重要な依存です。これらのステーブルコインはETHをロックしてステーブルコインを鋳造できます。問題はETHのドル価値が変動することです。プロトコルはこの変動する価値をリアルタイムで追跡して、担保率が安全かどうかを判断する必要があります。オラクルはこの「リアルタイム追跡」を実行するツールです。
つまり:USDCを保有する場合はオラクルリスクを心配する必要はありません。しかしMakerDAOやAaveでETHを担保にステーブルコインを借り出す場合、オラクルがポジションの安全性を直接決定します。
Chainlinkはすでにこれほど主流なのに、まだ攻撃される可能性はありますか?
はい、リスクはゼロではありません——ただし大幅に低減されています。
Chainlinkの設計は攻撃コストを極めて高くしています:100以上の独立したノードがそれぞれ異なるデータソースから価格を取得し、最終的な結果は中央値です。最終的な中央値を操作するには、ノードの半数以上を同時に制御する必要があります——ノードオペレーターが世界中の機関や地域に分散しているため、現実的にはほぼ不可能です。
しかし残存するリスクがあります:
データソースの集中:ほとんどのノードが同じ数少ないAPI(CoinMarketCap、CoinGecko)から取得している場合、それらのAPIが誤ったデータを報告すると、Chainlinkも誤って報告する可能性があります。
ハートビートの遅延:Chainlinkは通常1時間ごとまたは偏差が0.5%を超えた場合にのみ更新をプッシュします。市場が30分で急崩壊した場合、オンチェーンのオラクル価格は古いままで、プロトコルが最適な清算タイミングを逃す可能性があります。
結論:Chainlinkを使用する主要プロトコル(MakerDAO、Aave)のリスクは非常に低いですが、ゼロではありません。あなたが実行できる最善のリスク管理は、単一のDEX価格のみを使用する実験的プロトコルではなく、複数層のオラクル保護を持つ主流プロトコルを選択することです。
なぜUniswapのリアルタイム現物価格をオラクルとして使わないのか——それが最も分散型では?
これは直感的なアイデアですが、根本的なセキュリティ上の欠陥があります。
DEXリアルタイム現物価格=フラッシュローンで最も操作しやすいデータ。Uniswapの即時取引価格はこの瞬間の需給を反映しています——十分な資金(同じトランザクション内でフラッシュローンで借りられる)があれば、誰でも1ブロック内でUniswapのETH価格を任意の数値に動かし、この誤った価格で清算をトリガーし、同じトランザクション内で返済できます。実際に資金を保有する必要はありません。
TWAPはより良いオンチェーンソリューションです:Uniswap V3はTWAP機能を提供し、一定時間(30分など)の加重平均を計算します。フラッシュローンは同じブロックにしか影響できず、30分の平均を歪めることができないため、TWAPはフラッシュローン攻撃に自然耐性があります。しかしTWAPの問題は反応が遅いことです——本物の市場暴落時、TWAPが新しい価格を完全に反映するのに30分かかり、プロトコルの清算トリガーも遅れます。
ベストプラクティスは組み合わせ使用です:Chainlink(速い反応、高セキュリティ)をメインオラクルとして、TWAPをバックアップと極端な状況のサーキットブレーカーとして——ChainlinkとTWAPの価格偏差がX%を超えたら清算を一時停止し、ガバナンスの介入を待ちます。
DeFiステーブルコインのヘビーユーザーとして、オラクルリスクを最小限に抑えるにはどうすれば?
5つの具体的な操作上の提案:
1. 新興の実験的プロトコルではなく確立されたプロトコルを選ぶ:MakerDAO(Chainlink+独自Oracle Security Module、1時間遅延のサーキットブレーカー)、Aave(Chainlink複数ノード)は成熟したオラクル保護を持っています。新しいプロトコルは単一のDEX価格や未検証のオラクルソリューションを使用することが多く、リスクが数倍高い。
2. 流動性の高い担保を使用する:ETH、WBTC、USDCの現物市場は流動性が深く、価格を一時的に動かすには膨大な資本が必要で、フラッシュローン攻撃は非常にコストが高い。流動性の薄いロングテールトークンを大量の担保として使用すべきではありません。
3. 十分な担保率バッファを維持する:オラクルが本物の市場暴落を反映している場合でも、担保率に十分なバッファがあれば(151%ではなく200%を維持するなど)、一時的な変動で清算がトリガーされません。これが最も直接的な防御です。
4. ポジションアラートを設定する:DeFiSaverまたはInstadappを使用して担保率アラートを設定し、清算ラインに近づく前に追加担保または返済ができるようにします。
5. 極端な市場変動期を避ける:オラクルリスクと実際の市場リスクは極端な状況で同時に上昇します。高変動期にポジションのレバレッジを積極的に下げることが最善のリスク管理です。
Compound DAIオラクル事件(2020年11月)——8,900万ドルのオラクルの教訓
2020年11月26日、Compoundプロトコルで大規模な異常清算事件が発生しました。原因:CompoundはCoinbase ProのDAI/USDC現物価格をDAIの価格オラクルとして使用していました。
攻撃者は一連の操作を通じて、Coinbase ProのDAI現物価格を一時的に1.34ドルに急騰させました(通常は1.00ドル)。Compoundのコントラクトはダイ価格の急騰を「見て」、大量のDAI担保ポジションの担保率を誤判断しました。
最終結果:8,900万ドルのポジションが清算され、清算者は不当な清算報酬を受け取り、一部のユーザーは失うべきでない担保を失いました。
その後、CompoundはChainlinkの複数ノード集計オラクルに切り替え、価格偏差サーキットブレーカーを実装しました。この事件はDeFiオラクルセキュリティ設計の古典的な教科書事例となりました——単一のDEX現物価格のみをオラクルとして使用するプロトコルに大量の資金を置くべきでない理由でもあります。
速度対安全性:オラクル設計のコアトレードオフ
オラクルシステム設計のコアの矛盾は「即時性」と「安全性」が常に対立していることです。
即時更新(Pythのサブ秒のような)はプロトコルが実際の市場価格を素早く追跡し、市場の急落時に清算を正確にトリガーし、不良債権からプロトコルを保護できます——しかし同時にフラッシュローン攻撃者の利用窓口を狭め、人間のガバナンス介入をより困難にします。
TWAP(30分加重平均)はほぼ操作不可能ですが、本物の市場暴落時には30分の遅延でプロトコルが最適な清算タイミングを逃し、不良債権を蓄積する可能性があります。
Oracle Security Module(MakerDAOのOSMなど)は1時間の価格遅延を設定します——オラクルの価格更新はプロトコルに反映されるまで1時間かかります。これはコミュニティが誤った価格が損害を引き起こす前に介入する時間を与えますが、代償として本物の市場崩壊時にプロトコルが1時間後まで清算すべきことを知らないかもしれません。
完璧なオラクルは存在しません——プロトコルのリスクポジショニングに応じたトレードオフの選択のみがあります。