### 分散型価格オラクルマシンシステム単一障害を避けるために、いくつかのオラクルマシンサービスは分散型設計を採用しています。BTCドル価格を提供するサービスの例として、ある有名なオラクルマシンプラットフォームは、ユーザーにサービスを提供するために31の価格ソースを集約しています。このアグリゲーターの契約ソースコードは、イーサリアムブロックチェーンブラウザで見ることができます。契約内のtransmittersメソッドを呼び出すことで、このアグリゲーターに含まれるすべてのオフチェーンオラクルマシンを確認できます。各チェーン外オラクルマシンは、アグリゲーター内のユーザーからのリクエストに応じて、transmitメソッドを呼び出すことによって価格データを提供できます。これらのチェーン外オラクルマシンは、外部が所有するアカウント(EOA)であり、BTC/USDアグリゲーターに価格データを提供するだけでなく、他のアグリゲーター(、例えばETH/USD)に対しても価格データを提供する可能性があります。チェーン上の契約の処理プロセスは大まかに次のようになります:1. まず、現在の契約の状態を読み取り、一連のチェックを行います。2. チェックが通過したら、いくつかの準備作業を行います。3. 次にecrecover()を使用して各署名データの検証を行い、hash値が_reportで作成されたhashと一致するかどうかを確認します。同時に、署名者の役割がSignerであるかどうかをチェックし、署名の重複性も確認します。4. 最後に、観測値が順番に並んでいるか確認します。ソートされた観測値から中央値medianを選び、medianが上限と下限の2つの閾値を超えないことを確認します。問題がなければ、s_transmissionsに今回のオラクルマシンのanswerを記録します。さらに、answerの検証も行います。ここでは、一連の呼び出しを経て、最終的に特定の価格オラクルマシン契約のvalidateメソッドが呼び出されます。重要なのは、両側のオラクルマシンが提供する価格の偏差が許容範囲内にあるかどうかを比較することです。! チェーンリンク(オラクル解説シリーズのパート2)](https://img-cdn.gateio.im/social/moments-855e7db6fb0607a91a3fa63b51fcc2c9)### フィードレジストリ柔軟性を高め、ガバナンスコストを削減するために、一部のプラットフォームはFeed Registryを導入しました。これはPriceFeedsのアグリゲーターとして理解され、複数のpriceFeedを集約しています。これにより、ユーザーは自分でpriceFeedを設定する必要がなく、Feed Registryを通じて直接価格データを読み取ることができます。! オラクル解説シリーズのチェーンリンク(パート2)](https://img-cdn.gateio.im/social/moments-28d519adb5b491a0596a00eed45731eb)### ウェイ価格メカニズム価格オラクルマシンの価格は通常、複数のレベルのデータ集約を通じて得られ、主にデータソースの集約、ノードオペレーターの集約、オラクルマシンネットワークの集約の3つのレベルが含まれます。最初の価格データは主に主要な中央集権型および分散型取引プラットフォームから得られます。一部の専門データ集約サービスプロバイダーは、これらのプラットフォームから原始価格データを収集し、取引量、流動性、時差などに基づいて加重計算を行って加工統合します。これは第一段階のデータソースの集約です。第2層はノードオペレーターの集約です。各ノードオペレーターはコアソフトウェアを運営し、複数の独立したデータ集約サービスプロバイダーから価格データを取得し、中間値を取って異常値とAPIのダウンタイムを除外します。最後の層は全体のオラクルマシンネットワークの集約であり、一般的な方法は応答ノードの数が設定値に達したときにデータの中央値を取ることです。価格更新は通常、偏差しきい値またはハートビートしきい値のいずれかのトリガーパラメータを満たす必要があります。異なる価格ソースでは、これらの2つのパラメータの値が異なる場合があります。総じて言えば、いくつかの有名なオラクルマシンプラットフォームの価格オラクルは接続が便利で安全性が高いですが、価格更新メカニズムに偏差閾値が存在するため、更新が遅くなり、価格更新にあまり敏感でないアプリケーションに適しています。これがその限界でもあり、すべてのシナリオに適用できるわけではありません。! オラクル解説シリーズのチェーンリンクパート2](https://img-cdn.gateio.im/social/moments-cec5b2c5581a3e9abce8f2d60b1980b1)
分散型価格オラクルマシンシステム: マルチレイヤーアグリゲーションとフィードレジストリ最適化
分散型価格オラクルマシンシステム
単一障害を避けるために、いくつかのオラクルマシンサービスは分散型設計を採用しています。BTCドル価格を提供するサービスの例として、ある有名なオラクルマシンプラットフォームは、ユーザーにサービスを提供するために31の価格ソースを集約しています。
このアグリゲーターの契約ソースコードは、イーサリアムブロックチェーンブラウザで見ることができます。契約内のtransmittersメソッドを呼び出すことで、このアグリゲーターに含まれるすべてのオフチェーンオラクルマシンを確認できます。
各チェーン外オラクルマシンは、アグリゲーター内のユーザーからのリクエストに応じて、transmitメソッドを呼び出すことによって価格データを提供できます。これらのチェーン外オラクルマシンは、外部が所有するアカウント(EOA)であり、BTC/USDアグリゲーターに価格データを提供するだけでなく、他のアグリゲーター(、例えばETH/USD)に対しても価格データを提供する可能性があります。
チェーン上の契約の処理プロセスは大まかに次のようになります:
まず、現在の契約の状態を読み取り、一連のチェックを行います。
チェックが通過したら、いくつかの準備作業を行います。
次にecrecover()を使用して各署名データの検証を行い、hash値が_reportで作成されたhashと一致するかどうかを確認します。同時に、署名者の役割がSignerであるかどうかをチェックし、署名の重複性も確認します。
最後に、観測値が順番に並んでいるか確認します。ソートされた観測値から中央値medianを選び、medianが上限と下限の2つの閾値を超えないことを確認します。問題がなければ、s_transmissionsに今回のオラクルマシンのanswerを記録します。さらに、answerの検証も行います。
ここでは、一連の呼び出しを経て、最終的に特定の価格オラクルマシン契約のvalidateメソッドが呼び出されます。重要なのは、両側のオラクルマシンが提供する価格の偏差が許容範囲内にあるかどうかを比較することです。
! チェーンリンク(オラクル解説シリーズのパート2)](https://img-cdn.gateio.im/webp-social/moments-855e7db6fb0607a91a3fa63b51fcc2c9.webp)
フィードレジストリ
柔軟性を高め、ガバナンスコストを削減するために、一部のプラットフォームはFeed Registryを導入しました。これはPriceFeedsのアグリゲーターとして理解され、複数のpriceFeedを集約しています。これにより、ユーザーは自分でpriceFeedを設定する必要がなく、Feed Registryを通じて直接価格データを読み取ることができます。
! オラクル解説シリーズのチェーンリンク(パート2)](https://img-cdn.gateio.im/webp-social/moments-28d519adb5b491a0596a00eed45731eb.webp)
ウェイ価格メカニズム
価格オラクルマシンの価格は通常、複数のレベルのデータ集約を通じて得られ、主にデータソースの集約、ノードオペレーターの集約、オラクルマシンネットワークの集約の3つのレベルが含まれます。
最初の価格データは主に主要な中央集権型および分散型取引プラットフォームから得られます。一部の専門データ集約サービスプロバイダーは、これらのプラットフォームから原始価格データを収集し、取引量、流動性、時差などに基づいて加重計算を行って加工統合します。これは第一段階のデータソースの集約です。
第2層はノードオペレーターの集約です。各ノードオペレーターはコアソフトウェアを運営し、複数の独立したデータ集約サービスプロバイダーから価格データを取得し、中間値を取って異常値とAPIのダウンタイムを除外します。
最後の層は全体のオラクルマシンネットワークの集約であり、一般的な方法は応答ノードの数が設定値に達したときにデータの中央値を取ることです。
価格更新は通常、偏差しきい値またはハートビートしきい値のいずれかのトリガーパラメータを満たす必要があります。異なる価格ソースでは、これらの2つのパラメータの値が異なる場合があります。
総じて言えば、いくつかの有名なオラクルマシンプラットフォームの価格オラクルは接続が便利で安全性が高いですが、価格更新メカニズムに偏差閾値が存在するため、更新が遅くなり、価格更新にあまり敏感でないアプリケーションに適しています。これがその限界でもあり、すべてのシナリオに適用できるわけではありません。
! オラクル解説シリーズのチェーンリンクパート2](https://img-cdn.gateio.im/webp-social/moments-cec5b2c5581a3e9abce8f2d60b1980b1.webp)