Web 1、Web 2、Web 3 と、ネットワークとデータの状態は常に変化します。 Web1 は当初、静的にデータを読み込むことしかできない Web サービスでしたが、Web2 段階に発展すると、データの読み書き、参加が可能になりました。多くの大企業は、独自のサービスに基づいてビジネス帝国を構築しており、すべてのユーザー データを独自のデータベースに保存し、必要に応じてユーザー データを実際に所有および変更できます。この場合、私たちがインターネットや仮想世界で作成したデータには何らかの価値がある場合があるという疑問が生じますが、その価値は誰のものなのでしょうか?このような背景を踏まえ、Web 3 段階ではこの問題をうまく解決できることを期待しています。 Web3ステージのすべてのデータはサーバーやノードに存在するのではなく、分散型のネットワークを持ち、分散型ネットワークは複数のノードから構成されるマルチブックシステムです。データは複数のノードに保存され、各ノードがデータの変更と保存に同意した場合にのみ、最終的なデータを保存できます。そうすれば、データにどのような変更を加えたいとしても、事前に合意されたコンセンサスに従ってデータを変更する必要があるという利点が得られます。たとえば、ウォレットの残高を変更したい場合、誰も私に送金してくれなければ、データの所有者がどのように変更したいとしても、最終的にはコンセンサスプロセスに失敗し、ウォレットの残高を変更できなくなります。データの所有者がルールに準拠したトランザクションを送信した場合にのみ、データを最終的に変更できるため、非常に明白な利点が得られます。同時にデメリットもいくつかありますが、最大のデメリットはシステムが決定論的になってしまうことです。つまり、プロセス全体で合意プロセスが存在するため、他の人が検証できる操作のみを実行できます。オペレーションを送信すると、他のノードがそのオペレーションを実行する必要があり、他のノードがオペレーションを正常に実行すると、実際に結果を返すことができます。 50% を超えるか 70% を超えるかについては、コンセンサス アルゴリズムによって異なります。最終的に、操作をトランザクションに書き込むことができ、トランザクションをブロックに書き込んで完全なトランザクションにすることができます。
しかし、API データの取得やブロックチェーンの外部での乱数の生成など、非決定的な操作を行う必要がある場合、決定的なブロックチェーン システムを完成させることはできません。宝くじの抽選では乱数を生成する必要があります。あるいは、オンチェーン プロトコルは株式や商品の価格の取得など、チェーン外の資産価格を知る必要がありますが、これは非決定的な操作であり、ブロックチェーン自体では完了できません。 。もう 1 つの例は API 呼び出しです。私がネットワーク内のノードとして外部 API データを呼び出し、その結果をネットワーク内の他のノードに伝えると、結果の信頼性を検証するために他のノードもそれを実行します。同じ操作を行って結果を取得します。ただし、外部 API の場合、異なる人が異なるタイミングで同じ API を取得すると、サーバーがハングアップしたり、サービスが一時停止されたり、時間の経過とともにデータが変化したりする可能性があります。同じことを異なるタイミングで実行しても、得られる結果には一貫性がありません。結果が矛盾している限り、最終操作をブロックに入れることはできず、それを完了する方法はありません。データの所有権を取得した後は、データがもたらすいくつかの欠点にも耐える必要があります。
この問題を解決するには、オラクルに頼る必要があります。ブロックチェーンは孤立した決定論的なシステムであり、オフチェーンから積極的にデータを取得することができず、この問題を解決するのがオラクルマシンの登場です。 2~3年前にオラクルマシンという概念が登場しましたが、当時は適用できるシナリオが少なく、大きな制約がありました。例えば、何らかの市場データを取得したいとき、株式データをブロックチェーンネットワークにアップロードするとき、またはロジックをチェーンに乗せて実行する仕組みを作りますが、資産側はチェーンに乗せて、取引の正常な進行を保護する現時点では、一部のデータをチェーンから取得する必要があり、銀行支払いや小売データ、さらには気象条件や地理的データなどのその他の公開イベント データなどのデータ同期を定期的に実行する必要があります。情報、物流情報、スポーツ情報など 試合結果など これらのデータはオラクルマシンがなければ取得できません。これにより、チェーン上の生態系は非常に限定的になります。 Web 3 エコシステムの継続的な発展により、Web 3 と Web 2 の 2 つの世界間のつながりはますます緊密になります。 Web3 を大規模に採用したり、より多くの人に使用してもらいたい場合は、チェーン上の元のデータを通じてのみ実行できる一部の操作に限定されるのではなく、非常に豊富な機能を提供する必要があります。
次に、2 番目の特徴的なサービスである Any API を紹介します。簡単に言うと、チェーン上のスマート コントラクトがロングテール データなどの非標準データを取得するのに役立ちます。これらのデータは特定の人または特定の契約のみが利用できる場合がありますが、トークン価格や資産価格のような標準データではありません。多くの DApps は非標準データを必要とします。たとえば、Web 3 保険ビジネス アプリケーションでは、気象データや飛行機の遅延データを取得する必要があります。たとえば、温室効果ガスは、選挙スポーツゲームを予測市場と組み合わせるなど、ESG と同様のプロジェクトを実行できます。 Any APIをベースとしたデータマーケットを提供しています 各データマーケットには、独自のデータをもとに外部サービスを提供する様々なデータプロバイダーが存在しており、ユーザーがリクエストを送信する限り、ユーザー契約に応じてデータをユーザー契約に書き戻すことができますサービス要件。データの提供者と受信者の両方が市場によって決定されます。ユーザーとデータプロバイダーには市場があり、Chainlink は公式にすべてのデータを独占してチェーンにデータを提供するわけではありません。
Any API と価格フィードのワークフローは実際には非常に一貫しており、コントラクトが最初にリクエストを送信し、次にそのリクエストが Chanlink ノードによって検出されます。発見後、Chanlink はリクエストに従って必要なデータを選択し、それをブロックチェーンに書き戻すことができます。 AnyAPIは様々なデータをユーザーに提供することができますが、比較的早く構築できるものの、単一ノードで提供されるという特徴があります。 AnyAPI が実現したいのは、前述した分散型ネットワークのオラクル マシンを介してデータを取得するのではなく、シンプルな方法でできるだけ早くデータを取得することです。
Chainlink エンジニア: オラクルが Web2 と Web3 を接続する方法
講演: フランク、Chainlink Labs デベロッパー リレーションズ エンジニア
整理:aididiaojp.eth,Foresight News
私は、Chainlink Labs のデベロッパー リレーションズ エンジニアである Frank です。私の主な仕事は、この業界に情熱を注ぐより多くの開発者やビルダーがオラクル マシンについてもっと学べるようにすることです。現在のインフラストラクチャのスマート コントラクトに基づいて、それをハイブリッド スマート コントラクトと考えることができます。スマート コントラクトは、コンピューティング サービスを含む Web2 世界のさまざまなデータとより密接に統合でき、このアーキテクチャに基づいて、チェーン上のスマート コントラクトができることは大幅に拡張されます。
今日の共有では、まずオラクル マシンの概念を紹介し、次にオラクル マシンの概念に基づいて、分散型オラクル マシン ネットワークと、データ サービスやコンピューティング サービスなど、当社が提供できるいくつかのサービスを簡単に紹介します。
オラクルとは何ですか?
Web 1、Web 2、Web 3 と、ネットワークとデータの状態は常に変化します。 Web1 は当初、静的にデータを読み込むことしかできない Web サービスでしたが、Web2 段階に発展すると、データの読み書き、参加が可能になりました。多くの大企業は、独自のサービスに基づいてビジネス帝国を構築しており、すべてのユーザー データを独自のデータベースに保存し、必要に応じてユーザー データを実際に所有および変更できます。この場合、私たちがインターネットや仮想世界で作成したデータには何らかの価値がある場合があるという疑問が生じますが、その価値は誰のものなのでしょうか?このような背景を踏まえ、Web 3 段階ではこの問題をうまく解決できることを期待しています。 Web3ステージのすべてのデータはサーバーやノードに存在するのではなく、分散型のネットワークを持ち、分散型ネットワークは複数のノードから構成されるマルチブックシステムです。データは複数のノードに保存され、各ノードがデータの変更と保存に同意した場合にのみ、最終的なデータを保存できます。そうすれば、データにどのような変更を加えたいとしても、事前に合意されたコンセンサスに従ってデータを変更する必要があるという利点が得られます。たとえば、ウォレットの残高を変更したい場合、誰も私に送金してくれなければ、データの所有者がどのように変更したいとしても、最終的にはコンセンサスプロセスに失敗し、ウォレットの残高を変更できなくなります。データの所有者がルールに準拠したトランザクションを送信した場合にのみ、データを最終的に変更できるため、非常に明白な利点が得られます。同時にデメリットもいくつかありますが、最大のデメリットはシステムが決定論的になってしまうことです。つまり、プロセス全体で合意プロセスが存在するため、他の人が検証できる操作のみを実行できます。オペレーションを送信すると、他のノードがそのオペレーションを実行する必要があり、他のノードがオペレーションを正常に実行すると、実際に結果を返すことができます。 50% を超えるか 70% を超えるかについては、コンセンサス アルゴリズムによって異なります。最終的に、操作をトランザクションに書き込むことができ、トランザクションをブロックに書き込んで完全なトランザクションにすることができます。
しかし、API データの取得やブロックチェーンの外部での乱数の生成など、非決定的な操作を行う必要がある場合、決定的なブロックチェーン システムを完成させることはできません。宝くじの抽選では乱数を生成する必要があります。あるいは、オンチェーン プロトコルは株式や商品の価格の取得など、チェーン外の資産価格を知る必要がありますが、これは非決定的な操作であり、ブロックチェーン自体では完了できません。 。もう 1 つの例は API 呼び出しです。私がネットワーク内のノードとして外部 API データを呼び出し、その結果をネットワーク内の他のノードに伝えると、結果の信頼性を検証するために他のノードもそれを実行します。同じ操作を行って結果を取得します。ただし、外部 API の場合、異なる人が異なるタイミングで同じ API を取得すると、サーバーがハングアップしたり、サービスが一時停止されたり、時間の経過とともにデータが変化したりする可能性があります。同じことを異なるタイミングで実行しても、得られる結果には一貫性がありません。結果が矛盾している限り、最終操作をブロックに入れることはできず、それを完了する方法はありません。データの所有権を取得した後は、データがもたらすいくつかの欠点にも耐える必要があります。
この問題を解決するには、オラクルに頼る必要があります。ブロックチェーンは孤立した決定論的なシステムであり、オフチェーンから積極的にデータを取得することができず、この問題を解決するのがオラクルマシンの登場です。 2~3年前にオラクルマシンという概念が登場しましたが、当時は適用できるシナリオが少なく、大きな制約がありました。例えば、何らかの市場データを取得したいとき、株式データをブロックチェーンネットワークにアップロードするとき、またはロジックをチェーンに乗せて実行する仕組みを作りますが、資産側はチェーンに乗せて、取引の正常な進行を保護する現時点では、一部のデータをチェーンから取得する必要があり、銀行支払いや小売データ、さらには気象条件や地理的データなどのその他の公開イベント データなどのデータ同期を定期的に実行する必要があります。情報、物流情報、スポーツ情報など 試合結果など これらのデータはオラクルマシンがなければ取得できません。これにより、チェーン上の生態系は非常に限定的になります。 Web 3 エコシステムの継続的な発展により、Web 3 と Web 2 の 2 つの世界間のつながりはますます緊密になります。 Web3 を大規模に採用したり、より多くの人に使用してもらいたい場合は、チェーン上の元のデータを通じてのみ実行できる一部の操作に限定されるのではなく、非常に豊富な機能を提供する必要があります。
オラクルマシンはおそらく DeFiSummer だった 2020 年に人気が出て、ほとんどの人がそれに気づきました。当初、オラクルマシンは非常に単純なことを行っていましたが、たとえば、外部データを取得して分散ネットワーク、つまりブロックチェーンにアップロードしたい場合、最も簡単な方法は、チェーンの下に集中ノードを確立することです。つまり、サーバーを構築し、サーバーを通じてデータを取得し、最後に重複排除されたブロックチェーン ネットワークにデータを書き込むため、このモデルは集中型オラクルと呼ばれます。実装は比較的簡単ですが、単一障害点のリスク、つまり集中ノード自体の基本的な理由によりダウンタイムが発生する可能性があるなど、いくつかの問題が発生します。もう1つの可能性は、チェーン上のスマートコントラクトによって提供されるサービスが集中ノードによって提供されるデータに依存し、チェーン上のスマートコントラクトに関与する資金の量が非常に大きい場合、この集中オラクルマシンが通過する可能性があることです。サービスに対する攻撃を開始するために操作できる独自のデータ。メリットが十分に大きく、技術的手段で完全性を達成する方法がない限り、これは単一障害点となります。私たちは、イーサリアムやその他のレイヤー 2 エコシステムを含む分散型ネットワークにアプリケーションを配置したいと考えています。実際、アプリケーションの公平性、つまりスマート コントラクトを、数百または数千のオラクル ノードを通じて確保できることも期待しています。ネットワークとセキュリティ。
もちろん、データ端末の取得を集中ノードに依存してしまうと、他の部分のセキュリティは確保できても、最も重要な資産であるデータ端末のセキュリティが確保できなくなってしまい、dApp全体の意味がなくなってしまいます。したがって、集中型のオラクル マシンの次には、分散型のオラクル マシン ネットワークがあり、先ほど述べた単一障害点のリスクを十分に解決できます。分散型オラクル ネットワークの最大の違いは、単一のオラクル ノードが分散型ネットワークにサービスを提供するのではなく、分散型オラクル ネットワークを通じてサービスを提供することです。オラクルネットワークは独自のデータソースを通じてデータを取得でき、結果を取得した後、他の分散ネットワークとデータの集約を実行できます。これは、データにノードが存在するかどうか、またはデータが存在するかどうかの確認を含む、コンセンサスプロセスとしても理解できます。返されたデータが平均値から大きく乖離している場合、または単純に平均値を作成し、データなどを集約して分散ネットワークに書き込みます。この方法によってもたらされる利点の 1 つは、分散型 Oracle ネットワーク内のすべてのノードがサービスを停止しない限り、サービスが中断されないことを技術的に保証できることですが、その可能性は非常に低いです。さらに、データ側では、オラクルによってチェーン上のコントラクトに提供されるデータが単一のノードによって制御されるのではなく、多数のノードによって制御されることも保証できます。データを操作して攻撃を開始したい場合、コストは非常に高くなります。これは、レイヤー 2、またはイーサリアムのような分散型ネットワークを攻撃するのと同じであり、基本的に成功する可能性は低いです。
分散型ネットワークにより、スマート コントラクトによって受信されるデータのセキュリティと公平性が大幅に向上します。ユーザーにとって、私たちは単なる分散型オラクル ネットワークですが、分散型オラクル ネットワークに基づいて、データ サービス、コンピューティング サービス、クロスチェーン サービスなどの他のサービスを提供できます。ネットワークにデータを提供するオラクルマシンに基づいている場合、実際には、オフチェーンでも完了できる、より複雑でコストのかかる操作がいくつかあります。つまり、計算のためにオフチェーンのオラクルネットワークにパッケージ化されます。 、その後、セキュリティ比較の高いブロックチェーンに書き戻されます。オフチェーンからデータを取得できれば、他のチェーンからもデータを取得してこのブロックチェーンに書き込むことができますが、これには実際にはクロスチェーンが含まれます。分散型オラクルネットワークのセキュリティが十分に強力である限り、それに基づくデータサービス、コンピューティングサービス、クロスチェーンサービスのセキュリティを保証できます。 Chainlink は、レイヤー 1 およびレイヤー 2 データを含む Web 3 および Web 2 データを接続できる分散型オラクルに基づいたさまざまなサービスを提供し、誰もが可能な限り多くの対応するデータとサービスを取得できるようにします。
Chainlink オラクルが提供するサービスは何ですか?
次に、Chainlink oraclesが提供するサービスについて簡単に紹介します。もちろん、Chainlink に基づいたサービスは数多くありますが、より適用可能なシナリオを備えたいくつかのサービスを共有します。
将来的にDeFi、GameFi、NFT、SocialFiの分野でイノベーションを起こしたい場合、データを取得するためにオラクルが必要になる可能性が高くなります。なぜなら、非常に分散化された安全な方法でチェーン データを取得し、それをチェーン上のスマート コントラクトに書き戻す必要があるからです。
最初のサービスは価格フィードで、これもよく聞く言葉かもしれませんが、2020年のDeFiSummerで爆発的に普及します。 2020年には、Uniswapから始まり、ローン契約のCompound、そして合成資産プロジェクトのSyntheticsやその他のアプリケーションに至るまで、多くのDeFiプロジェクトが登場しましたが、いずれもオフチェーンデータに対する大きな需要があります。ユーザーは契約を通じてデータを分散的に利用することができますが、その重要な役割をオラクルの価格フィードサービスが担っています。
上の図は、3 つの重要な参加者を含む価格フィード サービスの基本的なフローチャートです。 1 つ目は、先ほど述べたオラクル マシンの分散型ネットワーク、2 つ目は、データ プロバイダー (取引所やその他の大規模な権威機関など) であり、そのすべてがデータ プロバイダーとして機能します。3 つ目は、ユーザー契約です。上図に示すプロセスは非常に単純で、各データプロバイダーはデータソースインターフェイスまたはサービスを通じてChanlinkオラクルネットワークのノードを提供でき、オラクルネットワークの各ノードは独自のサービスに従ってデータを取得することもできます。次に、集約プロセスを通じて、各チャネルによって取得されたデータがチェーン上にデプロイされた検証コントラクトに書き込まれます。検証に合格すると、データが記録され、将来ユーザーが使用できるようになります。これがすべてのプロセスです。クライアントは、コントラクトを使用するだけで複数のデータを取得して使用できます。
先ほど述べた Compound、Uniswap、Synthetics など、価格フィードの使用例は数多くあります。それらは Web2 の資産を Web3 にマッピングする必要があり、資産価格を提供する外部メカニズムが必要です。ステーブルコインと同様に、ステーブルコインをどれだけ多くの資産が発行できるかに基づいており、その資産価格もオラクルマシンに基づいて取得される必要があります。さらに、一部の資産管理プラットフォームや人気のデリバティブ取引アプリケーションと同様、これらは価格に大きく依存しているため、実際にはこれらは価格フィード サービスの重要なユーザーです。トレンドの観点から見ると、価格フィード サービスの需要は急激に増加しています。データ使用量は、それほど活発ではない市場でも増加しています。
次に、2 番目の特徴的なサービスである Any API を紹介します。簡単に言うと、チェーン上のスマート コントラクトがロングテール データなどの非標準データを取得するのに役立ちます。これらのデータは特定の人または特定の契約のみが利用できる場合がありますが、トークン価格や資産価格のような標準データではありません。多くの DApps は非標準データを必要とします。たとえば、Web 3 保険ビジネス アプリケーションでは、気象データや飛行機の遅延データを取得する必要があります。たとえば、温室効果ガスは、選挙スポーツゲームを予測市場と組み合わせるなど、ESG と同様のプロジェクトを実行できます。 Any APIをベースとしたデータマーケットを提供しています 各データマーケットには、独自のデータをもとに外部サービスを提供する様々なデータプロバイダーが存在しており、ユーザーがリクエストを送信する限り、ユーザー契約に応じてデータをユーザー契約に書き戻すことができますサービス要件。データの提供者と受信者の両方が市場によって決定されます。ユーザーとデータプロバイダーには市場があり、Chainlink は公式にすべてのデータを独占してチェーンにデータを提供するわけではありません。
Any API と価格フィードのワークフローは実際には非常に一貫しており、コントラクトが最初にリクエストを送信し、次にそのリクエストが Chanlink ノードによって検出されます。発見後、Chanlink はリクエストに従って必要なデータを選択し、それをブロックチェーンに書き戻すことができます。 AnyAPIは様々なデータをユーザーに提供することができますが、比較的早く構築できるものの、単一ノードで提供されるという特徴があります。 AnyAPI が実現したいのは、前述した分散型ネットワークのオラクル マシンを介してデータを取得するのではなく、シンプルな方法でできるだけ早くデータを取得することです。
その後、データ要件の多様性が高まるにつれて、多くの非標準データも分散された方法でチェーンに書き戻されることが望まれるようになりました。また、今年 4 月初旬に Functions という新しいサービスを作成しましたが、これは簡単に言うと、分散型 Oracle ネットワークを通じてユーザーのリクエストを実行します。ユーザーは Java などの高度なプログラミング言語を使用して動作プログラムを書き出すことができます。もはや Solidity 言語でしか記述できません。Java で記述されたプログラムは確実に Solidity よりも豊富です。 Functions サービスは、作成されたプログラムをリクエストにカプセル化し、Oracle ネットワーク全体に送信できます。ネットワーク内のすべてのノードは、コンピューティング サービス、データ取得サービス、またはその他のサービスなど、同じ操作を実行します。各ノードが実行されて結果を取得した後、先ほど述べた集計プロセスを経て、その結果がスマート コントラクトに書き戻されます。
飼料価格に比べて自由度が非常に高いです。つまり、スマート コントラクトには、必要なメソッドを使用するための外部インターフェイスを与えることができます。また、実行する必要があるロジックの一部をコントラクトに書き込むこともでき、ブロックチェーンではなくオラクル マシンによって実行されます。これは、オラクル マシン サービスをスマート コントラクトに直接埋め込むことと同等であり、ハイブリッドになります。スマートコントラクトの種類。この方法で実行すると、分散ネットワークを通じて実行が保証され、非決定的操作はブロックチェーン上では実行できない操作であり、分散型オラクルマシンを通じて実行できます。ネットワークが実行して結果を返します。 。全体として、スマートコントラクトの機能を大幅に向上させることができます。従来よりもできる機能が豊富になり、クライアント側での適用も非常に簡単で、コントラクトに2つの機能を追加するだけで、分散型オラクルネットワークをスマートネットワークの一部として直接利用できるようになります。契約して利用します。また、実行ロジックは従来のプログラミング言語で完了できるため、従来の Web2 プログラマにとっても非常に使いやすいものです。全体的なプロセスは変更されておらず、リクエストが送信され、次に分散型オラクル ネットワークに送信され、実行後に集約され、最後にユーザーのスマート コントラクトに書き戻されます。
上記は、オラクルマシンと、オラクルマシンに基づく分散ネットワークが提供できるいくつかのサービスについて共有したものです。