Chainlinkについて調べてみた

Chainlinkを調べるにあたりChainlink Japanがmediumにあげている公式の和訳記事を読んでみました。

chainlink-japan.medium.com

ブロックチェーンのオラクル問題とは何か?

読んだ記事は以下で
ブロックチェーンのオラクル問題とは何か? - Chainlink Community - Medium
公式の記事は以下になります。
What Is the Blockchain Oracle Problem?

ラクル問題とは

ややこしいけど DataBase のオラクルとは別になります。 ブロックチェーンの合意形成アルゴリズムではデータの改ざんに耐性があり書き込んだない世に対して信頼性が高いが、ブロックチェーンの外部から取得したデータに対して正当性をチェックする仕組みはない。 スマートコントラクトのユースケースの 90%以上は外部との接続が必要で(例えば金融スマートコントラクトでは決済を決定するための市場情報、保険スマートコントラクトでは保険契約の支払いを決定するために IoT やウェブデータ)、ブロックチェーンと外部の世界を接続するために「オラクル」を使用します。

ラクルの要件

出力の機能があるようにオラクルでは外部からのデータ取得だけでなく、外部へのリクエストも必要なことが分かります。

ラクルの問題点

Chainlink が提供するオラクルの API は有料であったりして、全てのノードが同じデータのアクセス権を持っているわけではないということらしい。以下の API3 についての記事を見てみると、これはオラクルの問題というよりもガバナンスが不透明であること、結果としてデータの転売などが起きている Chainlink 側の問題というように感じ、API3 ではそれに対し API プロバイダー自身が独自のノード(Airnode と呼ばれるノード)を簡単に運営できるようにすることを提案している。
bspeak.substack.com

もう一つの問題として、スケーラビリティがある。新しいデータソースをネットワークに追加したり、既存のデータ集計方法を調整したりするたびにネットワーク内のすべてのノードに同意を得てソフトウェアをアップグレードしてもらうために、大規模なソーシャルガバナンスの調整が必要となる。そのためオラクルは主要なブロックチェーンのベースレイヤーに統合するのではなく、ブロックチェーン全体に依存性や制限を生まないよう別個のネットワークとして動作する。

Chainlink 内でのスタンダードかオラクル自体のコミュニティでスタンダードとされているのかわかりませんが、以下のようです。

オープンソース: ブロックチェーンコミュニティがソースの機能やセキュリティ、信頼性を独立して検証し、改善に貢献できる。 External Adapter: あらゆる外部システムや API からデータを取得できる。 分散化: ノードとデータソースのレベルで分散化し、単一の障害点とならないことを保証する。 データ署名: ノードがスマートコントラクトに提供するデータを暗号化して署名し、過去の履歴からパフォーマンスの質を判断できる。 サービスアグリーメント: オラクルサービスの条件とパフォーマンスに対する罰則/報酬を概説した拘束力のあるオンチェーン契約を使用することで、データ要求に対して保証を得られる。 評価システム: 署名付きオンチェーンデータを評価システムに入力することで(成功したジョブや提供元クライアント、応答時間により)ノードを評価できる。 認証サービス: ノードが任意の数の認証を取得することで、ユーザへのセキュリティと信頼性を高める。

Chainlink で実現するスマートコントラクトの 77 のユースケース

読んだ記事は以下で
Chainlinkで実現するスマートコントラクトの77のユースケース | by Chainlink Japan | Chainlink Community | Medium
元記事は以下になります。
77 Smart Contract Use Cases Enabled by Chainlink

公式のブログの方で Chainlink のユースケースとして 77 個もあげられています、大まかに分けたとしても以下の 10 分類でブロックチェーンの外部との連携が必要なものはオラクルが必要なんだということが分かります。

77 全部見るのは無理があるのでいくつか見てみたいと思います。

分散型金融

Chainlink オラクルは、金融商品金融商品を代表する高度なスマートコントラクト、特に為替レート、金利、資産価格、指数などの市場データに基づいて実行されるものを作成する上で重要な役割を果たす。

ステーブルコイン

DeFiDollar オンチェーンの暗号通貨で、分散型メタステーブルコイン(複数のステーブルコインに支えられたステーブルコイン)の一例であり、DUSD を支えるステーブルコインの評価データに Chainlink プライスフィード(sUSD、USDT、DAI、USDC を含む原資産の価格)を使用している。 オフチェーンの暗号通貨は中央集権型のステーブルコインで、銀行口座にある不換紙幣によって支えられている。

先物

dYdX は、永久先物契約のために LINK/USD プライスフィードを使用して、オンチェーン LINK-USD 永久先物契約を稼働させている。Chainlink オラクルを使用することでこれらのプロトコル清算が発生するタイミングを判断し、ネットニュートラルなエクスポージャーを維持するために資金調達レートを動的に設定するためのリアルタイムの価格データへのアクセスを持つことで、プラットフォームの支払能力を確保することができます。

自動化された資産管理

Chainlink を搭載したガス価格オラクルを使用した Ethereum 開発者向けの自動化プロトコルである Gelato があります。ガス価格にリアルタイムでアクセスできるため、ユーザーは特定の取引を実行したい Ethereum のガス価格の条件を指定したり、ガス価格が上がりすぎた場合に自動取引戦略の実行を停止したりできる。 ※ガス価格はイーサリアムの取引手数料で Dos 攻撃への対策になっている。 以下の記事では実際に自動化をしているようです。
recruit.gmo.jp

外部への支払い

多くの企業はバランスシート上に不安定な暗号通貨を保有するリスクを負う余裕がありません。また、優先する不換紙幣のために暗号通貨を取引するという追加的な摩擦も避けたいと考えています。Chainlink は、スマートコントラクトからの出力を外部 API にプッシュする機能により、多種多様な決済サービスを容易にすることができます。

銀行支払い

Chainlink はスマートコントラクトを既存の銀行システムに接続することを可能にし、スマートコントラクトの開発者は消費者の銀行口座やダイレクトデポジットなどの情報やサービスをシームレスに統合することができ、世界的な大手銀行のプロセスを利用することができます。

暗号通貨決済

Chainlink は Ethereum ブロックチェーンからトリガーされた Bitcoin の支払いなど、あらゆるスマートコントラクトプラットフォームが他の任意の分散型台帳上で支払いを行うことを可能にすることで、そのギャップを埋めます。さらに Chainlink のプライスフィードは、送金時や売却時の為替レートを提供するために使用することができ、ユーザーは改ざん防止の方法で公正な市場レートを得ることができます。 最近 PayPal が暗号通貨決済に対応しましたが以下の medium の記事ですが PayPal と Chainlink がパートナーシップを結んだようです。
Extremely bullish for DeFi: PayPal partner cooperates with Chainlink (LINK) | by Titus | The Capital | Medium

ゲームとランダム性

ブロックチェーンゲームの特徴の 1 つは、ブロックチェーンがアイテムの希少性を明確に証明してくれるため、ゲーム内でトークン化されたレアなアイテム(主に NFT として)を生成することができるようです。Chainlink VRF は、安全で証明可能な公正な乱数生成(RNG)のソースであり、ランダム性が改ざんされていないことをユーザーに証明するためのオンチェーン暗号証明を生成します。

乱数の生成はコードの内容が確認可能なブロックチェーンにおいて課題となるようで、安全な乱数生成の手段としてオラクルを使うことが考えられているようです。
#1 Solidity Tutorial & Ethereum Blockchain Programming Course | CryptoZombies
security - How can I securely generate a random number in my smart contract? - Ethereum Stack Exchange

宝くじ

Chainlink は最近コロラド州の宝くじと協力して、ブロックチェーンベースのスマートコントラクトを使用して宝くじを再考するよう開発者に奨励するハッカソンを開始しました。

保険

Chainlink を利用したスマートコントラクトは保険契約をより客観的で平等なモデルへとシフトさせ、データが直接結果を決定し、実行が決定論的で、どちらかの当事者による改ざんがないようなものにします。 保険のユースケースを見てみますと IoT から取得したデータをトリガーとするものが多いようですが、誤作動や故意に作動させた場合も考えられるので信頼性については気になりました。以下の損保総研のパラメトリック保険の現状と課題のレポートでも信頼できる機器・指標で課題とされています。
https://www.sonposoken.or.jp/reports/wp-content/uploads/2019/12/sonposokenreport129_1.pdf

作物保険

Chainlink オラクルを使用して米国海洋大気庁(NOAA)から降雨データセットを取得する、スマートコントラクトベースの気象保険ソリューションである Arbol があります。このデータは、その地域の降雨量に基づいて補償を提供するパラメトリック作物保険契約の決済に使用されます。 Arbol は Chainlink データを通じて企業や農家が気象リスクをヘッジできるようになったと以下の記事を上げています。
arbolmarket.medium.com

航空保険

Chainlink のオラクルを活用してフライトデータを取得し、遅延の有無を確認する分散型の保険プロトコルである Etherisc があります。紛争期間の必要性をなくすことで、被保険者はフライトが遅延した場合直ちに支払いを受けることが保証され、保険会社は手動でのクレーム処理をなくすことでコストを削減することができます。

住宅保険

成長する「スマートホーム」現象は、住宅所有者や緊急サービスに異常事態を自動的に通知するセンサーや高度なセキュリティシステムにつながっています。これらのセンサーは Chainlink オラクルを介してスマートコントラクトに接続し、新しいパラメトリック住宅保険商品を作成することができます。

生命保険

正常なデータを持つスマートコントラクトは紛争の発生やコストを削減し、解決までの時間を短縮するために理想的です。数多くの Web API や外部データベースは死亡証明書、死亡診断書、火葬記録、警察の報告書など、死亡の有無を判断するのに十分なデータを保有しています。Chainlink はこれらのデータを利用して、生命保険契約に記載されている複数の当事者間で自律的に支払いを行ったり、資産を分配したりすることができます。

健康保険

バイオテクノロジーと IoT ウェアラブル(スマートウォッチなど)の無数の進歩により、保険会社は患者の健康データに基づいて健康保険の割引を提供したり、罰則をトリガーにしたりするスマートコントラクトを作成することができます。Chainlink のオラクルはまた、有利な保険料率を維持するために強制的なコンサルテーションの引き金となるデータの異常を発見することもできます。