Facebook・Diemが選択するオラクルソリューションとは
日本語版はこちらからフォローしてください!
この記事には、あらゆるレベルのブロックチェーンの愛好家が、「オラクル」とそれが暗号採用において果たす役割について理解するための情報を詰め込みました。
はじめに
ノンファンジブル・トークン(NFT)が爆発的な普及を遂げており、デジタルアーティストやコミュニティが独自のNFTをミントして販売しており、中にはアーティストに6900万ドルもの価値をもたらしたこともあります。各界の有名人がこぞって、この新しいデジタルアートの波に乗るのも、そう遠いことではないでしょう。
例えば、キム・カーダシアンが自分の特別な写真をNFTとして販売したいと考えたとします。どこでそれを売るのが一番いいのでしょうか?
これはもちろん、彼女のInstagramの2億2800万人のフォロワーに向けたものにするのが最適でしょう。しかし、ここで問題が発生します。Instagramは、彼女がNFTを販売するために必要なインフラを提供していないのです。Instagramは、NFTマーケットプレイスではないため、入札などのオークション情報の収集も、取引も実行することができません。
仮にマーケットプレイスに接続できたとしても、必要なデータを全てInstagramからブロックチェーンに書き込める形式に変換する必要があります。ここでブロックチェーン・オラクルの出番です。オラクルの問題は、この例で挙げたInstagramだけではなく既存のコンテンツ全体の問題なので、「オラクル」は暗号の主流化に向けて重要な役割を果たすということがわかると思います。
ブロックチェーン・オラクルとは?
ブロックチェーン・オラクルとは、ブロックチェーンの「外部にある信頼できるデータ源」のことで、ブロックチェーンが運用するために必要だが、自分では収集できない信頼できる情報を中継するものです。
これを分解すると、DeFi製品を含むほとんどのシステムは、サードパーティのプラットフォームを介して接続されない限り、孤立して動作することになります。ブロックチェーンだけでは、ブロックチェーンの外から信頼できるデータを収集することはできません。このようにして生じるリスクをヘッジするために、DeFi製品のクリエイターはエコシステムを拡大し、信頼できるデータオラクルプロバイダーと提携します。
オラクルは、ブロックチェーンが動作するために必要な外部データを、分散型アプリケーション、ブロックチェーン、マーケットプレイス、クラウドプロバイダー、IoTデバイス、決済システムや企業システムに接続するサービスの総称です。オラクルは、この外部データを収集して送信するほか、データを生成したり、データのソースになったりすることもあります。
別の例として、分散型の取引所を考えてみてください。その取引所のスマートコントラクト自体は、上場しているトークンの正確なレートを把握することができません。これは、外部情報をつなぐためにインターネットへを接続するプロバイダサービスがあり、それがなければ接続できないのと似ています。また、Uberについて考えてみてください。インターネットに接続していない状態でUberを注文でるでしょうか?できませんよね。それは、あなたの携帯電話がUberの中央サーバーから、近くにいるドライバーの場所を教えてもらっているからです。
同じように、分散型の暗号化取引所は、上場しているトークンの正しい現在の為替レートを提供するオラクルに依存しています。オラクルは、信頼性の高い情報の提供者として機能します。キム・カーダシアンが自分の写真をNFTとしてオークションに出した場合、オラクルは、どのユーザーが異なる取引所でキム・カーダシアンのミントNFTにいくらで入札したのかというデータを提供します。そして、アプリケーションは、NFTが取引されているすべての異なる市場に基づいた正確な価格をユーザーに提示します。
再び同じ例を挙げてみましょう。非中央集権的なUberを想像してみてください。衛星にETHノードを搭載し、地理空間データを検証し、Nodleのようなアプリを使ってブルートゥースで接続されたローカルの匿名デバイスを活用してGPSで位置を確認します。これにより、Uberやその他の単一障害点となる中央管理システムに個人情報を提供しなくても、どこに迎えに来ればいいかという情報をドライバーと共有することができます。
単一障害点とは、システムに、そこが故障するとシステム全体が機能しなくなってしまう箇所が存在することを指します。例えば、UberのサーバーやGPSデータのプロバイダーが停止してしまうと、Uberを呼ぶことができなくなってしまいます。今回の分散型の例では、単一障害点が存在しないため、セキュリティは分散型デバイスの冗長性によって実現され、暗号によって協力するインセンティブが与えられています。
オラクルの種類
オラクルの種類には、ソフトウェア、ハードウェア、インバウンド、アウトバウンド、コンセンサスベースのオラクルがあります。それぞれに利点がありますので、それぞれのタイプについて見ていきましょう:
ソフトウェア・オラクル
最も一般的なタイプのオラクルであるソフトウェア・オラクルは、サーバーやデータベースなどの様々なウェブリソースから情報を受け取り、提供されたデータをブロックチェーンに転送します。これにより、情報をリアルタイムで交換し、最小の遅延で更新することができるため、ソフトウェア・オラクルは最も代表的なタイプです。
ハードウェア・オラクル
ブロックチェーンシステムではあまり一般的ではありませんが、ハードウェア・オラクルは、物理的な世界からのデータ、つまりスキャナやセンサーなどのデバイスからデータを受け取り、スマートコントラクトが理解できる言語に変換します。これは、交通、サプライチェーン、その他の種類の追跡に役立ちます。分散型Uberの例では、人工衛星がハードウェアオラクルの一例となります。
コンセンサスベースのオラクル
全ての種類のオラクルの中で最も安全なのが、コンセンサスベースのオラクルであり、複数のソースからデータを集め、処理・検証します。常に信頼できる情報を提供することから、未来のオラクルの形であると考えられています。
インバウンド・オラクルとアウトバウンド・オラクル
インバウンドブロックチェーンオラクルは、その名の通り、外部ソースから情報を受け取り、それをスマートコントラクトに転送します。そして、アウトバウンドのオラクルはその逆を行います。ソフトウェア、ハードウェア、コンセンサスベースに関わらず、全てのオラクルはインバウンドまたはアウトバウンドのいずれかです。
インバウンドのオラクルは、暗号通貨のレートや資本などの情報を管理するために使用します。アウトバウンドのオラクルは通常、スマートコントラクトがコインを分配するときなどに使用されます。報酬を受け取るとき、紛争が起きたとき、その他の取引を完了するときなどです。
オラクルはどのようにして非中央集権的なデータを提供するのか?
スマートコントラクトを実行するために、ブロックチェーンネットワークはオラクルを使用して条件を検証し、スマートコントラクトを完全に実行するために必要な情報を提供しています。様々なオラクルで運用されるネットワークは、ブロックチェーンネットワークが各オラクルからのデータにアクセスして比較し、分散化されたデータストリームが本当に分散化されたものであることを保証するため、さらに多くのセキュリティレイヤーを提供します。ブロックチェーンは、シンプルなAPIを介して外部のオラクルデータに接続します。
分散型Uberの例に戻って、GPSとは何かについて説明します。GPSとは、簡単に言えば、デバイス上の地理空間データを調整するためのプロトコルです。携帯電話、時計、そして今ではサングラスにもGPSトラッカーが搭載されています。しかし、デバイスが示す場所に自分が実際にいることをどうやって信頼するのでしょうか?
現在、Web2アプリは、Google MapsやUberのような単一障害点を信頼することでこれを実現しています。もしGoogle MapsやUberが間違っていたり、何らかの理由で故障したりすると、提供されるデータは不正確なものとなります。Web3では、ORAOのようなオラクルが、Nodleのようなアプリを使って、自分のモバイルデバイスのような分散型ソースをブルートゥースで相互に接続することで、この問題を解決します。あなたの位置は、周囲の他の匿名のデバイスから提供されたコンテキストを使用して、あなたを追跡することができる中央のパーティーにあなたの位置を実際に共有することなく、検証されます。
中央集権型と分散型のオラクルの違いとは?
オラクルはDeFiサービスだけでなく、中央集権型のサービスでも使用されていることに驚かれた方もいらっしゃるのではないでしょうか。主な違いは、中央集権型のオラクルは1つの法人や個人が管理しており、スマートコントラクトの情報を提供する唯一の存在であることです。
1つの情報源だけでは、コントラクトとその有効性がその情報源に完全に依存してしまうため、リスクがあります。つまり、それに対するハッキングは、スマートコントラクトに直接影響を与えることになります。中央のオラクルは単一障害点であり、コントラクトをより脆弱にし、攻撃への耐性を低下させます。
パブリック・ブロックチェーンのような分散型のオアシスは、誰かを信頼する必要性をなくすのではなく、複数の参加者に分散させます。オラクルは、複数の異なる情報源からデータを収集して確認することで、データの信頼性を高めます。
スマートコントラクトは、データの有効性や正確性を判断するために、一度に複数のオラクルに情報を要求します。ブロックチェーンのオラクルは、要求されたデータをスマートコントラクトに送信し、スマートコントラクトがその機能を実行することを確認します。
要約すると、中央集権的なオラクルは、1つのデータソースのみを使用し、単一のセンターによって制御されているため、不正確さや攻撃に対して脆弱です。一方で、分散型オラクルは、複数のソースからデータを要求し、それらを比較することで、より正確で安全なデータを得ることができます。
なぜオラクルが必要なのか?
分散型金融(Defi)は、正確で検証可能なデータに依存しています。融資やデリバティブ、保険、取引などのサービスには、さまざまなデジタル資産の価格に関するデータが必要です。正確なデータがなければ、これらのサービスが使用するスマートコントラクトは適切に実行されません。
例えば、ERC-20トークンの100ドル分をETHで300%の担保率で借りたいとします。その場合、100ドルの融資には300ドルのETHが必要になります。この場合、ブロックチェーン・オラクルを使って、さまざまな暗号化取引所からトークン価格のデータを収集し、1つの正確な価格を提供することになります。どちらかの価格が間違っていると、担保比率も間違ってしまうので、この取引所からの外部データの精度が必要になります。
外部のデータにアクセスできることで、スマートコントラクトや分散型アプリケーションの機能が大きく向上します。また、オラクルは情報源ではなく、単にデータを収集してから提供するものであることを理解しておく必要があります。
ブロックチェーンのオラクルはどのように機能するのか?
まず、オラクルは外部のデータを収集し、それを検証します。このデータは、コインの価値、支払い、またはブロックチェーンネットワークの現在の状態など、スマートコントラクトのあらゆる条件になります。このとき、オラクルの仕事は、正しい情報を選び、それが正しいかどうかを確認することです。例えば、異なる取引プラットフォームからの何十もの引用の中から、現在の暗号通貨のレートを選択します。
そして、オラクルは2つ目の重要な機能に到達します。それは、異なるシステム(ブロックチェーン、分散型アプリケーション、マーケットプレイス、IoTデバイスなど)が相互に作用できるように、そのデータを正しいフォーマットで送信することです。
残念ながら、ブロックチェーンネットワークには、外部との通信機能がありません。しかし、オラクルのおかげで、ブロックチェーンは確実にデータを入力することで通信することができ、その結果、外の世界との互換性を持つことができます。
Pontem Operating System(OS)は、ブロックチェーンと他のネットワークの通信を助けるブリッジです。これをDappに追加することで、開発者はPontem Platformを利用できるようになり、Dappにソフトウェアサービス(SaaS)を追加できるようになります。これらのSaaSは、ORAOのオラクルサービスやPinknodeのノードサービスのようなもので、Polkadot、Ethereum、Diem、そして将来的にはより多くのブロックチェーンのエコシステム内の異なるブロックチェーンのバイトコードをコンパイルすることができます。
オラクルの仕組みを十分に理解するために、例を挙げてみましょう。アリスとジョンが、2020年のワールドシリーズで誰が優勝するかを予想したいとします。アリスはタンパベイ・レイズが勝つと思っていますが、ボブはロサンゼルス・ドジャースが持ち帰ると確信しています。二人は、試合結果に基づいて勝敗を決めるスマートコントラクトを作成します。
スマートコントラクトは外部のデータソースと対話できないため、MLB自体やESPN、さらには試合会場にいた評判の良いファンや審判など、信頼できる組織からのさまざまなオラクルに依存して、必要な情報を提供します。今回の場合は、優勝の結果です。
最後の試合が終わると、オラクルは信頼できるAPIにリクエストを出し、どのチームが勝ったのかを調べ、その情報をスマートコントラクトに転送します。コントラクトは、結果に応じて誰の予測が正しかったかを判断する。オラクルがデータパケットを収集して中継しなければ、スマートコントラクトが人間の手動によるデータ入力なしにこのようなことを行うことはできません。
オラクルの課題は?
オラクルの主な課題は、スマートコントラクトが正しく機能するかどうかをオラクルに直接依存し、オラクルが正しくない場合はスマートコントラクトの結果に影響を与えることです。これはよく「オラクル問題」と呼ばれています。スマートコントラクトは、オラクルが提供するデータに基づいて意思決定を行うため、健全なブロックチェーンエコシステムの鍵となります。
オラクルはパブリックブロックチェーンのコンセンサスに影響を与えないため、セキュリティメカニズムの一部ではありません。しかし、ブロックチェーン上のスマートコントラクトは、オラクルからの情報が正しいかどうかを検証できないという問題があります。この盲目的な信頼は、スマートコントラクトの信頼性の低い実行につながる可能性があります。オラクルが正しくないことばかりではありませんが、これは現在、業界で取り組んでいる問題です。将来的には、分散化と、複数のオラクルやデータプロバイダーを使用することによる冗長性によって、ブラインド・トラストは問題にならないでしょう。
また、ハッキング攻撃は、攻撃者がオラクルとコントラクトの間で転送されるデータにアクセスし、転送されるデータを修正したり改ざんしたりすることで脅威となります。このように、ブロックチェーンを円滑に運用するためには、オラクルが必要である一方で、操作が可能な場所が残されているのです。しかし、オラクルが不正なデータや中間者攻撃などの課題を抱えていても、分散化と複数のオラクル・プロバイダーによる冗長性によって、トンネルの先には光が見えているのです。
最適なオラクルプロバイダー
欠点が生じる可能性があるにもかかわらず、オラクルはデータプロバイダーや多くのブロックチェーンスタートアップにとって不可欠な存在であるため、DeFi分野では依然として高い需要があります。
スマートコントラクトを使用するプロジェクトの多くは、独自のオラクルを開発しています。しかし、彼らも一部のタスクには分散型のソリューションを必要としています。また、サードパーティのオラクルを使用することで、メインの製品に注意を集中させることができます。
世界中で使用されているオラクルを紹介
Chainlinkは、マーケットリーダーとして認知されており、競合とに大きく差をつけている初期のオラクルの一つです。Chainlinkは、Kyber Network、Fulcrum、Opium Network、Synthetixなどの主要な業界リーダーとパートナーシップを結んでおり、他にも数十のプロジェクトがあります。Chainlinkのオラクルは、イーサリアム上で、中央管理下にあるノードの分散型ネットワークとして動作します。オラクルは、複数のソースからデータを受け取り、その情報を特殊なアルゴリズムでチェックして、オラクルへの操作の試みを防ぎます。Chainlinkプロトコルは、事実上、DeFi分野の業界標準となっています。また、Chainlinkはオープンソースのコードを持っているので、ブロックチェーンコミュニティはその安全性や信頼性を独自にチェックすることができ、また変更のための提案をすることもできます。
Band Protocolも分散型のオラクルで、Chainlinkと多くの点で似ています。しかし、ほとんどのイーサリアムのオラクルとは異なり、Cosmos Network上で動作しています。Cosmos Networkは、分散型のWeb 3.0インターネットのバックボーンと考えられる、ブロックチェーンが相互に接続されたシステムです。Band Protocolは、ブロックチェーンへの接続方法も異なります。Chainlinkが外部モジュールを使ってブロックチェーンと通信するのに対し、Band Protocolのソリューションでは、ブロックチェーン同士が直接通信することができます。CosmosやBand Protocolが構築されているTendermint技術の欠点の一つは、オラクルが受信したデータを無条件に信頼してしまうことです。開発者はこの問題を認識しており、近い将来に修正する予定です。
Nest Protocolは、中国のオラクルソリューションで、開発者はバリデータを使って外部データを検証する唯一のオラクルと位置づけています。このプロジェクトは分散化されていて、全ての決済システムは透明性を維持し、コミュニティは情報源の選択に影響力を持っています。現在、Nest Protocolは主に中国市場で使用されており、欧米ではまだ広く受け入れられていません。
Tellorは、分散型アプリケーション(dApps)の業界標準になることを目指している分散型の価格決定のためのオラクルです。データは検証者によって確認され、その際にトークンを受け取りますが、使用された情報に異議があれば、トークンを失うことになります。このプロジェクトは非常に分散化されており、開発者は管理キーを既に放棄しています。
DOS Networkは、そのネットワークの計算能力に大きな注意を払っている分散型のオラクルです。他のプロジェクトと同様に、開発者は、デリバティブ、レンディング、ギャンブル、保険、クラウドコンピューティングなど、さまざまなユースケースや業界にとって理想的なソリューションであると位置づけています。
ORAOは、金融以外のデータを含む一般的なデータをサポートする分散型のオラクルで、金融だけでなく、esportsや気象など、他の多くの産業に対応しています。ORAOが他の分散型オラクルとさらに異なる点は、その評価システムがプロアクティブであることです。機械学習の助けを借りて、提供されたデータは、そのプロバイダーの過去の精度や、他の人が提供したデータと照合されます。こうすることで、悪いデータがそもそも購入者に届けられることはありません。また、ORAOはPolkadotのために作られているので、非常に汎用性があります。つまり、クロスチェーンのサポートがあるので、他の多くのチェーンでもORAOのオラクルを使うことができます。
ご覧のように、オラクルソリューションの開発者の傾向として、より高い透明性と分散化を求めているのがわかります。全体像を見ていただくために、上述したオラクルの主な機能を比較した表を作成しました。
Diemはオラクルを統合するのか?
FacebookやDiem Associationがこの件に関して、未だ何の公式声明も出していませんが、私たちはDiemが様々なブロックチェーンのオラクルと統合されることは必然だと考えています。
しかし、Facebookがどのオラクルを使用することにするかについては推測できません。エコシステム内の企業ネットワーク内の中央集権的なものを選択する可能性が高いです。大規模な組織が提供するものなので、Diemチームにとってはより信頼できるものと思われるかもしれません。しかし、集中管理型のオラクルは一見すると安全に見えますが、実際には簡単にハッキングされる可能性があります。
そのため、Diemのユーザーは、セキュリティを強化するためにサードパーティのサービスを利用することを検討する可能性があります。集中型のオラクルは信頼できる評判の良いものである可能性が高いですが、Diemのセキュリティを補完したいと考えているユーザーにとって、そのようなサービスの良い例がPontem Networkで、Dappsに複数の分散型オラクルへのアクセスを提供しています。こうすることで、DappsはDiemのエコシステムにある中央のオラクルだけに頼る必要がなくなります。分散型のオラクルにアクセスする機能を追加することで、Pontemは冗長性による追加のセキュリティを提供します。
結論
ブロックチェーン技術の世界的な普及は避けられませんが、まずはスマートコントラクトと外部とのコミュニケーションを円滑にする信頼性の高いメカニズムが必要です。特に、FacebookのDiem Blockchainのように、大きな宣伝効果と期待を集めているプロジェクトにとってはいうまでもありません。
オラクルの助けを借りれば、Diemのようなパーミッション・ブロックチェーンであれ、Ethereumのようなパブリックチェーンであれ、あらゆるブロックチェーン上のスマートコントラクトは、それぞれのブロックチェーンの外にあるさまざまなデータに頼ることができ、その能力を大幅に拡大することができます。
分散型オラクルは、ブロックチェーンのエコシステムからリスクを排除し、分散型アプリ(dapps)の新しいユースケースを解き放つことができる防御メカニズムを導入する大きな可能性を秘めています。Pontemは、パブリックとパーミッションのあるブロックチェーンエコシステムを橋渡しし、FacebookのDiemブロックチェーン上で動作するdappsの分散型オラクルサービスを実現していきます。