オラクルとは何で、スマートコントラクトがなぜどうしても必要なのですか?
スマートコントラクトはブロックチェーン上で実行されるプログラムで、事前に設定されたルールを実行します。例えば:「ビットコイン価格が$50,000を超えたら、自動的に$51,000で成約する」または「このゲームが終了してから3時間後、スコアに基づいて自動的に賞金を配分する」。しかし根本的な問題があります:ブロックチェーンは孤立した閉じたシステムで、オンラインでアクセスできません。ブロックチェーン上のノードは外の世界で何が起きているのか知りません。リアルタイムの交換価格、天気、ニュースを見ることができません。コントラクトはロジックを実行するために「現在のビットコイン価格」を知る必要がありますが、交換所自体にアクセスすることはできません。ここでオラクルが登場します。インターネットにアクセスでき、現実世界のデータ(取引所の価格など)を取得し、そのデータをブロックチェーンに送信するミドルマンサービスです。オラクルは「ブロックチェーンと外部世界の間の情報配達人」のようなものです。
なぜオラクルは「DeFiの最大のリスク」と考えられていますか?
根本的な理由は:オラクルは中央集約化をもたらします。典型的なDeFiプロトコルは1つまたは少数のオラクルソース(例:Chainlink)に依存しています。そのオラクルが故障、遅延、または攻撃される場合、プロトコル全体がシステムリスクに直面します。2023年のCurve Financeインシデントは完璧な例です。オラクル遅延により、システムはstETHがETHに対して急激に下落したと誤認し、大規模な清算をトリガーしてユーザーに損失をもたらしました。別のリスクはオラクル操作です。プロジェクトのオラクルデータソースが十分に多様化または分散化されていない場合、攻撃者はこれらのソースを制御して虚偽の価格を供給し、「価格操作攻撃」を実行できます。2022年のMango Marketsインシデントでは、攻撃者はオラクル価格を操作してフラッシュローン攻撃を実行し、1億1400万ドルの利益を得ました。「コードにバグがある」という技術的リスクと比較して、オラクルリスクはより防御が困難です。外部データ自体の信頼性の問題であり、コードロジックの問題ではないからです。
どのオラクルサービスが主流で、それらの違いは何ですか?
Chainlinkは現在最大で最も広く使用されているオラクルです。15以上のメインブロックチェーンをサポート(Ethereum、Solana、Arbitrum、Polygonなど)し、最も多くて最も分散されたデータソースを持ち、Aave、Compound、UniswapなどのトップレベルのDeFiプロトコルに採用されています。利点:高い信頼性。欠点:相対的に高い手数料。
Pyth Networkは高周波で低遅延の価格データに焦点を当てています。データは暗号交換とマーケットメーカーから直接供給され、デリバティブ、先物契約、およびリアルタイム価格が必要な他のアプリケーションに適しています。更新頻度はミリ秒レベルに到達できますが、カバーするチェーンが少なくなります。
Band Protocolは分散型オラクルネットワークです。誰でも「データプロバイダー」になり、報酬を得ることができます。ステーク・プルーフに似ています。Chainlinkの集中型設計と比べて、より分散化されていますが、信頼性は相対的に低くなります。
Uniswap Oracleはオンチェーン取引データに基づくオラクルです。外部ソースに依存せず、Uniswap流動性プールから直接価格を読み取ります。利点:完全に分散化。欠点:Uniswapがサポートする取引ペアにのみ機能します。
オラクル選択時の考慮事項:単一オラクルのリスクは高い。成熟したプロジェクトは複数のオラクルソースを展開してデータ信頼性を確保します。
オラクルが故障または攻撃された場合、どのような防御メカニズムが存在しますか?DeFiはこの問題を完全に解決できますか?
現在の防御メカニズムには以下が含まれます:
マルチソース集約:単一のオラクルに依存せず、複数のソース(Chainlink、Band、Pythなど)から同時にデータを取得し、中央値または加重平均を取ってシングルポイント障害のリスクを減らします。
新鮮度チェック:「最大データ年齢」を設定します。オラクルデータが60秒以上更新されていない場合、コントラクトは古いデータを自動的に拒否し、取引を停止します。
価格偏差検出:新しい価格が前の価格から閾値(例えば5%)を超えて偏差した場合、コントラクトは異常を識別し、高リスク操作(清算など)を一時停止します。
緊急サーキットブレーカー:オラクル価格が明らかに不合理な変動を示す場合、システムは自動的に「サーキットブレーカー」モードに入り、取引を一時的に禁止してカスケード崩壊を防止します。
しかし、ここが重要です。オラクルの問題は完全には解決できません。これは「オラクルジレンマ」です。ブロックチェーン自体は分散化されト信頼不要ですが、外部データに接続するには、結局のところ集中型の情報ソースを導入する必要があります。Chainlinkがいくら信頼できても、最終的にはChainlink社を信頼する必要があります。外部データが関わる限り、情報リスクは常に存在します。長期的な解決策には、分散型身分検証とオンチェーン社会信用の開発が含まれますが、これらのテクノロジーはまだ初期段階です。
2023年3月、Terra生態系のAnchorプロトコルは不安定なオラクルソースを使用していました。市場が変動すると、オラクル価格は10秒遅延し、コントラクトは現在のAPYを誤算し、大量の引き出しがプールを枯渇させました。同じ月、CurveのstETH清算カスケードもオラクルラグに由来していました。stETH-ETHオラクル価格がスポット市場より2秒遅延し、システムはstETHが崩壊したと認識し、清算をトリガーしましたが、実際にはstETHは真に崩壊していませんでした。両方のケースは説明しています:2~3秒のオラクル遅延はDeFiの災害です — コード自体にバグがなくても、オラクルの問題はプロトコル全体を破壊するのに十分です。
オラクルを使うことのトレードオフは「外部世界に接続する必要性」と「中央集約化リスクの導入」の引き換えです。オラクルなしでは、DeFiはブロックチェーン内部でのみ動作でき、価格データはオンチェーン取引から来ます。これは非常に安全ですが、機能が制限されています(現実世界の資産価格にアクセスできない、クロスチェーン相互作用をサポートできない)。オラクルを使えば、DeFiはより複雑なアプリケーション(清算、レバレッジ、デリバティブ)をサポートできますが、代わりに情報の中央集約化を導入します。このトレードオフは完全に排除できません。マルチソース集約、冗長性メカニズム、監視システムを通じてリスクを軽減することしかできません。リスクを完全に排除することはできません。