時価総額: $2.6237T -2.13%
ボリューム(24時間): $139.8384B 95.87%
恐怖と貪欲の指数:

44 - 中性

  • 時価総額: $2.6237T -2.13%
  • ボリューム(24時間): $139.8384B 95.87%
  • 恐怖と貪欲の指数:
  • 時価総額: $2.6237T -2.13%
暗号
トピック
暗号化
ニュース
暗号造園
動画
トップクリプトスペディア

言語を選択する

言語を選択する

通貨の選択

暗号
トピック
暗号化
ニュース
暗号造園
動画

Uniswap Price Oracle: 使用方法? (開発者ガイド)

Uniswap price oracles use time-weighted average prices (TWAPs) from cumulative reserve data—developers compute averages over custom windows by subtracting and dividing stored `priceCumulativeLast` values by elapsed time.

2026/04/04 16:40

Uniswap 価格オラクルについて

1. Uniswap 価格オラクルは、瞬間的なスポット価格ではなく、過去のプールリザーブから導出される時間加重平均価格 (TWAP) に依存します。

2. 各オラクルは、ブロックごとに更新される累積価格値を保存するため、開発者はカスタムの時間枠にわたる平均を計算できます。

3. コアメカニズムには、ペアコントラクトからのprice0CumulativeLast変数とprice1CumulativeLast変数の読み取りが含まれます。

4. これらの値は、価格と最後の更新からの経過時間 (秒単位) の合計を表します。

5. 開発者は、 observe()を呼び出すか、2 つのスナップショットの差を手動で計算して、必要な期間にわたる平均価格を導き出す必要があります。

Oracle 監視のセットアップ

1. Oracle の機能がアクティブになる前に、 initialize()を使用してプールを初期化する必要があります。

2. #observe()関数を使用すると、呼び出しごとに最大 512 個の観測値まで、複数の価格ポイントを一度に取得できます。

3. 観測スロットは、512 を法とするインデックスを持つ固定サイズの配列です。各スロットにはタイムスタンプと価格データが保持されます。

4. 開発者は、要求された時間枠が利用可能な最も古い観測の経過期間を超えないようにする必要があります。

5. 要求されたタイムスタンプの観測が存在しない場合、フォールバック ロジックがオフチェーンで実装されていない限り、システムは元に戻ります。

時間加重平均価格の計算

1. TWAP を計算するには、終了時の累積価格から開始時の累積価格を引き、経過秒数で割ります。

2. 式は次のとおりです: (P_end - P_start) / (t_end - t_start) 。ここで、P は累積価格を示し、t はブロックのタイムスタンプを示します。

3. token0/token1 ペアの場合、 price0CumulativeLast はtoken0 ごとの token1 の比率を生成し、 price1CumulativeLastは token1 ごとの token0 を生成します。

4. 固定小数点演算により精度が失われる可能性があります。開発者は中間計算にQ112.112形式を使用する必要があります。

5. オフチェーンの計算では、多くの場合、タイムスタンプのスプーフィングによる操作を防ぐために、オンチェーンのタイムスタンプと同期し、ブロック番号を検証する必要があります。

セキュリティに関する考慮事項と制限事項

1. オラクルは、攻撃者が単一ブロック内でリザーブを操作できるため、十分な時間枠なしで使用された場合、フラッシュ ローン攻撃に対して脆弱になります。

2. 観察期間が短いと、低流動性条件下でのボラティリティの急上昇やフロントランニングの影響を受けやすくなります。

3. 開発者は、ペア コントラクトが正しいバージョンの Uniswap V2 または V3 Oracle インターフェイスを実装していることを確認する必要があります。

4. 再入保護は監視機能に組み込まれていますが、カスタム ラッパーは徹底的に監査されないとリスクを再導入する可能性があります。

5. 古いデータに対するネイティブのエラー処理は存在しません。アプリケーションは、古いスロットを監視する場合、タイムアウトとフォールバックのメカニズムを実装する必要があります。

よくある質問

Q: Uniswap オラクルは、外部呼び出しなしで Solidity スマート コントラクトで直接使用できますか? A: はい、ただし保存された累積値を観察する場合にのみ使用できます。実際の TWAP 計算には時間デルタの計算が必要であり、これにはオフチェーンの前処理またはオンチェーンのタイムスタンプ検証のいずれかが必要です。

Q: 保存されている最も古いスロットよりも古い観測をリクエストした場合はどうなりますか? A: 呼び出し元が循環バッファ範囲内の有効なインデックスを提供しない限り、 observe()関数はTooOldエラーで元に戻ります。

Q: 高価値の DeFi プロトコルに Uniswap V2 オラクルを使用するのは安全ですか? A: 選択した時間枠によって異なります。操作に対する耐性が必要なプロトコルでは、24 時間を超えるウィンドウを使用し、冗長性を確保するために他のデータ ソースと組み合わせる必要があります。

Q: Uniswap V3 オラクルは、使用パターンの点で V2 と大きく異なりますか? A: はい、V3 ではティックベースの価格設定と集中流動性が導入されており、開発者は不均一な時間間隔にわたる累積価格データを解釈する際にアクティブな流動性の範囲を考慮する必要があります。

免責事項:info@kdj.com

提供される情報は取引に関するアドバイスではありません。 kdj.com は、この記事で提供される情報に基づいて行われた投資に対して一切の責任を負いません。暗号通貨は変動性が高いため、十分な調査を行った上で慎重に投資することを強くお勧めします。

このウェブサイトで使用されているコンテンツが著作権を侵害していると思われる場合は、直ちに当社 (info@kdj.com) までご連絡ください。速やかに削除させていただきます。

関連知識

Gate.ioから現物取引記録をエクスポートする方法

Gate.ioから現物取引記録をエクスポートする方法

2026-10-18 03:20:32

Web インターフェイス経由で現物取引記録にアクセスする1. Gate.io アカウントにログインし、スポット取引セクションに移動します。 2. マーケットリストから BTC/USDT や ETH/USDT などの希望の取引ペアを選択します。 3. 取引インターフェイスの右側で、リアルタイムのティッ...

KuCoinで仮想通貨の出金履歴を確認する方法

KuCoinで仮想通貨の出金履歴を確認する方法

2026-10-27 08:49:51

KuCoin Webインターフェイス経由の出金記録へのアクセス1. 検証済みの資格情報を使用して KuCoin アカウントにログインし、2 要素認証が有効になっている場合は完了します。 2. 右上隅に移動してプロフィール アイコンをクリックし、ドロップダウン メニューから [資産] を選択します。 ...

OKX で USDT フレキシブルセービングの APR を確認する方法

OKX で USDT フレキシブルセービングの APR を確認する方法

2026-10-15 22:00:27

OKX Flexible Savings の APR について1. APR は Annual Percentage Rate の略で、複利効果のない USDT 預金の名目年間収益を反映します。 2. OKX は、市場の流動性需要と融資プール全体にわたる資金配分に応じて、APR を固定金利または変動金...

Binance Launchpool トークンの報酬を確認する方法

Binance Launchpool トークンの報酬を確認する方法

2026-10-26 06:19:59

Bitcoin 半減力学1. Bitcoin のプロトコルは、ブロック報酬が約 210,000 ブロックごとに半分になる固定発行スケジュールを強制します。 2. このイベントはおよそ 4 年ごとに発生し、ブロックごとに流通する新しい BTC の数を直接減少させます。 3. マイナーは、2020 年の...

Bitget でトレーダーのコピーをやめる方法

Bitget でトレーダーのコピーをやめる方法

2026-10-16 02:59:36

市場のボラティリティパターン1. Bitcoin の価格変動は、主要なマクロ経済発表中に 24 時間以内に 15% を超えることがよくあります。 2. アルトコイン指数は BTC と比較してより高いベータ係数を示し、流動性ショック時の利益と損失の両方を増幅します。 3. フラッシュクラッシュイベント...

Bybitでコピートレーディングの利益シェアを確認する方法

Bybitでコピートレーディングの利益シェアを確認する方法

2026-10-16 10:19:45

Bitcoin 半減力学1. Bitcoin のプロトコルは、ブロック報酬が約 210,000 ブロックごと、つまり約 4 年ごとに半分になるという固定スケジュールを強制します。 2. 最新の半減期は 2024 年 4 月に発生し、マイナー報酬がブロックあたり 6.25 BTC から 3.125 B...

Gate.ioから現物取引記録をエクスポートする方法

Gate.ioから現物取引記録をエクスポートする方法

2026-10-18 03:20:32

Web インターフェイス経由で現物取引記録にアクセスする1. Gate.io アカウントにログインし、スポット取引セクションに移動します。 2. マーケットリストから BTC/USDT や ETH/USDT などの希望の取引ペアを選択します。 3. 取引インターフェイスの右側で、リアルタイムのティッ...

KuCoinで仮想通貨の出金履歴を確認する方法

KuCoinで仮想通貨の出金履歴を確認する方法

2026-10-27 08:49:51

KuCoin Webインターフェイス経由の出金記録へのアクセス1. 検証済みの資格情報を使用して KuCoin アカウントにログインし、2 要素認証が有効になっている場合は完了します。 2. 右上隅に移動してプロフィール アイコンをクリックし、ドロップダウン メニューから [資産] を選択します。 ...

OKX で USDT フレキシブルセービングの APR を確認する方法

OKX で USDT フレキシブルセービングの APR を確認する方法

2026-10-15 22:00:27

OKX Flexible Savings の APR について1. APR は Annual Percentage Rate の略で、複利効果のない USDT 預金の名目年間収益を反映します。 2. OKX は、市場の流動性需要と融資プール全体にわたる資金配分に応じて、APR を固定金利または変動金...

Binance Launchpool トークンの報酬を確認する方法

Binance Launchpool トークンの報酬を確認する方法

2026-10-26 06:19:59

Bitcoin 半減力学1. Bitcoin のプロトコルは、ブロック報酬が約 210,000 ブロックごとに半分になる固定発行スケジュールを強制します。 2. このイベントはおよそ 4 年ごとに発生し、ブロックごとに流通する新しい BTC の数を直接減少させます。 3. マイナーは、2020 年の...

Bitget でトレーダーのコピーをやめる方法

Bitget でトレーダーのコピーをやめる方法

2026-10-16 02:59:36

市場のボラティリティパターン1. Bitcoin の価格変動は、主要なマクロ経済発表中に 24 時間以内に 15% を超えることがよくあります。 2. アルトコイン指数は BTC と比較してより高いベータ係数を示し、流動性ショック時の利益と損失の両方を増幅します。 3. フラッシュクラッシュイベント...

Bybitでコピートレーディングの利益シェアを確認する方法

Bybitでコピートレーディングの利益シェアを確認する方法

2026-10-16 10:19:45

Bitcoin 半減力学1. Bitcoin のプロトコルは、ブロック報酬が約 210,000 ブロックごと、つまり約 4 年ごとに半分になるという固定スケジュールを強制します。 2. 最新の半減期は 2024 年 4 月に発生し、マイナー報酬がブロックあたり 6.25 BTC から 3.125 B...

すべての記事を見る

User not found or password invalid

Your input is correct