ブロックチェーン上のオラクルを理解する

OraclizeブログからのThomas Bertaniの記事の翻訳。



この投稿は、オラクルが実際に何であるかについての議論であり、この問題に関するいくつかの一般的な誤解についても話します。



オラクルはサードパーティです。自分で抽出したくない(またはできない)データが必要な場合は、オラクルと通信します。 これには多くの理由があります。



一方では、マルチ署名ビットコイントランザクションに署名するとき、単一のオブジェクトを信頼することはできません。 たとえば、特定の条件下でのみ一部の資金を移動する必要があります。 自分でそれを行う(外部の当事者に保証を与えない)か、第三者に委任する(誤った動作をする可能性があるため、信頼したくない)代わりに、マルチ署名によりトランザクション確認プロセスをさまざまな当事者(オラクル)に分離します。トランザクション。



N-of-Mのマルチ署名トランザクションを使用する方法は、各Oracleが1つの秘密キーのみを持ち、必要と判断したときに一度に1つの署名しか配置できないことですが、トランザクション自体は有効で、N-of -Mオラクルは、どのトランザクションを通過するかについてコンセンサスを得るでしょう。 選択された神託は競争することができ、詐欺の可能性が低いため、これは外部の当事者のいずれかを信頼するよりもはるかに正しいです。



分散オラクルネットワークを持つという考えは数年前から存在していましたが、オラクル( Orisi )間の通信プロトコルに関するコンセンサスを見つけることは困難です。 オラクルのネットワークに参加しようとする関係者の検索は、より良いインセンティブプロセスと、簡単に相互作用する能力を備えたシンプルで理解可能な設計が必要であるため、さらに難しくなります。これについてはまだ合意がありません。 これらすべてに加えて、データの取得に使用するソースが重要な制限になる場合があります。それらの一部は、外部の許可なしに利用できない場合があるためです(これについては後で詳しく説明します)。



スマートコントラクト(Ethereum)について話している場合、ここではまったく異なります。トランザクション確認のロジックは、独自のスマートコントラクトコードを通じてネットワークによって提供されます。 つまり、特定の条件をチェックした後、Oracleは署名せず、代わりに要求したデータを提供します。条件を直接確認でき、トランザクションを開始したり、ステータスを自分で変更したりできます。 ただし、チェーンで実行されているアプリケーション/サービスは独自の閉じた環境に存在するため、外部データを受信するために分散ネットワークに依存することはできません。そのため、外部データを入力するにはオラクルが必要です。



データに対する需要の高まりは、急速に成長している産業の結果であり、したがって、データを見つけ、現実の世界から正しく引き出すことはますます難しくなっています。 ただし、オラクルを使用することについての誤解は、多くの場合、オラクルからどのデータを受け取りたいかについての不十分な理解が原因です。



たとえば、 AugurGnosisなどの予測市場は、将来発生する事実に関する群衆の進化する気分(または知識)の良好で信頼できる指標を提供するように設計されています。 予測市場はしばしばオラクルと呼ばれますが、上記で説明したよりも広く完全に異なる意味です。



議論する価値のあるもう1つの点はこれです。たとえば、引用符のストリームだけをオラクルと呼びたいですか? これは単なるデータソースであり、ほとんどの場合、ブロックチェーンとの接続はありません。 金融機関は、ブルームバーグまたはロイターをオラクルと見なすことがよくありますが、実際にはデータソースとして使用します。 オラクルになるためには、ブロックチェーンとのやり取りのすべての困難を引き受ける必要があり、追加のコストとリソースが必要になるため、これを行うことに興味はありません。 ただし、オラクルは、適切なソースと正しいデータ形式を選択した後、ブルームバーグデータへのアクセスを提供できます。 「オラクル」に見えるが、実際には「データソース」である人々を指すことは、この用語の別の誤用です。



これをよりよく理解するために、3つのオブジェクトを定義できます。





データソースについては、これは探している情報のソースです。たとえば、実際のリクエストに応じて、 Augur (将来のイベント/事実を考慮する場合)、Bloomberg(財務データを検索する場合)、ビットコインブロックチェーン」(アドレス残高、トランザクションデータOP_RETURNまたはその他のブロッキングデータを検索する場合)、 「WolframAlpha」 (Wolfram Alphaで特定の要求に対する回答を検索する場合)または...「Web」 WebデータまたはAPIデータの取得は、データを受信できる最も簡単で一般的な場所です。



クエリとは、選択したデータソースが理解できるアルゴリズムであり、必要なデータを提供します。



Oracle / Oracle Network-これは、データソースへの接続を担当する当事者です。 ここで2つの問題について議論する必要があります。



  1. データソースを信頼する必要があるのはなぜですか? ほとんどの場合、信頼するべきではありません。 データソース全体でコンセンサスを見つけることは、「集中化された」データを使用しながらセキュリティを強化するための良い方法です。



  2. Oracle / Oracle Networkが間違った結果を返した場合はどうなりますか? そして、これは単一のオラクルの代わりにオラクルのコンセンサスを使用して提案するハイライトです。 しかし、待ってください、オラクルがデータを偽造するのを防ぐ他の方法はありませんか? これについて少し話しましょう。



画像



OraclizeのOracleアプローチは異なります。



これは、オラクルとオラクルの拡張ネットワークの間のクロスとして見ることができます。 Oraclizeは潜在的に応答を返すことができますが、選択したデータソースからのデータを変更することはできません



だからこそ、Oraclizeサービスを「証明可能な公正」として扱っています。 これはTLSNotary / pagesignerのおかげで可能です 。 これは、Oracleによって使用されるTLSの変更であり、提供されたデータが実際にこのサーバーが特定の時間に提供したデータであることを示す暗号証拠を提供するために使用されます。 Oraclizeは、この証拠の提供に加えて、 永続的なネットワークを通じて証拠を配布します。IPFS 永続性コンソーシアムの一部でもあるため、当社のシステムは(何らかの理由で)利用できない場合でも利用できる可能性が高くなります。



この検証を自分で行うことができる整合性を検証するためのツールを提供しています。 ここでは、たとえば、クライアント側に接続するイーサリアム用のネットワークモニター (これが非常に難しい理由です)イーサリアムパブリックノードとIPFSゲートウェイ(または必要に応じて自分で)を使用して、Oraclizeトランザクションを見つけ、検証によって信頼性を証明できますそれら。 Oraclizeが正直であることを確認するために、ネットワークを自分で簡単に制御できます。これを行うことを本当にお勧めします。



画像



これは実際にはどういう意味ですか? データを変更すると、誰でもいつでも自動的に瞬時にチェックでき、評判が失われます。 私たちの答えがまだ危険すぎると思われる場合は、作業中のイーサリアムのオープンソースリリースがリリースされるまでお待ちください。 これは、スマートコントラクトコードがそれ自体でTLSNotaryで証明を受け取ることができ、データが無効な場合はOraclizeデータを破棄できることを意味します。



私たちの意見では、Oraclizeサービスは、今日このように機能し、ブロックチェーンとスマートコントラクトに適している「オラクル問題」を解決するための良い妥協案です。 オラクルネットワークを持つことは検閲/ダウンタイムの問題の解決に役立ちますが、単一のオラクルの使用に関連するリスクは、新しいOraclizeアプローチのおかげで劇的に減少します。



All Articles