Oraclesとは何か?
Oraclesは、スマートコントラクトにオフチェーンのデータを届けるサービスで、コードが現実の出来事に応答できるようにします。価格情報、天気、試合結果、ランダム性などをブロックチェーンのロジックに直接届ける、信頼できる配達人のような存在です。
Oraclesはブロックチェーンに組み込まれた魔法のボタンではありません。独立したサービスであり、信頼できるものは複数の情報源から取得し、誤ったデータに対する保護を加えます。
Oraclesの仕組み
価格フィードを例にした簡単な説明です。
- ステップ 1:貸付コントラクトが最新のETH価格を要求します。
- ステップ 2:Oracleノードが多数の取引所やデータ提供者から価格を取得し、レポートに署名します。
- ステップ 3:オラクルシステムがオンチェーンに集約した値を投稿します。多くの場合は中央値が使われます。
- ステップ 4:スマートコントラクトがフィードを確認し、あらかじめ定めた閾値と比較します。
- ステップ 5:価格が大きく下落した場合、リスクのあるポジションは 清算 に直面する可能性があり、すべてフィードによって引き起こされます。
これが基本的なサイクルです。Oraclesは取得し、検証し、配信し、そしてコントラクトが動作します。
なぜOraclesが重要か
なぜOraclesに注目するべきか。スマートコントラクトが現実の出来事とやり取りできるようになり、すべての更新を人が逐一監視する必要がなくなるからです。
- 利点:時間を節約し推測を減らす自動処理。例えば即時のローンの健全性チェックやNFT公開のランダム性など。
- 観点:あるシステムは一つのグループが運用する 中央集権型 のものがあり、他は多くのオペレーターに作業を分散します。
- 関連分野:DeFiアプリケーション、予想市場、ゲーム、保険、クロスチェーン通信などで使われます。
Oraclesを評価する際は、データソース、更新頻度、外れ値の扱い、誰がフィードを投稿できるかを確認してください。ドキュメントを軽く目を通すだけで大きく役立ちます。
Oraclesの主な特徴
Oraclesの特徴を一目で:
- 橋渡し:オフチェーンの情報をオンチェーンのコントラクトに移し、場合によっては逆に出すこともあります。
- 集約:優れた設計は多くの情報源を組み合わせ、中央値などの数学的手法で誤データを減らします。
- レイテンシ:取引や貸付では更新速度が重要です。天気やスポーツなどでは更新が遅くても問題になりにくいです。
- 信頼性:多くのOraclesは複数のノードと透明なルールを持つ 分散型 ネットワークとして運用されています。
種類
Oraclesは用途に応じていくつかの形があります:
- 価格:ETH USDやBTC USDのような資産のフィード。
- イベント:試合の結果やフライトの遅延など現実の結果。
- ランダム性:ゲーム、宝くじ、NFT公開のための検証可能なランダム性。
- 計算:タスクが正しく実行されたことを示すオフチェーンの計算証明。
- 出力:メール送信や機器のロック解除などチェーン外でのアクションを引き起こす信号。
- クロスチェーン:異なるブロックチェーン間でデータを移動するメッセージ。
Oraclesは事実を作るわけではありません。情報源が伝える内容を報告するだけです。入力が誤っていたり遅れたりすれば、結果も誤ったり遅れたりします。
例
分散型アプリケーション(dApps) 内の貸出マーケットはOraclesを使ってETH価格を取得し、フィードが動くと担保ルールを調整します。
豆知識
名前の由来は、難しい質問に答えた古代の助言者からきています。ちなみにデータベース大手のOracleはここでは無関係ですが、どちらもデータを重視している点は共通しています。
まとめ
一言で言えば:Oraclesはスマートコントラクトが現実の出来事を把握して応答できるようにし、そのため多くの暗号関連のアイデアが単なるデモから実用に移るのです。
