Chainlink: uma rede Oracle descentralizada

著 Steve Ellis, Ari Juels and Sergey Nazarov · 2017

概要

このホワイトペーパーでは、元の Chainlink ホワイトペーパーの初期概念を超えた Chainlink の進化のビジョンを明確に示します。 私たちは予測します oracle ネットワークの役割はますます拡大しており、高速性、信頼性、信頼性を提供することで既存および新規の blockchain を補完および強化します。 機密性を維持したユニバーサル接続とオフチェーン計算 smart contract秒。 私たちの計画の基礎となるのは、分散型 Oracle ネットワーク (つまり分散型 Oracle ネットワーク) と呼ばれるものです。 略してDONs。 DON は、Chainlink の委員会によって維持されるネットワークです。 ノード。 目的に選択された無制限の範囲の oracle 関数をサポートします。 委員会による展開。したがって、DON は強力な抽象化レイヤーとして機能します。 smart contracts のインターフェイスを広範なオフチェーン リソースに提供し、 DON 自体内の効率的でありながら分散化されたオフチェーン コンピューティング リソース。 DON を出発点として、Chainlink は 7 つの分野の進歩に注力する予定です 主要分野: • ハイブリッド smart contracts: オンチェーンで安全に構成することで、既存の smart contract 機能を強化するための強力な一般的なフレームワークを提供します。 そして、オフチェーン コンピューティング リソースをハイブリッド smart contract と呼ぶものにします。 • 複雑さを抽象化する: 開発者とユーザーにシンプルなものを提供します。 この機能により、複雑な基盤に精通する必要がなくなります。 プロトコルとシステム境界。 • スケーリング: oracle サービスがレイテンシとスループットを達成できるようにする 高性能の分散システムによって要求されます。 • 機密性: blockchains を組み合わせた次世代システムの実現 本質的な透明性と、機密性の高い新しい強力な機密保護保護 データ。 • トランザクションの注文の公平性: トランザクションの順序付けをさまざまな方法でサポート これはエンドユーザーにとって公平であり、フロントランニング攻撃やその他の攻撃を防ぎます。 ボットと搾取的なマイナー。 • 信頼の最小化: 信頼性の高いサポート層を作成します。 smart contracts およびその他の oracle に依存するシステムは、分散化、高セキュリティ blockchains での強力なアンカーリング、暗号化によるものです。 技術と暗号経済的保証。 • インセンティブベースの (暗号経済) セキュリティ: DON のノードが、十分なリソースを備えた敵に直面しても確実かつ正しく動作するための強力な経済的インセンティブを確保するメカニズムを厳密に設計し、堅牢に展開します。 Chainlink コミュニティによる暫定的および進行中のイノベーションを紹介します これらの各分野で、拡大し、ますます拡大している状況の全体像を提供します。 Chainlink ネットワーク向けに計画されている強力な機能。

Resumo

Neste whitepaper, articulamos uma visão para a evolução do Chainlink além de sua concepção inicial no whitepaper Chainlink original. Nós prevemos um papel cada vez mais expansivo para redes oracle, no qual elas complementam e aprimoram blockchains existentes e novos, fornecendo serviços rápidos, confiáveis e conectividade universal que preserva a confidencialidade e computação fora da cadeia para smart contracts. A base do nosso plano é o que chamamos de Redes Oracle Descentralizadas, ou DONs para abreviar. Um DON é uma rede mantida por um comitê de Chainlink nós. Ele suporta qualquer uma de uma gama ilimitada de funções oracle escolhidas para implantação pelo comitê. Um DON atua, portanto, como uma poderosa camada de abstração, oferecendo interfaces para smart contracts para extensos recursos off-chain e altamente recursos de computação off-chain eficientes, porém descentralizados, dentro do próprio DON. Tendo DONs como trampolim, Chainlink planeja focar em avanços em sete áreas principais: • smart contracts híbridos: oferecendo uma estrutura geral e poderosa para aumentar os recursos smart contract existentes, compondo com segurança na cadeia e recursos de computação fora da cadeia no que chamamos de smart contracts híbridos. • Abstraindo a complexidade: apresentando aos desenvolvedores e usuários soluções simples funcionalidade elimina a necessidade de familiaridade com processos subjacentes complexos protocolos e limites do sistema. • Dimensionamento: garantir que os serviços oracle atinjam as latências e taxas de transferência exigido por sistemas descentralizados de alto desempenho. • Confidencialidade: Habilitando sistemas de próxima geração que combinam blockchains’ transparência inata com novas e fortes proteções de confidencialidade para informações confidenciais dados. • Justiça de pedidos para transações: apoiando o sequenciamento de transações de várias maneiras que sejam justos para os usuários finais e evitem ataques front-running e outros ataques por bots e mineradores exploradores. • Minimização da confiança: criação de uma camada de suporte altamente confiável para smart contracts e outros sistemas dependentes de oracle por meio de descentralização, forte ancoragem em blockchains de alta segurança, criptografia técnicas e garantias criptoeconômicas. • Segurança (criptoeconômica) baseada em incentivos: projetar rigorosamente e implantar mecanismos robustos que garantam que os nós em DONs tenham fortes incentivos econômicos para se comportarem de maneira confiável e correta, mesmo diante de adversários com bons recursos. Apresentamos inovações preliminares e contínuas da comunidade Chainlink em cada uma dessas áreas, fornecendo uma imagem da expansão e cada vez mais recursos poderosos planejados para a rede Chainlink.

導入

Conceptual figure showing how a Decentralized Oracle Network can realize basic oracle functionality by relaying off-chain data to a contract

ブロックチェーン oracle は、現在、次の 1 つの目的を備えた分散型サービスとして見なされていることがよくあります。 オフチェーン リソースから blockchain にデータを転送します。短いステップではありますが、 データの転送から、データの計算、保存、双方向の送信まで。この観察は、oracles の機能についてのより広い概念を正当化します。それもそうだ smart contract の増加し、ますます多面化するサービス要件に対応します oracle ネットワークに依存するテクノロジー。つまり、oracle は次のことを行うことができ、またそうする必要があります。 オンチェーン システムとオフチェーン システムの間の汎用、双方向、コンピューティング対応インターフェイスであること。 blockchain エコシステムにおけるオラクルの役割は、 smart contract のパフォーマンス、機能、相互運用性を向上させ、 さまざまな業界に新しい信頼モデルと透明性をもたらします。この変革は、ハイブリッド smart contract の使用を拡大することによって実現されます。 blockchains の特別なプロパティと、オフチェーン システムの独自の機能を備えた次のような oracle ネットワークを利用することで、オンチェーン システムよりもはるかに大きな到達範囲とパワーを実現します。 孤立して。 このホワイトペーパーでは、Chainlink 2.0 と呼ばれるもののビジョンを明確に示します。これは、元の Chainlink ホワイトペーパー [98] の初期概念を超えた Chainlink の進化です。 oracle ネットワークの役割はますます拡大すると予想されます。 これらは、ハイブリッド向けに高速で信頼性が高く、機密性を保持するユニバーサルな接続と計算機能を提供することにより、既存および新しい blockchain を補完および強化します。 smart contract秒。私たちは、oracle ネットワークが進化してユーティリティになると信じています 高整合性 blockchain グレードのデータを blockchain 以降のシステムにエクスポートするため 生態系。 現在、さまざまなエンティティのセットによって実行される Chainlink ノードが oracle ネットワークに集まり、いわゆるレポートでデータを smart contract に中継します。そのようなものを見ることができます oracle ノードは、古典的なコンセンサス blockchain [72] と同様の委員会として、 ただし、独立した機能を提供するのではなく、既存の blockchain をサポートすることを目的としています。検証可能なランダム関数 (VRF) とオフチェーン レポート機能を搭載 (OCR)、Chainlink は、smart contract が必要とする計算リソースを提供するための汎用フレームワークとインフラストラクチャに向けてすでに進化しています。 高度な機能。 Chainlink 2.0 の計画の基礎となるのは、分散型 Oracle と呼ばれるものです。 ネットワーク、略して DONs。 「oracle ネットワーク」という用語を オリジナルの Chainlink ホワイトペーパー [98]、oracle はさらに豊富な機能を開発し、 応用範囲の広さ。この論文では、以下に従ってこの用語の新たな定義を提供します。 Chainlink エコシステムの将来のビジョンに向けて。このビューでは、DON はネットワークです Chainlink ノードの委員会によって維持されています。コンセンサスプロトコルに基づいており、 によって展開用に選択された無制限の範囲の oracle 関数のいずれかをサポートします。 委員会。したがって、DON は blockchain 抽象化レイヤーとして機能し、インターフェイスを提供します smart contract と他のシステムの両方のリソースをオフチェーンにします。また、 非常に効率的でありながら分散化されたオフチェーン コンピューティング リソースへのアクセス。一般に、 DON はメインチェーンでの操作をサポートします。その目標は、安全かつ柔軟なセキュリティを実現することです。オンチェーンとオフチェーンの計算を組み合わせたハイブリッド smart contracts 外部リソースへの接続。 DON で委員会を利用したとしても、Chainlink 自体は 本質的にパーミッションレスのままです。 DON はパーミッションレスの基盤として機能します ノードが連携してカスタム oracle ネットワークを実装できるフレームワーク ノードを含めるための独自の体制。これは許可されている場合と許可されていない場合があります。 DONs を基盤として、Chainlink 2.0 では 7 つの機能の進歩に重点を置く予定です。 主要領域: ハイブリッド smart contract、複雑さの抽象化、スケーリング、機密性、トランザクションの順序の公平性、信頼の最小化、インセンティブ ベースの (暗号経済) セキュリティ。この論文の紹介では、分散型の概要を紹介します。 セクション 1.1 では Oracle ネットワークについて説明し、セクション 1.2 ではイノベーションの 7 つの主要分野について説明します。この文書の残りの構成についてはセクション 1.3 で説明します。 1.1 分散型 Oracle ネットワーク 分散型 Oracle ネットワークは、機能を強化および拡張するように設計されています。 ターゲット blockchain または関数を介したメイン チェーン上の smart contract の数 ネイティブでは利用できません。彼らは、次の 3 つの基本リソースを提供することでこれを実現します。 コンピューティング システム: ネットワーキング、ストレージ、およびコンピューティング。 DON の目的は、 これらのリソースは、強力な機密性、完全性、および可用性の特性1を備えています。 説明責任も。 DON は、特定の条件を満たすために協力する oracle ノードの委員会によって形成されます。 仕事を続けるか、永続的なサービスを提供するために長期的な関係を築くことを選択します クライアントへ。 DON は、blockchain に依存しない方法で設計されています。彼らは次のように奉仕することを約束します アプリケーション開発者がオフチェーン サポートを作成するための強力で柔軟なツール サポートされているメイン チェーン上の smart contract。 DON の機能は、実行可能ファイルと実行可能ファイルの 2 種類の機能によって実現されます。 アダプター。実行可能ファイルは、DON 上で継続的かつ分散的に実行されるプログラムです。メインチェーン資産を直接保存するわけではありませんが、高いパフォーマンスや機密情報を実行する機能など、重要な利点があります。 計算。実行可能ファイルは DON 上で自律的に実行され、決定論的に実行されます。 操作。これらは、DON を外部リソースにリンクするアダプターと連携して動作します。 実行可能ファイルによって呼び出される可能性があります。私たちが DON 向けに想定しているアダプターは、 本日、Chainlink で外部アダプターが一般化されました。既存のアダプターを使用しながら、 通常、アダプターはデータ ソースからデータをフェッチするだけですが、アダプターは双方向で動作する場合があります。で DON では、DON ノードによる共同計算をさらに利用して、次のことを達成する場合があります。 プライバシーを保護して利用するためのレポートの暗号化などの追加機能 実行可能ファイル。 DON の基本的な動作を理解するために、図 1 に、DON がどのように動作するかを概念的に示します。 DON は、レポートを blockchain に送信するために使用され、従来の既存の oracle 機能を実現できます。 DONs は多くの追加機能を提供しますが、それ以外にも 1 情報セキュリティの「CIA トライアド」 [123、p. 26、§2.3.5]。Chainlink の既存のネットワーク。たとえば、図 1 の一般的な構造内では、 実行可能ファイルは、取得した資産価格データを DON に記録し、そのようなデータを使用して たとえば、レポートの末尾平均を計算します。 図 1: 分散型 Oracle ネットワークが基本的な oracle 機能、つまりオフチェーン データをコントラクトに中継する方法を例として示す概念図。アン 実行可能ファイルはアダプターを使用してオフチェーン データを取得し、そのデータに基づいて計算し、出力を送信します 別のアダプターを介してターゲット blockchain に接続します。 (アダプターは、 DON、小さな青いボックスで表されます。矢印は、このデータ フローの方向を示します。 特定の例。) 実行可能ファイルは、ローカル DON への読み取りと書き込みも可能です。 状態を保持したり、他の実行可能ファイルと通信したりするためのストレージ。ここに示されている DONs の柔軟なネットワーキング、コンピューティング、およびストレージは、さまざまな新しい機能を可能にします。 アプリケーション。 DON の主な利点は、新しい blockchain サービスをブートストラップできることです。 DONs 既存の oracle ネットワークがサービス アプリケーションを迅速に立ち上げることができる手段です それには今日では専用のネットワークの構築が必要になります。いくつか挙げます このようなアプリケーションの例はセクション 4 で説明します。 セクション 3 では、DON について詳しく説明し、その機能について説明します。 開発者とユーザーに提示するインターフェイスの用語。 1.2 7 つの主要な設計目標 ここでは、上で列挙した 7 つの重要な焦点を簡単にレビューします。 Chainlink、つまり:ハイブリッド smart contracts: Chainlink に対する当社のビジョンの中心となるのは、安全性を確保するという考えです。 smart contracts でオンチェーン コンポーネントとオフチェーン コンポーネントを組み合わせます。契約書を参照します このアイデアは、ハイブリッド smart contract またはハイブリッド コントラクトとして実現されます。2 ブロックチェーンは、分散型サービスにおいて 2 つの重要な役割を現在も果たし続けます。 エコシステム: どちらも暗号通貨の所有権が表現される場所です 分散型サービスのための堅牢なアンカー。したがって、スマート コントラクトはチェーン上で表現または実行される必要がありますが、そのオンチェーン機能は大幅に制限されています。純粋に オンチェーンコントラクトコードは遅く、高価で、閉鎖的であり、現実世界の恩恵を受けることができない データと、さまざまな形式の機密計算、安全な (擬似) 乱数の生成など、チェーン上では本質的に実現不可能なさまざまな機能 マイナー / validator 操作などに対して。 したがって、smart contracts がその可能性を最大限に発揮するには、smart contracts が必要です。 オンチェーン部分 (通常、SC で表します) の 2 つの部分で設計されます。 オフチェーン部分、DON 上で実行される実行可能ファイル (通常、これを次のように表します) 実行)。目標は、オンチェーン機能の安全な構成を達成することです。 DON が提供しようとしている多数のオフチェーン サービス。 2 つの部分を合わせて、 ハイブリッド契約を締結します。このアイデアを概念的に図 2 に示します。 Chainlink データ フィードや VRF などのサービス3 により、他の方法では実現できないことが可能になります smart contract アプリケーションは、DeFi から適切に生成された NFT、分散型保険に至るまで、より一般的なフレームワークに向けた最初のステップとして提供されます。 Chainlink サービスとして このホワイトペーパーのビジョンに従って拡張し、よりパフォーマンスを向上させます。 すべての blockchain にわたって smart contract システムのパワーが発揮されます。 このホワイトペーパーの他の 6 つの主要な焦点は、サービス内で機能するとみなされる場合があります。 ハイブリッド契約の最初の最も重要な契約の 1 つです。これらの焦点には、目に見えるものを取り除くことが含まれます ハイブリッド契約による複雑さにより、追加のオフチェーン サービスが作成され、 これまで以上に有能なハイブリッド契約の構築、および信頼の最小化の場合には、ハイブリッド契約によって達成されるセキュリティ特性が強化されます。アイデアは残しておきます ハイブリッド契約は文書の大部分で暗黙的に示されていますが、これらの組み合わせは、 DON を持つ MAINCHAIN ロジックは、ハイブリッド コントラクトとして見なすことができます。 複雑さを抽象化する: DON は、分散型を利用するように設計されています。 複雑になりがちな機構を抽象化することで、開発者とユーザーにとって使いやすいシステムを実現 DONs の強力で柔軟な一連のサービスの背後にあります。 既存の Chainlink サービス すでにこの機能を持っています。 たとえば、Chainlink のデータ フィードは、開発者がプロトコル レベルの詳細 (OCR がユーザー間でコンセンサス レポートを強制する手段など) を気にする必要のないオンチェーン インターフェイスを提供しています。 2オンチェーン/オフチェーンの契約構成という考え方は、これまでさまざまな制約条件の中で生じてきました。 レイヤー 2 システム、TEE ベースの blockchains [80] などのフォームをサポートし、一般化することが私たちの目標です。 これらのアプローチを採用し、オフチェーン データ アクセスやその他の重要な鍵を確実に包含できるようにします oracle サービス。 3Chainlink サービスは、さまざまな分散型サービスと機能で構成されます。 ネットワーク。これらは、さまざまな oracle ネットワークを構成する多数のノード オペレーターによって提供されます。 生態系全体で。図 2: オンチェーン/オフチェーンの契約構成を示す概念図。あ ハイブリッド smart contract 3⃝ 2 つの補完的なコンポーネントで構成されます: オンチェーン blockchain に常駐するコンポーネント SC 1⃝、およびオフチェーン コンポーネント exec 2⃝ DON で実行されます。 DON は 2 つのコンポーネント間のブリッジとしても機能します ハイブリッド コントラクトを Web サービスなどのオフチェーン リソースと接続するなど、 blockchains、分散ストレージなど。 分散されたノードのセット。 DON は、 Chainlink が開発者に提供できるサービス範囲 高レベルのサービスのための合理化されたインターフェイスが付属しています。 セクション 4 では、このアプローチを強調するいくつかの応用例を示します。 たとえば、企業が DONs を安全なミドルウェアの形式として使用して、 レガシー システムを blockchain に接続します。 (セクション 4.2 を参照してください。) この DON の使用により、一般的な blockchain ダイナミクス (手数料、再組織など) の複雑さが抽象化されます。それも 特定の blockchain の機能を抽象化することで、企業は既存のシステムを、ますます拡大する blockchain システムに接続することができます。 これらのシステム、またはより一般的には分散システム開発における専門知識が必要です。 最終的に、私たちの目標は、Chainlink によって達成される抽象度を高めることです。 私たちが分散型メタレイヤーと呼ぶものを実装するところまで。そんな層 すべてのクラスの開発者にとってオンチェーンとオフチェーンの区別が抽象化されます。 と DApps のユーザーにより、分散型サービスのシームレスな作成と使用が可能になります。開発プロセスを簡素化するために、開発者はメタレイヤーで DApp 機能を統合マシン モデルの仮想アプリケーションとして指定できます。彼らはできるだろう 次に、分散メタレイヤー コンパイラーを使用して、DApp を次のように自動的にインスタンス化します。 blockchains、DONs、および 外部サービス。 (これらの外部サービスの 1 つはエンタープライズ システムである可能性があり、メタレイヤーはレガシー エンタープライズ システムに関係するアプリケーションに役立ちます。) コンパイルは、最新のコンパイラーやソフトウェア開発キット (SDK) の仕組みに似ています。 異種ハードウェアの可能性を最大限に活用できるジェネラリスト プログラマーをサポートします。 汎用CPUとGPUなどの専用ハードウェアで構成されるアーキテクチャ、 機械学習アクセラレータ、または信頼されたエンクレーブ。図 3 は、このアイデアを概念的なレベルで示しています。 ハイブリッド smart contract は、このビジョンと、メタ コントラクトと呼ばれる概念への第一歩です。メタコントラクトは、分散型でコーディングされたアプリケーションです。 メタレイヤーに含まれ、オンチェーン ロジック (smart contracts) だけでなく、オフチェーンの計算と、さまざまな blockchain と既存のオフチェーン間の接続も暗黙的に包含されます。 サービス。言語とコンパイラのサポート、新しいセキュリティ モデル、および ただし、異種テクノロジーの概念的および技術的調和は実現可能 真の分散型メタレイヤーの実現は、私たちが長期にわたって目指している野心的な目標です 時間の地平線。それでも、これは、読んでいるときに覚えておくと役立つ理想的なモデルです。 この論文については、ここでは詳しく説明しませんが、今後の作業で焦点を当てていく予定です。 Chainlink。 スケーリング: 進化するデザインにおいて非常に重要な目標は、 Chainlink ネットワークは、blockchain エコシステムの増大するスケーリング ニーズに対応します。 既存のパーミッションレスではネットワークの輻輳が繰り返し問題になる中、 blockchains [86]、新しくてより高性能な blockchain デザインが使用され始めています。 例: [103, 120, 203]、および補完的なレイヤー 2 スケーリング技術 (例: [5, 12、121、141、169、186、187]。 Oracle サービスはレイテンシとスループットを達成する必要があります オンチェーン手数料を最小限に抑えながら、これらのシステムのパフォーマンス要求を満たします 契約事業者も一般ユーザーも同様に(例:ガス料金)。 DON、Chainlink を使用 この機能はさらに進化し、純粋な Web ベースのシステムに十分なパフォーマンスを提供することを目指しています。 DON は、パフォーマンス向上の多くを、blockchain と組み合わせた、高速な委員会ベースまたはパーミッションレスのコンセンサス プロトコルの使用から得ています。 彼らはサポートします。さまざまな構成の多くの DON が並行して実行されることが予想されます。さまざまな DApp とユーザーが、基礎となるコンセンサスの選択におけるトレードオフをナビゲートできる アプリケーション要件に応じて。 DON は、実質的にレイヤー 2 テクノロジーとみなされる場合があります。 私たちは次のことを期待しています 他のサービス、DONs はトランザクション実行フレームワーク (TEF) をサポートします。 DON、つまり oracle と他の高性能製品との効率的な統合が容易になります。 レイヤ 2 システム - 例: rollups、トランザクションをオフチェーンにバンドルして達成するシステム パフォーマンスの向上。 TEF についてはセクション 6 で紹介します。

Conceptual figure showing ideal realization of a decentralized metalayer that abstracts blockchain and DON complexity

図 3: 分散メタレイヤーの理想的な実現を示す概念図。のために 開発が容易なため、開発者は仮想アプリケーションとしてピンク色で強調表示された DApp を指定します。 統合されたマシンモデルでのアプリケーション。分散メタレイヤー コンパイラーは、対応する相互運用機能を自動的に生成します: smart contracts (示されています) SC による)、DONs 上のロジック (exec で示される)、ターゲットの外部サービスに接続するアダプターなど (黄色のハイライトで示されています)。 図 4 は、DON が blockchain (smart contract) スケーリングをどのように改善するかを概念的に示しています トランザクションとoracleレポートの処理をオフチェーンに集中させることで、 チェーン。計算の主な領域におけるこのシフトにより、トランザクションの待ち時間が短縮され、 トランザクションのスループットを向上させながら手数料を削減します。 機密保持: ブロックチェーンは、smart contract とそれが実現するアプリケーションに前例のない透明性を提供します。しかし、透明性と機密性の間には基本的な緊張関係があります。たとえば今日、ユーザーの分散型取引所の取引は、図 4: 分散型 Oracle ネットワークがどのようにネットワークを改善するかを示す概念図 blockchain 対応の smart contract のスケーリング。図A ⃝従来のoracleを示します 建築。トランザクションは、oracle レポートと同様に、blockchain に直接送信されます。 したがって、黄色で強調表示されている blockchain がトランザクション処理の主な場所です。図 B⃝は、blockchain のコントラクトをサポートするための DON の使用を示しています。 DON 実行可能ファイルは、外部システムからのデータとともにトランザクションを処理し、転送します。 結果 (バンドルされたトランザクションやトランザクションの影響による契約状態の変更など) を blockchain に送信します。したがって、黄色で強調表示されている DON がメインです トランザクション処理の場所。 アクションはチェーン上に記録されるため、交換の動作を簡単に監視できますが、 ユーザーの金融取引を一般に公開します。同様に、スマートに中継されるデータ 契約は連鎖的に残ります。これにより、そのようなデータは簡単に監査可能になりますが、次のように機能します。 smart contract に機密情報や機密データを提供したいと考えるデータプロバイダーにとっては阻害要因となります。 独自のデータ。 私たちは、oracle ネットワークが次世代の触媒となる重要な役割を果たすと信じています。 blockchains 本来の透明性と新しい機密保護を組み合わせたシステムです。このペーパーでは、次の 3 つの主なアプローチを使用して、どのようにそれを行うかを示します。 • 機密保持アダプター: 計画的に展開される 2 つのテクノロジー Chainlink のネットワーク、DECO [234] および Town Crier [233] では、oracle ノードが ユーザーのプライバシーとデータを保護する方法でオフチェーン システムからデータを取得する 機密保持。これらは、DON のアダプターの設計において重要な役割を果たします。 (これら 2 つのテクノロジーの詳細については、セクション 3.6.2 を参照してください。) • 機密の計算: DONs は、blockchains に依存しないように単純に計算を隠すことができます。安全なマルチパーティ コンピューティングや信頼できる実行環境を使用すると、DON ノードでの機密性を強化することも可能です。 それ自体が可視性を持たないデータを計算します。

Example comparing standard mining with Fair Sequencing Services showing how FSS prevents transaction reordering

Conceptual diagram of confidentiality-preserving operations in a DON processing sensitive data through adapters

• 機密のレイヤー 2 システムのサポート: TEF は、さまざまなレイヤー 2 システムをサポートするように設計されており、その多くはゼロ知識証明を使用して、 さまざまな形の取引機密保持。 これらのアプローチについてはセクション 3 で説明します (詳細はセクション 6、付録 B.1、および付録 B.2 で説明します)。 図 5 は、機密データが機密性保持アダプターおよび DON での機密計算。 図 5: DON における機密保持オペレーションの概念図 機密データ (黄色で強調表示)。 Web 内の機密ソース データ (黒丸) サーバーは、機密保持アダプター (青色の二重矢印線) を使用して DON に抽出されます。 DON は、これらのアダプターから派生データ (白丸) を受け取ります。 機密情報源に関数または秘密共有などを適用した結果 データ。 DON 上の実行可能ファイルは、派生データに機密計算を適用する可能性があります レポート (二重丸) を作成し、アダプター経由で blockchain に送信します。 私たちは、機密データを扱うための強力なツールによって、あらゆる問題が解決されると信じています。 応用範囲。 その中には、民間の分散型(および集中型)金融、分散型アイデンティティ、クレジットベースのオンチェーン融資、およびより効率的かつ効率的な融資が含まれます。 セクション 4 で説明する、ユーザーフレンドリーな顧客認識プロトコルと認定プロトコル。 トランザクションの注文の公平性: 今日のblockchainのデザインには少し汚れがあります 公然の秘密: これらは一時的に集中化されます。マイナーと validator は取引を注文できます。彼らが選択した行動。トランザクション順序は、ユーザーが次のように操作することもできます。 彼らが支払うネットワーク料金の関数 (例: Ethereum のガソリン価格) 高速ネットワーク接続を利用して、範囲を拡大できます。このような操作により、 たとえば、鉱山労働者などの戦略的主体がフロントランニングの形をとります。 ユーザーのトランザクションを監視し、独自の搾取的なトランザクションを以前のトランザクションに挿入します。 ユーザーの取引に関する事前の知識を利用して、ユーザーから効果的にお金を盗みます。たとえば、ボットが買い注文を出す場合があります。 ユーザーの前に。そして、それによって引き起こされる資産価格の上昇を利用することができます。 ユーザーの取引。 一般ユーザーに害を及ぼす一部のボットによるフロントランニング (高頻度に類似) ウォール街での取引 - 関連するものとして、すでに普及しており、十分に文書化されています [90] バックランニング [159] や [195] を模倣する自動トランザクションなどの攻撃。マイナーによる注文の搾取を体系化するという提案も、最近 [110] で浮上しています。 rollups などのレイヤー 2 テクノロジーは問題を解決するものではなく、単に再集中化するだけです 注文して、rollup を作成するエンティティの手に渡します。 私たちの目標の 1 つは、Chainlink に Fair Sequencing と呼ばれるサービスを導入することです。 サービス (FSS) [137]。 FSS は、smart contract デザイナーが公正な発注を保証するのに役立ちます ユーザー トランザクションや他のタイプのトランザクション (oracle レポート送信など) に対するフロントランニング攻撃、バックランニング攻撃、および関連する攻撃を回避します。 FSS DON は、[144] で導入された順序の公平性の厳密で時間的な概念などのアイデアを実装できるようになります。付随的な利点として、FSS はユーザーのネットワークを低下させることもできます 料金(ガソリン代など)。 簡単に説明すると、FSS では、トランザクションはターゲット smart contract に直接伝播するのではなく、DON を通過します。 DON はトランザクションを注文して転送します。 彼らを契約に結び付けます。 図 6: FSS がどのように役立つかの例。図A ⃝マイナーがその能力をどのように活用するかを示します。 トランザクションの注文権限を集中管理し、トランザクションのペアを交換する場合があります: トランザクション 1⃝ は 2⃝ より前に到着しますが、マイナーは代わりに 2⃝ より後に配列します。対照的に、図 B⃝ は次のようになります。 DON が DON ノード間で注文プロセスをどのように分散化するか。定足数が満たされている場合 正直なノードは 2⃝ の前に 1⃝ を受け取ります。FSS により、チェーン上で 1⃝ が 2⃝ の前に表示されます。 契約で強制可能なシーケンス番号を付加することで、マイナーの並べ替えを防止します。 図 6 は、標準マイニングと FSS を比較しています。標準的なマイニングでどのように行われるかを示しています。トランザクションの順序付けのプロセスはマイナーによって集中化されるため、 到着に応じてペアのトランザクションを並べ替えるなどの操作 回。対照的に、FSS では、プロセスは DON ノード間で分散されます。仮定すると 正直なノードのクォーラムである FSS は、ノードの一時的な順序付けなどのポリシーを強制するのに役立ちます。 トランザクションを保護し、マイナーやその他の組織による操作の機会を減らします。 また、ユーザーはガソリン価格に基づいて優先注文を競う必要がないため、 比較的低いガソリン価格を支払うことができます (DON からのトランザクションはバッチ処理できます) ガスの節約のため)。 信頼の最小化: DONs の設計における一般的な目的は、高度な設計を容易にすることです。 smart contract およびその他の oracle に依存するシステムの信頼できるサポート層 分散化、暗号化ツール、暗号経済的保証によって。 DON 自体は分散化されており、ユーザーは利用可能な DON から選択できます。 追加の DON を操作または生成するメイン チェーンをサポートします。 彼らが信頼するノードの委員会と。 ただし、一部のアプリケーション、特に smart contracts、Chainlink のユーザーは、 DON によってサポートされるメイン チェーンをより信頼できるものとして扱う信頼モデルを好む DON 自体よりも。そのようなユーザーのために、私たちはすでに、または導入する予定の Chainlink ネットワークのアーキテクチャ コントラクトを可能にする多数のメカニズム DONs によって提供されるセキュリティ保証を強化するためにメイン チェーン上で、 同時に、データ ソースが破損する可能性に対する保護も強化します。 DON がデータを取得する Web サーバーなど。 これらのメカニズムについてはセクション 7 で説明します。それらは 5 つの主要な見出しに分類されます。 • データソース認証: データプロバイダーがデジタル署名できるようにするツール データを収集し、それによって、発信元とデータの間の保管連鎖を強化します。 信頼できる契約。 • DON マイノリティ レポート: DON ノードのマイノリティ サブセットによって発行されるフラグ。 DON における大多数の不正行為を観察します。 • ガードレール: 異常な状態を検出して一時停止するメインチェーン上のロジック または契約の実行を停止します(または他の是正措置を講じます)。 • 信頼を最小限に抑えたガバナンス: コミュニティの検査を容易にするための段階的リリースのアップデートの使用と、迅速な対応のための分散型の緊急介入。 システム障害への対応。 • 分散型エンティティ認証: 公開キー基盤 (PKI) を使用して、 Chainlink ネットワーク内のエンティティを識別します。 図 7 は、信頼最小化の目標の概念図を示しています。 インセンティブベースの (暗号経済的) セキュリティ: oracle ノード間でレポート生成を分散化することで、一部のノードが破損した場合でもセキュリティを確保できます。

Conceptual diagram depicting super-linear scaling in Chainlink staking where briber cost grows faster than combined node deposits

Conceptual depiction of Chainlink trust-minimization goal showing DON and data source trust loci

図 7: Chainlink の信頼最小化目標の概念図。 DON および Web などのデータ ソースの正しい動作に対するユーザーのニーズを最小限に抑える サーバー。図内の黄色のハイライトは、信頼最小化遺伝子座、DON および 個別または少数の Web サーバーのセット。ピンクのハイライトはシステムコンポーネントを示します 仮定により非常に信頼できるもの: blockchain と過半数に関する契約 Web サーバーの数、つまり Web サーバーの集合体。 ただし、同様に重要なのは、ノードが正しく動作するための経済的インセンティブを確保することです。ステーキング、つまりノードにリンクとスラッシュのデポジットを提供するよう要求する 不正行為があった場合にこれらの預金を没収することは、Chainlink において重要な役割を果たします。これは、すでに多くの blockchain で使用されている重要なインセンティブ デザインです。 例: [81、103、120、204]。 ただし、Chainlink でのステーキングは、スタンドアロンの staking とは大きく異なります。 blockchain秒。 blockchains へのステーキングは、コンセンサスへの攻撃を防ぐことを目的としています。それは Chainlink の別の目標: 正しい oracle レポートをタイムリーに配信すること。 oracle ネットワーク用に適切に設計された staking システムでは、贈収賄などの攻撃が行われるはずです たとえターゲットが高強度のsmart contractであっても、敵にとって利益はありません。 金銭的価値。 このペーパーでは、3 つのキーを使用した Chainlink の staking への一般的なアプローチを示します。 イノベーション:1. 既存の攻撃では見落とされていた攻撃を包含する強力な敵対的モデル 近づいてきます。一例として、いわゆる「見込贈収賄」が挙げられます。これは次の形式です どのノードが賄賂を受け取るかを条件に基づいて決定する賄賂。 staking メカニズムが選択したノードに事前に保証された賄賂を提供します。 特定の役割に対してランダム(レポートの裁定をトリガーするなど)。 2. 超線形 staking インパクト。非公式には、成功するには、敵対者はすべての oracle のデポジットの合計より $B 大きい予算を持っている必要があることを意味します。 ノード。 より正確には、n の関数として、\(B(n) ≫\)dn が n oracle ノードのネットワークで、それぞれに固定デポジット額 $d が設定されています (より正式には、 \(B(n) is asymptotically larger in n than \)dn)。図 8 に概念図を示します。 この物件。 3. 暗黙的インセンティブ フレームワーク (IIF)、これは当社が考案したインセンティブ モデルです。 明示的な入金を超えた経験的に測定可能なインセンティブを含む staking ノードの将来の手数料機会を含む資金。 IIF は次の概念を拡張します。 明示的なノードデポジットを超えるステーク。 図 8: Chainlink staking におけるスーパーリニア スケーリングを示す概念図。の 敵対者が要求する賄賂 $B(n) は、合計の預金額よりも n 倍の速さで増加します すべての oracle ノードの $dn。 IIF と超線形 staking の影響がどのように連携して引き起こされるのかを示します。 oracle ネットワークの経済安全の好循環を呼び起こします。新規ユーザーが入ってくると

システムにより、Chainlink ノードの実行による将来の潜在的な収益が増加します。 現在および将来のユーザーにとって経済的安全性の限界コストが低下します。の体制で 弾力的な需要により、このコストの減少により、追加のユーザーが ネットワークに接続し、継続的な好循環の中で継続的に導入を継続します。 注: このホワイトペーパーは、Chainlink の進化に関する私たちのビジョンの重要な要素を概説していますが、非公式であり、詳細な技術仕様はほとんど含まれていません。予定しています 進化に応じて、追加の機能とアプローチに焦点を当てた技術文書をリリースします。 さらに、ビジョンの多くの要素が提示されていることを強調することが重要です。 ここ(スケーリングの改善、機密性テクノロジー、FSS など)は可能ですし、そうなるでしょう。 高度な DON が基本機能になる前でも、暫定的な形式で導入されていました。 Chainlink。 1.3 この論文の構成 セクション 2 でセキュリティ モデルと表記法を示し、分散型セキュリティの概要を説明します。 Oracle Network API についてはセクション 3 で説明します。セクション 4 では、さまざまな例を示します。 DON が魅力的な展開プラットフォームを提供するアプリケーション。読者は次のことを行うことができます ここまで読んで、この論文の主要な概念のほとんどを学びましょう。 この文書の残りの部分には、さらなる詳細が記載されています。公平な順序付けについて説明します サービス (FSS) についてはセクション 5 で、トランザクション実行フレームワーク (TEF) についてはセクション 6 で説明します。信頼の最小化に対するアプローチについてはセクション 7 で説明します。 重要な DON 展開要件、つまり機能の増分ロールアウト、動的な台帳メンバーシップ、セクション 8 の説明責任。最後に、セクション 9 で次のことを示します。 インセンティブ設計に対する当社の開発アプローチの概要。セクション 10 で結論を述べます。 この文書の概念についてあまり詳しくない読者を助けるために、 付録 A に用語集を記載しています。DON インターフェイスについてさらに詳しく説明します。 とその機能については付録 B で説明し、アダプタの例を付録 C でいくつか示します。 付録 D では、信頼を最小限に抑えたデータ ソースの暗号化プリミティブについて説明します。 認証は関数署名と呼ばれ、離散化関数署名と呼ばれる新しいバリアントが導入されます。委員会に関するいくつかの考慮事項について議論します 付録 F の DON の選択。

Conceptual figure showing how DONs improve blockchain smart contract scaling by moving computation off-chain

Conceptual figure depicting on-chain and off-chain contract composition in a hybrid smart contract architecture

Introdução

Conceptual figure showing how a Decentralized Oracle Network can realize basic oracle functionality by relaying off-chain data to a contract

Conceptual figure depicting on-chain and off-chain contract composition in a hybrid smart contract architecture

Blockchain oracles são frequentemente vistos hoje como serviços descentralizados com um objetivo: para encaminhar dados de recursos fora da cadeia para blockchains. É um passo curto, porém, desde o encaminhamento de dados até a computação neles, armazenamento ou transmissão bidirecional. Esta observação justifica uma noção muito mais ampla da funcionalidade de oracles. Então também atendem aos crescentes requisitos de serviço de smart contracts e cada vez mais multifacetados tecnologias que dependem de redes oracle. Resumindo, um oracle pode e precisará ser uma interface de uso geral, bidirecional e habilitada para computação entre sistemas onchain e off-chain. O papel dos oráculos no ecossistema blockchain é melhorar o desempenho, funcionalidade e interoperabilidade de smart contracts para que eles possam trazer novos modelos de confiança e transparência para uma multiplicidade de indústrias. Esta transformação ocorrerá através da ampliação do uso de smart contracts híbridos, que fundem Propriedades especiais de blockchains com os recursos exclusivos de sistemas off-chain, como oracle redes e, assim, alcançar muito maior alcance e poder do que os sistemas on-chain isoladamente. Neste whitepaper, articulamos uma visão para o que chamamos de Chainlink 2.0, uma evolução de Chainlink além de sua concepção inicial no whitepaper Chainlink original [98]. Prevemos um papel cada vez mais expansivo para as redes oracle, em que eles complementam e aprimoram blockchains existentes e novos, fornecendo conectividade e computação universais rápidas, confiáveis e que preservam a confidencialidade para sistemas híbridos. smart contracts. Acreditamos que as redes oracle evoluirão até se tornarem serviços públicos para exportar dados de grau blockchain de alta integridade para sistemas além do blockchain ecossistema. Hoje, os nós Chainlink executados por um conjunto diversificado de entidades se reúnem em redes oracle para retransmitir dados para smart contracts no que é conhecido como relatórios. Podemos ver tal oracle nós como um comitê semelhante ao de um consenso clássico blockchain [72], mas com o objetivo de oferecer suporte a blockchains existentes, em vez de fornecer funcionalidade independente. Com funções aleatórias verificáveis (VRF) e relatórios fora da cadeia (OCR), Chainlink já está evoluindo em direção a uma estrutura e infraestrutura de uso geral para fornecer os recursos computacionais que smart contracts exigem para funcionalidade avançada. A base do nosso plano para Chainlink 2.0 é o que chamamos de Oracle Descentralizado Redes, ou DONs, para abreviar. Desde que introduzimos o termo “rede oracle” no white paper original Chainlink [98], oracles desenvolveram funcionalidades cada vez mais ricas e amplitude de aplicação. Neste artigo, oferecemos uma nova definição do termo de acordo com para a nossa visão futura para o ecossistema Chainlink. Nesta visão, um DON é uma rede mantido por um comitê de nós Chainlink. Enraizado num protocolo de consenso, suporta qualquer uma de uma gama ilimitada de funções oracle escolhidas para implantação pelo comitê. Um DON atua, portanto, como uma camada de abstração blockchain, fornecendo interfaces para recursos fora da cadeia para smart contracts e outros sistemas. Também fornece acesso a recursos de computação off-chain altamente eficientes, porém descentralizados. Em geral, a DON suporta operações em uma cadeia principal. Seu objetivo é permitir um acesso seguro e flexi-híbridos smart contracts, que combinam computação on-chain e off-chain com conexão com recursos externos. Ressaltamos que mesmo com a utilização de comitês em DONs, o próprio Chainlink permanece inerentemente sem permissão. DONs atuam como a base de um sistema sem permissão estrutura na qual os nós podem se unir para implementar redes oracle personalizadas com seus próprios regimes para inclusão de nós, que podem ser com ou sem permissão. Com DONs como base, planejamos focar em Chainlink 2.0 em avanços em sete áreas principais: smart contracts híbridos, abstração de complexidade, escalabilidade, confidencialidade, justiça de ordem para transações, minimização de confiança e segurança baseada em incentivos (criptoeconômica). Na introdução deste artigo, apresentamos uma visão geral da Descentralização Oracle Networks na Seção 1.1 e, em seguida, nossas sete principais áreas de inovação na Seção 1.2. Descrevemos a organização do restante deste artigo na Seção 1.3. 1.1 Redes Oracle Descentralizadas As Oracle Networks descentralizadas são projetadas para aprimorar e ampliar os recursos de smart contracts em um alvo blockchain ou cadeia principal por meio de funções que são não está disponível nativamente. Eles fazem isso fornecendo os três recursos básicos encontrados em sistemas de computação: rede, armazenamento e computação. Um DON visa oferecer esses recursos com fortes propriedades de confidencialidade, integridade e disponibilidade,1 como bem como a responsabilização. DONs são formados por comitês de nós oracle que cooperam para cumprir um determinado emprego ou optar por estabelecer um relacionamento duradouro para fornecer serviços persistentes aos clientes. DONs são projetados de maneira agnóstica blockchain. Eles prometem servir como uma ferramenta poderosa e flexível para desenvolvedores de aplicativos criarem suporte fora da cadeia para seus smart contracts em qualquer cadeia principal suportada. Dois tipos de funcionalidades realizam os recursos de um DON: executáveis e adaptadores. Executáveis ​​são programas executados continuamente e de forma descentralizada no DON. Embora não armazenem diretamente ativos da cadeia principal, eles apresentam benefícios importantes, incluindo alto desempenho e a capacidade de realizar operações confidenciais. computação. Os executáveis são executados de forma autônoma em um DON e executam tarefas determinísticas operações. Eles trabalham em conjunto com adaptadores que vinculam o DON a recursos externos e pode ser chamado por executáveis. Adaptadores, como os imaginamos para DONs, são um generalização dos adaptadores externos em Chainlink hoje. Embora os adaptadores existentes normalmente buscam dados apenas de fontes de dados, os adaptadores podem operar bidirecionalmente; em DONs, eles também podem aproveitar a computação conjunta por nós DON para alcançar recursos adicionais, como criptografia de relatórios para consumo com preservação de privacidade por um executável. Para fornecer uma ideia da operação básica de um DON, a Fig. 1 mostra conceitualmente como um DON pode ser usado para enviar relatórios para um blockchain e, assim, obter a funcionalidade oracle tradicional e existente. DONs podem fornecer muitos recursos adicionais, porém, além 1A “tríade da CIA” de segurança da informação [123, p. 26, §2.3.5].Redes existentes de Chainlink. Por exemplo, dentro da estrutura geral da Fig. 1, o executável poderia registrar dados de preços de ativos buscados no DON, usando esses dados para calcular, por exemplo, uma média final para seus relatórios. Figura 1: Figura conceitual mostrando como exemplo como uma Rede Oracle Descentralizada pode realizar a funcionalidade básica oracle, ou seja, retransmitir dados fora da cadeia para um contrato. Um executável usa adaptadores para buscar dados fora da cadeia, nos quais ele computa, enviando saída sobre outro adaptador para um destino blockchain. (Os adaptadores são iniciados pelo código no DON, representado por pequenas caixas azuis; setas mostram a direção do fluxo de dados para este exemplo específico.) O executável também pode ler e gravar em DON local armazenamento para manter o estado e/ou se comunicar com outros executáveis. Rede flexível, computação e armazenamento em DONs, todos representados aqui, permitem uma série de novidades aplicações. Um grande benefício dos DONs é sua capacidade de inicializar novos serviços blockchain. DONs são um veículo pelo qual as redes oracle existentes podem rapidamente suportar aplicações de serviço isso exigiria hoje a criação de redes construídas especificamente. Damos uma série de exemplos de tais aplicações na Seção 4. Na Seção 3, fornecemos mais detalhes sobre DONs, descrevendo suas capacidades em termos da interface que apresentam aos desenvolvedores e usuários. 1.2 Sete objetivos principais de design Aqui revisamos brevemente os sete focos principais enumerados acima para a evolução da Chainlink, a saber:smart contracts híbridos: Central para nossa visão para Chainlink é a ideia de segurança combinando componentes on-chain e off-chain em smart contracts. Referimo-nos a contratos concretizando essa ideia como smart contracts híbridos ou contratos híbridos.2 Blockchains são e continuarão a desempenhar dois papéis críticos no serviço descentralizado ecossistemas: ambos são os locais onde a propriedade de criptomoedas é representada e âncoras robustas para serviços descentralizados. Os contratos inteligentes devem, portanto, ser representados ou executados em cadeia, mas as suas capacidades em cadeia são severamente limitadas. Puramente o código de contrato na cadeia é lento, caro e insular, incapaz de se beneficiar do mundo real dados e uma variedade de funcionalidades que são inerentemente inatingíveis em cadeia, incluindo várias formas de computação confidencial, geração de (pseudo) aleatoriedade segura contra manipulação de mineradores/validator, etc. Para que smart contracts realizem todo o seu potencial, portanto, são necessários smart contracts a ser arquitetado com duas partes: uma parte na cadeia (que normalmente denotamos por SC) e uma parte off-chain, um executável rodando em um DON (que normalmente denotamos por executivo). O objetivo é alcançar uma composição segura de funcionalidade on-chain com o multiplicidade de serviços fora da cadeia que DONs pretendem fornecer. Juntas, as duas partes elaborar um contrato híbrido. Apresentamos a ideia conceitualmente na Fig. 2. Já hoje, Chainlink serviços3 como feeds de dados e VRFs estão possibilitando smart contract aplicações, variando de DeFi a NFTs gerados de forma justa e seguros descentralizados, como primeiros passos em direção a uma estrutura mais geral. Como serviços Chainlink expandir e ter mais desempenho de acordo com nossa visão neste whitepaper, assim como será o poder dos sistemas smart contract em todos os blockchains. Nossos outros seis focos principais neste whitepaper podem ser vistos como atuação no serviço do primeiro, abrangendo um dos contratos híbridos. Esses focos envolvem a remoção de visíveis complexidade de contratos híbridos, criando serviços adicionais fora da cadeia que permitem o construção de contratos híbridos cada vez mais capazes e, no caso da minimização da confiança, reforçando as propriedades de segurança alcançadas pelos contratos híbridos. Deixamos a ideia de contratos híbridos implícitos em grande parte do artigo, mas qualquer combinação de A lógica MAINCHAIN com DON pode ser vista como um contrato híbrido. Abstraindo a complexidade: DONs são projetados para fazer uso de recursos descentralizados sistemas fáceis para desenvolvedores e usuários, abstraindo o maquinário muitas vezes complexo por trás da poderosa e flexível gama de serviços de DONs. Serviços Chainlink existentes já possui esse recurso. Por exemplo, os feeds de dados em Chainlink hoje apresentam interfaces onchain que não exigem que os desenvolvedores se preocupem com detalhes de nível de protocolo, como os meios pelos quais o OCR impõe relatórios de consenso entre um 2A ideia de composição de contrato on-chain/off-chain surgiu anteriormente em vários países restritos. formulários, por exemplo, sistemas de camada 2, blockchains [80] baseados em TEE, etc. Nosso objetivo é apoiar e generalizar essas abordagens e garantir que elas possam abranger o acesso a dados fora da cadeia e outras oracle chaves serviços. 3Chainlink serviços compreendem uma variedade de serviços e funcionalidades descentralizados disponíveis através a rede. Eles são oferecidos por numerosos operadores de nós compostos em várias redes oracle em todo o ecossistema.Figura 2: Figura conceitual que descreve a composição do contrato on-chain/off-chain. Um híbrido smart contract 3⃝consiste em dois componentes complementares: um on-chain componente SC 1⃝, residente em um blockchain, e um componente off-chain exec 2⃝que é executado em um DON. O DON também serve como uma ponte entre os dois componentes como conectar o contrato híbrido com recursos fora da cadeia, como serviços da web, outros blockchains, armazenamento descentralizado, etc. conjunto descentralizado de nós. DONs vão um passo além no sentido de que expandem o gama de serviços para os quais Chainlink pode oferecer aos desenvolvedores uma camada de abstração com acompanhando interfaces simplificadas para serviços de alto nível. Apresentamos vários exemplos de aplicação na Seção 4 que destacam essa abordagem. Imaginamos empresas, por exemplo, usando DONs como uma forma de middleware seguro para conectar seus sistemas legados a blockchains. (Veja a Seção 4.2.) Este uso de DONs abstrai a complexidade da dinâmica geral de blockchain (taxas, reorganizações, etc.). Também abstrai os recursos de blockchains específicos, permitindo assim que as empresas conectem seus sistemas existentes a uma gama cada vez maior de sistemas blockchain sem necessidade de conhecimentos especializados nestes sistemas ou, mais genericamente, no desenvolvimento de sistemas descentralizados. Em última análise, a nossa ambição é aumentar o grau de abstração alcançado por Chainlink a ponto de implementar o que chamamos de metacamada descentralizada. Essa camada abstrairia a distinção on-chain/off-chain para todas as classes de desenvolvedores e usuários de DApps, permitindo a criação e uso contínuo de serviços descentralizados.Para simplificar o processo de desenvolvimento, os desenvolvedores poderiam especificar a funcionalidade DApp na metacamada como uma aplicação virtual em um modelo de máquina unificado. Eles poderiam em seguida, use um compilador de metacamada descentralizado para instanciar o DApp automaticamente como um conjunto de funcionalidades descentralizadas interoperacionais abrangendo blockchains, DONs e serviços externos. (Um desses serviços externos poderia ser um sistema empresarial, tornando a metacamada útil para aplicações que envolvem sistemas empresariais legados.) Tal a compilação é semelhante à forma como os compiladores modernos e os kits de desenvolvimento de software (SDKs) apoiar programadores generalistas no uso de todo o potencial de hardware heterogêneo arquiteturas que consistem em uma CPU de uso geral e hardware especializado como GPUs, aceleradores de aprendizado de máquina ou enclaves confiáveis. A Fig. 3 apresenta esta ideia a nível conceptual. Os smart contracts híbridos são um primeiro passo no caminho para esta visão e para um conceito que chamamos de metacontratos. Metacontratos são aplicações codificadas de forma descentralizada metalayer e abrange implicitamente a lógica on-chain (smart contracts), bem como a computação off-chain e a conectividade entre vários blockchains e off-chain existentes serviços. Dada a necessidade de suporte a linguagens e compiladores, novos modelos de segurança e harmonização conceitual e técnica de tecnologias díspares, no entanto, a realização de uma verdadeira metacamada descentralizada é uma meta ambiciosa à qual aspiramos há muito tempo. horizonte de tempo. No entanto, é um modelo ideal útil para se ter em mente durante a leitura este artigo, não detalhado aqui, mas algo em que planejamos focar em nosso trabalho futuro sobre Chainlink. Dimensionamento: Um objetivo de importância preeminente em nossos projetos em evolução é permitir que o Rede Chainlink para atender às crescentes necessidades de expansão do ecossistema blockchain. Com o congestionamento da rede se tornando um problema recorrente em redes sem permissão existentes blockchains [86], designs blockchain novos e com melhor desempenho estão entrando em uso, por exemplo, [103, 120, 203], bem como tecnologias complementares de escalonamento de camada 2, por exemplo, [5, 12, 121, 141, 169, 186, 187]. Os serviços Oracle devem atingir latências e taxas de transferência que atendem às demandas de desempenho desses sistemas, ao mesmo tempo que minimizam as taxas na rede (por exemplo, custos do gás) tanto para os operadores contratuais como para os utilizadores comuns. Com DONs, Chainlink a funcionalidade visa ir além e oferecer desempenho alto o suficiente para sistemas puramente baseados na web. DONs derivam grande parte de seu ganho de desempenho do uso de protocolos de consenso rápidos, baseados em comitês ou sem permissão, que eles combinam com os blockchains eles apoiam. Esperamos que muitos DONs com configurações diferentes sejam executados em paralelo; diferentes DApps e usuários podem navegar pelas compensações nas escolhas de consenso subjacentes de acordo com seus requisitos de aplicação. DONs podem ser vistos, na verdade, como tecnologias de camada 2. Esperamos que entre outros serviços, DONs suportarão o Transaction Execution Framework (TEF), que facilita a integração eficiente de DONs e, portanto, oracles com outros de alto desempenho sistemas de camada 2 - por exemplo, rollups, sistemas que agrupam transações off-chain para alcançar melhorias de desempenho. Apresentamos o TEF na Seção 6.

Conceptual figure showing ideal realization of a decentralized metalayer that abstracts blockchain and DON complexity

Figura 3: Figura conceitual mostrando a realização ideal de uma metacamada descentralizada. Para facilidade de desenvolvimento, um desenvolvedor especifica um DApp, destacado em rosa, como um virtual aplicação em um modelo de máquina unificado. Um compilador descentralizado de metacamada gera automaticamente funcionalidades de interoperabilidade correspondentes: smart contracts (denotado por SC), lógica (denotada por exec) em DONs, adaptadores conectados a serviços externos de destino e assim por diante, conforme indicado em destaque amarelo. A Figura 4 mostra conceitualmente como DONs melhoram o dimensionamento de blockchain (smart contract) concentrando o processamento de transações e relatórios oracle fora da cadeia, em vez de em cadeia. Esta mudança no locus principal de computação reduz a latência da transação e taxas e, ao mesmo tempo, aumentar o rendimento das transações. Confidencialidade: Blockchains fornecem transparência sem precedentes para smart contracts e para as aplicações que eles realizam. Mas existe uma tensão básica entre transparência e confidencialidade. Hoje, por exemplo, as transações de câmbio descentralizadas dos usuáriosFigura 4: Figura conceitual mostrando como as Redes Oracle Descentralizadas melhoram o dimensionamento de blockchains habilitados para blockchain. Figura A ⃝mostra um oracle convencional arquitetura. As transações são enviadas diretamente para blockchain, assim como os relatórios oracle. Assim o blockchain, destacado em amarelo, é o principal locus de processamento das transações. A Figura B⃝mostra o uso de um DON para apoiar contratos no blockchain. Um DON executável processa transações junto com dados de sistemas externos e encaminha resultados - por exemplo, transações agrupadas ou alterações no estado do contrato resultantes dos efeitos das transações - para blockchain. O DON, destacado em amarelo, é assim o principal locus para processamento de transações. as ações são registradas em cadeia, facilitando o monitoramento do comportamento da bolsa, mas também tornar as transações financeiras dos usuários publicamente visíveis. Da mesma forma, os dados transmitidos para sistemas inteligentes os contratos permanecem em cadeia. Isto torna esses dados convenientemente auditáveis, mas funciona como um desincentivo para provedores de dados que desejam fornecer smart contracts informações confidenciais ou dados proprietários. Acreditamos que as redes oracle desempenharão um papel fundamental na catalisação da próxima geração sistemas que combinam a transparência inata de blockchains com novas proteções de confidencialidade. Neste artigo, mostramos como eles farão isso usando três abordagens principais: • Adaptadores que preservam a confidencialidade: duas tecnologias com implantação planejada nas redes de Chainlink, DECO [234] e Town Crier [233], habilite os nós oracle para recuperar dados de sistemas fora da cadeia de forma a proteger a privacidade e os dados do usuário confidencialidade. Eles desempenharão um papel fundamental no projeto de adaptadores para DONs. (Consulte a Seção 3.6.2 para obter detalhes sobre essas duas tecnologias.) • Computação confidencial: DONs podem simplesmente ocultar sua computação de blockchains confiáveis. Usando computação multipartidária segura e/ou ambientes de execução confiáveis, uma confidencialidade mais forte também é possível em que nós DON computar dados sobre os quais eles próprios não têm visibilidade.

Example comparing standard mining with Fair Sequencing Services showing how FSS prevents transaction reordering

Conceptual diagram of confidentiality-preserving operations in a DON processing sensitive data through adapters

• Suporte para sistemas confidenciais de camada 2: O TEF foi projetado para suportar uma variedade de sistemas de camada 2, muitos dos quais usam provas de conhecimento zero para fornecer diversas formas de confidencialidade da transação. Discutimos essas abordagens na Seção 3 (com detalhes adicionais na Seção 6, Apêndice B.1 e Apêndice B.2). A Figura 5 apresenta uma visão conceitual de como os dados confidenciais podem fluir de fontes externas para um smart contract por meio de adaptadores que preservam a confidencialidade e cálculo confidencial em um DON. Figura 5: Diagrama conceitual de operações de preservação de confidencialidade em um DON em dados sensíveis (destacados em amarelo). Dados de origem confidenciais (círculos pretos) na web servidores é extraído para DON usando adaptadores de preservação de confidencialidade (linhas azuis com setas duplas). O DON recebe dados derivados (círculos vazios) desses adaptadores— o resultado da aplicação de uma função ou, por exemplo, do compartilhamento de segredo, à fonte confidencial dados. Um executável em DON pode aplicar computação confidencial a dados derivados para construir um relatório (círculo duplo), que envia por meio de um adaptador para o blockchain. Acreditamos que ferramentas poderosas para lidar com dados confidenciais abrirão todo um gama de aplicações. Entre eles estão o financiamento privado descentralizado (e centralizado), a identidade descentralizada, os empréstimos em cadeia baseados em crédito e empréstimos mais eficientes e protocolos fáceis de conhecer seu cliente e de credenciamento, conforme discutimos na Seção 4. Justiça de ordem para transações: Os designs blockchain de hoje têm um pouco de sujeira segredo aberto: Eles são efêmeros centralizados. Mineiros e validators podem solicitar trans-ações como quiserem. A ordem de transação também pode ser manipulada pelos usuários como em função das taxas de rede que pagam (por exemplo, preços do gás em Ethereum) e para alguns extensão, aproveitando conexões de rede rápidas. Tal manipulação pode, por exemplo, assumir a forma de front-running, em que um ator estratégico como uma mineradora observa a transação de um usuário e insere sua própria transação exploratória em uma transação anterior posição no mesmo bloco - roubando efetivamente dinheiro do usuário, aproveitando o conhecimento prévio da transação do usuário. Por exemplo, um bot pode fazer um pedido de compra antes de um usuário. Poderá então tirar partido do aumento dos preços dos activos induzido pela comércio do usuário. Front-running por alguns bots que prejudica usuários comuns – análogo ao de alta frequência negociação em Wall Street - já é predominante e bem documentado [90], assim como estão relacionados ataques como back-running [159] e simulação de transação automatizada [195]. Propostas para sistematizar a exploração de pedidos por mineradores surgiram recentemente [110]. Tecnologias de camada 2, como rollups, não resolvem o problema, apenas recentralizam encomenda, colocando-o nas mãos da entidade que cria um rollup. Um dos nossos objetivos é introduzir em Chainlink um serviço chamado Fair Sequencing Serviços (FSS) [137]. O FSS ajuda os designers de smart contract a garantir pedidos justos para seus transações e evitar ataques front-running, back-running e ataques relacionados às transações do usuário, bem como outros tipos de transações, como transmissão de relatórios oracle. FSS permite que um DON implemente ideias como a noção rigorosa e temporal de ordem e justiça introduzida em [144]. Como benefício incidental, o FSS também pode reduzir a rede dos usuários. taxas (por exemplo, custos de gás). Resumidamente, no FSS, as transações passam pelo DON, em vez de serem propagadas diretamente para um destino smart contract. O DON ordena as transações e depois encaminha -los ao contrato. Figura 6: Exemplo de como o FSS é benéfico. Figura A ⃝mostra como um mineiro, explorando seu poder centralizado para ordenar transações, pode trocar um par de transações: transação 1⃝ chega antes de 2⃝, mas o mineiro o sequencia depois de 2⃝. Em contraste, a Fig. B⃝mostra como um DON descentraliza o processo de pedido entre os nós DON. Se um quórum de nós honestos recebem 1⃝antes de 2⃝, o FSS faz com que 1⃝ apareça antes de 2⃝na cadeia— evitando o reordenamento dos mineradores anexando números de sequência executáveis ​​ao contrato. A Figura 6 compara a mineração padrão com o FSS. Mostra como na mineração padrão,o processo de pedido de transação é centralizado com o minerador e, portanto, sujeito a manipulação, como reordenar um par de transações em relação à sua chegada vezes. Em contraste, no FSS, o processo é descentralizado entre os nós DON. Supondo um quórum de nós honestos, o FSS ajuda a aplicar políticas como ordenação temporal de transações, reduzindo oportunidades de manipulação por mineradores e outras entidades. Além disso, como os usuários não precisam competir por pedidos preferenciais com base no preço do gás, eles podem pagar preços de gás relativamente baixos (enquanto as transações do DON podem ser agrupadas para economia de gás). Minimização da confiança: Nosso objetivo geral no projeto de DONs é facilitar um altamente camada confiável de suporte para smart contracts e outros sistemas dependentes de oracle por meio de descentralização, ferramentas criptográficas e garantias criptoeconômicas. O próprio DON é descentralizado e os usuários podem escolher entre qualquer DON disponível que suporta a cadeia principal na qual desejam operar ou gerar DONs adicionais com comitês de nós em que confiam. Para alguns aplicativos, no entanto, especialmente smart contracts, os usuários de Chainlink podem favorecer um modelo de confiança que trate a cadeia principal apoiada por um DON como mais confiável do que o próprio DON. Para esses usuários, já temos ou planejamos incorporar ao arquitetura da rede Chainlink uma série de mecanismos que permitem contratos em uma cadeia principal para fortalecer as garantias de segurança fornecidas por DONs, enquanto no ao mesmo tempo, também aplicando proteções contra a possibilidade de fontes de dados corrompidas como os servidores web dos quais DON obtém dados. Descrevemos esses mecanismos na Seção 7. Eles se enquadram em cinco títulos principais: • Autenticação de fonte de dados: ferramentas que permitem que provedores de dados assinem digitalmente seus dados e, assim, fortalecer a cadeia de custódia entre a origem e contrato confiável. • DON relatórios minoritários: sinalizadores emitidos por um subconjunto minoritário de nós DON que observa prevaricação majoritária no DON. • Guard rails: Lógica em uma cadeia principal que detecta condições anômalas e pausas ou interrompe a execução do contrato (ou invoca outras remediações). • Governança com confiança minimizada: Uso de atualizações de liberação gradual para facilitar a inspeção comunitária, bem como intervenções de emergência descentralizadas para rápida resposta a falhas do sistema. • Autenticação de entidade descentralizada: Uso de infraestrutura de chave pública (PKI) para identificar entidades na rede Chainlink. A Figura 7 apresenta um esquema conceitual de nossos objetivos de minimização de confiança. Segurança baseada em incentivos (criptoeconômica): A descentralização da geração de relatórios entre nós oracle ajuda a garantir a segurança mesmo quando alguns nós estão corrompidos.

Conceptual diagram depicting super-linear scaling in Chainlink staking where briber cost grows faster than combined node deposits

Conceptual depiction of Chainlink trust-minimization goal showing DON and data source trust loci

Figura 7: Representação conceitual da meta de minimização da confiança de Chainlink, que é minimizar a necessidade dos usuários de comportamento correto de DON e fontes de dados como a web servidores. Os destaques amarelos na figura indicam loci de minimização de confiança: o DON e conjuntos individuais ou minoritários de servidores web. Destaques rosa indicam componentes do sistema que são altamente confiáveis por suposição: contratos no blockchain e uma maioria de servidores web, ou seja, servidores web no agregado. Igualmente importante, porém, é garantir que os nós tenham um incentivo financeiro para se comportarem corretamente. Staking, ou seja, exigir que os nós forneçam depósitos de LINK e slashing (confiscar) esses depósitos em caso de mau comportamento desempenhará um papel fundamental em Chainlink. É um projeto de incentivo importante já usado em vários blockchains, por exemplo, [81, 103, 120, 204]. No entanto, piquetar em Chainlink parece muito diferente de staking em modo autônomo blockchains. A aposta em blockchains visa prevenir ataques ao consenso. Tem um objetivo diferente em Chainlink: garantir a entrega oportuna de relatórios oracle corretos. Um sistema staking bem projetado para uma rede oracle deve renderizar ataques como suborno não lucrativo para um adversário, mesmo quando o alvo é um smart contract com alto valor monetário. Neste artigo, apresentamos uma abordagem geral para staking em Chainlink com três chaves inovações:1. Um modelo adversário poderoso que engloba ataques negligenciados nas abordagens. Um exemplo é o que chamamos de suborno prospectivo. Esta é uma forma de suborno que determina quais nós recebem subornos de forma condicional, por exemplo, oferece subornos garantidos antecipadamente aos nós que um mecanismo staking seleciona em aleatório para funções específicas (como acionar a adjudicação de relatórios). 2. Impacto staking superlinear, significando informalmente que, para ter sucesso, um adversário deve ter um orçamento em $B maior do que os depósitos combinados de todos os oracle nós. Mais precisamente, queremos dizer que em função de n, \(B(n) ≫\)dn em um rede de n oracle nós, cada um com um valor de depósito fixo $d (mais formalmente, \(B(n) is asymptotically larger in n than \)dn). A Fig. 8 dá uma visão conceitual de esta propriedade. 3. O Quadro de Incentivos Implícitos (IIF), um modelo de incentivo que desenvolvemos para abrangem incentivos empiricamente mensuráveis além dos depositados explícitos staking fundos, incluindo oportunidades futuras de taxas dos nós. O IIF amplia a noção de aposta além dos depósitos explícitos de nós. Figura 8: Diagrama conceitual representando escala superlinear em Chainlink staking. O o suborno $B(n) exigido por um adversário cresce mais rápido em n do que os depósitos combinados $dn de todos os nós oracle. Mostramos como o impacto IIF e super-linear staking juntos induzem o que chamamos de ciclo virtuoso de segurança econômica para redes oracle. Quando novos usuários entram

o sistema, aumentando os ganhos futuros potenciais com a execução de nós Chainlink, o o custo marginal da segurança económica cai para os utilizadores actuais e futuros. Num regime de demanda elástica, esse custo reduzido incentiva usuários adicionais a fazer uso do rede, perpetuando continuamente a adoção em um ciclo virtuoso contínuo. Observação: embora este whitepaper descreva elementos importantes de nossa visão para a evolução de Chainlink, ele é informal e inclui poucas especificações técnicas detalhadas. Nós planejamos lançar artigos técnicos focados em recursos e abordagens adicionais à medida que evoluem. Além disso, é importante ressaltar que muitos elementos da visão apresentada aqui (melhorias de escala, tecnologias de confidencialidade, FSS, etc.) podem e serão implantado de forma preliminar, mesmo antes de DONs avançados se tornarem um recurso básico de Chainlink. 1.3 Organização deste artigo Apresentamos nosso modelo de segurança e notação na Seção 2 e descrevemos o Sistema Descentralizado API Oracle Network na Seção 3. Na Seção 4, apresentamos vários exemplos de aplicativos para os quais DONs fornecem uma plataforma de implantação atraente. Os leitores podem aprenda a maioria dos conceitos-chave do artigo lendo até este ponto. O restante do artigo contém mais detalhes. Descrevemos o sequenciamento justo Services (FSS) na Seção 5 e o Transaction-Execution Framework (TEF) na Seção 6. Descrevemos nossa abordagem para minimização de confiança na Seção 7. Consideramos alguns requisitos importantes de implantação DON, ou seja, implementação incremental de recursos, associação de razão dinâmica e responsabilidade na Seção 8. Finalmente, na Seção 9, damos uma visão geral de nossa abordagem em desenvolvimento para design de incentivos. Concluímos na Seção 10. Para ajudar os leitores que têm familiaridade limitada com os conceitos deste artigo, nós fornecemos um glossário no Apêndice A. Apresentamos mais detalhes sobre a interface DON e funcionalidade no Apêndice B e apresentam alguns exemplos de adaptadores no Apêndice C. No Apêndice D, descrevemos uma primitiva criptográfica para fontes de dados com confiança minimizada. autenticação chamada assinaturas funcionais e introduzir uma nova variante chamada assinaturas funcionais discretizadas. Discutimos algumas considerações pertinentes à comissão seleção para DONs no Apêndice F.

Conceptual figure showing how DONs improve blockchain smart contract scaling by moving computation off-chain

セキュリティモデルと目標

分散型 Oracle ネットワークは、私たちが期待する独特の分散システムです。 必ずしもではありませんが、最初は通常、委員会ベースで実装されます。 コンセンサス プロトコルを使用し、oracle ノードのセットによって実行されます。 DON は主に設計されています oracle レポートを使用して、メイン チェーン上の smart contract の機能を強化します。 および他のサービスですが、同じサポート サービスを他の非blockchain システムに提供できるため、特定のメイン チェーンに関連付ける必要はありません。

したがって、私たちが考慮するモデルとプロパティは、 DON の特定の用途。 2.1 現在の建築モデル 現在の Chainlink はモノリシック サービスではなく、 個別の独立したプログラムを起動できる許可のないフレームワーク oracle ノード [77] のネットワーク。ネットワークには異種のノード オペレーターのセットがあり、 デザイン。また、提供するサービスの種類も異なる場合があります。 これには、データフィード、プルーフオブリザーブ、検証可能なランダム性などが含まれます。その他 違いには、分散化の程度、ネットワークのサイズなどが含まれます。 サポートするロック値、およびデータ頻度などのさまざまなサービスレベルパラメータ そして正確さ。 Chainlink のパーミッションレス モデルは、エコシステムの成長を促進します。 プロバイダーは、コミュニティに提供できる最善のサービスを専門としています。これ モデルは、モデルよりもユーザーのコストが低くなり、サービス品質が高くなる可能性があります すべてのノードとネットワークがあらゆる種類のサービスを提供する必要があるというアプローチ これは、最も少ないサービスのシステム全体への導入に容易に発展する可能性があります。 ノードが利用できるリソースの共通分母。 Chainlink が Chainlink 2.0 の DON ベースの設計に向けて進化するにつれて、私たちは引き続き という目標を念頭に置きながら、パーミッションレスでオープンなフレームワークのモデルをサポートします。 グローバルに最適な結果となる幅広いサービスの選択肢をユーザーに提供します 特定のアプリケーション要件を備えています。 2.2 コンセンサスの仮定 私たちは、分散型 Oracle ネットワークという用語を、次のすべての機能を包含するために使用します。 私たちが説明する oracle システム: oracle ノードが維持するデータ構造と その上にコア API が重ねられます。 基になるデータを意味するために、L で示されるレジャー (小文字) という用語を使用します。 DON によって維持され、それが提供する特定のサービスをサポートするために使用される構造。 私たちの DON フレームワークは L を次のような独立したシステムとして扱っていないことを強調します。 a blockchain: その目的は、blockchains およびその他のシステムをサポートすることです。ブロックチェーンとは、 もちろん、これは信頼できる台帳を実現する 1 つの方法ですが、他にも方法があります。期待しています DONs は多くの場合、ビザンチン フォールト トレラントを使用して基礎となる台帳を実現します。 (BFT) システム。Bitcoin [174] など、blockchain よりかなり古いものです。私たちが使用するのは 便宜上、BFT タイプの表記とプロパティを本書全体で使用していますが、 DONs はパーミッションレス コンセンサス プロトコルを使用して実現できることを強調します。 概念的には、台帳 L は、データが線形に順序付けされている掲示板です。 私たちは一般的に台帳には、一般的に考えられるいくつかの重要なプロパティがあると考えています。 blockchains [115]。台帳とは次のとおりです。 • 追加のみ: データは一度追加すると、削除したり変更したりすることはできません。• パブリック: 誰でもその内容を読むことができ、その内容は時代を超えて一貫しています。 すべてのユーザーのビュー。4 • 利用可能: レジャーは、許可された書き込み者によって常に書き込みおよび読み取りが可能です。 誰でもタイムリーに。 DON によって実現される場合、台帳内で代替プロパティが可能になります。 委員会。たとえば、台帳への書き込みアクセスは、次のように特定のユーザーに制限される場合があります。 一部のアプリケーションには読み取りアクセスが許可される場合があります。つまり、台帳は定義どおりに公開される必要はありません。 上。同様に、元帳ルールではデータの変更または編集が許可される場合があります。しません ただし、この論文ではそのようなバリアントを明示的に考慮します。 DON のモジュラー設計は、さまざまな最新の BFT をサポートできます。 プロトコル(例: Hotstuff[231])。正確な選択は信頼の前提条件と oracle ノード間のネットワーク特性。 DON は原則として代わりに行うことができます をサポートする役割の台帳には、高パフォーマンスの権限のない blockchain を使用します。 同様にスケーラブルなレイヤー 2 または blockchain システム。同様に、ハイブリダイゼーションも可能です。 DON は、原則として、既存の validator であるノードで構成されます。 blockchain、例: 実行する委員会が選択されるプルーフ・オブ・ステーク システム トランザクション、例: [8, 81, 120, 146, 204]。この特定の動作モードでは、次のことが必要です。 ノードはデュアルユース方式で動作します。つまり、blockchain ノードと DON の両方として動作します。 ノード。 (変更の継続性を確保するための手法については、セクション 8.2 を参照してください) 委員会のランダムな選択に関するいくつかの注意事項については、委員会および付録 F を参照してください。) 実際には、最新の BFT アルゴリズムでは、ノードは台帳上のメッセージにデジタル署名します。 便宜上、L には関連する公開鍵 pkL があり、その内容は 対応する秘密鍵によって署名されます。この一般的な表記は、次の場合にも適用されます。 L 上のデータは、しきい値署名を使用して署名されます。5 しきい値署名は便利です。 メンバーシップが変更された場合でも、DON の永続的な ID が有効になるためです。 それを実行しているノード。 (付録 B.1.3 を参照。) したがって、skL は秘密共有されていると仮定します。 あるセキュリティパラメータ k に対して (k, n) しきい値方式で、たとえば k = 2f + 1 および n = 3f + 1、ここで f は障害のある可能性のあるノードの数です。 (ここで k を選択すると、 このようにして、障害のあるノードが skL を学習したり、サービス妨害をマウントしたりできないようにします。 攻撃により使用が妨げられます。) L 上のメッセージは M = (m, z) の形式をとります。ここで、m は文字列、z は一意です。 連続したインデックス番号。 該当する場合、メッセージは m = の形式で記述されます。 ⟨メッセージタイプ:ペイロード⟩。メッセージ タイプ MessageType は、特定のメッセージの機能を示す糖衣構文です。 4 ファイナリティのないblockchainが元帳を実現する場合、通常、不整合は抽象化されます。 深さが不十分なブロックを無視するか、[115] を「枝刈り」することによって除去します。 5実際には、Hotstuff の亜種である LibraBFT [205] などの一部のコード ベースが現在採用しています。 しきい値署名ではなくマルチ署名により、通信の複雑さが軽減されます。 よりシンプルなエンジニアリング。コストを追加すると、oracle ノードはメッセージにしきい値署名を追加できます L に使用されるコンセンサス プロトコルがそれらを採用していない場合でも、L に書き込まれます。2.3 表記 台帳を実行する n 個の oracle ノードのセットを O = {Oi}n で表します。 i=1。 そんな ノードのセットは委員会と呼ばれることがよくあります。簡単にするために、次のセットがあると仮定します。 oracles の DON 機能、つまり L 上のサービスの実装は、 L は維持されますが、異なる場合もあります。 pki に次の公開鍵を示します。 プレーヤー Oi を取得し、対応する秘密鍵をスキーします。 ほとんどの BFT アルゴリズムでは、少なくとも n = 3f + 1 ノードが必要です。ここで、f はノードの数です。 潜在的に障害のあるノード。残りのノードは、以下に従うという意味で正直です。 プロトコルは指定どおりに実行されます。これを満たしている場合、委員会 O は誠実であるとみなします。 つまり、正直なノードの 2/3 部分を超えています。そうでない限り 前述したように、O は正直である (そして腐敗の静的モデルである) と仮定します。 pkO / を使用します。 skO は、文脈に応じて pkL / skL と同じ意味です。 σ = Sigpk[m] が pk に関するメッセージ m の署名を表すものとします。つまり、以下を使用します。 対応する秘密鍵 sk. verify(pk, σ, m) →{false, true} が対応する署名検証アルゴリズムを表すものとします。 (本稿では鍵の生成を暗黙的に残しておきます。) データ ソースを表すには S という表記を使用し、データ ソースの完全なセットを表すには S を使用します。 特定のコンテキスト内の nS ソース。 MAINCHAIN はスマートコントラクトが有効であることを示します blockchain は DON によってサポートされています。私たちは、信頼できるコントラクトという用語を、あらゆるスマートなサービスを表すために使用します。 DON と通信する MAINCHAIN 上のコントラクトを作成し、SC という表記を使用して そのような契約を指します。 セクション 4 の例で示すように、DON は単一のメイン チェーン MAINCHAIN をサポートすると想定していますが、複数のそのようなチェーンをサポートすることもできます。 DON は、MAINCHAIN で複数の依存コントラクトをサポートできますし、通常はサポートします。 (として 前述のように、DON は、blockchain 以外のサービスをサポートすることもできます。) 2.4 信頼モデルに関する注意事項 上で述べたように、DON は委員会ベースのコンセンサス プロトコルの上に構築される場合があります。 彼らはそのようなプロトコルを一般的に使用すると予想されます。多くの有力な議論がありますが、 2 つの選択肢 (委員会ベースまたは権限のない blockchain) のいずれかにより、以下が提供されます。 他よりも強力なセキュリティ。 委員会ベースとパーミッションレスのセキュリティは重要であることを認識することが重要です。 分散型システムは計り知れないものです。 PoW または PoS の侵害 blockchain via 51% 攻撃では、敵が過半数のリソースを一時的に取得する必要があり、 たとえば、PoW システムで hash 電力を借りるなど、潜在的に匿名で行われます。そんな 実際の攻撃はすでにいくつかのblockchainに影響を与えています[200、34]。対照的に、 委員会ベースのシステムを侵害するということは、ノードが公に知られ、十分なリソースがあり、 そして信頼できる存在。 一方、委員会ベースのシステム(および「ハイブリッド」パーミッションレス) 委員会をサポートするシステム)は、厳密に定義されている機能よりも多くの機能をサポートできます。ミッションレスシステム。これには、次のような永続的な秘密を維持する機能が含まれます。 署名キーや暗号化キー - 私たちの設計における可能性の 1 つです。 DON は原則として委員会ベースの、または パーミッションレスコンセンサスプロトコルと DON デプロイ担当者は最終的に採用を選択する可能性があります どちらかのアプローチ。 信頼モデルの強化: 現在の Chainlink の重要な機能は、ユーザーが次のことを実行できることです。 説明したように、パフォーマンス履歴の分散記録に基づいてノードを選択します。 セクション3.6.4に記載されています。セクション 9 で紹介する staking メカニズムと暗黙的インセンティブ フレームワークは合わせて、広範囲にわたる厳密なメカニズム設計を構成します。 このフレームワークにより、ユーザーは DON のセキュリティを評価できる機能が大幅に拡張されます。これと同じフレームワークにより、DON 自体も可能になります。 参加ノードにさまざまなセキュリティ要件を強制し、動作を保証するため 強力な信頼モデル内で。 このペーパーで説明されている DON のツールを使用して、規制要件への準拠など、特別な信頼モデル要件を強制することもできます。のために たとえば、セクション 4.3 で説明した手法を使用すると、ノードは次の証拠を提示できます。 ノードとオペレーターの特性 (例: 運用地域など)。 たとえば、一般データ保護規則 (GDPR) 第 3 条 (「適用範囲」) [105] への準拠を強制します。そうでなければ、このようなコンプライアンスは困難になる可能性があります 分散システム [45] で会います。 さらに、セクション 7 では、DON の堅牢性を強化する計画について説明します。 サポートするメインチェーンの信頼最小化メカニズムを通じて。

Modelo e metas de segurança

Uma Rede Oracle Descentralizada é um sistema distribuído distinto que esperamos que inicialmente ser implementado normalmente - embora não necessariamente - por um comitê baseado em protocolo de consenso e executado por um conjunto de nós oracle. Um DON foi projetado principalmente para aumentar os recursos de um smart contract em uma cadeia principal com relatórios oracle e outros serviços, mas pode fornecer esses mesmos serviços de suporte a outros sistemas nãoblockchain e, portanto, não precisa estar associado a uma cadeia principal específica.

O modelo e as propriedades que consideramos são, portanto, em grande parte independentes do uso de as aplicações específicas de um DON. 2.1 Modelo Arquitetônico Atual É importante ressaltar que Chainlink hoje não é um serviço monolítico, mas sim uma estrutura sem permissão dentro da qual é possível lançar recursos distintos e independentes redes de oracle nós [77]. As redes têm conjuntos heterogêneos de operadores de nós e projetos. Eles também podem diferir em termos dos tipos de serviços que prestam, o que pode incluem, por exemplo, feeds de dados, Prova de Reservas, aleatoriedade verificável e assim por diante. Outro As diferenças podem incluir o grau de descentralização, o tamanho da rede em termos de valor bloqueado que ele suporta e vários parâmetros de nível de serviço, como frequência de dados e precisão. O modelo sem permissão de Chainlink incentiva o crescimento de um ecossistema no qual os provedores se especializam nos serviços que são mais capazes de fornecer à comunidade. Isto modelo provavelmente resultará em custos mais baixos para os usuários e maior qualidade de serviço do que um modelo que exige que todos os nós e redes forneçam uma gama completa de serviços, uma abordagem que pode facilmente evoluir para a adoção em todo o sistema dos serviços que representam menos denominador comum de recursos disponíveis para os nós. À medida que Chainlink evolui em direção a designs baseados em DON em Chainlink 2.0, continuamos a apoiar o modelo de uma estrutura aberta e sem permissão, tendo em vista o objetivo de fornecendo aos usuários uma variedade de opções de serviços que resultam globalmente na melhor combinação com requisitos de aplicação específicos. 2.2 Suposições de consenso Usamos o termo Rede Oracle Descentralizada para abranger toda a funcionalidade do o sistema oracle que descrevemos: tanto a estrutura de dados que os nós oracle mantêm e a API principal colocada em cima dela. Usamos o termo razão (minúsculas), denotado por L, para significar os dados subjacentes estrutura mantida por DON e usada para dar suporte aos serviços específicos que ele fornece. Enfatizamos que nossa estrutura DON não trata L como um sistema independente como a blockchain: Sua finalidade é oferecer suporte a blockchains e outros sistemas. Blockchains são, é claro, uma forma de realizar um livro-razão confiável, mas existem outras. Nós esperamos DONs, em muitos casos, para realizar seus livros contábeis subjacentes usando Byzantine Fault Tolerant (BFT), que são consideravelmente anteriores a blockchains, como Bitcoin [174]. Nós usamos notação e propriedades do tipo BFT em todo o artigo por conveniência, embora enfatize que DONs podem ser realizados usando protocolos de consenso sem permissão. Conceitualmente, um livro-razão L é um quadro de avisos no qual os dados são ordenados linearmente. Vemos um livro-razão geralmente como tendo algumas propriedades-chave comumente atribuídas a blockchains [115]. Um livro razão é: • Somente acréscimo: Os dados, uma vez adicionados, não podem ser removidos ou modificados.• Público: Qualquer pessoa pode ler seu conteúdo, que é consistente ao longo do tempo no visualização de todos os usuários.4 • Disponível: O razão sempre pode ser gravado por escritores autorizados e lido por qualquer pessoa em tempo hábil. Propriedades alternativas são possíveis no razão para um DON quando realizadas por um comitê. Por exemplo, o acesso à gravação do razão pode ser restrito a determinados usuários, como pode ler o acesso para algumas aplicações, ou seja, o razão não precisa ser público conforme definido acima. Da mesma forma, as regras contábeis podem permitir a modificação ou redação de dados. Nós não considere explicitamente tais variantes neste artigo, no entanto. O design modular de DONs pode suportar qualquer uma de uma ampla variedade de BFT modernos protocolos, por exemplo, Hotstuff[231]. A escolha exata dependerá de suposições de confiança e características de rede entre os nós oracle. Um DON poderia, em princípio, alternativamente usar um blockchain sem permissão de alto desempenho para seu razão em sua função de suporte a um sistema igualmente escalonável de camada 2 ou blockchain. Da mesma forma, a hibridização também é possível: O DON poderia, em princípio, ser composto de nós que são validators em um existente blockchain, por exemplo, em sistemas de Prova de Participação nos quais os comitês são selecionados para executar transações, por exemplo, [8, 81, 120, 146, 204]. Este modo específico de operação requer que os nós operam de maneira de uso duplo, ou seja, operam como nós blockchain e como nós DON nós. (Veja a Seção 8.2 para uma discussão de técnicas para garantir a continuidade na mudança comitês e Apêndice F para algumas advertências sobre a seleção aleatória de comitês.) Na prática, nos algoritmos BFT modernos, os nós assinam digitalmente as mensagens no livro-razão. Assumimos por conveniência que L tem uma chave pública associada pkL e que seu conteúdo são assinados pela chave privada correspondente. Esta notação geral se aplica mesmo quando os dados em L são assinados usando assinaturas de limite.5 Assinaturas de limite são convenientes, pois permitem uma identidade persistente para um DON mesmo com mudanças de associação em os nós que o executam. (Veja o Apêndice B.1.3.) Assim, assumimos que skL é compartilhado em segredo de uma maneira (k, n)-limiar para algum parâmetro de segurança k, por exemplo, k = 2f + 1 e n = 3f + 1, onde f é o número de nós potencialmente defeituosos. (Ao escolher k neste Dessa forma, garantimos que nós defeituosos não possam aprender skL nem montar um sistema de negação de serviço ataque impedindo seu uso.) Uma mensagem em L assume a forma M = (m, z), onde m é uma string e z um único número de índice sequencial. Quando aplicável, escrevemos mensagens no formato m = ⟨MessageType: carga útil⟩. O tipo de mensagem MessageType é um açúcar sintático que indica a função de uma mensagem específica. 4Nos casos em que um blockchain sem finalidade realiza um livro-razão, a inconsistência é normalmente abstraída eliminado desconsiderando blocos insuficientemente profundos ou “podando” [115]. 5Na prática, algumas bases de código, por exemplo, LibraBFT [205], uma variante do Hotstuff, adotaram atualmente assinaturas múltiplas, em vez de assinaturas de limite, trocando complexidade de comunicação reduzida por engenharia mais simples. Com algum custo adicional, os nós oracle podem anexar assinaturas de limite às mensagens escritos em L mesmo que o protocolo de consenso usado para L não os empregue.2.3 Notação Denotamos o conjunto de n nós oracle executando o razão por O = {Oi}n eu=1. Tal conjunto de nós é frequentemente chamado de comitê. Para simplificar, assumimos que o conjunto de oracles implementando a funcionalidade DON, ou seja, serviços em cima de L, é idêntico a que mantendo L, mas eles podem ser distintos. Deixamos pki denotar a chave pública de jogador Oi, e esquie a chave privada correspondente. A maioria dos algoritmos BFT requerem pelo menos n = 3f + 1 nós, onde f é o número de nós potencialmente defeituosos; os nós restantes são honestos, no sentido de que seguem o protocolo exatamente como especificado. Referimo-nos ao comitê O como honesto se atender a este requisito, ou seja, tem mais de 2/3 fração de nós honestos. A menos que de outra forma afirmado, assumimos que O é honesto (e um modelo estático de corrupção). Usamos pkO / skO de forma intercambiável com pkL/skL, dependendo do contexto. Deixamos σ = Sigpk[m] denotar uma assinatura na mensagem m em relação a pk, ou seja, usando chave privada correspondente sk. Deixe verify(pk, σ, m) →{false, true} denotar um algoritmo de verificação de assinatura correspondente. (Deixamos a geração de chaves implícita ao longo do artigo.) Usamos a notação S para denotar uma fonte de dados e S para denotar o conjunto completo de Fontes nS em um determinado contexto. Denotamos por MAINCHAIN um contrato inteligente habilitado blockchain suportado por um DON. Usamos o termo contrato confiável para denotar qualquer contrato inteligente contrato no MAINCHAIN que se comunica com um DON e use a notação SC para denotar tal contrato. Geralmente assumimos que um DON suporta uma única cadeia principal MAINCHAIN, embora possa suportar múltiplas dessas cadeias, como mostramos nos exemplos da Seção 4. A DON pode e normalmente oferecerá suporte a vários contratos dependentes no MAINCHAIN. (Como mencionado acima, um DON pode alternativamente suportar serviços não blockchain.) 2.4 Nota sobre modelos de confiança Conforme observado acima, DONs podem ser construídos com base em protocolos de consenso baseados em comitês, e nós esperamos que eles normalmente usem esses protocolos. Existem muitos argumentos fortes que uma das duas alternativas, blockchains com base em comitê ou sem permissão, fornece segurança mais forte que o outro. É importante reconhecer que a segurança dos sistemas baseados em comitês versus os sistemas sem permissão sistemas descentralizados é incomensurável. Comprometendo um PoW ou PoS blockchain via ataque de 51% exige que um adversário obtenha recursos majoritários de forma efêmera e potencialmente anonimamente, por exemplo, alugando hash energia em um sistema PoW. Tal os ataques na prática já impactaram vários blockchains [200, 34]. Em contraste, comprometer um sistema baseado em comitê significa corromper um número limite (normalmente um terço) de seus nós, onde os nós podem ser conhecidos publicamente, ter bons recursos, e entidades confiáveis. Por outro lado, sistemas baseados em comitês (bem como sistemas “híbridos” sem permissão) sistemas que apoiam comitês) podem suportar mais funcionalidades do que estritamentesistemas sem missão. Isso inclui a capacidade de manter segredos persistentes, como chaves de assinatura e/ou criptografia – uma possibilidade em nossos projetos. Enfatizamos que DONs podem, em princípio, ser construídos em cima de um comitê baseado ou protocolo de consenso sem permissão e os implantadores DON podem, em última análise, optar por adotar qualquer abordagem. Reforçando os modelos de confiança: Um recurso importante do Chainlink hoje é a capacidade dos usuários de selecionar nós com base em registros descentralizados de seus históricos de desempenho, conforme discutido na Seção 3.6.4. O mecanismo staking e a Estrutura de Incentivos Implícitos que apresentamos na Seção 9 juntos constituem um projeto de mecanismo rigoroso e de amplo escopo estrutura que capacitará os usuários com uma capacidade bastante ampliada de avaliar a segurança de DONs. Esta mesma estrutura também tornará possível para os próprios DONs para impor vários requisitos de segurança nos nós participantes e garantir a operação dentro de modelos de confiança fortes. Também é possível usar as ferramentas descritas neste documento para DONs para impor requisitos especiais de modelo de confiança, como conformidade com requisitos regulatórios. Para Por exemplo, usando técnicas discutidas na Seção 4.3, os nós podem apresentar evidências de características do operador do nó, por exemplo, território de operação, que podem ser usadas para ajudar impor a conformidade com, por exemplo, o Artigo 3 do Regulamento Geral de Proteção de Dados (GDPR) (“Âmbito Territorial”) [105]. Caso contrário, tal conformidade pode ser um desafio para atendem em sistemas descentralizados [45]. Além disso, na Seção 7 discutimos planos para fortalecer a robustez de DONs através de mecanismos de minimização de confiança nas principais cadeias que apoiam.

分散型 Oracle ネットワーク インターフェイスと Ca-

能力 ここでは、シンプルかつ強力な観点から DONs の機能を簡単に説明します。 インターフェイスを実現するように設計されています。 DON 上のアプリケーションは、実行可能ファイルとアダプターで構成されます。実行可能ファイルは、 smart contract に類似した、コア ロジックが決定論的プログラムであるプログラム。 実行可能ファイルには、エントリを呼び出すプログラムであるイニシエーターも多数付属しています。 事前に決定されたイベントが発生したとき (特定の時間など)、実行可能ファイルのロジック内のポイント (cron ジョブのように)、価格がしきい値を超えたときなど、Keepers (セクション 3.6.3 を参照) とよく似ています。アダプターはオフチェーン リソースへのインターフェイスを提供し、アダプターによって呼び出されます。 イニシエーターまたは実行可能ファイルのコア ロジックのいずれか。彼らの行動はそれに依存する可能性があるため、 外部リソース、イニシエーター、アダプターは非決定的に動作する可能性があります。 DON 開発者インターフェイスと実行可能ファイルの機能について説明します。 コンピューティング システムを特徴付けるために通常使用される 3 つのリソース (ネットワーキング、コンピューティング、ストレージ) の観点からアダプターを説明します。これらのそれぞれについて簡単に概要を説明します 以下のリソースを参照し、付録 B で詳細を説明します。

Adapters connecting a DON with different resources including blockchains, web servers, storage, and IoT devices

3.1 ネットワーキング アダプターは、DON 上で実行される実行可能ファイルが送信および送信できるインターフェイスです。 DON のシステムからデータを受信します。アダプターは、以下を一般化したものと見なすことができます。 Chainlink で現在 [20] で使用されているアダプター。アダプターは双方向である場合があります。 DON から Web サーバーにデータをプルするだけでなく、プッシュすることもできます。彼らはまた、活用するかもしれません 分散プロトコルと安全なマルチパーティなどの暗号化機能 計算。 図 9: DON1 で示される DON を、DON2 で示される別の DON、blockchain (メイン チェーン) およびそのリソースを含むさまざまなリソースに接続するアダプター mempool、外部ストレージ、Web サーバー、IoT デバイス (Web サーバー経由)。 アダプターが作成される可能性のある外部リソースの例が示されています。 図 9 には次のものが含まれます。 • ブロックチェーン: アダプターはトランザクションを blockchain に送信する方法を定義でき、 そこからブロック、個々のトランザクション、またはその他の状態を読み取る方法。アダプター blockchain のメモリプールに対して定義することもできます。 (セクション 3.5 を参照してください。) • Web サーバー: アダプターは、データを取得するための API を定義できます。 Web サーバー (特別に適応されていないレガシー システムを含む) から DON とのインターフェース。このようなアダプターには、データを送信するための API を含めることもできます。 そのようなサーバー。 DON が接続する Web サーバーはゲートウェイとして機能する可能性があります モノのインターネット (IoT) デバイスなどの追加リソースにアクセスします。• 外部ストレージ: アダプタはストレージの読み取りおよび書き込みメソッドを定義できます。 分散型ファイル システム [40、188] やクラウドなど、DON の外部のサービス 保管。 • その他の DON: アダプターは、DON 間でデータを取得および送信できます。 DONs の初期展開には一連の構成要素が含まれることを期待しています このような一般的に使用される外部リソース用のアダプターが追加され、DON 固有の DON ノードによって公開されるアダプター。 smart contract 開発者がアダプターを作成するとき 今日、私たちは彼らがこの高度な機能を使用してさらに強力なアダプターを構築することを期待しています。 機能性。 最終的にはユーザーが新しいアダプターを作成できるようになると期待しています。 許可のないやり方。 一部のアダプターは、DON によって制御される外部リソースの永続性と可用性を保証する方法で構築する必要があります。たとえば、クラウド ストレージでは、 クラウド サービス アカウントのメンテナンスが必要です。さらに、DON は次のことを実行できます。 ユーザーに代わって秘密鍵を分散管理する ([160] など) および/または 実行可能ファイル。その結果、DON は、ターゲット blockchain でトランザクションを送信するなどに使用できる、暗号通貨などのリソースを制御できます。 DON アダプターの詳細については付録 B.1 を参照してください。一部のアダプターについては付録 C を参照してください。 アダプターの例。 3.2 計算 実行可能ファイルは、DON 上のコードの基本単位です。実行可能ファイルは exec = のペアです。 (ロジック、初期化)。ここで、ロジックは指定されたエントリを多数持つ決定的なプログラムです。 ポイント (logic1、logic2、...、logicℓ) および init は対応するイニシエーターのセットです (init1、init2、...、inite)。 DON の完全な監査可能性を確保するには、実行可能ファイルのロジック すべての入力と出力に対して基礎となる元帳 L を使用します。したがって、たとえば、どのアダプターでも 実行可能ファイルへの入力として機能するデータは、最初に L に保存する必要があります。 イニシエーター: 現在、Chainlink のイニシエーターにより、イベントに依存したジョブが実行されます。 Chainlink ノード [21]。 DONs のイニシエーターは、ほぼ同じように機能します。ただし、DON イニシエーターは、具体的には実行可能ファイルに関連付けられます。イニシエーターは依存する可能性があります 外部のイベントまたは状態、現在の時刻、または DON 状態の述語に基づいて。 イベントに依存しているため、イニシエーターは当然ながら非決定的に動作する可能性があります。 (もちろんアダプターも同様です)。イニシエーターは個々の DON ノード内で実行できます したがって、アダプターに依存する必要はありません。 (以下の例 1 を参照してください。) イニシエーターは、実行可能ファイルと smart contract を区別する重要な機能です。 実行可能ファイルはイニシエーターに応答して実行できるため、効率的に動作できます。 もちろん、拡張により、実行可能ファイルを組み込んだハイブリッド コントラクトを自律的に実行できます。現在のイニシエーターの 1 つの形式は、トランザクションを提供する Chainlink キーパーです。oracle レポートに基づいて、smart contract 実行 (担保不足ローンの清算や指値注文取引の実行など) をトリガーする自動化サービス。 便利なことに、DONs のイニシエーターは、 実行可能ファイルに適用されるサービス契約。サービス契約は以下の状況を定義します。 DON はこれを呼び出す必要があります。 次の例は、実行可能ファイル内でイニシエーターがどのように動作するかを示しています。 例 1 (偏差によってトリガーされる価格フィード)。 smart contract SC には新しいものが必要な場合があります 価格フィードデータ (セクション 3.6.3 を参照) に大幅な変化 (例: 1%) があるときは常に 資産ペア間の為替レート(ETH-USD など)。ボラティリティに敏感な価格 フィードは現在 Chainlink でサポートされていますが、どのようにサポートできるかを確認することは有益です。 実行可能ファイル execfeed によって DON 上で実現されます。 実行可能ファイル execfeed は、L 上の最新の ETH-USD 価格 r を維持します。 ⟨NewPrice : j, r⟩entries のシーケンスの形式。j はインデックスで増分されます。 各価格の更新。 イニシエーター init1 により、各ノード Oi は現在の ETH-USD 価格を監視します。 インデックス j で最後に保存された価格 r から少なくとも 1% の偏差。次第 このような偏差を検出すると、Oi は新しい価格の現在のビュー ri を次のように L に書き込みます。 ⟨PriceView : i, j + 1, ri⟩ という形式のエントリ。 2 番目のイニシエーター init2 は、新しい価格を持つそのような PriceView エントリーが少なくとも k 個あるときに起動します。 個別のノードによって作成されたインデックス j + 1 の値が L に蓄積されます。その後、init2 エントリ ポイントのロジック 2 を呼び出して、最初の k 個の新鮮な有効なpriceview 値の中央値 ρ を計算し、新しい値 ⟨NewPrice : j + 1, ρ⟩ を L に書き込みます。 (運用上、ノードは 交代で指定作家となる場合があります。) 3 番目のイニシエーター init3 は、L 上の NewPrice エントリーを監視します。新しいレポートが作成されるたびに、 そこに ⟨NewPrice : j, r⟩ が表示され、(j, r) を SC にプッシュするエントリ ポイント ロジック 3 が呼び出されます。 アダプターを使用して。 すでに述べたように、実行可能ファイルの機能は smart contract と似ています。 ただし、パフォーマンスが高いことは別として、典型的なメインチェーン契約とは異なります。 2 つの重要な方法で: 1. 機密性: 実行可能ファイルは機密の計算を実行できます。つまり、秘密のプログラムが平文入力を処理したり、公開されたプログラムが処理したりできます。 秘密の入力データ、または両方の組み合わせ。単純なモデルでは、機密データは次のようになります。 DON ノードからアクセスできます。中間結果は隠蔽され、のみが公開されます。 処理およびサニタイズされた値を MAINCHAIN に送信します。 DON 自体から機密データを隠すことも可能です。 DON は、次のようなアプローチをサポートすることを目的としています。 マルチパーティ計算 ([42, 157] など)、および信頼できる実行環境として (TEE) [84, 133, 152, 229] この目的のために。6 6拡張により、DON ノードに関して実行可能ファイル自体を秘密にしておくことも可能です。 ただし、これは現在、TEE を使用する重要な実行可能ファイルに対してのみ実用的です。2. サポートの役割: 実行可能ファイルは、メインの smart contracts をサポートすることを目的としています。 交換するのではなく、チェーンに交換してください。実行可能ファイルにはいくつかの制限があります。 smart contract は次のことを行いません: (a) 信頼モデル: 実行可能ファイルは、 DON: 正しく実行されるかどうかは、O の誠実な行動に依存します。(メイン ただし、チェーンは DON 不正行為に対するガード レールを提供できます。 セクション 7.3 で説明します)。 (b) 資産アクセス: DON は blockchain のアカウントを制御できるため、 アダプターを介してその上の資産を制御します。しかし、DON は権限を与えることができません メインチェーン上で作成された資産 (例: Ether または ERC20 tokens) を表します。 彼らのネイティブチェーンは、彼らの所有権の信頼できる記録を維持します。 (c) ライフサイクル: DON は、次のように、限られたライフタイムで意図的に起動される場合があります。 DON と所有者との間のオンチェーン サービス レベル アグリーメントによって定義される 依存契約の。 対照的に、ブロックチェーンは次のように機能することを目的としています。 永久アーカイブシステム。 DON 計算の詳細については、付録 B.2 を参照してください。 3.3 ストレージ 委員会ベースのシステムとして、DON は適度な量のデータを永続的に保存できます L では、権限のない blockchain よりもはるかに低コストで利用できます。さらに、アダプターを介して、 DONs は、ファイルコイン [85] など、データ ストレージ用の外部分散システムを参照できます。 これにより、そのようなシステムを smart contract に接続できるようになります。このオプションは特に 蔓延する「肥大化」の問題に対処する手段として、大量のデータにとって魅力的です。 blockchain システム。 したがって、DON は、特定のサポートされているサービスで使用するためにデータをローカルまたは外部に保存できます。 DON はさらに、そのようなデータを機密性の高い方法で利用できます。 次のようなデータを計算します: (1) DON ノード間で秘密が共有されているか、または暗号化されている 安全なマルチパーティ計算に適した方法で DON ノードによって管理されるキー または部分的または完全な準同型暗号化。または (2) 信頼できる実行を使用して保護される 環境。 DONs は、 スマート コントラクト システム: 実行可能ファイルは、それ自体のメモリにのみ書き込むことができます。実行可能ファイル ただし、他の実行可能ファイルのメモリから読み取ることはできます。 DON ストレージの詳細については、付録 B.3 を参照してください。 3.4 トランザクション実行フレームワーク (TEF) DON は、メイン チェーン MAINCHAIN (または複数のメイン チェーン) でコントラクトをサポートすることを目的としています。トランザクション実行フレームワーク (TEF) について詳しく説明しますセクション 6 では、契約を効率的に実行するための汎用アプローチです。 MAINCHAIN および DON にわたる SC。 TEF は、FSS とレイヤー 2 をサポートすることを目的としています。 必要に応じて、テクノロジーを同時に利用できます。まさに主力車両として活躍しそうです FSS の使用のためです (そのため、このセクションでは FSS についてはこれ以上説明しません)。 簡単に言うと、TEF では、MAINCHAIN 用に設計または開発されたオリジナルのターゲット コントラクト SC ハイブリッド コントラクトにリファクタリングされます。このリファクタリングにより、2 つの相互運用性が生成されます。 ハイブリッド コントラクトの一部: 明確にするために参照する MAINCHAIN コントラクト SCa TEF のコンテキストではアンカー コントラクトとして、実行可能ファイルは DON 上で実行されます。の 契約SCaはユーザーの資産を保管し、権限のある状態遷移を実行し、また DON の障害に対するガード レール (セクション 7.3 を参照) を提供します。実行可能ファイル exec トランザクションをシーケンスし、それらに関連する oracle データを提供します。同梱可能です 有効性証明ベースの使用や、 楽観的なrollup、DONによる機密実行など。 開発者が契約を簡単に分割できるツールの開発を期待しています。 高級言語で MAINCHAIN および DON ロジックの部分に書かれた SC、SCa および それぞれ実行され、安全かつ効率的に構成されます。 TEF を使用して高パフォーマンスのトランザクション スキームと高パフォーマンスのトランザクション スキームを統合する oracles は、oracle スケーリング アプローチに不可欠です。 3.5 メンプールサービス サポート対象の DONs にデプロイする予定の重要なアプリケーション層機能 FSS および TEF は Mempool Services (MS) です。 MS はアダプターと見なすこともできますが、 ただし、一流のサポートが付いています。 MS は、レガシー互換のトランザクション処理のサポートを提供します。この用途では、MS ターゲットコントラクトを対象としたトランザクションをメインチェーンのメモリプールから取り込みます メインチェーン上の SC。その後、MS はこれらのトランザクションを DON 上の実行可能ファイルに渡します。 目的の方法で処理されます。 MS データは DON で使用できます DON から SC に直接渡すことができるトランザクションを作成する、または SC を呼び出す別のコントラクトに接続します。たとえば、DON はトランザクションを転送できます。 MS 経由で収集することも、MS データを使用して送信先のトランザクションのガス価格を設定することもできます メインチェーン。 MS はメモリプールを監視するため、SC と直接対話するユーザーからトランザクションを取得できます。したがって、ユーザーは引き続き次を使用してトランザクションを生成できます。 レガシー ソフトウェア、つまり MS および MS で構成されたアプリケーションの存在を認識しないアプリケーション 契約。 (この場合、元のトランザクションを無視するように SC を変更する必要があります。 二重処理を避けるために、MS によって処理されたもののみを受け入れます。) ターゲット契約 SC で使用する場合、MS は FSS および/または TEF で使用できます。3.6 ステッピング ストーン: 既存の Chainlink 機能 3.6.1 オフチェーンレポート (OCR) オフチェーン レポート (OCR) [60] は、oracle レポートの集約と依存コントラクト SC への送信のための Chainlink のメカニズムです。最近Chainlink価格で導入されました フィード ネットワークでは、完全な DON へのパスに沿った最初のステップを表します。 OCR の核心は、部分同期で動作するように設計された BFT プロトコルです。 ネットワーク。 f < n/3 の存在下での生存性と正確性を任意に保証します 障害のあるノードは、ビザンチンの信頼できるブロードキャストの特性を保証しますが、そうではありません。 完全な BFT コンセンサス プロトコル。ノードは次のようなメッセージ ログを維持しません。 すべてのビューで同一の台帳を表すという意味での一貫性。 そして、プロトコルのリーダーは、安全性を侵害することなく曖昧な発言をする可能性があります。 OCR は現在、特定のメッセージ タイプ、つまり中央値化されたメッセージ タイプ向けに設計されています。 (少なくとも 2f +1) の値が参加ノードによって報告されます。重要な保証を提供します。 SC に対して出力するレポートは、証明済みレポートと呼ばれます。 証明済みレポートの中央値 レポートは、2 つの正直なノードによってレポートされた値と等しいか、その間にあります。この物件は OCR の重要な安全条件。リーダーは中央値に何らかの影響を与える可能性がある ただし、この正当性条件のみが条件となります。 OCRできる さまざまな方法で値を集計するメッセージ タイプに拡張できます。 Chainlink ネットワークの稼働性と正確性の今日の目標では、 OCR が本格的なコンセンサス プロトコルであるためには、従来の BFT プロトコルには存在しないいくつかの追加形式の機能を提供するために OCR が必要です。特に注目すべきは次のとおりです。 1.オール・オア・ナッシングのオフチェーン・レポート・ブロードキャスト: OCRにより、証明されたレポートが確実に送信されます。 すべての正直なノードがすぐに利用できるようになるか、どのノードも利用できないようになります。これは公平性です 正直なノードが参加する機会を確実に得るのに役立つプロパティ 証明されたレポート送信において。 2. 信頼性の高い送信: OCR により、欠陥や悪意のあるデータが存在する場合でも確実に送信されます。 すべての OCR レポートとメッセージが特定のノード内で SC に送信されること、 事前定義された時間間隔。これは活性プロパティです。 3. 契約ベースの信頼の最小化: SC は、たとえば、報告された値が他の値と大きく異なる場合など、誤った可能性がある OCR 生成レポートを除外します。 最近受け取ったもの。これは、プロトコル外の正確性の強制の一種です。 これら 3 つのプロパティはすべて、DON で自然な役割を果たします。オール オアナッシング オフチェーン (DON) ブロードキャストは、暗号経済保証の重要な構成要素です 信頼性の高い伝送が重要であり、これがアダプターの重要な特性となります。信頼 セクション 7.3 で説明したように、SC の最小化は一種のガード レールです。 OCR は、Chainlink の oracle ネットワークにおける BFT プロトコルの運用展開と改良のための基盤も提供するため、前述したように、完全なネットワークへの道が提供されます。 DON の機能。3.6.2 DECOとタウンクライヤー DECO [234] と Town Crier [233] は、現在開発されている 2 つの関連テクノロジーです。 Chainlink ネットワークで開発されました。 現在、ほとんどの Web サーバーでは、ユーザーはプロトコルを使用して安全なチャネル経由で接続できます。 Transport Layer Security (TLS) [94] と呼ばれます。 (HTTPS は、HTTP のバリアントを示します。 TLS が有効になっています。つまり、「https」という接頭辞が付いている URL は、セキュリティのために TLS を使用していることを示します。) ただし、ほとんどの TLS 対応サーバーには、デジタル署名が行われないという顕著な制限があります。 データ。したがって、ユーザーまたは証明者はサーバーから受け取ったデータを提示できません。 oracle や smart contract などの第三者または検証者に、 データの信頼性。 たとえサーバーがデータにデジタル署名したとしても、機密性の問題が残ります。証明者は、機密データを提出する前に編集または変更したい場合があります。 検証者。ただし、デジタル署名は、変更されたデータを無効にするために特別に設計されています。したがって、証明者が機密保持のための変更を行うのを防ぎます。 データに。 (詳細については、セクション 7.1 を参照してください。) DECO と Town Crier は、証明者が Web からデータを取得できるように設計されています。 サーバーに保存し、完全性と機密性が保証される方法で検証者に提示します。 2 つのシステムは、提供されるデータが確実に保持されるという意味で整合性を維持します。 証明者から検証者への送信は、ターゲット サーバーから確実に発信されます。彼らはサポートします 証明者がデータを編集または変更できるようにするという意味での機密性(まだ 完全性の維持)。 両方のシステムの主な特徴は、システムを変更する必要がないことです。 ターゲットWebサーバー。これらは、既存の TLS 対応サーバーであればどれでも動作できます。実際、 それらはサーバーに対して透過的です。サーバーの観点から見ると、証明者は次のようになります。 通常の接続を確立します。 2 つのシステムは同様の目標を持っていますが、ここで簡単に説明するように、信頼モデルと実装が異なります。 DECO は、暗号化プロトコルを基本的に利用して完全性を実現します そして機密性のプロパティ。 DECO を使用してターゲット サーバーとのセッションを確立している間、証明者は同時に、ターゲット サーバーとの対話型プロトコルを実行します。 検証者。このプロトコルにより、証明者は、自分が受け取ったものを検証者に証明することができます。 現在のセッション中にサーバーからの特定のデータ D 。証明者は次のことを行うことができます 代わりに、D の何らかのプロパティのゼロ知識証明を検証者に提示します。 したがって、D を直接明らかにすることはありません。 DECO の一般的な使用法では、ユーザーまたは単一ノードがプライベート データベースからデータ D をエクスポートできます。 DON 内のすべてのノードに対する Web サーバーとのセッション。その結果、完全な DON は、 D (またはゼロ知識証明によって D から導出された事実) の信頼性を証明します。 この文書で後ほど説明するサンプル アプリケーションに加えて、この機能は次のようにすることができます。 DON によるデータ ソースへの高整合性アクセスを増幅するために使用されます。ノードが 1 つだけであっても たとえば、との排他的取り決めにより、データ ソースに直接アクセスできます。 データプロバイダー - DON 全体がデータの正確さを証明することが可能です。そのノードによって発行されたレポート。 Town Crier は、Intel などの信頼できる実行環境 (TEE) の使用に依存しています。 SGX。簡単に言うと、TEE はアプリケーションを実行する一種のブラック ボックスとして機能します。 改ざん防止と機密性の高い方法。原則として、ホストの所有者であっても、 実行中の TEE は、TEE で保護されたアプリケーションを (検出されずに) 変更することも、 アプリケーションの状態を表示します。これには機密データが含まれる場合があります。 タウンクライエはDECOの機能をすべて実現し、それ以上の機能を実現できます。 DECO は、証明者を単一の検証者と対話するように制限します。対照的に、Town Crier では、 ターゲットサーバーから取得したデータDに対して公的に検証可能な証明を生成する証明者、 つまり、smart contract であっても、誰でも直接検証できるという証拠です。タウンクライヤー缶 また、シークレット (ユーザー認証情報など) を安全に取り込んで利用します。 Town Crier の主な制限は、TEE への依存です。プロダクション TEE には、 このテクノロジーはまだ初期段階にあり、間違いなく成熟するでしょうが、最近、多くの深刻な脆弱性があることが判明しました。詳細については、付録 B.2.1 および B.2.2 を参照してください。 TEE についてさらに詳しく説明します。 DECO と Town Crier のいくつかのアプリケーション例については、セクション 4.3、4.5 を参照してください。 9.4.3 および付録 C.1。 3.6.3 既存のオンチェーン Chainlink サービス Chainlink oracle ネットワークは、多数の主要なサービスを提供します。 blockchains やその他の今日の分散システム。 説明どおりのさらなる進化 このホワイトペーパーでは、これらの既存のサービスに追加の機能を与え、 届く。 3 つの例は次のとおりです。 データフィード: 現在、smart contract に依存している Chainlink ユーザーの大多数は、 データフィードの使用。これらは、主要なデータ部分の現在の値に関するレポートです。 信頼できるオフチェーンの情報源に送信します。たとえば、価格フィードは価格を報告するフィードです。 によると、仮想通貨、コモディティ、外国為替、インデックス、株式などの資産の 交換またはデータ集約サービス。このようなフィードは今日すでに数十億ドルの安全を確保するのに役立っています Aave [147] や シンセティクス [208]。 Chainlink データ フィードの他の例には、次のような気象データが含まれます。 パラメトリック作物保険 [75] や選挙データ [93] など。 このペーパーで説明されている DON およびその他のテクノロジーの展開により、Chainlink ネットワークでのデータ フィードの提供が次のようなさまざまな方法で強化されます。 • スケーリング: OCR とその後の DON は、Chainlink サービスのスケーリングを可能にすることを目的としています。 サポートする多くの blockchain にわたって劇的に効果的です。たとえば、私たちが期待しているのは、 DONs は、ノードによって提供されるデータ フィードの数を増やすのに役立ちます。 Chainlink 100 年代から 1000 年代、そしてそれ以上まで。このようなスケーリングは、Chainlink に役立ちます。 エコシステムは、smart contract に関連するデータを包括的に提供し、既存および将来のニーズを満たし、予測するという目標を達成します。• セキュリティの強化: 中間レポートを保存することで、DONs は記録を保持します。 ノードの動作を正確に監視し、そのパフォーマンスと精度を測定することで、レピュテーション システムの強力な経験的根拠を実現します。 Chainlink ノードの場合。 FSS と TEF により、価格フィードの組み込みが可能になります フロントランニングなどの攻撃を防ぐ柔軟な方法でトランザクション データを使用します。 (明示的) staking は、既存の暗号経済的なセキュリティ保護を強化します。 データフィードの。 • フィードの俊敏性: blockchain に依存しないシステム (実際、より広義には消費者に依存しないシステム) として、DON は複数の組織へのデータ フィードのプロビジョニングを容易にします。 依存するシステムの。単一の DON は、指定されたフィードを同時にセットにプッシュできます さまざまな blockchain を使用できるため、チェーンごとの oracle ネットワークが不要になり、 新しい blockchain および追加のフィードの既存のフィードの迅速なデプロイメントを可能にします。 現在サービスされている blockchain にわたるフィード。 • 機密性: DON で一般化された計算を実行できる機能により、機密データの計算をオフチェーンで実行できるようになり、オンチェーンを回避できます。 露出。 また、DECOやタウンクライエを利用することで、 機密性がさらに強化され、非公開データに基づいたレポート生成が可能になります。 DON ノードにも公開されます。例については、セクション 4.3 およびセクション 4.5 を参照してください。 検証可能なランダム関数 (VRF): いくつかの種類の DApp は、自身の公正な動作を検証できるように、検証可能な正しいランダム性ソースを必要とします。 代替不可能なトークン (NFTs) がその例です。 Aavegotchi [23] および Axie Innity [35] の NFT フィーチャーの希少性は、分布と同様に Chainlink VRF によって決まります。 Ether カード [102] のチケットベースの描画による NFT 件。多種多様な 結果がランダム化されるゲーム DApps。および非伝統的な金融商品、たとえば、PoolTogether [89] などの損失のない貯蓄ゲームなど、 ランダムな勝者。他のblockchainおよびblockchain以外のアプリケーションも安全なセキュリティを必要とします 分散システム委員会の選択や、 宝くじの実施。 ブロック hashes は予測不可能なランダム性のソースとして機能する可能性がありますが、敵対的なマイナーによる操作に対して脆弱です (また、ある程度はユーザーの送信による操作に対しても脆弱です) トランザクション)。 Chainlink VRF [78] は、より安全な代替手段を提供します。アン oracle には、秘密鍵と公開鍵のペア (sk、pk) が関連付けられており、その秘密鍵はオフチェーンで維持され、公開鍵 pk は公開されます。ランダムな値を出力するには、 依存コントラクト (ブロック hash など) によって提供される予測不可能なシード x に sk を適用します。 および DApp 固有のパラメーター)関数 F を使用して、y = Fsk(x) と、 正しさの証明。 (Chainlink で利用可能な VRF については、[180] を参照してください。) VRF が検証可能であるということは、pk の知識があれば、証明の正しさ、したがって y の正しさをチェックできるという事実です。したがって、値 y は、ユーザーにとって予測不可能です。 x を予測したり、sk を学習したりすることができず、サービスが操作することは不可能な敵対者。Chainlink VRF は、オフチェーンの秘密キーの管理を伴うアプリケーション ファミリの 1 つにすぎないとみなされる場合があります。より一般的には、DON は安全なセキュリティを提供します。 アプリケーションおよび/またはユーザーの個別のキーの分散ストレージ、およびそれらの組み合わせ この機能は一般化された計算で実現されます。その結果、多数のアプリケーションが作成されます。 このホワイトペーパーでは、Proof of of のためのキー管理を含むいくつかの例を示します。 リザーブ (セクション 4.1 を参照) およびユーザーの分散型認証情報 (およびその他のデジタル情報) 資産) (セクション 4.3 を参照)。 キーパー: Chainlink Keepers [87] により、開発者は分散型のコードを作成できます オフチェーン ジョブの実行。通常は依存する smart contract の実行をトリガーします。 Keepers が登場する前は、開発者がこのようなオフチェーンを運用するのが一般的でした。 ロジックそのものが原因で、集中的な障害点が発生します (また、かなりの重複した開発作業も発生します)。キーパーは代わりに、使いやすいフレームワークを提供します。 これらの業務の分散型アウトソーシングにより、開発サイクルの短縮と 生存性およびその他のセキュリティ特性の強力な保証。キーパーは何でもサポートできます 価格に応じたローンの清算や、 金融取引の実行、時間に応じたエアドロップまたは支払いの開始 収量収穫を伴うシステムなど。 DON フレームワークでは、イニシエーターは、さまざまな意味でキーパーを一般化したものと見なすことができます。イニシエータはアダプタを利用することができるため、 オンチェーンおよびオフチェーン システムへのインターフェイスのモジュール化されたライブラリにより、迅速な 安全で洗練された機能の開発。イニシエーターは計算を開始します 実行可能ファイル自体が DON の完全な多用途性を提供し、幅広い機能を可能にします。 このホワイトペーパーでは、オンチェーンおよびオフチェーンのアプリケーション向けにさまざまな分散サービスを紹介します。 3.6.4 ノードの評判/パフォーマンス履歴 既存の Chainlink エコシステムは、パフォーマンス履歴をネイティブに文書化します。 チェーン上のノードに貢献します。この機能により、個人のパフォーマンス データを取り込み、フィルタリングし、視覚化する評判指向のリソースのコレクションが誕生しました。 ノードオペレーターとデータフィード。ユーザーはこれらのリソースを参照して情報を得ることができます ノードの選択における決定と、既存のネットワークの運用の監視を行います。 同様の機能は、ユーザーが DON を選択するのに役立ちます。 たとえば、今日のmarket.linkなどのパーミッションレスマーケットプレイスでは、ノードが許可されています。 オペレータは、oracle サービスをリストし、オフチェーン ID を証明します。 Keybase [4] などのサービス。Chainlink のノードのプロファイルをそのノードにバインドします。 所有者の既存のドメイン名とソーシャルメディアアカウント。さらに、パフォーマンス マーケット.リンクやレピュテーション.リンクで入手可能な分析ツールなどを使用すると、 ユーザーは、個々のノードの履歴パフォーマンスに関する統計を表示できます。 平均応答待ち時間、コンセンサス値からのレポートの値の偏差 チェーンで中継され、生み出された収益、達成された仕事など。これらの分析ツールも ユーザーが他のユーザーによるさまざまな oracle ネットワークの採用を追跡できるようにします。このようなネットワークを保護するノードの暗黙の承認。その結果、平坦な「ウェブ」が形成されます。 「信頼」。特定のノードを使用することで、高価値の分散アプリケーションが 他のユーザーがそれを観察して考慮に入れることができる、それらのノードに対する信頼のシグナル。 独自のノード選択決定。 DONs (および最初は OCR) により、トランザクション処理が変化し、 契約アクティビティは、より一般的にはオフチェーンです。レコーディングノードの分散モデル DON 自体の内部でもパフォーマンスは引き続き可能です。まさに、高性能 DONs のデータ容量により、きめ細かいレコードの構築が可能になります。 これらのレコードに対して分散計算を実行し、レピュテーション サービスで使用したりチェックポイントを作成したりできる信頼できる概要を生成します。 メインチェーン。 原理的には、大部分のノードが破損している場合、DON が構成ノードの動作を誤って表現する可能性がありますが、集合的な オンチェーン データの配信における DON 自体のパフォーマンスは MAINCHAIN で確認できます したがって、誤って伝えることはできません。さらに、 DON でノードの動作に関する正確な内部レポートを奨励します。たとえば、貢献するデータを最も早く返す高性能ノードのサブセットを報告することによって、 チェーン上で中継されるレポートに対して、DON はノードが不正な内容に異議を唱えるインセンティブを生み出します。 レポート: このサブセットにノードが誤って含まれているということは、ノードが誤って除外されていることを意味します これは含まれるべきであったため、無効に罰せられるべきでした。 DON によるレポートの失敗が繰り返されると、誠実なノードがそのシステムから離脱するインセンティブも生成されます。 DON。 正確なパフォーマンス履歴とその結果の分散型編集 ユーザーが高性能ノードを特定し、ノードオペレーターが構築できる能力 評判は、Chainlink エコシステムの重要な特徴です。 私たち セクション 9 で、これらを厳密な分析の重要な部分としてどのように推論できるかを示します。 DONs によって提供される経済的安全性の広範なビュー。

Interface de rede Oracle descentralizada e Ca-

habilidades Aqui esboçamos brevemente as capacidades de DONs em termos do simples, mas poderoso interface que eles foram projetados para realizar. Os aplicativos em DON são compostos de executáveis ​​e adaptadores. Um executável é um programa cuja lógica central é um programa determinístico, análogo a um smart contract. Um executável também possui vários iniciadores, programas que chamam entrada pontos na lógica do executável quando ocorrem eventos predeterminados - por exemplo, em determinados momentos (como um cron job), quando um preço ultrapassa um limite, etc. – muito parecido com o Keepers (consulte a Seção 3.6.3). Adaptadores fornecem interfaces para recursos fora da cadeia e podem ser chamados por os iniciadores ou a lógica central dos executáveis. Como o comportamento deles pode depender disso de recursos externos, iniciadores e adaptadores podem se comportar de forma não determinística. Descrevemos a interface do desenvolvedor DON e o funcionamento de executáveis e adaptadores em termos dos três recursos normalmente usados para caracterizar sistemas de computação: rede, computação e armazenamento. Damos uma breve visão geral de cada um desses recursos abaixo e forneça mais detalhes no Apêndice B.

Adapters connecting a DON with different resources including blockchains, web servers, storage, and IoT devices

3.1 Rede Adaptadores são interfaces através das quais executáveis em execução em um DON podem enviar e receber dados de sistemas off-DON. Adaptadores podem ser vistos como uma generalização de os adaptadores usados em Chainlink hoje [20]. Os adaptadores podem ser bidirecionais, ou seja, eles não pode apenas extrair, mas enviar dados de um DON para um servidor web. Eles também podem aproveitar protocolos distribuídos, bem como funcionalidade criptográfica, como segurança multipartidária computação. Figura 9: Adaptadores conectando um DON, denotado DON1, com uma variedade de recursos diferentes, incluindo outro DON, denotado DON2, um blockchain (cadeia principal) e seu mempool, armazenamento externo, um servidor web e dispositivos IoT (por meio de um servidor web). São mostrados exemplos de recursos externos para os quais adaptadores podem ser criados na Fig. 9. Eles incluem: • Blockchains: um adaptador pode definir como enviar transações para um blockchain e como ler blocos, transações individuais ou outro estado dele. Um adaptador também pode ser definido para um mempool de blockchain. (Ver Seção 3.5.) • Servidores Web: Os adaptadores podem definir APIs através das quais os dados podem ser recuperados de servidores web, incluindo sistemas legados que não são especialmente adaptados para fazendo interface com DONs. Esses adaptadores também podem incluir APIs para enviar dados para tais servidores. Os servidores web aos quais um DON se conecta podem servir como gateways a recursos adicionais, como dispositivos de Internet das Coisas (IoT).• Armazenamento externo: um adaptador pode definir métodos para ler e gravar no armazenamento serviços fora do DON, como um sistema de arquivos descentralizado [40, 188] ou nuvem armazenamento. • Outros DONs: Os adaptadores podem recuperar e transmitir dados entre DONs. Esperamos que as implantações iniciais de DONs incluam um conjunto de blocos de construção adaptadores para recursos externos comumente usados e permitirá ainda DON específicos adaptadores a serem publicados pelos nós DON. À medida que os desenvolvedores smart contract escrevem adaptadores hoje, esperamos que eles construam adaptadores ainda mais poderosos usando este avançado funcionalidade. Esperamos que, em última análise, seja possível aos usuários criar novos adaptadores em um maneira sem permissão. Alguns adaptadores devem ser construídos de forma a garantir a persistência e disponibilidade de recursos externos controlados por um DON. Por exemplo, o armazenamento em nuvem pode exigem a manutenção de uma conta de serviços em nuvem. Além disso, um DON pode executar gerenciamento descentralizado de chaves privadas em nome dos usuários (como em, por exemplo, [160]) e/ou executáveis. Consequentemente, o DON é capaz de controlar recursos, como criptomoeda, que podem ser usados, por exemplo, para enviar transações em um alvo blockchain. Consulte o Apêndice B.1 para obter mais detalhes sobre os adaptadores DON, assim como o Apêndice C para alguns exemplo de adaptadores. 3.2 Computação Um executável é a unidade básica de código em um DON. Um executável é um par exec = (lógica, inicialização). Aqui, a lógica é um programa determinístico com um número de entradas designadas pontos (logic1, logic2, . . . , logicℓ) e init é um conjunto de iniciadores correspondentes (init1, init2, . . . , iniciar). Para garantir a auditabilidade total do DON, a lógica de um executável usa o razão subjacente L para todas as entradas e saídas. Assim, por exemplo, qualquer adaptador os dados que servem como entrada para um executável devem ser armazenados primeiro em L. Iniciadores: Os iniciadores em Chainlink hoje causam execuções de tarefas dependentes de eventos em Chainlink nós [21]. Os iniciadores em DONs funcionam da mesma maneira. Um iniciador DON, entretanto, está especificamente associado a um executável. Um iniciador pode depender em um evento ou estado externo, na hora atual ou em um predicado no estado DON. Com a sua dependência de eventos, os iniciadores podem, naturalmente, comportar-se de forma não determinística. (como é claro, os adaptadores). Um iniciador pode ser executado em nós DON individuais e portanto não precisa depender de um adaptador. (Veja o Exemplo 1 abaixo.) Iniciadores são um recurso importante que distingue executáveis de smart contracts. Como um executável pode ser executado em resposta a um iniciador, ele pode operar efetivamente de forma autônoma, como é claro, por extensão, um contrato híbrido que incorpora o executável. Uma forma de iniciadores hoje são Chainlink Keepers, que fornecem transaçõesserviços de automação, desencadeando a execução de smart contract – como liquidação de empréstimos com garantia insuficiente e execução de negociações com ordens de limite – com base em relatórios oracle. Convenientemente, os iniciadores em DONs também podem ser vistos como uma forma de especificar o contratos de serviço que se aplicam a um executável, pois definem as circunstâncias sob qual o DON deve chamá-lo. O exemplo a seguir ilustra como os iniciadores funcionam em um executável: Exemplo 1 (feed de preço acionado por desvio). Um smart contract SC pode exigir novos dados de alimentação de preços (ver Seção 3.6.3) sempre que houver uma mudança substancial, por exemplo, 1%, em a taxa de câmbio entre um par de ativos, por exemplo, ETH-USD. Preço sensível à volatilidade feeds são suportados em Chainlink hoje, mas é instrutivo ver como eles podem ser realizado em um DON por meio de um execfeed executável. O executável execfeed mantém o preço ETH-USD mais recente r em L, no forma de uma sequência de ⟨NewPrice: j, r⟩entries, onde j é um índice incrementado com cada atualização de preço. Um iniciador init1 faz com que cada nó Oi monitore o preço atual do ETH-USD para desvios de pelo menos 1% do preço armazenado mais recentemente r com índice j. Após detecção de tal desvio, a Oi escreve sua visão atual ri do novo preço para L usando uma entrada no formato ⟨PriceView : i, j + 1, ri⟩. Um segundo iniciador init2 é acionado quando pelo menos k dessas entradas PriceView com novo preço valores para o índice j + 1 criados por nós distintos foram acumulados em L. Então, init2 invoca uma lógica de ponto de entrada2 para calcular a mediana ρ dos primeiros k valores novos e válidos de priceview e grava um novo valor ⟨NewPrice : j + 1, ρ⟩to L . (Operacionalmente, nós podem se revezar como escritores designados.) Um terceiro iniciador init3 observa as entradas NewPrice em L. Sempre que um novo relatório ⟨NewPrice : j, r⟩aparece lá, invoca uma lógica de ponto de entrada3 que empurra (j, r) para SC usando um adaptador. Como observamos, um executável é semelhante em suas capacidades a um smart contract. Além de seu desempenho superior, difere de um contrato típico da cadeia principal. de duas maneiras essenciais: 1. Confidencialidade: Um executável pode realizar computação confidencial, ou seja, um programa secreto pode processar entradas de texto não criptografado, ou um programa publicado pode processar dados de entrada secretos ou uma combinação de ambos. Num modelo simples, os dados secretos podem ser acessado por nós DON, que ocultam resultados intermediários e divulgam apenas valores processados e higienizados para MAINCHAIN. Também é possível ocultar dados confidenciais dos próprios DONs: DONs destinam-se a apoiar abordagens como como computação multipartidária, por exemplo, [42, 157] e ambientes de execução confiáveis (TEEs) [84, 133, 152, 229] para esse fim.6 6Por extensão, também é possível manter os próprios executáveis em segredo em relação aos nós DON, embora isso só seja prático hoje para executáveis não triviais usando TEEs.2. Função de suporte: um executável destina-se a suportar smart contracts em um servidor principal cadeia, em vez de substituí-los. Um executável tem várias limitações que um smart contract não: (a) Modelo de confiança: um executável opera dentro do modelo de confiança definido pelo DON: Sua execução correta depende do comportamento honesto de O. (A principal cadeia pode, no entanto, fornecer algumas barreiras de proteção contra DON prevaricação, como discutido na Seção 7.3.) (b) Acesso a ativos: Um DON pode controlar uma conta em um blockchain - e, portanto, controlar ativos nele por meio de um adaptador. Mas um DON não pode ser autorizado representam ativos criados em uma cadeia principal, por exemplo, Ether ou ERC20 tokens, uma vez que sua cadeia nativa mantém o registro oficial de sua propriedade. (c) Ciclo de vida: DONs podem ser levantados intencionalmente com vida útil limitada, como definido por acordos de nível de serviço na cadeia entre DONs e os proprietários de contratos confiáveis. Blockchains, por outro lado, devem funcionar como sistemas de arquivo permanente. Consulte o Apêndice B.2 para obter mais detalhes sobre o cálculo de DON. 3.3 Armazenamento Como um sistema baseado em comitê, um DON pode armazenar quantidades moderadas de dados de forma persistente em L a um custo muito menor do que um blockchain sem permissão. Além disso, através de adaptadores, DONs podem fazer referência a sistemas descentralizados externos para armazenamento de dados, por exemplo, Filecoin [85], e pode, assim, conectar tais sistemas a smart contracts. Esta opção é particularmente atraente para dados em massa como forma de resolver o problema generalizado de “inchaço” em blockchain sistemas. DONs podem, portanto, armazenar dados local ou externamente para uso em seus serviços especificamente suportados. Um DON também pode fazer uso desses dados de forma confidencial, computação em dados que são: (1) compartilhados em segredo entre nós DON ou criptografados em uma chave gerenciada por nós DON de maneira adequada para computação multipartidária segura ou criptografia parcial ou totalmente homomórfica; ou (2) protegido usando uma execução confiável ambiente. Esperamos que DONs adotem um modelo simples de gerenciamento de memória comum a sistemas de contrato inteligente: um executável só pode gravar em sua própria memória. Executáveis pode, no entanto, ler da memória de outros executáveis. Consulte o Apêndice B.3 para obter mais detalhes sobre o armazenamento DON. 3.4 Estrutura de Execução de Transações (TEF) DONs destinam-se a apoiar contratos em uma cadeia principal MAINCHAIN (ou em várias cadeias principais). O Transaction-Execution Framework (TEF), discutido em detalhesna Seção 6, é uma abordagem de propósito geral para a execução eficiente de um contrato SC em MAINCHAIN e um DON. O TEF destina-se a apoiar FSS e camada 2 tecnologias - simultaneamente, se desejado. Na verdade, é provável que sirva como o principal veículo para uso do FSS (e por essa razão, não discutiremos mais detalhadamente o FSS nesta seção). Resumidamente, no TEF, um contrato-alvo original SC projetado ou desenvolvido para MAINCHAIN é refatorado em um contrato híbrido. Essa refatoração produz os dois processos interoperacionais partes do contrato híbrido: um contrato MAINCHAIN SCa ao qual nos referimos para maior clareza no contexto dos TEFs como um contrato âncora e um executivo executável em um DON. O O contrato SCa custodia os ativos dos usuários, executa transições de estado autorizadas e também fornece guarda-corpos (consulte a Seção 7.3) contra falhas no DON. Os executivos executáveis sequencia transações e fornece dados oracle associados para elas. Pode agrupar transações para SCa de várias maneiras - por exemplo, usando provas de validade ou rollups otimistas, execução confidencial por DON, etc. Esperamos desenvolver ferramentas que facilitem aos desenvolvedores a partição de um contrato SC escrito em uma linguagem de alto nível em partes da lógica MAINCHAIN e DON, SCa e executivos respectivamente, que compõem com segurança e eficiência. Usando TEF para integrar esquemas de transações de alto desempenho com transações de alto desempenho oracles é parte integrante da nossa abordagem de escalonamento oracle. 3.5 Serviços de mempool Um recurso importante da camada de aplicação que pretendemos implantar em DONs para suporte do FSS e do TEF são Mempool Services (MS). MS pode ser visto como um adaptador, mas com suporte de primeira classe. MS fornece suporte para processamento de transações compatíveis com legado. Neste uso, MS ingere do mempool de uma cadeia principal as transações destinadas a um contrato alvo SC em MAINCHAIN. A MS então passa essas transações para um executável no DON, onde são processados da maneira desejada. Os dados MS podem ser usados pelo DON para compor transações que podem então ser passadas diretamente para SC a partir do DON ou para outro contrato que chama SC. Por exemplo, o DON pode encaminhar transações colhido via MS, ou pode usar dados do MS para definir os preços do gás para as transações que envia para MAINCHAIN. Por monitorar o mempool, o MS pode obter transações de usuários interagindo diretamente com o SC. Assim, os usuários podem continuar a gerar suas transações usando software legado, ou seja, aplicativos que desconhecem a existência de MS e software configurado por MS contratos. (Neste caso, SC deve ser alterado para ignorar as transações originais e aceitar apenas os processados pelo MS, de modo a evitar o duplo processamento.) Para uso com um SC de contrato-alvo, o MS pode ser usado com o FSS e/ou o TEF.3.6 trampolins: capacidades Chainlink existentes 3.6.1 Relatórios fora da cadeia (OCR) Relatórios fora da cadeia (OCR) [60] é um mecanismo em Chainlink para oracle agregação e transmissão de relatórios para um SC de contrato confiável. Implantado recentemente pelo preço de Chainlink redes de alimentação, representa um primeiro passo no caminho para DONs completos. Em sua essência, OCR é um protocolo BFT projetado para operar de forma parcialmente síncrona. rede. Garante vivacidade e correção na presença de f <n/3 arbitrariamente nós defeituosos, garantindo as propriedades da transmissão confiável bizantina, mas não é um protocolo de consenso BFT completo. Os nós não mantêm logs de mensagens que são consistente no sentido de representar um livro-razão que é idêntico em todas as suas visões, e o líder do protocolo pode equivocar-se sem violar a segurança. OCR é atualmente projetado para um tipo específico de mensagem: agregação mediana de (pelo menos 2f +1) valores relatados pelos nós participantes. Ele fornece uma garantia fundamental sobre os relatórios que ele gera para SC, chamados de relatórios atestados: O valor mediano em um atestado report é igual ou está entre os valores relatados por dois nós honestos. Esta propriedade é a principal condição de segurança para OCR. O líder pode ter alguma influência sobre a mediana valor em laudo atestado, mas somente sujeito a esta condição de correção. OCR pode ser estendido a tipos de mensagens que agregam valores de diferentes maneiras. Embora as metas de atividade e correção da rede Chainlink hoje não exijam Para que o OCR seja um protocolo de consenso completo, eles exigem que o OCR forneça algumas formas adicionais de funcionalidade não presentes nos protocolos BFT convencionais, mais notavelmente: 1. Transmissão de relatório fora da cadeia do tipo tudo ou nada: OCR garante que um relatório atestado é disponibilizado rapidamente para todos os nós honestos ou para nenhum deles. Isto é uma justiça propriedade que ajuda a garantir que nós honestos tenham a oportunidade de participar na transmissão de relatório atestado. 2. Transmissão confiável: OCR garante, mesmo na presença de falhas ou mal-intencionados nós, que todos os relatórios e mensagens de OCR são transmitidos ao SC dentro de um determinado, intervalo de tempo pré-definido. Esta é uma propriedade de vivacidade. 3. Minimização da confiança baseada em contrato: o SC filtra relatórios gerados por OCR potencialmente errados, por exemplo, se seus valores relatados se desviarem significativamente de outros recebidos recentemente. Esta é uma forma de aplicação de correção extraprotocolo. Todas essas três propriedades desempenharão um papel natural em DONs. A transmissão off-chain do tipo tudo ou nada (DON) é um importante alicerce para garantias criptoeconômicas em torno da transmissão confiável, que por sua vez é uma propriedade essencial do adaptador. Confiança a minimização em SC é um tipo de guarda-corpo, conforme discutido na Seção 7.3. OCR também fornece uma base para implantação operacional e refinamento de protocolos BFT nas redes Chainlink de oracle e, portanto, como observado acima, um caminho para a plena funcionalidade de DONs.3.6.2 DECO e Pregoeiro DECO [234] e Town Crier [233] são um par de tecnologias relacionadas atualmente em desenvolvido em redes Chainlink. A maioria dos servidores web hoje permite que os usuários se conectem através de um canal seguro usando um protocolo chamado Transport Layer Security (TLS) [94]. (HTTPS indica uma variante de HTTP que está habilitado com TLS, ou seja, URLs prefixados com “https” indicam o uso de TLS para segurança.) A maioria dos servidores habilitados para TLS tem uma limitação notável: eles não assinam digitalmente dados. Consequentemente, um usuário ou Prover não pode apresentar os dados que recebe de um servidor a um terceiro ou verificador, como um oracle ou smart contract, de uma forma que garanta a autenticidade dos dados. Mesmo que um servidor assinasse digitalmente os dados, ainda existiria um problema de confidencialidade. Um Provador pode desejar redigir ou modificar dados confidenciais antes de apresentá-los a um Verificador. Entretanto, as assinaturas digitais são projetadas especificamente para invalidar dados modificados. Assim, evitam que um Provador faça alterações que preservem a confidencialidade. aos dados. (Veja a Seção 7.1 para mais discussão.) DECO e Town Crier são projetados para permitir que um provador obtenha dados de uma web servidor e apresentá-lo a um verificador de uma forma que garanta integridade e confidencialidade. Os dois sistemas preservam a integridade no sentido de garantirem que os dados apresentados pelos o Provador para o Verificador se origina autenticamente do servidor de destino. Eles apoiam confidencialidade no sentido de permitir que o Provador edite ou modifique os dados (enquanto ainda preservando a integridade). Uma característica fundamental de ambos os sistemas é que eles não exigem nenhuma modificação em um servidor web de destino. Eles podem operar com qualquer servidor existente habilitado para TLS. Na verdade, eles são transparentes para o servidor: Do ponto de vista do servidor, o Provador é estabelecendo uma conexão comum. Os dois sistemas têm objetivos semelhantes, mas diferem em seus modelos de confiança e implementações, como explicaremos brevemente agora. DECO faz uso fundamental de protocolos criptográficos para alcançar sua integridade e propriedades de confidencialidade. Ao estabelecer uma sessão com um servidor alvo usando DECO, o Provador se envolve ao mesmo tempo em um protocolo interativo com o Verificador. Este protocolo permite ao Provador provar ao Verificador que recebeu um determinado dado D do servidor durante sua sessão atual. O Provador pode alternativamente, apresente ao Verificador uma prova de conhecimento zero de alguma propriedade de D e, portanto, não revela D diretamente. Em um uso típico do DECO, um usuário ou um único nó pode exportar dados D de um servidor privado. sessão com um servidor web para todos os nós em um DON. Como resultado, o DON completo pode atestar a autenticidade de D (ou um fato derivado de D através de uma prova de conhecimento zero). Além dos exemplos de aplicações dados posteriormente neste artigo, esse recurso pode ser usado para amplificar o acesso de alta integridade a uma fonte de dados por um DON. Mesmo que apenas um nó tem acesso direto a uma fonte de dados – devido, por exemplo, a um acordo exclusivo com um provedor de dados - ainda é possível para todo o DON atestar a exatidão derelatórios emitidos por esse nó. Town Crier depende do uso de um ambiente de execução confiável (TEE), como Intel SGX. Resumidamente, um TEE funciona como uma espécie de caixa preta que executa aplicações de uma forma forma inviolável e confidencial. Em princípio, mesmo o proprietário do host no qual o TEE está em execução não pode alterar (de forma indetectável) um aplicativo protegido por TEE nem visualizar o estado do aplicativo, que pode incluir dados secretos. Town Crier pode alcançar todas as funcionalidades do DECO e muito mais. DECO restringe o Provador à interação com um único Verificador. Em contraste, o Town Crier permite um provador para gerar uma prova publicamente verificável sobre os dados D obtidos de um servidor de destino, ou seja, uma prova que qualquer pessoa, mesmo um smart contract, pode verificar diretamente. O Pregoeiro da Cidade pode também ingerir e usar segredos com segurança (por exemplo, credenciais de usuário). A principal limitação do Town Crier é a sua dependência dos TEEs. Os ETEs de produção têm recentemente demonstrou ter uma série de vulnerabilidades graves, embora a tecnologia esteja na sua infância e irá, sem dúvida, amadurecer. Consulte os Apêndices B.2.1 e B.2.2 para discussão mais aprofundada sobre ETEs. Para alguns exemplos de aplicações de DECO e Town Crier, consulte as Seções 4.3, 4.5 e 9.4.3 e Apêndice C.1. 3.6.3 Serviços Chainlink existentes na rede As redes Chainlink oracle fornecem vários serviços principais em uma multiplicidade de blockchains e outros sistemas descentralizados hoje. Evolução adicional conforme descrito neste whitepaper dotará esses serviços existentes com recursos adicionais e alcance. Três exemplos são: Feeds de dados: Hoje, a maioria dos usuários de Chainlink que dependem de smart contracts fazem uso de feeds de dados. Estes são relatórios sobre o valor atual dos principais dados de acordo com para fontes oficiais fora da cadeia. Por exemplo, feeds de preços são feeds que informam os preços de ativos - criptomoedas, commodities, forex, índices, ações, etc. - de acordo com trocas ou serviços de agregação de dados. Esses feeds hoje já ajudam a garantir bilhões de dólares em valor na cadeia por meio de seu uso em sistemas DeFi como Aave [147] e Sintetix [208]. Outros exemplos de feeds de dados Chainlink incluem dados meteorológicos para seguro agrícola paramétrico [75] e dados eleitorais [93], entre vários outros. A implantação de DONs e outras tecnologias descritas neste documento melhorará o fornecimento de feeds de dados em redes Chainlink de várias maneiras, incluindo: • Dimensionamento: OCR e subsequentemente DONs visam permitir o dimensionamento dos serviços Chainlink dramaticamente nos muitos blockchains que eles suportam. Por exemplo, esperamos que DONs ajudarão a aumentar o número de feeds de dados fornecidos pelos nós usando Chainlink de 100 a 1000 e além. Esse dimensionamento ajudará o Chainlink ecossistema atingir seu objetivo de fornecer dados relevantes para smart contracts de forma abrangente e atender e antecipar as necessidades existentes e futuras.• Segurança aprimorada: ao armazenar relatórios intermediários, DONs reterão registros de comportamentos de nós para monitoramento e medição de alta fidelidade de seu desempenho e precisão, permitindo uma forte base empírica de sistemas de reputação para nós Chainlink. O FSS e o TEF permitirão a incorporação de feeds de preços com dados de transação de maneiras flexíveis que evitam ataques como front-running. (Explícito) staking reforçará a proteção criptoeconômica existente da segurança de feeds de dados. • Agilidade de alimentação: como sistemas agnósticos blockchain (na verdade, mais amplamente, sistemas agnósticos de consumo), DONs podem facilitar o fornecimento de feeds de dados para uma multiplicidade de sistemas confiáveis. Um único DON pode enviar um determinado feed simultaneamente para um conjunto de diferentes blockchains, eliminando a necessidade de redes oracle por cadeia e permitindo a rápida implantação de feeds existentes em novos blockchains e de adicionais feeds em blockchains atualmente atendidos. • Confidencialidade: A capacidade de realizar computação generalizada em um DON permite que cálculos em dados confidenciais ocorram off-chain, evitando on-chain exposição. Além disso, utilizando DECO ou Town Crier, é possível conseguir confidencialidade ainda mais forte, permitindo a geração de relatórios com base em dados que não são exposto até mesmo a nós DON. Consulte a Seção 4.3 e a Seção 4.5 para exemplos. Funções aleatórias verificáveis (VRFs): Vários tipos de DApps exigem uma fonte de aleatoriedade comprovadamente correta para permitir a verificação de sua própria operação justa. Tokens Não Fungíveis (NFTs) são um exemplo. A raridade dos recursos NFT em Aavegotchi [23] e Axie Infinity [35] é determinada por Chainlink VRF, assim como a distribuição de NFTs por meio de sorteios baseados em tickets em Cartões Ether [102]; a grande variedade de DApps de jogos cujos resultados são aleatórios; e instrumentos financeiros não convencionais, por exemplo, jogos de poupança sem perdas, como PoolTogether [89], que alocam fundos para vencedores aleatórios. Outros aplicativos blockchain e não blockchain também exigem segurança fontes de aleatoriedade, incluindo a seleção de comitês do sistema descentralizado e o execução de loterias. Embora os blocos hashes possam servir como uma fonte de aleatoriedade imprevisível, eles são vulneráveis à manipulação por mineradores adversários (e, até certo ponto, por usuários que enviam transações). Chainlink VRF [78] oferece uma alternativa consideravelmente mais segura. Um oracle possui um par de chaves privada/pública associado (sk, pk) cuja chave privada é mantida off-chain e cuja chave pública pk é publicada. Para gerar um valor aleatório, é aplica sk a uma semente imprevisível x fornecida por um contrato confiável (por exemplo, um bloco hash e parâmetros específicos do DApp) usando uma função F, produzindo y = Fsk(x) junto com um prova de correção. (Consulte [180] para o VRF disponível em Chainlink.) O que torna um VRF verificável é o fato de que com o conhecimento de pk é possível verificar a exatidão da prova e, portanto, de y. O valor y é consequentemente imprevisível para um adversário que não pode prever x ou aprender sk e é inviável para o serviço manipular.Chainlink VRF pode ser visto apenas como parte de uma família de aplicações que envolvem a custódia de chaves privadas off-chain. De forma mais geral, DONs podem oferecer segurança, armazenamento descentralizado de chaves individuais para aplicativos e/ou usuários e combinar esta capacidade com computação generalizada. O resultado é uma série de aplicações, de que damos alguns exemplos neste artigo, incluindo gerenciamento de chaves para Prova de Reservas (ver Seção 4.1) e para credenciais descentralizadas de usuários (e outras activos) (ver Secção 4.3). Guardiões: Chainlink Keepers [87] permitem que os desenvolvedores escrevam código para sistemas descentralizados execução de trabalhos fora da cadeia, geralmente para acionar a execução de smart contracts confiáveis. Antes do advento dos Keepers, era comum que os desenvolvedores operassem tais plataformas fora da cadeia. lógica, criando pontos de falha centralizados (bem como esforços de desenvolvimento duplicados consideráveis). Em vez disso, os Keepers fornecem uma estrutura fácil de usar para terceirização descentralizada dessas operações, possibilitando ciclos de desenvolvimento mais curtos e forte garantia de vivacidade e outras propriedades de segurança. Os Keepers podem apoiar qualquer de uma ampla variedade de objetivos desencadeadores, incluindo liquidação de empréstimos dependente do preço ou execução de transações financeiras, início dependente do tempo de lançamentos aéreos ou pagamentos em sistemas com colheita produtiva e assim por diante. Na estrutura DON, os iniciadores podem ser vistos como uma generalização dos Guardiões em vários sentidos. Os iniciadores podem fazer uso de adaptadores e, portanto, podem aproveitar uma biblioteca modularizada de interfaces para sistemas on-chain e off-chain, permitindo rápida desenvolvimento de funcionalidades seguras e sofisticadas. Iniciadores iniciam a computação em executáveis, que oferecem toda a versatilidade dos DONs, permitindo a ampla gama de serviços descentralizados que apresentamos neste artigo para aplicações on-chain e off-chain. 3.6.4 Reputação do nó/histórico de desempenho O ecossistema Chainlink existente documenta nativamente os históricos de desempenho de nós contribuintes na cadeia. Esse recurso deu origem a uma coleção de recursos orientados à reputação que ingerem, filtram e visualizam dados de desempenho de indivíduos. operadores de nós e feeds de dados. Os usuários podem consultar esses recursos para obter informações decisões na seleção de nós e monitorar a operação das redes existentes. Recursos semelhantes ajudarão os usuários a escolher DONs. Por exemplo, hoje em dia, os mercados sem permissão, como market.link, permitem que o nó operadores listem seus serviços oracle e ateste suas identidades fora da cadeia por meio serviços como Keybase [4], que vinculam o perfil de um nó em Chainlink ao seu nomes de domínio existentes e contas de mídia social do proprietário. Além disso, o desempenho ferramentas analíticas, como as disponíveis em market.link e reputação.link, permitem usuários visualizem estatísticas sobre o desempenho histórico de nós individuais, incluindo seus latência média de resposta, o desvio dos valores em seus relatórios dos valores de consenso retransmitidos na cadeia, receitas geradas, empregos realizados e muito mais. Essas ferramentas analíticas também permitir que os usuários rastreiem a adoção de várias redes oracle por outros usuários, uma forma deendosso implícito dos nós que protegem essas redes. O resultado é uma “rede de confiança” na qual, ao usar nós específicos, aplicações descentralizadas de alto valor criam um sinal de sua confiança nos nós que outros usuários podem observar e levar em consideração em seus próprias decisões de seleção de nós. Com DONs (e inicialmente com OCR) ocorre uma mudança no processamento de transações e atividade de contrato mais geralmente fora da cadeia. Um modelo descentralizado para nó de gravação o desempenho permanece possível dentro do próprio DON. Na verdade, o alto desempenho e a capacidade de dados de DONs tornam possível construir registros de maneira fina maneira e também para realizar computação descentralizada nesses registros, produzindo resumos confiáveis que podem ser consumidos por serviços de reputação e verificados em MAINCHAIN. Embora seja possível, em princípio, que um DON deturpe o comportamento dos nós constituintes se uma grande fração dos nós estiver corrompida, notamos que o coletivo o desempenho do próprio DON na entrega de dados on-chain é visível em MAINCHAIN e, portanto, não pode ser deturpada. Além disso, planejamos explorar mecanismos que incentivar relatórios internos precisos sobre o comportamento dos nós em um DON. Por exemplo, reportando o subconjunto de nós de alto desempenho que retornam mais rapidamente dados que contribuem para um relatório transmitido em cadeia, um DON cria um incentivo para os nós contestarem relatórios: incluir nós incorretamente neste subconjunto significa excluir nós incorretamente que deveriam ter sido incluídos e, portanto, penalizá-los inválidamente. Falhas repetidas de relatórios por parte de um DON também criariam um incentivo para que os nós honestos deixassem o DON. Compilação descentralizada de históricos de desempenho precisos e a consequente capacidade dos usuários de identificar nós de alto desempenho e de os operadores de nós construírem reputações são características distintivas importantes do ecossistema Chainlink. Nós mostrar na Seção 9 como podemos raciocinar sobre eles como uma peça-chave de uma abordagem rigorosa e visão expansiva da segurança econômica fornecida por DONs.

分散化によって実現される分散化サービス

オラクルネットワークス DONs の多用途性と、それらがどのように新しいサービスのホストを可能にするかを説明するには、次のようにします。 このセクションでは、DON ベースのアプリケーションの 5 つの例を示し、 それらを実現するハイブリッド契約: (1) クロスチェーン サービスの一形態である Proof of Reserves。 (2) エンタープライズ/レガシーシステムとのインターフェース、つまりミドルウェアベースのシステムの作成 最小限の要素で blockchain アプリケーションの開発を容易にする抽象化レイヤー blockchain 固有のコードまたは専門知識。 (3) 分散型アイデンティティ、ユーザーが次のことを可能にするツール 自分自身の身分証明書と資格情報を取得して管理する。 (4) 優先チャンネル、 重要なインフラストラクチャのトランザクションをタイムリーに含めることを保証するサービス (例: oracle) レポート) blockchain について。 (5) 機密保持 DeFi、つまり財務 参加当事者の機密データを隠すsmart contract。 ここで、私たちは

SC を使用してハイブリッド コントラクトの MAINCHAIN 部分を示し、DON を記述します。 コンポーネントを個別に、または実行可能ファイル exec として。 4.1 準備金の証明 多くのアプリケーションでは、blockchain 間で状態を中継すると便利です。あ このようなサービスの一般的な用途は、暗号通貨のラッピングです。ラッピングされたコインなど WBTC [15] は分散型金融 (DeFi) で人気の資産になりつつあるためです。彼らは 「ラップされた」バッキング資産をソース blockchain MAINCHAIN(1) にデポジットすることが含まれます。 そして、対応する token を別のターゲット blockchain MAINCHAIN(2) に作成します。 たとえば、WBTC は、Ethereum blockchain 上の ERC20 token であり、これに対応します。 Bitcoin blockchain の BTC へ。 MAINCHAIN(2) のコントラクトは MAINCHAIN(1) を直接認識できないため、 ラップされた資産のデポジットを報告するには、明示的または暗黙的に oracle に依存する必要があります。 smart contract の資産を作成し、プルーフ・オブ・リザーブと呼ばれることもあります。で WBTC [15] など、カストディアン BitGo は BTC を保持し、WBTC を発行します。 Chainlink ネットワークはプルーフ オブ リザーブ [76] を提供します。 DON 自体が準備金の証明を提供できます。ただし、DON では、次のことが可能です。 さらに進むために。 DON はシークレットを管理でき、適切なアダプターを使用することで、 任意のblockchainで取引できます。したがって、DON が動作する可能性があります。 多数のカストディアンの中の 1 人として、または単一の分散型カストディアンとして、 ラップされたアセット。これにより、DONs は、セキュリティを強化するプラットフォームとして機能します。 Proofs of Reserves を使用する既存のサービス。 たとえば、MAINCHAIN(1) が Bitcoin で、MAINCHAIN(2) が Ethereum であるとします。 MAINCHAIN(2) では、コントラクト SC がラップされた BTC を表す token を発行します。 DON BTC アドレス addr(1) を制御します DON。 BTC をラップするには、ユーザー U が X BTC を送信します。 アドレス(1) U アドレス(1)へ DON と MAINCHAIN(2)-address addr(2) U 。 DON モニター アドレス(1) DON アダプタ経由で MAINCHAIN(1) に接続します。 U のデポジットを観察すると、十分に高い確率で確認が得られ、アダプタを介して SC にメッセージを送信します。 メインチェーン(2)。このメッセージは、SC に addr(2) の X token を作成するように指示します。 U 。 U が X token を解放すると、その逆が起こります。 ただし、MAINCHAIN(1) では、 アドレス(1) DON は X BTC を addr(1) に送信します U (またはユーザーが要求した場合は別のアドレス)。 もちろん、これらのプロトコルは、直接ではなく交換機と連動するように適合させることができます。 ユーザーと一緒に。 4.2 エンタープライズ/レガシー システムとのインターフェース DON は、Proof の例のように、blockchain 間のブリッジとして機能します。 しかし、もう一つの目的は、保護区間の双方向の橋渡し役として機能することです。 blockchain およびレガシー システム [176] または blockchain のようなシステム (中央銀行など) デジタル通貨 [30]。 企業は、既存のシステムとネットワークを接続する際に多くの課題に直面しています。 以下を含む分散システムへのプロセス。• ブロックチェーンの俊敏性: ブロックチェーン システムは急速に変化します。企業は、blockchain の急速な新たな出現や人気の上昇に直面する可能性があります。 取引相手は取引を希望しているが、企業にはそれに関する権限がない。 既存のインフラストラクチャでのサポート。一般的に、blockchains のダイナミズムは 個々の企業が完全なエコシステムに遅れを取らないようにすることは困難です。 • ブロックチェーン固有の開発リソース: 多くの組織にとって、最先端のblockchain専門知識を雇用または育成することは、特に次のような観点から困難です。 敏捷性への挑戦。 • 秘密鍵の管理: blockchains または暗号通貨の秘密鍵を管理するには、従来のサイバーセキュリティとは異なる運用上の専門知識が必要です。 慣行であり、多くの企業は利用できません。 • 機密性: 企業は機密情報や専有情報を公開することを懸念しています。 チェーン上のデータ。 これらの問題のうち最初の 3 つに対処するには、開発者は DON を使用するだけで済みます。 エンタープライズ システムの読み取りまたは書き込みを可能にする安全なミドルウェア層として blockchain秒。 DON は、次のような詳細な技術的考慮事項を抽象化できます。 ガスダイナミクス、チェーンの再編成など、開発者とユーザーの両方に役立ちます。によって 合理化された blockchain インターフェイスをエンタープライズ システムに提供することで、DON は blockchain 対応のエンタープライズ アプリケーションの開発が大幅に簡素化され、blockchain 固有の開発リソースを取得または育成するという企業の負担が軽減されます。 DONs のこのような使用法は、エンタープライズ開発者が次のことを可能にするという点で特に魅力的です。 blockchain にほとんど依存しないスマート コントラクト アプリケーションを作成します。その結果、 DON がミドルウェアとして機能するように設定されている blockchain のセットが大きい場合、 企業ユーザーが簡単にアクセスできる blockchain のセットが大きくなります。開発者 最小限の変更で既存の blockchain から新しいアプリケーションにアプリケーションを移植できます 社内で開発されたアプリケーションに。 機密保持というさらなる問題に対処するために、開発者は、 この文書で紹介するツールは、DON アプリケーションをサポートするために導入される予定です。 これらには、DECO および Town Crier セクション 3.6.2 および機密保持が含まれます。 API の変更についてはセクション 7.1.2 で説明し、アプリケーション固有のいくつかのアプローチについてはこのセクションの残りの部分で説明します。これらのDON システムは次のことを提供できます。 エンタープライズ システムの状態を明らかにすることなく、高整合性のオンチェーン認証を行う 機密性の高いエンタープライズ ソース データがチェーン上に存在します。 4.3 分散型アイデンティティ 分散型アイデンティティは、ユーザーが次のことができるべきであるという概念の一般用語です。 サードパーティに依存するのではなく、独自の資格情報を取得して管理する そう。分散型資格情報は、所有者の属性または主張に対する証明書です。これらはしばしばクレームと呼ばれます。資格情報は、エンティティによってデジタル署名されます。 発行者は、権限を持ってクレームをユーザーに関連付けることができます。提案されているスキームのほとんどでは、 クレームは、分散型識別子 (DID)、つまり汎用識別子に関連付けられています。 特定のユーザー。資格情報は、ユーザーがその秘密鍵を保持する公開鍵にバインドされます。 したがって、ユーザーは自分の秘密鍵を使用して請求の所有を証明できます。 分散型アイデンティティとしての先見性は、既存のスキームと提案されたスキームです。例: [14、92、 129, 216] には 3 つの重大な制限があります。 • レガシー互換性の欠如: 既存の分散型 ID システムは、 発行者と呼ばれる当局のコミュニティが DID 認証情報を生成します。なぜなら 既存の Web サービスは通常、データにデジタル署名を行わないため、発行者が立ち上げる必要がある 特殊な目的のシステムとして。なぜなら、 分散型アイデンティティ エコシステムでは、卵が先か鶏が先かの問題が発生します。その他では つまり、発行者のエコシステムをどのようにブートストラップするかは不明です。 • 機能しないキー管理: 分散型 ID システムでは、ユーザーは次のことを行う必要があります。 秘密鍵の管理、暗号通貨の経験が示していること 実行不可能な負担になること。約 4,000,000 Bitcoin が被害を受けたと推定されています。 鍵管理の失敗 [194] により永久に失われ、多くのユーザーが 暗号資産を取引所 [193] と共有することにより、分散化が損なわれます。 • プライバシーを保護するシビル耐性の欠如: 投票、token 販売中の token の公平な割り当てなどのアプリケーションの基本的なセキュリティ要件は、次のとおりです。 ユーザーは複数の ID を主張できません。既存の分散型アイデンティティ提案では、そのようなことを実現するために、ユーザーが現実世界のアイデンティティを明らかにする必要があります。 シビル耐性により、重要なプライバシー保証が損なわれます。 ノードの委員会を組み合わせて使用することで、これらの問題に対処することが可能です。 DON 内で分散計算を実行し、DECO などのツールを使用する または、CanDID [160] と呼ばれるシステムに示されている Town Crier。 DECO または Town Crier は、設計により既存の Web サービスを変更せずに変えることができます 機密性を保持する資格情報の発行者に。これらにより、DON が関連するファイルをエクスポートできるようになります。 この目的のためのデータを認証情報に含める一方、機密データを隠す必要はありません。 資格情報に表示されます。 さらに、ユーザーのキー回復を容易にし、キー管理の問題に対処します。 問題として、DON を使用すると、ユーザーは秘密鍵を秘密共有形式で保存できるようになります。ユーザーは次のことができます DON 内のノードに証明することでキーを回復します。同様に、Town Crier または DECO - 所定の Web プロバイダーのセットを使用してアカウントにログインする機能 (例: ツイッター、グーグル、フェイスブック)。 Town Crier または DECO を使用する利点は、 OAUTH はユーザーのプライバシーです。これら 2 つのツールを使用すると、ユーザーは DON への暴露を回避できます。 Web プロバイダーの識別子。多くの場合、そこから現実世界の ID を導き出すことができます。 最後に、[160] に示すように、シビル耐性を提供するには、DON で次のことが可能です。 ユーザーの一意の実世界識別子のプライバシーを保護する変換を実行する (社会保障番号 (SSN) など) をユーザー登録時にオンチェーン識別子に変換します。これにより、システムは、次のような機密データを使用せずに重複した登録を検出できます。 SSN は個々の DON ノードに公開されます。7 DON は、外部の分散型 ID に代わってこれらのサービスのいずれかを提供できます 許可のないまたは許可された blockchain 上のシステム (例: Hyperledger のインスタンス) インディ [129]。 アプリケーション例: KYC: 分散型アイデンティティは、次の手段として有望です。 ユーザーの利便性を向上させながら、blockchains の金融アプリケーションの要件を合理化します プライバシー。解決に役立つ 2 つの課題は、マネーロンダリング防止 / 顧客確認 (AML / KYC) 規制に基づく認定とコンプライアンス義務です。 多くの国の AML 規制では、金融機関 (およびその他の企業) に対して、取引先の個人および企業の身元を確認し、確認することが求められています。 彼らは取引を実行します。 KYC は金融機関のコンポーネントの 1 つを形成します。 より広範な AML ポリシーには、通常、特にユーザーの行動の監視や資金の流れの監視も含まれます。 KYC には通常、何らかの形式 (例: ユーザーの顔の前に身分証明書をかざしてオンライン Web フォームに入力する ビデオセッションなど)。分散型認証情報の安全な作成と提示 原理的には、いくつかの点で有益な代替手段となり得る。すなわち、(1) KYC プロセスは、ユーザーと金融機関にとってより効率的になります。 資格情報が取得されれば、あらゆる金融機関にシームレスに提示できます。 (2) 侵害による個人情報の盗難の機会を減らすことで不正行為を減らす 個人識別情報 (PII) の流出およびビデオ検証中のなりすまし。そして (3) ユーザーがコントロールを保持できるため、金融機関における PII 侵害のリスクが軽減されます。 自分自身のデータの。 AMLコンプライアンス違反に対して金融機関が支払った数十億ドルの罰金と、多くの金融機関がKYCに年間数百万ドルを費やしていることを考慮すると、改善は金融機関にかなりの節約をもたらす可能性がある さらに言えば、消費者向け[196]。伝統的な金融セクターの動きが遅い一方で、 新しいコンプライアンス ツールを採用するために、DeFi システムでは [43] を採用するケースが増えています。 適用例: 担保不足のローン: ほとんどのDeFiアプリケーションは、 現在のサポート融資は、完全に担保された融資のみを組成しています。これらは融資です 融資額を超える仮想通貨資産を預けている借り手に。 最近、DeFi コミュニティで一般に過少担保ローンと呼ばれるものに関心が高まっています。対照的に、これらは対応する担保が設定されているローンです。 ローンの元本よりも価値が低いもの。担保不足のローン 従来の金融機関が行うローンによく似ています。依存するのではなく ローン返済の保証として預けられた担保に基づいて融資を行うのではなく、 借り手の信用履歴に基づく決定。 7この変換は分散擬似乱数関数 (PRF) に依存しています。担保不足のローンは、DeFi 融資市場において初期段階ではあるものの、成長を続けている部分を構成しています。彼らは伝統的な金融機関が採用しているようなメカニズムに依存しています。 法的契約 [91] などの機関。彼らの成長に不可欠な要件 従来の融資決定における重要な要素であるユーザーの信用力に関するデータを、強力な整合性を提供する方法で DeFi システムに提供できるようになります。 正しいデータの保証。 DON 対応の分散型 ID システムにより、借り手希望者は次のことが可能になります。 信用力を維持しながら、信頼性の高い認証情報を生成します。 機密情報の機密性。具体的には、借り手はこれらを生成できます 信頼できるオンライン ソースからの記録に基づく認証情報のみを公開しながら、 他の潜在的な機密データを公開することなく、DON によって証明されたデータ。のために たとえば、借り手は自分の信用スコアが 一連の信用調査機関は、彼女を明らかにすることなく、特定のしきい値 (例: 750) を超えます。 彼女の記録にある正確なスコアやその他のデータ。さらに、必要に応じて、そのような資格情報 匿名で生成できます。つまり、ユーザーの名前は機密データとして扱われます。 そして、それ自体は oracle ノードや分散認証情報に公開されません。資格情報 それ自体は、アプリケーションに応じてチェーンまたはオフチェーンで使用できます。 要約すると、借り手は自分の信用に関する重要な情報を貸し手に提供できます。 強い整合性を持ち、不必要で機密性の高い情報が漏洩するリスクのない履歴 データ。 借り手は、機密保持のためのその他のさまざまな認証情報を提供することもできます。 融資の決定に役立ちます。たとえば、資格情報は借り手の本人であることを証明できます。 次の例で示すように、(オフチェーン) 資産の所有。 アプリケーション例: 認定: 多くの管轄区域では、未登録証券を販売できる投資家の種類が制限されています。たとえば、米国では SEC 規則 D では、そのような投資機会に対して認定されるためには、 個人は 100 万ドルの純資産を所有しているか、特定の最低収入要件を満たしているか、特定の専門的資格を持っている必要があります [209, 210]。現在の認定 プロセスは煩雑で非効率的であり、多くの場合、 会計士、または同様の証拠。 分散型 ID システムにより、ユーザーは次の情報から資格情報を生成できます。 認定への準拠を証明する既存のオンライン金融サービス口座 規制を強化し、より効率的でプライバシーを保護した KYC プロセスを促進します。 の さらに、DECO と Town Crier のプライバシー保護特性により、これらのことが可能になります。 認証情報は、ユーザーの経済状況の詳細を直接明らかにすることなく、完全性が強力に保証されて生成されます。たとえば、ユーザーは資格情報を生成できます。 それ以上のことを明らかにすることなく、彼女が少なくとも100万ドルの純資産を持っていることを証明する 彼女の経済状況に関する情報。 4.4 優先チャンネル プライオリティ チャネルは、DON を使用して簡単に構築できる便利な新しいサービスです。彼らの

Diagram of basic Mixicle showing on-chain secrecy with private oracle reporting

Priority channel diagram showing a miner guarantee for transaction ordering to protect against MEV

目標は、厳選された優先度の高いトランザクションをメインチェーン上でタイムリーに配信することです ネットワークが混雑しているとき。優先チャネルは、次のような形式と見なすことができます。 ブロック空間上の先物契約、したがって暗号商品としての一部として造られた用語 プロジェクト・シカゴ [61, 136]。 優先チャネルは、特にマイナーがoracle、契約のガバナンス機能などのインフラストラクチャ サービスを有効にすることを目的としており、金融取引などの通常のユーザーレベルのアクティビティを対象とするものではありません。 実際、ここで設計されているように、優先順位は ネットワーク内のマイニング電力の 100% 未満によって実装されたチャネルは、 配信時間に緩やかな制限を設け、速度に大きく依存する用途での使用を防止します。 先制ゴールなど。 図 10: 優先チャネルはマイナー M による保証です。より一般的には、 マイナーのセット M - ユーザー U に、彼女のトランザクション τ が D ブロック内でマイニングされることを通知します。 mempool に含めるかどうか。契約 SC は、DON モニタリングを使用して、 チャンネルのサービス規約。 優先チャネルは、マイナーまたはマイナーのセット間の合意の形をとります。 チャネルを提供する(またはマイニングプール)M と、アクセス料金を支払うユーザー U です。 M は、U がトランザクション τ をメモリプールに送信するとき (任意のガス価格で、ただし、事前に合意されたガス制限)、M はそれを次の D ブロック内のチェーンに配置します。8 この概念を図 10 に概略的に示します。 優先チャネル契約の説明: 優先チャネルは、 ハイブリッド smart contract はおおよそ次のとおりです。 SC は MAINCHAIN 上のロジックを表すものとします。 そしてそれは exec による DON のものです。 SC は U.A からデポジット / ステーク \(d from M and an advance payment \)p を受け取ります DON 実行可能ファイル exec はメモリプールを監視し、トランザクションの配置時にトリガーします U によって、M がマイニングするトランザクションを U が送信すると、成功メッセージが SC に送信されます。 タイムリーな方法と、サービス障害の場合の障害メッセージ。 SC は成功メッセージを受け取って $p の支払いを M に送信し、残りの資金をすべて送信します。 $d を含み、失敗メッセージを受信した場合は U に送信されます。正常に終了すると、 M に $d のデポジットをリリースします。 もちろん、マイナー M は複数のユーザーに優先チャネルを同時に提供することもできます。 ユーザーは、事前に合意された数のメッセージに対して U を使用して優先チャネルを開くことができます。 4.5 機密保持 DeFi / Mixicles 現在、DeFi アプリケーション [1] は、ユーザーに対して機密性をほとんど、あるいはまったく提供していません。すべてのトランザクションはチェーン上で表示されます。さまざまなゼロ知識ベースのアプローチ、例: [149、217]、 トランザクションのプライバシーを提供でき、TEF はそれらをサポートするのに十分な汎用性を備えています。でも これらのアプローチは包括的ではなく、たとえば、通常、 トランザクションの基礎となる資産。 DONs で最終的にサポートする予定の広範な計算ツールのセットは、 このようなギャップを埋めるさまざまな方法でプライバシーを確保し、他のシステムのプライバシー保証を補完するのに役立ちます。たとえば、Chainlink 研究所の研究者 [135] によって提案された機密保持 DeFi 機器である Mixicles は、 金融商品を裏付ける資産タイプであり、DON に非常に自然に適合します。 フレームワーク。 ミクシクルは、単純なバイナリを実現するために使用するという観点から最も簡単に説明されます。 オプション。 バイナリー オプションは 2 人のユーザーが参加する金融商品です。 プレーヤーとしての [135] との一貫性については、ここを参照してください。2 つの可能性があるイベントに賭けます 結果、たとえば、事前に指定された時点で資産が目標価格を超えるかどうか。 次の例は、このアイデアを示しています。 例 2. アリスとボブは、資産の価値に基づくバイナリー オプションの当事者です。 キャロルのバブルトークン(CBT)と呼ばれます。アリスは、CBT の市場価格が になると賭けます。 2025 年 6 月 21 日の T = 正午時点で最低 250 米ドル。ボブは逆に賭けます。各プレイヤー 事前に指定された期限までに 100 ETH を入金します。勝ちポジションを持つプレイヤー 200 ETHを受け取ります(つまり、100 ETHを獲得します)。 もちろん、8D は、M が高い確率に準拠できることを保証するのに十分な大きさでなければなりません。 のために たとえば、M がネットワーク内のマイニング電力の 20% を制御している場合、D = 100 を選択する可能性があります。 故障確率は ≈2 × 10−10、つまり 10 億分の 1 未満です。既存の Chainlink oracle ネットワーク O を考慮すると、スマートなネットワークを実装するのは簡単です。 例 2 の合意を実現する契約 SC。2 人のプレーヤーがそれぞれ入金します。 SCで100ETH。 T の後のある時点で、クエリ q が O に送信され、商品の価格 r が要求されます。 時間 T.O の CBT は、この価格のレポート r を SC に送信します。その後、SC はアリスに送金します。 r ≥250 の場合はボブ、そうでない場合はボブ。ただし、このアプローチではチェーン上の r が明らかになり、簡単になります。 オブザーバーがバイナリー オプションの基礎となる資産を推測できるようにします。 Mixicles の用語では、結果を概念的に考えると役立ちます。 述語として計算されたバイナリ値を送信するスイッチに関する SC の スイッチ(r)。この例では、r ≥250 の場合は switch(r) = 0 になります。この結果を考えると、アリスが勝ちます。 それ以外の場合は、switch(r) = 1 となり、ボブが勝ちます。 DON は、実行可能ファイルを実行することで、基本的な Mixicle をハイブリッド コントラクトとして実現できます。 switch(r) を計算し、それをチェーン上で SC に報告する exec。この構造を示します 図11に示す。 図 11: 例 2 の基本的な Mixicle の図。 レポート r、つまりバイナリー オプションの基礎となる資産を、oracle が バイナリ値スイッチのみを介して SC を契約します (r)。 これを簡単に実現できるアダプター ConfSwitch を付録 C.3 で指定します。 DONでゴール。 ConfSwitch の基本的な考え方は非常にシンプルです。報告する代わりに 値 r の場合、ConfSwitch はバイナリ スイッチ値 switch(r) のみを報告します。 SCは可能です switch(r) のみ、および switch(r) 自体に基づいて正しい支払いを行うように設計されています。 原資産 (この例では CBT) に関する情報は明らかにされません。さらに、 pkaud で暗号化された台帳上の (q, r) に暗号文を配置することにより、 アダプターの ConfSwitch は、機密性を保持する監査証跡を作成します。 ここでの説明を簡単にするために選択した基本的な Mixicle は、 この例では、バイナリー オプションの背後にある資産と賭け金です。本格的な Mixicle [135] は次のことができます。 2 つの形式の機密保持を提供します。それは観察者からは次のことを隠します: (1) どのような出来事が起こったか プレイヤーは(つまり、q と r)だけでなく、(2)どのプレイヤーが賭けに勝ったかにも賭けます。 Mixicles は MAINCHAIN 上で実行されるため、どちらかのプレイヤーが中継する必要があります。 DON から MAINCHAIN に switch(r) するか、実行可能 exec が作成される可能性があります。

ConfSwitch による出力でトリガーされ、別のアダプターを呼び出してスイッチ(r) を送信します。 メインチェーン。 3 番目の微妙な種類の機密保持も考慮する価値があります。 ConfSwitch の基本的な実装では、O は DON でアダプターを実行しているため、 資産 (この例では CBT)、つまりバイナリー オプションの性質です。議論したように ただし、付録 C.3 では、さらに DECO または Town Crier を使用して、 この情報さえも O から隠します。この場合、O はそれ以上の情報を知りません。 SCの公的オブザーバーよりも。 Mixicles の詳細については、[135] を参照してください。

Serviços descentralizados habilitados por descentralizados

Redes Oracle Para ilustrar a versatilidade dos DONs e como eles permitem uma série de novos serviços, apresentamos cinco exemplos de aplicativos baseados em DON nesta seção e descrevemos o contratos híbridos que os realizam: (1) Prova de Reservas, uma forma de serviço cross-chain; (2) Interface com sistemas corporativos/legados, ou seja, criação de um ambiente baseado em middleware camada de abstração que facilita o desenvolvimento de aplicativos blockchain com o mínimo blockchain-código ou conhecimento específico; (3) Identidade descentralizada, ferramentas que permitem aos utilizadores obter e gerenciar seus próprios documentos e credenciais de identidade; (4) Canais prioritários, um serviço que garante a inclusão oportuna de transações de infraestrutura crítica (por exemplo, oracle relatórios) em blockchain; e (5) DeFi de preservação de confidencialidade, ou seja, financeiro smart contracts que ocultam os dados confidenciais das partes participantes. Aqui, nós

use SC para denotar a parte MAINCHAIN de um contrato híbrido e descreva o DON componente separadamente ou em termos de um executável exec. 4.1 Comprovante de Reservas Para muitas aplicações, é útil retransmitir o estado entre blockchains. Um Uma aplicação popular de tais serviços é o empacotamento de criptomoedas. Moedas embrulhadas como como WBTC [15] estão se tornando um ativo popular nas finanças descentralizadas (DeFi). Eles envolvem o depósito do ativo de garantia “embrulhado” em sua fonte blockchain MAINCHAIN(1) e criando um token correspondente em um destino blockchain MAINCHAIN(2) diferente. Por exemplo, WBTC é um ERC20 token no Ethereum blockchain que corresponde para BTC no Bitcoin blockchain. Como os contratos em MAINCHAIN(2) não têm visibilidade direta em MAINCHAIN(1), eles devem confiar explícita ou implicitamente em um oracle para relatar os depósitos do pacote embalado ativo em um smart contract, produzindo o que às vezes é chamado de Prova de Reservas. Em WBTC [15], por exemplo, o custodiante BitGo detém BTC e emite WBTC, com o Chainlink rede que fornece Comprovantes de Reserva [76]. Um DON pode fornecer uma Prova de Reservas. Com um DON, entretanto, é possível para ir mais longe. Um DON pode gerenciar segredos e, através do uso de adaptadores apropriados, pode fazer transações em qualquer blockchain desejado. Consequentemente, é possível que o DON atue como um entre vários custodiantes - ou mesmo como um único custodiante descentralizado - para um ativo embrulhado. DONs podem servir como uma plataforma para aumentar a segurança de serviços existentes que utilizam Provas de Reservas. Por exemplo, suponha que MAINCHAIN(1) seja Bitcoin e MAINCHAIN(2) seja Ethereum. Em MAINCHAIN(2), um contrato SC emite tokens representando BTC embalado. O DON controla um endereço BTC addr(1) DON. Para encapsular o BTC, então, um usuário U envia X BTC de endereço(1) Você para endereço(1) DON junto com um endereço MAINCHAIN(2) addr(2) Você. O DON monitora endereço(1) DON através de um adaptador para MAINCHAIN(1). Ao observar o depósito de U, com confirmação de probabilidade suficientemente alta, ele envia uma mensagem para SC através de um adaptador para CORRENTE PRINCIPAL(2). Esta mensagem instrui SC a cunhar X tokens para addr(2) Você. Para U liberar X tokens, acontece o inverso. Em MAINCHAIN(1), entretanto, endereço(1) DON envia X BTC para addr(1) U (ou para outro endereço, se assim for solicitado pelo utilizador). Esses protocolos podem ser adaptados, é claro, para funcionar com exchanges, em vez de diretamente com os usuários. 4.2 Interface com sistemas corporativos/legados DONs podem servir como pontes entre blockchains, como no exemplo de Prova de Reservas, mas outro objetivo é que atuem como pontes bidirecionais entre blockchains e sistemas legados [176] ou sistemas semelhantes a blockchain, como banco central moedas digitais [30]. As empresas enfrentam uma série de desafios para conectar seus sistemas existentes e processos para sistemas descentralizados, incluindo:• Agilidade Blockchain: Os sistemas Blockchain mudam rapidamente. Uma empresa pode enfrentar o rápido aparecimento ou aumento de popularidade de blockchains nos quais contrapartes desejam realizar transações, mas para as quais a empresa não tem suporte em sua infra-estrutura existente. Em geral, o dinamismo de blockchains faz com que é difícil para as empresas individuais manterem-se a par de todo o ecossistema. • Recursos de desenvolvimento específicos para Blockchain: Para muitas organizações, contratar ou incubar conhecimentos blockchain de ponta é difícil, especialmente em vista da desafio da agilidade. • Gerenciamento de chaves privadas: o gerenciamento de chaves privadas para blockchains ou criptomoedas requer conhecimento operacional distinto daquele da segurança cibernética tradicional práticas e indisponíveis para muitas empresas. • Confidencialidade: As empresas desconfiam de expor seus dados confidenciais e proprietários dados na cadeia. Para resolver as três primeiras dessas dificuldades, os desenvolvedores podem simplesmente usar um DON como uma camada de middleware segura para permitir que sistemas corporativos leiam ou gravem em blockchains. O DON pode abstrair considerações técnicas detalhadas, como dinâmica de gases, reorganização da cadeia e assim por diante, tanto para desenvolvedores quanto para usuários. Por apresentando uma interface blockchain simplificada para sistemas corporativos, um DON pode, portanto, simplificar consideravelmente o desenvolvimento de aplicativos empresariais com reconhecimento de blockchain, eliminando o fardo das empresas de adquirir ou incubar recursos de desenvolvimento específicos de blockchain. Esse uso de DONs é especialmente atraente porque permite que os desenvolvedores corporativos criar aplicativos de contratos inteligentes que são em grande parte blockchain agnósticos. Como resultado, o maior o conjunto de blockchains para os quais um DON é instrumentado para atuar como middleware, o maior o conjunto de blockchains aos quais os usuários corporativos podem obter acesso fácil. Desenvolvedores pode portar aplicativos de blockchains existentes para novos com modificação mínima às suas aplicações desenvolvidas internamente. Para resolver o problema adicional da confidencialidade, os desenvolvedores podem recorrer ao ferramentas que apresentamos neste documento e esperamos implantar para suporte a aplicativos DON. Estes incluem DECO e Town Crier Seção 3.6.2, bem como sistemas de preservação de confidencialidade Modificações de API discutidas na Seção 7.1.2 e uma série de abordagens específicas de aplicação abordadas no restante desta seção. Esses sistemas DON podem fornecer atestados on-chain de alta integridade sobre o estado do sistema empresarial sem revelar dados confidenciais de origem empresarial na cadeia. 4.3 Identidade Descentralizada Identidade descentralizada é um termo geral para a noção de que os usuários devem ser capazes de obter e gerenciar suas próprias credenciais, em vez de depender de terceiros para fazer então. Credenciais descentralizadas são atestados de atributos ou afirmações do titular,que muitas vezes são chamados de reivindicações. As credenciais são assinadas digitalmente por entidades, muitas vezes chamadas emissores, que podem associar declarações com autoridade aos usuários. Na maioria dos esquemas propostos, reivindicações estão associadas a um Identificador Descentralizado (DID), um identificador universal para um determinado usuário. As credenciais estão vinculadas a uma chave pública cuja chave privada o usuário possui. O usuário pode assim provar a posse de uma reivindicação usando sua chave privada. Por mais visionários que sejam a identidade descentralizada, os esquemas existentes e propostos, por exemplo, [14, 92, 129, 216], têm três limitações severas: • Falta de compatibilidade legada: Os sistemas de identidade descentralizados existentes dependem de um comunidade de autoridades, chamadas emissores, para produzir credenciais DID. Porque os serviços web existentes geralmente não assinam dados digitalmente, os emissores devem ser lançados como sistemas para fins especiais. Porque não há incentivo para fazer isso sem uma ecossistema de identidade descentralizada, o resultado é um problema do ovo e da galinha. Em outro palavras, não está claro como inicializar um ecossistema de emissores. • Gerenciamento de chaves impraticável: Os sistemas de identidade descentralizados exigem que os usuários gerenciar chaves privadas, algo que a experiência com criptomoeda mostrou ser um ônus inviável. Estima-se que cerca de 4.000.000 Bitcoin foram perdidos para sempre devido a falhas de gerenciamento de chaves [194], e muitos usuários armazenam seus ativos criptográficos com exchanges [193], minando assim a descentralização. • Falta de resistência Sybil que preserve a privacidade: Um requisito básico de segurança de aplicações como votação, alocação justa de tokens durante vendas de token, etc. os usuários não poderão afirmar múltiplas identidades. As propostas de identidade descentralizadas existentes exigem que os utilizadores revelem as suas identidades do mundo real, a fim de alcançar tal resistência Sybil, minando assim importantes garantias de privacidade. É possível resolver estes problemas usando uma combinação de um comitê de nós realizando computação distribuída dentro de um DON e o uso de ferramentas como DECO ou Town Crier, conforme mostrado em um sistema chamado CanDID [160]. DECO ou Town Crier podem, por design, transformar serviços web existentes sem modificação em emissores de credenciais que preservam a confidencialidade. Eles permitem que um DON exporte dados relevantes dados para esse fim em uma credencial, ocultando dados confidenciais que não deveriam aparecem na credencial. Além disso, para facilitar a recuperação de chaves para os usuários, abordando assim o problema de gerenciamento de chaves problema, um DON pode permitir que os usuários armazenem chaves privadas em formato secreto compartilhado. Os usuários podem recupere suas chaves provando aos nós no DON - da mesma forma, usando Town Crier ou DECO – uma capacidade de fazer login em contas com um conjunto de provedores da web pré-determinados (por exemplo, Twitter, Google, Facebook). O benefício de usar Town Crier ou DECO, em oposição a OAUTH, é a privacidade do usuário. Essas duas ferramentas permitem que o usuário evite revelar ao DON um identificador de provedor da web – do qual muitas vezes podem ser derivadas identidades do mundo real. Finalmente, para fornecer resistência Sybil, conforme mostrado em [160], é possível que um DON realizar uma transformação que preserva a privacidade de identificadores exclusivos do mundo real para usuários (por exemplo, números de segurança social (SSNs)) em identificadores na rede após o registro do usuário.O sistema pode, assim, detectar registros duplicados sem dados confidenciais, como SSNs sendo revelados para nós DON individuais.7 Um DON pode fornecer qualquer um desses serviços em nome de identidade descentralizada externa sistemas em blockchains sem ou com permissão, por exemplo, instâncias do Hyperledger Indy [129]. Exemplo de aplicação: KYC: A identidade descentralizada é promissora como meio de simplificar os requisitos para aplicações financeiras em blockchains enquanto melhora o usuário privacidade. Dois desafios que pode ajudar a resolver são as obrigações de acreditação e conformidade ao abrigo dos regulamentos anti-lavagem de dinheiro/conheça o seu cliente (AML/KYC). As regulamentações ABC em muitos países exigem que as instituições financeiras (e outras empresas) estabeleçam e verifiquem as identidades de indivíduos e empresas com as quais eles realizam transações. KYC constitui um componente do sistema de uma instituição financeira uma política ABC mais ampla, que normalmente também envolve a monitorização do comportamento dos utilizadores e a observação dos fluxos de fundos, entre outras coisas. O KYC normalmente envolve a apresentação de credenciais de identidade pelo usuário de alguma forma (por exemplo, entrada em um formulário on-line da web, segurando um documento de identidade na frente do rosto do usuário em uma sessão de vídeo, etc.). Criação segura e apresentação de credenciais descentralizadas poderia, em princípio, ser uma alternativa benéfica em vários aspectos, nomeadamente: (1) Fazendo o processo KYC mais eficiente para usuários e instituições financeiras, porque uma vez a credencial for obtida, ela poderá ser apresentada perfeitamente a qualquer instituição financeira; (2) Reduzir a fraude, reduzindo as oportunidades de roubo de identidade através de comprometimento de informações de identificação pessoal (PII) e falsificação durante a verificação de vídeo; e (3) Reduzir o risco de comprometimento de PII em instituições financeiras, à medida que os usuários mantêm o controle dos seus próprios dados. Dadas as multas multibilionárias pagas pelas instituições financeiras por falhas de conformidade com a AML, e as muitas instituições financeiras que gastam milhões de dólares anualmente em KYC, as melhorias poderiam gerar poupanças consideráveis para as instituições financeiras. e, por extensão, para consumidores [196]. Embora o setor financeiro tradicional seja lento para adotar novas ferramentas de conformidade, DeFi os sistemas estão cada vez mais adotando-as [43]. Exemplo de aplicação: Empréstimos com garantia insuficiente: A maioria dos aplicativos DeFi que os empréstimos de apoio hoje originam apenas empréstimos totalmente garantidos. Estes são empréstimos feitos para mutuários que depositam ativos de criptomoeda de valor superior ao dos empréstimos. Recentemente surgiu interesse naquilo que a comunidade DeFi geralmente chama de empréstimos com garantia insuficiente. Estes, pelo contrário, são empréstimos para os quais a garantia correspondente tem valor inferior ao do principal do empréstimo. Empréstimos com garantia insuficiente assemelham-se a empréstimos frequentemente concedidos por instituições financeiras tradicionais. Em vez de confiar na garantia depositada como garantia do reembolso do empréstimo, eles baseiam o empréstimo decisões sobre os históricos de crédito dos mutuários. 7Essa transformação depende de uma função pseudoaleatória distribuída (PRF).Os empréstimos com garantia insuficiente constituem uma parte nascente, mas crescente, do mercado de empréstimos DeFi. Eles dependem de mecanismos como aqueles empregados pelas finanças tradicionais. instituições, como contratos legais [91]. Um requisito essencial para o seu crescimento será a capacidade de fornecer dados sobre a qualidade de crédito do usuário - um fator-chave nas decisões de empréstimo convencionais - para sistemas DeFi de uma forma que forneça forte integridade, ou seja, garantia de dados corretos. Um sistema de identidade descentralizado habilitado para DON permitiria que os possíveis mutuários gerar credenciais de alta garantia que atestem sua qualidade de crédito, preservando ao mesmo tempo a confidencialidade de informações sensíveis. Especificamente, os mutuários podem gerar esses credenciais baseadas em registros de fontes on-line confiáveis, expondo apenas o dados atestados por DON, sem expor outros dados potencialmente sensíveis. Para Por exemplo, um mutuário pode gerar uma credencial indicando que sua pontuação de crédito com um conjunto de agências de crédito excede um limite específico (por exemplo, 750), sem revelar seu pontuação precisa ou quaisquer outros dados em seus registros. Além disso, se desejado, tais credenciais podem ser gerados anonimamente, ou seja, o nome do usuário pode ser tratado como dado sensível e ela própria não está exposta aos nós oracle ou em sua credencial descentralizada. A credencial em si pode ser usado em cadeia ou fora da cadeia, dependendo da aplicação. Em resumo, um mutuário pode fornecer informações essenciais aos credores sobre o seu crédito histórias com forte integridade e sem risco de exposição de informações desnecessárias e sensíveis dados. Um mutuário também pode fornecer uma variedade de outras credenciais que preservam a confidencialidade útil na tomada de decisões de empréstimo. Por exemplo, as credenciais podem atestar a posse de ativos (fora da cadeia), como mostramos em nosso próximo exemplo. Exemplo de aplicação: Credenciamento: Muitas jurisdições limitam a classe de investidores aos quais os títulos não registrados podem ser vendidos. Por exemplo, nos EUA, SEC O Regulamento D estipula que para ser credenciado para tais oportunidades de investimento, um o indivíduo deve possuir um patrimônio líquido de US$ 1 milhão, atender a certos requisitos de renda mínima ou ter certas qualificações profissionais [209, 210]. Credenciamento atual processos são complicados e ineficientes, muitas vezes exigindo uma carta de atestado do um contador ou evidência semelhante. Um sistema de identidade descentralizado permitiria aos usuários gerar credenciais de contas de serviços financeiros on-line existentes que comprovem conformidade com o credenciamento regulamentações, facilitando um processo KYC mais eficiente e que preserva a privacidade. O Além disso, as propriedades de preservação da privacidade da DECO e da Town Crier permitiriam que estes credenciais a serem geradas com uma forte garantia de integridade, sem revelar diretamente detalhes da situação financeira de um usuário. Por exemplo, um usuário pode gerar uma credencial provar que ela tem um patrimônio líquido de pelo menos US$ 1 milhão sem revelar qualquer valor adicional informações sobre sua situação financeira. 4.4 Canais Prioritários Os canais prioritários são um novo serviço útil e fácil de construir usando um DON. Seu

Diagram of basic Mixicle showing on-chain secrecy with private oracle reporting

Priority channel diagram showing a miner guarantee for transaction ordering to protect against MEV

o objetivo é entregar transações selecionadas e de alta prioridade em tempo hábil no MAINCHAIN durante períodos de congestionamento da rede. Os canais prioritários podem ser vistos como uma forma de contrato futuro no espaço do bloco e, portanto, como uma criptomoeda, um termo cunhado como parte do Projeto Chicago [61, 136]. Os canais prioritários destinam-se especificamente aos mineradores para permitir serviços de infraestrutura, como oracles, funções de governança para contratos, etc. – e não para atividades comuns no nível do usuário, como transações financeiras. Na verdade, tal como concebido aqui, uma prioridade canal implementado por menos de 100% do poder de mineração na rede só pode fornecem limites frouxos nos prazos de entrega, evitando seu uso para tarefas altamente dependentes da velocidade. objetivos como a liderança. Figura 10: Um canal prioritário é uma garantia de um minerador M – ou, mais geralmente, um conjunto de mineradores M - para um usuário U que sua transação τ será extraída em D blocos de inclusão no mempool. Um SC de contrato pode usar monitoramento DON para fazer cumprir o termos de serviço do canal. Um canal prioritário assume a forma de um acordo entre um minerador ou um conjunto de mineradores (ou pools de mineração) M que fornece o canal e um usuário U que paga uma taxa pelo acesso. M concorda que quando U envia uma transação τ ao mempool (com qualquer preço de gás,mas um limite de gás pré-acordado), M irá colocá-lo na cadeia nos próximos blocos D.8 A ideia é representada esquematicamente na Fig. Descrição do contrato de canal prioritário: Um canal prioritário pode ser realizado como um híbrido smart contract aproximadamente como segue. Deixamos SC denotar a lógica em MAINCHAIN e isso em DON por exec. SC aceita um depósito/aposta \(d from M and an advance payment \)p dos EUA DON executável exec monitora o mempool, acionando na colocação de uma transação por U. Ele envia uma mensagem de sucesso para SC se U enviar uma transação que M minera em em tempo hábil e uma mensagem de falha em caso de falha no serviço. SC envia o pagamento $p para M com uma mensagem de sucesso e envia todos os fundos restantes, incluindo $d, para U se receber uma mensagem de falha. Após a rescisão bem-sucedida, libera o depósito $d para M. O minerador M pode, é claro, fornecer canais prioritários simultaneamente para vários usuários e pode abrir um canal prioritário com U para um número pré-acordado de mensagens. 4,5 Preservação de confidencialidade DeFi / Mixicles Hoje, DeFi aplicativos [1] fornecem pouca ou nenhuma confidencialidade aos usuários: todas as transações são visíveis na cadeia. Várias abordagens baseadas em conhecimento zero, por exemplo, [149, 217], podem fornecer privacidade às transações e o TEF é geral o suficiente para apoiá-los. Mas essas abordagens não são abrangentes e, por exemplo, normalmente não escondem o ativo no qual uma transação se baseia. O amplo conjunto de ferramentas computacionais que pretendemos apoiar em DONs irá permitir a privacidade de diversas maneiras diferentes que podem preencher essas lacunas, ajudando a complementar as garantias de privacidade de outros sistemas. Por exemplo, Mixicles, um instrumento de preservação de confidencialidade DeFi proposto por Chainlink pesquisadores do Labs [135], pode ocultar o tipo de ativo que respalda um instrumento financeiro e se enquadra muito naturalmente no DON quadro. Mixicles são mais facilmente explicados em termos de seu uso para realizar um sistema binário simples. opção. Uma opção binária é um instrumento financeiro no qual dois usuários, que iremos consulte aqui para consistência com [135] como jogadores, aposte em um evento com dois possíveis resultados, por exemplo, se um ativo excede ou não um preço-alvo em um momento pré-designado. O exemplo a seguir ilustra a ideia. Exemplo 2. Alice e Bob são partes de uma opção binária baseada no valor de um ativo chamado Carol’s Bubble Token (CBT). Alice aposta que o CBT terá um preço de mercado de pelo menos pelo menos 250 USD no horário T = meio-dia de 21 de junho de 2025; Bob aposta o contrário. Cada jogador deposita 100 ETH em um prazo pré-especificado. O jogador com a posição vencedora recebe 200 ETH (ou seja, ganha 100 ETH). É claro que 8D deve ser grande o suficiente para garantir que M possa cumprir com alta probabilidade. Para Por exemplo, se M controlar 20% do poder de mineração na rede, ele poderá escolher D = 100, garantindo uma probabilidade de falha de ≈2 × 10−10, ou seja, menos de uma em um bilhão.Dada uma rede Chainlink oracle O existente, é fácil implementar um sistema inteligente contrato SC que realiza o acordo no Exemplo 2. Cada um dos dois jogadores deposita 100 ETH em SC. Algum tempo depois de T, uma consulta q é enviada a O solicitando o preço r de CBT no momento T. O envia um relatório r desse preço para SC. SC então envia dinheiro para Alice se r ≥250 e Bob se não. Esta abordagem, no entanto, revela r em cadeia – tornando mais fácil para um observador deduzir o ativo subjacente à opção binária. Na terminologia de Mixicles, é útil pensar conceitualmente no resultado de SC em termos de um Switch que transmite um valor binário calculado como um predicado interruptor (r). Em nosso exemplo, switch(r) = 0 se r ≥250; dado este resultado, Alice vence. Caso contrário switch(r) = 1 e Bob vence. Um DON pode realizar um Mixicle básico como um contrato híbrido executando um executável exec que calcula switch(r) e reporta-o em cadeia para SC. Mostramos esta construção na Figura 11. Figura 11: Diagrama do Mixicle básico no Exemplo 2. Para fornecer sigilo na cadeia para relatório r e, portanto, o ativo subjacente à opção binária, o oracle envia para o contrate SC via Switch apenas o valor binário switch(r). Especificamos um adaptador ConfSwitch no Apêndice C.3 que torna mais fácil conseguir isso meta em um DON. A ideia básica por trás do ConfSwitch é bastante simples. Em vez de relatar o valor r, ConfSwitch relata apenas o valor da chave binária switch(r). SC pode ser projetado para fazer um pagamento correto com base apenas no switch(r) e no switch(r) por si só não revela nenhuma informação sobre o ativo subjacente – CBT em nosso exemplo. Além disso, colocando um texto cifrado em (q, r) no livro-razão criptografado em pkaud, a chave pública de um auditor, o adaptador ConfSwitch cria uma trilha de auditoria que preserva a confidencialidade. O Mixicle básico que escolhemos para simplificar a descrição aqui esconde apenas o ativo e aposta atrás da opção binária em nosso exemplo. Um Mixicle completo [135] pode fornecer duas formas de confidencialidade. Ela esconde dos observadores: (1) Qual evento o os jogadores apostam em (ou seja, q e r), mas também (2) em qual jogador ganhou a aposta. Como os Mixicles são executados no MAINCHAIN, qualquer um dos jogadores precisaria retransmitir switch(r) de DON para MAINCHAIN, ou um executável exec pode ser criado que

é acionado na saída pelo ConfSwitch e chama outro adaptador para enviar switch(r) para MAINCHAIN. Também vale a pena considerar um terceiro tipo sutil de confidencialidade. Em uma implementação básica do ConfSwitch, O está executando o adaptador no DON e, portanto, aprende o ativo – CBT em nosso exemplo – e, portanto, a natureza da opção binária. Conforme discutido no Apêndice C.3, no entanto, também é possível usar DECO ou Town Crier para ocultar até mesmo esta informação de O. Neste caso, o O não aprende mais informações do que um observador público de SC. Para mais detalhes sobre Mixicles, recomendamos aos leitores [135].

公正な順序付けサービス

DONs が提供すると予想される、ネットワーキング、計算、ストレージ機能を活用した重要なサービスの 1 つは、Fair Sequencing Services (FSS) と呼ばれます。 FSS は単に DON フレームワーク内で実現されるアプリケーションとして見なされるかもしれませんが、私たちは FSS を、あらゆる分野で需要が高いと思われるサービスとして強調しています。 blockchains、Chainlink ネットワークが積極的にサポートすることが期待されます。 パブリック blockchain ネットワーク上で実行すると、今日の DeFi アプリケーションの多くが ユーザーが自分の利益のために悪用できる情報を明らかにする。 既存の組織に蔓延している内部関係者の漏洩や操作の機会の種類 市場[64、155]。その代わりに、FSS は公平な DeFi エコシステムへの道を開きます。 FSS 開発者が市場操作から保護されたDeFi契約を構築するのに役立ちます 情報漏洩によるもの。以下で強調する問題を考慮すると、FSS は レイヤ 2 サービスにとって特に魅力的であり、そのようなサービスのフレームワーク内に適合します これについてはセクション 6 で説明します。 課題: 既存のパーミッションレス システムでは、トランザクションは完全に順序付けされます 鉱山労働者の裁量で。許可されたネットワークでは、validator ノードが影響を与える可能性があります。 同じ力。これは、ほとんど認識されていない一時的な集中化の一形態です。 それ以外の場合は分散システム。マイナーはトランザクションを(一時的に)検閲することができます。 [171] 自身の利益を最大化するか、自身のゲインを最大化するためにそれらを並べ替えます。これは、採掘可能値 (MEV) [90] と呼ばれる概念です。 MEV という用語は少し欺瞞的です。つまり、MEV を指すものではありません。 マイナーがキャプチャできる値のみ: 一部の MEV は一般ユーザーがキャプチャできます。 ただし、マイナーは通常のユーザーよりも大きな権限を持っているため、MEV は、あらゆるエンティティが敵対的な並べ替えを通じて取得できる価値の量の上限を表します。 および補完的なトランザクションの挿入。マイナーが単純にトランザクションを注文する場合でも、 料金(ガス)に基づいて、操作することなく、ユーザー自身がガス価格を操作できます 洗練されていない取引よりも取引を有利にするため。 大安ら。 [90] ボット (マイナーではない) が実行する方法を文書化して定量化します。 今日のDeFiシステムのユーザーに害を及ぼすガス力学の利点とその方法 MEV は、blockchain の基礎となるコンセンサス層の安定性さえ脅かします。 トランザクション注文操作の他の例は定期的に表示されます ([50, 154] など)。rollups などの新しいトランザクション処理メソッドは、非常に有望なアプローチです 高スループット blockchain のスケーリングの問題に対処します。しかし、彼らは言及していない MEVの問題。代わりに、rollup を生成するエンティティにそれをシフトします。それ smart contract のオペレーターであるか、(zk-)rollup に提供するユーザーであるかに関係なく、エンティティ 有効性の証明であり、トランザクションを注文して挿入する権限があります。つまり、rollups MEV と REV: ロールアップ抽出可能な値を交換します。 MEV は、メモリプールに送信された今後のトランザクションに影響します。 しかし、まだチェーン上にコミットされていません。このような取引に関する情報は広範に提供されます。 ネットワークで利用可能です。マイナー、validator、および一般のネットワーク参加者は、 したがって、この知識を利用して依存トランザクションを作成します。さらに、マイナーと validator は、コミットするトランザクションの順序に影響を与える可能性があります。 自分自身を攻撃し、これを自分たちの利益のために利用します。 合意に基づく取引順序に対するリーダーによる不当な影響の問題 プロトコルは 1990 年代から文献で知られていました [71, 190] が、満足のいくものはありませんでした。 解決策はこれまでに実際に実現されています [97]。 主な理由は、提案されたソリューションが、少なくともごく最近までは、公共のソリューションに容易に統合できなかったことです。 blockchains、トランザクションの内容がその後まで機密に保たれることに依存しているため 彼らの順番は決まっています。 Fair Sequencing Services (FSS) の概要: DONs は、トランザクションの順序を分散化し、依存者によって指定されたポリシーに従って実装するためのツールを提供します。 契約作成者、理想的には公平で、契約を希望する関係者に有利にならないもの トランザクションの順序を操作します。これらのツールは集合的に FSS を構成します。 FSS には 3 つのコンポーネントが含まれています。 1 つ目はトランザクションの監視です。 FSSでは、 O の oracle ノードは両方とも MAINCHAIN のメモリプールを監視し、(必要に応じて) 許可します 特殊なチャネルを介したオフチェーンでのトランザクションの送信。 2 つ目はトランザクションの順序付けです。 O のノードは依存コントラクトのトランザクションを注文します その契約に対して定義されたポリシーに従って。 3つ目は取引の転記です。 トランザクションが注文された後、O のノードは共同でトランザクションを メインチェーン。 FSS の潜在的な利点は次のとおりです。 • 注文の公平性: FSS には、開発者がトランザクションを確実に実行できるように支援するツールが含まれています。 特定の契約への入力は、不公平を生じない方法で命令される。 リソースが豊富なユーザーや技術的に精通したユーザーにとっては有利です。注文ポリシー この目的のために指定できます。 • 情報漏洩の削減または排除: ネットワーク参加者が今後のトランザクションに関する知識を悪用できないようにすることで、FSS を軽減または排除できます。 入手可能な情報に基づいたフロントランニングのような攻撃を排除します。 トランザクションがコミットされる前にネットワークにアクセスします。そのような悪用を防止する 漏洩により、元の保留中のトランザクションに依存する敵対的なトランザクションが確実に実行されます。 元のトランザクションがコミットされるまでは、トランザクションを台帳に入力することはできません。• トランザクションコストの削減: プレイヤーが提出する際のスピードの必要性を排除することにより、 トランザクションを smart contract に制限することで、FSS はトランザクション処理のコストを大幅に削減できます。 • 優先順位: FSS は重要なトランザクションに自動的に特別な優先順位を与えることができます。 注文すること。たとえば、oracle に対する前線攻撃を防ぐため レポート (例: [79])、FSS はトランザクションのストリームに oracle レポートを挿入できます 遡及的に。 DONs における FSS の包括的な目標は、DeFi クリエイターが公平性を実現できるようにすることです。 金融システム、つまり、特定のユーザー(またはマイナー)に利益をもたらさないシステム スピード、内部知識、または技術的な実行能力に基づいて他の人よりも優れている 操作。公平性の明確な一般的な概念はとらえどころがなく、完璧な公平性は FSS は、開発者に強力な機能を提供することを目的としています。 DeFi の設計目標を達成するのに役立つポリシーを適用できるツール セット。 FSS の主な目標は、公平な順序付けサービスとして機能することですが、 DON がターゲットとする MAINCHAIN、FSS と同じ公平性の要求の一部 保証は、複数のユーザー間で実行される (分散型) プロトコルにも適している可能性があります。 DON パーティー。したがって、FSS はサブセットによって提供されるサービスとしてより広く見ることができます。 MAINCHAIN のユーザーによって送信されたトランザクションだけでなく、公正に順序付けする DON ノード 他の DON ノード間で共有されるトランザクション (つまり、メッセージ) も同様です。このセクションでは、 ここでは主に、MAINCHAIN トランザクションの順序付けという目標に焦点を当てます。 セクションの構成: セクション 5.1 では、FSS の設計を動機付ける 2 つの高レベルのアプリケーションについて説明します。oracle レポートのフロントランニングの防止と、レポートのフロントランニングの防止です。 ユーザートランザクションのフロントランニング。次に、FSS の設計についてさらに詳しく説明します。 セクション5.2に記載されています。セクション 5.3 では、公正な注文の保証と手段の例について説明します それらを達成するために。最後に、セクション 5.4 とセクション 5.5 では、ネットワーク レベルの脅威について説明します。 ネットワークフラッディングとシビルそれぞれに対するそのようなポリシーとそれに対処する手段 攻撃します。 5.1 最前線の問題 FSS の目標と設計を説明するために、フロントランニングの 2 つの一般的な形式について説明します。 攻撃と既存のソリューションの制限。 フロントランニングはクラスを体現する トランザクション順序付け攻撃の割合: バックランニングやサンドイッチング (フロントランニングとバックランニング) [237] など、ここでは取り上げていない関連攻撃が多数あります。 ここでは、FSS も解決に役立ちます。 5.1.1 オラクルのフロントランニング blockchain アプリケーションにオフチェーン データを提供するという従来の役割では、oracles 前線攻撃の自然なターゲットになります。oracle を使用してさまざまな価格フィードを提供する一般的な設計パターンを検討してください。 オンチェーン取引所へ: oracle は定期的に (たとえば 1 時間ごとに) 価格データを収集します。 異なる資産を取得し、これらを交換契約に送信します。これらの価格データ取引 明らかな裁定取引の機会が存在します: たとえば、最新の oracle レポートのリストに 一部の資産の価格がはるかに高い場合、攻撃者は oracle レポートを前倒しで実行する可能性があります。 資産を買い占め、oracle の報告が処理されたらすぐに転売してください。 スピードバンプと遡及価格設定: oracle の最前線の問題に対する自然な解決策は、oracle レポートに他のトランザクションよりも特別な優先順位を与えることです。のために たとえば、oracle レポートは、マイナーに処理を奨励するために高額な料金で送信される可能性があります。 まずは彼らから。しかし、裁定取引の機会が高い場合、これはフロントランニングを妨げるものではありません。 また、マイナー自身による裁定取引を防ぐこともできません。 そのため、一部の取引所は、ユーザーのトランザクションを処理する前にいくつかのブロックのキューに入れるなど、より強力な「スピードバンプ」の実装に頼っています。 または、新しい oracle レポートが到着したときに価格を遡及的に調整します。これらのソリューションの欠点は、交換の実装が複雑になることです。 ストレージ要件が増加し、その結果、トランザクションコストが増加し、資産の交換がかなりの期間を経た後にのみ確認されるため、ユーザーエクスペリエンスが混乱します。 便乗: FSS に進む前に、ピギーバックについて説明します。 oracle の最前線の問題に対する洗練された解決策。住所には適用されません ただし、他のシナリオでは最前線で実行されます。 つまり、オンチェーン コントラクトに定期的にレポートを送信する代わりに、oracles ユーザーが売買時に取引に追加する署名付きレポートを公開する オンチェーン資産。その後、交換はレポートが有効で新しいことを確認するだけです (例: oracle は、レポートが有効なブロックの範囲に署名できます)、および抽出 そこからの関連する価格フィード。 このシンプルなアプローチには、上記の「スピードバンプ」に比べて多くの利点があります。 アプローチ: (1) 取引所契約は価格フィードの状態を保持する必要はありません。 取引コストの削減につながります。 (2) oracle レポートは必要に応じてチェーンに投稿されるため、oracle はより頻繁な更新 (例: 1 分ごと) を生成できます。 レポートのフロントランニングによる裁定取引の機会を最小限に抑える9。 (3) トランザクションは次のとおりです。 常に最新の価格フィードが含まれるため、すぐに検証できます。 ただし、このアプローチは完璧ではありません。まず、この便乗ソリューションでは、 取引所のユーザーには、最新の oracle レポートを取得してレポートに添付する義務があります。 取引。第二に、相乗りは裁定取引の機会を最小限に抑えることはできますが、 オンチェーンコントラクトの有効性に影響を与えることなく、それらを完全に防止します。確かに、もし oracle レポートはブロック番号 n まで有効で、その後トランザクションがブロックに送信されます。 n + 1 には、新しい有効なレポートが必要になります。伝播に固有の遅延があるため、 oracles からユーザーにレポートを送信すると、ブロック n + 1 に対して有効な新しいレポートは次のようになります。 9 裁定取引は、利用可能な資産価格の差が無関係な価格差を超える場合にのみ価値がある。 資産の売買に必要な手数料(採掘者や取引所が徴収するものなど)。ブロック n + 1 がマイニングされる前に、たとえばブロック n −k で公開されるため、 短期間のアービトラージの機会が存在する k ブロックのシーケンスを作成します。私たち 次に、FSS がこれらの制限をどのように回避するかを説明します。 FSS を使用した oracle レポートの優先順位付け: FSS は oracle の最前線の問題に対処できます 上記の相乗りソリューションに基づいて問題を解決しますが、追加のソリューションをプッシュします。 oracle レポートを使用してトランザクションを強化する作業は、分散型 Oracle ネットワークに報告されます。 高いレベルでは、oracle ノードはオンチェーン交換に向けたトランザクションを収集します。 リアルタイムの価格フィードに同意し、収集されたトランザクションとともに価格フィードをメインチェーン コントラクトにポストします。概念的には、このアプローチは次のように考えることができます。 「データ拡張トランザクション バッチ処理」。oracle により、 価格フィードは常にトランザクションに追加されます。 FSS ソリューションは、取引所のユーザーに対して透過的に実装できます。 セクション 5.2 で詳しく説明するように、契約ロジックへの変更は最小限に抑えられます。確保する 新しい oracle レポートがユーザー トランザクションよりも常に優先されることは、ほんの一例にすぎません FSS が採用および強制できる順序付けポリシー。金監院の秩序確保方針 公平性については、セクション 5.3 でより一般的に説明されています。 5.1.2 フロントランニング ユーザー トランザクション ここで、上記の防御方法が適用される一般的なアプリケーションでのフロントランニングに移ります。 機能しません。この問題は、次のシナリオを通じて幅広く捉えることができます。 攻撃者は、P2P ネットワークに送信されたユーザー トランザクション tx1 を確認し、 独自の敵対的なトランザクション tx2 を使用して、tx2 が tx1 よりも前に処理されるようにします(たとえば、支払いによって) 取引手数料が高くなります)。たとえば、この種の先走りは、 DeFi システム [90] の裁定取引の機会を悪用し、次のユーザーに影響を与えたボット さまざまな分散アプリケーション [101]。取引間に公正な秩序を課す blockchain で処理されると、この問題が解決されます。 もっと基本的には、tx1 の詳細を確認する必要すらない場合もあります。 その単なる存在を知っているだけで、敵対者はその存在を介して tx1 をフロントランできる可能性があります。 tx2 を所有し、tx1 を作成した無実のユーザーを騙します。たとえば、ユーザーは次のようにします。 定期的に特定の資産を取引することが知られています。このような攻撃を防ぐには、次のことが必要です メタデータの漏洩も回避する緩和策 [62]。この問題に対するいくつかの解決策 存在しますが、遅延やユーザビリティ上の懸念が生じます。 ネットワーク注文から FSS による確定注文まで: 前線で活躍する機会 既存のシステムには、順序を保証するメカニズムがないために発生します。 トランザクションはイベントの順序と情報の流れを尊重してチェーン上に表示されます ネットワークの外側。これは、blockchain 上のアプリケーション (取引プラットフォームなど) の実装の不備から生じる問題を表しています。理想的には、 blockchain でトランザクションが以前と同じ順序でコミットされていることを確認します。 作成され、blockchain の P2P ネットワークに送信されます。しかし、blockchain ネットワーク以来

Fair Sequencing Services general schematic showing transaction flow from users through DON to main chain

が分散されている場合、そのような順序は捕捉できません。したがって、FSS はメカニズムを導入します 分散されたことによってのみ生じる公平性の侵害を防ぐため blockchain ネットワークの性質。 5.2 FSSの詳細 図 12: 2 つの異なるトランザクション パスを持つ順序公平なメモリプール: 直接的かつ mempool ベース。 図 12 は、FSS の一般的な概略図を示しています。公平性を確保するために、FSS を提供する DON は、トランザクションが MAINCHAIN に入るときにトランザクションのフローを妨害する必要があります。 クライアント、MAINCHAIN 上の smart contract、またはその両方の調整が必要になる場合があります。高レベルでは、FSS によるトランザクションの処理は 3 つに分解できます。 以下に説明するフェーズ: (1) トランザクション監視。 (2) トランザクションの順序付け。そして (3) トランザクションの転記。トランザクションの順序付けに使用される順序付け方法に応じて、次のセクションで説明するように、追加のプロトコル手順が必要になります。 5.2.1 トランザクション処理 トランザクション監視: FSS が監視するには 2 つの異なるアプローチを想定しています。 特定の smart contract を宛先とするユーザー トランザクション (直接およびメモリプール ベース): • 直接: 直接アプローチは概念的には最も単純ですが、変更が必要です。 ユーザークライアントにより、トランザクションが分散型 Oracle に直接送信されるようになります。メインチェーンのノードではなく、ネットワークノード。 DON は収集します 特定の smart contract SC 宛てのユーザー トランザクションとそれらに基づく注文 いくつかの注文ポリシーに基づいて。 DON は、注文されたトランザクションを メインチェーン上のsmart contract。一部の注文メカニズムでは、トランザクションを作成するユーザーが暗号化する必要があるため、直接的なアプローチも必要となります。 FSS に送信する前に保護してください。 • Mempool ベース: FSS とレガシー クライアントの統合を容易にするために、DON Mempool Services (MS) を使用してメインチェーンの mempool を監視し、収集することができます。 取引。 多くの契約では直接送信が推奨される実装となる可能性が高く、 そして多くの場合、それはかなり実用的であるはずだと私たちは信じています。 既存の DApps を最小限の変更でサポートできる方法について簡単に説明します。 優れたユーザーエクスペリエンスを維持しながら直接送信します。アプローチについて説明します Ethereum と MetaMask [6] は現在最も人気のある選択肢であるため、使用しますが、 前述のテクニックは他のチェーンやウォレットにも拡張されるべきです。最近のEthereum 改善提案、「EIP-3085: ウォレット追加 Ethereum チェーン RPC メソッド」 [100]、 カスタム Ethereum チェーンを簡単にターゲットにできるようになります (異なる CHAIN ID を使用) MetaMask やその他のブラウザベースのウォレットからのリプレイ攻撃を防ぐための MAINCHAIN のセキュリティです。この提案の実装後、DApp は DON の使用を希望します。 フロントエンドに単一のメソッド呼び出しを追加するだけで、直接送信できるようになります。 Ethereum 互換 API を公開する DON へのトランザクション。その間、 「EIP-712: Ethereum 型付き構造化データ hash の作成と署名」 [49] は、わずかに より複雑ではあるが、すでに広く導入されている代替案であり、DApp ユーザーが使用できる DON トランザクションを指定して構造化データに署名するメタマスク。 DApp が送信できるのは、 この署名された構造化データは DON に送信されます。 最後に、ハイブリッドアプローチも可能であることに注意してください。 たとえば、レガシー クライアントはメイン チェーンのメモリプールにトランザクションを送信し続けることができますが、これは重要です トランザクション (oracle レポートなど) は DON ノード (特に、 価格フィードの更新などの oracle レポートを提供するノードのセットとノードのセット ただし、FSS が重複するか同一である可能性があります)。 トランザクションの順序付け: FSS の主な目的は、ユーザーのトランザクションが事前定義されたポリシーに従って順序付けされることを保証することです。このポリシーの性質上、 アプリケーションのニーズと、アプリケーションが要求する不当なトランザクション命令の種類によって異なります。 を防ぐことを目的としています。 DON の FSS はデータを処理し、ローカル状態を維持できるため、 彼らは、以下の情報に基づいて任意の順序付けポリシーを課す可能性があります。 oracles で入手できます。 特定の順序付けポリシーとその実装については、セクション 5.3 で後述します。トランザクション転記: ユーザーから直接受信した、またはメモリプールから収集されたユーザー トランザクションを収集して順序付けした後、DON はこれらのトランザクションをメイン チェーンに送信します。そのため、DON とメインチェーンの相互作用は残ります。 メインチェーンのマイナーによって管理される(不公平な可能性がある)トランザクション順序の影響を受けます。分散型トランザクション注文の利点を活用するには、ターゲットをスマートにします。 したがって、契約 SC は、DON を「一級」国民として扱うように設計されなければなりません。私たち 2 つのアプローチを区別します。 • DON のみのコントラクト: 最も単純な設計オプションは、メイン チェーンをスマートにすることです。 契約 SC は、DON によって処理されたトランザクションのみを受け入れます。これ smart contract が、提案された順序でトランザクションを処理することを保証します。 DON ですが、事実上、smart contract は委員会ベースのシステムで運営されるように制限されています (つまり、DON 委員会は現在、 トランザクションの注文と包含)。 • デュアルクラス コントラクト: メイン チェーンがスマートになる、より粒度の高い設計が推奨されます。 コントラクト SC は、DON とレガシーの両方から発生するトランザクションを受け入れます ただし、DON によって処理されなかったトランザクションには従来の「スピード バンプ」が発生します。たとえば、DON からのトランザクションが処理される可能性があります。 従来のトランザクションは smart contract によってすぐに「バッファリング」されます。 一定の期間。フロントランニングを防止するためのその他の標準メカニズム commit-reveal スキームや VDF [53] などはレガシーにも適用できます 取引。これにより、DON で注文されたトランザクションが確実に処理されます。 DON に望ましくない検閲権限を与えることなく合意された命令 取引。 FSS によるトランザクション順序付けの強制では、トランザクションが「オフチェーン」で集約される必要があるため、このソリューションは、オンチェーン処理コストの削減を目的とした他の集約手法と自然に組み合わされます。たとえば、収集した後、 トランザクションを注文すると、DON はこれらのトランザクションをメイン チェーンに送信する可能性があります。 単一の「バッチトランザクション」(例: rollup) により、トランザクションの総量が削減されます。 料金。 トランザクション順序の強制: DON 専用設計でもデュアルクラス設計でも、 DON のトランザクション順序が維持されることを保証するには、メイン チェーン smart contract SC と DON を共同設計する必要があります。ここでも、さまざまな状況を想定しています デザインオプション: • シーケンス番号: DON は各トランザクションにシーケンス番号を追加し、これらのトランザクションをメイン チェーンのメモリプールに送信できます。 メイン 10DON のトランザクション監視がメモリプールに基づいている場合、レガシー トランザクションは、DON によって収集されないように、DON トランザクションと区別できる必要があります (特別なタグなどを介して)。 トランザクションに埋め込むか、特定のガス価格を指定することによって、例えばDON トランザクションにはガスが発生しています 一定のしきい値を下回る価格。チェーン smart contract SC は、「順序を外して」到着したトランザクションを無視します。私たち この設定では、メインチェーンのマイナーが DON を無視することを決定できることに注意してください。 トランザクションの順序付けが行われるため、トランザクションが失敗します。 SC が (高価な) 状態を維持することで、ある程度正しいトランザクション順序を強制することが可能です。 TCP が、欠落したパケットが見つかるまで、順序が乱れたパケットをバッファリングする方法と同様です。 受け取りました。 • トランザクション nonces: 多くの blockchain、特に Ethereum については、 上記のシーケンス番号付けアプローチでは、組み込みトランザクション nonces を利用して、 メインチェーン smart contract SC がトランザクションを順番に処理するように強制します。 ここで、DON ノードは、DON ノード間で共有されるキーで保護された単一のメインチェーン アカウントを通じてトランザクションをメインチェーンに送信します。アカウントの トランザクション nonce は、トランザクションが正しい順序でマイニングおよび処理されることを保証します。 • トランザクションの集約: DON は、複数のトランザクションを rollup に集約できます。 (または rollup のようなバンドル内)。メインチェーン smart contract は次のようにする必要があります。 このような集約トランザクションを処理するように設計されています。 • メインチェーンプロキシによるトランザクションの集約: ここで、DON は同様にトランザクションをメインチェーンの 1 つの「メタトランザクション」にバンドルしますが、 カスタム プロキシ smart contract を使用してトランザクションを解凍し、 ターゲット契約SC。この手法はレガシー互換性に役立ちます。メタトランザクションは rollup と同様に動作しますが、非圧縮トランザクションで構成される点が異なります。 メインチェーンに一度ポストされたトランザクションのリスト。 最後の設計には、ユーザー トランザクションをシームレスにサポートするという利点があります。 DON のターゲットに到達する前に、メイン チェーン コントラクトを通じて自身がプロキシされます SCと契約。たとえば、あるウォレットにトランザクションを送信するユーザーを考えてみましょう。 コントラクトは内部トランザクションを SC に送信します。シーケンスの割り当て ユーザーのウォレット契約が正しくない限り、そのようなトランザクションに番号を付けるのは難しいでしょう。 すべての内部トランザクションでシーケンス番号を転送するように特別に設計されています。 SC。 同様に、そのような内部トランザクションを、SC に直接送信されるメタトランザクションに簡単に集約することはできません。さらなる設計上の考慮事項について説明します。 かかる代理取引は以下の通りです。 5.2.2 トランザクションの原子性 これまでの議論は、トランザクションが単一のオブジェクトと相互作用することを暗黙に想定してきました。 オンチェーン smart contract (例: ユーザーが取引所に購入リクエストを送信する)。それでも、 Ethereum などのシステムでは、単一のトランザクションが複数の内部トランザクションで構成される場合があります (たとえば、1 つの smart contract が別のコントラクト内の関数を呼び出すなど)。以下、私たちは、 「マルチコントラクト」トランザクションをシーケンスするための 2 つの高レベルの戦略について説明します。 トランザクションのアトミック性(つまり、トランザクションによって規定された一連のアクション)を維持する トランザクションはすべて正しい順序で実行されるか、まったく実行されません)。強力な原子性: 最も簡単な解決策は、上で説明したように、FSS を「複数契約」トランザクション全体に直接適用することです。つまり、ユーザーはトランザクションを送信します をネットワークに接続し、FSS がこれらのトランザクションを監視、シーケンスし、 メインチェーン。 このアプローチは技術的には簡単ですが、潜在的な制限が 1 つあります。 トランザクションは、公平性を活用することを希望する 2 つの契約 SC1 および SC2 と対話します。 シーケンス サービスの場合、これら 2 つの契約のシーケンス ポリシーは一貫している必要があります。つまり、それぞれが対話する 2 つの異なるトランザクション tx1 と tx2 があるとします。 SC1 と SC2 の両方で、SC1 のポリシーが tx2 よりも先に tx1 を順序付ける場合であってはなりません。 一方、SC2 のポリシーは逆の順序を規定しています。 対象となるシナリオの大部分では、さまざまな契約で採用される順序ポリシーが一貫していると想定されます。たとえば、SC1 と SC2 の両方 トランザクションを mempool へのおおよその到着時間によって順序付けしたい場合があります。 さらに、SC1 は、特定の oracle レポートが常に最初に配信されることを望む場合があります。として 後者の oracle レポート トランザクションは SC2 と対話せず、ポリシーは一貫しています。 弱い原子性: 完全に一般的に言えば、FSS は個人レベルで適用できます。 内部取引。 いくつかの初期値で構成される tx = { ˜txpre, ˜txSC, ˜txpost} という形式のトランザクションを考えてみましょう。 トランザクション 〜txpre。これにより、SC への内部トランザクション 〜txSC が発生します。 内部トランザクション ~txpost を発行します。 SC のシーケンス ポリシーによって、その方法が決定される場合があります。 内部トランザクション ~txSC は、送信される他のトランザクションに関して順序付けする必要があります ただし、~txpre と ~txpost のシーケンス順序はオープンのままにしておきます。 Ethereum などのシステムにおけるトランザクション処理の本質を考慮すると、特定の内部トランザクションを対象としたシーケンス サービスの開発は簡単ではありません。特別に設計されたコントラクト SC を使用すると、これは次のように実現可能です。 1. トランザクション TX がネットワークに送信され、(順序付けなしで) マイニングされます。 FSSによって実行されます)。最初の ˜txpre が実行され、 ˜txSC が呼び出されます。 2. SC は ~txSC を実行せずにリターンします。 3. FSS は SC への内部トランザクションを監視し、順序付けしてポストバックします。 SCに送信する(すなわち、トランザクション〜txSCをSCに直接送信することによって)。 4. SCは、FSSから受信したトランザクション~txSCを処理し、~txSCから結果として生じる内部トランザクション~txpostを発行します。 このアプローチでは、トランザクションは完全にアトミックに実行されません(つまり、元の トランザクション TX は複数のオンチェーン トランザクションに分割されます)、ただし順序は 内部トランザクションは保存されます。 このソリューションには、多くの設計上の制約が伴います。たとえば、 ˜txpre は次のことはできません。 〜txSCと〜txpostが実行されると仮定します。さらに、SC は次のように設計する必要があります。 特定のユーザーに代わってトランザクション 〜txSC および 〜txpost を実行します。FSSから送られてきました。これらの理由により、より粗粒度の「強力なアトミック性」ソリューションが使用されます。 実際には上記の方が望ましいと思われます。 複数のトランザクションや それぞれの内部トランザクションには、FSS のトランザクション スケジューラに含まれる可能性があります。 リレーショナルのトランザクション マネージャーにあるものに似た複雑な関数 データベースマネージャー。 5.3 公正なトランザクションの順序付け ここでは、トランザクションの順序付けの公平性に関する 2 つの概念と、FSS によって実現される対応する実装について説明します。 ポリシーに基づく注文の公平性 FSS と安全な因果関係の保存によって課されるため、FSS での追加の暗号化手法が必要になります。 注文の公平性: 順序の公平性は、コンセンサスプロトコルにおける時間的な公平性の概念です これは Kelkar らによって初めて正式に導入されました。 [144]。 ケルカーら。取引が行われる自然な政策の形を達成することを目指します。 DON (または P2P ネットワーク、 メモリプールベースの FSS の場合)。ただし、分散型システムでは異なります。 ノードではトランザクションが異なる順序で到着する可能性があります。 トータルオーダーの確立 すべてのトランザクションに関する問題は、基礎となるコンセンサス プロトコルによって解決されます。 メインチェーン。 ケルカーら。 [144] したがって、次のような弱い概念を導入します。 これは、「ブロック順序の公平性」と呼ばれる分散型 Oracle ネットワークの助けを借りて実現されます。 DON が一定期間中に受信したトランザクションをグループ化します。 「block」を選択し、ブロックのすべてのトランザクションを同時に同じ位置に挿入します。 (つまり、高さ) を MAINCHAIN に追加します。したがって、それらは一緒に注文され、実行可能でなければなりません それらの間に矛盾を生じさせることなく、並行して実行します。 大まかに言うと、orderfairness は、ノードの大部分が τ2 より前にトランザクション τ1 を見た場合、次のように述べます。 τ1 は、τ2 より前または同じブロック内でシーケンスされます。そんな粗雑なことを課すことで、 トランザクション注文の粒度が向上するため、フロントランニング攻撃やその他の注文関連の攻撃の機会が大幅に減少します。 ケルカーら。 Aequitas [144] と呼ばれるプロトコル ファミリを提案します。 同期、部分同期、非同期ネットワーク設定など、さまざまな導入モデルに対応します。 Aequitas プロトコルは、基本的な BFT コンセンサスに比べて通信オーバーヘッドが大きいため、実用には理想的ではありません。 しかし、私たちは、使用できる Aequitas の実用的な亜種が出現すると信じています。 FSS およびその他のアプリケーションのトランザクション シーケンス用。いくつかの関連スキームには、 付随する形式主義が少なく、特性が弱いものはすでに提案されていますが、 例: [36、151、236] ですが、実際のパフォーマンスはより優れています。これらのスキームをサポートできます FSSでも。 「公平性」という用語が blockchain の他の場所に登場していることにも注目してください。 異なる意味を持つ文学、すなわち、機会という意味での公平性コミットされたリソース [106, 181] または validator 秒に比例するマイナー 機会均等 [153]。 安全な因果関係の保存: 分散プラットフォームにおけるフロントランニングやその他の順序違反を防ぐ最も広く知られているアプローチは、暗号化に依存しています。 テクニック。それらの共通の特徴は、トランザクション データ自体を非表示にし、次の処理が完了するまで待機することです。 コンセンサス層での順序が確立され、トランザクションデータが明らかになります 後で処理します。これにより、トランザクション間の因果関係が維持されます。 blockchain によって実行されます。関連するセキュリティ概念と暗号化プロトコル blockchain の出現よりかなり前に開発されました [71、190]。 「入力因果関係」[190] および「安全な因果関係保存」[71、97] のセキュリティ条件では、トランザクションに関する情報が一切知られないようにすることが形式的に要求されます。 グローバルな順序におけるこのトランザクションの位置が決定される前。敵対者は、暗号化された方法で、その時点までいかなる情報も推測できてはなりません。 強いセンス。 因果関係を維持するための 4 つの暗号化手法を区別できます。 • Commit-Reveal プロトコル [29、142、145]: トランザクションがアナウンスされる代わりに 平文では、トランザクションに対する暗号化されたコミットメントのみがブロードキャストされます。コミット済みだが非表示のトランザクションがすべて注文された後 (blockchain の初めに) MAINCHAIN 自体のシステム、ただしここでは FSS による)、送信者はコミットメントをオープンし、所定の時間間隔内にトランザクション データを明らかにする必要があります。 次にネットワークは、開口部が以前の約束を満たしていることを検証します。の このメソッドの起源は、blockchains の出現より前に遡ります。 このアプローチは特に単純ですが、かなりの欠点があり、2 つの理由から採用が簡単ではありません。まず、注文プロトコルのレベルではコミットメントのみが存在するため、トランザクションのセマンティクスは コンセンサス中に検証することはできません。クライアントとの追加の往復 が必要です。しかし、より厳しいのは、開口部がなくなる可能性である。 これはサービス妨害攻撃に相当する可能性があります。さらに、それは 一貫性のある分散型環境では、開口部が有効であるかどうかを判断するのは困難です。 すべての参加者がオープニングが到着したかどうかに同意する必要があるため、この方法で 時間。 • リカバリが遅延するコミット-リビールプロトコル [145]: に関する 1 つの課題 commit-reveal アプローチでは、クライアントは投機的にトランザクションにコミットし、後続のトランザクションによって収益が得られる場合にのみ、後でそれを公開することができます。あ commit-reveal アプローチの最近の変形により、これに対する回復力が向上します。 一種の不正行為。特に、TEX プロトコル [145] はこの問題に対処します。 暗号化されたトランザクションに復号キーが含まれる賢いアプローチを使用する 検証可能な遅延関数 (VDF) [53、221] を計算することで取得できます。クライアントの場合 トランザクションを適時に復号化できなかった場合、システム内の他のユーザーが復号化します。 彼女に代わって、適度に難しい暗号パズルを解くことでそれを解決します。• しきい値暗号化 [71、190]: この方法は、DON が実行する可能性があることを利用します。 しきい値暗号化操作。 FSS が暗号化パブリックを維持していると仮定します。 キー pkO と oracle は、対応する秘密キーをそれらの間で共有します。 その後、クライアントは pkO でトランザクションを暗号化し、FSS に送信します。 FSS命令 DON 上のトランザクションを解析し、それらを復号化して、最後にそれらを 固定順序での MAINCHAIN。したがって、暗号化により注文が確実に行われます。 トランザクションの内容に基づくのではなく、データ自体がいつでも利用可能であることを示します。 必要です。 この方法はもともと Reiter と Birman [190] によって提案され、後に Cachin らによって改良されました。 [71]、許可されたコンセンサスと統合されました プロトコル。より最近の研究では、しきい値暗号化の使用を検討しています。 一般的なメッセージ [33、97] および共有データ [41] を使用した一般的な計算のためのコンセンサス レベルのメカニズム。 commit-reveal プロトコルと比較して、しきい値暗号化は単純なサービス拒否攻撃を防止します (ただし、復号化の計算コストを考慮すると注意が必要です)。これにより、DON は自律的に、独自の速度で、何もせずに進むことができます。 さらなるクライアントのアクションを待っています。トランザクションは、復号化された後すぐに検証できます。さらに、クライアントはすべてのトランザクションを 1 つの暗号化キーで暗号化します。 DON のキーと通信パターンは他のものと同じままです 取引。しきい値キーを安全に管理し、ノードを変更する ただし、O はさらなる問題を引き起こす可能性があります。 • コミットされた秘密の共有 [97]: トランザクション データを暗号化する代わりに、 DON が保持するキーの場合、クライアントはそれを O のノードに対して秘密共有することもできます。 ハイブリッドで計算上安全な秘密共有スキームを使用すると、トランザクションは まず、ランダムなキーを使用した対称暗号を使用して暗号化されます。対応する対称キーのみが共有され、暗号文は DON に送信されます。 クライアントは、個別に暗号化されたメッセージを使用して、O の各ノードに 1 つのキー共有を送信する必要があります。残りのプロトコル手順はしきい値の場合と同じです ただし、トランザクション データは対称暗号化で復号化されます。 共有からトランザクションごとのキーを再構築した後のアルゴリズム。 この方法では、公開鍵暗号システムの設定や管理が不要です。 DON に関連付けられています。ただし、クライアントは次のノードを認識している必要があります。 O それぞれと安全なコンテキストで通信します。 クライアントのさらなる負担。 暗号化方式は情報に対する完全な保護を提供しますが、 送信されたトランザクションからネットワークに漏洩するため、メタデータは隠蔽されません。のために たとえば、送信者の IP アドレスまたは Ethereum アドレスは引き続き使用される可能性があります。 フロントランニングやその他の攻撃を実行する敵。さまざまなプライバシー強化 ネットワーク層 ([52、95、107] など) またはトランザクション層に導入された技術、 この目標を達成するには、たとえば [13, 65] が必要になります。特定の作品の影響 メタデータの内容、つまりトランザクションがどのコントラクトに送信されるかを(部分的に)隠すことができます同じ DON 上で多くのコントラクトを多重化することによって。暗号の隠蔽 トランザクション自体も、破損したトランザクションによるトランザクションの優先順位付けを妨げるものではありません。 DON ノードがトランザクション送信者と共謀しています。 暗号プロトコルによって保証される安全な因果関係は、あらゆるポリシーの順序の公平性の保証を補完するものであり、私たちはこの 2 つの組み合わせを検討するつもりです。 可能な場合はメソッドを使用します。敵対者が重大な利益を得ることができない場合、 メタデータを観察すると、安全な因果関係保存プロトコルを併用できます。 素朴な注文アプローチも同様です。たとえば、oracle ノードはトランザクションを書き込むことができます 重複することなく、受け取ったらすぐに L に送信します。トランザクションは次のようになります。 L 上の出現に従って順序付けされ、その後復号化されます。 また、公正な注文を強制する手段として TEE の使用を検討する予定です。のために たとえば、Tesseract [44] は因果的順序付けの形式を実現していると見なすことができますが、 TEE が明示的な形式でトランザクションを処理する能力によって強化されます。 秘密を保持します。 5.4 ネットワーク層の考慮事項 これまでのところ、FSS についての説明は主に、次のことを強制する問題に焦点を当ててきました。 最終的なトランザクションの順序は、ネットワーク内で観察された順序と一致します。以下、 ネットワーク層自体で発生する可能性のある公平性の問題を考慮します。 従来の電子市場の高頻度トレーダーは多額の投資を行っています [64] は優れたネットワーク速度を得るためにリソースを使用しており、暗号通貨取引所のトレーダーも同様の動作を示しています [90]。ネットワーク速度は、次の点で利点をもたらします。 他の当事者の取引を観察し、競合する取引を提出する。 実際に導入され、書籍『Flash Boys [155]』で普及した解決策の 1 つは次のとおりです。 最初に IEX 取引所 [128] で導入され、その後他の取引所でも導入された「スピード バンプ」 [179] を交換します (結果はさまざまです [19])。このメカニズムは、市場へのアクセスに遅延 (IEX では 350 マイクロ秒) を課し、市場における利点を中和することを目的としています。 スピード。経験的証拠、例: [128]、特定の取引を減らす効果を裏付ける 一般投資家にとってのコスト。 FSS は、単純に非対称を実装するために使用できます。 速度の上昇 - 受信トランザクションを遅らせるもの。 バディッシュ、クラムトン、シム [64] は、速度の利点を利用すると主張しています。 継続時間市場では避けられないものであり、市場における構造的救済策を主張しています。 バッチオークションベースの市場の形態。しかし、このアプローチは広く定着していない 既存の取引プラットフォームで。 従来の取引システムは集中化されており、通常は次の方法で取引を受け取ります。 単一のネットワーク接続。対照的に、分散型システムでは、次のことが可能です。 複数の有利な点からトランザクションの伝播を観察します。その結果、P2P ネットワークにおけるネットワーク フラッディングなどの動作を観察することが可能になります。 私たちは意図しています 開発者がポリシーを指定するのに役立つ FSS へのネットワーク層のアプローチを調査する このような望ましくないネットワーク動作を禁止します。5.5 エンティティレベルの公平性ポリシー 注文の公平性と安全な因果関係は、次のようなトランザクションに対して注文を強制することを目的としています。 作成され、最初にネットワークに送信された時刻が尊重されます。この公平性の概念の限界は、敵対者が行う攻撃を防ぐことができないことです。 システムに多くのトランザクションを溢れさせることで優位性を得るという戦略が観察されています token 売上 [159] において効果的なトランザクション スナイピングを実行する方法として広く普及しています。 混雑を引き起こし、債務担保ポジション (CDP) [48] の清算を引き起こします。 言い換えれば、注文の公平性は、プレイヤーではなくトランザクションに関する公平性を強制します。 CanDID システム [160] に示されているように、DECO などの oracle ツールを使用することが可能です または、Town Crier をノード委員会 (DON など) と連携して達成します。 プライバシーを保護しながら、さまざまな形のシビル耐性を実現します。ユーザーはアイデンティティを登録できます そして、身元自体を明らかにすることなく、その独自性の証拠を提供します。 シビル耐性のある認証情報は、トランザクションの順序付けを強化するための可能なアプローチを提供します フラッディング攻撃の機会を制限するような方法でポリシーを適用します。たとえば、 token 販売では、登録ユーザーごとに 1 つのトランザクションのみが許可される場合があります。 社会保障番号などの国民識別子の一意性の証明が必要です。 このようなアプローチは確実ではありませんが、トランザクション フラッディング攻撃を軽減するための有用なポリシーであることが証明される可能性があります。

Serviços de sequenciamento justo

Um serviço importante que esperamos que DONs ofereça e que aproveite seus recursos de rede, computação e armazenamento é chamado de Fair Sequencing Services (FSS). Embora o FSS possa ser visto simplesmente como uma aplicação realizada dentro da estrutura DON, destacamos-o como um serviço que acreditamos que terá alta demanda em todo o mundo. blockchains, e que esperamos que a rede Chainlink suporte ativamente. Quando executados em redes blockchain públicas, muitos dos aplicativos DeFi atuais revelar informações que podem ser exploradas pelos usuários em seu próprio benefício, de forma análoga a o tipo de vazamentos internos e oportunidades de manipulação que são difundidos nos mercados existentes mercados [64, 155]. Em vez disso, o FSS abre caminho para um ecossistema DeFi justo. FSS ajuda os desenvolvedores a construir contratos DeFi protegidos contra manipulação de mercado decorrentes de vazamento de informações. Dados os problemas que destacamos abaixo, o FSS é especialmente atraente para serviços da camada 2 e se enquadra na estrutura para tais serviços que discutimos na Seção 6. O desafio: Nos sistemas sem permissão existentes, as transações são ordenadas inteiramente a critério dos mineiros. Em redes autorizadas, os nós validator podem exercer o mesmo poder. Esta é uma forma de centralização efêmera em grande parte não reconhecida na sistemas de outra forma descentralizados. Um minerador pode (temporariamente) censurar transações para seus benefício próprio [171] ou reordená-los para maximizar seu próprio ganho, uma noção chamada valor minerextraível (MEV) [90]. O termo MEV é ligeiramente enganador: não se refere apenas ao valor que os mineradores podem capturar: Alguns MEV podem ser capturados por usuários comuns. No entanto, como os mineradores têm mais poder do que os usuários comuns, o MEV representa um limite superior na quantidade de valor que qualquer entidade pode obter por meio de reordenamento adversário. e inserção de transação complementar. Mesmo quando os mineradores ordenam transações simplesmente com base em taxas (gás), sem manipulação, os próprios usuários podem manipular os preços do gás para favorecer suas transações em detrimento daquelas de menor sofisticação. Daian et al. [90] documenta e quantifica as maneiras pelas quais os bots (não os mineradores) tomam vantagem da dinâmica dos gases de uma forma que prejudica os usuários dos sistemas DeFi hoje e como MEV até ameaça a estabilidade da camada de consenso subjacente em um blockchain. Outros exemplos de manipulação de ordens de transação surgem regularmente, por exemplo, [50, 154].Novos métodos de processamento de transações, como rollups, são uma abordagem muito promissora aos problemas de dimensionamento de blockchains de alto rendimento. Eles não abordam, no entanto, o problema do MEV. Em vez disso, eles o transferem para a entidade que gera o rollup. Isso entidade, seja o operador de um smart contract ou um usuário fornecendo a (zk-)rollup com uma prova de validade, tem o poder de ordenar e inserir transações. Em outras palavras, rollups trocar MEV por REV: valor extraível de rollup. MEV afeta as próximas transações que foram enviadas ao mempool mas ainda não estão comprometidos em cadeia. As informações sobre essas transações são amplamente disponível na rede. Mineiros, validators e participantes comuns da rede podem portanto, explore esse conhecimento e crie transações dependentes. Além disso, mineradores e validators podem influenciar a ordem das transações que realizam e explorar isso em seu benefício. O problema da influência indevida dos líderes na ordem das transações em consenso protocolos são conhecidos na literatura desde a década de 1990 [71, 190], mas nenhum soluções foram implementadas na prática até agora [97]. A principal razão é que as soluções propostas – pelo menos até muito recentemente – não podem ser facilmente integradas com os serviços públicos. blockchains, pois dependem do conteúdo das transações que permanecem secretas até depois sua ordem foi determinada. Visão geral dos Serviços de Sequenciamento Justo (FSS): DONs fornecerá ferramentas para descentralizar a ordenação de transações e implementá-las de acordo com uma política especificada por um país confiável. criador do contrato, de preferência um que seja justo e não vantajoso para os atores que desejam manipular a ordem das transações. Coletivamente, essas ferramentas constituem o FSS. O FSS inclui três componentes. O primeiro é o monitoramento das transações. No FSS, oracle nós em O monitoram o mempool de MAINCHAIN e (se desejado) permitem submissão off-chain de transações por meio de canal especializado. O segundo é o sequenciamento das transações. Os nós em transações de ordem O para um contrato confiável de acordo com uma política definida para esse contrato. O terceiro é o lançamento de transações. Após as transações serem ordenadas, os nós em O enviam conjuntamente as transações para o cadeia principal. Os benefícios potenciais do FSS incluem: • Equidade nas ordens: o FSS inclui ferramentas para ajudar os desenvolvedores a garantir que as transações contribuições para um determinado contrato sejam ordenadas de uma forma que não dê uma margem injusta vantagem para usuários com bons recursos e/ou tecnicamente experientes. Políticas de pedidos podem ser especificados para esse fim. • Redução ou eliminação de fugas de informação: Ao garantir que os participantes da rede não possam explorar o conhecimento sobre transacções futuras, o FSS pode reduzir ou eliminar ataques como front-running que são baseados em informações disponíveis em rede antes que as transações sejam confirmadas. Prevenir a exploração de tais o vazamento garante que as transações contraditórias que dependem da pendência original as transações não podem entrar no razão antes que as transações originais sejam confirmadas.• Custo de transação reduzido: eliminando a necessidade dos jogadores de velocidade no envio suas transações para smart contract, o FSS pode reduzir bastante o custo do processamento de transações. • Ordenação de prioridade: o FSS pode atribuir automaticamente prioridade especial a transações críticas encomenda. Por exemplo, para evitar ataques frontais contra oracle relatórios, por exemplo, [79], o FSS pode inserir um relatório oracle em um fluxo de transações retroativamente. Um objetivo abrangente do FSS em DONs é capacitar os criadores de DeFi para realizarem sistemas financeiros, isto é, sistemas que não beneficiam usuários específicos (ou mineradores) sobre outros com base na velocidade, conhecimento interno ou capacidade de executar tarefas técnicas manipulação. Embora uma noção clara e geral de justiça seja ilusória, e a justiça perfeita em qualquer sentido razoável é inatingível, o FSS visa fornecer aos desenvolvedores um poderoso conjunto de ferramentas para que possam aplicar políticas que ajudem a cumprir suas metas de design para DeFi. Observamos que embora o principal objetivo do FSS seja atuar como um serviço de sequenciamento justo para o MAINCHAIN que DONs tem como alvo, alguns dos mesmos desejos de justiça que o FSS garantias também podem ser apropriadas para protocolos (descentralizados) executados entre DON festas. Assim, o FSS pode ser visto de forma mais ampla como um serviço prestado por um subconjunto de nós DON para sequenciar de forma justa não apenas transações enviadas por usuários de MAINCHAIN mas também transações (ou seja, mensagens) compartilhadas entre outros nós DON. Nesta seção, focaremos principalmente no objetivo de sequenciar as transações MAINCHAIN. Organização da seção: Na Seção 5.1, descrevemos duas aplicações de alto nível que motivam o design do FSS: impedir a execução antecipada de relatórios oracle e prevenir front-running das transações do usuário. Em seguida, fornecemos mais detalhes sobre o design do FSS na Seção 5.2. A Seção 5.3 descreve exemplos de garantias e meios de pedidos justos para alcançá-los. Finalmente, a Seção 5.4 e a Seção 5.5 discutem ameaças em nível de rede para tais políticas e meios para enfrentá-las, respectivamente para inundação de rede e Sybil ataques. 5.1 O problema inicial Para explicar os objetivos e o design do FSS, descrevemos duas formas gerais de front-running ataques e as limitações das soluções existentes. Front-running exemplifica uma classe de ataques de ordenação de transações: há uma série de ataques relacionados, como backrunning e sanduíche (front-running mais back-running) [237] que não abordamos aqui, mas que o FSS também ajuda a resolver. 5.1.1 Oracle Front Running Em sua função tradicional de fornecer dados fora da cadeia para aplicações blockchain, oracles tornar-se um alvo natural para ataques frontais.Considere o padrão de design comum de usar um oracle para fornecer vários feeds de preços para uma exchange on-chain: periodicamente (digamos, a cada hora), o oracle coleta dados de preços para ativos diferentes e os envia para um contrato de troca. Essas transações de dados de preços apresentam oportunidades óbvias de arbitragem: por exemplo, se o relatório oracle mais recente listar um preço muito mais alto para algum ativo, um adversário poderia antecipar o relatório oracle para comprar ativos e revendê-los imediatamente assim que o relatório de oracle for processado. Redutores de velocidade e preços retroativos: Uma solução natural para o problema de frontrunning de oracle é dar aos relatórios oracle prioridade especial sobre outras transações. Para por exemplo, relatórios oracle poderiam ser enviados com taxas altas para incentivar os mineradores a processar eles primeiro. Mas isto não impedirá a liderança se a oportunidade de arbitragem for elevada, nem pode impedir a arbitragem por parte dos próprios mineiros. Algumas exchanges recorreram, portanto, à implementação de “redutores de velocidade” mais pesados, como enfileirar as transações do usuário por vários blocos antes do processamento. ou ajustando os preços retroativamente quando um novo relatório oracle chegar. As desvantagens destas soluções são que acrescentam complexidade à implementação da troca, aumentam os requisitos de armazenamento e, portanto, os custos de transação, e perturbam a experiência do usuário, pois as trocas de ativos só são confirmadas após um período de tempo significativo. Pegando carona: Antes de passarmos para o FSS, discutiremos o piggybacking, uma forma bastante simples e solução elegante para o problema inicial oracle. Não é aplicável ao endereço no entanto, liderando em outros cenários. Resumindo, em vez de enviar relatórios periodicamente para o contrato on-chain, oracles publicar relatórios assinados que os usuários anexam às suas transações ao comprar ou vender ativos na cadeia. A exchange então simplesmente verifica se o relatório é válido e atualizado (por exemplo, o oracle pode assinar um intervalo de blocos para os quais o relatório é válido) e extrai o feed de preço relevante dele. Esta abordagem simples tem uma série de vantagens sobre o “lombada” acima abordagem: (1) O contrato de câmbio não precisa manter o estado dos preços, o que deve levar a custos de transação mais baixos; (2) Como os relatórios oracle são publicados na rede conforme a necessidade, oracles podem gerar atualizações mais frequentes (por exemplo, a cada minuto), assim minimizar oportunidades de arbitragem na preparação de um relatório9; (3) As transações podem ser validados imediatamente, pois sempre incluem um novo feed de preços. A abordagem não é perfeita, no entanto. Primeiro, esta solução de carona coloca o responsabilidade dos usuários da exchange buscarem relatórios oracle atualizados e anexá-los aos seus transações. Em segundo lugar, embora o piggybacking minimize as oportunidades de arbitragem, não pode evitá-los totalmente sem afetar a vigência do contrato em cadeia. Na verdade, se um oracle o relatório é válido até algum número de bloco n, então uma transação submetida ao bloco n + 1 exigiria um novo relatório válido. Devido a atrasos inerentes na propagação de relatórios de oracles para os usuários, o novo relatório válido para o bloco n + 1 teria 9A arbitragem só vale a pena se a diferença explorável nos preços dos activos exceder a diferença externa taxas exigidas para comprar e vender os ativos, por exemplo, aquelas cobradas pelos mineradores e pela bolsa.a ser divulgado algum período antes do bloco n + 1 ser minerado, digamos, no bloco n −k, assim criando uma sequência de k blocos onde existe uma oportunidade de arbitragem de curta duração. Nós agora descreva como o FSS contorna essas limitações. Priorizando relatórios oracle com FSS: O FSS pode abordar o oracle front-running problema, aproveitando a solução de carona acima, mas empurrando o adicional trabalho de aumento de transações com relatórios oracle para a Rede Oracle Descentralizada. Em um nível alto, os nós oracle coletam transações destinadas a uma troca na cadeia, concordar com um feed de preços em tempo real e publicar o feed de preços junto com as transações coletadas no contrato da cadeia principal. Conceitualmente, pode-se pensar nesta abordagem como uma “lote de transações aumentadas de dados”, onde o oracle garante que um arquivo atualizado o feed de preços é sempre adicionado às transações. As soluções FSS podem ser implementadas de forma transparente para os usuários da bolsa e com mudanças mínimas na lógica do contrato, conforme descrevemos com mais detalhes na Seção 5.2. Garantindo que relatórios oracle recentes são sempre priorizados em relação às transações do usuário é apenas um exemplo de uma política de ordenação que o FSS possa adotar e aplicar. Políticas do FSS para garantir a ordem justiça são descritos de forma mais geral na Seção 5.3. 5.1.2 Transações de usuário iniciais Passamos agora para o front-running em aplicações genéricas, onde o método de defesa acima não funciona. O problema pode ser capturado de forma ampla através do seguinte cenário: Um adversário vê alguma transação do usuário tx1 enviada para a rede P2P e injeta sua própria transação adversária tx2, de modo que tx2 seja processado antes de tx1 (por exemplo, pagando uma taxa de transação mais alta). Por exemplo, este tipo de front-running é comum entre bots que exploram oportunidades de arbitragem em DeFi sistemas [90] e afetaram usuários de vários aplicativos descentralizados [101]. Imposição de uma ordem justa entre as transações processado em blockchain resolve esse problema. Mais fundamentalmente, às vezes nem é necessário ver os detalhes de tx1 e o conhecimento de sua mera existência pode permitir que um adversário avance o tx1 através de seu possuir o tx2 e fraudar o usuário inocente que criou o tx1. Por exemplo, o usuário pode ser conhecido por negociar um ativo específico em horários regulares. Prevenir tais ataques requer mitigações que também evitam o vazamento de metadados [62]. Algumas soluções para este problema existem, mas introduzem atrasos e preocupações de usabilidade. Do pedido de rede ao pedido finalizado com FSS: Oportunidades para liderança surgem porque os sistemas existentes não têm mecanismos para garantir que a ordem em que as transações aparecem em cadeia respeita a ordem dos eventos e o fluxo de informações fora da rede. Isto representa um problema decorrente de deficiências na implementação de aplicações (por exemplo, plataformas de negociação) em um blockchain. Idealmente, alguém garantir que as transações sejam confirmadas em blockchain na mesma ordem em que foram criado e enviado para a rede P2P de blockchain. Mas como a rede blockchain

Fair Sequencing Services general schematic showing transaction flow from users through DON to main chain

é distribuído, tal ordem não pode ser capturada. O FSS introduz, portanto, mecanismos para proteger contra violações da justiça, que surgem apenas por causa da distribuição natureza da rede blockchain. 5.2 Detalhes do FSS Figura 12: Mempool de ordem justa com dois caminhos de transação diferentes: direto e baseado em mempool. A Figura 12 mostra um esquema geral do FSS. Para garantir a justiça, o DON que fornece o FSS deve interferir no fluxo das transações à medida que elas entram na MAINCHAIN. Ajustes nos clientes, nos smart contracts no MAINCHAIN ​​ou em ambos podem ser necessários. A um nível elevado, o processamento de transações pelo FSS pode ser decomposto em três fases, descritas a seguir: (1) Monitoramento das transações; (2) Sequenciamento de transações; e (3) Lançamento de transações. Dependendo do método de ordenação utilizado para sequenciamento de transações, são necessárias etapas adicionais de protocolo, conforme descrito na próxima seção. 5.2.1 Processamento de transações Monitoramento de transações: Prevemos duas abordagens diferentes para o FSS monitorar transações de usuário destinadas a um smart contract específico, diretas e baseadas em mempool: • Direto: A abordagem direta é conceitualmente mais simples, mas requer mudanças clientes usuários para que as transações sejam enviadas diretamente para o Oracle DescentralizadoNós da rede, em vez dos nós da cadeia principal. O DON coleta transações do usuário destinadas a um SC smart contract específico e as ordena com base em alguma política de pedidos. O DON então envia as transações solicitadas para o smart contract na cadeia principal. Alguns mecanismos de ordenação também requerem a abordagem direta porque o usuário que cria uma transação deve criptograficamente proteja-o antes de enviá-lo ao FSS. • Baseado em Mempool: Para facilitar a integração do FSS com clientes legados, o DON pode usar Mempool Services (MS) para monitorar o mempool da cadeia principal e coletar transações. A transmissão direta será provavelmente a implementação preferida para muitos contratos, e acreditamos que deveria ser bastante prático em muitos casos. Discutimos brevemente como os DApps existentes poderiam ser minimamente modificados para suportar transmissão direta, preservando uma boa experiência do usuário. Nós descrevemos abordagens usando Ethereum e MetaMask [6] já que essas são as escolhas mais populares hoje, mas as técnicas mencionadas devem se estender a outras redes e carteiras. Um Ethereum recente Proposta de Melhoria, “EIP-3085: Wallet add Ethereum método RPC de cadeia” [100], facilitará a segmentação de cadeias Ethereum personalizadas (usando um ID de CHAIN diferente do o do MAINCHAIN para evitar ataques de repetição) do MetaMask e outras carteiras baseadas em navegador. Após a implementação desta proposta, um DApp que pretenda utilizar um DON simplesmente adicionariam uma única chamada de método ao seu front-end para poder transmitir diretamente transações para qualquer DON expondo uma API compatível com Ethereum. Enquanto isso, “EIP-712: Ethereum dados estruturados digitados hashing e assinatura” [49] fornece um pouco alternativa mais envolvente, mas já amplamente implantada, onde um usuário DApp pode usar MetaMask para assinar dados estruturados especificando uma transação DON. O DApp pode enviar esses dados estruturados assinados para DON. Finalmente, notamos que abordagens híbridas também são possíveis. Por exemplo, legado os clientes podem continuar a enviar transações para o mempool da cadeia principal, mas transações (por exemplo, relatórios oracle) são enviadas diretamente para nós DON (em particular, o conjunto de nós que fornecem relatórios oracle, como atualizações de feed de preços e o conjunto de nós fornecimento do FSS pode sobrepor-se ou ser idêntico). Sequenciamento de transações: O principal objetivo do FSS é garantir que as transações dos usuários sejam ordenadas de acordo com uma política pré-definida. A natureza desta política irá dependem das necessidades do aplicativo e dos tipos de ordens de transação injustas que ele visa prevenir. Como o FSS no DON é capaz de processar dados e manter o estado local, eles podem impor uma política de sequenciamento arbitrária com base nas informações que são disponível em oracles. As políticas específicas de pedidos e sua implementação são discutidas posteriormente na Seção 5.3.Lançamento de transação: Após coletar e ordenar as transações dos usuários, recebidas diretamente dos usuários ou coletadas do mempool, o DON envia essas transações para a cadeia principal. Como tal, as interações de DON com a cadeia principal permanecem sujeito a ordens de transação (potencialmente injustas) regidas pelos mineradores da cadeia principal. Para aproveitar os benefícios da ordenação de transações descentralizadas, o alvo inteligente o contrato SC, portanto, deve ser projetado para tratar o DON como um cidadão de “primeira classe”. Nós distinguir duas abordagens: • Contratos somente DON: A opção de design mais simples é ter a cadeia principal inteligente o contrato SC aceita apenas transações que foram processadas pelo DON. Isto garante que smart contract processe transações na ordem proposta por o DON, mas de fato restringe o smart contract a operar em um sistema baseado em comitê (ou seja, o comitê DON agora tem poder contínuo para determinar o ordenação e inclusão de transações). • Contratos de classe dupla: um design preferencial e mais granular torna a cadeia principal inteligente contrato SC aceita transações originadas tanto de DON quanto de legado usuários,10 mas coloca “redutores de velocidade” tradicionais em transações que não foram processadas pelo DON. Por exemplo, as transações do DON podem ser processadas imediatamente, enquanto as transações legadas são “armazenadas em buffer” pelo smart contract para um período fixo de tempo. Outros mecanismos padrão para prevenir o front-running como esquemas de confirmação-revelação ou VDFs [53] também podem ser aplicados a legados transações. Isso garante que as transações solicitadas por DON sejam processadas em a ordem acordada, sem dar ao DON o poder indesejado de censurar transações. Como a imposição da ordenação de transações pelo FSS exige que as transações sejam agregadas “off-chain”, esta solução é naturalmente combinada com outras técnicas de agregação que visam reduzir os custos de processamento on-chain. Por exemplo, depois de coletar e ordenando transações, o DON pode enviar essas transações para a cadeia principal como um única “transação em lote” (por exemplo, um rollup), reduzindo assim a transação agregada taxa. Fazendo cumprir a ordem de transação: Seja em um design somente DON ou de classe dupla, a cadeia principal smart contract SC e DON devem ser co-projetadas para garantir que a ordem de transação de DON seja mantida. Aqui também, imaginamos diferentes opções de projeto: • Números de sequência: O DON pode anexar um número de sequência a cada transação e enviar essas transações para o mempool da cadeia principal. O principal 10Se o monitoramento de transações do DON for baseado no mempool, as transações legadas devem ser distinguíveis das transações DON para que não sejam coletadas pelo DON, por exemplo, por meio de uma tag especial incorporado na transação ou especificando um preço específico do gás, por ex. DON transações têm gás preços abaixo de um determinado limite.chain smart contract SC ignora transações que chegam “fora de sequência”. Nós observe que nesta configuração, os mineradores da cadeia principal podem decidir ignorar o DON ordenação de transações, fazendo com que as transações falhem. É possível, mantendo o estado (caro), que o SC imponha a ordem correta das transações, de certa forma de forma análoga a como o TCP armazena pacotes fora de ordem até que os pacotes perdidos sejam recebido. • Transação nonces: Para muitos blockchains, e em particular para Ethereum, o A abordagem de numeração de sequência acima pode aproveitar a transação integrada nonces para impor que o SC da cadeia principal smart contract processe as transações em sequência. Aqui, os nós DON enviam transações para a cadeia principal por meio de uma única conta da cadeia principal, protegida por uma chave compartilhada entre os nós DON. A conta a transação nonce garante que as transações sejam extraídas e processadas na ordem correta. • Transações agregadas: o DON pode agregar múltiplas transações em um rollup (ou em um pacote semelhante a rollup). A cadeia principal smart contract precisa ser projetado para lidar com essas transações agregadas. • Transações agregadas com um proxy da cadeia principal: aqui, o DON agrupa de forma semelhante as transações em uma “metatransação” para a cadeia principal, mas depende de um proxy personalizado smart contract para descompactar as transações e retransmiti-las para o contrato alvo SC. Esta técnica pode ser útil para compatibilidade herdada. As metatransações agem como rollups, mas diferem porque consistem em um arquivo não compactado lista de transações postadas uma vez na cadeia principal. O último design tem a vantagem de suportar perfeitamente as transações do usuário que eles próprios são procurados por meio de um contrato de cadeia principal antes de atingir a meta de DON contrato SC. Por exemplo, considere um usuário que envia uma transação para alguma carteira contrato, que por sua vez envia uma transação interna para SC. Atribuindo uma sequência número para tal transação seria complicado, a menos que o contrato da carteira do usuário seja especialmente projetado para encaminhar o número de sequência com cada transação interna para SC. Da mesma forma, tais transações internas não podem ser facilmente agregadas em uma metatransação enviada diretamente ao SC. Discutimos outras considerações de design para tais transações por procuração abaixo. 5.2.2 Atomicidade da transação Nossa discussão até agora assumiu implicitamente que as transações interagem com um único on-chain smart contract (por exemplo, um usuário envia uma solicitação de compra para uma exchange). Ainda assim, em sistemas como Ethereum, uma única transação pode consistir em múltiplas transações internas, por exemplo, uma smart contract chamando uma função em outro contrato. Abaixo, nós descrevem duas estratégias de alto nível para sequenciar transações “multicontratos”, enquanto preservando a atomicidade da transação (ou seja, a sequência de ações prescritas por as transações são todas executadas na ordem correta ou não são executadas).Atomicidade forte: A solução mais simples é aplicar o FSS, conforme descrito acima, diretamente a transações inteiras de “multicontratos”. Ou seja, os usuários enviam suas transações na rede e o FSS monitora, sequencia e publica essas transações no cadeia principal. Esta abordagem é tecnicamente simples, mas tem uma limitação potencial: se um usuário transação interage com dois contratos SC1 e SC2 que desejam alavancar serviços de sequenciação, então a política de sequenciação destes dois contratos tem de ser consistente. Isto é, dadas duas transações diferentes tx1 e tx2 com as quais cada uma interage tanto SC1 quanto SC2, não deve ser o caso de a política de SC1 ordenar tx1 antes de tx2 enquanto a política do SC2 prescreve a ordem oposta. Para a grande maioria dos cenários de interesse, prevemos que as políticas de sequenciamento adotadas por diferentes contratos serão consistentes. Por exemplo, SC1 e SC2 pode querer que as transações sejam ordenadas pela hora aproximada de chegada no mempool, e SC1 pode ainda querer que certos relatórios oracle sejam sempre entregues primeiro. Como o últimas oracle transações de relatório não interagem com SC2, as políticas são consistentes. Atomicidade fraca: Na sua total generalidade, o FSS poderia ser aplicado ao nível de indivíduos transações internas. Considere transações da forma tx = { ˜txpre, ˜txSC, ˜txpost}, consistindo em algumas transações iniciais transação(ões) ˜txpre, que resulta em uma transação interna ˜txSC para SC, que por sua vez emite transação(ões) interna(s) ˜txpost. A política de sequenciamento do SC pode determinar como a transação interna ˜txSC deve ser ordenada em relação a outras transações enviadas para SC, mas deixe em aberto a ordem de sequenciamento para ˜txpre e ˜txpost. Dadas as características intrínsecas do processamento de transações em sistemas como Ethereum, desenvolver um serviço de sequenciamento que vise transações internas específicas não é simples. Com um SC de contrato especialmente concebido, isto pode ser realizado da seguinte forma: 1. A transação tx é enviada para a rede e extraída (sem qualquer sequenciamento realizado pelo FSS). O ˜txpre inicial é executado e chama ˜txSC. 2. SC não executa ˜txSC e retorna. 3. O FSS monitora as transações internas do SC, sequencia-as e publica-as de volta para SC (ou seja, enviando transações ˜txSC diretamente para SC). 4. O SC processa as transações ˜txSC recebidas do FSS e emite as transações internas ˜txpost resultantes de ˜txSC. Com esta abordagem, as transações não são executadas totalmente atomicamente (ou seja, o original transação tx é dividida em várias transações na cadeia), mas a ordem de as transações internas são preservadas. Esta solução implica uma série de restrições de design. Por exemplo, ˜txpre não pode suponha que ˜txSC e ˜txpost serão executados. Além disso, o SC deve ser concebido de modo a executar transações ˜txSC e ˜txpost em nome de um determinado usuário, mesmo que tenham sidoenviado pelo FSS. Por estas razões, a solução de “Atomicidade Forte” de granulação mais grossa acima é provavelmente preferível na prática. Por respeitar dependências mais complexas, envolvendo múltiplas transações e suas respectivas transações internas, o escalonador de transações do FSS poderá conter funções elaboradas que se assemelham àquelas encontradas em gerenciadores de transações de relacionamentos gerenciadores de banco de dados. 5.3 Sequenciamento justo de transações Aqui discutimos duas noções de justiça para o sequenciamento de transações e as implementações correspondentes, que podem ser realizadas pelo FSS: justiça de ordem baseada em uma política imposto pelo FSS e preservação segura da causalidade, o que requer métodos criptográficos adicionais no FSS. Justiça da ordem: A justiça da ordem é uma noção de justiça temporal em protocolos de consenso que foi introduzido formalmente pela primeira vez por Kelkar et al. [144]. Kelkar et al. visam alcançar uma forma de política natural em que as transações sejam ordenados com base na hora em que foram recebidos pela primeira vez pelo DON (ou pela rede P2P, no caso de um FSS baseado em mempool). Num sistema descentralizado, no entanto, diferentes os nós podem ver as transações chegarem em uma ordem diferente. Estabelecendo uma ordem total em todas as transações é o próprio problema resolvido pelo protocolo de consenso subjacente MAINCHAIN. Kelkar et al. [144] introduz, portanto, uma noção mais fraca que pode ser alcançado com a ajuda de uma rede Oracle descentralizada, chamada “justiça de pedido em bloco”. Ele agrupa as transações que DON recebeu durante um intervalo de tempo em um “bloco” e insere todas as transações do bloco simultaneamente e na mesma posição (ou seja, altura) em MAINCHAIN. Eles são, portanto, ordenados juntos e devem ser executáveis paralelamente, sem criar conflitos entre eles. Grosso modo, orderfairness afirma que se uma grande fração de nós vê a transação τ1 antes de τ2, então τ1 será sequenciado antes ou no mesmo bloco que τ2. Ao impor uma atitude tão grosseira granularidade na ordem de transação, as oportunidades de ataques front-running e outros ataques relacionados a ordens são bastante reduzidas. Kelkar et al. propor uma família de protocolos chamada Aequitas [144], que aborda diferentes modelos de implantação, incluindo configurações de rede síncronas, parcialmente síncronas e assíncronas. Os protocolos Aequitas impõem uma sobrecarga de comunicação significativa em relação ao consenso BFT básico e, portanto, não são ideais para uso prático. Acreditamos, no entanto, que surgirão variantes práticas de Aequitas que poderão ser usadas para sequenciamento de transações no FSS e outras aplicações. Alguns esquemas relacionados já foram propostos que têm menos formalismo de acompanhamento e propriedades mais fracas, por exemplo, [36, 151, 236], mas melhor desempenho prático. Esses esquemas podem ser apoiados também no FSS. Também é importante notar que o termo “justiça” aparece em outras partes do blockchain literatura com um significado diferente, nomeadamente justiça no sentido de oportunidade paramineradores proporcionais aos seus recursos comprometidos [106, 181] ou para validators em termos de oportunidades iguais [153]. Preservação segura da causalidade: A abordagem mais conhecida para evitar frontrunning e outras violações de ordenação em plataformas distribuídas depende de criptografia. técnicas. Sua característica comum é ocultar os próprios dados da transação, aguardando até a ordem na camada de consenso foi estabelecida e para revelar os dados da transação posteriormente para processamento. Isso preserva a ordem causal entre as transações que são executado pelo blockchain. As noções de segurança relevantes e protocolos criptográficos foram desenvolvidos consideravelmente antes do advento de blockchains [71, 190]. As condições de segurança de “causalidade de entrada” [190] e “preservação segura da causalidade” [71, 97] exigem formalmente que nenhuma informação sobre uma transação se torne conhecida antes que a posição desta transação na ordem global tenha sido determinada. Um adversário não deve ser capaz de inferir qualquer informação até esse momento, de forma criptografada. sentido forte. Podem-se distinguir quatro técnicas criptográficas para preservar a causalidade: • Protocolos commit-reveal [29, 142, 145]: Em vez de uma transação ser anunciada claramente, apenas um compromisso criptográfico com a transação é transmitido. Depois que todas as transações confirmadas, mas ocultas, forem solicitadas (no início de blockchain sistemas no próprio MAINCHAIN, mas aqui pelo FSS), o remetente deve abrir o compromisso e revelar os dados da transação dentro de um intervalo de tempo pré-determinado. A rede então verifica se a abertura satisfaz o compromisso anterior. O as origens deste método datam de antes do advento de blockchains. Embora seja particularmente simples, a abordagem apresenta desvantagens consideráveis ​​e não é fácil de utilizar por duas razões. Primeiro, como apenas o compromisso existe no nível do protocolo de pedido, a semântica da transação não pode ser validado durante o consenso. Uma viagem adicional de ida e volta ao cliente é necessário. Mais severamente, porém, pondera a possibilidade de que nenhuma abertura possa chegar, o que pode equivaler a um ataque de negação de serviço. Além disso, é difícil determinar se a abertura é válida de uma forma consistente e distribuída. maneira porque todos os participantes devem concordar se a abertura chegou em tempo. • Protocolos de confirmação-revelação com recuperação atrasada [145]: um desafio com o abordagem commit-reveal é que um cliente pode se comprometer com uma transação especulativamente e revelá-la mais tarde somente se as transações subsequentes a tornarem lucrativa. Um variante recente da abordagem de compromisso-revelação melhora a resiliência contra esta tipo de mau comportamento. Em particular, o protocolo TEX [145] aborda este problema usando uma abordagem inteligente em que as transações criptografadas incluem uma chave de descriptografia obtido calculando uma função de atraso verificável (VDF) [53, 221]. Se um cliente não conseguir descriptografar sua transação em tempo hábil, outras pessoas no sistema irão descriptografar em seu nome, resolvendo um quebra-cabeça criptográfico moderadamente difícil.• Criptografia de limite [71, 190]: Este método explora que o DON pode executar operações criptográficas de limite. Suponha que o FSS mantenha uma criptografia pública key pkO e os oracles compartilham a chave privada correspondente entre si. Os clientes então criptografam as transações sob pkO e as enviam para o FSS. Pedidos FSS transações no DON, então as descriptografa e finalmente as injeta em MAINCHAIN na ordem fixa. A criptografia, portanto, garante que o pedido seja não com base no conteúdo da transação, mas que os próprios dados estão disponíveis quando necessário. Este método foi originalmente proposto por Reiter e Birman [190] e posteriormente refinado por Cachin et al. [71], onde foi integrado com um consenso permitido protocolo. Trabalhos mais recentes exploraram o uso da criptografia de limite como mecanismo de nível de consenso para mensagens genéricas [33, 97] e para cálculos gerais com dados compartilhados [41]. Comparada aos protocolos de confirmação e revelação, a criptografia de limite evita ataques simples de negação de serviço (embora seja necessário cuidado, dado o custo computacional da descriptografia). Permite que o DON prossiga de forma autônoma, em sua própria velocidade e sem aguardando novas ações do cliente. As transações podem ser validadas imediatamente após terem sido descriptografadas. Além disso, os clientes criptografam todas as transações com um chave para DON e o padrão de comunicação permanece o mesmo que com outros transações. Gerenciando a chave de limite com segurança e com alteração de nós em O, no entanto, pode apresentar dificuldades adicionais. • Compartilhamento secreto confirmado [97]: em vez de criptografar os dados da transação em uma chave mantida por DON, o cliente também pode compartilhá-la secretamente para os nós em O. Usando um esquema de compartilhamento de segredos híbrido e computacionalmente seguro, a transação é criptografado primeiro usando uma cifra simétrica com uma chave aleatória. Apenas a chave simétrica correspondente é compartilhada e o texto cifrado é enviado para DON. O cliente deve enviar um compartilhamento de chave para cada nó em O usando uma mensagem criptografada separadamente. As etapas restantes do protocolo são as mesmas do limite criptografia, exceto que os dados da transação são descriptografados com o simétrico algoritmo após reconstruir a chave por transação a partir de seus compartilhamentos. Este método não requer configuração ou gerenciamento de um sistema criptográfico de chave pública associado ao DON. No entanto, os clientes devem estar cientes dos nós em O e comunicar num contexto seguro com cada um deles, o que coloca encargos adicionais para os clientes. Embora os métodos criptográficos ofereçam proteção completa contra informações vazando das transações enviadas para a rede, eles não ocultam metadados. Para por exemplo, um endereço IP ou um endereço Ethereum do remetente ainda pode ser usado por um adversário para realizar ataques frontais e outros. Vários recursos para melhorar a privacidade técnicas implantadas na camada de rede, por exemplo, [52, 95, 107], ou na camada de transação, por exemplo, [13, 65], seria necessário para atingir esse objetivo. O impacto de uma determinada peça de metadados, nomeadamente para qual contrato uma transação é enviada, podem ser (parcialmente) ocultadosatravés da multiplexação de muitos contratos no mesmo DON. Ocultação criptográfica de transações por si só também não impede a priorização de transações por DON nós em conluio com remetentes de transações. A causalidade segura garantida por protocolos criptográficos complementa as garantias de justiça da ordem para qualquer política, e pretendemos explorar uma combinação das duas métodos, onde isso for possível. Se um adversário não puder obter vantagem significativa observando metadados, os protocolos seguros de preservação de causalidade poderiam ser usados juntamente com uma abordagem de pedido ingênua também. Por exemplo, nós oracle podem gravar transações para L assim que os receberem, sem duplicação. As transações seriam então ordenados de acordo com sua aparência em L e posteriormente descriptografados. Também planejamos considerar o uso de TEEs como uma forma de ajudar a impor uma ordem justa; para Por exemplo, Tesseract [44] pode ser visto como alcançando uma forma de ordenação causal, mas um fortalecido pela capacidade do TEE de processar transações de forma explícita enquanto mantendo sua confidencialidade. 5.4 Considerações sobre a camada de rede Até agora, a nossa descrição do FSS centrou-se principalmente no problema de garantir que o a ordem finalizada das transações corresponde à ordem observada na rede. Doravante, consideramos questões de justiça que poderiam surgir na própria camada de rede. Os comerciantes de alta frequência em mercados eletrônicos convencionais investem consideráveis recursos para obter velocidade de rede superior [64], e os comerciantes em bolsas de criptomoedas exibem comportamento semelhante [90]. A velocidade da rede confere uma vantagem tanto em observar as transações de outras partes e na apresentação de transações concorrentes. Um remédio implantado na prática e popularizado no livro Flash Boys [155] é o “redutor de velocidade” introduzido inicialmente na bolsa IEX [128] e posteriormente em outras trocas [179] (com resultados mistos [19]). Este mecanismo impõe um atraso (350 microssegundos em IEX) no acesso ao mercado, com o objectivo de neutralizar vantagens no velocidade. Evidência empírica, por ex. [128], apoia sua eficácia na diminuição de certas negociações custos para investidores comuns. O FSS pode ser usado simplesmente para implementar um sistema assimétrico aumento de velocidade – aquele que atrasa as transações recebidas. Budish, Cramton e Shim [64] argumentam que a exploração das vantagens da velocidade é inevitável em mercados de tempo contínuo e defendem uma solução estrutural no forma de mercados baseados em leilões em lote. Mas esta abordagem não se consolidou amplamente em plataformas de negociação existentes. Os sistemas de negociação convencionais são centralizados, normalmente recebendo transações através de uma única conexão de rede. Num sistema descentralizado, pelo contrário, é possível observe a propagação da transação a partir de vários pontos de vista. Consequentemente, é possível observar comportamentos como inundação de rede em uma rede P2P. Nós pretendemos explorar abordagens de camada de rede para FSS que ajudem os desenvolvedores a especificar políticas proibindo tais comportamentos de rede indesejáveis.5.5 Políticas de justiça em nível de entidade A justiça da ordem e a causalidade segura visam impor uma ordem em transações que respeita o momento em que foram criados e submetidos pela primeira vez à rede. Uma limitação desta noção de justiça é que ela não impede ataques em que um adversário ganha vantagem ao inundar um sistema com muitas transações, uma estratégia observada em estado selvagem como uma forma de realizar sniping de transações eficaz em token vendas [159] e para criar congestionamento resultando na liquidação de posições de dívida colateralizada (CDPs) [48]. Em outras palavras, a justiça da ordem impõe justiça em relação às transações, não aos jogadores. Conforme mostrado no sistema CanDID [160], é possível usar ferramentas oracle como DECO ou Town Crier em conjunto com um comitê de nós (como um DON) para alcançar várias formas de resistência a Sybil, protegendo ao mesmo tempo a privacidade. Os usuários podem registrar identidades e fornecer evidências de sua singularidade sem revelar as próprias identidades. Credenciais resistentes a Sybil oferecem uma abordagem possível para enriquecer a ordem de transação políticas de uma forma que limitaria as oportunidades para ataques de inundação. Por exemplo, um A venda de token pode permitir apenas uma transação por usuário registrado, onde o registro exige uma prova da exclusividade de um identificador nacional, como um número de segurança social. Tal abordagem não é infalível, mas pode revelar-se uma política útil para mitigar ataques de inundação de transações.

DON トランザクション実行フレームワーク

(DON-TEF) DONs は、oracle とレイヤー 2 ソリューションの分散リソース サポートを提供します。 Decentralized Oracle Network Transaction-Execution Framework (DONTEF)、または略して TEF と呼ばれるもの。 現在、DeFi コントラクトの更新頻度はメイン チェーンのレイテンシによって制限されています。 たとえば、Ethereum [104] の 10 ~ 15 秒の平均ブロック間隔と、 大量のデータをチェーン上にプッシュし、計算/送信スループットが制限される— シャーディング [148、158、232] やレイヤー 2 実行 [5、 12、121、141、169、186、187]。トランザクション時間がはるかに速い blockchain であっても、 例: [120] は、オフチェーン計算 [168] を含むスケーリング戦略を提案しています。 TEF は、そのようなレイヤー 1 / MAINCHAIN システムのレイヤー 2 リソースとして機能することを目的としています。 TEF を使用すると、DONs は MAINCHAIN コントラクトでのより高速な更新をサポートできます。 メインチェーンによって提供される主要な信頼保証を保持します。 TEFがサポートできるのは rollups を含む、多数のレイヤー 2 実行技術およびパラダイムのいずれか、11 楽観的な rollups、Validium など、および DON が含まれるしきい値信頼モデル ノードはトランザクションを実行します。 TEF は FSS を補完するものであり、FSS をサポートすることを目的としています。言い換えれば、どれでも TEF で実行されているアプリケーションは FSS を使用できます。 11しばしば「zk-rollups」と呼ばれますが、これはゼロ知識証明を必ずしも必要としないため、誤った名称です。

Transaction Execution Framework schematic showing mempool, clearing, and settlement flow

6.1 TEFの概要 TEF は、パフォーマンスの高いハイブリッドを構築および実行するための設計パターンです。 smart contract SC。 ハイブリッド smart contracts の背後にある主な考え方に従って、TEF には以下が含まれます。 SC を 2 つの部分に分解: (1) TEF コンテキストでアンカーと呼ぶもの MAINCHAIN 上の契約 SCa と (2) DON ロジックは、TEF 実行可能ファイルと呼ばれます。 ここでは、SCa の組み合わせによって実装される論理コントラクトを示すために SC を使用します。 そして実行します。 (上で述べたように、私たちは、 SC をこれらのコンポーネントに自動的に契約します)。 TEF 実行可能ファイル exect は、SC でユーザーのトランザクションを処理するエンジンです。それ DON 上で実行されるため、パフォーマンスの高い方法で実行できます。これにはいくつかの機能があります。 • トランザクションの取り込み: exect はユーザーのトランザクションを受信または取得します。それはできる 直接、つまり、DON でのトランザクション送信を通じて、または MAINCHAIN 経由で MSを使用したmempool。 • 高速トランザクション実行: 内部の資産に関係するトランザクションを実行します。 SC。これはローカル、つまり DON 上で行われます。 • 高速かつ低コスト oracle / アダプター アクセス: exect は oracle レポートにネイティブ アクセスします。 およびその他のアダプター データにより、より高速、より安価、より正確な資産を実現 MAINCHAIN 実行よりも価格設定が異なります。さらに、オフチェーン oracle アクセスは減少します oracle の運用コスト、つまりシステムの使用コストを回避することで、 高価なオンチェーンストレージ。 • 同期: exect は定期的に更新を DON から MAINCHAIN にプッシュし、SCa を更新します。 アンカー コントラクトは、SC の MAINCHAIN フロント エンドです。 SC の高信頼コンポーネントとして、次のようないくつかの目的を果たします。 • 資産保管: ユーザーの資金は SCa に預け入れ、保持され、SCa から引き出しられます。 • 同期検証: SCa は、実行時に状態更新の正確さを検証する場合があります。 同期 (例: rollups に接続された SNARK)。 • ガード レール: SCa には、破損や障害から保護するための規定が含まれる場合があります。 実際に。 (詳細についてはセクション 7 を参照してください。) TEF では、ユーザーの資金は MAINCHAIN で保管されます。つまり、DON 自体は保管されていません。同期メカニズム (以下を参照) の選択に応じて、ユーザーは次のことが必要になる場合があります。 DON は、正確な oracle レポートと MAINCHAIN とのタイムリーな同期に対してのみ信頼されます。 結果として得られる信頼モデルは、オーダーブックベースの DEX のものと非常によく似ています (例: [2])。 現在、これには通常、注文照合用のオフチェーン コンポーネントと清算と決済用のオンチェーン コンポーネントが含まれています。決済システムの用語を使用すると、ex をコンポーネントと考えることができます。 SC が清算を担当し、SCa が決済を担当します。回路図については図 13 を参照してください。 TEFの描写。 図 13: TEF の回路図。この例では、トランザクションは mempool を通過します。 MAINCHAIN を MS 経由で DON に送信します。 TEF の利点: TEF には 3 つの主な利点があります。 • 高パフォーマンス: SC は、DON の MAINCHAIN よりもはるかに高いスループットを継承します。 トランザクションとoracleレポートの両方。さらに、exect は、MAINCHAIN のみでの実装よりもトランザクションをより速く処理し、oracle レポートにタイムリーに応答できます。 • 低料金: 同期プロセスはトランザクション処理ほど時間に依存せず、トランザクションは DON から MAINCHAIN にバッチで送信できます。 その結果、このアプローチによるトランザクションごとのオンチェーン料金 (ガスコストなど) は、MAINCHAIN 上でのみ実行されるコントラクトよりもはるかに低くなります。 • 機密性: DON の機密性メカニズムは、 SCでベア。

TEF の制限: TEF の制限の 1 つは、瞬間的なデータをサポートしていないことです。 引き出しはメインチェーン上でのみ発生します: 引き出しリクエストの送信時 SCa に対して、ユーザーは exect を含む状態更新を実行するまで待機する必要がある場合があります。 出金トランザクションが承認される前に行われます。いくつかの部分的な救済策について説明します。 ただし、セクション 6.2 に記載されています。 TEF のもう 1 つの制限は、DeFi の原子構成をサポートしていないことです。 MAINCHAIN 上のコントラクト、具体的には複数の DeFi を介してアセットをルーティングする機能 単一のトランザクションで契約します。ただし、TEF は、そのようなアトミック性をサポートできます。 DeFi 契約は同じ DON で実行されます。これに対処するいくつかの方法についても説明します セクション 6.2 の問題。 6.2 トランザクションルーティング SC のトランザクションは、ユーザーが DON に直接送信することも、経由してルーティングすることもできます。 MAINCHAIN の mempool (FSS 経由)。 4 つの異なるトランザクション タイプがあり、それぞれ 異なる処理が必要になる場合があります。 契約内取引: TEF はガス力学の複雑さを回避するため、SC にトランザクション処理の柔軟性を提供します。 レイヤ 1 契約で利用可能です。たとえば、Ethereum のメモリプール トランザクション中、 より高いガス価格の新しいトランザクションによって上書きされる可能性があり、SC は、SC 内の資産を操作するトランザクションが表示されるとすぐに、権限のあるトランザクションとして扱うことができます。 メンプールで。したがって、SC はトランザクションが確認されるまで待つ必要がありません。 ブロック内で実行されるため、レイテンシが大幅に短縮されます。 プロキシ: ユーザーは、ウォレットコントラクト経由でトランザクション τ を SC に送信するか、または MAINCHAIN 上の他のコントラクト。 DON は次の実行をシミュレートすることができます。 MAINCHAIN の τ を調べて、SC への後続トランザクションが発生するかどうかを判断します。 そうである場合、τ は、実行する SC の他のトランザクションと順序付けできます。いくつかあります DON がそのようなトランザクションを識別する方法の可能性: (1) DON はシミュレートできます。 メモリプール内のすべてのトランザクション (高価なアプローチ)。 (2) 特定の契約または ウォレットなどの契約タイプは、DON による監視のためにリストに登録できます。または (3) ユーザーは次のことができます。 DON 検査のためにトランザクションに注釈を付けます。 1 つのトランザクションが 2 つのトランザクションと相互作用する場合、問題はさらに複雑になります。 契約、SC1 および SC2 は、どちらも Fair Sequencing Services を使用しており、互換性のない注文ポリシーを持っています。 DON は、たとえば、最も遅い時間に τ をシーケンスする可能性があります。 それは両方と互換性があります。 預金: MAINCHAIN アセットを SC に預けるトランザクションは、SC がそれを有効なものとして扱う前に、ブロック内で確認される必要があります。マイニングを検出すると、 資産(例:イーサ)をSCaに送信するトランザクションを実行すると、即座に確認できます。デポジット。たとえば、oracle によって報告された DON の現在の価格を、 資産。 引き出し: 上で述べたように、TEF には出金が常に瞬時に実行できるとは限らないという制限があります。 rollup タイプの実行モデルでは、引き出しは 安全に実行するには、リクエストを他のトランザクションと並べる、つまりロールアップする必要があります。 加工された。ただし、この制限には部分的な解決策がいくつかあります。 DON が出金トランザクションまでの rollup 有効性証明を迅速に計算できる場合、メモリプール exect 内のユーザーのトランザクション τ を観察することで、より高いガス価格で τ の状態更新トランザクション τ ' を送信できます。これは一種の有益なフロントランニングです。 τ ' がメモリプールに到達する前に τ がマイニングされない場合、τ ' は τ に先行し、τ は 承認された引き出しが有効になります。 TEF バリアントでは、状態の更新を計算するために DON が使用されます (「 以下のしきい値署名バリアント)、DON は代わりにオフチェーンを決定することもできます 実行時の SC の状態を考慮して τ を承認すべきかどうか。 DON その後、完全なトランザクションに影響を与えることなく、出金 τ を承認するトランザクション τ ' を送信できます。 状態の更新。 このアプローチが不可能な場合、または成功しない場合は、DON によって開始される トランザクション τ ' は、τ に応答してユーザーに資金を送信できるため、ユーザーはその必要がなくなります。 追加のトランザクションを開始します。 6.3 同期中 TEF 実行可能ファイル exect は、更新を DON から MAINCHAIN に定期的にプッシュします。 同期と呼ばれるプロセスで SCa の状態を更新します。同期が考えられる レイヤ 2 トランザクションのレイヤ 1 への伝播として、TEF は任意の数を利用できます。 rollups [5, 12, 16, 69] を含む、この目的のための既存の手法の楽観的 rollups [10, 11, 141]、Validium [201]、または基本的なしきい値署名 (しきい値 BLS など) Schnorr、または ECDSA [24、54、116、202]。原則として、信頼できる実行環境 状態変化の正確性を証明することもでき、より高いパフォーマンスを提供します。 rollups の代替ですが、ハードウェアに依存する信頼モデルを使用します。 (例: [80] を参照。) 以下では、これらの同期オプションを 3 つの主要なプロパティに関して比較します。 テフ: • データの可用性: SC の状態はどこに保存されますか?少なくとも 3 つの選択肢があります TEF で利用可能: MAINCHAIN、DON、またはサードパーティのストレージで利用可能 IPFS などのプロバイダー。さまざまなセキュリティ保証と可用性を実現します レベルとパフォーマンスプロファイル。簡単に言えば、MAINCHAIN に状態を保存すると、 オンチェーンの監査可能性により、状態の可用性を第三者に依存する必要がなくなります。 一方、状態をオフチェーンに保存すると、ストレージコストが削減され、パフォーマンスが向上します。 スループットは、ストレージプロバイダー (DON またはサードパーティ) を信頼することを犠牲にして、 データの可用性。もちろん、これらのオプションを組み合わせた柔軟なモデルも可能です。 可能です。データ利用に必要な形式を表 1 に示します。• 正確性の保証: SCa は更新の正確さをどのように確認しますか exによってプッシュされましたか?これは exect と SCa の計算負荷に影響します。 同期遅延 (下記を参照)。 • 遅延: 同期の遅延には 3 つの要因があります: (1) 所要時間 同期トランザクション τsync を生成する予定です。 (2) τsyncにかかる時間 MAINCHAIN で確認します。 (3) τsync が有効になるまでの時間 SCa. TEF では、レイテンシーは出金の場合に特に重要です (ただし、出金の場合はそれほど重要ではありません)。 契約内取引)のため、出金には必ず(少なくとも 部分的)状態の同期。 同期中 オプション データ 可用性 正しさ 保証する レイテンシ ロールアップ [5、12、16、69] オンチェーン 有効性の証明 生成にかかる時間 有効性の証明 (例: 現在のシステムの分) バリジウム [201] オフチェーン 有効性の証明 同上 楽観的 rollup [10, 11、141] オンチェーン 不正行為の証拠 チャレンジの長さ 期間 (例: 日 または 週間) しきい値署名 [24, 54、116、202] 柔軟な DON によるしきい値署名 瞬時 信頼できる実行環境 [80] 柔軟な ハードウェアベース 証明書 瞬時 表 1: TEF のさまざまな同期オプションとそのプロパティ。 表 1 は、TEF の 5 つの主要な同期オプションのこれらのプロパティをまとめたものです。 (注) これらのテクノロジーをスタンドアロンのレイヤー 2 スケーリングとして比較するつもりはありません。 ソリューション。これについては、[121] などを参照してください。) 次に、各同期オプションについて説明します。 ロールアップ: rollup [69] は、状態遷移が トランザクションのバッチはオフチェーンで計算されます。 その後、状態の変化が伝播されます メインチェーンに。 rollups を実装するために、アンカー smart contract SCa は、実際の状態のコンパクト表現 Rstate (マークル ルートなど) を格納します。同期するには、τsync = を送信します。 (T、R' state) を SCa に変換します。ここで、T は、前回のトランザクション以降に処理されたトランザクションのセットです。同期とR' 状態は、次の方法を適用して計算された新しい状態のコンパクトな表現です。 T のトランザクションを前の状態 Rstate に戻します。 SCa が τsync での状態更新を検証する方法が異なる 2 つの一般的な亜種があります。 最初の (zk-)rollups は、正確性の簡潔な引数を添付します。 遷移 Rstate →R' の妥当性証明 状態。このバリアントを実装するには、次を実行します τsync とともに有効性証明 (zk-SNARK 証明など) を計算して送信します。 R'を証明する state は、SCa の現在の状態に T を適用した結果です。アンカー 契約は証拠を検証した後にのみ状態の更新を受け入れます。 楽観的な rollup には正しさの引数が含まれていませんが、staking と 状態遷移の分散検証を容易にするチャレンジ手順。このために rollup のバリアント、SCa は τsync が正しいと仮定して暫定的に受け入れます (したがって楽観的です) ただし、τsync はチャレンジ期間が終わるまで有効になりません。 MAINCHAIN を監視すると、誤った状態更新を特定し、SCa に通知することができます。 必要なアクション (例: 状態をロールバックし、実行時にペナルティを課す) 両方の rollup バリアントは、トランザクションがポストされるため、オンチェーン データの可用性を実現します。 オンチェーンから完全な状態を構築できます。 zk-rollups のレイテンシは 有効性証明を生成するのに必要な時間が大半を占め、通常は 既存のシステム [16] では数分のオーダーであり、時間の経過とともに改善される可能性があります。 一方、楽観的な rollup の遅延は長くなります (例: 数日または数週間)。 不正行為の証明が機能するには、異議申し立て期間が十分に長い必要があるためです。の 確認が遅いことの意味は微妙であり、場合によってはスキームに特有のものであるため、 徹底的な分析は範囲外です。たとえば、特定のスキームでは支払いが考慮されています。 状態の更新が確認される前に、トランザクションは「トラストレス最終」[109] として保存されます。 通常のユーザーは、MAINCHAIN よりもはるかに迅速に rollup を検証できます。 バリジウム: Validium は、データをオフチェーンのみで利用できるようにする (zk-)rollup の形式です すべてのデータを MAINCHAIN 上に維持するわけではありません。具体的には、 exect は新しいもののみを送信します 状態と証拠は提供されますが、SCa への取引は提供されません。 Validium スタイルの同期では、次のようになります。 完全な状態を保存するのは、それを実行する DON だけです。 トランザクションを実行するもの。 zk-rollups と同様、同期の遅延は有効性によって左右されます。 証拠の生成時間。ただし、zk-rollups とは異なり、Validium スタイルの同期により、 ストレージコストが削減され、スループットが向上します。 DON によるしきい値署名: DON ノードのしきい値が正しいと仮定すると、 シンプルで高速な同期オプションは、DON ノードが集合的に新しい状態に署名することです。 このアプローチは、オンチェーンとオフチェーンの両方のデータ可用性をサポートできます。場合に注意してください。 ユーザーは oracle アップデートに対して DON を信頼します。受け入れるためにそれ以上信頼する必要はありません 状態の更新は、すでにしきい値信頼モデルに含まれているためです。 もう一つの利点は、 しきい値署名は低遅延です。新しいトランザクション署名形式のサポート EIP-2938 [70] で提案され、アカウント抽象化として知られているしきい値が作成されます。 署名はしきい値の必要性を排除するため、実装が大幅に容易になります。 ECDSA。かなり複雑なプロトコルが含まれます (例: [116、117、118])しきい値 Schnorr [202] 署名や BLS [55] 署名などの代替署名よりも優れています。 信頼された実行環境 (TEE): TEE は、強力なセキュリティ保護を提供することを目的とした分離された実行環境 (通常はハードウェアによって実現される) です。 内部で実行されているプログラム用。一部の TEE (例: Intel SGX [84]) はプルーフを生成できます。 証明書として知られ、出力が特定のプログラムによって正しく計算されていることを示します。 特定の入力12. TEE ベースの TEF 同期のバリアントは、次のように実装できます。 (zk-)rollups または Validium の証明をテクニックを使用した TEE 証明書に置き換える [80] から。 rollups や Validium で使用されるゼロ知識証明と比較すると、TEE ははるかに優れています。 より高性能に。しきい値署名と比較して、TEE は複雑さを解消します。 原則として必要な TEE は 1 つだけであるため、しきい値 ECDSA 署名を生成する 関与している。ただし、TEE を使用すると、ハードウェアに依存する追加の信頼仮定が導入されます。 TEE としきい値署名を組み合わせて回復力を生み出すこともできます この保護措置は、TEE インスタンスの一部の侵害に対しては適用されますが、 しきい値 ECDSA 署名の生成の複雑さが再び導入されます。 追加の柔軟性: これらの同期オプションは、次の方法でさらに柔軟に調整できるようになります。 • 柔軟なトリガー: TEF アプリケーションは、次の条件を決定できます。 同期がトリガーされます。たとえば、同期はバッチベースで行うことができます。 N トランザクションごと、時間ベース (例: 10 ブロックごと)、またはイベントベース (例: 発生) 目標資産価格が大きく変動するときはいつでも。 • 部分的な同期: 可能であり、場合によっては望ましい場合もあります (例: rollups、 部分的な同期によりレイテンシを短縮できます)。小規模な同期の高速同期を実現します。 完全な同期はおそらく定期的にのみ実行されます。たとえば、 実行者は、SCa のユーザーの残高を更新することで出金リクエストを承認できます それ以外の方法で MAINCHAIN 状態を更新する必要はありません。 6.4 再組織化 ネットワークの不安定性、または 51% 攻撃によっても引き起こされるブロックチェーンの再編成 メインチェーンの整合性に脅威を与える可能性があります。実際、敵対者はこれを使用してきました。 二重支出攻撃[34]を仕掛けるためです。大手チェーンに対するこのような攻撃は、 取り付けるのは難しいですが、一部のチェーン [88] では依然として実現可能です。 DON は MAINCHAIN から独立して動作するため、興味深い機能を提供します。 に関連する組織再編を観察し、それに対して何らかの保護を提供する可能性 攻撃します。 たとえば、DON は、MAINCHAIN 上の依存コントラクト SC に、あるしきい値長 τ の競合フォークの存在を報告できます。 DON ではさらに、 12補足の詳細については、付録 B.2.1 を参照してください。理解するためには必要ありません。

PoW または PoS 設定のいずれかで、そのようなフォークの存在の証拠を提供します。の 契約SCは、さらなるトランザクション実行を一定期間停止するなど、適切な防御措置を実装することができます(たとえば、取引所が二重支出をブラックリストに登録できるようにするため) 資産)。 51% 攻撃を仕掛ける敵は検閲を試みることができることに注意してください。 DON からの報告がある場合、SC の対策としては、DON からの定期的な報告を要求することです。 DON トランザクション (ハートビートなど) を処理するため、または新しいレポートを要求するため 高額な取引を検証します。 このような分岐アラートは原則として、DON が提供できる一般的なサービスです。 さまざまな目的のために、私たちの計画はそれらを TEF に組み込むことです。

A estrutura de execução de transações DON

(DON-TEF) DONs fornecerão oracle e suporte de recursos descentralizados para soluções de camada 2 dentro o que chamamos de Estrutura Descentralizada de Execução de Transações da Oracle Network (DONTEF) ou TEF, para abreviar. Hoje, a frequência de atualizações dos contratos DeFi é limitada pelas latências da cadeia principal, por exemplo, o intervalo médio de bloqueio de 10 a 15 segundos em Ethereum [104] - bem como o custo de enviar grandes quantidades de dados em cadeia e taxa de transferência computacional/tx limitada - motivando abordagens de escalonamento, como fragmentação [148, 158, 232] e execução da camada 2 [5, 12, 121, 141, 169, 186, 187]. Mesmo blockchains com tempos de transação muito mais rápidos, por exemplo, [120], propuseram estratégias de escalonamento que envolvem computação fora da cadeia [168]. O TEF destina-se a atuar como um recurso de camada 2 para qualquer sistema de camada 1/MAINCHAIN. Usando TEF, DONs podem suportar atualizações mais rápidas em um contrato MAINCHAIN enquanto mantendo as principais garantias de confiança fornecidas pela cadeia principal. TEF pode apoiar qualquer uma de uma série de técnicas e paradigmas de execução da camada 2, incluindo rollups,11 rollups otimistas, Validium, etc., bem como um modelo de confiança de limite no qual DON nós executam transações. O TEF é complementar ao FSS e destina-se a apoiá-lo. Em outras palavras, qualquer aplicação em execução no TEF pode usar FSS. 11Frequentemente chamados de “zk-rollups”, um nome impróprio, pois não precisam necessariamente de provas de conhecimento zero.

Transaction Execution Framework schematic showing mempool, clearing, and settlement flow

6.1 Visão geral do TEF O TEF é um padrão de projeto para a construção e execução de um híbrido de alto desempenho smart contractSC. De acordo com a ideia principal por trás dos smart contracts híbridos, o TEF envolve um decomposição de SC em duas partes: (1) O que chamamos no contexto TEF de âncora contrato SCa em MAINCHAIN e (2) lógica DON executada que chamamos de executável TEF. Usamos SC aqui para denotar o contrato lógico implementado pela combinação de SCa e executar. (Como observado acima, esperamos desenvolver ferramentas de compilação para decompor um contrate SC automaticamente nesses componentes.) O executável TEF exec é o mecanismo que processa as transações dos usuários no SC. Isso pode ser executado com bom desempenho, pois é executado no DON. Possui diversas funções: • Ingestão de transações: exec recebe ou busca as transações dos usuários. Isso pode acontecer diretamente, ou seja, através do envio da transação no DON, ou através do MAINCHAIN mempool usando MS. • Execução rápida de transações: o exec processa transações envolvendo ativos dentro SC. Isso é feito localmente, ou seja, no DON. • Acesso rápido e de baixo custo oracle / adaptador: exec tem acesso nativo a relatórios oracle e outros dados do adaptador que levam, por exemplo, a dados de ativos mais rápidos, mais baratos e mais precisos preços do que a execução MAINCHAIN. Além disso, o acesso oracle fora da cadeia reduz o custo operacional do oracle, daí o custo de utilização do sistema, evitando armazenamento caro na cadeia. • Sincronização: exec envia periodicamente atualizações de DON para MAINCHAIN, atualizando SCa. O contrato âncora é o front end MAINCHAIN ​​do SC. Como componente de maior confiança do SC, ele serve a vários propósitos: • Custódia de ativos: os fundos dos usuários são depositados, mantidos e retirados da SCa. • Verificação de sincronização: o SCa pode verificar a exatidão das atualizações de estado quando executado sincroniza, por exemplo, SNARKs anexados a rollups. • Guarda-corpos: SCa pode incluir disposições para proteção contra corrupção ou falhas na verdade. (Veja a Seção 7 para mais detalhes.) No TEF, os fundos dos usuários são custodiados na MAINCHAIN, o que significa que o próprio DON não tem custódia. Dependendo da escolha do mecanismo de sincronização (veja abaixo), os usuários podem precisar confiar em DON apenas para relatórios oracle precisos e sincronização oportuna com MAINCHAIN. O modelo de confiança resultante é muito semelhante àquele para DEXes baseados em carteira de pedidos, por exemplo, [2], que hoje geralmente incluem um componente fora da cadeia para correspondência de pedidos e um componente onchain para compensação e liquidação.Para usar o vocabulário dos sistemas de pagamento, pode-se pensar em exec como o componente do SC responsável pela compensação, enquanto o SCa trata da liquidação. Veja a Fig. 13 para um esquema representação do TEF. Figura 13: Esquema TEF. Neste exemplo, as transações passam pelo mempool de MAINCHAIN via MS para DON. Benefícios do TEF: O TEF traz três benefícios principais: • Alto desempenho: SC herda o rendimento muito maior do DON do que o MAINCHAIN para transações e relatórios oracle. Além disso, o exec pode processar transações mais rapidamente e responder aos relatórios oracle em tempo hábil do que uma implementação apenas no MAINCHAIN. • Taxas mais baixas: O processo de sincronização é menos urgente do que o processamento de transações, e as transações podem ser enviadas de DON para MAINCHAIN ​​em lotes. Consequentemente, as taxas por transação na cadeia (por exemplo, custos de gás) com esta abordagem são muito mais baixas do que para um contrato executado apenas em MAINCHAIN. • Confidencialidade: Os mecanismos de confidencialidade do DON podem ser trazidos para aguenta SC.

Limitações do TEF: Uma limitação do TEF é que ele não suporta saques, pois ocorrem apenas na MAINCHAIN: Ao enviar uma solicitação de saque para SCa, um usuário pode precisar esperar que exec execute uma atualização de estado que inclua o transação de retirada antes que ela possa ser aprovada. Discutimos algumas soluções parciais, no entanto, na Seção 6.2. Outra limitação do TEF é que ele não suporta composição atômica de DeFi contratos no MAINCHAIN, especificamente a capacidade de rotear ativos através de múltiplos DeFi contratos em uma única transação. O TEF pode, no entanto, apoiar tal atomicidade entre DeFi contratos em execução no mesmo DON. Também discutimos algumas maneiras de resolver isso problema na Seção 6.2. 6.2 Roteamento de transações As transações para SC podem ser enviadas pelos usuários diretamente para DON ou podem ser roteadas através o mempool em MAINCHAIN (via FSS). Existem quatro tipos de transação distintos, cada um dos quais requer tratamento diferente: Transações dentro do contrato: Por evitar as complicações da dinâmica dos gases, o TEF proporciona ao SC mais flexibilidade no tratamento das transações do que seria disponível em um contrato de camada 1. Por exemplo, enquanto uma transação mempool em Ethereum pode ser substituída por uma nova transação com um preço de gás mais alto, o SC pode tratar uma transação que opere em ativos dentro do SC como oficial assim que se tornar visível no pool de membros. Consequentemente, o SC não precisa esperar que uma transação seja confirmada dentro de um bloco, resultando em latência consideravelmente reduzida. Proxy: Um usuário pode desejar enviar uma transação τ para SC através de um contrato de carteira ou outro contrato em MAINCHAIN. É possível que o DON simule a execução de τ em MAINCHAIN para determinar se isso resulta em uma transação subsequente para SC. Nesse caso, τ pode ser sequenciado com outras transações para SC que o façam. Existem alguns possibilidades de como o DON identifica tais transações: (1) O DON pode simular todas as transações no mempool (uma abordagem cara); (2) Certos contratos ou tipos de contratos, por exemplo, carteiras, podem ser listados para monitoramento pelo DON; ou (3) os usuários podem anote transações para inspeção DON. As coisas ficam mais complicadas quando uma única transação interage com duas contratos, SC1 e SC2, ambos os quais usam serviços de sequenciamento justo e têm políticas de pedidos incompatíveis. O DON pode, por exemplo, sequenciar τ no último momento que é compatível com ambos. Depósitos: Uma transação que deposita um ativo MAINCHAIN em SC precisa ser confirmada em um bloco antes que SC possa tratá-la como válida. Quando detecta a mineração de um transação que envia ativos (por exemplo, Ether) para SCa, o executivo pode confirmar instantaneamente adepósito. Por exemplo, ele pode aplicar um preço atual relatado por oracle no DON ao ativo. Retiradas: Conforme observado acima, uma limitação do TEF é que os saques nem sempre podem ser executados instantaneamente. Em um modelo de execução do tipo rollup, a retirada a solicitação deve ser sequenciada com outras transações, ou seja, acumulada, para ser segura processado. Existem, no entanto, algumas soluções parciais para esta limitação. Se DON puder calcular rapidamente uma prova de validade de rollup até a transação de retirada, então observar a transação de um usuário τ no mempool exec pode enviar uma transação de atualização de estado τ ′ para τ a um preço de gás mais alto, uma espécie de front-running benéfico. Desde que τ não seja extraído antes de τ ′ atingir o mempool, τ ′ precederá τ e τ efetuará uma retirada aprovada. Em uma variante TEF onde o DON é utilizado para calcular atualizações de estado (consulte a variante de assinatura de limite abaixo), o DON pode alternativamente determinar fora da cadeia se τ deve ser aprovado dado o estado de SC no momento de sua execução. O DON pode então enviar uma transação τ ′ que aprova a retirada τ - sem efetuar uma transação completa atualização do estado. Se esta abordagem não for possível, ou nos casos em que não for bem-sucedida, um procedimento iniciado por DON a transação τ ′ pode enviar fundos ao usuário em resposta a τ para que o usuário não precise iniciar uma transação adicional. 6.3 Sincronizando O executável TEF exec envia periodicamente atualizações de DON para MAINCHAIN, atualizar o estado do SCa em um processo que chamamos de sincronização. A sincronização pode ser pensada como propagação de transações da camada 2 para a camada 1, então o TEF pode recorrer a qualquer número de técnicas existentes para este fim, incluindo rollups [5, 12, 16, 69], otimista rollups [10, 11, 141], Validium [201] ou assinatura de limite básico, por exemplo, limite BLS, Schnorr ou ECDSA [24, 54, 116, 202]. Em princípio, ambientes de execução confiáveis também pode atestar a correção das mudanças de estado, oferecendo um desempenho muito melhor alternativa a rollups, mas com um modelo de confiança dependente de hardware. (Veja, por exemplo, [80].) Abaixo comparamos essas opções de sincronização em relação a três propriedades principais em TEF: • Disponibilidade de dados: Onde é armazenado o estado de SC? Pelo menos três opções são disponível em TEF: no MAINCHAIN, em DON ou por algum armazenamento de terceiros provedores como IPFS. Eles alcançam diferentes garantias de segurança, disponibilidade níveis e perfis de desempenho. Resumidamente, armazenar o estado no MAINCHAIN permite auditabilidade na cadeia e elimina a dependência de qualquer parte para disponibilidade do estado; por outro lado, armazenar o estado off-chain pode reduzir o custo de armazenamento e melhorar taxa de transferência, ao custo de provedores de armazenamento confiáveis (DON ou terceiros) para disponibilidade de dados. É claro que modelos flexíveis que combinam estas opções também são possível. Indicamos a forma necessária de disponibilização dos dados na Tabela 1.• Garantias de correção: como a SCa verifica a exatidão das atualizações empurrado por exec? Isso afeta a carga computacional em exec e SCa e o latência de sincronização (veja abaixo). • Latência: a latência de sincronização tem três fatores contribuintes: (1) O tempo necessário para esperar gerar uma transação de sincronização τsync; (2) O tempo necessário para τsync a ser confirmado no MAINCHAIN; e (3) O tempo para τsync entrar em vigor SCa. No TEF, a latência é particularmente importante para retiradas (mas menos importante para transações dentro do contrato) porque as retiradas exigem necessariamente um (pelo menos parcial) sincronização de estado. Sincronizando opções Dados disponibilidade Correção garantias Latência Acúmulo [5, 12, 16, 69] Na rede Provas de validade Tempo necessário para gerar provas de validade (por exemplo, minutos nos sistemas atuais) Válido [201] Fora da cadeia Provas de validade Igual ao acima Otimista rollup [10, 11, 141] Na rede Provas de fraude Duração do desafio período (por exemplo, dias ou semanas) Assinatura de limite [24, 54, 116, 202] Flexível Limite de assinaturas por DON Instantâneo Ambientes de execução confiáveis [80] Flexível Baseado em hardware atestados Instantâneo Tabela 1: Várias opções de sincronização no TEF e suas propriedades. A Tabela 1 resume essas propriedades nas cinco principais opções de sincronização no TEF. (Nota que não pretendemos comparar essas tecnologias como escalonamento de camada 2 independente soluções. Para isso, recomendamos aos leitores, por exemplo, [121].) Agora discutimos cada opção de sincronização. Acumulações: Um rollup [69] é um protocolo no qual a transição de estado efetuada por um lote de transações é computado fora da cadeia. A mudança de estado é então propagada para MAINCHAIN. Para implementar rollups, a âncora smart contract SCa armazena uma representação compacta Rstate (por exemplo, uma raiz Merkle) do estado real. Para sincronizar, exec envia τsync = (T, R′ estado) para SCa onde T é o conjunto de transações processadas desde o últimosincronizar e R′ estado é a representação compacta do novo estado calculado aplicando transações em T para o estado anterior Rstate. Existem duas variantes populares que diferem na forma como o SCa verifica as atualizações de estado no τsync. Os primeiros, (zk-)rollups, anexam um argumento sucinto de correção, às vezes chamado uma prova de validade, para a transição Rstate →R′ estado. Para implementar esta variante, execute calcula e envia a prova de validade (por exemplo, uma prova zk-SNARK) junto com τsync, provando que R' state é o resultado da aplicação de T ao estado atual de SCa. A âncora contrato aceita a atualização do estado somente após ter verificado a comprovação. rollups otimistas não incluem argumentos de correção, mas têm staking e desafiar procedimentos que facilitam a verificação distribuída de transições de estado. Para isso Variante rollup, SCa aceita provisoriamente τsync assumindo que está correto (daí o otimismo) mas τsync não entra em vigor até depois de um período de desafio, durante o qual qualquer parte monitorar MAINCHAIN pode identificar atualizações de estado errôneas e informar a SCa para tomar ações necessárias (por exemplo, reverter o estado e infligir uma penalidade na execução). Ambas as variantes rollup alcançam disponibilidade de dados na cadeia, à medida que as transações são publicadas on-chain, a partir do qual o estado completo pode ser construído. A latência de zk-rollups é dominado pelo tempo necessário para gerar provas de validade, que normalmente está no ordem de minutos em sistemas existentes [16] e provavelmente verá melhorias ao longo do tempo. rollups otimistas, por outro lado, têm uma latência maior (por exemplo, dias ou semanas) porque o período de desafio precisa ser longo o suficiente para que as provas de fraude funcionem. O A implicação da confirmação lenta é sutil e às vezes específica do esquema, de modo que uma análise completa está fora do escopo. Por exemplo, certos regimes consideram o pagamento transações como “trustless final” [109] antes da atualização do estado ser confirmada, uma vez que um um usuário comum poderia verificar um rollup muito mais rapidamente do que o MAINCHAIN. Valídio: Validium é uma forma de (zk-)rollup que disponibiliza dados apenas fora da cadeia e não mantém todos os dados no MAINCHAIN. Especificamente, exec envia apenas o novo estado e a prova, mas não transações para SCa. Com sincronização estilo Validium, exceto e o DON que o executa são as únicas partes que armazenam o estado completo e que executam transações. Tal como acontece com zk-rollups, a latência de sincronização é dominada pela validade tempo de geração da prova. Ao contrário de zk-rollups, no entanto, a sincronização no estilo Validium reduz o custo de armazenamento e aumenta o rendimento. Assinatura de limite por DON: Supondo que um limite de nós DON seja honesto, um A opção de sincronização simples e rápida é fazer com que os nós DON assinem coletivamente o novo estado. Esta abordagem pode apoiar a disponibilidade de dados dentro e fora da cadeia. Observe que se os usuários confiam em DON para atualizações de oracle, eles não precisam confiar mais nele para aceitar atualizações de estado, pois já estão em um modelo de confiança de limite. Outro benefício a assinatura de limite é de baixa latência. Suporte para novos formatos de assinatura de transação como proposto em EIP-2938 [70] e conhecido como abstração de conta tornaria o limite assinatura consideravelmente mais fácil de implementar, pois eliminaria a necessidade de limites ECDSA, que envolve protocolos consideravelmente mais complexos (por exemplo, [116, 117, 118])do que alternativas como assinaturas de limite Schnorr [202] ou BLS [55]. Ambientes de execução confiáveis (TEEs): TEEs são ambientes de execução isolados (geralmente realizados por hardware) que visam fornecer fortes proteções de segurança para programas executados internamente. Alguns TEEs (por exemplo, Intel SGX [84]) podem produzir provas, conhecidos como atestados, que uma saída é calculada corretamente por um programa específico para uma determinada entrada12. Uma variante de sincronização TEF baseada em TEE pode ser implementada por substituindo provas em (zk-)rollups ou Validium por atestados TEE usando técnicas de [80]. Comparados às provas de conhecimento zero usadas em rollups e Validium, os TEEs são muito mais desempenho. Em comparação com a assinatura de limite, os TEEs eliminam a complexidade de gerar assinaturas ECDSA de limite, pois, em princípio, é necessário haver apenas um TEE envolvido. O uso de TEEs, entretanto, introduz suposições extras de confiança dependentes de hardware. Também é possível combinar TEEs com sinalização de limite para criar resiliência contra o comprometimento de uma fração das instâncias de TEE, embora esta medida de proteção reintroduz a complexidade de geração de assinaturas ECDSA de limite. Flexibilidade adicional: Essas opções de sincronização podem ser refinadas para fornecer mais flexibilidade das seguintes maneiras. • Acionamento flexível: a aplicação TEF pode determinar as condições sob as quais a sincronização é acionada. Por exemplo, a sincronização pode ser baseada em lote, por exemplo, ocorrer após a cada N transações, baseadas no tempo, por exemplo, a cada 10 blocos, ou baseadas em eventos, por exemplo, ocorrem sempre que os preços-alvo dos activos se movem significativamente. • Sincronização parcial: é possível e em alguns casos desejável (por exemplo, com rollups, a sincronização parcial pode reduzir a latência) para fornecer sincronização rápida de pequenos quantidades de estado, realizando sincronização completa talvez apenas periodicamente. Por exemplo, exec pode aprovar uma solicitação de saque atualizando o saldo de um usuário no SCa sem atualizar o estado MAINCHAIN. 6.4 Reorganizações Reorganizações de blockchain resultantes de instabilidade de rede ou mesmo de ataques de 51% pode representar uma ameaça à integridade de uma cadeia principal. Na prática, os adversários têm usado para que eles montem ataques de gastos duplos [34]. Embora tais ataques às principais cadeias sejam difíceis de montar, eles permanecem viáveis para algumas cadeias [88]. Por operar independentemente do MAINCHAIN, um DON oferece a interessante possibilidade de observar e fornecer algumas proteções contra reorganizações associadas a ataques. Por exemplo, um DON pode reportar a um contrato SC confiável em MAINCHAIN ​​a existência de uma bifurcação concorrente de algum comprimento limite τ. O DON pode adicionalmente 12Detalhes complementares podem ser encontrados no Apêndice B.2.1. Eles não são necessários para a compreensão.

fornecer prova – em uma configuração PoW ou PoS – da existência de tal bifurcação. O O contrato SC pode implementar ações defensivas adequadas, como suspender a execução de transações adicionais por um período de tempo (por exemplo, para permitir que as exchanges coloquem na lista negra os gastos duplos ativos). Observe que embora um adversário que realize um ataque de 51% possa tentar censurar relatórios de um DON, uma contramedida em SC é exigir relatórios periódicos do DON para processar transações (ou seja, uma pulsação) ou para exigir um novo relatório para validar uma transação de alto valor. Embora esses alertas de bifurcação sejam, em princípio, um serviço geral, o DON pode fornecer para uma série de finalidades, nosso plano é incorporá-las ao TEF.

信頼の最小化

異種のエンティティのセットが参加する分散型システムとして、 Chainlink ネットワークは、稼働性 (可用性) と安全性 (レポートの整合性) の両方において障害に対する強力な保護を提供します。ただし、ほとんどの分散システムにはさまざまな点があります。 構成コンポーネント自体が分散されている度合い。これ これは、マイナー間の分散化が限られている大規模システムであっても当てはまります [32] および 仲介者[51]は以前から存在していました。 分散化の取り組みの目標は、信頼を最小限に抑えることです。 Chainlink ネットワーク内のシステム的な破損や障害による悪影響。 悪意のあるDONが原因です。私たちの基本原則は、最小特権の原則 [197] です。 システムコンポーネントとシステム内のアクターには、厳密にスコープされた権限が必要です 割り当てられた役割を正常に完了することのみを許可します。 ここでは、Chainlink がドライブに採用する具体的なメカニズムをいくつか示します。 さらなる信頼の最小化に向けて。これらのメカニズムを次の観点から特徴づけます。 図 14 に示すように、遺伝子座、つまりそれらが根付いているシステムコンポーネントの位置を調べます。 各遺伝子座については、それぞれのサブセクションで説明します。 7.1 データソースの認証 oracle の現在の運用モデルは、データ ソースがほとんどないという事実によって制約されています。 TLS がネイティブに署名しないことが主な理由で、省略されたデータにデジタル署名します。 データ。 TLS は、「ハンドシェイク」プロトコルでデジタル署名を利用します(確立するため)。 サーバーとクライアント間の共有キー)。したがって、HTTPS 対応サーバーには証明書があります 原則としてデータの署名に使用できる公開鍵ですが、通常は使用されません。 これらの証明書はデータ署名をサポートします。したがって、DON のセキュリティは次のようになります。 今日のoracleネットワークでは、データからデータを忠実に中継するoracleノードに依存しています。 契約のソース。 Chainlink における信頼の最小化に関する当社のビジョンの重要な長期的な要素には、データ署名のためのツールと標準のサポートを通じた強力なデータ ソース認証が含まれます。データ署名は、エンドツーエンドの整合性保証を強制するのに役立ちます。 原則として、契約がデータの一部を入力として受け入れる場合、データによって直接署名された D

Loci of trust-minimizing mechanisms in the Chainlink network showing data quality, node selection, and oracle report verification

図 14: このセクションで説明する信頼最小化メカニズムの軌跡。 1⃝データ ソースは 2⃝DON にデータを提供し、データの機能を依存関係に中継します。 3⃝smart contract。 さらに、DON または oracle ネットワークには 4⃝ ノードが含まれます 補償ノード、ガードなどの MAINCHAIN 上の管理 smart contracts レールなど。 ソースがあれば、oracle ネットワークは D を改ざんすることはできません。 OpenID Connect など、このようなデータ署名を可能にする取り組みが現れています。 主にユーザー認証 [9]、TLS-N を目的とした学術プロジェクトのために設計されています。 TLS 証明書を再利用することで TLS [191] を拡張し、TLS 証拠拡張機能 [63] を使用します。 ただし、OpenID Connect はある程度の採用が見られますが、TLS Evidence Extensions は および TLS-N はまだ採用されていません。 データ ソース認証のもう 1 つの潜在的な手段は、発行者独自の認証を使用することです。 Signed HTTP Exchange (SXG) [230]。Accelerated Mobile Pages (AMP) プロトコル [225] の一部としてコンテンツ配信ネットワークにキャッシュできます。 Chrome モバイル ブラウザは、AMP でキャッシュされた SXG のコンテンツを、あたかも SXG から提供されているかのように表示します。 キャッシュ サーバー ドメインの代わりに、発行者自身のネットワーク ドメインを使用します。このブランド化のインセンティブは、CloudFlare の Real URL [83] や Google の amppackager [124] などのサービスを使用して有効にするのが比較的簡単であることと相まって、キャッシュされたニュース コンテンツでの SXG の広範な採用につながる可能性があります。 有効な SXG で報告されたニュース価値のあるイベントで Chainlink oracle がトリガーされる方法。 一方、ニュース出版社からの AMP キャッシュされた SXG はハイテンポには役に立ちません。 取引データに関するレポートなどのアプリケーションは、カスタム データの安全なソースとなる可能性があります。 異常気象や選挙結果などの現実世界の出来事に関連する契約。 私たちは、シンプルな導入、成熟したツール、および柔軟性が不可欠であると信じています。 データソース署名の高速化。データプロバイダーが Chainlink ノードを次のように使用できるようにする 認証された API フロントエンドは有望なアプローチであると思われます。私たちは、ネットワークへの参加の有無にかかわらず、ノードがこのモードで機能するためのオプション 本格的なoracleとして。この機能を認証済みデータ生成と呼びます。 (ADO)。 ADO で Chainlink ノードを使用すると、データ ソースは次の利点を得ることができます。 Chainlink コミュニティによって開発されたデジタル機能の追加の経験とツールから 既存のオフチェーン API スイートに署名機能を追加します。彼らは逃げることを選択すべきか ノードを oracle として使用すると、さらに潜在的な新しい収益源を開拓できます 既存のデータプロバイダーと同じモデルの下、例: Kraken [28]、Kaiko [140]、 その他、Chainlink ノードを実行して API データをチェーン上で販売するものもあります。 7.1.1 認証されたデータ生成の制限 データ ソースによるデジタル署名は、認証の強化には役立ちますが、それ自体では、oracle の本来のセキュリティや運用上の目標をすべて達成するには十分ではありません。 ネットワーク。 まず、特定のデータ D は堅牢かつタイムリーに中継される必要があります。 データ ソースから smart contract または他のデータ コンシューマーまでの経路。つまり、 依存関係に事前にプログラムされたキーを使用してすべてのデータが署名される理想的な設定 契約の場合でも、ソースからデータを確実に通信するには DON が必要になります。 契約書に。 さらに、契約書やその他のoracleデータが 消費者は、計算されたさまざまな関数の認証された出力へのアクセスを望んでいます。 ソース データには次の 2 つの主な理由があります。 • 機密性: データ ソース API は機密データまたは専有データを提供する場合があります。 チェーン上で公開される前に、編集またはサニタイズする必要があります。 ただし、署名されたデータを変更すると、署名が無効になります。もう一つ入れて ちなみに、単純な ADO とデータのサニタイズには互換性がありません。例 3 に示します ADO の強化された形式を通じて、この 2 つをどのように調整できるか。 • データ ソースの障害: エラーと障害の両方がデータ ソースに影響を与える可能性がありますが、デジタル署名はどちらの問題にも対処しません。 [98]、Chainlink は当初から このような障害を修復するメカニズム、つまり冗長性がすでに組み込まれています。 oracle ネットワークによって発行されるレポートは通常、複数のデータを組み合わせたものを表します。 ソース。 次に、ソース データの機密性を強化し、複数のソースからのデータを安全に結合するために、ADO 設定で検討しているスキームについて説明します。 7.1.2 機密保持 データ ソースは、必要な API の全範囲を予測して利用できるようにしていない可能性があります。 ユーザーによる。 具体的には、ユーザーは、事前に処理されたデータにアクセスして、 機密保持。次の例は、この問題を示しています。例 3. アリスは、次のような分散型アイデンティティ (DID) 資格情報を取得したいと考えています。 彼女が 18 歳以上であること (したがって、たとえばローンを組むことができる)。やること したがって、彼女は自分の年齢に関するこの事実を DID 資格情報発行者に証明する必要があります。 アリスは、自分の州の陸運局 (DMV) からのデータを使用したいと考えています。 という目的のためのウェブサイト。 DMV には彼女の生年月日の記録があり、 次の形式のデジタル署名された証明書 A: A = {名前: アリス、生年月日: 1999 年 2 月 16 日}。 この例では、アリスが DID に証明するには、証明書 A で十分である可能性があります。 資格情報の発行者は彼女が 18 歳以上であることを証明しました。しかし、機密情報が不必要に漏洩します: アリスの 正確なDoB。理想的には、アリスが代わりに DMV に求めているのは、 「アリスは 18 歳以上です」という単純なステートメント A'。言い換えれば、彼女が望んでいるのは、 彼女の誕生日 X に対する関数 G の出力。ここで、(非公式に) A' = G(X) = True の場合 現在の日付 -X ≥18 歳。それ以外の場合、G(X) = False。 一般的に言うと、アリスはデータ ソースから署名付きのデータをリクエストできるようにしたいと考えています。 形式の証明書 A': A' = {名前: アリス、機能: G(X)、結果: True}、 ここで、G(X) は関数 G とその入力 X の仕様を表します。 ユーザーは、要求の入力として希望する G(X) を提供できる必要があります。 対応する証明書 A'。 データ ソースの証明書 A' には、次の仕様 G(X) が含まれている必要があることに注意してください。 A' が正しく解釈されていることを確認します。上の例では、G(X) は次の意味を定義します。 A' のブール値の値、したがって True は証明の主題を意味します 18歳以上です。 ユーザーが G(X) を関数クエリとして指定できる柔軟なクエリを指します。 例 3 のようなユースケースやクエリを伴うユースケースをサポートするため 契約から直接、次のような機能クエリのサポートを含める予定です。 ADO の一部としての単純な関数 G。 7.1.3 ソースデータの結合 オンチェーンのコストを削減するために、契約は通常、結合されたデータを消費するように設計されています 次の例に示すように、複数のソースから。 例 4 (価格データの中央値化)。価格フィード、つまり 1 つの値を提供するため ある資産 (例: ETH) を別の資産 (例: USD) と比較すると、oracle ネットワークは通常、 取引所などの多くの情報源から現在の価格を取得します。 oracle ネットワーク 通常、これらの値の中央値を従属契約 SC に送信します。 データ署名のある環境では、正しく機能する oracle ネットワークは、 データ ソースから S = {S1, . 。 。 , SnS} 一連の値 V = {v1, v2, ... 。 。 、vnS}から ソース固有の署名を伴う nS ソース Σ = {σ1, σ2, ... 。 。 、σnS}。次第 署名を検証し、価格 v = median(V ) を SC に送信します。残念ながら、oracle ネットワークが中央値を送信する簡単な方法はありません。 例 4 の値 v を、v が正しく計算されたことの簡潔な証明 σ∗ とともに SC に送信します。 符号付き入力を超えます。 単純なアプローチは、すべての nS データ ソースの公開キーを SC でエンコードすることです。 oracle ネットワークは (V, Σ) を中継し、SC が V の中央値を計算できるようにします。 ただし、これでは証明 σ のサイズが O(nS) になります。つまり、σ∗ は簡潔ではありません。 また、SC ではすべての署名を検証する必要があるため、高額なガスコストが発生します。 Σ。 対照的に、SNARK を使用すると、正しく結合された認証されたソース値の簡潔な証明が可能になります。実際には実行可能かもしれないが、かなりの負担がかかる 証明者では計算コストがかかり、チェーンではガスのコストが若干高くなります。の使用 Town Crier も可能ですが、TEE の使用が必要であり、すべてに適しているわけではありません。 ユーザーの信頼モデル。 ソースから結合されたデータに署名するという一般的な問題に対する解決策を組み立てる有用な概念は、関数署名として知られる暗号化ツールです [59、132]。 簡単に言うと、機能署名を使用すると、署名者は次のような署名機能を委任できます。 デリゲート者は、署名者が選択した関数 F の範囲内のメッセージにのみ署名できます。 付録 D では、この機能的制約が範囲を制限するためにどのように機能するかを示します。 データ ソースによって署名された値の関数として DON によって出力されるレポート値。 また、離散化関数シグネチャと呼ばれる新しいプリミティブも導入します。これには、精度の要件が緩和されていますが、潜在的にはるかにパフォーマンスが向上します。 SNARKsなどのアプローチよりも。 ソース認証を含む方法でデータ ソースを結合する際の問題 出力の一部は、CoinCap、CoinMarketCap、CoinGecko などのデータ アグリゲーターにも適用されます。 CryptoCompare など、多数の取引所からデータを取得します。 場合によっては公開される方法論を使用して、体積に基づいた重み付けを行う 他の場合には独自のものになります。値を公開したいアグリゲータ ソース認証は、ノードの集合体を集約する場合と同じ課題に直面します。 ソースデータ。 7.1.4 ソースデータの処理 洗練された smart contract は、カスタム集計統計に依存する可能性があります。 多くの資産における最近の価格履歴のボラティリティなどの主要なデータ ソース、または 関連イベントに関するニュースのテキストと写真。 DON では計算と帯域幅が比較的安価であるため、これらの統計は— 多くの入力を持つ複雑な機械学習モデルであっても、blockchain に送られる出力値が十分に簡潔である限り、経済的に処理できます。 DON 参加者が異なる処理を行う可能性がある計算集約型ジョブの場合 複雑な入力に関する見解では、結果を計算する前に入力に関する合意を確立するために、DON 参加者間で追加のコミュニケーションが必要になる場合があります。 最終的な値が入力によって完全に決定される限り、入力のコンセンサスが確立されると、各参加者は単純に値を計算して他の参加者にブロードキャストできます。参加者に部分署名を付けるか、それをアグリゲーターに送信します。 7.2 DON 信頼の最小化 DON のコンポーネントに対する信頼を最小限に抑えるには、主に 2 つの方法を想定しています。 フェールオーバー クライアントとマイノリティ レポート。 7.2.1 フェイルオーバークライアント 暗号化および分散システムの文献における敵対的モデルは通常、 ノードのサブセットを破壊 (つまり侵害) できる敵を考えてみましょう。 たとえば、多くの BFT プロトコルでは 3 分の 1 未満です。一般的に観察されることですが、 すべてのノードが同一のソフトウェアを実行している場合、攻撃者が致命的なエクスプロイトを特定する可能性があります。 原則として、すべてのノードが多かれ少なかれ同時に侵害されます。この設定は多くの場合、 ソフトウェアモノカルチャー[47]と呼ばれます。 この問題に対処するために、ソフトウェアおよびソフトウェア構成を自動的に多様化するためのさまざまな提案が提出されている (例: [47, 113])。 [47] に記載されているように、 ただし、ソフトウェアの多様性は複雑な問題であり、慎重な検討が必要です。たとえば、ソフトウェアの多様化は、モノカルチャーよりもセキュリティが悪化する可能性があります。 システムの攻撃対象領域が増加し、その結果、可能性のある攻撃ベクトルが超過します。 セキュリティのメリットが得られます。 私たちは、堅牢なフェイルオーバー クライアント (つまり、どのノードに接続するクライアント) のサポートが重要であると考えています。 壊滅的な出来事に直面すると切り替えることができます。これは特に魅力的な形態です。 ソフトウェアの多様化。フェイルオーバークライアントは潜在的なベクトルの数を増加させません これらはメインライン ソフトウェアとして展開されていないため、攻撃の危険性が高まります。それらは明らかな利点を提供します。 ただし、第二の防衛線として。 DONs でフェイルオーバー クライアントをサポートする予定です。 これは、単一クライアントへのセキュリティへの依存を軽減するための重要な手段です。 Chainlink には、フェイルオーバー クライアントの堅牢なシステムがすでに導入されています。私たちのアプローチ これには、実戦テストされた以前のクライアント バージョンの維持が含まれます。たとえば、現在、オフチェーン レポート (OCR) をプライマリ クライアントとして使用する Chainlink ノードにはサポートが含まれています。 必要に応じて、Chainlink の以前の FluxMonitor システム用。ある程度使用されていたので FluxMonitor はセキュリティ監査とフィールド テストを受けています。同じものを提供します OCR としての機能を利用するには、コストがかかるだけです。コストは必要な場合にのみ発生します。 7.2.2 マイノリティ・レポート オマイノリティ (多数派による不正行為を観察する誠実なノードの一部) が十分に大きい少数派セットである場合、少数派を生成するのに役立つ可能性があります。 報告する。これは並行レポートまたはフラグであり、オンチェーンの従属契約 SC に中継されます。 オマイノリティによる。 SC は、独自の契約固有のポリシーに従ってこのフラグを使用できます。 たとえば、生存性や応答性よりも安全性が重要である契約の場合、少数派の報告により、契約は補足報告を要求する可能性があります。 別の DON から接続するか、サーキット ブレーカーをトリガーします (次のセクションを参照)。たとえ大多数が正直であっても、少数派の報告は重要な役割を果たすことができます。 なぜなら、レポート集計スキームは、機能的シグネチャを使用する場合でも、 oracle またはデータ障害に対する回復力を確保するために、しきい値方式で動作します。で 言い換えれば、次の入力に基づいて有効なレポートを作成できなければなりません。 kS < nS oracles、あるしきい値 kS の場合。 これは、破損した DON には、 優先 kS 値を選択することにより、レポート値を操作する自由度が高くなります。 すべてのソースが正直である場合でも、V では oracle の完全なセットによって nS が報告されます。 たとえば、関数型を使用するシステムで nS = 10 および kS = 7 であると仮定します。 ETH の USD 価格の V に対する中央値の計算を認証するための署名。 5 つの情報源が \(500, while the other five report \)1000 の価格を報告しているとします。 次に、下位 7 つのレポートを中央値化することにより、DON は有効な値 v = $500 を出力できます。 そして最高値を中央値化すると、v = $1000 が出力されます。 DON プロトコルを強化して、すべてのノードがどのデータがあったかを認識できるようにする 利用可能なデータ、およびレポートの作成に使用されたデータをノードが検出してフラグを立てることができます。 あるセットのレポートを別のセットのレポートよりも好むという統計的に有意な傾向があり、 結果として少数派の報告書となる。 7.3 ガードレール DONs の信頼モデルは、MAINCHAIN をより高いセキュリティとより高い特権として扱います。 DONs よりもシステムが優れています。 (この信頼モデルは必ずしも当てはまらないかもしれませんが、より簡単です DON の方がセキュリティが高い状況に結果のメカニズムを適応させるため プラットフォームはその逆です)。 したがって、自然な信頼最小化戦略には、smart contracts (MAINCHAIN フロントエンドのいずれか) での監視およびフェイルセーフ メカニズムの実装が含まれます。 DON の場合、または従属契約 SC 内で直接。これらのメカニズムを次のように呼びます。 ガードレール、そして最も重要なものをここにいくつか列挙します。 • サーキットブレーカー: SC は、状態更新自体の特性 (例: シーケンシャル間の大きな差異など) のいずれかの関数として、状態更新を一時停止または停止することがあります。 レポート)、または他の入力に基づいて。たとえば、サーキットブレーカーが落ちる可能性があります。 oracle レポートが時間の経過とともに信じられないほど変化する場合。サーキットブレーカーが作動する可能性があります マイノリティレポートにもつまずかれる。したがって、サーキットブレーカーはDONを防ぐことができます 著しく誤った報告をしないこと。 サーキットブレーカーは、追加の介入を検討するための時間を提供することができます または運動した。そのような介入の 1 つは避難ハッチです。 • 避難用ハッチ: 管理者、コミュニティ token 保持者、またはその他の受託者団体によって特定された不利な状況下では、契約によって以下の措置が講じられる場合があります。 緊急設備は避難ハッチ [163] とも呼ばれます。脱出ハッチ SC を何らかの方法でシャットダウンしたり、保留中の終了を引き起こしたり、場合によっては 今後の取引。たとえば、保管されている資金をユーザーに返還する場合があります ([17])、契約条件 [162] を終了するか、保留中の取引および/または今後の取引 [173] をキャンセルする場合があります。避難ハッチは、あらゆるタイプの契約に導入できます。 DON に依存するものですが、それらは潜在的なバッファーとして興味深いものです。 DON 不正行為。 • フェイルオーバー: SC が重要なサービスについて DON に依存しているシステムでは、SC がフェイルオーバー メカニズムを提供して、たとえ DON の失敗または不正行為の場合。たとえば、TEF (セクション 6) では、次のようになります。 アンカー コントラクト SCa は、オンチェーンと オフチェーン実行インターフェイスは、特定の重要な操作 (例: 引き出し)、または通常のトランザクションの場合は、DON トランザクションのフロントランニングを防ぐために適切な遅延が発生します。データ ソースがデータに署名する場合、ユーザーは DON が失敗した場合にも、SCa に報告書を提出します。 さまざまな形式の楽観的 rollup に対して提案されている不正証明 (セクション 6.3 を参照)、 風味が似ており、上で列挙したメカニズムを補完します。彼らは また、オンチェーン監視の形式と潜在的な障害に対する保護も提供します。 オフチェーン システム コンポーネント。 7.4 信頼を最小限に抑えたガバナンス すべての分散システムと同様、Chainlink ネットワークにはガバナンス メカニズムが必要です 時間の経過とともにパラメータを調整し、緊急事態に対応し、その進化を導きます。 これらのメカニズムの一部は現在 MAINCHAIN 上に存在しており、今後も存続する可能性があります。 DONs の展開でもそうしてください。一例として、支払いメカニズムが挙げられます。 oracle ノード プロバイダー (DON ノード) の場合。 DON MAINCHAIN 上のフロントエンド コントラクト ガードレールなどの追加の機構が含まれており、定期的な規制を受ける可能性があります。 改造。 私たちは、進化型と緊急型という 2 つの種類のガバナンス メカニズムを予測しています。 進化的ガバナンス: Chainlink エコシステムに対する多くの変更は、 実装が緊急の問題ではないようにします: パフォーマンスの向上、 機能強化、(緊急ではない)セキュリティ アップグレードなど。 Chainlink はガバナンスへの参加者をさらに増やす方向に徐々に移行しており、多くの参加者や参加者が増えることが予想されます。 このような変更のほとんどは、影響を受ける特定の DON のコミュニティによって承認される必要があります。 変化します。暫定的に、そしておそらく最終的には並行メカニズムとして、私たちは次のように信じています。 一時的な最小特権の概念は、進化的ガバナンスを実装する有用な手段となり得るということです。非常に簡単に言うと、変更を段階的に展開して、 コミュニティは彼らに応える機会です。たとえば、新しいものへの移行 MAINCHAIN コントラクトは、新しいコントラクトをデプロイする必要があるように制約することができます 有効化の少なくとも 30 日前までに。緊急時のガバナンス: MAINCHAIN の悪用可能な脆弱性または悪用された脆弱性 契約やその他の形式の生存性または安全性の欠陥では、壊滅的な結果を防ぐために即時介入が必要になる場合があります。私たちの目的はマルチシグをサポートすることです あらゆる組織による不正行為を確実に防止するための介入メカニズム。 署名者は組織全体に分散されます。署名者の一貫した可用性を確保する 緊急事態の許可のための適切な指揮系統へのタイムリーなアクセス 変更には、慎重な運用計画と定期的なレビューが必要であることは明らかです。これら 課題は、他のサイバーセキュリティ インシデント対応のテストに伴う課題と似ています。 能力 [134] は、警戒力の低下 [223] などの一般的な問題に対処するための同様の必要性を伴います。 DON のガバナンスは、多くの分散システムのガバナンスとは異なります。 潜在的な異質性の程度。各 DON には、個別のデータ ソース、実行可能ファイル、稼働時間などのサービス レベル要件、ユーザーが含まれる場合があります。 Chainlink ネットワークの ガバナンスメカニズムは、そのような変化に対応できる十分な柔軟性を備えていなければなりません。 運用上の目標とパラメータ。私たちはデザインのアイデアを積極的に検討しており、次のことを計画しています。 将来的にはこのテーマに関する研究を発表する予定です。 7.5 公開鍵インフラストラクチャ 分散化が進むにつれて、 DON ノードを含むネットワーク参加者。特に、Chainlink には強力な 公開鍵インフラストラクチャー (PKI)。 PKI は、キーを ID にバインドするシステムです。のために たとえば、PKI はインターネットの安全な接続 (TLS) システムを支えています。 HTTPS (例: https://www.chainlinklabs.com) を介して Web サイトに接続し、 ブラウザにロックが表示されます。これは、ドメイン所有者の公開キーが 権限によって、具体的にはデジタル署名を通じてその所有者に結び付けられています。 いわゆる証明書。認証局 (CA) の階層システムは、そのトップレベルのルート認証局が一般的なブラウザに組み込まれており、証明書の確実な発行に役立ちます。 ドメインの正当な所有者にのみ発行されます。 Chainlink は最終的には分散型ネーム サービスを利用することになると予想しています。 最初は、PKI の基盤として、Ethereum ネーム サービス (ENS) [22] を使用しました。として その名前が示すように、ENS は DNS (マッピングを行うドメイン ネーム システム) に似ています。 (人間が読める) ドメイン名をインターネット上の IP アドレスに変換します。ただし、ENS は代わりに、人間が判読できる Ethereum 名を blockchain アドレスにマッピングします。 ENSだから Ethereum blockchain 上で動作し、鍵の侵害や改ざんがない限り、 名前空間は原則として、それを管理する契約を改ざんするのと同じくらい難しい および/または基礎となるblockchain。 (対照的に、DNS は歴史的に脆弱でした) スプーフィング、ハイジャック、その他の攻撃から保護します。) 私たちは data.eth を Ethereum メインネット上の ENS に登録しており、 これをルート名前空間として確立し、その下に oracle データ サービスの ID と 他の Chainlink ネットワーク エンティティが存在します。 ENS のドメインは階層構造になっており、各ドメインに参照が含まれる可能性があります。 その下の他の名前に。 ENS のサブドメインは、組織化および委任の信頼。 data.eth の主な役割は、オンチェーン ディレクトリ サービスとして機能することです。 データフィード。従来、oracles の開発者とユーザーはオフチェーン ソースを使用してきました。 (例: docs.chain.link や data.chain.link などの Web サイト、または次のようなソーシャル ネットワーク Twitter) oracle データ フィード アドレス (ETH-USD 価格など) を公開および取得する フィード)。 data.eth などの信頼性の高いルート名前空間を使用すると、代わりに、smart contract アドレスなどへの eth-usd.data.eth のマッピングを確立することができます。 ETH-USD 価格フィード用のオンチェーン oracle ネットワーク アグリゲーターの。これは 誰もがblockchainを信頼できる情報源として参照できる安全なパスを作成します。 その価格/名前ペア (ETH-USD) のデータ フィード。したがって、ENS のそのような使用は、 オフチェーン データ ソースでは利用できない 2 つの利点を実現します。 • 強力なセキュリティ: ドメインに対するすべての変更と更新は不変に記録されます。 Web サイト上のテキスト アドレスとは対照的に、暗号化によって保護されています。 これら 2 つのセキュリティ特性のどちらも享受できません。 • 自動化されたオンチェーン伝播: データフィードの smart contract の基礎となるアドレスを更新すると、依存するスマートに伝播する通知をトリガーできます。 契約を作成し、たとえば、依存する契約を自動的に更新できます。 新しいアドレス.13 ただし、ENS のような名前空間は、正当な所有権を自動的に検証しません。 アサートされた名前の。したがって、たとえば、名前空間に次のエントリが含まれている場合、 ⟨「Acme Oracle Node Co.」、addr⟩、 そうすれば、ユーザーは、addr が Acme という名前の主張者に属しているという保証を得ることができます。 Oracle Node Co. ネームスペース管理に関する追加のメカニズムがなければ、 ただし、その名前が合法的に実体に属しているという保証は得られていません。 現実世界では意味のある意味で Acme Oracle Node Co. と呼ばれます。 名前の検証に対する私たちのアプローチ、つまり、対応する正当な現実世界のエンティティによる名前の所有権の確保は、いくつかのコンポーネントに依存しています。今日、Chainlink 研究室 Chainlink ネットワークの CA として効果的に機能します。 Chainlink ラボは継続します 名前を検証するために、PKI は次の 2 つの方法でより分散化されたモデルに進化します。 • Web-of-trust モデル: 階層型 PKI の分散型モデルは、多くの場合、web-of-trust と呼ばれます。14 バリアントは 1990 年代から提案されてきました。 例: [98]、そして多くの研究者は、blockchain が世界的に一貫した形式で証明書を記録することによって、アイデア (例: [227]) の使用を容易にすることができることを観察しています。 台帳。私たちは、エンティティの身元を検証するために、このモデルのバリアントを調査しています。 Chainlink ネットワーク内でより分散化された方法で。 13A 従属契約には、手動検査を可能にするための所定の遅延をオプションで含めることができます。 および従属契約管理者による介入。 14Phil Zimmermann が PGP [238] のために作った用語。• 検証データへのリンク: 現在、かなりの量の oracle ノード パフォーマンス データがチェーン上で表示され、アーカイブ的にノード アドレスにバインドされています。 このようなデータは、ネットワークへの (信頼できる) 参加の歴史的証拠を提供することによって、PKI のアイデンティティを強化すると見なすことができます。さらに、ツール DECO および Town Crier [160] に基づく分散型アイデンティティのノードの有効化 実世界のデータから得られた認証情報を蓄積します。ほんの一例として、 ノードオペレーターは、所有を証明する資格情報をその PKI ID に添付できます。 ダンとブラッドストリートの評価の。これらの補足的な検証形式では、 ネットワークのセキュリティを保証するために、staking を補足してください。現実世界のアイデンティティが確立されている oracle ノードは、ステークを持っているとみなされる場合があります その評判に基づいたシステムで。 (セクション 4.3 およびセクション 9.6.3 を参照してください。) Chainlink PKI の最後の要件は、安全なブートストラップです。 Chainlink ネットワークのルート名 (現在は data.eth) を公開します (同様に ブラウザのトップレベル ドメインのハードワイヤードに)。言い換えれば、Chainlink ユーザーはどうやって data.eth が実際に Chainlink に関連付けられたトップレベル ドメインであることを確認します。 プロジェクト? Chainlink ネットワークのこの問題に対する解決策は多面的であり、 以下が含まれる可能性があります: • を指定する TXT レコード [224] をchain.link のドメイン レコードに追加します。 data.eth を Chainlink エコシステムのルート ドメインとして使用します。 (Chainlink は、インターネット ドメインの PKI を暗黙的に利用して、ルート ENS ドメインを検証します。) • Chainlink の既存の Web サイトから data.eth にリンクする(例: https://docs.chain.link. (インターネット ドメインに対する PKI のもう 1 つの暗黙的な使用。) • このホワイトペーパーを含むさまざまな文書を通じて data.eth の利用を周知する。 • Twitter などの当社のソーシャル メディア チャネルに data.eth を公に投稿する。 Chainlink ブログ [18]。 • 大量の LINK を同じ登録者アドレスの管理下に置くこと data.ethとして。

Minimização de confiança

Sendo um sistema descentralizado com a participação de um conjunto heterogêneo de entidades, o A rede Chainlink fornece forte proteção contra falhas tanto na atividade (disponibilidade) quanto na segurança (integridade do relatório). A maioria dos sistemas descentralizados, no entanto, varia em o grau em que os seus componentes constituintes são eles próprios descentralizados. Isto é verdade mesmo para grandes sistemas, onde a descentralização limitada entre os mineradores [32] e intermediários [51] estão presentes há muito tempo. O objetivo de qualquer esforço de descentralização é a minimização da confiança: procuramos reduzir o efeitos adversos de corrupção ou falha sistêmica na rede Chainlink, mesmo que devido a um DON malicioso. Nosso princípio orientador é o Princípio do Menor Privilégio [197]. Os componentes e atores do sistema dentro do sistema devem ter privilégios estritamente definidos para permitir apenas a conclusão bem-sucedida das funções atribuídas. Aqui apresentamos vários mecanismos concretos para Chainlink adotar em seu impulso em direção a uma minimização cada vez maior da confiança. Nós caracterizamos esses mecanismos em termos dos loci, ou seja, componentes do sistema, nos quais estão enraizados, mostrados na Fig. abordar cada locus em uma respectiva subseção. 7.1 Autenticação de fonte de dados Os modelos operacionais atuais para oracles são limitados pelo fato de que poucas fontes de dados assinar digitalmente os dados que omitem, em grande parte porque o TLS não assina nativamente dados. O TLS faz uso de assinaturas digitais em seu protocolo de “handshake” (para estabelecer uma chave compartilhada entre um servidor e um cliente). Servidores habilitados para HTTPS, portanto, possuem certificados em chaves públicas que podem, em princípio, servir para assinar dados, mas geralmente não usam esses certificados para dar suporte à assinatura de dados. Consequentemente, a segurança de um DON, como nas redes oracle atuais, depende de nós oracle que retransmitem fielmente os dados de uma rede de dados fonte para um contrato. Um componente importante de longo prazo de nossa visão para a minimização da confiança em Chainlink envolve uma autenticação mais forte da fonte de dados por meio do suporte de ferramentas e padrões para assinatura de dados. A assinatura de dados pode ajudar a aplicar garantias de integridade de ponta a ponta. Em princípio, se um contrato aceita como entrada um dado D assinado diretamente por um fornecedor de dados

Loci of trust-minimizing mechanisms in the Chainlink network showing data quality, node selection, and oracle report verification

Figura 14: Locais de mecanismos de minimização de confiança discutidos nesta seção. 1⃝Dados fontes fornecem dados para 2⃝DON, que retransmite uma função dos dados para um dependente 3⃝smart contract. Além disso, a rede DON ou oracle inclui 4⃝nós gerenciamento smart contracts em MAINCHAIN para, por exemplo, nós de compensação, proteção trilhos e assim por diante. fonte, então a rede oracle não pode adulterar D. Vários encorajadores surgiram esforços para permitir essa assinatura de dados, incluindo o OpenID Connect, que foi projetado principalmente para autenticação de usuário [9], TLS-N, um projeto acadêmico que visa estender o TLS [191] reaproveitando certificados TLS e extensões de evidências TLS [63]. Embora o OpenID Connect tenha tido alguma adoção, no entanto, as TLS Evidence Extensions e o TLS-N ainda não foi adotado. Outra via potencial de autenticação de fonte de dados é usar os próprios editores Signed HTTP Exchanges (SXG) [230], que podem ser armazenados em cache em redes de distribuição de conteúdo como parte do protocolo Accelerated Mobile Pages (AMP) [225]. O navegador móvel Chrome exibe o conteúdo de SXGs armazenados em cache de AMP como se fossem veiculados por os próprios domínios de rede de seus editores em vez do domínio do servidor de cache. Este incentivo de marca, juntamente com a relativa facilidade de ativá-lo usando serviços como o Real URL [83] da CloudFlare e o amppackager [124] do Google, pode levar à adoção generalizada de SXGs em conteúdo de notícias em cache, o que permitiria uma solução simples e resistente a adulterações. maneira de Chainlink oracles serem acionados em eventos de interesse jornalístico relatados em SXGs válidos. Embora os SXGs armazenados em cache de AMP de editores de notícias não sejam úteis para aplicativos como relatórios sobre dados comerciais, eles podem ser uma fonte segura para informações personalizadas contratos relativos a eventos do mundo real, como condições climáticas extremas ou resultados eleitorais. Acreditamos que a implantação simples, ferramentas maduras e flexibilidade serão vitais para acelerando a assinatura da fonte de dados. Permitir que provedores de dados usem nós Chainlink como um front-end de API autenticado parece uma abordagem promissora. Pretendemos criar umopção para os nós funcionarem neste modo, com ou sem participação na rede como um oracle completo. Nos referimos a esse recurso como origem de dados autenticada (ADO). Ao usar nós Chainlink com ADO, as fontes de dados poderão se beneficiar da experiência e ferramentas desenvolvidas pela comunidade Chainlink para adicionar digital recursos de assinatura para seu conjunto existente de APIs fora da cadeia. Eles deveriam escolher correr seus nós como oracles, eles também podem abrir novos fluxos de receita em potencial sob o mesmo modelo dos provedores de dados existentes, por exemplo, Kraken [28], Kaiko [140], e outros, que executam nós Chainlink para vender dados de API em cadeia. 7.1.1 As limitações da origem de dados autenticados A assinatura digital por fontes de dados, embora possa ajudar a fortalecer a autenticação, não é suficiente por si só para atingir todas as metas naturais de segurança ou operacionais de um oracle rede. Para começar, um determinado dado D ainda deve ser transmitido de forma robusta e oportuna. caminho de uma fonte de dados para smart contract ou outro consumidor de dados. Ou seja, mesmo em um ambiente ideal em que todos os dados são assinados usando chaves pré-programadas em dependentes contratos, um DON ainda seria necessário para comunicar os dados de forma confiável das fontes aos contratos. Além disso, há vários casos em que contratos ou outros dados oracle os consumidores desejam acesso à saída autenticada de várias funções computadas dados de origem por dois motivos principais: • Confidencialidade: uma API de fonte de dados pode fornecer dados confidenciais ou proprietários que precisa ser redigido ou higienizado antes de se tornar publicamente visível na rede. Qualquer modificação nos dados assinados, entretanto, invalidava a assinatura. Coloque outro Dessa forma, o ADO ingênuo e a limpeza de dados são incompatíveis. Mostramos no Exemplo 3 como os dois podem ser reconciliados através de uma forma aprimorada de ADO. • Falhas nas fontes de dados: erros e falhas podem afetar as fontes de dados, e as assinaturas digitais não resolvem nenhum dos problemas. Desde o seu início [98], Chainlink tem já incluía um mecanismo para remediar tais falhas: redundância. Os relatórios emitidos pelas redes oracle normalmente representam os dados combinados de vários fontes. Discutiremos agora os esquemas que estamos explorando no ambiente ADO para aumentar a confidencialidade dos dados de origem e combinar dados de múltiplas fontes com segurança. 7.1.2 Confidencialidade As fontes de dados podem não antecipar e disponibilizar toda a gama de APIs desejada pelos usuários. Especificamente, os usuários podem desejar acessar dados pré-processados para ajudar a garantir confidencialidade. O exemplo a seguir ilustra o problema.Exemplo 3. Alice deseja obter uma credencial de identidade descentralizada (DID) informando que ela tem mais de 18 anos (e portanto pode, por exemplo, contrair um empréstimo). Para fazer então, ela precisa provar esse fato sobre sua idade para um emissor de credencial DID. Alice espera usar dados do Departamento de Veículos Motorizados (DMV) de seu estado site para o efeito. O Detran tem registro de sua data de nascimento e emitirá um atestado A assinado digitalmente no seguinte formato: A = {Nome: Alice, Data de nascimento: 16/02/1999}. Neste exemplo, o atestado A pode ser suficiente para Alice provar ao DID emissor da credencial que ela tem mais de 18 anos. Mas vaza desnecessariamente informações confidenciais: Alice's DoB exato. Idealmente, o que Alice gostaria do DMV seria uma assinatura em um declaração simples A′ de que “Alice tem mais de 18 anos”. Em outras palavras, ela quer que o saída de uma função G em sua data de nascimento X, onde (informalmente), A′ = G(X) = True se DataAtual −X ≥18 anos; caso contrário, G(X) = Falso. Para generalizar, Alice gostaria de poder solicitar da fonte de dados um documento assinado atestado A′ do formato: A′ = {Nome: Alice, Func:G(X), Resultado: Verdadeiro}, onde G(X) denota uma especificação de uma função G e sua(s) entrada(s) X. Imaginamos que um usuário deve ser capaz de fornecer um G(X) desejado como entrada com sua solicitação de um atestado correspondente A′. Observe que o atestado A′ da fonte de dados deve incluir a especificação G(X) para certifique-se de que A′ seja interpretado corretamente. No exemplo acima, G(X) define o significado do valor booleano em A′ e, portanto, True significa o assunto do atestado tem mais de 18 anos de idade. Referimo-nos a consultas flexíveis nas quais um usuário pode especificar G(X) como consultas funcionais. Para dar suporte a casos de uso como o do Exemplo 3, bem como aqueles que envolvem consultas diretamente dos contratos, pretendemos incluir suporte para consultas funcionais envolvendo funções simples G como parte do ADO. 7.1.3 Combinando dados de origem Para reduzir os custos na cadeia, os contratos são geralmente concebidos para consumir dados combinados de múltiplas fontes, conforme ilustrado no exemplo a seguir. Exemplo 4 (Medianização de dados de preços). Para fornecer um feed de preços, ou seja, o valor de um ativo (por exemplo, ETH) em relação a outro (por exemplo, USD), uma rede oracle geralmente obter preços atuais de diversas fontes, como bolsas. A rede oracle normalmente envia para um contrato dependente SC a mediana desses valores. Em um ambiente com assinatura de dados, uma rede oracle funcionando corretamente obtém de fontes de dados S = {S1, . . . , SnS} uma sequência de valores V = {v1, v2, . . . , vnS} de Fontes nS acompanhadas de assinaturas específicas da fonte Σ = {σ1, σ2, . . . , σnS}. Após verificando as assinaturas, transmite o preço v = median(V ) para SC.Infelizmente, não existe uma maneira simples de uma rede oracle transmitir a mediana valor v no Exemplo 4 para SC junto com uma prova sucinta σ∗ de que v foi calculado corretamente sobre entradas assinadas. Uma abordagem ingénua seria codificar em SC as chaves públicas de todas as fontes de dados nS. A rede oracle então retransmitiria (V, Σ) e permitiria que SC calculasse a mediana de V . Isso, no entanto, resultaria em uma prova σ de tamanho O(nS) - ou seja, σ∗não seria sucinto. Também incorreria em elevados custos de gás para SC, que precisaria verificar todas as assinaturas em Σ. O uso de SNARKs, por outro lado, permite uma prova sucinta de valores de origem autenticados combinados corretamente. Pode ser viável na prática, mas impõe custos bastante elevados custos computacionais no provador e custos de gás um tanto elevados na cadeia. Uso de O Pregoeiro também é uma possibilidade, mas exige o uso de TEEs, o que não atende a todos modelos de confiança dos usuários. Um conceito útil para enquadrar soluções para o problema geral de assinatura de dados combinados de fontes é uma ferramenta criptográfica conhecida como assinaturas funcionais [59, 132]. Resumidamente, as assinaturas funcionais permitem que um signatário delegue capacidade de assinatura, de modo que o delegado só pode assinar mensagens no intervalo de uma função F escolhida pelo signatário. Mostramos no Apêndice D como esta restrição funcional pode servir para limitar o intervalo dos valores do relatório emitidos por um DON em função dos valores assinados pelas fontes de dados. Também introduzimos uma nova primitiva, chamada assinatura funcional discretizada, que inclui um requisito relaxado de precisão, mas tem potencialmente um desempenho muito melhor do que abordagens como SNARKs. O problema de combinar fontes de dados de uma forma que inclua autenticação de origem dos resultados também se aplica a agregadores de dados, por exemplo, CoinCap, CoinMarketCap, CoinGecko, CryptoCompare, etc., que obtêm dados de uma multiplicidade de exchanges, que eles peso baseado em volumes, utilizando metodologias que em alguns casos tornam públicas e em outros casos são proprietários. Um agregador que deseja publicar um valor com a autenticação de origem enfrenta o mesmo desafio que uma coleção de nós agregando dados de origem. 7.1.4 Processando dados de origem smart contracts sofisticados provavelmente dependerão de estatísticas agregadas personalizadas fontes primárias de dados, como volatilidade no histórico recente de preços de muitos ativos, ou textos e fotografias de notícias sobre acontecimentos pertinentes. Como a computação e a largura de banda são relativamente baratas em um DON, essas estatísticas— mesmo modelos complexos de aprendizado de máquina com muitas entradas podem ser processados economicamente, desde que qualquer valor de saída destinado a um blockchain seja suficientemente conciso. Para trabalhos computacionalmente intensivos onde DON participantes podem ter diferentes opiniões sobre entradas complexas, rodadas extras de comunicação entre os participantes DON podem ser necessárias para estabelecer consenso sobre as entradas antes de calcular o resultado. Desde que o valor final seja totalmente determinado pelas entradas, uma vez estabelecido o consenso de entrada, cada participante pode simplesmente calcular o valor e transmiti-lo ao outro.participantes com sua assinatura parcial ou enviá-la para um agregador. 7.2 DON Minimização de confiança Imaginamos duas maneiras principais de minimizar a confiança depositada nos componentes do DON: clientes de failover e relatórios minoritários. 7.2.1 Clientes de failover Modelos adversários na literatura de criptografia e sistemas distribuídos normalmente considerar um adversário capaz de corromper (ou seja, comprometer) um subconjunto de nós; por exemplo, menos de um terço para muitos protocolos BFT. É comumente observado, no entanto, que se todos os nós executarem software idêntico, um adversário que identifique uma exploração fatal poderá em princípio, comprometem todos os nós mais ou menos simultaneamente. Esta configuração é frequentemente referida como monocultura de software [47]. Várias propostas para diversificar automaticamente software e configurações de software foram apresentadas para resolver o problema, por exemplo, [47, 113]. Conforme observado em [47], entretanto, a diversidade de software é uma questão complexa e requer consideração cuidadosa. A diversificação de software, por exemplo, pode resultar em pior segurança do que uma monocultura se for aumenta a superfície de ataque de um sistema e, portanto, seus possíveis vetores de ataque em excesso os benefícios de segurança que oferece. Acreditamos que o suporte para clientes robustos de failover, ou seja, clientes aos quais os nós pode mudar diante de um evento catastrófico – é uma forma especialmente atraente de diversificação de software. Os clientes de failover não aumentam o número de vetores potenciais de ataque, pois não são implantados como software principal. Eles oferecem benefícios claros, no entanto, como uma segunda linha de defesa. Pretendemos oferecer suporte a clientes de failover em DONs como um meio fundamental de reduzir sua dependência de segurança em um único cliente. Chainlink já possui um sistema robusto de clientes de failover. Nossa abordagem envolve a manutenção de versões de clientes anteriores e testadas em batalha. Hoje, por exemplo, nós Chainlink com relatórios fora da cadeia (OCR) como cliente principal incluem suporte para o sistema FluxMonitor anterior de Chainlink, se necessário. Tendo sido usado por alguns Ao mesmo tempo, o FluxMonitor recebeu auditorias de segurança e testes de campo. Ele fornece o mesmo funcionalidade como OCR, mas com um custo mais elevado – um custo incorrido apenas conforme a necessidade. 7.2.2 Relatórios Minoritários Dado um conjunto minoritário suficientemente grande de Ominoridade – uma fração de nós honestos que observam a prevaricação da maioria – pode ser útil para eles gerar uma minoria. relatório. Este é um relatório ou sinalizador paralelo, retransmitido para um SC de contrato dependente na cadeia por Ominoridade. SC pode fazer uso desta bandeira de acordo com sua política específica do contrato. Por exemplo, para um contrato em que a segurança é mais importante do que a vivacidade ou a capacidade de resposta, um relatório minoritário pode fazer com que o contrato solicite relatórios suplementares. de outro DON ou acione um disjuntor (veja a próxima seção).Os relatórios minoritários podem desempenhar um papel importante mesmo quando a maioria é honesta, porque qualquer esquema de agregação de relatórios, mesmo que utilize assinaturas funcionais, deve operar de forma limitada, para garantir resiliência contra oracle ou falha de dados. Em outras palavras, deve ser possível produzir um relatório válido com base nas informações de kS < nS oracles, para algum limite kS. Isso significa que um DON corrompido tem alguns latitude na manipulação de valores de relatório, selecionando seus valores kS preferidos entre os nS relatado em V pelo conjunto completo de oracles, mesmo que todas as fontes sejam honestas. Por exemplo, suponha que nS = 10 e kS = 7 em um sistema que utiliza uma função assinatura para autenticar o cálculo da mediana sobre V para o preço da ETH em dólares. Suponha que cinco fontes relatem um preço de \(500, while the other five report \)1000. Então, medianizando os 7 relatórios mais baixos, o DON pode gerar um valor válido v = $500, e medianizando o mais alto, pode gerar v = $ 1.000. Ao aprimorar o protocolo DON para que todos os nós estejam cientes de quais dados foram disponíveis e quais dados foram usados para construir um relatório, os nós poderiam detectar e sinalizar tendências estatisticamente significativas para favorecer um conjunto de relatórios em detrimento de outro e produzir como resultado, um relatório minoritário. 7.3 Guarda-corpos Nosso modelo de confiança para DONs trata MAINCHAIN como um sistema de maior segurança e maior privilégio sistema do que DONs. (Embora este modelo de confiança nem sempre seja verdadeiro, é mais fácil adaptar o mecanismo resultante a situações em que DON é a segurança mais alta plataforma do que vice-versa.) Uma estratégia natural de minimização da confiança envolve, portanto, a implementação de mecanismos de monitoramento e à prova de falhas em smart contracts - seja em um front-end MAINCHAIN para um DON ou diretamente em um contrato de dependente SC. Nos referimos a esses mecanismos como guarda-corpos e enumere alguns dos mais importantes aqui: • Disjuntores: o SC pode pausar ou interromper as atualizações de estado em função das características das próprias atualizações de estado (por exemplo, grande variação entre relatórios) ou com base em outras informações. Por exemplo, um disjuntor pode desarmar casos em que os relatórios oracle variam de forma implausível ao longo do tempo. Um disjuntor pode também ser tropeçado por um relatório minoritário. Assim, os disjuntores podem evitar DONs de fazer relatórios grosseiramente errados. Os disjuntores podem fornecer tempo para que intervenções adicionais sejam consideradas ou exercido. Uma dessas intervenções são as saídas de emergência. • Escotilhas de fuga: Em circunstâncias adversas, conforme identificado por um conjunto de custodiantes, detentores de token comunitários ou outros órgãos de curadores, um contrato pode invocar uma instalação de emergência às vezes chamada de escotilha de fuga [163]. Uma escotilha de fuga faz com que o SC seja desligado de alguma maneira e/ou termine pendente e possivelmente transações futuras. Por exemplo, pode devolver fundos custodiados aos usuários [17]),pode rescindir os termos do contrato [162] ou pode cancelar transações pendentes e/ou futuras [173]. As escotilhas de fuga podem ser implantadas em qualquer tipo de contrato, não apenas aquele que depende de um DON, mas eles são de interesse como um buffer potencial contra DON prevaricação. • Failover: Em sistemas onde o SC depende do DON para serviços essenciais, é possível que o SC forneça mecanismos de failover que garantam a continuação do serviço mesmo no caso de falha ou mau comportamento de DON. Por exemplo, no TEF (Secção 6), o contrato âncora SCa pode fornecer interfaces duplas onde tanto on-chain quanto interfaces de execução fora da cadeia são suportadas para certas operações críticas (por exemplo, retirada), ou para transações normais, com um atraso adequado para evitar a antecipação de transações DON. Nos casos em que as fontes de dados assinam dados, os usuários podem também fornecerá relatórios à SCa quando o DON não o fizer. Provas de fraude, conforme proposto para várias formas de rollup otimista (ver Seção 6.3), são semelhantes em sabor e complementares aos mecanismos que enumeramos acima. Eles também fornece uma forma de monitoramento e proteção na cadeia contra possíveis falhas em componentes do sistema fora da cadeia. 7.4 Governança com confiança minimizada Como todos os sistemas descentralizados, a rede Chainlink requer mecanismos de governança ajustar parâmetros ao longo do tempo, responder a emergências e orientar sua evolução. Alguns desses mecanismos residem atualmente no MAINCHAIN e podem continuar a existir. faça isso mesmo com a implantação de DONs. Um exemplo é o mecanismo de pagamento para provedores de nós oracle (nós DON). DON contratos front-end em MAINCHAIN conter mecanismos adicionais, como guarda-corpos, que podem estar sujeitos a alterações periódicas modificação. Prevemos duas classes de mecanismos de governança: evolutivos e emergenciais. Governança evolucionária: Muitas modificações no ecossistema Chainlink são de modo que sua implementação não seja uma questão urgente: Melhorias de desempenho, aprimoramentos de recursos, atualizações de segurança (não urgentes) e assim por diante. À medida que Chainlink avança progressivamente em direção a ainda mais participantes em sua governança, esperamos que muitos ou a maioria dessas mudanças deve ser ratificada pela comunidade de um DON específico afetado por aqueles mudanças. Entretanto, e talvez em última análise como mecanismo paralelo, acreditamos que uma noção de menor privilégio temporal pode ser um meio útil de implementar a governação evolutiva. Muito simplesmente, a ideia é que as mudanças sejam implementadas gradualmente, garantindo à comunidade uma oportunidade de responder a eles. Por exemplo, a migração para um novo O contrato MAINCHAIN pode ser restringido para que o novo contrato seja implantado pelo menos trinta dias antes da ativação.Governança de emergência: Vulnerabilidades exploráveis ou exploradas em MAINCHAIN contratos ou outras formas de vida ou falhas de segurança podem exigir intervenção imediata para garantir resultados catastróficos. Nossa intenção é apoiar um multisig mecanismo de intervenção no qual, para garantir contra má conduta por parte de qualquer organização, os signatários estarão dispersos pelas organizações. Garantindo disponibilidade consistente de assinantes e acesso oportuno às cadeias de comando apropriadas para autorização de emergência as mudanças exigirão claramente um planeamento operacional cuidadoso e uma revisão regular. Estes os desafios são semelhantes aos envolvidos no teste de outras respostas a incidentes de segurança cibernética capacidades [134], com uma necessidade semelhante de combater problemas comuns como o decréscimo de vigilância [223]. A governança de DONs difere daquela de muitos sistemas descentralizados em sua grau potencial de heterogeneidade. Cada DON pode ter fontes de dados, executáveis, requisitos de nível de serviço distintos, como tempo de atividade e usuários. A rede Chainlink mecanismos de governação devem ser suficientemente flexíveis para acomodar tais variações na metas e parâmetros operacionais. Estamos explorando ativamente ideias de design e planejamos publicar pesquisas sobre este tema no futuro. 7,5 Infraestrutura de chave pública Com a descentralização progressiva, surgirá a necessidade de uma identificação robusta dos participantes da rede, incluindo nós DON. Em particular, Chainlink requer um forte Infraestrutura de chave pública (PKI). Uma PKI é um sistema que vincula chaves a identidades. Para Por exemplo, uma PKI sustenta o sistema de conexões seguras (TLS) da Internet: quando você se conecta a um site via HTTPS (por exemplo, https://www.chainlinklabs.com) e um lock aparece no seu navegador, isso significa que a chave pública do proprietário do domínio foi foi vinculado a esse proprietário por uma autoridade - especificamente, por meio de uma assinatura digital em um chamado certificado. Um sistema hierárquico de autoridades de certificação (CAs), cujas autoridades raiz de nível superior estão conectadas a navegadores populares, ajuda a garantir que os certificados são emitidos apenas para os legítimos proprietários de domínios. Esperamos que Chainlink eventualmente faça uso de serviços de nomes descentralizados, inicialmente o Ethereum Name Service (ENS) [22], como base para nossa PKI. Como seu nome sugere, ENS é análogo ao DNS, o Sistema de Nomes de Domínio que mapeia nomes de domínio (legíveis por humanos) para endereços IP na Internet. O ENS, no entanto, mapeia nomes Ethereum legíveis por humanos para endereços blockchain. Porque ENS opera no Ethereum blockchain, impedindo o comprometimento da chave, adulterando seu namespace é, em princípio, tão difícil quanto adulterar o contrato que o administra e/ou o blockchain subjacente. (O DNS, por outro lado, tem sido historicamente vulnerável para falsificação, sequestro e outros ataques.) Registramos data.eth com ENS na rede principal Ethereum e pretendemos estabelecê-lo como um namespace raiz sob o qual as identidades dos serviços de dados oracle e outras entidades de rede Chainlink residem. Os domínios no ENS são hierárquicos, o que significa que cada domínio pode conter referências para outros nomes sob ele. Os subdomínios no ENS podem servir como uma forma de organizar edelegar confiança. A principal função do data.eth será servir como um serviço de diretório on-chain para feeds de dados. Tradicionalmente, os desenvolvedores e usuários de oracles têm usado fontes fora da cadeia (por exemplo, sites como docs.chain.link ou data.chain.link, ou redes sociais como Twitter) para publicar e obter endereços de feed de dados oracle (como o preço ETH-USD alimentação). Com um namespace raiz altamente confiável como data.eth, é possível estabelecer um mapeamento de eth-usd.data.eth para, por exemplo, o endereço smart contract de um agregador de rede oracle on-chain para o feed de preços ETH-USD. Isso seria criar um caminho seguro para qualquer pessoa se referir ao blockchain como a fonte da verdade para aquele feed de dados desse par preço/nome (ETH-USD). Consequentemente, tal uso de ENS percebe dois benefícios não disponíveis em fontes de dados fora da cadeia: • Segurança forte: todas as alterações e atualizações no domínio são registradas de forma imutável e protegidos criptograficamente, em oposição aos endereços de texto em um site, que não desfrute de nenhuma dessas duas propriedades de segurança. • Propagação automatizada na cadeia: atualizações no endereço subjacente de um feed de dados smart contract podem acionar notificações que se propagam para dispositivos inteligentes dependentes. contratos e pode, por exemplo, atualizar automaticamente contratos dependentes com os novos endereços.13 Namespaces como ENS, no entanto, não validam automaticamente a propriedade legítima de nomes afirmados. Assim, por exemplo, se o namespace incluir a entrada ⟨“Acme Oracle Node Co.”, endereço⟩, então, um usuário obtém a garantia de que addr pertence ao requerente do nome Acme Oracle Node Co. Sem mecanismos adicionais para administração de namespace, no entanto, ela não obtém garantia de que o nome pertence a uma entidade legitimamente chamado Acme Oracle Node Co. em um sentido significativo do mundo real. Nossa abordagem para validação de nomes, ou seja, garantir sua propriedade por entidades correspondentes e legítimas do mundo real, depende de vários componentes. Hoje, Chainlink Laboratórios atua efetivamente como uma CA para a rede Chainlink. Enquanto os laboratórios Chainlink continuarão para validar nomes, nossa PKI evoluirá para um modelo mais descentralizado de duas maneiras: • Modelo de rede de confiança: A contrapartida descentralizada de uma PKI hierárquica é muitas vezes referida como uma rede de confiança.14 Variantes têm sido propostas desde a década de 1990, por exemplo, [98], e vários pesquisadores observaram que blockchains podem facilitar o uso da ideia, por exemplo, [227] registrando certificados de uma forma globalmente consistente. livro razão. Estamos explorando variantes deste modelo para validar as identidades das entidades na rede Chainlink de forma mais descentralizada. 13Um contrato dependente pode incluir opcionalmente um atraso predeterminado para permitir inspeção manual e intervenção de administradores de contratos dependentes. 14Um termo cunhado por Phil Zimmermann para PGP [238].• Vinculação com dados de validação: hoje, uma quantidade substancial de dados de desempenho de nós oracle é visível na cadeia e, portanto, vinculada de forma arquivística aos endereços de nós. Esses dados podem ser vistos como enriquecedores de uma identidade na PKI, fornecendo provas históricas da sua participação (confiável) na rede. Além disso, ferramentas para identidade descentralizada baseada em DECO e Town Crier [160] habilitar nós para acumular credenciais derivadas de dados do mundo real. Como apenas um exemplo, um o operador do nó pode anexar uma credencial à sua identidade PKI que comprove a posse de uma classificação Dun e Bradstreet. Estas formas complementares de validação podem suplemento staking na criação de garantia de segurança da rede. Um nó oracle com uma identidade estabelecida no mundo real pode ser visto como tendo participação em um sistema derivado de sua reputação. (Consulte a Seção 4.3 e a Seção 9.6.3.) Um requisito final para a PKI Chainlink é a inicialização segura, ou seja, publicando o nome raiz da rede Chainlink, atualmente data.eth (analogamente à conexão física de domínios de nível superior em navegadores). Em outras palavras, como os usuários Chainlink determine que data.eth é de fato o domínio de nível superior associado ao Chainlink projeto? A solução para este problema para a rede Chainlink é multifacetada e pode envolver: • Adicionar um registro TXT [224] ao nosso registro de domínio para chain.link que especifica data.eth como domínio raiz do ecossistema Chainlink. (Chainlink aproveita implicitamente a PKI para domínios da Internet para validar seu domínio ENS raiz.) • Link para data.eth do site existente de Chainlink, por exemplo, de https://docs.chain.link. (Outro uso implícito da PKI para domínios da Internet.) • Divulgar o uso do data.eth por meio de vários documentos, incluindo este whitepaper. • Publicar data.eth publicamente em nossos canais de mídia social, como o Twitter, e o blog Chainlink [18]. • Colocar uma grande quantidade de LINK sob o controle do mesmo endereço de registrante como dados.eth.

DON 導入に関する考慮事項

私たちのコア設計の一部ではありませんが、いくつかの重要な技術的考慮事項があります。 ここでの治療に値するDONの実現において。

8.1 ロールアウトアプローチ この文書では、高度な Chainlink 機能の野心的なビジョンを示します。 実現には、その過程で多くの課題を解決する必要があります。このホワイトペーパー いくつかの課題を特定しましたが、予期せぬ課題が必ず発生します。 私たちは、このビジョンの要素を段階的に実装する予定です。 延長された期間。 私たちの予想では、DONs は最初に次のように起動されることになります。 社内のチームが協力して構築した特定の事前構築コンポーネントのサポート Chainlink コミュニティ。その目的は、DONs をより広範に使用できるようにすることです。 任意の実行可能ファイルを起動します。後でサポートされる予定です。 このような注意が必要な理由の 1 つは、最近のフラッシュ ローン ベースの攻撃のように、smart contract の構成には複雑で意図しない危険な副作用が生じる可能性があるためです。 たとえば[127、189]に示されています。同様に、smart contract、アダプター、および 実行可能ファイルには細心の注意が必要です。 DONs の最初の展開では、テンプレート化された実行可能ファイルとアダプターの事前構築済みセットのみを含める予定です。これにより、構成的安全性の研究が可能になります。 形式的な手法 [46、170] やその他のアプローチを使用して、これらの機能を解析します。そうなります また、価格設定も簡素化します。機能の価格設定は、一般化されたメータリングではなく、機能ごとに基づいて DON ノードによって確立できます。このアプローチは採用されています。 例: [156]。また、Chainlink コミュニティが作成に参加することも期待しています。 追加のテンプレートを使用して、さまざまなアダプターと実行可能ファイルを組み合わせて、 数千ではないにしても、数百の個人によって実行できる便利な分散型サービス DON秒。 さらに、このアプローチは、状態の肥大化、つまり DON の必要性を防ぐのに役立ちます。 ノードを使用して、作業不可能な量の状態を作業メモリに保持します。この問題は パーミッションレス blockchain ではすでに発生しており、「ステートレス」などのアプローチが動機付けられています。 クライアント」([206] などを参照)。高スループットのシステムではより深刻になる可能性があり、モチベーションが高まります。 DON が状態サイズに最適化された実行可能ファイルのみをデプロイするアプローチ。 DON が進化し成熟し、セクション 7 で説明した堅牢なガード レール、セクション 9 で説明した暗号経済およびレピュテーション ベースのセキュリティ メカニズム、および DON ユーザーに高度な保証を提供するその他の機能が組み込まれるにつれて、私たちは また、より広範な立ち上げと使用を促進するためのフレームワークとツールを開発することも期待されています。 コミュニティによるDONs。理想的には、これらのツールによりノード オペレーターのコレクションが可能になります。 oracle ネットワークとして統合し、パーミッションレスで独自の DON を起動します。 またはセルフサービス方式、つまり一方的に行うことができます。 8.2 動的 DON メンバーシップ 特定の DON を実行するノードのセットは、時間の経過とともに変化する可能性があります。 2つのアプローチがあります O の動的メンバーシップが与えられた skL の鍵管理に。 1 つ目は、メンバーシップの変更時にノードが保持する skL のシェアを更新することです。 pkL を変更しないままにします。 [41、161、198] で検討されているこのアプローチには利点があります。 証明書利用者が pkL を更新することを要求しないこと。[122] で導入された共有再共有の古典的な手法は、簡単な機能を提供します。 そしてそのような共有の更新を実現する効率的な方法。シークレットの転送が可能になります 1 つのノードのセット O(1) と、おそらく交差する 1 つのノード O(2) との間。この中で アプローチ、各ノード O(1) 私は 秘密共有の (k(2), n(2)) 秘密共有を実行します。 n(2) = |O(2)| の O(2) 内のノードおよび望ましい(おそらく新しい)閾値 k(2)。さまざまな検証可能な秘密共有 (VSS) スキーム [108] は、次のような敵に対してセキュリティを提供できます。 ノードを積極的に破壊します。つまり、プロトコルに悪意のある動作を導入します。 [161] の技術は、通信の複雑さを軽減し、提供することを目的としています。 暗号強度の仮定における失敗に対する回復力。 2 番目のアプローチは、レジャーキー pkL を更新することです。これには前進する利点があります セキュリティ: pkL の古い共有 (つまり、以前の委員会ノード) が侵害されることはありません 現在のキーが侵害される可能性があります。ただし、pkL のアップデートには 2 つの欠点があります。 (1) pkL で暗号化されたデータはキー更新時に再暗号化する必要がある、および (2) 主要な更新は信頼当事者に伝播する必要があります。 私たちは両方のアプローチと、その 2 つのハイブリッド化を検討するつもりです。 8.3 DON 説明責任 既存の Chainlink oracle ネットワークと同様に、DONs には、正しいノード動作の記録、監視、強制などの説明責任のメカニズムが含まれます。 DON は 既存の多くの許可のない blockchain よりもはるかに大きなデータ容量、 特に外部の分散ストレージに接続できる機能を考慮すると、その結果、ノードのパフォーマンス履歴を詳細に記録できるようになり、 よりきめの細かい説明責任メカニズム。たとえば、次のオフチェーン計算 資産価格には、中央値の結果が送信される前に破棄される入力が含まれる場合があります。 チェーン。 DON には、これらの中間結果を記録できます。したがって、DON 内の個々のノードによる不正な動作やパフォーマンスの低下は、修正またはペナルティを受ける可能性があります。 DON をきめ細かい方法で確認します。構築するためのアプローチについても説明しました。 システム障害による契約固有の影響に対処するセクション 7.3 のガード レール。 ただし、DON 自体にフェイルセーフ メカニズムを設けることも重要です。 具体的には、システム全体の、潜在的に壊滅的なDON障害に対する保護です。 これから説明するように、フォーク / あいまいさおよびサービス レベル アグリーメント (SLA) の失敗について説明します。 分岐/曖昧さ: 障害のあるノードが十分に多い場合、DON はフォークする可能性があります または曖昧で、L 内に 2 つの別個の矛盾したブロックまたはブロックのシーケンスが生成されます。 ただし、DON は L の内容にデジタル署名するため、 メインチェーン MAINCHAIN を使用して、あいまいな表現を防止および/またはペナルティを課します。 DON は、MAINCHAIN 上の監査コントラクト内の L からの状態を定期的にチェックポイントできます。 将来の状態がチェックポイント設定された状態から逸脱した場合、ユーザー/監査人は証拠を提示できます。 この不正行為を監査契約に反映させます。このような証拠は、アラートを生成するために使用できます。 または、コントラクト内のスラッシュによって DON ノードにペナルティを課します。後者のアプローチでは、次のようなことが起こります。 特定の oracle フィードの場合と同様のインセンティブ設計の問題であり、それに基づいて構築することができます 私たちの取り組みについてはセクション 9 で概説します。サービスレベル契約の強制: DON は必ずしも次のことを意図しているわけではありませんが、 無期限に実行されるため、サービス レベル アグリーメント (SLA) に準拠することが重要です ユーザーとともに。基本的な SLA の適用はメイン チェーンで可能です。たとえば、 DON ノードは、特定の日付まで DON を維持すること、またはサービス終了の事前通知 (例: 3 か月前の通知) を提供することを約束する場合があります。に関する契約 MAINCHAIN は、基本的な暗号経済 SLA 強制を提供できます。 たとえば、チェックポイントが設定されている場合、SLA 契約では DON が預け入れた資金を削減できます。 必要な間隔で提供されていない。ユーザーは資金を入金し、DON に挑戦できます。 チェックポイントが一連の有効なブロックを正しく表していることを証明するため(ある方法) たとえば、に似ています。 [141])。もちろん、ブロックの生成はトランザクションと同等ではありません ただし、SLA 契約は後者を強制する役割も果たします。たとえば、 FSS のレガシー互換バージョンでは、トランザクションがメモリプール (セクション 5.2 を参照) からフェッチされ、トランザクションは最終的にマイニングされてチェーン上に配置されます。ユーザー SLA 契約に以下のトランザクションを提供することで、DON の不正行為を証明できます。 マイニングされましたが、ターゲット コントラクトによる処理のために DON によって送信されませんでした 適切な時間内に。15 よりきめ細かい SLA の存在を証明し、罰則を課すことも可能です 実行可能ファイルを使用した計算エラーを含む失敗(たとえば、メカニズムを介して) セクション 6.3 で概説されているオフチェーン状態のトランザクションが正しいこと、または実行に失敗したことを証明するため DON で表示されるイニシエーターに基づく実行可能ファイル、DON 上のデータの中継に失敗する タイムリーなメインチェーンなど。

DON Considerações sobre implantação

Embora não faça parte do nosso design principal, existem várias considerações técnicas importantes na realização de DONs que merecem tratamento aqui.

8.1 Abordagem de implementação Este artigo apresenta uma visão ambiciosa da funcionalidade avançada Chainlink cujo a realização exigirá soluções para muitos desafios ao longo do caminho. Este artigo identifica alguns desafios, mas certamente surgirão desafios imprevistos. Planejamos implementar elementos desta visão de forma incremental ao longo de um período de tempo prolongado. Nossa expectativa é que DONs seja lançado inicialmente com suporte para componentes pré-construídos específicos construídos de forma colaborativa por equipes dentro do Chainlink comunidade. A intenção é que usos mais amplos de DONs, por exemplo, a capacidade de lançar executáveis arbitrários, terá suporte posteriormente. Uma razão para tal cautela é que a composição de smart contracts pode ter efeitos colaterais complexos, não intencionais e perigosos, como recentes ataques baseados em empréstimos flash por exemplo mostrado [127, 189]. Da mesma forma, a composição de smart contracts, adaptadores e executáveis exigirão extremo cuidado. Em nossa implantação inicial de DONs, planejamos incluir apenas um conjunto pré-construído de executáveis ​​e adaptadores modelados. Isto permitirá o estudo da segurança composicional dessas funcionalidades usando métodos formais [46, 170] e outras abordagens. Isso vai também simplificar o preço: o preço da funcionalidade pode ser estabelecido por nós DON com base na funcionalidade, em vez de por meio de medição generalizada, uma abordagem adotada em, por exemplo, [156]. Esperamos também que a comunidade Chainlink participe na criação de modelos adicionais, combinando vários adaptadores e executáveis em cada vez mais serviços descentralizados úteis que podem ser administrados por centenas, senão milhares de indivíduos DONs. Além disso, esta abordagem pode ajudar a evitar o inchaço do estado, ou seja, a necessidade de DON nós para reter uma quantidade impraticável de estado na memória de trabalho. Este problema é já surgindo em blockchains sem permissão, motivando abordagens como “stateless clientes” (ver, por exemplo, [206]). Pode ser mais agudo em sistemas de maior rendimento, motivando uma abordagem na qual um DON implanta apenas executáveis otimizados para tamanho de estado. À medida que os DONs evoluem e amadurecem e incluem barreiras de proteção robustas, conforme discutido na Seção 7, mecanismos de segurança criptoeconômicos e baseados em reputação, conforme discutido na Seção 9, e outros recursos que fornecem um alto grau de garantia para usuários de DON, nós também esperamos desenvolver uma estrutura e ferramentas para facilitar o lançamento e uso mais amplo de DONs pela comunidade. Idealmente, essas ferramentas permitirão uma coleção de operadores de nós se unirem como uma rede oracle e lançarem seus próprios DONs em um ambiente sem permissão ou de autoatendimento, o que significa que podem fazê-lo unilateralmente. 8.2 Associação dinâmica DON O conjunto de nós executando um determinado DON pode mudar com o tempo. Existem duas abordagens ao gerenciamento de chaves para skL, dada a associação dinâmica em O. A primeira é atualizar as ações de skL mantidas pelos nós após mudanças na associação, enquanto mantém o pkL inalterado. Esta abordagem, explorada em [41, 161, 198], tem o mérito de não exigir que as partes confiantes atualizem o pkL.A técnica clássica de compartilhar novamente, introduzida em [122], fornece uma maneira simples e eficiente de realizar tais atualizações de compartilhamento. Permite que um segredo seja transferido entre um conjunto de nós O(1) e um segundo, possivelmente cruzando um O(2). Neste abordagem, cada nó O (1) eu executa um compartilhamento secreto (k(2), n(2)) de seu compartilhamento secreto entre nós em O(2) para n(2) = |O(2)| e limite desejado (possivelmente novo) k(2). Vários esquemas de compartilhamento de segredos verificáveis (VSS) [108] podem fornecer segurança contra um adversário que corrompe ativamente os nós, ou seja, introduz comportamento malicioso no protocolo. As técnicas em [161] visam fazer isso, reduzindo a complexidade da comunicação e fornecendo resiliência contra falhas em suposições de dureza criptográfica. Uma segunda abordagem é atualizar a chave do razão pkL. Isto tem a vantagem de avançar segurança: O comprometimento de antigos compartilhamentos de pkL (ou seja, antigos nós do comitê) não seria resultar no comprometimento da chave atual. As atualizações do pkL, no entanto, apresentam duas desvantagens: (1) Os dados criptografados sob pkL precisam ser criptografados novamente durante uma atualização de chave e (2) As principais atualizações precisam ser propagadas para terceiros confiáveis. Pretendemos explorar ambas as abordagens, bem como hibridizações das duas. 8.3 DON Responsabilidade Tal como acontece com as redes Chainlink oracle existentes, DONs incluirão mecanismos de responsabilização, ou seja, gravação, monitoramento e aplicação do comportamento correto do nó. DONs terão capacidade de dados muito mais substancial do que muitos blockchains sem permissão existentes, especialmente devido à sua capacidade de conexão com armazenamento descentralizado externo. Consequentemente, eles serão capazes de registrar detalhadamente o histórico de desempenho dos nós, permitindo mecanismos de responsabilização mais refinados. Por exemplo, computação fora da cadeia de os preços dos ativos podem envolver insumos que são descartados antes que um resultado mediano seja enviado cadeia. Em um DON, esses resultados intermediários poderiam ser registrados. O mau comportamento ou falhas de desempenho de nós individuais em um DON podem, portanto, ser remediados ou penalizados em o DON de uma forma refinada. Além disso, discutimos abordagens para construir grades de proteção na Seção 7.3 que abordam o impacto específico do contrato de falhas sistêmicas. Contudo, também é importante ter mecanismos à prova de falhas para os próprios DONs, ou seja, proteções contra falhas DON sistêmicas e potencialmente catastróficas, especificamente falhas de bifurcação/equivocação e acordo de nível de serviço (SLA), como explicamos agora. Bifurcação / equívoco: Dado um número suficiente de nós defeituosos, um DON pode bifurcar ou equívoco, produzindo dois blocos ou sequências de blocos distintos e inconsistentes em L. Entretanto, como um DON assina digitalmente o conteúdo de L, é possível aproveitar um cadeia principal MAINCHAIN para prevenir e/ou penalizar equívocos. O DON pode verificar periodicamente o estado de L em um contrato de auditoria no MAINCHAIN. Se o seu estado futuro se desviar de um estado de checkpoint, um usuário/auditor poderá apresentar prova deste mau comportamento ao contrato de auditoria. Tal prova pode ser usada para gerar um alerta ou penalizar os nós DON por meio de cortes no contrato. Esta última abordagem introduz um problema de design de incentivo semelhante ao de feeds oracle específicos e pode se basear nosso trabalho descrito na Seção 9.Aplicação de acordos de nível de serviço: Embora DONs não sejam necessariamente destinados a executados indefinidamente, é importante que eles cumpram os acordos de nível de serviço (SLAs) com seus usuários. A aplicação básica do SLA é possível em uma cadeia principal. Por exemplo, Os nós DON podem se comprometer a manter o DON até uma determinada data ou a fornecer aviso prévio de rescisão do serviço (por exemplo, aviso prévio de três meses). Um contrato em MAINCHAIN pode fornecer aplicação básica de SLA criptoeconômico. Por exemplo, o contrato SLA pode reduzir os fundos depositados em DON se os pontos de verificação forem não fornecido nos intervalos exigidos. Um usuário pode depositar fundos e desafiar o DON para provar que um ponto de verificação representa corretamente uma sequência de blocos válidos (de uma maneira análogo a, por ex. [141]). É claro que a produção de blocos não significa transação processamento, mas o contrato SLA também pode servir para fazer cumprir este último. Por exemplo, em a versão compatível com legado do FSS, na qual as transações são buscadas no mempool (consulte a Seção 5.2), as transações são eventualmente extraídas e colocadas na cadeia. Um usuário pode provar DON prevaricação fornecendo ao contrato SLA uma transação que foi extraído, mas não foi transmitido pelo DON para processamento pelo contrato alvo dentro do intervalo de tempo apropriado.15 Também é possível provar a existência e penalizar SLAs mais refinados. falhas, incluindo erros na computação usando executáveis (através, por exemplo, dos mecanismos para provar transações estaduais fora da cadeia corretas descritas na Seção 6.3) ou falha na execução executáveis baseados em iniciadores visíveis em um DON, falha na retransmissão de dados em DON para MAINCHAIN em tempo hábil e assim por diante.

経済学と暗号経済学

Chainlink ネットワークが分散信頼モデル内で強力なセキュリティを実現するには、 ノードが集合的に正しい動作を示すことが重要です。つまり、ノードが遵守していることを意味します。 ほとんどの場合、正確に DON プロトコルに準拠します。このセクションでは、アプローチについて説明します 経済的インセンティブ、別名暗号経済によってそのような行為の強制を支援すること インセンティブ。 これらのインセンティブは、明示的と暗黙的、実現化の 2 つのカテゴリに分類されます。 それぞれ staking および将来の手数料機会 (FFO) を通じて。 ステーキング: Chainlink でのステーキングには、他の blockchain システムと同様に、ネットワーク参加者、つまり oracle ノードが関与し、ロックされた資金を LINK token の形式で預け入れます。これら ファンド(ステークまたは明示的ステークとも呼ばれます)は、明示的なインセンティブです。彼らは ノードの障害または不正行為により、権利が剥奪される可能性があります。 blockchain のコンテキストでは、 この手順は、多くの場合、スラッシュと呼ばれます。 ただし、Chainlink の oracle ノードによるステーキングは、staking とは根本的に異なります。 validators による、権限のない blockchains です。バリデーターは、トランザクションを曖昧にしたり、敵対的に順序付けたりすることで不正行為を行う可能性があります。 基礎となるコンセンサスプロトコル 15ユーザーはメモリプール内のトランザクションを置き換えることができるため、マイニングされたトランザクションと DON によって送信されたトランザクションが正しく対応するように注意する必要があります。ただし、権限のない blockchain は、厳格なブロック検証ルールと暗号化プリミティブを使用して、validator が無効なブロックを生成するのを防ぎます。対照的に、 プログラムによる保護では、不正な oracle ネットワークによる生成を防ぐことはできません。 無効なレポート。その理由は、2 つのタイプのシステム間の重要な違いです。blockchains のトランザクション検証は内部一貫性の特性であるのに対し、正確性は内部一貫性の特性です。 blockchain に関する oracle のレポートは、外部データ、つまりオフチェーン データのプロパティです。 私たちは、Chainlink ネットワークベースの予備的な staking メカニズムを設計しました。 外部データを利用する可能性がある oracle ノード間の対話型プロトコル上で。これ このメカニズムは、明示的な報酬を使用して、正しい行動に対する金銭的インセンティブを生み出します。 ペナルティ(斬り)。経済的な仕組みなので、ノードの発生を防ぐことができます。 攻撃者が金融リソースを使用してノードを破壊することによる破壊 賄賂。 (そのような敵対者は非常に一般的であり、例えば、協力しているノードにまで広がります。 彼らの集団的な不正行為から価値を引き出す。) 私たちが設計した Chainlink staking メカニズムには、いくつかの強力で斬新な機能が備わっています。 16 そのような主な機能は、超線形 staking 衝撃 (具体的には 2 次) です。 敵は、ノードが預けた資金を大幅に超えるリソースを持っている必要があります。 メカニズムを破壊するために。当社の staking メカニズムは、同様のシステムでこれまで考えられていたよりも強力な敵対者に対する保護も提供します。 ノードの将来の行動に条件を付けて賄賂を生み出すことができる敵。さらに、DECO などの Chainlink ツールが staking の強化にどのように役立つかについて説明します。 ノードの動作に問題がある場合に正しい判断を容易にすることで、このメカニズムを強化します。 将来の手数料機会 (FFO): 両方の PoW の許可のない blockchains そして、PoS の多様性 - 今日、暗黙的なインセンティブと呼ばれるものに大きく依存しています。これらは 明示的な報酬からではなく、誠実な行動に対する経済的インセンティブ。 プラットフォームへの参加自体から。たとえば、Bitcoin マイナー コミュニティは、信頼を損なうリスクがあるため、51% 攻撃を仕掛けることに対してインセンティブが与えられています。 Bitcoin、その価値を低下させ、その結果、彼らの集団の価値を損なう 鉱山インフラへの資本投資 [150]。 Chainlink ネットワークは、ここで言及する同様の暗黙的なインセンティブから恩恵を受けています。 将来の手数料機会 (FFO) として。強力なパフォーマンス履歴を持つ Oracle ノード、または 評判によってユーザーから料金が発生します。 oracle ノードによる不正な動作は将来を危険にさらします 手数料の支払いが発生するため、潜在的な可能性の観点からノードに機会費用のペナルティが課せられます。 ネットワークへの参加を通じて得られる収益。明示的なステークから類推すると、 FFO は、暗黙の利害関係、つまり誠実な行動に対するインセンティブの一種とみなされる場合があります。 それは、プラットフォームに対する信頼を維持するという共通の利益から生まれます。 ノードオペレーターのビジネスは、ノードオペレーターの良好なパフォーマンスと評判に依存します。 ネットワーク。このインセンティブは Chainlink ネットワークに固有のものですが、明示的には表現されていません プロトコル。 Bitcoin では、前述のようにマイニング操作の価値を維持します 16ここで説明するstakingメカニズムは、現時点では正しいレポートの配信を強制することのみを目的としています。 oracle ネットワークによる。将来的には、多くの機能が正しく実行されるように拡張する予定です。 DONs が提供するその他の機能。同様に、暗黙のステークの一形態としてみなされる可能性があります。 FFO はすでに Chainlink に存在し、ネットワークのセキュリティ保護に役立つことを強調します。 今日。 Chainlink のさらなる開発における私たちの主な貢献は、FFO などの暗黙的なインセンティブを評価するための原則に基づいた経験に基づいたアプローチです。 これを暗黙的インセンティブ フレームワーク (IIF) と呼んでいます。次のような数量を推定するには、 ノードの将来の手数料の機会に応じて、IIF は引き続き包括的な料金を活用します。 Chainlink ネットワークによって蓄積されたパフォーマンスと支払いのデータ。そのような推定 ノードのインセンティブを反映する staking システムの IIF ベースのパラメータ化が可能になります 現在のヒューリスティック モデルや静的モデルよりも高い精度で実現できます。 正しい oracle ノードに対する 2 つの主な経済的インセンティブを要約すると、 開発中の Chainlink ネットワークでの動作は次のようになります。 • ステーキング(賭け金) ああ 明示的なインセンティブ • 将来の手数料機会 (FFO) ああ 暗黙のインセンティブ これら 2 つの形式のインセンティブは補完的です。 Oracle ノードは同時に Chainlink staking プロトコルに参加し、からの継続的な収益源を享受します。 ユーザーの継続的な善良な行動から、全員が利益を得ることができます。したがって、両方のインセンティブが oracle ネットワークによって提供される暗号経済セキュリティに貢献します。さらに、 2 つのインセンティブは相互に強化したり、相互にトレードしたりすることができます。たとえば、 実績履歴も収入源もない新しいoracleオペレーターは、 誠実な行動を保証するための大量のリンクがユーザーを引き付ける そして手数料。逆に、確立された oracle オペレーターは、長くて比較的障害が少ない パフォーマンス履歴により、大規模なユーザー ベースから多額の料金が請求される可能性があるため、 暗黙のインセンティブとして FFO をより重視します。 一般に、ここで検討するアプローチは、指定された量の oracle-ネットワークを目的としています。 合理的な目的のためにChainlinkで可能な限り最大の経済的インセンティブを生み出すためのリソース エージェント、つまり財務的効用を最大化するノードは誠実に行動する必要があります。もう一つ入れて つまり、目標は、敵対者が攻撃するために必要な財務リソースを最大化することです ネットワークが正常に接続されました。 staking プロトコルを数学的に適切に定式化することにより、 私たちは、経済安全保障を定義し、また IIF を使用して、経済安全保障の強さを測定することを目指しています。 Chainlink のインセンティブをできるだけ正確に。依存契約の作成者は、 そうすれば、oracle ネットワークが条件を満たしているかどうかを強い自信を持って判断できるようになります。 必要な暗号経済セキュリティのレベル。 経済安全保障の好循環: このセクションで説明するインセンティブ、staking と FFO は、セキュリティの強化を超えた影響を及ぼします。 DON秒。彼らは、私たちが経済安全保障の好循環と呼ぶものを誘発すると約束しています。 超線形 staking の影響 (およびその他の規模の経済) により、運用効率が低下します。 DON のセキュリティが増大するにつれてコストが増加します。低コストにより、DON に追加のユーザーが集まります。追加料金の支払い。手数料支払いの増加は引き続き成長を促進します。 ネットワークを構築し、好循環を永続させます。 私たちは、経済安全保障の好循環はほんの一例にすぎないと信じています。 特に規模の経済性とネットワーク効果については、このセクションで後ほど説明します。 セクションの構成: ステーキングは、注目すべき技術的および概念的な課題を提示します。 斬新な機能を備えた機構を設計しました。したがって、ステーキングは次のようになります。 このセクションの主な焦点は次のとおりです。 この文書で紹介する staking アプローチの概要をセクション 9.1 で説明し、続いてセクション 9.2 ~ 9.5 で詳細に説明します。 IFFを紹介します セクション9.6に記載されています。 Chainlink ネットワーク インセンティブの概要をセクション 9.7 に示します。 セクション 9.8 では、私たちが提案する staking アプローチが oracle ネットワークにもたらすことができる経済安全の好循環について説明します。最後に、その他の可能性について簡単に説明します。 セクション 9.9 の Chainlink ネットワークの成長を促進する効果があります。 9.1 ステーキングの概要 ここで紹介する staking メカニズム設計には、上で述べたように、oracle ノード間の対話型プロトコルが含まれており、 外部データのレポート。ステーキングは、合理的な oracle ノードからの誠実な動作を保証することを目的としています。したがって、staking プロトコルを攻撃する敵をモデル化できます。 賄賂: 敵対者の戦略は、金銭的インセンティブを利用して oracle ノードを破壊することです。 敵対者は、改ざんに成功することで将来的に資金を得る可能性がある oracle レポートを使用して、たとえば、結果として得られた利益を破損したノードと共有することを提案します。 私たちは staking メカニズム設計において、次の 2 つの野心的な目標を同時に目指しています。 1. 強力な敵に対抗する: staking メカニズムは、 oracle ネットワークは、複雑な攻撃を行うことができる広範なクラスの敵に対して対抗します。 賄賂を提供する見込賄賂を含む、条件付き賄賂戦略 事後的に身元が判明したoracleに(例:賄賂を提供するなど) oracle は高優先度のアラート用にランダムに選択されます)。他のoracleデザインは 現実的な攻撃の全機能を持たない狭い範囲の攻撃を検討してきました。 敵対者、私たちが知る限り、私たちが導入する敵対的メカニズム ここは、広範な賄賂戦略に明示的に取り組み、その結果を示した最初の企業です。 このモデルの抵抗。私たちのモデルは、攻撃者以外のノードが (正直ではなく)経済的に合理的であり、私たちは、 通常の使用法では法外に高価だが入手可能な信頼できる情報源 意見の相違がある場合には(以下でさらに説明します)。 2. 超線形 staking 効果の達成: 私たちの目的は、合理的なエージェントで構成される oracle ネットワークがレポートを確実に実行できるようにすることです。 正直なところ、超線形の予算を持つ攻撃者の存在下でもです。ネットワーク全体によって預けられた賭け金の合計に相当します。既存の staking システムでは、 n 個のノードのそれぞれが $d を賭けると、攻撃者は要求に応じて信頼できる賄賂を発行することができます。 ノードは、わずかに高い金額の支払いと引き換えに不正な行為を行う \(d to each node, using a total budget of about \)dn。これはすでに高いハードルです 攻撃者は、次の預金を合わせた程度の流動的な予算を持っている必要があります。 ネットワーク内のすべての関係者。私たちの目標は、さらに強力な経済安全保障です。 このすでに大きなハードルよりも。私たちは最初のstakingシステムを設計することを目指しています n 単位の超線形予算で一般攻撃者のセキュリティを実現できます。 以下で説明するように、実際的な考慮事項の影響は小さくなる可能性がありますが、 私たちの予備設計では、敵対的な予算要件を超える予算が達成されます。 $dn2/2、つまり n で 2 次スケーリングし、賄賂をほとんど非現実的にする ノードが中程度の金額のみをステーキングする場合。 これら 2 つの目標を達成するには、インセンティブ設計の革新的な組み合わせが必要です そして暗号化。 重要なアイデア: 私たちの staking アプローチは、ウォッチドッグ優先度と呼ばれる考え方に基づいています。 Chainlink oracle ネットワークによって生成され、信頼するコントラクトに送信されるレポート (例えば、資産価格について)参加ノードによって提供された個々のレポートから(例えば、中央値を取ることによって)集約されます。通常はサービス レベル アグリーメント (SLA) レポートの許容偏差範囲、つまりノードのレポートがどこまで許容できるかを指定します。 集計レポートからの逸脱、および集計がどの程度まで許容されるべきか 正しいとみなされる真の値から逸脱していること。 staking システムでは、特定のレポート ラウンドで、各 oracle ノードが次のように機能します。 ウォッチドッグは、集計レポートが正しくないと思われる場合にアラートを生成します。それぞれに レポート ラウンドでは、各 oracle ノードには、公開優先度が割り当てられます。 アラート (存在する場合) が処理される順序。私たちの仕組みは報酬を目的としています これは、アラートを発生させる最も優先度の高いウォッチドッグが、 障害のあるノードの預金を没収することで得られる報酬全体。 当社の staking システム設計には 2 つの層が含まれます。最初のデフォルト層と 2 番目の層です。 バックストップ層。最初の層は oracle ネットワーク自体であり、n 個のノードのセットです。 (簡単にするために、 n は奇数であると仮定します。) 大多数のノードが誤った値を報告すると、ノードのウォッチドッグが 第 1 層には、警告を発する強い動機が与えられています。アラートが発生した場合、レポートは その後、ネットワークの決定は第 2 層にエスカレートされます。これは、ネットワーク サービス レベル アグリーメントでユーザーが指定できる、高コストで信頼性が最大のシステムです。 これは、たとえば、強力なノードのみで構成されるシステムである可能性があります。 過去の信頼性スコア、またはそれよりも oracle 秒が桁違いに多いスコア 最初の層。さらに、セクション 9.4.3 で説明したように、DECO または Town Crier はサービスを提供できます。 第 2 段階での効率的かつ最終的な判決を確保するための強力なツールとして機能します。 簡単にするために、この第 2 層システムが正しいレポートに到達すると仮定します。 値。 すべてのレポートを生成するために第 2 層に依存するだけでも魅力的に見えるかもしれませんが、 私たちの設計の利点は、そのセキュリティ特性を一貫して達成できることです。一般的なケースでは、第 2 層システムの運用コストのみを支払います。 第一層システム。 ウォッチドッグの優先順位により、次のように超線形 staking の影響が生じます。 第 1 層 oracle ネットワークが誤った結果と多数のウォッチドッグ ノードを出力します アラートが発生すると、staking インセンティブ メカニズムにより、最も優先度の高いウォッチドッグに報酬が与えられます。 (大多数の) 不正動作をしているノードのデポジットから $dn/2 を超える額が引き出されます。の したがって、報酬総額はこの 1 人の監視者の手に集中します。 敵対者が潜在的な監視者に約束しなければならない最低限の事項を決定する 警戒しないように奨励します。私たちのメカニズムでは、すべての oracle が確実に より優先度の高い番犬が賄賂を受け取った場合、番犬として行動するチャンス (そして警告しないことを選択した)、したがって、敵対者は以上の賄賂を提供する必要があります。 アラートの発生を防ぐために、すべてのノードに $dn/2 を追加します。 n 個のノードがあるため、 敵対者が賄賂を成功させるために必要な予算は、dn2/2 ドルを超えます。 は、ネットワーク内のノード数 n の二次関数です。 9.2 背景 staking に対する私たちのアプローチは、ゲーム理論とメカニズムの分野の研究に基づいています。 デザイン (MD) (教科書の参照については、[177] を参照)。ゲーム理論は数学的には 戦略的相互作用の正式な研究。この文脈では、ゲームはそのようなモデルです。 通常は現実世界において、利用可能なアクションのセットを体系化したインタラクション。 プレイヤーとして知られるゲームの参加者。ゲームでは、得られる報酬も指定されます 個々のプレイヤーによる報酬 - プレイヤーが選択したアクションと 他のプレイヤーの行動。おそらくゲームで研究されたゲームの最もよく知られた例 この理論は囚人のジレンマ [178] です。ゲーム理論家は通常、次のことを理解することを目指しています。 特定のゲームで表現される均衡 (存在する場合)。平衡というのは、 どのプレイヤーもより高いレベルを獲得できないような一連の戦略 (各プレイヤーに 1 つ) 戦略から一方的に逸脱することで利益を得る。 一方、メカニズムデザインは、次のようなインセンティブをデザインする科学です。 インタラクション (およびそれに関連するゲーム) の平衡には、望ましい特性があります。 MD はゲーム理論の逆とみなされるかもしれません: ゲームにおける標準的な質問 理論は、「インセンティブとモデルが与えられた場合、均衡はどうなるでしょうか?」というものです。 MDでは、 代わりに問題となるのは、「どのようなインセンティブがゲームに望ましい均衡をもたらすのか?」ということです。 メカニズム設計者の典型的な目標は、「インセンティブと互換性のある」メカニズムを作成することです。これは、メカニズムへの参加者 (例: オークションやその他の情報) を意味します。 引き出しシステム [228]) は、ある事柄について真実を報告するよう奨励されます (例: どのように 彼らは特定のアイテムを高く評価します)。ヴィックリー(セカンドプライス)オークションはおそらく 参加者が非公開入札を提出する、最もよく知られたインセンティブ互換メカニズム アイテムの場合、最高額入札者がアイテムを落札しますが、2 番目に高い価格を支払います [214]。クリプトエコノミクスは、暗号を利用するドメイン固有の形式の MD です。 分散システム内で望ましい均衡を生み出すための技術。 贈収賄と共謀は、MD の分野全体に重大な問題を引き起こします。ほとんどすべてのメカニズムは、側の契約として定義される共謀が存在すると機能しません。メカニズムに参加する当事者間 [125、130]。外部の関係者が新たなインセンティブをゲームに導入する贈収賄は、さらに困難な問題を引き起こします 共謀よりも。共謀はゲーム間の贈収賄の特殊なケースとみなされる可能性がある 参加者。 ブロックチェーン システムは、多くの場合、金銭 (暗号通貨ベース) の利益を伴うゲームとして概念化できます。簡単な例は、Proof-of-Work マイニングです。マイナーにはアクション スペースがあります。 ここでは、ブロックのマイニングに使用するhashレートを選択できます。マイニングの報酬は、保証されたマイナスの報酬 (電気と設備のコスト) に確率的報酬を加えたものです。 他のアクティブなマイナーの数に応じたプラスの報酬 (マイニング補助金) [106、172] および取引手数料。 SchellingCoin [68] のようなクラウドソースの oracle は別の例です。アクション スペースは、oracle が送信できる一連のレポートです。 報酬は、oracle メカニズムによって指定された報酬です。たとえば、支払いは状況に応じて異なります。 oracle のレポートが他のレポートの中央値にどの程度近いか [26、68、119、185]。 ブロックチェーン ゲームは、共謀や贈収賄攻撃の絶好の機会を提供します。確かに、 smart contracts はそのような攻撃を容易にすることさえあります [96、165]。おそらく最もよく知られているのは クラウドソーシング oracles に対する贈収賄攻撃は、p-plus-epsilon 攻撃 [67] です。この攻撃 これは、プレーヤーがブール値のレポート (つまり、偽または真) を送信し、同意した場合に p が与えられるというシェリングコインのようなメカニズムのコンテキストで発生します。 過半数の提出。 p プラス イプシロン攻撃では、攻撃者は確実に次のことを約束します。 たとえば、過半数の提出が正しい場合にのみ、偽の投票に対してユーザーに $p + ϵ を支払います。 その結果、すべてのプレイヤーが虚偽の報告をするよう動機づけられる均衡が生まれます。 他のプレイヤーが何をしているかに関係なく。その結果、賄賂はノードを誘導することができます。 実際に賄賂を支払わずに虚偽の報告をするという約束の賄賂によって(!)。 ただし、oracle、特にクラウドソーシングではない oracle に関連した他の賄賂戦略の検討は、かなり弱い敵対者に限定されています。 モデル。たとえば、PoW 環境では、研究者は結果に応じた条件を研究しました。 賄賂、つまり、対象メッセージが検閲に成功し、検閲されなかった場合にのみ支払われる賄賂。 個々のマイナーのアクションに関係なく、ブロック内に表示されます [96、165]。場合によっては ただし、p-plus-epsilon 攻撃以外では、oracle 件の攻撃のみが認識されています。 賄賂を受け取る者が条件付きで賄賂を送るという、厳密に限定された贈収賄モデル。 結果としての結果ではなく、個々のプレイヤーの行動です。 ここでは、インセンティブを維持する情報引き出しメカニズムの設計をスケッチします。 次のサブセクションで説明するように、強力な敵対的モデルでも互換性があります。 9.3 モデリングの仮定 このサブセクションでは、プレイヤーの行動と能力をモデル化する方法について説明します。 私たちのシステム、特に第 1 層 oracle ノード、第 2 層のノード (判定) レイヤーと敵。9.3.1 第一層インセンティブ モデル: 合理的なアクター 多くの blockchain システムは、ある程度の正直者を前提としたセキュリティに依存しています。 参加ノード。ノードは、たとえプロトコルに従った場合でも正直であると定義されます。 そうすることが経済的利益にならない場合。 Proof-of-Work システムは通常、 正直に言うとhashのパワーの大部分が必要ですが、プルーフ・オブ・ステーク・システムでは通常、正直に参加するすべてのステークの2/3以上が必要です。また、次のようなレイヤー2システムでさえも必要です。 仲裁 [141] には、少なくとも 1 人の誠実な参加者が必要です。 staking メカニズムのモデル化では、はるかに弱い仮定を立てます。 (なるように 明確で弱い仮定は、より強力なセキュリティ特性を意味するため、推奨されます。) 敵対者が一部 (少数派) のコントロールを破損していると仮定します。 第 1 層 oracle ノードの一部。残りのノードは正直なエージェントとしてモデル化されません。 しかし、合理的な期待効用最大化手段として。これらのノードは完全に利己的な金銭的インセンティブに従って動作し、期待される金銭的利益をもたらすアクションを選択します。 利益を得る。たとえば、ノードが報酬よりも多額の賄賂を提供された場合、 正直な行動をすれば、賄賂を受け取ります。 敵対的ノードに関する注意: 共通の信頼モデリングに従って、 分散型システムでは、すべてのノードが合理的である、つまり、ノードを最大化しようとしていると仮定します。 悪意のある敵によって制御されるのではなく、純収益が向上します。しかし、私たちの主張は— 特に超線形または二次 staking 衝撃 - 漸近的に提供されるホールド 敵対的に制御されるノードのセットは最大でも (1/2 −c)n であること (肯定的な場合) 定数 c. 9.3.2 第 2 段階の裁定モデル: 仮定による正しさ セキュリティの実現に役立つ staking メカニズムの重要な機能を思い出してください。 合理的なノードに対するのは、その 2 層目のシステムです。 私たちが提案する staking メカニズムでは、oracle は次のことを示すアラートを生成する可能性があります。 メカニズムの出力が正しくないと考えられます。アラートにより高い信頼が得られます 第 2 層システムがアクティブ化され、正しい結果が報告されます。したがって、主要なモデリングは 私たちのアプローチの要件は、正しい判決、つまり、政府による正しい報告です。 第二層システム。 私たちの staking モデルは、腐敗せず、信頼性が最も高い信頼性の高い情報源として機能する第 2 層システムを前提としています。このようなシステムは高価で時間がかかる可能性が高いため、 一般的なケースでの使用には不適切です。ただし、均衡の場合、つまり、 第 1 層システムが正しく機能する場合、第 2 層システムは呼び出されません。 代わりに、その存在により、oracle システム全体のセキュリティが強化されます。 信頼性の高いバックストップ。 高信頼で高コストの裁定レイヤーの使用は、控訴プロセスに似ています ほとんどの司法制度の中心です。 oracle のデザインでもすでに一般的になっています。 システム、例: [119, 185]。第 2 層の実現へのアプローチについて簡単に説明します セクション9.4.3のメカニズムに記載されています。私たちの staking プロトコルは、第 2 層システムの想定される正しい判定を信頼できる脅威として使用し、oracle ノードによる正しいレポートを強制します。プロトコル によって識別されるレポートを生成する oracle ノードのステークの一部またはすべてを没収します。 第 2 層システムは正しくありません。これにより、Oracle ノードの誤動作が防止されます。 その結果生じる経済的ペナルティによって。このアプローチは、で使用されているものと風味が似ています。 楽観的な rollup、例: [141, 10]。 9.3.3 敵対的モデル 当社の staking メカニズムは、広範で明確に定義されたクラスの敵に対するセキュリティを実現しながら、真実の情報を引き出すように設計されています。以前の作品を改良しており、 これは、明示的な敵対的モデルを省略するか、敵対者の狭いサブクラス、たとえば、上で説明した p-plus-epsilon 敵対者に焦点を当てるかのいずれかです。私たちの目標は、staking を設計することです。 あらゆる種類の敵に対して正式に証明されたセキュリティを備えたメカニズム 実際に遭遇することになる。 私たちは、敵を固定の (パラメータ化可能な) 予算を持つものとしてモデル化します。 $B.攻撃者は、各 oracle と個別かつ機密に通信できます。 ネットワークを介して、個人oracleに秘密裏に賄賂の支払いを提供することができます。 メカニズムの公的に観察可能な結果次第です。結果を決定する 賄賂には、たとえば、oracle によって報告された金額や、あらゆる公開メッセージが含まれる場合があります。 任意の oracle によってメカニズムに送信され (アラートなど)、他のメカニズムによって報告された値 oracles、およびメカニズムによって出力された値。 無制限の機能を持つ攻撃者に対して安全を確保できるメカニズムはありません。したがって、一部の動作は非現実的または範囲外であると考えられます。攻撃者を想定します 標準の暗号化プリミティブを破ることはできず、上で述べたように、修正された暗号化プリミティブがあります ( 大規模になる可能性があります) 予算 B ドル。さらに、敵が制御していないと仮定します。 oracle ネットワーク内の通信、具体的には実質的に遅延できないこと 第 1 層ノードおよび/または第 2 層ノード間のトラフィック。 (攻撃者がそのような通信を観察できるかどうかは、以下で説明するように、特定のメカニズムによって異なります。) ただし、非公式ではありますが、上で述べたように、敵対者は次の可能性があると想定しています。(1) 腐敗 oracle ノードの一部 (定数 c の (1/2 −c) の一部)、つまり完全制御 (2) 支払いを保証して、希望するノードに賄賂を提供する 上で説明したように、敵対者によって指定された結果に基づいて。 私たちは敵対者の完全な正式なモデルや完全な分類を提供していませんが、 このホワイトペーパーではさまざまな賄賂権限について説明していますが、ここでは賄賂の種類の例を示します。 私たちのモデルには賄賂が含まれます。簡単にするために、oracles がブール値を出力すると仮定します。 正しい値 (w.l.o.g.) が true であり、最終結果が次のように計算されることをレポートします。 smart contract を使用するユーザーによって使用されるこれらのレポートの集合体。賄賂の 目的は、最終結果が不正確、つまり偽になることです。 • 無条件の賄賂: 賄賂は虚偽の報告をした oracle に $b の賄賂を提供します。 • 確率的賄賂: 賄賂は、oracle に対して、一定の確率 q で $b の賄賂を提供します。 それは虚偽の報告をします。• 虚偽の結果を条件とする賄賂: 賄賂は、最終結果が虚偽であることを条件として、虚偽を報告した oracle に $b の賄賂を提供します。 • 警戒条件なしの賄賂: 賄賂は報告するoracleに$bの賄賂を提供します。 アラートが発生しない限り false。 • p-plus-epsilon 賄賂: 賄賂は、虚偽の報告をした oracle に $b の賄賂を提供します。 oracle の大部分が false を報告しない限り。 • 賄賂候補者: 賄賂は、oracle が選択された方に前払いで $b の賄賂を提供します。 ランダム化された役割に対しては false が報告されます。私たちが提案する staking プロトコルでは、すべて ノードは潜在的なウォッチドッグとして機能し、ランダム化を示すことができます。 監視機関の優先事項は、贈収賄の可能性には適さない。多くのproof-of-work、proof-of-stake、および許可されたシステムは、将来の悪影響を受けやすいです。 しかし、贈収賄については、敵対関係においてそれを考慮することの重要性を示しています。 モデルを作成し、staking プロトコルがモデルに対して復元力があることを確認します。付録 E を参照 詳細については。 9.3.4 どれくらいの暗号経済セキュリティがあれば十分ですか? 合理的な攻撃者は、利益が得られる場合にのみ、システムを攻撃するために資金を費やします。 その支出よりも大きい。 したがって、敵対的モデルと提案された staking については、 このメカニズムでは、$B は敵対者が獲得できる潜在的な利益の尺度としてみなされる可能性があります。 oracle ネットワークを破損し、それを引き起こすことで、依存する smart contracts から抽出する 間違ったレポートまたはレポートのセットを生成するため。 oracle ネットワークかどうかを決定する際 目的に応じて十分な程度の暗号経済的セキュリティを提供するため、ユーザーは次のことを行う必要があります。 この観点からネットワークを評価してください。 実際の設定におけるもっともらしい敵対者の場合、$B は一般に次のようになることが予想されます。 smart contracts に依存する総資産よりも大幅に小さい。ほとんどの場合、それは 攻撃者がこれらの資産全体を抽出することは不可能です。 9.4 ステーキングメカニズム: スケッチ ここでは、staking メカニズムの主なアイデアと一般的な構造を示します。 現在検討中です。 プレゼンテーションを容易にするために、単純だが遅いものについて説明します。 (マルチラウンド) プロトコルについては、このサブセクションで説明します。ただし、この計画は非常に危険であることに注意してください。 実用的。このメカニズムによって提供される経済的保証、つまり障害のあるノードに対するペナルティとその結果としてのインセンティブを考慮すると、多くのユーザーは喜んでそうするかもしれません。 報告を楽観的に受け入れます。言い換えれば、そのようなユーザーは、事前にレポートを受け入れることができます。 第二段階による裁定の可能性。 レポートを楽観的に受け入れたくないユーザーは、プロトコルが確立されるまで待つことを選択できます。 実行は、つまり、第 2 層への潜在的なエスカレーションが発生するまで終了します。これ、 ただし、レポートの確認時間が大幅に遅くなる可能性があります。したがって、簡単に説明します図 15: アラートを備えた staking スキームの回路図。この例では、1⃝過半数 のノードが破損または賄賂を受けており、正しい値ではなく誤った値 ˜r を発行しています レポート値 r。ウォッチドッグ ノード 2⃝ は第 2 層委員会にアラートを送信します。 3⃝正しいレポート値 r を決定して出力するため、ノードが破損します。 デポジットは没収され、各 $d がウォッチドッグ ノード 4⃝ に送られます。 多少なりとも高速化 (シングルラウンド) をもたらすいくつかの最適化の概要を説明します。 セクション 9.5 の複雑な設計。 staking メカニズムの最初の層は、基本的な oracle で構成されていることを思い出してください。 ネットワークそのもの。 上で説明したように、私たちのメカニズムの主な構造は、各ラウンドで、 各ノードは、ある程度の優先順位を持って「ウォッチドッグ」として機能することができるため、次のような機能を備えています。 メカニズムが正しい出力ではなく、誤った出力 ˜r に到達した場合にアラートを生成します。 1r。このアラートにより、第 2 層の解決が引き起こされ、正しい解決策が得られると想定されます。 報告する。不正確なレポートを持つノードは、その賭け金が報われるという意味で罰せられます。 切り取られ、監視員に授与された。この基本構造は oracle システムに共通です。 例: [119, 185]。 上で簡単に述べたように、私たちの設計における重要な革新は、すべてのノードが 潜在的なウォッチドッグの順序付けにおいて明確な優先順位が割り当てられます。つまり番犬 優先順位に従って警告する機会が与えられます。ノードに 警告を発することが最優先であり、あらゆる不正行為に対して減額されたデポジット $d が受け取られます。 合計が \(dn/2 = \)d × n/2 を超えるノード。正しくないレポートは、 不良ノードの大部分。したがって、敵は少なくともこの報酬を支払わなければなりません。 任意のノードに賄賂を渡す。したがって、大多数のノードに賄賂を渡すには、敵は報酬を支払わなければなりません。 大多数のノード、つまり厳密には $dn2/2 以上への多額の賄賂。 図 15 に、アラートとウォッチドッグのエスカレーションがどのように機能するかを概略的に示します。9.4.1 メカニズムの詳細 ここでさらに詳しく説明する贈収賄防止システムは、 私たちが建設しようとしている二層構造。私たちの焦点のほとんどは説明にあります 第 1 層ネットワーク (以下、文脈から明らかでない場合は単に「ネットワーク」とします) インセンティブ メカニズムと第 2 段階へのエスカレーション手順を備えています。 以下を担当する n 個の oracle ノードで構成される Chainlink ネットワークを考えてみましょう。 定期的に (例: 1 分に 1 回) ブール値を報告します (例: 市場が BTC の時価総額は ETH の時価総額を上回ります)。 staking メカニズムの一部として、ノード 2 つのデポジットを提供する必要があります: デポジット $d は、意見の相違があった場合には減額される可能性があります。 過半数と監視機関が$dwを預金し、欠陥があった場合には削減の対象となる エスカレーション。ノードは他のノードの送信をコピーできないと仮定します。 セクション 5.3 で説明した commit-reveal スキームを通じて。各ラウンドでは、まずノードが レポートにコミットし、すべてのノードがコミットしたら (またはタイムアウトが経過したら)、 ノードはレポートを公開します。 生成される各レポートについて、すべてのノードにはランダムに選択された 1 から n までのウォッチドッグ優先順位も与えられます。1 が最優先です。この優先順位により、 報酬が 1 人の監視者の手に集中する。すべてのレポートが公開された後、 警告フェーズが続きます。一連の n (同期) ラウンドにわたって、ノードは 優先度 i にはラウンド i で警告する機会があります。 ノードが明らかになった後、メカニズムで考えられる結果を考えてみましょう。 彼らのレポート。ここでもバイナリ レポートを想定し、正しい値が true であると仮定します。 間違っているものは偽です。また、第 1 層メカニズムが次を出力すると仮定します。 最終レポートとしてノードによって出力される多数決値 r。 このメカニズムでは、次の 3 つの結果が考えられます。 • 完全な一致: 最良の場合、ノードは完全に一致しています: すべてのノード が利用可能であり、同じ値 r (true のいずれか) のタイムリーなレポートを提供しています。 または偽)。この場合、ネットワークは r を信頼するコントラクトに転送するだけで済みます。 そして、各ノードにラウンドごとの固定支払い $p を報酬として与えますが、これははるかに少額です $dよりも。 • 部分一致: 一部のノードがオフラインであるか、どの値が正しいかについて意見が一致していない可能性がありますが、ほとんどのノードは true を報告し、 少数派が虚偽の報告をしている。このケースも単純明快です。過半数の値 (true) が計算され、正しいレポート r が生成されます。 r を報告したすべてのノードは、 誤って報告したoracleがデポジットを持っている間、報酬として$pが与えられます たとえば10ペンスなど、控えめに値下げされました。 • アラート: ウォッチドッグがネットワークの出力が正しくないと判断した場合、 これにより、アラートが公にトリガーされ、メカニズムが第 2 層ネットワークにエスカレートされます。 その場合、考えられる結果は 2 つあります。 – 正しいアラート: 第 2 層ネットワークが、図 16: 集中的な警告報酬による賄賂のコストの増大。賄賂 敵は、警告を発することで得られる報酬以上の報酬を各ノードに賄賂として贈らなければなりません。 (赤いバーで表示)。アラート報酬が共有される場合、この報酬は相対的に高くなります。 小さい。集中アラート報酬により、単一ノードが獲得できる報酬が増加します。 (赤い長いバー) を取得します。したがって、実行可能な賄賂に対する敵対者による支払総額は、 (灰色の領域) は、アラート報酬が共有よりも集中しているため、はるかに大きくなります。 第 1 層ネットワークが間違っていたため、警告を発したウォッチドッグ ノードが報酬を受け取ります すべての削減された預金で構成されるため、$dn/2 を超えます。 – 障害アラート: 第 2 層と第 1 層の oracle が同意した場合、エスカレーションは次のようになります。 故障とみなされ、警告ノードは $dw デポジットを失います。 レポートを楽観的に受け入れた場合、ウォッチドッグ アラートは発生しません。 依存契約の実行における変更。待つことを目的とした契約の場合 第二層委員会による仲裁の可能性、監視機関の警報は遅れるが、 契約の実行を凍結しないでください。契約書で指定することも可能です 判定期間中のフェイルオーバー DON。 9.4.2 二次ステーキングの影響 厳密なノード優先順位と組み合わせて、すべてのノードがウォッチドッグとして機能する機能 集中的な報酬を確保し、二次関数を達成するメカニズムを有効にします staking セクション9.3.3で説明されている各種の賄賂攻撃者への影響。これを思い出してください これは、特に私たちの設定において、それぞれがデポジットを持つ n 個のノードを持つネットワークの場合を意味します。 $d、成功した賄賂 (上記の種類のいずれか) は、 $dn2/2。 正確に言うと、賄賂は少なくとも (n+1)/2 ノードを破壊する必要があります。 n 個のノードの大部分が破損します (奇数 n の場合、仮定により)。したがって、ウォッチドッグは次のことを行います。 $d(n + 1)/2 の報酬を獲得します。したがって、賄賂はこの金額をすべての者に支払わなければなりません。node to ensure that none acts as a watchdog. We are working to show formally that if 賄賂の予算は最大 $d(n2 + n)/2 であり、サブゲームは完全な均衡になります。 賄賂者とoraclesの間のゲーム、言い換えれば、均衡 ゲームのプレイ中のどの時点でも、賄賂を受け取る側は賄賂を発行しません。 それぞれの oracle は、その真の値を正直に報告します。 上で、賄賂を成功させるためにどのようにして贈賄が要求される可能性があるかを説明しました。 ノードのデポジットの合計よりも大幅に大きい予算。これを説明すると 直感的な結果として、図 16 は集中アラート報酬の影響をグラフで示しています。 そこに見られるように、監視機関の警告に対する報酬、つまり賄賂の預金があった場合、 false を報告するノード) - すべての潜在的なアラートに分割され、合計量は 個々のアラート ノードは比較的小さいと予想されます。 $d。 賄賂は、d ドルを超える支払いがありそうもないことを知っていて、次のような手段を講じることができます。 n ノードのそれぞれに、 $d + ϵ。 直観に反しますが、図 16 は、報酬を広範囲に分配するシステムを示しています。 アラートを通知するノード間では、報酬を集中させるノードよりもはるかに弱いです。 the hands of a single watchdog. パラメータの例: 各ノードが n = 100 個ある (第 1 層) ネットワークを考えてみましょう。 depositing \(d = \)20K.このネットワークには合計 200 万ドルが入金されることになりますが、 予算\(100M = \)dn2/2の賄賂から保護されます。数を増やす もちろん、oracles は $d を増やすより効果的であり、劇的な効果が得られる可能性があります。 n = 300 ノードと \(d = \)20K のデポジットを持つネットワークは、 briber with budget up to $900M. staking システムは多くの場合、次の smart contract を保護できることに注意してください。 提供されている贈収賄防止レベルよりも価値のあるもの。 This is because an adversary これらの契約を攻撃しても、多くの場合、最大限の価値を引き出すことはできません。たとえば、 Chainlink を利用した契約で 10 億ドルの価値を確保するには、 そのような敵は利益を引き出すことができるため、1億ドルの資金を賄賂に渡す of only 10% of the value of the contract. 注: ネットワークの価値は二次関数的に増加する可能性があるという考えは、次のように表現されます。 よく知られているメトカーフの法則 [167, 235] では、ネットワークの価値は次のように述べられています。 接続されたエンティティの数は二次関数的に増加します。 Metcalfe’s Law, however, これは、潜在的なペアワイズ ネットワーク接続の数の増加から生じます。これは、インセンティブにおける 2 次 staking の基礎となる影響とは異なる現象です。 仕組み。 9.4.3 Realization of Second Tier 2 つの運用上の特徴により、高信頼性の 2 層目の実現が容易になります。 (1) oracle ネットワークでは第 2 層の裁定はまれなイベントであるはずなので、 第 1 層の通常の運用よりも大幅にコストがかかること、および (2)楽観的に受け入れられた報告書、または仲裁を待って実行できる契約書など 2 番目の層はリアルタイムで実行する必要はありません。 これらの機能により、さまざまな結果が得られます。 特定の DON の要件を満たすための 2 番目の層の構成オプション。 アプローチの例として、第 2 層委員会は、委員会によって選択されたノードで構成できます。 Chainlink 内で最も長くサービスを提供し、最も信頼性の高いノードからの DON (つまり、第 1 層) ネットワーク。オペレータは、相当な運用経験に加えて、 このようなノードの多くは、FFO に、欲望を動機付ける暗黙のインセンティブをかなり持っています。 Chainlink ネットワークの信頼性を高く保つため。彼らはまた、公に 信頼性の透明性を提供する利用可能なパフォーマンス履歴。注目に値するのは、第 2 層ノードは第 1 層ネットワークの参加者である必要はなく、 複数の第 1 層ネットワークにわたる障害を判断する場合があります。 特定の DON 内のノードは、そのような n ' 個のセットを事前に指定し、公にコミットできます。 DON の第 2 層委員会を構成するノード。さらに、DON ノードは、第 2 層の投票数を決定するパラメーター k' ≤n' を公開します。 第 1 層ノードにペナルティを与えるために必要です。特定のレポートに対してアラートが生成されると、 第 2 層のメンバーは、それぞれが提供する値の正しさに投票します。 第 1 層ノードの。 k' 個の否定票を受け取った第 1 層ノードはその権利を失います。 ウォッチドッグノードにデポジットします。 判決が下されることは稀であり、執行時間が延長される可能性があるため 前述したように、第 1 層とは対照的に、第 2 層のノードは次のことができます。 1. 裁判を行うことで高額の報酬を得る。 2. 最初の企業が使用する多様なセットを超えた追加のデータ ソースを利用します。 3. 手動および/または専門家の検査と介入に頼って、たとえば、特定および ソースデータのエラーを調整し、中継している誠実なノードを区別します。 欠陥のあるデータと誤動作するノード。 二次ノードの選択と判定を管理するポリシーについて説明したアプローチは、大きな枠組みの中の 1 点にすぎないことを強調します。 第 2 層の実現可能な設計空間。当社のインセンティブメカニズムが提供するもの 第 2 層の実現方法に関する完全な柔軟性。したがって、個々のDONは 特定の要件を満たす第 2 層のルールを構成および設定する 参加ノードとユーザーの期待。 判定ツールとしての DECO と Town Crier: 2層目では必須ですね 私たちのメカニズムでは、敵対的な第 1 層ノードを区別できるようになります。 意図的に誤ったレポートと、意図せずに正直な第 1 層ノードを作成する 送信元で不正なデータを中継します。そうして初めて第 2 層が実装できるようになります 私たちのメカニズムの目標である不正行為を阻止するためにスラッシュを行うことです。 DECOとタウンクライヤー は、第 2 層ノードがこの重要な区別を行えるようにする強力なツールです。 確実に。場合によっては、第 2 層ノードは使用されるデータ ソースを直接クエリできる場合があります。 第 1 層ノードによって実行するか、ADO セクション 7.1 を使用して、レポートが正しくないかどうかを確認します。 データ ソースの欠陥が原因です。ただし、他の場合には、第 2 層ノードに不足している可能性があります。 第 1 層ノードのデータ ソースへの直接アクセス。このような場合、正しい判決が下されると、 実行不可能であるか、主観的な判断に頼る必要があるように見えます。前 oracle 紛争システムは、このような問題に対処するために、非効率でエスカレートする投票ラウンドに依存してきました。 課題。 ただし、DECO または Town Crier を使用すると、第 1 層ノードが正しい動作を証明できます。 第 2 層ノードに。 (2 つのシステムの詳細については、セクション 3.6.2 を参照してください。)具体的には、 第 2 層ノードは、第 1 層ノードが欠陥のあるレポート値 ˜r を出力したと識別し、 第 1 層ノードは DECO または Town Crier を使用して改ざん防止の証拠を生成できます。 第 2 層ノードは、(TLS 対応の) ソースから正しく中継されているかどうかを確認します。 DON によって権威あるものとして認識されています。重要なのは、第 1 層ノードがこれを実行できることです。 データ ソースへの直接アクセスを必要とする第 2 層ノードは必要ありません。17 その結果、 Chainlink では、任意のデータ ソースに対して正しい判断が可能です。 9.4.4 保険の虚偽報告 当社のstakingメカニズムによって達成される強力な贈収賄防止は、根本的に依存しています 警告者に与えられる資金の削減について。金銭的な報酬がなければ、警告者は 賄賂を拒否する直接的な動機はありません。しかし、その結果、削減された資金は 誤った報告によって被害を受けたユーザー(金銭を失ったユーザーなど)を補償するために利用可能 誤った価格データが smart contract に中継された場合。 仮定として、レポートが承認された場合、間違ったレポートは問題を引き起こしません。 潜在的な裁定、つまり第 2 層による措置の後にのみ契約を締結します。説明どおり ただし、可能な限り最高のパフォーマンスを達成するために、契約では代わりに上記に依存する場合があります。 正しい報告を強制するメカニズムについて楽観的に考えており、これは受け入れられることを意味します。 潜在的な第二段階の裁定の前に報告する。 確かに、そのような楽観的な行動は、 予算が上限を超えない合理的な敵を想定したモデルでは安全です。 staking メカニズムの影響。 ユーザーは、機構の故障というありえない事態を懸念しており、 たとえば、圧倒的な資金力を持つ敵対者は、保険の虚偽報告という形で経済的安全の追加層を採用したいと考えるかもしれません。私たちは知っています 複数の保険会社がすでにこの種のスマートコントラクトに裏付けられた保険を提供するつもりです Chainlink で保護されたプロトコルは、DAO (例: [7]) などの革新的なメカニズムを通じて、近い将来実現されます。 Chainlink のパフォーマンス履歴の存在 ノードおよびそのステーク額などのノードに関するその他のデータは、保険数理によるリスク評価の非常に強力な基礎を提供し、保険契約の価格設定を可能にします。 保険契約者にとっては安価でありながら、保険会社にとっては持続可能な方法で。 17Town Crier を使用すると、第 1 層ノードがローカルで証明書を生成することも可能になります 出力されたレポートの正確性を検証し、これらの証明書を第 2 層ノードに提供します。 必要に応じてベース。誤報保険の基本的な形式は、信頼できる方法で実装できます。 smart contracts を使用した効率的な方法。簡単な例として、パラメトリック保険 当社のインセンティブメカニズムが有効であれば、契約SCinsは保険契約者に自動的に補償することができます。 2 番目の層は、1 番目の層で生成されたレポートのエラーを特定します。 保険契約を希望するユーザ U、例えばターゲットの作成者 契約 SC は、分散型保険会社に保険金額のリクエストを送信できます 契約は百万ドル。 U を承認すると、保険会社は継続的な (例: 毎月) を設定できます。 SCins で $P のプレミアム。 U が保険料を支払っている間、彼女の保険は有効のままです。 SC でレポートの失敗が発生した場合、結果としてペア (r1、r2) が出力されます。 SC の競合するレポート。ここで、r1 はメカニズムの最初の層によって署名されており、 r2 (対応する修正レポート) は、第 2 層によって署名されます。 U が提供する場合 このような有効なペア (r1、r2) を SCins に指定すると、契約により自動的に $M が彼女に支払われます。 彼女の保険料の支払いは最新のものです。 9.5 シングルラウンドのバリエーション 前のサブセクションで説明したプロトコルでは、第 2 層委員会は、ウォッチドッグが警告を発したかどうかを判断するために n ラウンド待機する必要があります。 これ この要件は、楽観的なケース、つまり最初の層が機能している場合でも当てはまります。 正しく。レポートを楽観的に受け入れたくないユーザー、つまり潜在的な可能性が生じる前に 判決が下されると、そのアプローチに伴う遅延は実行不可能になります。 このため、私たちは 1 つだけを必要とする代替プロトコルも検討しています。 丸い。このアプローチでは、すべての oracle ノードが、次のいずれかを示す秘密ビットを送信します。 彼らは警告を発したいと考えています。次に、第 2 層委員会がこれらの値をチェックします。 優先順位。大まかなスケッチを提供するには、このようなスキームには次のものが含まれる可能性があります。 手順: 1. ウォッチドッグ ビットの送信: 各ノードは 1 ビットのウォッチドッグ値を秘密共有します。 生成されるレポートごとに、第 2 層のノード間で wi ∈{アラートなし、アラート} が発生します。 2. 匿名ヒント: 任意の oracle ノードは、ウォッチドッグ ビットが送信されるのと同じラウンドで、匿名のヒント α を第 2 層委員会に送信できます。このヒントα 現在のレポートに対してアラートが発生したことを示すメッセージです。 3. ウォッチドッグ ビット チェック: 第 2 層委員会は oracle ノードのウォッチドッグを明らかにします ビットを優先順位順に並べます。 ノードは、アラートを出さないときはアラート ウォッチドッグ ビットを送信してはならないことに注意してください。そうしないと、トラフィック分析によってすべてのノードのビットが明らかになります。プロトコルはアラートなしを明らかにします 最も優先順位の高いアラート ウォッチドッグよりも高い優先順位を持つノードのウォッチドッグ ビット。 明らかになったものは、n ラウンド プロトコルのものと同じであることに注目してください。報酬もそのスキーム、つまり最初に特定されたウォッチドッグと同様に分配されます。 は、誤ったレポートを提出したノードの削減されたデポジットを受け取ります。匿名のヒントを使用すると、警告が発せられていない場合でも第 2 層委員会は非対話型のままとなり、コミュニケーションの複雑さが軽減されます。 一般的なケースでは。警告を発する監視機関には、匿名のヒントを提出する経済的インセンティブがあることに注意してください。ヒントが提出されない場合、報酬は支払われません。 ノード。 匿名の情報αの送信者Oiが特定できないようにするため。 ネットワーク データに基づいて敵対者に匿名の情報を送信することができます。 たとえば、Tor 経由、またはより現実的には、クラウド サービス プロバイダー経由でプロキシされたチャネルです。へ チップが O から発信されたものであると認証すると、Oi はリング署名を使用して α に署名できます [39、192]。 あるいは、悪意のある oracle ノードによる第 2 層委員会に対する原因不明のサービス拒否攻撃を防ぐために、α を匿名の資格情報にすることもできます。 取り消し可能な匿名性 [73]。 このプロトコルは、実際には実現可能ですが、やや重いエンジニアリングを必要とします。 要件(これを削減する方法を検討中です)。たとえば、第 1 層ノードは次のようになります。 第 2 層ノードと直接通信する必要があるため、ディレクトリのメンテナンスが必要になります。匿名チャネルとリング署名の必要性によりエンジニアリングが増加します スキームの複雑さ。最後に、特別な信頼要件について簡単に説明します。 以下のメモにあります。したがって、私たちは、依然として達成できるより単純なスキームも模索しています。 超線形 staking の影響はありますが、おそらく 2 次よりは小さいでしょう。たとえば、賄賂が漸近的に少なくとも $n log n のリソースを必要とする場合です。以下のスキームの一部 考慮事項には、ウォッチドッグとして機能するノードの厳密なサブセットのランダムな選択が含まれます。 この場合、将来的な贈収賄は特に強力な攻撃となります。 備考: この単一ラウンド staking メカニズムのセキュリティには、利用できないことが必要です oracle と第 2 層ノード間のチャネル - 投票 [82、138] などの耐強制性システムの標準要件であり、実際には合理的な要件です。 ただし、さらに、賄賂と協力しようとするノード Oi は、 特定の暗号化を行ったことを賄賂に示すような方法で秘密共有を行う 値。たとえば、Oi が賄賂がどのノードを制御しているかわからない場合、Oi は次のことができます。 価値ゼロの株式をすべての委員会メンバーに提出します。贈収賄者はその後、Oi の内容を確認できます。 確率的にコンプライアンスを達成します。シングルラウンドプロトコルでこの問題を回避するには、次のようにします。 Oi は、少なくとも 1 つの正直な第 2 層ノードの ID を知っている必要があります。 各第 2 層ノードがランダム化を追加する対話型プロトコルを使用 株式の要因となるため、贈収賄者ができる最善のことは、Oi による無作為の選択を強制することです。 ウォッチドッグビット。 9.6 暗黙的インセンティブ フレームワーク (IIF) FFO は、Chainlink ネットワーク内での正しい動作に対する暗黙的なインセンティブの一種です。それ 経済的安全を確保するのに役立つという点で、明示的な賭け金、つまり預金と同様に機能します。 ネットワーク。言い換えれば、FFO は(有効な)デポジットの一部として含まれる必要があります。 ネットワーク内のノードの $d。問題は、FFO やその他の形式の暗黙的インセンティブをどのように測定するかです。 Chainlink ネットワーク内ですか? 暗黙的インセンティブ フレームワーク (IIF) は、次のセットです。 この目的のために私たちが開発する予定の原理と技術。ブロックチェーンシステム さまざまな形で前例のない透明性とノードの信頼性の高い記録を提供します 彼らが生み出すパフォーマンスは、IIF がどのように機能するかについての私たちのビジョンへの出発点となります。 ここでは、IIF の主要な要素に関するアイデアを非常に簡単に説明します。 IIF 自体は、評価において重要であると当社が特定した一連の要素で構成されます。 暗黙のインセンティブと、分析アルゴリズムで使用できるように関連データを高保証形式で公開するメカニズム。さまざまなChainlinkユーザーが さまざまな方法で IIF を使用したい、たとえば、さまざまな要素にさまざまな重み付けを適用したい。 ユーザーが IIF を適用するのを支援する分析サービスがコミュニティで生まれることを期待しています。 個々のリスク評価の好みに応じて、私たちの目標は、リスク評価を促進することです。 高保証でタイムリーなサポート データへのアクセスを保証することで、そのようなサービスを提供します。 以下で説明します (セクション 9.6.4)。 9.6.1 将来の手数料の機会 ノードは、Chainlink エコシステムに参加して、このペーパーで説明したさまざまなサービスに対してネットワークが支払う料金の一部を受け取ります。 分散型アイデンティティ、公平な順序付け、 機密保持 DeFi。 Chainlink ネットワークの料金は、サーバーの実行、必要なデータ ライセンスの取得、保守などのノード オペレーターのコストをサポートします。 高い稼働時間を保証するグローバルスタッフ。 FFO は諸経費を除いたサービス料金を表します。 ノードが将来得られる可能性があること、またはノードが誤った動作を示した場合には失われる可能性があること。 FFO は、ネットワークのセキュリティを確保するのに役立つステークの形式です。 FFO の便利な機能は、オンチェーン データ (オフチェーンによって補完される) であるという事実です。 データ) ノードの履歴に関する信頼性の高い記録を確立し、FFO の計算を可能にします 透明性があり、経験に基づいた方法で。 FFO の単純な一次測定は、企業の平均純収益から導き出すことができます。 一定期間にわたるノードの推移 (つまり、総収益から営業経費を差し引いたもの)。 FFOかもしれない 次に、たとえば、将来の累積純収益の正味現在価値 [114] として計算されます。 言い換えれば、将来のすべての収益を時間割引した値です。 ただし、図 17 の例に示すように、ノードの収益は変動する可能性があります。 さらに重要なのは、ノードの収益が定常的な分布に従わない可能性があることです。 時間が経つにつれて。したがって、FFO を推定する際に調査する予定のその他の要因には次のものがあります。 • パフォーマンス履歴: オペレーターのパフォーマンス履歴 (レポートの正確性と適時性、稼動時間など) が目標を提供します。 ユーザーがその信頼性を評価するための試金石。 したがって、パフォーマンス履歴は、 ユーザーが oracle ノードを選択する際の重要な要素を提供します (または、出現により DON の、DON の選択)。好調なパフォーマンス履歴は、 継続的な高い収益と相関関係があります。18 18私たちが取り組む予定の重要な研究課題は、改ざんされたサービス量の検出です。図 17: 単一データ フィード (ETH-USD) で Chainlink ノードが獲得した収益 2021年3月の代表的な週。 • データ アクセス: oracles はオープン API からさまざまな形式のデータを取得できますが、 特定の形式のデータまたは特定の高品質のソースは、 サブスクリプションベースまたは契約上の合意を通じて。特定のものへの特権アクセス データ ソースは、安定した収益源を生み出す役割を果たすことができます。 • DON への参加: DONs の出現により、ノードのコミュニティが登場します。 特定のサービスを提供するために連携します。多くの DON には次のものが含まれると予想されます。 選択ベースでオペレーターを選択し、評判の高い DON への参加を確立します。 市場での特権的な地位を確保し、安定した収益源を確保します。 • クロスプラットフォームのアクティビティ: 一部のノードオペレーターは、他のコンテキスト (PoS validator や blockchain 以外のコンテキストのデータ プロバイダー。これらの他のシステムでのパフォーマンス (データが信頼できる形式で利用可能な場合) が評価に影響を与える可能性があります。 彼らの演奏履歴。同様に、Chainlink ネットワークでの誤った動作 ユーザーを遠ざけることにより、これらの他のシステムの収益を危険にさらす可能性があります (FFO など) プラットフォーム間で拡張できます。 9.6.2 投機的FFO ノード オペレーターは、収益を生み出すためだけではなく、Chainlink ネットワークに参加します。 業務を遂行するだけでなく、ジョブを実行するための新しい機会を活用するために自らを立ち上げ、配置することも必要です。つまり、ネットワーク内の oracle ノードによる支出も DeFi およびその他のスマート コントラクト アプリケーションの将来についての前向きな声明 ドメインだけでなく、oracle ネットワークの新興の非blockchain アプリケーションも同様です。現在、ノード オペレーターは既存の Chainlink ネットワークで利用可能な料金を得ると同時に、 これらは、問題がより簡単であることを除けば、インターネット サイト上の偽レビューとほぼ似ています。 oracle 設定は、商品 (レポートなど) が注文されたかどうかの決定的な記録があるためです。 たとえば、オンライン ショップで注文した物理的な商品とは対照的に、配送されます。別の言い方をすると、oracle 設定を変更すれば、顧客の真実性が証明できない場合でも、パフォーマンスを検証できます。評判、実績履歴、運用上の専門知識を構築し、 将来のネットワークで利用できる手数料を有利に稼ぐことができます(もちろん、条件付きですが)。 正直な行動について)。現在 Chainlink エコシステムで動作しているノードは、 Chainlink として追加料金を稼ぐ点で、新規参入者よりも有利な感覚を持っています。 サービスが利用可能になります。この利点は、新しい通信事業者だけでなく、定評のあるテクノロジー企業にも当てはまります。たとえば、T-Systems は従来の テクノロジープロバイダー (ドイツテレコムの子会社)、および大規模な集中型サービスである Kraken Exchange は、Chainlink エコシステムで初期の存在感を確立しました [28、143]。 oracle ノードによる将来の機会へのそのような参加は、それ自体とみなされます 一種の投機的な FFO として、Chainlink における一種の株式を構成します。 ネットワーク。 9.6.3 外部からの評判 IIF は、これまで説明したように、厳密に匿名化されたネットワーク内で動作できます。 つまり、関係する人々や現実世界のエンティティは開示されません。 ただし、ユーザーがプロバイダーを選択する際に潜在的に重要な要素の 1 つは外部要因です。 評判。外部の評判とは、偽名ではなく現実世界のアイデンティティに付随する信頼性の認識を意味します。風評リスクが伴う 現実世界のアイデンティティは、暗黙のインセンティブの一形態とみなすことができます。評判を見る IIFのレンズを通して、つまり暗号経済的な意味で、 FFO の推定値に組み込まれる可能性のあるクロスプラットフォームのアクティビティ。 FFO の推定の要素として外部の評判を使用することの利点とは対照的に 仮名リンクとは、外部の評判がパフォーマンスにリンクするだけでなく、 オペレーターの既存の活動だけでなく、将来の活動にも適用されます。例えば評判が悪い場合 個人に執着すると、その人の将来の事業を汚す可能性があります。別の言い方をすると、外部の評判は匿名よりも広範囲の FFO を捉えることができます。 個人または確立された不正行為の影響としての業績記録 会社から逃れるのは、偽名運営に関連する会社よりも困難です。 Chainlink は、分散型 ID テクノロジー (セクション 4.3) と互換性があります。 IIF での外部レピュテーションの使用のサポートを提供できます。このような技術 検証することができ、それによってオペレータが主張する現実世界の真実性を保証するのに役立ちます アイデンティティ.19 9.6.4 IIF アナリティクスを開く すでに述べたように、IIF は信頼できるオープンソース データとツールを提供することを目的としています。 暗黙的なインセンティブ分析。 目標は、コミュニティ内でプロバイダーを有効にすることです 組織のさまざまな部分のリスク評価ニーズに合わせた分析を開発するため Chainlink ユーザー ベース。 19分散型アイデンティティ認証情報では、必要に応じて、検証済みの仮名を装飾することもできます。 補足情報。たとえば、ノード オペレータは原則としてそのような認証情報を使用して、 フォーチュン 500 企業であることを証明しますが、どの企業であるかは明らかにしません。ノードの収益とパフォーマンスに関する大量の履歴データ 信頼性の高い不変形式でチェーン上に存在します。ただし、私たちの目標は、 オフラインでのみ表示される行動に関するデータを含む、可能な限り最も包括的なデータ チェーン (オフチェーン レポート (OCR) や DON アクティビティなど)。このようなデータは、潜在的に ボリュームがあること。それを保管し、その完全性を確保するための最良の方法、つまり、次のようなことから保護します。 改ざんは、DON の助けを借りて、ここで説明した手法を使用して行われると考えられます。 セクション 3.3 で説明します。 staking など、一部のインセンティブは直接的な測定形式に適しています。 デポジットと基本的な FFO。投機的な FFO や評判など、他のものはより困難です。 客観的な方法で測定しますが、次のような形式のデータをサポートすることが重要であると考えています。 Chainlink エコシステムの歴史的成長、ソーシャルメディアの評判指標など、 は、これらの定量化が難しい要素についても IIF 分析モデルをサポートできます。 専用の DON は、特に監視、検証、および監視のために発生すると想像できます。 ノードのオフチェーンパフォーマンス記録に関連する記録データおよびその他のデータ IIF で使用される、検証された ID 情報など。これらの DON は、Chainlink コミュニティにサービスを提供する分析プロバイダーに均一で信頼性の高い IIF データを提供できます。 また、分析プロバイダーの主張を裏付ける黄金の記録も提供します。 コミュニティによって独立して検証可能。 9.7 すべてをまとめると: ノード オペレーターのインセンティブ ノードオペレーターに対する明示的および暗黙的なインセンティブに関する上記の議論を総合すると、 ノードオペレーターが参加し、そこから利益を得る方法の全体的なビューを提供します。 Chainlink ネットワーク。 概念的なガイドとして、危機に瀕している総資産を特定の Chainlink で表すことができます。 ノード オペレーター $S の大まかな様式化された形式は次のとおりです。 \(S ≈\)D + \(F + \)FS + $R、 ここで: • $D は、すべてのネットワークにわたって明示的に預けられたすべてのステークの合計です。 オペレーターが参加します。 • $F は、すべてのネットワークにわたるすべての FFO を合計した正味現在価値です。 オペレーターが参加します。 • $FS は、オペレーターの投機的 FFO の正味現在価値です。そして • $R は、Chainlink エコシステム外のオペレーターの評判資産です。 これは、oracle ノードで確認された不正行為によって危険にさらされる可能性があります。 この大まかな等価性は主に概念的なものではありますが、Chainlink ノードによる高信頼性パフォーマンスを促進する経済的要因が多数存在することを示しています。 $D 以外のこれらの要素はすべて、今日の Chainlink ネットワークに存在します。9.8 経済安全保障の好循環 超線形 staking の影響と料金支払いの表現の組み合わせ IIF における将来の手数料機会 (FFO) は、いわゆる好循環をもたらす可能性があるためです。 oracle ネットワークにおける経済的安全性。これは一種の経済と見ることができます 規模の。特定のネットワークによって保護される総量が増加するにつれて、 一定額の経済的安全を追加するために必要な追加の賭け金は減少するにつれて減少します ユーザーあたりの平均コスト。したがって、ユーザーが参加する料金の面では安くなります。 既存のネットワークを使用して同じネットワーク経済性の向上を達成するよりも 新しいネットワークを作成することでセキュリティを強化します。重要なのは、新しいユーザーが追加されるたびに、 そのネットワークの以前のすべてのユーザーのサービスのコスト。 特定の料金体系(賭け金に対する特定の利回りなど)を考慮すると、 ネットワークが獲得する合計料金が増加すると、追加料金の流れが促進されます。 ネットワークに参加して、より高いレートでネットワークを保護します。具体的には、賭け金の総額が システム内で個々のノードが保持できる上限が設定されている場合、新しい料金の支払いが行われるとき システムに入力すると、FFO が増加し、ノード数 n が増加します。おかげで 私たちのインセンティブ システム設計の超線形な影響、経済的安全性 システムは n よりも速く立ち上がります (たとえば、セクション 9.4 で説明するメカニズムでは n2 のように)。 その結果、経済的安全保障の平均コスト、つまり貢献する出資額は 経済安全保障の 1 ドルは減少するでしょう。したがって、ネットワークはユーザーに料金を請求することができます 手数料が安くなる。 oracle サービスの需要は柔軟であると仮定します (たとえば、概要については [31] を参照してください) 説明)、需要が増加し、追加料金と FFO が発生します。 この点を次の例で説明します。 例 5. インセンティブによる oracle ネットワークの経済的安全性 スキームは \(dn2 for stake \)dn、1 ドルの賭け金によって経済的安全が提供されます は n なので、経済安全保障の 1 ドルあたりの平均コスト、つまり賭け金の額となります。 1 ドルの経済安全保障への貢献は 1/n です。 経済的インセンティブが完全に FFO で構成され、上限が設定されているネットワークを考えてみましょう。 ノードあたり\(d ≤\)10K。ネットワークに n = 3 個のノードがあると仮定します。そうすると平均費用は 経済安全保障は 1 ドルあたり約 0.33 ドルです。 ネットワークの合計 FFO が \(30K (e.g., to \)31K を超えると仮定します。与えられた ノードごとの FFO の上限を設定すると、ネットワークは (少なくとも) n = 4 まで拡大します。ここで、平均コストは次のようになります。 経済安全保障は 1 ドルあたり約 0.25 ドルに低下します。 oracle ネットワークにおける経済安全保障の完全な好循環を図 18 に概略的に示します。 我々は、経済安全保障の好循環は次のような効果から生まれることを強調する。 料金をプールするユーザーの割合。 より大きな組織に有利に働くのは、彼らの集合的な FFO です。 ネットワークの規模が大きくなり、集団的なセキュリティが強化されます。また、好循環にも注目します。 経済的安全の確保は、DON が経済的な持続可能性を達成するのに有利に働きます。一度 ユーザーのニーズに対応する DON が作成され、その時点以上に成長する必要があります。 手数料による収益が oracle ノードの運用コストを超えています。

Revenue earned by Chainlink nodes on a single ETH-USD data feed showing correlation with price volatility

Diagram showing how concentrated alerting rewards amplify the cost for a briber attempting to corrupt the oracle network

Schematic of Chainlink staking scheme with alerting showing watchdog escalation and penalty mechanisms

Schematic of the virtuous cycle of Chainlink staking showing how user fees drive security and value capture

図 18: Chainlink staking の好循環の概略図。利用料の値上げ oracle ネットワーク 1⃝への支払いはネットワークを成長させ、経済成長につながります セキュリティ 2⃝。この超直線的な成長により、Chainlink ネットワークのスケールメリットが実現します 3⃝。具体的には、経済安全保障の平均コストの削減を意味します。 手数料の支払いまたはその他の出資源から生じる1ドルあたりの経済的安全性 が増加します。コストの削減がユーザーに還元され、oracle の需要が増加します サービス4⃝。 9.9 ネットワークの成長を促進する追加の要因 Chainlink エコシステムが拡大し続けるにつれて、その魅力はさらに高まると考えています。 ユーザーにとっての重要性が高まり、blockchain 経済のインフラとしての重要性が加速します。 oracle ネットワークによって提供される値は超線形であり、より速く成長することを意味しますネットワーク自体のサイズよりも。 この価値の増加は、次の両方に由来します。 スケールメリット - サービス量の増加に伴うユーザーあたりのコスト効率の向上 - そして ネットワーク効果 - ユーザーが DON をより広く採用するにつれて、ネットワーク ユーティリティが増加します。 既存の smart contract には引き続き、より多くの価値が確保され、まったく新しいものとなります。 smart contract アプリケーションは、より分散化されたサービスによって可能になり、合計 DON の使用および支払われる料金の総額は増加するはずです。 手数料プールの増加 さらに分散化されたサービスを作成するための手段とインセンティブに変換されます。 好循環が生まれます。 この好循環により、卵が先か鶏が先かという重大な問題が解決されます。 ハイブリッド smart contract エコシステムの問題: 革新的な smart contract 機能 多くの場合、まだ存在しない分散型サービスが必要になります (例: 新しい DeFi 市場が頻繁に存在します) 新しいデータフィードが必要ですが、その実現には十分な経済的需要が必要です。 既存の DON に対するさまざまな smart contract による料金のプールは、 拡大するユーザーベースからの追加の分散型サービスが誕生し、 DONs によるものと、新しく多様なハイブリッド smart contracts の継続的な有効化です。 要約すると、ネットワーク セキュリティの成長は高潔な取り組みによって促進されると考えています。 Chainlink staking メカニズムのサイクルは、より大きな成長パターンを例示しています。 Chainlink ネットワークは、分散型のオンチェーン経済を実現するのに役立ちます サービス。

Economia e Criptoeconomia

Para que a rede Chainlink alcance uma segurança forte dentro de um modelo de confiança descentralizado, é essencial que os nós exibam coletivamente um comportamento correto, o que significa que eles aderem na maioria das vezes exatamente para protocolos DON. Nesta seção, discutimos abordagens para ajudar a impor tal comportamento por meio de incentivos econômicos, também conhecidos como criptoeconômicos incentivos. Esses incentivos se enquadram em duas categorias: explícitos e implícitos, realizados respectivamente por meio de staking e oportunidade de taxa futura (FFO). Estacamento: O staking em Chainlink, como em outros sistemas blockchain, envolve participantes da rede, ou seja, nós oracle, depositando fundos bloqueados na forma de LINK tokens. Estes os fundos, que também chamamos de participação ou participação explícita, são um incentivo explícito. Eles estão sujeitos a confisco em caso de falha ou prevaricação do nó. No contexto blockchain, esse procedimento costuma ser chamado de corte. O piqueteamento por nós oracle em Chainlink, no entanto, difere fundamentalmente de staking por validators em blockchains sem permissão. Os validadores podem se comportar mal ao ordenar transações de forma equivocada ou adversária. O protocolo de consenso subjacente em um 15Como os usuários podem substituir transações no mempool, é necessário cuidado para garantir uma correspondência correta entre as transações extraídas e as enviadas por DON.blockchain sem permissão, entretanto, usa regras de validação de bloco rígidas e rápidas e primitivas criptográficas para evitar que validators gerem blocos inválidos. Em contraste, as proteções programáticas não podem impedir que uma rede oracle trapaceira gere relatórios inválidos. O motivo é uma diferença fundamental entre os dois tipos de sistema: a validação da transação em blockchains é uma propriedade de consistência interna, enquanto a correção dos relatórios oracle em um blockchain é uma propriedade de dados externos, ou seja, dados fora da cadeia. Projetamos um mecanismo staking preliminar para a rede Chainlink baseada em um protocolo interativo entre nós oracle que podem fazer uso de dados externos. Isto mecanismo cria incentivos financeiros para o comportamento correto usando recompensas explícitas e penalidades (corte). Como o mecanismo é econômico, ele foi projetado para evitar que os nós corrupção por um adversário que usa recursos financeiros para corromper nós por meio de suborno. (Tal adversário é muito geral e se estende, por exemplo, a nós que cooperam para extrair valor de seu mau comportamento coletivo.) O mecanismo Chainlink staking que projetamos tem alguns recursos poderosos e inovadores características.16 A principal característica é o impacto superlinear staking (especificamente, quadrático). Um adversário deve ter recursos consideravelmente superiores aos fundos depositados pelos nós em para subverter o mecanismo. Nosso mecanismo staking fornece adicionalmente proteção contra um adversário mais forte do que considerado anteriormente em sistemas semelhantes, ou seja, um adversário que pode criar subornos condicionados ao comportamento futuro dos nós. Além disso, discutimos como ferramentas Chainlink como DECO podem ajudar a fortalecer nosso staking mecanismo, facilitando a adjudicação correta no caso de comportamento defeituoso do nó. Oportunidade de taxa futura (FFO): blockchains sem permissão - tanto do PoW e variedade de PoS – hoje dependem criticamente do que chamamos de incentivos implícitos. Estes são incentivos económicos para o comportamento honesto que não derivam de recompensas explícitas, mas da própria participação na plataforma. Por exemplo, a comunidade mineira Bitcoin é incentivada a não montar um ataque de 51% pelo risco de minar a confiança em Bitcoin, deprimindo seu valor e, conseqüentemente, corroendo o valor de seu coletivo investimentos de capital em infraestrutura de mineração [150]. A rede Chainlink se beneficia de um incentivo implícito semelhante ao qual nos referimos como oportunidade de taxa futura (FFO). Nós Oracle com fortes históricos de desempenho ou reputações atraem taxas dos usuários. O mau comportamento de um nó oracle compromete o futuro pagamentos de taxas e, portanto, penaliza o nó com um custo de oportunidade em termos de potencial receitas obtidas através da participação na rede. Por analogia com a aposta explícita, O FFO pode ser visto como uma forma de participação implícita, um incentivo para um comportamento honesto que deriva do benefício compartilhado de manter a confiança na plataforma na qual o negócio dos operadores de nós depende, ou seja, do desempenho positivo e da reputação do rede. Este incentivo é inerente, mas não explicitamente expresso, na rede Chainlink protocolos. Em Bitcoin, manutenção do valor das operações de mineração conforme mencionado acima 16O mecanismo staking que descrevemos aqui atualmente visa apenas forçar a entrega de relatórios corretos por redes oracle. Esperamos em trabalhos futuros estendê-lo para garantir a execução correta dos muitos outras funcionalidades DONs fornecerão.pode igualmente ser visto como uma forma de aposta implícita. Ressaltamos que o FFO já existe em Chainlink e ajuda a proteger a rede hoje. Nossa principal contribuição no desenvolvimento futuro de Chainlink será uma abordagem baseada em princípios e empiricamente orientada para avaliar incentivos implícitos, como o FFO, por meio de o que chamamos de Quadro de Incentivos Implícitos (IIF). Para estimar quantidades como o oportunidade futura de taxas dos nós, o IIF aproveitará continuamente o abrangente dados de desempenho e pagamento acumulados pela rede Chainlink. Tais estimativas permitirá a parametrização baseada em IIF de sistemas staking que reflete os incentivos dos nós com maior precisão do que os modelos heurísticos e/ou estáticos atuais. Para resumir, então, os dois principais incentivos econômicos para o nó oracle correto o comportamento na rede Chainlink em desenvolvimento será: • Staking (participação depositada) ó Incentivo explícito • Oportunidade de taxas futuras (FFO) ó Incentivo implícito Essas duas formas de incentivo são complementares. Os nós Oracle podem simultaneamente participe do protocolo Chainlink staking, desfrute de um fluxo de receita contínuo de usuários e se beneficiar coletivamente de seu bom comportamento contínuo. Assim, ambos os incentivos contribuir para a segurança criptoeconômica fornecida por uma rede oracle. Além disso, os dois incentivos podem reforçar-se e/ou ser negociados entre si. Por exemplo, um novo operador oracle sem histórico de desempenho e fluxo de receita pode apostar um grande quantidade de LINK como garantia de comportamento honesto, atraindo assim usuários e taxas. Por outro lado, um operador oracle estabelecido com um tempo longo e relativamente livre de falhas histórico de desempenho pode cobrar taxas substanciais de uma grande base de usuários e, portanto, depender mais fortemente no seu FFO como forma de incentivo implícito. Em geral, a abordagem que consideramos aqui visa uma determinada quantidade de oracle-rede recurso para criar os maiores incentivos econômicos possíveis em Chainlink para racional agentes – isto é, nós que maximizam sua utilidade financeira – se comportem honestamente. Coloque outro Dessa forma, o objetivo é maximizar os recursos financeiros necessários para um adversário atacar a rede com sucesso. Ao formular um protocolo staking com matematicamente bem segurança econômica definida e também usando o IFI, pretendemos medir a força de Os incentivos de Chainlink com a maior precisão possível. Os criadores de contratos confiáveis irão então ser capaz de determinar com forte confiança se uma rede oracle atende seus níveis exigidos de segurança criptoeconômica. O ciclo virtuoso da segurança económica: Os incentivos que discutimos nesta seção, staking e FFO, têm um impacto além do reforço da segurança de DONs. Eles prometem induzir o que chamamos de ciclo virtuoso de segurança económica. O impacto superlinear staking (e outras economias de escala) resulta em menor custo à medida que a segurança de um DON aumenta. O custo mais baixo atrai usuários adicionais para DON,aumentando o pagamento de taxas. Um aumento no pagamento de taxas continua a incentivar o crescimento do rede, que perpetua o ciclo virtuoso. Acreditamos que o ciclo virtuoso da segurança económica é apenas um exemplo de uma economia de escala e efeito de rede, entre outros que discutiremos mais adiante nesta seção. Organização da seção: O piqueteamento apresenta desafios técnicos e conceituais notáveis para que projetamos um mecanismo com recursos novos. O piqueteamento será, portanto, nosso foco principal nesta seção. Fornecemos uma visão geral da abordagem staking que apresentamos neste artigo na Seção 9.1, seguida por uma discussão detalhada nas Seções 9.2 a 9.5. Apresentamos o IFF na Seção 9.6. Apresentamos uma visão resumida dos incentivos da rede Chainlink na Seção 9.7. Na Secção 9.8, discutimos o ciclo virtuoso de segurança económica que a nossa abordagem staking proposta pode trazer para as redes oracle. Finalmente, descrevemos brevemente outros potenciais efeitos que impulsionam o crescimento da rede Chainlink na Seção 9.9. 9.1 Visão geral do piqueteamento O design do mecanismo staking que apresentamos aqui, conforme observado acima, envolve um protocolo interativo entre nós oracle permitindo a resolução de inconsistências no reporte de dados externos. O piqueteamento visa garantir um comportamento honesto de nós oracle racionais. Podemos, portanto, modelar um adversário atacando um protocolo staking como um subornador: A estratégia do adversário é corromper nós oracle usando incentivos financeiros. O adversário pode obter recursos financeiros prospectivamente através da manipulação bem-sucedida com um relatório oracle, por exemplo, oferta para compartilhar o lucro resultante com nós corrompidos. Em nosso projeto de mecanismo staking visamos simultaneamente dois objetivos ambiciosos: 1. Resistir a um adversário poderoso: O mecanismo staking foi projetado para proteger oracle redes contra uma ampla classe de adversários que são capazes de ações complexas, estratégias de suborno condicional, incluindo suborno prospectivo, que oferece subornos para oracles cujas identidades são determinadas após o fato (por exemplo, oferece subornos a oracles selecionados aleatoriamente para alerta de alta prioridade). Enquanto outros designs oracle consideraram um conjunto restrito de ataques sem todas as capacidades de um cenário realista adversário, até onde sabemos, o mecanismo adversário que introduzimos aqui é o primeiro a abordar explicitamente um amplo conjunto de estratégias de suborno e mostrar resistência neste modelo. Nosso modelo assume que os nós além do invasor estão economicamente racional (em oposição a honesto), e assumimos a existência de um fonte de verdade que é proibitivamente cara para uso típico, mas está disponível em caso de desacordo (discutido mais abaixo). 2. Alcançando impacto superlinear staking: Nosso objetivo é garantir que uma rede oracle composta por agentes racionais reporte sinceramente, mesmo na presença de um invasor com um orçamento superlinearna participação total depositada por toda a rede. Em sistemas staking existentes, se cada um dos n nós aposta $d, um invasor pode emitir um suborno confiável que solicita que os nós se comportem desonestamente em troca de um pagamento de um pouco mais do que \(d to each node, using a total budget of about \)dn. Isto já é um padrão alto, pois o invasor precisa ter um orçamento líquido da ordem dos depósitos combinados de todos os participantes da rede. O nosso objectivo é um grau ainda mais forte de segurança económica do que este obstáculo já substancial. Nosso objetivo é projetar o primeiro sistema staking que pode alcançar segurança para um invasor geral com um orçamento superlinear em n. Embora as considerações práticas possam ter um impacto menor, como discutiremos abaixo, nosso projeto preliminar atinge um requisito orçamentário adversário maior do que $dn2/2, ou seja, escalando quadrático em n, tornando o suborno amplamente impraticável, mesmo quando os nós apostam apenas quantias moderadas. Alcançar estes dois objectivos requer uma combinação inovadora de concepção de incentivos e criptografia. Ideias principais: Nossa abordagem staking depende de uma ideia que chamamos de prioridade de vigilância. Um relatório gerado por uma rede Chainlink oracle e enviado para um contrato confiável (por exemplo, no preço de um ativo) é agregado a partir de relatórios individuais contribuídos pelos nós participantes (por exemplo, tomando a mediana). Normalmente, um acordo de nível de serviço (SLA) especifica limites aceitáveis de desvio para relatórios, ou seja, até que ponto o relatório de um nó pode desviar-se do relatório agregado e até que ponto o agregado deve ser autorizado a desviar do valor verdadeiro para ser considerado correto. Em nosso sistema staking, para uma determinada rodada de relatórios, cada nó oracle pode atuar como um watchdog para emitir um alerta se acreditar que o relatório agregado está incorreto. Em cada rodada de relatórios, cada nó oracle recebe uma prioridade pública que determina o ordem em que seu alerta (se houver) será processado. Nosso mecanismo visa recompensar concentração, o que significa que o cão de guarda de maior prioridade para emitir um alerta ganha o recompensa total obtida pelo confisco dos depósitos de nós defeituosos. Nossos projetos de sistema staking envolvem dois níveis: o primeiro, nível padrão, e o segundo, nível de proteção. A primeira camada é a própria rede oracle, um conjunto de n nós. (Para simplificar, assumimos que n é ímpar.) Se a maioria dos nós relatar valores incorretos, um watchdog no O primeiro nível é fortemente incentivado a emitir um alerta. Se um alerta for gerado, o relatório A decisão da rede é então escalada para um segundo nível – um sistema de alto custo e máxima confiabilidade que pode ser especificado pelo usuário no acordo de nível de serviço da rede. Este poderia ser um sistema que, por exemplo, é composto apenas por nós com forte pontuações de confiabilidade histórica, ou uma que tenha uma ordem de magnitude maior que oracles do que o primeiro nível. Além disso, conforme discutido na Seção 9.4.3, DECO ou Town Crier podem servir como ferramentas poderosas para ajudar a garantir uma adjudicação eficiente e conclusiva no segundo nível. Para simplificar, assumimos assim que este sistema de segundo nível chega a um relatório correto valor. Embora possa parecer atraente confiar apenas no segundo nível para gerar todos os relatórios, o benefício do nosso design é que ele atinge consistentemente as propriedades de segurança dosistema de segundo nível, pagando apenas o custo operacional, no caso típico, do sistema de primeiro nível. A prioridade do watchdog resulta em impacto superlinear staking da seguinte maneira: se o rede oracle de primeira camada gera um resultado incorreto e vários nós de vigilância alerta, o mecanismo de incentivo staking recompensa o cão de guarda de maior prioridade com mais de $dn/2 retirados dos depósitos da (maioria) nós com comportamento inadequado. O a recompensa total é, portanto, concentrada nas mãos deste único cão de guarda, que, portanto, determina o mínimo que um adversário deve prometer a um cão de guarda em potencial para incentivá-lo a não alertar. Como nosso mecanismo garante que todo oracle receba o chance de agir como cão de guarda se os cães de guarda de maior prioridade aceitarem seus subornos (e optou por não alertar), o adversário deve, portanto, oferecer um suborno de mais de $dn/2 para cada nó para evitar que qualquer alerta seja gerado. Como existem n nós, o o orçamento necessário do adversário para um suborno bem-sucedido equivale a mais de $dn2/2, o que é quadrático no número n de nós na rede. 9.2 Plano de fundo Nossa abordagem para staking baseia-se em pesquisas nas áreas de teoria dos jogos e mecanismos design (MD) (para referência de livro, consulte [177]). A teoria dos jogos é matematicamente estudo formalizado de interação estratégica. Neste contexto, um jogo é um modelo de tal uma interação, tipicamente no mundo real, que codifica conjuntos de ações disponíveis para participantes do jogo, conhecidos como jogadores. Um jogo também especifica os pagamentos obtidos pelos jogadores individuais - recompensas que dependem das ações escolhidas pelo jogador e do ações dos outros jogadores. Talvez o exemplo mais conhecido de jogo estudado em game teoria é o Dilema dos Prisioneiros [178]. Os teóricos dos jogos geralmente pretendem compreender o equilíbrio ou equilíbrios (se houver) representados em um determinado jogo. Um equilíbrio é um conjunto de estratégias (uma para cada jogador) tal que nenhum jogador possa obter um valor mais alto recompensa ao desviar-se unilateralmente da sua estratégia. O desenho de mecanismos, por sua vez, é a ciência de desenhar incentivos de modo que o O equilíbrio de uma interação (e seu jogo associado) tem alguma propriedade desejável. MD pode ser visto como o inverso da teoria dos jogos: a questão canônica no jogo a teoria é: “dados os incentivos e o modelo, qual será o equilíbrio?” Em MD, o a questão é, em vez disso, “que incentivos resultarão num jogo com um equilíbrio desejável?” Um objetivo típico de um projetista de mecanismo é criar um mecanismo “compatível com incentivos”, o que significa que os participantes do mecanismo (por exemplo, um leilão ou outra informação sistema de elicitação [228]) são incentivados a relatar a verdade sobre algum assunto (por exemplo, como quanto eles valorizam um determinado item). O leilão de Vickrey (segundo preço) é talvez o mecanismo compatível com incentivos mais conhecido, no qual os participantes apresentam propostas lacradas para um item e o licitante com lance mais alto ganha o item, mas paga o segundo preço mais alto [214]. A criptoeconomia é uma forma de MD de domínio específico que aproveita a criptografia técnicas para criar equilíbrios desejáveis dentro de sistemas descentralizados. O suborno e o conluio criam desafios significativos em todo o campo da DM. Quase todos os mecanismos quebram na presença de conluio, definido como contratos paralelos entreentre as partes participantes de um mecanismo [125, 130]. O suborno, em que uma parte externa introduz novos incentivos no jogo, apresenta um problema ainda mais difícil do que o conluio; o conluio pode ser visto como um caso especial de suborno entre jogadores participantes. Os sistemas Blockchain podem muitas vezes ser conceituados como jogos com recompensas monetárias (baseadas em criptomoedas). Um exemplo simples é a mineração Proof-of-Work: os mineradores têm um espaço de ação no qual eles podem escolher a hashtaxa com a qual extrair blocos. O retorno da mineração é uma recompensa negativa garantida (custo de eletricidade e equipamentos) mais um fator estocástico. recompensa positiva (subsídio de mineração) que depende do número de outros mineradores ativos [106, 172] e taxas de transação. oracles crowdsourced como SchellingCoin [68] são outro exemplo: o espaço de ação é o conjunto de relatórios possíveis que um oracle pode enviar, enquanto a recompensa é a recompensa especificada pelo mecanismo oracle, por exemplo, o pagamento pode depender sobre quão próximo o relatório de um oracle está da mediana dos outros relatórios [26, 68, 119, 185]. Os jogos Blockchain oferecem oportunidades propícias para ataques de conluio e suborno; na verdade, smart contracts podem até facilitar tais ataques [96, 165]. Talvez o mais conhecido O ataque de suborno a oracles de crowdsourcing é o ataque p-plus-epsilon [67]. Este ataque surge no contexto de um mecanismo semelhante ao SchellingCoin, no qual os jogadores enviam relatórios com valor booleano (ou seja, falsos ou verdadeiros) e são recompensados com p se concordarem com o submissão da maioria. Em um ataque p-mais-épsilon, o invasor promete, com credibilidade, por exemplo, pague aos usuários $p + ϵ por votarem falso se e somente se a submissão da maioria for verdadeira. O resultado é um equilíbrio, em que todos os intervenientes são incentivados a denunciar falsas independentemente do que os outros jogadores façam; conseqüentemente, o subornador pode induzir os nós através do suborno prometido para reportar informações falsas sem realmente pagar o suborno (!). A exploração de outras estratégias de suborno no contexto de oracles, no entanto - e particularmente de oracles que não são de crowdsourcing - tem sido limitada a adversários bastante fracos. modelos. Por exemplo, no cenário PoW, os pesquisadores estudaram subornos, ou seja, subornos pagos apenas se uma mensagem alvo for censurada com sucesso e não aparecem em um bloco, independentemente da ação individual de um minerador [96, 165]. No caso de oracles, no entanto, além do ataque p-plus-epsilon, estamos cientes apenas do trabalho em um modelo estritamente limitado de suborno, no qual um subornador envia um suborno condicionado a um ação individual do jogador, não no resultado resultante. Aqui esboçamos projetos de mecanismos de elicitação de informações que permanecem incentivos compatível mesmo em um modelo adversário forte, conforme descrito na próxima subseção. 9.3 Suposições de modelagem Nesta subseção, explicamos como modelamos o comportamento e as capacidades dos jogadores em nosso sistema, especificamente nós oracle de primeira camada, nós de segunda camada (julgamento) camada e adversários.9.3.1 Modelo de incentivo de primeiro nível: atores racionais Muitos sistemas blockchain dependem de segurança na suposição de um certo número de informações honestas nós participantes. Os nós são definidos para serem honestos se seguirem o protocolo mesmo quando não for do seu interesse financeiro fazê-lo. Sistemas de prova de trabalho normalmente exigem que a maior parte do poder de hash seja honesto, os sistemas de prova de participação normalmente exigem que 2/3 ou mais de todas as participações participantes sejam honestos, e até mesmo sistemas de camada 2 como Arbitrum [141] exige pelo menos um único participante honesto. Na modelagem do nosso mecanismo staking, fazemos uma suposição muito mais fraca. (Para ser suposições claras e mais fracas significam propriedades de segurança mais fortes e são, portanto, preferíveis.) Assumimos que o adversário corrompeu, ou seja, controla, alguns (minoria) fração de nós oracle de primeira camada. Modelamos os nós restantes não como agentes honestos, mas como maximizadores racionais da utilidade esperada. Esses nós agem inteiramente de acordo com incentivos financeiros de interesse próprio, escolhendo ações que resultem em um resultado financeiro esperado. ganho. Por exemplo, se for oferecido a um nó um suborno maior do que a recompensa resultante de comportamento honesto, aceitará o suborno. Nota sobre nós adversários: De acordo com a modelagem de confiança comum para sistemas descentralizados, assumimos que todos os nós são racionais, ou seja, buscando maximizar receita líquida, em vez de ser controlada por um adversário malicioso. Nossas reivindicações, no entanto - impacto staking especificamente superlinear ou quadrático - mantido assintoticamente fornecido que o conjunto de nós controlados adversamente é no máximo (1/2 −c)n, para alguns pontos positivos constante c. 9.3.2 Modelo de adjudicação de segundo nível: correção por suposição Lembre-se de que um recurso crítico do nosso mecanismo staking que ajuda a alcançar a segurança contra nós racionais é seu sistema de segunda camada. Em nosso mecanismo staking proposto, qualquer oracle pode gerar um alerta indicando que ele acredita que a saída do mecanismo está incorreta. Um alerta resulta em uma alta confiança sistema de segundo nível ativando e relatando o resultado correto. Assim, uma modelagem chave O requisito para a nossa abordagem é a adjudicação correta, ou seja, o relato correto por parte do sistema de segundo nível. Nosso modelo staking assume um sistema de segundo nível que atua como uma fonte de verdade incorruptível e extremamente confiável. É provável que tal sistema seja caro e lento e, portanto, inadequado para uso no caso típico. No caso de equilíbrio, entretanto, ou seja, quando Se o sistema de primeira camada funcionar corretamente, o sistema de segunda camada não será invocado. Em vez disso, a sua existência aumenta a segurança de todo o sistema oracle, fornecendo um proteção de alta segurança. O uso de uma camada de julgamento de alta confiança e alto custo assemelha-se ao processo de apelação no coração da maioria dos sistemas judiciais. Também já é comum no design de oracle sistemas, por exemplo, [119, 185]. Discutimos brevemente abordagens para a realização do segundo nível em nosso mecanismo na Seção 9.4.3.Nosso protocolo staking usa a suposta adjudicação correta do sistema de segundo nível como uma ameaça credível para impor relatórios corretos por nós oracle. O protocolo confisca parte ou toda a participação dos nós oracle que geram relatórios identificados por o sistema de segundo nível como incorreto. Os nós Oracle são, portanto, impedidos de se comportarem mal pela penalidade financeira resultante. Esta abordagem é semelhante em sabor àquela usada em rollups otimistas, por exemplo, [141, 10]. 9.3.3 Modelo Adversário Nosso mecanismo staking foi projetado para obter informações verdadeiras e, ao mesmo tempo, obter segurança contra uma classe ampla e bem definida de adversários. Melhora os trabalhos anteriores, que omitem um modelo adversário explícito ou se concentram em subclasses estreitas de adversários, por exemplo, o adversário p-mais-épsilon discutido acima. Nosso objetivo é projetar um staking mecanismo com segurança formalmente comprovada contra todo o espectro de adversários prováveis a ser encontrado na prática. Modelamos nosso adversário como tendo um orçamento fixo (parametrizável), denotado por $ B. O adversário pode se comunicar individual e confidencialmente com cada oracle em rede e pode oferecer secretamente a qualquer indivíduo oracle pagamento garantido de suborno dependente de resultados publicamente observáveis do mecanismo. Resultados determinantes subornos podem incluir, por exemplo, o valor relatado pelo oracle, quaisquer mensagens públicas enviado por qualquer oracle ao mecanismo (por exemplo, um alerta), os valores relatados por outros oracles e o valor gerado pelo mecanismo. Nenhum mecanismo pode proteger contra um invasor com capacidades ilimitadas. Portanto, consideramos alguns comportamentos irrealistas ou fora do escopo. Presumimos que nosso atacante não pode quebrar primitivas criptográficas padrão e, como observado acima, tem um valor fixo (se potencialmente grande) orçamento $B. Assumimos ainda que o adversário não controla comunicação na rede oracle, especificamente que não pode atrasar substancialmente tráfego entre nós de primeira e/ou segunda camada. (Se o adversário pode observar tal comunicação depende do mecanismo específico, conforme explicamos abaixo.) Informalmente, porém, como observado acima, presumimos que o adversário pode: (1) Corromper uma fração de nós oracle ((1/2 −c)-fração para alguma constante c), ou seja, controle total e (2) oferecer subornos a quaisquer nós desejados, com pagamento contingente garantido nos resultados especificados pelo adversário, conforme descrito acima. Embora não ofereçamos um modelo formal ou uma taxonomia completa da situação completa do adversário, gama de capacidades de suborno neste whitepaper, aqui estão exemplos dos tipos de subornos abrangidos pelo nosso modelo. Para simplificar, assumimos que oracles emitem booleanos relatórios cujo valor correto (w.l.o.g.) é verdadeiro, e que um resultado final é calculado como um agregado desses relatórios a ser usado por um consumidor smart contract. O subornado O objetivo é que o resultado final seja incorreto, ou seja, falso. • Subornador incondicional: O suborno oferece suborno $b a qualquer oracle que reporte algo falso. • Subornador probabilístico: o subornador oferece suborno $b com alguma probabilidade q para qualquer oracle que reporta falso.• suborno condicionado a resultado falso: o subornador oferece suborno $b a qualquer oracle que relate falso, desde que o resultado final seja falso. • Subornador sem alerta: o subornador oferece suborno em $b a qualquer oracle que denuncie false enquanto nenhum alerta for gerado. • Subornador p-plus-epsilon: O suborno oferece suborno $b a qualquer oracle que relate falso como desde que a maioria dos oracles não relatem falsos. • Subornador em potencial: o suborno oferece suborno $b antecipadamente para qualquer oracle selecionado para um papel aleatório e relatórios falsos. Em nosso protocolo staking proposto, todos nós atuam como potenciais vigilantes, e somos capazes de mostrar que a randomização das prioridades de vigilância não se presta a possíveis subornos. Muitos sistemas de prova de trabalho, proof-of-stake e sistemas autorizados são suscetíveis a possíveis suborno, no entanto, o que mostra a importância de considerá-lo em nosso contexto antagônico modelo e garantindo que nossos protocolos staking sejam resilientes a ele. Consulte o Apêndice E para mais detalhes. 9.3.4 Quanto de segurança criptoeconômica é suficiente? Um adversário racional só gastará dinheiro para atacar um sistema se puder obter lucro maior do que as suas despesas. Assim, para nosso modelo adversário e proposto staking mecanismo, $B pode ser visto como uma medida do lucro potencial que um adversário é capaz extrair de smart contracts confiáveis corrompendo uma rede oracle e causando-a para gerar um relatório ou conjunto de relatórios incorreto. Ao decidir se uma rede oracle oferece um grau suficiente de segurança criptoeconômica para seus propósitos, um usuário deve avaliar a rede a partir desta perspectiva. Para adversários plausíveis em ambientes práticos, esperamos que $B seja geralmente substancialmente menor do que os ativos totais em smart contracts confiáveis. Na maioria dos casos, é é inviável para um adversário extrair esses ativos na sua totalidade. 9.4 Mecanismo de piquetagem: esboço Apresentamos aqui as ideias principais e a estrutura geral do mecanismo staking que estão considerando atualmente. Para facilitar a apresentação, descrevemos um método simples, mas lento protocolo (multi-round) nesta subseção. Notamos, no entanto, que este esquema é bastante prático. Dadas as garantias económicas proporcionadas pelo mecanismo, ou seja, a penalização e o consequente incentivo contra nós defeituosos, muitos utilizadores podem estar dispostos a aceitar relatórios com otimismo. Em outras palavras, tais usuários podem aceitar relatórios antes de possível julgamento pela segunda camada. Os usuários que não desejam aceitar relatórios de forma otimista podem optar por esperar até que o protocolo a execução termina, ou seja, até que ocorra qualquer escalonamento potencial para o segundo nível. Isto, no entanto, pode retardar substancialmente o tempo de confirmação dos relatórios. Portanto, brevementeFigura 15: Esquema do esquema staking com alerta. Neste exemplo, 1⃝a maioria de nós são corrompidos/subornados e emitem um valor incorreto ˜r, em vez do correto valor do relatório r. O nó watchdog 2⃝envia um alerta ao comitê de segundo nível, que 3⃝determina e emite o valor correto do relatório r, resultando em nós corrompidos perdendo seus depósitos - cada $d para o nó watchdog 4⃝. delinear algumas otimizações que resultam em uma rodada mais rápida (rodada única), embora um pouco mais projeto complexo na Seção 9.5. Lembre-se de que a primeira camada do nosso mecanismo staking consiste no oracle básico própria rede. A estrutura principal do nosso mecanismo, conforme descrito acima, é que em cada rodada, cada nó pode atuar como um “watchdog” com alguma prioridade e, portanto, tem a capacidade de emitir um alerta se o mecanismo chegar a uma saída incorreta ˜r, em vez de uma saída correta um R. Este alerta causa uma resolução de segundo nível, que presumimos que chega a um nível correto relatório. Nós com relatórios incorretos são punidos, no sentido de que suas apostas são cortado e concedido a cães de guarda. Esta estrutura básica é comum em sistemas oracle, como em, por exemplo, [119, 185]. A principal inovação em nosso projeto, mencionada brevemente acima, é que cada nó é atribuiu uma prioridade distinta na ordenação de potenciais vigilantes. Ou seja, cães de guarda recebem oportunidades de alertar em sequência de prioridade. Lembre-se de que se um nó tiver o prioridade mais alta para gerar um alerta, ele recebe o depósito reduzido $d de cada mau comportamento nó, para um total de mais de \(dn/2 = \)d × n/2, pois um relatório incorreto implica um maioria dos nós ruins. Consequentemente, o adversário deve pagar pelo menos esta recompensa ao subornar um nó arbitrário. Assim, para subornar a maioria dos nós, o adversário deve pagar uma taxa grande suborno para a maioria dos nós, ou seja, estritamente mais do que $dn2/2. Mostramos esquematicamente como funciona o alerta e o escalonamento do watchdog na Figura 15.9.4.1 Mais detalhes do mecanismo O sistema resistente ao suborno que descrevemos agora com mais detalhes é um esboço simplificado de a construção de dois níveis que pretendemos construir. A maior parte do nosso foco será na descrição a rede de primeiro nível (doravante simplesmente “rede” quando claro no contexto) junto com o seu mecanismo de incentivo e o procedimento de escalada para o segundo nível. Considere uma rede Chainlink composta por n nós oracle que são responsáveis por regularmente (por exemplo, uma vez por minuto) relatando um valor booleano (por exemplo, se o mercado a capitalização do BTC excede a da ETH). Como parte do mecanismo staking, nós deve fornecer dois depósitos: um depósito $d sujeito a redução em caso de desacordo com a maioria e um depósito de vigilância $dw sujeito a redução em caso de defeito escalada. Assumimos que os nós não podem copiar os envios de outros nós, por exemplo, através de um esquema commit-reveal conforme discutido na Seção 5.3. Em cada rodada, os nós primeiro comprometer-se com seu relatório e, quando todos os nós forem confirmados (ou o tempo limite expirar), nós revelam seus relatórios. Para cada relatório a ser gerado, cada nó também recebe uma prioridade de watchdog entre 1 e n escolhida aleatoriamente, sendo 1 a prioridade máxima. Esta prioridade permite concentração de recompensa nas mãos de um cão de guarda. Depois que todos os relatórios forem públicos, segue-se uma fase de alerta. Ao longo de uma sequência de n rodadas (síncronas), o nó com prioridade i tem a oportunidade de alertar na rodada i. Vamos considerar os resultados possíveis para o mecanismo após os nós terem revelado seus relatórios. Novamente assumindo um relatório binário, suponha que o valor correto seja verdadeiro e o incorreto é falso. Suponha também que o mecanismo de primeiro nível produza o valor majoritário produzido pelos nós como o relatório final r. Existem três resultados possíveis no mecanismo: • Concordância completa: na melhor das hipóteses, os nós estão em concordância completa: todos os nós estão disponíveis e forneceram um relatório oportuno com o mesmo valor r (verdadeiro ou falso). Neste caso, a rede precisa apenas encaminhar r para contratos confiáveis e recompensar cada nó com um pagamento fixo por rodada $p, que é muito menor do que $ d. • Concordância parcial: é possível que alguns nós estejam off-line ou haja desacordo sobre qual valor é correto, mas a maioria dos nós reporta verdadeiro e apenas um relatórios minoritários falsos. Este caso também é simples. O valor majoritário (verdadeiro) é calculado, resultando em um relatório correto r. Todos os nós que relataram r são recompensado com $p enquanto os oracles que relataram incorretamente têm seus depósitos reduzido modestamente, por exemplo, em US$ 10 centavos. • Alerta: Caso um watchdog acredite que a saída da rede está incorreta, ele aciona publicamente um alerta, escalando o mecanismo para a rede de segundo nível. Existem então dois resultados possíveis: – Alerta correto: Se a rede de segundo nível confirmar que a saída doFigura 16: Ampliando o custo do suborno por meio de recompensas concentradas em alertas. Um suborno O adversário deve subornar cada nó com mais do que a recompensa que pode ganhar ao alertar (mostrado como uma barra vermelha). Se as recompensas de alerta forem compartilhadas, então esta recompensa pode ser relativamente pequeno. Recompensas de alerta concentrado aumentam a recompensa que qualquer nó único pode obter (barra vermelha alta). Consequentemente, o pagamento total pelo adversário por um suborno viável (regiões cinzas) é muito maior com recompensas de alerta concentradas do que compartilhadas. rede de primeira camada estava incorreta, o nó watchdog alertador recebe uma recompensa consistindo em todos os depósitos reduzidos e, portanto, mais de $dn/2. – Alerta de falha: Se os oracles de segundo e primeiro nível concordarem, o escalonamento é considerado defeituoso e o nó de alerta perde seu depósito $dw. No caso de aceitação otimista dos relatórios, os alertas de vigilância não causam qualquer alteração na execução de contratos de confiança. Para contratos concebidos para aguardar possível arbitragem pelo comitê de segundo nível, alertas de vigilância atrasam, mas não congele a execução do contrato. Também é possível que os contratos designem um failover DON para períodos de adjudicação. 9.4.2 Impacto de piquetagem quadrática A capacidade de cada nó atuar como um cão de guarda, combinada com uma prioridade estrita de nó garantindo recompensas concentradas, permite que o mecanismo atinja staking quadrático impacto para cada tipo de atacante de suborno descrito na Seção 9.3.3. Lembre-se que isso significa especificamente em nossa configuração que, para uma rede com n nós, cada um com depósito $d, um subornador bem-sucedido (de qualquer um dos tipos acima) deve ter um orçamento maior que $dn2/2. Para ser mais preciso, o subornador deve corromper pelo menos (n+1)/2 nós, uma vez que o subornador deve corromper a maioria de n nós (para n ímpares, por suposição). Assim, um cão de guarda deve ganhe uma recompensa de $d(n + 1)/2. O subornador, consequentemente, deve pagar esta quantia a cadanó para garantir que nenhum atue como um cão de guarda. Estamos trabalhando para mostrar formalmente que se o subornador tem um orçamento de no máximo $d(n2 + n)/2, então o equilíbrio perfeito do subjogo do jogo entre os subornadores e os oracles - em outras palavras, o equilíbrio em qualquer ponto durante o jogo - é para o subornador não emitir o suborno e para cada oracle relate seus verdadeiros valores honestamente. Explicamos acima como é possível que um subornador bem-sucedido exija uma orçamento significativamente maior do que a soma dos depósitos dos nós. Para ilustrar isso resultado intuitivo, a Fig. 16 mostra graficamente o impacto das recompensas de alerta concentrado. Como vemos aí, se a recompensa pelo alerta de vigilância - nomeadamente os depósitos de dinheiro subornado nós reportando falsos) - foram divididos entre todos os alertas potenciais, o valor total que qualquer nó de alerta individual poderia esperar que fosse relativamente pequeno, da ordem de $d. Um subornador, sabendo que um pagamento maior que $d era improvável, poderia usar um suborno condicional de resultado falso para subornar cada um dos n nós com um pouco mais de $d + ϵ. Contra-intuitivamente, a Fig. 16 mostra que um sistema que distribui uma recompensa amplamente entre os nós que sinalizam um alerta é muito mais fraco do que aquele que concentra a recompensa em nas mãos de um único cão de guarda. Parâmetros de exemplo: Considere uma rede (de primeira camada) com n = 100 nós, cada depositando \(d = \)20K. Esta rede teria um total de US$ 2 milhões depositados, mas estar protegido contra suborno com orçamento \(100M = \)dn2/2. Aumentando o número de oracles é mais eficaz do que aumentar $d, é claro, e pode ter um efeito dramático: uma rede com n = 300 nós e depósitos \(d = \)20K estaria protegida contra um subornador com orçamento de até US$ 900 milhões. Observe que um sistema staking pode, em muitos casos, proteger smart contracts representando mais valor do que o nível oferecido de proteção contra suborno. Isso ocorre porque um adversário atacar estes contratos não consegue extrair o valor total em muitos casos. Por exemplo, um O contrato movido por Chainlink que garante US$ 1 bilhão em valor só pode exigir garantia contra um subornador com US$ 100 milhões em recursos porque tal adversário pode extrair lucro de maneira viável de apenas 10% do valor do contrato. Nota: A ideia de que o valor de uma rede pode crescer quadraticamente é expressa em a conhecida Lei de Metcalfe [167, 235], que afirma que o valor de uma rede cresce quadraticamente no número de entidades conectadas. A Lei de Metcalfe, no entanto, surge do crescimento no número de possíveis conexões de rede em pares, um fenômeno diferente daquele impacto quadrático subjacente staking em nosso incentivo mecanismo. 9.4.3 Realização do Segundo Nível Dois recursos operacionais facilitam a realização de um segundo nível de alta confiabilidade: (1) A adjudicação de segundo nível deve ser um evento raro em redes oracle e, portanto, pode ser significativamente mais dispendioso do que a operação normal do primeiro nível e (2) Assumindorelatórios aceitos com otimismo – ou contratos cuja execução pode aguardar arbitragem – a segunda camada não precisa ser executada em tempo real. Estas características resultam em uma série de opções de configuração para o segundo nível para atender aos requisitos de DONs específicos. Como exemplo de abordagem, um comitê de segundo nível pode consistir em nós selecionados por um DON (ou seja, primeiro nível) dos nós mais antigos e confiáveis no Chainlink rede. Além de considerável experiência operacional relevante, os operadores de tais nós têm um incentivo implícito considerável no FFO que motiva um desejo para garantir que a rede Chainlink permaneça altamente confiável. Eles também têm publicamente históricos de desempenho disponíveis que fornecem transparência em sua confiabilidade. Vale ressaltar que os nós de segunda camada não precisam ser participantes da rede de primeira camada, e pode julgar falhas em múltiplas redes de primeira camada. Os nós em um determinado DON podem pré-designar e comprometer-se publicamente com um conjunto de n′ tais nós como constituindo o comitê de segundo nível para aquele DON. Além disso, DON os nós publicam um parâmetro k′ ≤n′ que determina o número de votos de segundo nível necessário para penalizar um nó de primeira camada. Quando um alerta é gerado para um determinado relatório, os membros do segundo nível votam na correção dos valores fornecidos por cada dos nós de primeira camada. Qualquer nó de primeira camada que receber k′ votos negativos perde sua depósitos no nó watchdog. Devido à raridade do julgamento e à oportunidade de execução prolongada mencionado acima, em contraste com o primeiro nível, os nós do segundo nível podem: 1. Ser altamente remunerado pela condução da adjudicação. 2. Recorrer a fontes de dados adicionais, para além do conjunto diversificado utilizado pelo primeiro nível. 3. Confiar na inspeção e intervenção manual e/ou especializada, por exemplo, para identificar e reconciliar erros nos dados de origem e distinguir entre um nó honesto retransmitindo dados defeituosos e um nó com mau comportamento. Enfatizamos que a abordagem que acabamos de descrever para a seleção de nós de segundo nível e para a adjudicação de políticas que governam representa apenas um ponto dentro de um grande espaço de design de possíveis realizações do segundo nível. Nosso mecanismo de incentivo oferece total flexibilidade quanto à forma como o segundo nível é realizado. DONs individuais podem, portanto, constituir e definir regras para seus segundos níveis que atendam aos requisitos específicos e expectativas dos nós e usuários participantes. DECO e Town Crier como ferramentas de adjudicação: É essencial para o segundo nível em nosso mecanismo para sermos capazes de distinguir entre nós adversários de primeira camada que produzem intencionalmente relatórios incorretos e nós honestos de primeira camada que involuntariamente retransmitir dados incorretos na origem. Só então o segundo nível poderá implementar cortar para desincentivar a trapaça, o objetivo do nosso mecanismo. DECO e Pregoeiro são ferramentas poderosas que podem permitir que nós de segundo nível façam essa distinção crítica de forma confiável.Os nós de segunda camada podem, em alguns casos, ser capazes de consultar diretamente a fonte de dados usada por um nó de primeira camada ou use a Seção 7.1 do ADO para verificar se um relatório incorreto resultou de uma fonte de dados defeituosa. Em outros casos, entretanto, os nós de segundo nível podem não ter acesso direto à fonte de dados de um nó de primeira camada. Nesses casos, a decisão correta seria parecem ser inviáveis ou exigem confiança em julgamento subjetivo. Anterior oracle sistemas de disputas têm dependido de rodadas de votação ineficientes e crescentes para resolver tais desafios. Usando DECO ou Town Crier, no entanto, um nó de primeiro nível pode provar o comportamento correto para nós de segunda camada. (Veja a Seção 3.6.2 para detalhes sobre os dois sistemas.) Especificamente, se o nó da segunda camada identifica um nó da primeira camada como tendo gerado um valor de relatório defeituoso ˜r, o nó de primeiro nível pode usar DECO ou Town Crier para gerar evidências à prova de falsificação para nós de segunda camada que estão retransmitindo corretamente ˜r de uma fonte (habilitada para TLS) reconhecido como oficial pelo DON. Criticamente, o nó de primeira camada pode fazer isso sem nós de segundo nível que exijam acesso direto à fonte de dados.17 Consequentemente, a adjudicação correta é viável em Chainlink para qualquer fonte de dados desejada. 9.4.4 Relatório incorreto de seguro A forte resistência ao suborno alcançada pelo nosso mecanismo staking depende fundamentalmente sobre a redução de fundos concedidos aos alertadores. Sem uma recompensa monetária, os alertadores não têm incentivo direto para rejeitar subornos. Como resultado, porém, os fundos cortados não são disponível para compensar usuários prejudicados por relatórios incorretos, por exemplo, usuários que perdem dinheiro quando dados de preço incorretos são retransmitidos para smart contract. Por suposição, relatórios incorretos não representam um problema se os relatórios forem aceitos por um contrato somente após eventual adjudicação, ou seja, ação da segunda camada. Como explicado acima, porém, para alcançar o melhor desempenho possível, os contratos podem, em vez disso, contar com otimistas sobre o mecanismo para impor relatórios corretos, o que significa que eles aceitam relatórios antes de uma possível adjudicação de segundo nível. Na verdade, esse comportamento optimista está seguro em nosso modelo assumindo adversários racionais cujos orçamentos não excedam o staking impacto do mecanismo. Usuários preocupados com o evento improvável de falha do mecanismo resultante de, por exemplo, adversários com recursos financeiros esmagadores podem querer empregar uma camada adicional de segurança económica sob a forma de declarações falsas de seguros. Nós sabemos de múltiplas seguradoras que já pretendem oferecer apólices deste tipo apoiadas por contratos inteligentes para protocolos protegidos por Chainlink em um futuro próximo, inclusive por meio de mecanismos inovadores como DAOs, por exemplo, [7]. A existência de histórico de desempenho para Chainlink nós e outros dados sobre nós, como seus valores de participação, fornecem uma base excepcionalmente forte para avaliações atuariais de risco, tornando possível definir preços de políticas de formas que sejam baratas para os segurados, mas sustentáveis para as seguradoras. 17Com o Town Crier, também é possível que nós de primeiro nível gerem atestados localmente de correção para os relatórios que eles produzem e fornecem esses atestados para nós de segundo nível em um conforme necessário.Formas básicas de seguro contra declarações falsas podem ser implementadas de forma confiável e maneira eficiente usando smart contracts. Como exemplo simples, um seguro paramétrico contrato SCins pode compensar os segurados automaticamente se nosso mecanismo de incentivo segunda camada identifica um erro em um relatório gerado na primeira camada. Um usuário U que deseja adquirir uma apólice de seguro, por exemplo, o criador de um alvo contrato SC, pode enviar uma solicitação a uma seguradora descentralizada por um valor de apólice $ milhões no contrato. Ao aprovar U, a seguradora pode definir um valor contínuo (por exemplo, mensal) prêmio de $P em SCins. Enquanto U paga o prêmio, sua apólice permanece ativa. Caso ocorra falha de reporte no SC, o resultado será a emissão de um par (r1, r2) de relatórios conflitantes para SC, onde r1 é assinado pelo primeiro nível em nosso mecanismo e r2, o relatório corrigido correspondente, é assinado pelo segundo nível. Se o U fornecer um par válido (r1, r2) para SCins, o contrato paga automaticamente $M a ela, desde que seus pagamentos de prêmio estão em dia. 9,5 Variante de Rodada Única O protocolo descrito na subseção anterior exige que o comitê de segundo nível espere n rodadas para determinar se um cão de guarda emitiu um alerta. Isto O requisito é válido mesmo no caso otimista, ou seja, quando o primeiro nível está funcionando corretamente. Para usuários que não desejam aceitar relatórios de forma otimista, ou seja, antes de possíveis adjudicação, o atraso associado a essa abordagem seria impraticável. Por esta razão, também estamos explorando protocolos alternativos que requerem apenas um redondo. Nesta abordagem, todos os nós oracle enviam bits secretos indicando se ou não eles desejam levantar um alerta. O comité de segundo nível verifica então estes valores em ordem de prioridade. Para fornecer um esboço, tal esquema pode envolver o seguinte etapas: 1. Envio de bits de watchdog: cada nó Oi compartilha secretamente um valor de watchdog de um bit wi ∈{no alert, alert} entre os nós da segunda camada para cada relatório gerado. 2. Dicas anônimas: Qualquer nó oracle pode enviar uma dica anônima α ao comitê de segundo nível na mesma rodada em que os bits de vigilância são enviados. Essa dica α é uma mensagem indicando que um alerta foi gerado para o relatório atual. 3. Verificação de bits de vigilância: o comitê de segundo nível revela o cão de guarda dos nós oracle bits em ordem de prioridade. Observe que os nós não devem enviar bits de vigilância de alerta quando não alertam: caso contrário, a análise de tráfego revela os bits de todos os nós. O protocolo revela o não alerta bits de watchdog de nós com prioridade mais alta do que o watchdog de alerta de maior prioridade. Observe que o que é revelado é idêntico ao do nosso protocolo n-round. As recompensas também são distribuídas de forma idêntica a esse esquema, ou seja, o primeiro cão de guarda identificado recebe os depósitos reduzidos de nós que enviaram relatórios incorretos.O uso de denúncias anônimas permite que o comitê de segundo nível permaneça não interativo nos casos em que nenhum alerta foi levantado, reduzindo a complexidade da comunicação no caso comum. Observe que qualquer cão de guarda que emita um alerta tem um incentivo econômico para enviar uma denúncia anônima: se nenhuma denúncia for enviada, nenhuma recompensa será paga a qualquer nó. Para garantir que o remetente Oi de uma denúncia anônima α não possa ser identificado pelo adversário com base em dados de rede, a denúncia anônima pode ser enviada por meio de uma rede anônima canal, por exemplo, via Tor, ou, mais praticamente, proxy através de um provedor de serviços em nuvem. Para autenticar a ponta como originária de O, Oi pode assinar α usando uma assinatura de anel [39, 192]. Alternativamente, para evitar ataques de negação de serviço não atribuíveis contra o comitê de segundo nível por um nó oracle malicioso, α pode ser uma credencial anônima com anonimato revogável [73]. Este protocolo, embora praticamente alcançável, possui engenharia um tanto pesada requisitos (que estamos explorando maneiras de reduzir). Nós de primeira camada, por exemplo, deve se comunicar diretamente com nós de segunda camada, exigindo manutenção de um diretório. A necessidade de canais anônimos e assinaturas em anel aumenta a engenharia complexidade do esquema. Finalmente, há um requisito especial de confiança brevemente discutido na nota abaixo. Estamos, portanto, também a explorar esquemas mais simples que ainda alcançam impacto superlinear staking, mas talvez menos que quadrático, em que um subornador precisa assintoticamente de recursos de pelo menos $n log n, por exemplo. Alguns dos esquemas sob consideração envolve a seleção aleatória de um subconjunto estrito de nós para atuar como vigilantes, nesse caso, o possível suborno torna-se um ataque especialmente poderoso. Observação: A segurança deste mecanismo staking de rodada única requer canais entre oracle e nós de segundo nível - um requisito padrão em sistemas resistentes à coerção, por exemplo, votação [82, 138], e um requisito razoável na prática. Além disso, porém, um nó da Oi que busca cooperar com um subornador pode construir suas ações secretas de forma a mostrar ao subornador que ele codificou um determinado valor. Por exemplo, se a Oi não sabe quais nós o subornador controla, então a Oi pode enviar ações com valor 0 para todos os membros do comitê. O subornador pode então verificar as informações da Oi conformidade probabilisticamente. Para evitar este problema em qualquer protocolo de rodada única, exigir que a Oi conheça a identidade de pelo menos um nó honesto de segunda camada. Com um protocolo interativo no qual cada nó de segunda camada adiciona uma randomização fator para as ações, o melhor que o subornador pode fazer é forçar a seleção pela Oi de um número aleatório pedaço de cão de guarda. 9.6 Quadro de Incentivos Implícitos (IIF) FFO é uma forma de incentivo implícito para o comportamento correto na rede Chainlink. Isso funciona como participação explícita, ou seja, depósitos, na medida em que ajuda a reforçar a segurança económica para a rede. Em outras palavras, o FFO deve ser incluído como parte do depósito (efetivo) $d de um nó na rede.A questão é: como medimos o FFO e outras formas de incentivo implícito dentro da rede Chainlink? O Quadro de Incentivos Implícitos (IIF) é um conjunto de princípios e técnicas que planejamos desenvolver para esse fim. Sistemas Blockchain fornecem muitas formas de transparência sem precedentes e os registros de alta confiança dos nós O desempenho que eles criam é um trampolim para a nossa visão de como o IIF funcionará. Aqui esboçamos brevemente ideias sobre elementos-chave do IIF. O próprio IIF consistirá em um conjunto de fatores que identificamos como importantes na avaliação incentivos implícitos, juntamente com mecanismos para publicação de dados relevantes de forma altamente segura para consumo por algoritmos analíticos. Diferentes usuários Chainlink podem desejam usar o IFI de maneiras diferentes, por exemplo, dando pesos diferentes a fatores diferentes. Esperamos que surjam serviços de análise na comunidade que ajudem os usuários a aplicar o IIF de acordo com suas preferências individuais de avaliação de risco, e nosso objetivo é facilitar tais serviços, garantindo o seu acesso a dados de apoio de alta segurança e oportunos, conforme discutiremos abaixo (Seção 9.6.4). 9.6.1 Oportunidade de taxas futuras Os nós participam do ecossistema Chainlink para ganhar uma parte das taxas que as redes pagam por qualquer um dos vários serviços descritos neste artigo, desde feeds de dados comuns para serviços avançados, como identidade descentralizada, sequenciamento justo, e preservação de confidencialidade DeFi. As taxas na rede Chainlink suportam os custos dos operadores de nós para, por exemplo, executar servidores, adquirir licenças de dados necessárias e manter uma equipe global para garantir alto tempo de atividade. FFO denota as taxas de serviço, líquidas de despesas, que um nó pode ganhar no futuro – ou perder caso demonstre comportamento defeituoso. FFO é uma forma de participação que ajuda a proteger a rede. Uma característica útil do FFO é o fato de que os dados on-chain (complementados por dados off-chain dados) estabelecem um registro de alta confiança do histórico de um nó, permitindo o cálculo do FFO de forma transparente e empiricamente orientada. Uma medida simples e de primeira ordem do FFO pode derivar da receita líquida média de um nó durante um período de tempo (ou seja, receita bruta menos despesas operacionais). FFO pode então ser calculado como, por exemplo, o valor presente líquido [114] da receita líquida futura acumulada, em outras palavras, o valor descontado no tempo de todos os ganhos futuros. A receita do nó pode ser volátil, no entanto, como mostrado, por exemplo, na Figura 17. Mais importante ainda, a receita do nó pode não seguir uma distribuição estacionária ao longo do tempo. Consequentemente, outros fatores que planejamos explorar na estimativa do FFO incluem: • Histórico de desempenho: o histórico de desempenho de um operador – incluindo a exatidão e pontualidade de seus relatórios, bem como seu tempo de atividade – fornece um objetivo pedra de toque para os usuários avaliarem sua confiabilidade. O histórico de desempenho será, portanto, fornecem um fator crítico na seleção de nós oracle pelos usuários (ou, com o advento de DONs, sua seleção de DONs). É provável que um forte histórico de desempenho correlacionar com alta receita contínua.18 18Uma importante questão de investigação que pretendemos abordar é a detecção de volumes de serviços falsificados.Figura 17: Receita obtida por nós Chainlink em um único feed de dados (ETH-USD) durante uma semana representativa em março de 2021. • Acesso a dados: embora oracles possam obter muitas formas de dados de APIs abertas, certas formas de dados ou certas fontes de alta qualidade podem estar disponíveis apenas em um por assinatura ou por meio de acordos contratuais. Acesso privilegiado a determinados as fontes de dados podem desempenhar um papel na criação de um fluxo de receitas estável. • Participação de DON: Com o advento de DONs, comunidades de nós surgirão juntos para fornecer serviços específicos. Esperamos que muitos DONs incluam operadores de forma seletiva, estabelecendo participação em DONs respeitáveis como um posição privilegiada no mercado que ajuda a garantir uma fonte consistente de receitas. • Atividade entre plataformas: alguns operadores de nós podem ter presenças bem estabelecidas e registros de desempenho em outros contextos, por exemplo, como PoS validators ou provedores de dados em contextos não blockchain. O seu desempenho nestes outros sistemas (quando os dados sobre eles estão disponíveis de forma confiável) pode informar a avaliação de seu histórico de desempenho. Da mesma forma, comportamento defeituoso na rede Chainlink pode comprometer a receita nesses outros sistemas, afastando usuários, ou seja, FFO pode se estender através de plataformas. 9.6.2 FFO especulativo Os operadores de nós participam da rede Chainlink não apenas para gerar receita de operações, mas sim criar e posicionar-se para aproveitar novas oportunidades para administrar empregos. Em outras palavras, os gastos por oracle nós da rede também são uma declaração positiva sobre o futuro de DeFi e outras aplicações de contratos inteligentes domínios, bem como aplicativos emergentes não blockchain de redes oracle. Os operadores de nós hoje ganham as taxas disponíveis nas redes Chainlink existentes e, simultaneamente, Estas são vagamente análogas às avaliações falsas em sites da Internet, exceto que o problema é mais fácil no oracle porque temos um registro definitivo se as mercadorias, ou seja, relatórios, foram encomendadas e entregues - em oposição, por exemplo, a bens físicos encomendados em lojas online. Dito de outra forma, no oracle configuração, o desempenho pode ser validado, mesmo que a veracidade do cliente não possa.construir uma reputação, histórico de desempenho e conhecimento operacional que posicionará vantajosamente para ganhar taxas disponíveis em redes futuras (contingentes, é claro, sobre comportamento honesto). Os nós que operam no ecossistema Chainlink hoje irão neste sentido, têm uma vantagem sobre os recém-chegados em ganhar taxas adicionais Chainlink serviços ficam disponíveis. Esta vantagem aplica-se a novos operadores, bem como a empresas de tecnologia com reputação estabelecida; por exemplo, a T-Systems, uma tradicional fornecedor de tecnologia (subsidiária da Deutsche Telekom) e Kraken, uma grande empresa centralizada exchange, estabeleceram presenças iniciais no ecossistema Chainlink [28, 143]. Tal participação dos nós oracle em oportunidades futuras pode ser considerada em si como uma espécie de FFO especulativo e, portanto, constitui uma forma de participação no Chainlink rede. 9.6.3 Reputação Externa O IIF, como o descrevemos, pode operar em uma rede com nomes estritamente pseudônimos. operadores, ou seja, sem divulgação das pessoas ou entidades do mundo real envolvidas. Um fator potencialmente importante para a seleção de fornecedores pelos usuários, no entanto, é a reputação. Por reputação externa entendemos a percepção de confiabilidade associada a identidades do mundo real, em vez de pseudônimos. Risco reputacional associado a identidades do mundo real podem ser vistas como uma forma de incentivo implícito. Nós vemos a reputação através das lentes do IIF, ou seja, no sentido criptoeconômico, como meio de estabelecer atividade multiplataforma que pode ser incorporada nas estimativas de FFO. O benefício de usar a reputação externa como um fator nas estimativas do FFO, em oposição à ligação por pseudônimo, é que a reputação externa vincula o desempenho não apenas a um atividades atuais do operador, mas também às futuras. Se, por exemplo, uma má reputação atribui a uma pessoa individual, pode manchar os futuros empreendimentos dessa pessoa. Dito de outra forma, a reputação externa pode capturar uma faixa mais ampla de FFO do que o pseudônimo registros de desempenho, como o impacto da má conduta associada a uma pessoa ou estabelecida empresa é mais difícil de escapar do que aquela associada a uma operação pseudônima. Chainlink é compatível com tecnologias de identidade descentralizadas (Seção 4.3) que pode fornecer suporte para o uso da reputação externa no IFI. Tais tecnologias pode validar e, assim, ajudar a garantir a veracidade das declarações do mundo real afirmadas pelos operadores. identidades.19 9.6.4 Abra a análise IIF O IIF, como observamos, visa fornecer dados e ferramentas confiáveis e de código aberto para análise de incentivo implícito. O objetivo é capacitar os provedores da comunidade desenvolver análises adaptadas às necessidades de avaliação de risco de diferentes partes do Chainlink base de usuários. 19Credenciais de identidade descentralizadas também podem, quando desejado, embelezar pseudônimos com informações validadas informações complementares. Por exemplo, um operador de nó poderia, em princípio, usar essas credenciais para provar que se trata de uma empresa Fortune 500, sem revelar qual.Uma quantidade considerável de dados históricos sobre receita e desempenho dos nós reside na cadeia de uma forma imutável e de alta confiança. Nosso objetivo, no entanto, é fornecer o dados mais abrangentes possíveis, incluindo dados sobre comportamentos que são visíveis apenas fora cadeia, como relatório fora da cadeia (OCR) ou atividade DON. Esses dados podem potencialmente ser volumoso. A melhor forma de armazená-lo e garantir sua integridade, ou seja, protegê-lo de a adulteração, acreditamos, será com a ajuda de DONs, usando técnicas discutidas na Seção 3.3. Alguns incentivos se prestam a formas diretas de medição, como staking depósitos e FFO básico. Outros, como o FFO especulativo e a reputação, são mais difíceis de medir de maneira objetiva, mas acreditamos que apoiar formas de dados, incluindo crescimento histórico do ecossistema Chainlink, métricas de reputação de mídia social, etc., pode suportar modelos analíticos IIF mesmo para esses elementos mais difíceis de quantificar. Podemos imaginar que DONs dedicados surgem especificamente para monitorar, validar e registrar dados relacionados a registros de desempenho off-chain de nós, bem como outros dados usados no IIF, como informações de identidade validadas. Esses DONs podem fornecer dados IIF uniformes e de alta confiança para qualquer provedor de análise que atenda à comunidade Chainlink. Eles também fornecerão um registro de ouro que fará com que as reivindicações dos provedores de análise verificável de forma independente pela comunidade. 9.7 Juntando tudo: incentivos para operadores de nós Sintetizando nossas discussões acima sobre incentivos explícitos e implícitos para operadores de nós fornece uma visão holística das maneiras pelas quais os operadores de nós participam e se beneficiam a rede Chainlink. Como guia conceitual, podemos expressar o total de ativos em jogo por um determinado Chainlink operador de nó $S em uma forma aproximada e estilizada como: \(S ≈\)D + \(F + \)FS +$R, onde: • $D é o agregado de todas as participações explicitamente depositadas em todas as redes nas quais a operadora participa; • $F é o valor presente líquido do agregado de todos os FFO em todas as redes em em que o operador participa; • $FS é o valor presente líquido do FFO especulativo do operador; e • $R é o patrimônio reputacional do operador fora do ecossistema Chainlink que pode ser prejudicado pelo mau comportamento identificado em seus nós oracle. Embora em grande parte conceitual, essa igualdade aproximada mostra de forma útil que há uma multiplicidade de fatores econômicos que favorecem o desempenho de alta confiabilidade dos nós Chainlink. Todos esses fatores, exceto $D, estão presentes nas redes Chainlink atuais.9,8 O Ciclo Virtuoso da Segurança Económica A combinação do impacto superlinear staking com representação de pagamentos de taxas como a oportunidade de taxas futuras (FFO) no IIF pode levar ao que chamamos de ciclo virtuoso de segurança econômica em uma rede oracle. Isto pode ser visto como uma espécie de economia de escala. À medida que o montante total garantido por uma determinada rede aumenta, o montante de a participação adicional necessária para adicionar uma quantidade fixa de segurança econômica diminui, assim como o custo médio por usuário. Portanto, é mais barato, em termos de taxas, para um usuário aderir uma rede já existente do que alcançar o mesmo aumento na economia de rede segurança criando uma nova rede. É importante ressaltar que a adição de cada novo usuário diminui o custo do serviço para todos os usuários anteriores dessa rede. Dada uma estrutura de taxas específica (por exemplo, uma taxa de rendimento específica sobre o valor apostado), se o total de taxas recebidas por uma rede aumentar, isso incentiva o fluxo de recursos adicionais apostar na rede para protegê-la a uma taxa mais alta. Especificamente, se a aposta total um nó individual pode reter no sistema é limitado, então, quando novos pagamentos de taxas entrar no sistema, aumentando seu FFO, o número de nós n aumentará. Graças ao impacto superlinear staking do design do nosso sistema de incentivos, a segurança econômica de o sistema subirá mais rápido que n, por exemplo, como n2 no mecanismo que esboçamos na Seção 9.4. Como resultado, o custo médio para a segurança económica – ou seja, a quantidade de participação que contribui um dólar de segurança económica – cairá. A rede pode, portanto, cobrar de seus usuários taxas mais baixas. Supondo que a demanda por serviços oracle seja elástica (ver, por exemplo, [31] para um breve explicação), a demanda aumentará, gerando taxas e FFO adicionais. Ilustramos esse ponto com o seguinte exemplo. Exemplo 5. Visto que a segurança económica de uma rede oracle com o nosso incentivo esquema é \(dn2 for stake \)dn, a segurança econômica contribuída por um dólar de participação é n e, portanto, o custo médio por dólar de segurança econômica - ou seja, o valor da participação contribuir para um dólar de segurança económica – é 1/n. Considere uma rede na qual os incentivos económicos consistem inteiramente em FFO, limitados em \(d ≤\)10K por nó. Suponha que a rede tenha n = 3 nós. Então o custo médio por dólar de segurança económica é de cerca de 0,33 dólares. Suponha que o FFO total da rede ultrapasse \(30K (e.g., to \)31K). Dado o limite de FFO por nó, a rede cresce para (pelo menos) n = 4. Agora o custo médio por dólar de segurança económica cai para cerca de 0,25 dólares. Ilustramos esquematicamente o ciclo virtuoso completo da segurança económica nas redes oracle na Fig. Enfatizamos que o ciclo virtuoso da segurança económica deriva do efeito dos usuários agrupando suas taxas. É o seu FFO colectivo que trabalha a favor de maiores tamanhos de rede e, portanto, maior segurança coletiva. Notamos também que o ciclo virtuoso da segurança económica funciona a favor de DONs alcançarem a sustentabilidade financeira. Uma vez criados, DONs que atendem às necessidades do usuário devem crescer até e além do ponto em que a receita proveniente de taxas excede os custos operacionais para nós oracle.

Revenue earned by Chainlink nodes on a single ETH-USD data feed showing correlation with price volatility

Diagram showing how concentrated alerting rewards amplify the cost for a briber attempting to corrupt the oracle network

Schematic of Chainlink staking scheme with alerting showing watchdog escalation and penalty mechanisms

Schematic of the virtuous cycle of Chainlink staking showing how user fees drive security and value capture

Figura 18: Esquema do ciclo virtuoso de Chainlink staking. Um aumento nas taxas de utilização pagamentos para uma rede oracle 1⃝faz com que ela cresça, levando ao crescimento de sua economia segurança 2⃝. Este crescimento superlinear realiza economias de escala em redes Chainlink 3⃝. Especificamente, significa uma redução no custo médio da segurança económica, ou seja, a segurança econômica por dólar decorrente de pagamentos de taxas ou outras fontes de participação aumenta. Custos mais baixos, repassados aos usuários, estimulam o aumento da demanda por oracle serviços 4⃝. 9,9 Fatores adicionais que impulsionam o crescimento da rede À medida que o ecossistema Chainlink continua a se expandir, acreditamos que a sua atratividade para os usuários e a importância da infraestrutura para a economia blockchain irá acelerar. O valor fornecido pelas redes oracle é superlinear, o que significa que cresce mais rápidodo que o tamanho das próprias redes. Este crescimento em valor decorre tanto economias de escala – maior eficiência de custos por usuário à medida que os volumes de serviço aumentam – e efeitos de rede – um aumento da utilidade da rede à medida que os usuários adotam DONs mais amplamente. À medida que os smart contracts existentes continuam a ver mais valor garantido e totalmente novo smart contract aplicações são possibilitadas por serviços mais descentralizados, o total o uso e as taxas agregadas pagas a DONs devem aumentar. Aumentar os conjuntos de taxas em por sua vez, traduzem-se em meios e incentivos para criar serviços ainda mais descentralizados, resultando em um ciclo virtuoso. Este ciclo virtuoso resolve uma questão crítica do ovo e da galinha problema no ecossistema híbrido smart contract: recursos inovadores smart contract muitas vezes exigem serviços descentralizados que ainda não existem (por exemplo, novos mercados DeFi muitas vezes exigem novos fluxos de dados) mas precisam de procura económica suficiente para existirem. O agrupamento de taxas por vários smart contracts para DONs existentes sinalizará a demanda por serviços descentralizados adicionais a partir de uma base de utilizadores crescente, dando origem à sua criação por DONs e uma capacitação contínua de novos e variados smart contracts híbridos. Em resumo, acreditamos que o crescimento da segurança de rede impulsionado por princípios virtuosos ciclos no mecanismo Chainlink staking exemplificam padrões maiores de crescimento que a rede Chainlink pode ajudar a criar uma economia em cadeia para descentralização serviços.

結論

この文書では、Chainlink の進化のビジョンを示しました。メインテーマ このビジョンでは、oracle ネットワークがより広範囲のサービスを提供できるようにすることを目指しています。 単なるデータ配信よりも smart contract 秒。 DON を将来の分散型サービスの基盤として使用し、Chainlink は、パフォーマンスが高く機密性が強化された oracle 機能を提供することを目指します。その oracle ネットワークは強力な信頼の最小化を提供します staking や 慎重に考えられたガードレールと、依存するメインチェーンに対するサービスレベルの強制。 DONs は、レイヤー 2 システムがトランザクションに対して柔軟で公平な順序付けポリシーを適用し、メモリプール経由のトランザクションのガスコストを削減するのにも役立ちます。まとめると、 これらの機能はすべて、安全で機能豊富なハイブリッド スマートの方向に推進します。 契約。 DONs の柔軟性により、既存の Chainlink サービスが強化され、 多くの追加の smart contract 機能とアプリケーション。その中にはシームレスなものもあります さまざまなオフチェーン システムへの接続、分散型アイデンティティの作成 既存のデータ、インフラストラクチャに不可欠なデータをタイムリーに配信するための優先チャネル トランザクション、および機密保持 DeFi 文書。 私たちがここで定めたビジョンは野心的なものです。短期的には、私たちは力を与えることを目指しています ハイブリッド契約は、今日の smart contract 人の手の届かない目標を達成するために契約されますが、 長期的には、分散型メタレイヤーの実現を目指しています。幸せに絵を描くことができます コンセンサスアルゴリズムからゼロ知識証明に至るまで、新しいツールやアイデアについて コミュニティが急速に進化する研究の成果として開発しているシステム。

同様に、この文書のアイデアの実装を優先する予定です。 Chainlink のユーザー コミュニティのニーズに応えます。次のステージを楽しみにしています ユニバーサル接続を通じて smart contract を強化し、 世界の次世代金融のバックボーンとしての分散型テクノロジー そして法制度。 謝辞 この文書の図をレンダリングしてくれた Julian Alterini と Shawn Lee に感謝します。

Conclusão

Neste artigo, apresentamos uma visão para a evolução de Chainlink. O tema principal nesta visão está a capacidade das redes oracle de fornecer uma gama muito mais ampla de serviços para smart contracts do que a mera entrega de dados. Usando DONs como base para os serviços descentralizados do futuro, Chainlink terá como objetivo fornecer funcionalidade oracle de desempenho e confidencialidade aprimorada. Suas redes oracle oferecerão forte minimização de confiança através de uma combinação de mecanismos criptoeconômicos de princípios, como staking e guarda-corpos cuidadosamente concebidos e aplicação do nível de serviço em cadeias principais confiáveis. DONs também ajudarão os sistemas de camada 2 a aplicar políticas de pedidos flexíveis e justas nas transações, bem como a reduzir os custos de gás para transações roteadas em mempool. Tomados em conjunto, todos esses recursos direcionam na direção de sistemas inteligentes híbridos seguros e altamente funcionais contratos. A flexibilidade dos DONs irá melhorar os serviços Chainlink existentes e dar origem a muitos recursos e aplicativos smart contract adicionais. Entre estes estão perfeitos conexão a uma ampla variedade de sistemas fora da cadeia, criação descentralizada de identidade a partir de dados existentes, canais prioritários para ajudar a garantir a entrega oportuna de recursos críticos para a infraestrutura transações e instrumentos de preservação de confidencialidade DeFi. A visão que apresentamos aqui é ambiciosa. No curto prazo, procuramos capacitar contratos híbridos para cumprir metas além do alcance de smart contracts hoje, enquanto no longo prazo, pretendemos realizar uma metacamada descentralizada. Felizmente podemos desenhar em novas ferramentas e ideias – desde algoritmos de consenso até prova de conhecimento zero sistemas – que a comunidade está desenvolvendo como fruto de pesquisas em rápida evolução.

Da mesma forma, esperamos priorizar a implementação das ideias deste documento em resposta às necessidades da comunidade de usuários de Chainlink. Estamos ansiosos pela próxima etapa em nossa busca para capacitar smart contracts por meio da conectividade universal e estabelecer tecnologias descentralizadas como a espinha dorsal da próxima geração de recursos financeiros do mundo e sistemas jurídicos. Agradecimentos Agradecimentos a Julian Alterini e Shawn Lee pela representação das figuras neste artigo.