APIやデータをChainlinkを経由してあらゆるブロックチェーンに簡単に販売する

Chainlink Japan
Chainlink Community
18 min readNov 27, 2020

本記事はChainlinkオフィシャルブログに公開された“Easily Sell Your APIs and Data to Any Blockchain via Chainlink”の和訳です。

Chainlink公式より許可をいただいた上で記事を翻訳・公開しています。

スマートコントラクトは、データ/APIエコノミーと自動化の両方が交差するところで生まれたもので、データ入力に直接基づくマルチパーティプロセスの実行をホストし、自動化するためにブロックチェーンネットワークを安全性の高いインフラとして利用しています。いくつかの例としては、市場データを受信して自動的に決済される金融デリバティブコントラクト、気象データによって直接トリガーされる作物保険の支払い、IoTデータによって出荷物が良好な状態で到着したことが確認された後に自動化される貿易金融銀行の支払いなどが挙げられます。データ駆動型のスマートコントラクトエコノミーの可能性は無限大ですが、一つの固有の問題があります。ブロックチェーンには、外部システムと対話してAPIコールを行う機能が組み込まれていません。オラクル問題と呼ばれることもあります。

Chainlinkはオラクルの問題を克服し、追加のリソースを投入したり、新たなインフラを運用したりすることなく、データプロバイダーが簡単にデータをすべてのブロックチェーンに直接販売することを可能にします。この記事では、データプロバイダがChainlinkソフトウェアとそのオラクルネットワークを利用して、全てのブロックチェーンネットワーク内で利用するデータを迅速に収益化するための二つの方法について説明します。

  1. 既存のAPIを使用して販売する — 既存のビジネスモデルやバックエンドインフラに変更を加えることなく、1時間以内にChainlinkネットワークにデータを販売することができます。
  2. より信頼性の高いデータを提供 — 数時間でChainlinkネットワーク上のノードを立ち上げ、自動化されたブロックチェーンベースのソリューション内でデータの信頼性を高める新しいデータ署名機能を提供することで、より多くのデータを販売することができます。

それぞれの方法を詳しく説明する前に、データベンダーやAPIプロバイダーとスマートコントラクトをつなぐために、なぜオラクルが必要不可欠なのかを簡単に見ていきましょう。

データプロバイダにオラクルが必要な理由

スマートコントラクトは、ブロックチェーン上で実行されるビジネスロジック(xイベントが発生した場合、yアクションを実行)を成文化したもので、その実行は本質的に決定論的であり、その結果は確定的に真であることを意味します。そのため、スマートコントラクトは従来の契約に比べて大きな利点があります。それは、契約が書面通りに実行され、結果が不変であることを保証し、取引相手のリスク、和解の紛争、プロセスの非効率性を軽減します。しかしブロックチェーンはこれらの強力なセキュリティと信頼性の保証を接続性を犠牲にして提供しています。インターネットのないコンピュータと同様に、オラクルのないスマートコントラクトは、保存されているデータや現実世界で発生しているイベントの知識を一切持たない孤立したビジネスロジックです。

オラクルは、ブロックチェーン(オンチェーン)と現実世界(オフチェーン)の架け橋となるセキュアなミドルウェアです。オラクルは、外部データを使用して契約の実行をトリガーしたり、外部システムに出力を送信したりするための手段として、スマートコントラクトがAPIサービスと相互作用することを可能にします。簡単に言えば、オラクルはデータベンダーやAPIプロバイダーがブロックチェーンネットワーク内で使用するための既存のインフラストラクチャを収益化するためのゲートウェイです。オラクルはAPIからデータを取得してブロックチェーンネットワークにポストし、スマートコントラクトから外部システムにメッセージ/命令を送信し、データが正確でごまかしに耐性があることを保証するために様々な検証技術を実行します。

Chainlinkはオラクルのマーケットリーダーとしての地位を確立しており、ChainlinkのPrice Reference Feedsのような分散型オラクルネットワークに力を与える高度に監査されたオープンソースのソフトウェアを提供しています。Chainlinkは高度に汎用化されたブロックチェーンに依存しないソフトウェアであり、任意の外部APIリソースに接続して、任意のブロックチェーン上で任意のスマートコントラクトを提供することができます。つまり、あらゆる市場のデータプロバイダーがChainlinkを通じてブロックチェーンを利用できるようになることを意味しています。

Chainlinkによって全てのブロックチェーンにデータを同時に販売する

金融、保険、ゲーム、国際貿易などのユースケースや、さまざまなスマートコントラクトアプリケーションをサポートするブロックチェーンは何百もあります。データ・プロバイダーとして、これらすべての異なるチェーンを統合することは、時間がかかるだけでなく、インフラストラクチャのプロビジョニングや維持管理とは異なり、コア・サービスに費やすことができる貴重なリソースに負担をかけることになります。ブロックチェーン技術の採用が拡大するにつれ、ブロックチェーンの数は今後も増える一方で、貴重なリソースと開発者の帯域幅をさらに圧迫することになるでしょう。

データプロバイダーは各ブロックチェーンと個別に統合するのではなく、Chainlinkのブロックチェーンミドルウェアに開発作業を委託し、そのオラクルを単一の統合ゲートウェイとして使用してデータをあらゆるチェーンに販売することができます。Chainlinkは、Ethereum、Bitcoin、Hyperledger、Polkadot、Cosmos、Avaなど、主要なブロックチェーンのほとんどですでに確立されています。さらに、Chainlinkは簡単なフレームワークとバウンティプログラムを確立しており、新しいブロックチェーンが誕生し、ユーザーの採用が増えてきたときに素早くオンボードできるようにしています。これにより、既存のデータインフラを現在の主要なブロックチェーンに即座に接続できるだけでなく、データプロバイダーに将来的に普及する可能性のあるブロックチェーンをサポートできる将来性のあるソリューションを提供しています。

シンプルな方法と高度な方法でChainlinkとの統合を実現

すでに確立された拡大したデータ/API経済に新しいインフラを導入する際の課題を知っているため、Chainlinkは、バックエンドの変更やビジネスモデルのオーバーホールを必要とせず、既存のレガシーデータやAPIインフラストラクチャと完全に互換性があるように、初日から設計されています。このアプローチに加えて、既存のデータベンダーやAPIプロバイダーが自社のChainlinkノード(Oracle)を操作することも非常に簡単にでき、製品の提供を拡大し、スマートコントラクトに直接データを販売することも可能にしています。Chainlink Nodeのオペレーターになることで、ユーザーにデータオリジンの保証についての高度なセットを提供し、オンチェーンでの支払いを直接受け入れることができ、結果として収益の増加とデータのセキュリティの強化につながります。

これら2つの非常に補完的なChainlinkの使用方法は、ブロックチェーンを有効にしてデータインフラストラクチャをさらに収益化したい既存のデータベンダーやAPIプロバイダに最大限の柔軟性を提供します。

既存のチェーンリンクネットワークを利用して、データ販売を迅速に開始する

データプロバイダーは既存のAPIを介して、1時間以内にChainlinkネットワークにデータを販売することができます。ノードによるChainlinkネットワークは、データプロバイダーのオンチェーン需要を集約することができ、主要なデータセットに大きな市場需要があることを示し、データプロバイダーはオンチェーンでデータを販売するための初期投資を最小限に抑えることができます。ノードはAPIコールの支払いを米ドルなどの伝統的な不換通貨で行うため、既存のビジネスモデルに変更を加える必要はなく、今日のAPIの他のユーザーと何ら変わりません。GoogleのBigQueryデータセット、CoinGecko、National Oceanic and Atmospheric Administration (NOAA)の気象データなど、Chainlink経由でアクセス可能な高品質のAPIプロバイダーはすでに多数存在します。

Chainlinkは、ノードの実行や暗号通貨の支払い処理などの複雑な作業をすべて抽象化し、データ・プロバイダーは質の高いデータの提供にのみ集中できるようにします。これはスマートコントラクトエコノミー全体にとって大きなメリットであり、データプロバイダーがバックエンドシステムやビジネスモデルを完全に刷新してブロックチェーンとの互換性を持たせることなく、世界中のデータをオンチェーンで利用できるようにするための明確な道筋を提供します。このようなモデルはデータサイクルを加速させ、より多くのスマートコントラクトが開発され、データ駆動型アプリケーションに対するユーザーの需要を生み出します。

データプロバイダーは、Chainlinkネットワークに販売したり、Chainlinkノードを実行してブロックチェーンに直接販売することで、スマートコントラクトエコノミーのためにデータを収益化することができます。

より信頼性の高いデータを販売するためのChainlinkネットワークへの参加

スマートコントラクトの未来を信じ、より多くの収益を得て、この新しいデータ駆動型の市場で強い評価を確立したいと考えているデータベンダーやAPIプロバイダーは、スマートコントラクトに直接署名されたデータ(デジタル署名を使用)を提供する手段として、Chainlinkノードを自分たちで実行することができます。Chainlinkは、初日からこの機能をサポートするように構築されており、すでに主要な暗号通貨取引所Huobi、マーケットデータプロバイダーのKaikoAlpha Vantageなどを含む複数の主要なデータプロバイダーによって実運用で活用されています。

当社の監査済みソフトウェアは操作が非常に簡単で、すぐにセットアップを行い、あらゆるブロックチェーン上のスマートコントラクトへの直接署名されたデータの販売を開始することができます。Chainlink Coreノードソフトウェアを使用して独自のデータに署名することで、ユーザーはデータの出所について強力な保証を得ることができ、システムがそれに依存して大きな価値のある契約の実行を自動化することが可能になります。このような機能がなければ、高価値のユースケースのためやスケールする自動化されたビジネスプロセスを開発することは非常に困難です。

データ署名機能に加えて、Chainlinkを使用するデータベンダーやAPIプロバイダーは、DECOTown CrierMixicleなどのプライバシー保護のためのオラクル技術を含む、Chainlinkネットワークでしか利用できない様々な特殊なオラクルの技術にアクセスすることができます。これらの高度なオラクル技術により、チェーン上やオラクルノード自身にもデータを公開することなく、機密データをスマートコントラクトに直接販売することができます。このようにして機密データや専有データは、通常のプライバシーや著作権侵害の懸念なしに収益化が可能になります。

最高の部分は、データプロバイダがChainlinkノードを素早く立ち上げ、10分以内にスマートコントラクトにデータを販売する準備ができることです。ChainlinkはLinuxやPythonと同じようにオープンソースの技術なので、セットアップに私たちや誰かの許可は必要ありません。ただし、プロセスのサポートが必要な場合は、Discord電話でお気軽にお問い合わせください。

10分間でデータソースのChainlinkノードを立ち上げる

データプロバイダとしてChainlinkネットワークの一部になるべき理由が分かったところで、その方法を紹介しましょう。これはEthereumブロックチェーン上でChainlinkノードを実行するためのセットアップガイドになりますが、Chainlinkはブロックチェーンに依存せず、どのようなチェーンでも動作することができ、日々多くの統合が行われています。

Chainlink Nodeを実行するには、いくつかのシンプルなDevOpsのステップを踏む必要があります。必要なものは

  1. VM またはマシン
  2. postgresのデータベース(10GBあればOK)
  3. Docker
  4. Ethereumウォレット
  5. Ethereumクライアント(これが何なのかわからなくても気にしないでください)

この記事のすべての内容は、Chainlinkのドキュメントに記載されています。より詳細なステップ毎の手順についてはそちらを参照することをお勧めしますが、この記事ではクイックスタートモデルを使用したセットアップ方法を紹介します。

ステップ1: Dockerのインストール

これを行う方法については、お使いのマシンの種類を確認することができます。例えばUbuntuを使っている場合は、次のコードを実行するだけでOKです。

curl -sSL <https://get.docker.com/> | sh
sudo usermod -aG docker $USER
exit
# log in again

ステップ2: .env ファイルの作成

mkdir ~/.chainlink
echo"ROOT=/chainlink
LOG_LEVEL=debug
ETH_CHAIN_ID=1
CHAINLINK_TLS_PORT=0
SECURE_COOKIES=false
GAS_UPDATER_ENABLED=true
ALLOW_ORIGINS=*" > ~/.chainlink/.env

これは、Chainlink ノードを実行するために必要なすべての変数です。

ステップ3: Ethereumクライアントの設定

Ethereumブロックチェーンと対話するためには、ネットワーク上のイベントを読み書きするためのノードが必要です。我々はEthereumノードを実行するか、サードパーティのETHクライアントサービスを利用することができます。今のところは、Fiews.ioを利用します。Fiews.ioは無料で利用でき、Chainlinkノード専用に作られています。キーのためにサインアップして、mainnetに関連付けられたURLを取得し、実行するだけです。

echo "ETH_URL=URL_HERE" >> ~/.chainlink/.env

ステップ4: データベースに接続する

Chainlink ノードを実行するには、postgres データベースを使用する必要があります。接続する最も簡単な方法の一つは、.env ファイルにデータベースの URL を追加することです。この外部データベースは、シームレスなオラクルクライアントの冗長性(信頼性の確保)を可能にし、どのようなクラウドサービス、セルフホスティングマシン、またはそれ以外の場所でもホストすることができます。

echo
"DATABASE_URL=postgresql://$USERNAME:$PASSWORD@$SERVER:$PORT
/$DATABASE" >> ~/.chainlink/.env

ステップ5: Chainlinkノードをスタートさせる

これでChainlinkノードを開始させることができます!

cd ~/.chainlink && docker run -p 6688:6688 -v ~/.chainlink:/chainlink -it --env-file=.env smartcontract/chainlink local n

初回はメールとパスワードの入力を求められますが、その後、http://localhost:6688 にアクセスしてGUIにログインすることができます。

And you’re in! You now have a Chainlink Node running.

これで入れました!Chainlinkノードが起動しています。

Chainlinkノードを実行するための一般的な方法はクラウドで、私たちはその方法をステップバイステップで説明したビデオを提供しています。ここでは、Chainlink Nodeを実行するためのベストプラクティスのいくつかは説明しませんが、データベースに適用されるベストプラクティスはすべてChainlinkノードの実行にも適用されることを知っておいてください。複数の冗長性、高可用性/アップタイム、自動化されたディザスタリカバリなど、ノードが常にオンラインであり、高いパフォーマンスを発揮できるようにする必要があります。

結論

外部APIへのアクセスがブロックチェーンとスマートコントラクトの採用を加速させるキーであることは明らかであり、すでにその傾向は十分に進んでいます。オンチェーンで利用可能なデータが増えれば増えるほど、革新的なスマートコントラクトアプリケーションが構築され、データを販売したりスマートコントラクトを構築したりするためのユーザー層が拡大していきます。このデータサイクルは、数十兆ドル規模の産業に浸透し、スマートコントラクトエコノミーにおける外部データの信頼できるソースとして早期に高い評価を確立したデータプロバイダーに利益をもたらし、その規模と需要は今後も拡大していくでしょう。

Chainlinkはすでにスマートコントラクトエコノミーの巨大なユーザーネットワークを持っているため、データプロバイダーは潜在的な顧客の大規模な市場にアクセスできるだけでなく、機密性が要求されるレベルに関係なく、あらゆるブロックチェーン上でデータ/APIを利用できるようにするためのツールを手に入れることができるようになります。標準化されたスマートコントラクトテンプレートが登場し、開発者はコントラクトロジックやオラクルデザインに関しては、信頼が証明され業界で認められた標準をコピーすることになるでしょう。このように、最も広く採用されているオラクルネットワークのデータプロバイダであることは、他の人が自分のデザインで同じモデルを使用したいと思うように、デフォルトでユーザーベースを迅速に拡大する大きな機会を提供します。

データベンダーやAPIプロバイダーがChainlinkを利用してビジネスモデルを拡大し、将来の分散型経済および社会システムのインフラストラクチャにおいて大きな役割を果たす大きなチャンスがあると考えています。私たちは、お客様が今すぐに接続できるように支援したいと考えています。お気軽にお電話でインテグレーションについてご相談いただいたり、技術的な質問があればDiscordで連絡してください。または、Chainlinkインフラストラクチャのテストと実行方法については、当社のドキュメントを参照してください。

TwitterYouTubeRedditでフォローすることで、最新のChainlinkイベントの情報を得ることができます。

Chainlink日本語リソース

--

--