CompoundのOpen Oracle Systemとは|価格フィードを分散的に提供するオラクル

オラクル

Compoundが価格データを分散的に提供、活用するための価格フィード「Open Oracle System」を発表しました。Compoundが価格オラクルのオープンスタンダードを設定することにより、DeFiプロジェクトをより分散化させることが期待されています。今回はこのOpen Oracle Systemの概要を簡単にご説明します。現在、本プロジェクトのプロトタイプがRinkebyテストネットで稼働している段階で、Coinbase pro、Kraken、Binanceの3社がレポーターとしてデータを公開しています。

※Compoundの使い方は以下の記事をご参照ください。

Compoundプロトコルは清算の閾値や各ユーザーの借入能力を決めるために、他のDeFiプロトコル同様に集権化されたグループまたはエンティティによって維持される価格フィードに依存しています。Compoundの場合、価格フィードオラクルはチームによって維持および選択されており、他のプロジェクトの例としてMakerDAOの価格フィードオラクルの場合は匿名のレポーターのセットによって管理されています。つまりこれら管理主体が存在することがプロジェクトの単一障害点となります。

以下ざっくりとOpen Oracle Systemの特徴を説明していきます。

Open Oracle Systemとは

1.オフチェーン価格データ

Open Oracle内には、取引所やDeFiプロジェクト、アプリケーションなど価格データにアクセスできるレポーターのグループが存在しています。つまり価格データを提供する複数の情報ソースがあるということです。このレポーターは基本的に価格にアクセスできるものであれば誰でもよく、秘密鍵を用いてメッセージ(価格データ)に署名することで一般公開することができます。(公開された全ての価格は、検証のために公開されています)

※Open Oracleリポジトリ(簡単にいうとデータなどの貯蔵庫)には、ウェブエンドポイントを介してこのデータをホストするJavaScript SDKが含まれています。

2.イーサリアムへ価格データをポスティングする

Open Oracle Systemでは、web3接続してガス代を支払えば、誰でも署名されたデータをイーサリアムチェーン上にポスティングすることが可能です。

暗号資産の取引データは正確さはあれど、チェーンにデータを確実にポスティングする技術的能力の不足やインセンティブとなるものが存在しません。Open Oracle Systemでは取引所やDapp提供者などから構成されるレポーターグループが価格データをポスティングできる仕組みを構築しているので、コンソーシアム的なデータフィードとして活用される可能性があります。

3.オンチェーンストレージ

レポーターのタイムスタンプ付き価格データは署名されたデータから元データに変換しなおされてからイーサリアムチェーンに保存されます。※データコントラクトは各レポータから受ける最新の価格情報を保存しています。

4.価格閲覧

価格の閲覧はオンチェーンアプリケーションやユーザーが価格データを要求することで、可能なソースのサブセットが選択されるようになっています。例えばBTC価格などはCoinbaseやKraken、OTCデスクなどから選択されたり、ETH価格であればCoinbaseのほかCompoundやBinanceから選択するというようなイメージです。

これらのデータはストレージコントラクトから読み取り、解析、集計、変換などを行うビューコントラクトによって閲覧可能になります。

また複数のレポーターから得た価格情報は最終的に閲覧の際に中央値、平均値などの価格をフォーマットした形式から選択可能になるようです。※仮にこれら以外の方法を利用したい場合や、この方法だとレポーターを信用できないと判断した場合は、ストレージとロジックを分離させているため、新しいビューコントラクトにアップデートすることも可能