レンディングコントラクトは、そこに預け入れられたETHの数量を数えることができます。しかし、ウォレット残高を確認するだけで、そのETHがドル換算でいくらの価値があるかを判断することはできません。予測市場も同様の問題に直面します。コントラクトは担保を保有して払い戻し額を計算できますが、どの結果が発生したかを確定するための明確な方法が必要です。
ブロックチェーン・オラクルは、スマートコントラクトが自身で利用できる状態の範囲を超えて使用できる情報を提供します。それは資産価格、イベントの結果、あるいはファンドが報告した純資産価値(NAV)などです。オラクルによってこうしたアプリケーションが可能になる一方、情報の収集、配信、解釈の方法に関する依存関係も生じます。
スマートコントラクトは、なぜ単にウェブサイトを開けないのか
Ethereumや類似のチェーンでは、ノードが同じトランザクションと状態から同じ結果を再現しなければなりません。通常のウェブサイトはリクエストごとに内容が変わったり、利用できなくなったり、訪問者によって異なる回答を返したりする可能性があります。各バリデーターが実行中にライブのウェブページを個別に取得できるようにすると、共有される結果が損なわれます。Ethereumのオラクルのドキュメントでは、コントラクトの実行と外部情報の間にあるこの境界について説明しています。
その代わり、外部プロセスがブロックチェーンで受け入れ可能な形式にレポートを取り込みます。コントラクトは公開された値を読み取るか、トランザクションとともに提供されたレポートを検証します。コントラクトが密かに無制限のインターネットアクセスを取得するわけではありません。
ブロックチェーンのコンセンサスは、どのレポートが受け入れられ、どのルールが実行されたかを確定します。しかし、気象観測所が正常に機能したか、企業が正直に報告したか、あるいは市場価格が操作されていないかを独立して確定するものではありません。
情報を情報源から意思決定まで追う
価格に依存するアプリケーションには、通常、いくつかの個別の手順が関わります。
- 観測:取引所、トレーディング企業、その他のプロバイダーが、資産に関する観測値を生成します。情報源によって、対象とする取引所、取引時間、金融商品が異なる場合があります。
- 処理:オラクルシステムが、集計および報告のルールを適用します。複数のオペレーターを利用することで、1つの報告者への依存を減らせますが、上流の情報源が共通している場合、単一障害点が残る可能性があります。
- 配信:トランザクションによって値が公開されるか、呼び出し元が認証済みのレポートを提出して検証を受けます。そのトランザクションがいつ実行されるかは、送信先のチェーンによって決まります。
- 適用:利用するコントラクトがフィード識別子、単位、許容される経過時間を確認し、そのうえで独自の借入、決済、その他のルールを適用します。
これらの役割を、オラクルプロバイダーの名称に集約して考えるべきではありません。たとえばChainlinkの分散型データモデルでは、データソーシング、ノードによる報告、オンチェーンでの集計を分けています。アプリケーション側では、得られたフィードを正しく統合する必要があります。
アプリケーションごとに異なるオラクル設計が必要
プッシュとプルは、更新情報がアプリケーションに届く方法を表します。それだけで、システムが中央集権型か分散型かが決まるわけではありません。
| 設計 | 情報が届く方法 | アプリケーションが考慮すべきこと |
|---|---|---|
| プッシュフィード | 更新情報がオンチェーンフィードに公開されます。コントラクトは利用可能な最新の値を読み取ります。 | 公開のトリガー、トランザクションの遅延、保存された観測値がどの程度古くなっている可能性があるか。 |
| プルレポート | アプリケーションが必要とする際に、呼び出し元がレポートを取得して提出します。 | 認証、観測値の経過時間、更新情報を提出するコスト。 |
| オプティミスティック・オラクル | 提案された回答について、定められた期間中に異議を申し立てることができます。異議は解決プロセスに従って処理されます。 | 明確な解決基準、監視へのインセンティブ、保証金、決済までの時間。 |
Chainlinkは、プッシュ型フィードの更新における乖離およびハートビートのトリガーについて説明しています。ハートビートは、混雑や障害が発生してもすべての更新情報が届くことを保証するものではありません。一方、UMAのオプティミスティック・オラクルでは、参加者が提案された回答に異議を申し立てる時間が設けられています。これは、取引のために即時に必要となる価格よりも、イベントの結果を確定する用途に適している場合があります。
すべてのオラクル入力がオフチェーンから来るわけではありません。コントラクトは、分散型取引所のオンチェーン履歴から価格を算出できます。Uniswap v2の累積価格設計は、時間加重平均価格(TWAP)をサポートしています。平均化によって短時間の操作をより高コストにできますが、結果は依然として流動性と選択した観測期間に左右されます。観測期間を長くすると、実際の価格変化への反応も遅くなります。
古い価格が清算を変える仕組み
担保として10 ETH、負債12,000ドル、清算しきい値80%の、単純化したレンディングポジションを考えてみましょう。負債のドル価値は一定で、利息と手数料は無視するものとします。
ETHが1枚2,000ドルの場合、担保価値は20,000ドルで、負債はその価値の60%です。ETHが1,400ドルまで下落すると、担保価値は14,000ドルになります。負債は現在、担保価値の約85.7%を占め、想定したしきい値を上回ります。コントラクトがその価格を受け入れると、この例の清算条件を満たすことになります。
アプリケーションが古い2,000ドルの観測値を使い続けると、経済的な裏付けが弱まっているにもかかわらず、ポジションが健全に見える可能性があります。実際より低い観測値は、逆の問題を引き起こす可能性もあります。本来なら健全なままであるべきポジションが清算されるのです。いずれの場合も、コントラクトは記述されたコードを正確に実行できます。
そのため、EVAAレンディングプロトコルのようなシステムは、価格入力と清算ルールの両方を通じて理解する必要があります。上記の数値は説明のためのものであり、EVAAのパラメーターではありません。
新しい署名が、必ずしも新しい情報とは限らない
重要なのは、基になる観測値がいつ生成されたか、レポートがいつ作成されたか、そしてブロックチェーンがいつそれを受け入れたかという3つの点です。最近提出されたトランザクションに、古い観測値が含まれている場合があります。
Pyth Proの統合ガイダンスでは、更新のタイミングと個々のフィードの鮮度を区別し、報告された価格の不確実性に対処することを推奨しています。有効な署名は、関連する検証ルールに基づいてレポートを認証するものです。すべての値が最新になることや、市場間の相違がなくなることを意味するものではありません。
開発者は障害発生時の方針も必要とします。古いデータを拒否する、新規借入を制限する、価格に敏感な操作を一時停止するといった対応により、被害を抑えられます。検証されていないフォールバックへ自動的に切り替えると、別の依存関係が生じる可能性があります。Chainlinkは、データチェック、サーキットブレーカー、緊急時のロジックについて、アプリケーション開発者が責任を負うことを明確にしています。
一部のレイヤー2ネットワークでは、トランザクションを提出できるかどうかも別の問題になります。シーケンサーが停止すると、ユーザーはポジションを調整できなくなる可能性があります。Chainlinkのシーケンサー稼働状況に関するガイダンスでは、ステータスチェックと復旧後の猶予期間について説明しています。価格のタイムスタンプだけでは、このアクセス上の問題に対処できません。
アプリケーションを利用する前に確認すべきこと
正確なフィードとネットワーク、基になる市場または報告元、許容される最大経過時間、障害発生時の対応を確認しましょう。誰がオラクルを交換できるのか、またはそれらの制限を変更できるのかも確認してください。「オラクルを使用している」という情報は、プロトコルを理解するための出発点であり、セキュリティ評価ではありません。
同じ区別はトークン化された資産にも当てはまります。ファンドのNAVを公開しても、カストディ、法的所有権、償還権が確立されるわけではありません。Chainlink、Hanwha、RWAインフラに関する当社の解説では、信頼できるデータ配信と資産に関する権利が、商品の別々の要素である理由を説明しています。
KTX Crypto Exchangeを通じて市場を確認できます。どのような商品であっても、その商品の価格設定および決済ルールを確認してください。オンチェーンのオラクル値が、あなたの注文が実行される価格と自動的に一致するわけではありません。
よくある質問
オラクルを利用するには、そのトークンを購入する必要がありますか?
いいえ。ユーザーは、オラクルプロバイダーのトークンを保有せずにアプリケーションを利用することがよくあります。更新手数料や誰がそれを支払うかは、統合方法によって異なります。プロバイダーのトークン自体にも市場リスクがあります。
オラクルによって、ウォレット内の資産を動かされることはありますか?
データレポートだけで、ウォレットの署名やトークンの使用許可になるわけではありません。コントラクトは、そのレポートを使って、自身のルールによってすでに管理されている資産に関するアクションを実行することがあります。担保の清算もその一例です。
オラクル価格は、実際に取引できる取引価格と同じですか?
いいえ。参照価格は複数の情報源を集計したり、一定期間の平均を取ったりする場合があります。実際の約定は、取引場所、利用可能な流動性、注文数量、手数料によって決まります。表示された参照価格は、約定を保証するものではありません。
ブロックチェーンブリッジはオラクルと同じものですか?
メッセージングや検証のインフラにおいて重なる部分はあります。ブリッジは通常、クロスチェーンの送金やメッセージを可能にするものです。一方、オラクルはアプリケーション向けに情報を提供します。名称が異なるからといって、同一のセキュリティ前提になるわけではありません。
オラクルは機密性の高いビジネス情報を非公開にできますか?
オンチェーンで配信するだけではできません。公開されたデータは誰でも閲覧できる可能性があります。プライバシーに配慮したアプリケーションには、開示、アクセス、検証に関する別途の設計が必要です。
リスクに関する注意:ブロックチェーンが正常に稼働している場合でも、オラクルの障害、情報源の操作、統合上のエラーによって損失が発生する可能性があります。本記事は教育目的であり、投資助言ではありません。