Chainlink: 分散型 Oracle ネットワーク

Par Steve Ellis, Ari Juels and Sergey Nazarov · 2017

Résumé

Dans ce livre blanc, nous exprimons une vision de l'évolution de Chainlink au-delà de sa conception initiale dans le livre blanc original Chainlink. Nous prévoyons un rôle de plus en plus étendu pour les réseaux oracle, dans lequel ils complètent et améliorent les blockchain existants et nouveaux en fournissant des services rapides, fiables et Connectivité universelle préservant la confidentialité et calcul hors chaîne pour smart contracts. La base de notre plan est ce que nous appelons les réseaux Oracle décentralisés, ou DONs pour faire court. Un DON est un réseau entretenu par un comité de Chainlink nœuds. Il prend en charge n'importe laquelle d'une gamme illimitée de fonctions oracle choisies pour déploiement par le comité. Un DON agit ainsi comme une puissante couche d'abstraction, offrant des interfaces pour les smart contract vers des ressources hors chaîne étendues et hautement Ressources informatiques hors chaîne efficaces mais décentralisées au sein du DON lui-même. Avec DONs comme tremplin, Chainlink prévoit de se concentrer sur les avancées dans sept domaines clés : • smart contract hybrides : offrant un cadre général puissant pour augmenter les capacités smart contract existantes en composant en toute sécurité en chaîne et des ressources informatiques hors chaîne dans ce que nous appelons des smart contract hybrides. • Faire abstraction de la complexité : présenter aux développeurs et aux utilisateurs des la fonctionnalité élimine le besoin de se familiariser avec des sous-jacents complexes protocoles et limites du système. • Mise à l'échelle : garantir que les services oracle atteignent les latences et les débits exigé par les systèmes décentralisés hautes performances. • Confidentialité : permettre des systèmes de nouvelle génération qui combinent les blockchain transparence innée avec de nouvelles protections de confidentialité solides pour les informations sensibles données. • Équité des ordres pour les transactions : prise en charge du séquençage des transactions de différentes manières qui sont équitables pour les utilisateurs finaux et empêchent les attaques frontales et autres par robots et mineurs exploiteurs. • Minimisation de la confiance : création d'une couche de support hautement fiable pour smart contracts et autres systèmes dépendants de oracle par décentralisation, ancrage fort dans des blockchain de haute sécurité, cryptographie techniques et garanties cryptoéconomiques. • Sécurité (cryptoéconomique) basée sur des incitations : concevoir rigoureusement et déployer de manière robuste des mécanismes qui garantissent que les nœuds dans les DONs ont de fortes incitations économiques à se comporter de manière fiable et correcte, même face à des adversaires disposant de ressources suffisantes. Nous présentons les innovations préliminaires et en cours de la communauté Chainlink dans chacun de ces domaines, donnant une image de l'élargissement et de la croissance croissante capacités puissantes prévues pour le réseau Chainlink.

概要

このホワイトペーパーでは、元の 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 ネットワーク向けに計画されている強力な機能。

Introduction

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

Les blockchains oracle sont souvent considérées aujourd’hui comme des services décentralisés avec un seul objectif : pour transférer les données des ressources hors chaîne vers des blockchain. Mais c'est un petit pas, du transfert de données au calcul, au stockage ou à la transmission bidirectionnelle. Cette observation justifie une notion beaucoup plus large de la fonctionnalité des oracle. Alors aussi répondre aux exigences de service croissantes des smart contract et de plus en plus multiformes technologies qui s'appuient sur les réseaux oracle. En bref, un oracle peut et devra être une interface de calcul à usage général, bidirectionnelle et entre et parmi les systèmes en chaîne et hors chaîne. Le rôle des Oracles dans l'écosystème blockchain est d'améliorer les performances, les fonctionnalités et l'interopérabilité des smart contract afin qu'ils puissent apporter de nouveaux modèles de confiance et de transparence à une multiplicité d’industries. Cette transformation passera par l’élargissement de l’utilisation des smart contract hybrides, qui fusionnent Les propriétés spéciales de blockchain avec les capacités uniques des systèmes hors chaîne tels que oracle réseaux et obtenez ainsi une portée et une puissance bien supérieures à celles des systèmes en chaîne en isolement. Dans ce livre blanc, nous exprimons une vision pour ce que nous appelons Chainlink 2.0, une évolution de Chainlink au-delà de sa conception initiale dans le livre blanc original Chainlink [98]. Nous prévoyons un rôle de plus en plus étendu pour les réseaux oracle, dans lequel ils complètent et améliorent les blockchain existants et nouveaux en fournissant une connectivité et un calcul universels rapides, fiables et préservant la confidentialité pour les systèmes hybrides. smart contracts. Nous pensons que les réseaux oracle évolueront même pour devenir des services publics pour exporter des données de haute intégrité de niveau blockchain vers des systèmes au-delà du blockchain écosystème. Aujourd'hui, les nœuds Chainlink gérés par un ensemble diversifié d'entités se réunissent dans des réseaux oracle pour relayer les données vers les smart contract dans ce que l'on appelle des rapports. Nous pouvons voir un tel oracle nœuds en tant que comité similaire à celui d'un consensus classique blockchain [72], mais dans le but de prendre en charge les blockchain existants, plutôt que de fournir des fonctionnalités autonomes. Avec fonctions aléatoires vérifiables (VRF) et reporting hors chaîne (OCR), Chainlink évolue déjà vers un cadre et une infrastructure à usage général pour fournir les ressources informatiques dont smart contract ont besoin pour fonctionnalité avancée. La base de notre plan pour Chainlink 2.0 est ce que nous appelons Oracle décentralisé. Réseaux, ou DONs en abrégé. Depuis que nous avons introduit le terme « réseau oracle » dans le livre blanc original Chainlink [98], oracles ont développé des fonctionnalités et des fonctionnalités toujours plus riches étendue d'application. Dans cet article, nous proposons une nouvelle définition du terme selon à notre vision future de l’écosystème Chainlink. Dans cette vue, un DON est un réseau maintenu par un comité de nœuds Chainlink. Ancré dans un protocole consensuel, il prend en charge n'importe laquelle d'une gamme illimitée de fonctions oracle choisies pour le déploiement par le comité. Un DON agit ainsi comme une couche d'abstraction blockchain, fournissant des interfaces aux ressources hors chaîne pour les smart contract et d'autres systèmes. Il fournit également accès à des ressources informatiques hors chaîne hautement efficaces mais décentralisées. En général, a DON prend en charge les opérations sur une chaîne principale. Son objectif est de permettre desbles hybrides smart contracts, qui combinent le calcul en chaîne et hors chaîne avec connexion à des ressources externes. Nous soulignons que même avec le recours aux comités dans les DON, Chainlink lui-même reste intrinsèquement sans autorisation. Les DON servent de fondement à un système sans autorisation cadre dans lequel les nœuds peuvent se réunir pour implémenter des réseaux oracle personnalisés avec leurs propres régimes d'inclusion de nœuds, qui peuvent être autorisés ou non. Avec DONs comme base, nous prévoyons de nous concentrer dans Chainlink 2.0 sur les avancées dans sept domaines clés : les smart contract hybrides, faisant abstraction de la complexité, de la mise à l'échelle, de la confidentialité, de l'équité des ordres pour les transactions, de la minimisation de la confiance et de la sécurité (cryptoéconomique) basée sur des incitations. Dans l'introduction de cet article, nous présentons un aperçu de la décentralisation Oracle Networks dans la section 1.1, puis nos sept domaines clés d'innovation dans la section 1.2. Nous décrivons l’organisation du reste de cet article dans la section 1.3. 1.1 Réseaux Oracle décentralisés Les réseaux Oracle décentralisés sont conçus pour améliorer et étendre les capacités de smart contracts sur une cible blockchain ou une chaîne principale via des fonctions qui sont non disponible nativement. Pour ce faire, ils fournissent les trois ressources de base trouvées dans systèmes informatiques : mise en réseau, stockage et calcul. Un DON vise à offrir ces ressources avec de fortes propriétés de confidentialité, d’intégrité et de disponibilité,1 ainsi que ainsi que la responsabilité. Les DON sont formés par des comités de nœuds oracle qui coopèrent pour remplir un objectif spécifique. un emploi ou choisir d'établir une relation à long terme afin de fournir des services persistants aux clients. Les DON sont conçus de manière indépendante de blockchain. Ils promettent de servir de un outil puissant et flexible permettant aux développeurs d'applications de créer un support hors chaîne pour leurs smart contracts sur n’importe quelle chaîne principale prise en charge. Deux types de fonctionnalités réalisent les capacités d'un DON : les exécutables et adaptateurs. Les exécutables sont des programmes qui s'exécutent en continu et de manière décentralisée sur le DON. Bien qu'ils ne stockent pas directement les actifs de la chaîne principale, ils présentent des avantages importants, notamment des performances élevées et la capacité d'effectuer des transactions confidentielles. calcul. Les exécutables s'exécutent de manière autonome sur un DON et effectuent des tâches déterministes opérations. Ils fonctionnent en synergie avec des adaptateurs qui relient le DON à des ressources externes et peut être appelé par des exécutables. Les adaptateurs, tels que nous les envisageons pour les DON, sont un généralisation des adaptateurs externes en Chainlink aujourd'hui. Alors que les adaptateurs existants généralement, ils ne récupèrent que les données des sources de données, les adaptateurs peuvent fonctionner de manière bidirectionnelle ; dans DONs, ils peuvent en outre exploiter le calcul conjoint par les nœuds DON pour obtenir fonctionnalités supplémentaires, telles que le cryptage des rapports pour une consommation respectueuse de la confidentialité par un exécutable. Pour donner une idée du fonctionnement de base d'un DON, la figure 1 montre conceptuellement comment un DON peut être utilisé pour envoyer des rapports à un blockchain et ainsi obtenir la fonctionnalité oracle traditionnelle et existante. Les DON peuvent cependant fournir de nombreuses fonctionnalités supplémentaires, au-delà 1La « triade CIA » de la sécurité de l’information [123, p. 26, §2.3.5].Les réseaux existants de Chainlink. Par exemple, dans la structure générale de la figure 1, l'exécutable pourrait enregistrer les données récupérées sur le prix des actifs sur le DON, en utilisant ces données pour calculer, par exemple, une moyenne finale pour ses rapports. Figure 1 : Figure conceptuelle montrant à titre d'exemple comment un réseau Oracle décentralisé peut réaliser la fonctionnalité de base oracle, c'est-à-dire relayer des données hors chaîne vers un contrat. Un l'exécutable utilise des adaptateurs pour récupérer les données hors chaîne, sur lesquelles il calcule, envoyant la sortie via un autre adaptateur vers une cible blockchain. (Les adaptateurs sont initiés par le code dans le DON, représenté par des petites cases bleues ; les flèches indiquent la direction du flux de données pour cette exemple particulier.) L'exécutable peut en outre lire et écrire sur le DON local stockage pour conserver l’état et/ou communiquer avec d’autres exécutables. La mise en réseau, le calcul et le stockage flexibles dans les DON, tous représentés ici, permettent une multitude de nouvelles candidatures. Un avantage majeur des DON est leur capacité à démarrer de nouveaux services blockchain. DONs sont un véhicule grâce auquel les réseaux oracle existants peuvent rapidement mettre en place des applications de service cela nécessiterait aujourd’hui la création de réseaux spécialement conçus. Nous donnons un certain nombre de des exemples de telles applications dans la section 4. Dans la section 3, nous fournissons plus de détails sur les DON, décrivant leurs capacités dans termes de l'interface qu'ils présentent aux développeurs et aux utilisateurs. 1.2 Sept objectifs de conception clés Nous passons ici brièvement en revue les sept axes clés énumérés ci-dessus pour l’évolution de Chainlink, à savoir :Hybrid smart contracts: Au cœur de notre vision pour Chainlink se trouve l'idée d'une sécurité sécurisée combinant des composants en chaîne et hors chaîne dans des smart contract. We refer to contracts concrétiser cette idée sous la forme de smart contract hybrides ou de contrats hybrides.2 Les blockchains jouent et continueront de jouer deux rôles essentiels dans les services décentralisés écosystèmes : ils sont tous deux les lieux où la propriété des cryptomonnaies est représentée. et des points d’ancrage solides pour les services décentralisés. Les contrats intelligents doivent donc être représentés ou exécutés en chaîne, mais leurs capacités en chaîne sont sévèrement limitées. Purely le code des contrats en chaîne est lent, coûteux et insulaire, incapable de bénéficier du monde réel données et une variété de fonctionnalités qui sont intrinsèquement irréalisables sur la chaîne, y compris diverses formes de calcul confidentiel, la génération de (pseudo) hasard sécurisé contre mineur / manipulation validator, etc. Pour que les smart contract réalisent leur plein potentiel, il faut donc des smart contract. être architecturé en deux parties : une partie en chaîne (que nous désignons généralement par SC) et une partie hors chaîne, un exécutable exécuté sur un DON (que nous désignons généralement par exec). L'objectif est de parvenir à une composition sécurisée de fonctionnalités en chaîne avec le multiplicité de services hors chaîne que DON visent à fournir. Together, the two parts constituer un contrat hybride. Nous présentons l'idée conceptuellement dans la figure 2. Déjà aujourd'hui, Les services Chainlink3 tels que les flux de données et les VRF permettent des performances autrement irréalisables smart contract applications, allant des DeFi aux NFT générés équitablement jusqu'à l'assurance décentralisée, comme premiers pas vers un cadre plus général. As Chainlink services développez-vous et devenez plus performant selon notre vision dans ce livre blanc, tout comme sera la puissance des systèmes smart contract sur tous les blockchain. Nos six autres objectifs clés de ce livre blanc peuvent être considérés comme agissant dans le service du premier, celui des contrats hybrides. Ces focus consistent à supprimer les éléments visibles complexité des contrats hybrides, créant des services hors chaîne supplémentaires qui permettent construction de contrats hybrides toujours plus performants et, dans le cas d’une minimisation de la confiance, renforcement des propriétés de sécurité obtenues par les contrats hybrides. We leave the idea de contrats hybrides implicites dans une grande partie du document, mais toute combinaison de La logique MAINCHAIN avec un DON peut être considérée comme un contrat hybride. Faire abstraction de la complexité : Les DON sont conçus pour utiliser des systèmes décentralisés des systèmes faciles pour les développeurs et les utilisateurs en éliminant les machines souvent complexes derrière la gamme de services puissante et flexible de DON. Services Chainlink existants ont déjà cette fonctionnalité. Par exemple, les flux de données dans Chainlink présentent aujourd'hui des interfaces en chaîne qui n'obligent pas les développeurs à se soucier des détails au niveau du protocole, comme les moyens par lesquels l'OCR applique les rapports de consensus entre un 2L'idée d'une composition de contrat en chaîne/hors chaîne est apparue précédemment dans divers contextes contraints. formulaires, par exemple, les systèmes de couche 2, les blockchains [80] basés sur TEE, etc. Notre objectif est de prendre en charge et de généraliser ces approches et garantir qu'elles peuvent englober l'accès aux données hors chaîne et d'autres oracle clés services. Les services 3Chainlink comprennent une variété de services et de fonctionnalités décentralisés disponibles via le réseau. Ils sont proposés par les nombreux opérateurs de nœuds regroupés en différents réseaux oracle across the ecosystem.Figure 2 : Figure conceptuelle illustrant la composition des contrats en chaîne/hors chaîne. Un hybride smart contract 3⃝se compose de deux composants complémentaires : un en chaîne composant SC 1⃝, résident sur un blockchain, et un composant hors chaîne exec 2⃝ qui s'exécute sur un DON. Le DON sert également de pont entre les deux composants comme connecter le contrat hybride à des ressources hors chaîne telles que des services Web, d'autres blockchains, stockage décentralisé, etc. ensemble décentralisé de nœuds. Les DON vont encore plus loin dans le sens où ils élargissent la gamme de services pour lesquels Chainlink peut offrir aux développeurs une couche d'abstraction avec accompagnant des interfaces rationalisées pour des services de haut niveau. Nous présentons plusieurs exemples d'application dans la section 4 qui mettent en évidence cette approche. Nous envisageons, par exemple, que les entreprises utilisent les DON comme forme de middleware sécurisé pour connecter leurs systèmes existants aux blockchain. (Voir la section 4.2.) Cette utilisation des DON élimine la complexité de la dynamique générale blockchain (frais, réorganisations, etc.). C'est aussi supprime les fonctionnalités de blockchain spécifiques, permettant ainsi aux entreprises de connecter leurs systèmes existants à une gamme toujours plus large de systèmes blockchain sans un besoin d'expertise spécialisée dans ces systèmes ou, plus généralement, dans le développement de systèmes décentralisés. A terme, notre ambition est de pousser le degré d'abstraction atteint par Chainlink au point de mettre en œuvre ce que nous appelons une métacouche décentralisée. Une telle couche ferait abstraction de la distinction en chaîne/hors chaîne pour toutes les classes de développeurs et les utilisateurs de DApps, permettant une création et une utilisation transparentes de services décentralisés.Pour simplifier le processus de développement, les développeurs pourraient spécifier la fonctionnalité DApp dans la métacouche en tant qu'application virtuelle dans un modèle de machine unifié. Ils pourraient puis utilisez un compilateur metallayer décentralisé pour instancier automatiquement le DApp comme un ensemble de fonctionnalités décentralisées interopérables couvrant blockchains, DONs et prestations externes. (L'un de ces services externes pourrait être un système d'entreprise, ce qui rendrait la couche méta utile pour les applications impliquant des systèmes d'entreprise existants.) la compilation s'apparente à la façon dont les compilateurs et les kits de développement logiciel (SDK) modernes aider les programmeurs généralistes à utiliser tout le potentiel du matériel hétérogène des architectures composées d'un CPU à usage général et de matériel spécialisé comme des GPU, des accélérateurs d’apprentissage automatique ou des enclaves de confiance. La figure 3 présente cette idée à un niveau conceptuel. Les smart contract hybrides sont une première étape vers cette vision et vers un concept que nous appelons méta-contrats. Les méta-contrats sont des applications codées de manière décentralisée métacouche et englobent implicitement la logique en chaîne (smart contract), ainsi que le calcul hors chaîne et la connectivité entre divers blockchain et hors chaîne existants prestations. Étant donné le besoin de prise en charge du langage et du compilateur, de nouveaux modèles de sécurité et harmonisation conceptuelle et technique de technologies disparates, mais réalisation d'un véritable métacouche décentralisé est un objectif ambitieux auquel nous aspirons depuis longtemps horizon temporel. Il s’agit néanmoins d’un modèle idéal utile à garder à l’esprit lors de la lecture ce document, non détaillé ici, mais sur lequel nous prévoyons de nous concentrer dans nos futurs travaux sur Chainlink. Mise à l'échelle : Un objectif d'une importance primordiale dans nos conceptions évolutives est de permettre au Réseau Chainlink pour répondre aux besoins d’évolutivité croissants de l’écosystème blockchain. La congestion du réseau devenant un problème récurrent dans les systèmes sans autorisation existants. blockchains [86], de nouvelles conceptions blockchain plus performantes entrent en service, par exemple, [103, 120, 203], ainsi que des technologies complémentaires de mise à l'échelle de couche 2, par exemple [5, 12, 121, 141, 169, 186, 187]. Les services Oracle doivent atteindre des latences et des débits qui répondent aux exigences de performances de ces systèmes tout en minimisant les frais en chaîne (par exemple, les coûts du gaz) pour les opérateurs contractuels et les utilisateurs ordinaires. Avec DONs, Chainlink la fonctionnalité vise à aller plus loin et à offrir des performances suffisamment élevées pour les systèmes purement Web. Les DON tirent une grande partie de leurs gains de performances de leur utilisation de protocoles de consensus rapides, basés sur des comités ou sans autorisation, qu'ils combinent avec les blockchain. ils soutiennent. Nous nous attendons à ce que de nombreux DON avec des configurations différentes fonctionnent en parallèle ; différents DApp et utilisateurs peuvent naviguer dans les compromis dans les choix consensuels sous-jacents selon les exigences de leur application. Les DON peuvent être considérés en fait comme des technologies de couche 2. Nous nous attendons à ce que parmi d'autres services, DONs prendront en charge le Transaction Execution Framework (TEF), qui facilite l'intégration efficace des DON et donc des oracle avec d'autres systèmes de couche 2 : par exemple, rollups, systèmes qui regroupent les transactions hors chaîne pour atteindre améliorations des performances. Nous introduisons le TEF dans la section 6.

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

Figure 3 : Figure conceptuelle montrant la réalisation idéale d'une métacouche décentralisée. Pour facilité de développement, un développeur spécifie une DApp, surlignée en rose, comme une application virtuelle. application dans un modèle de machine unifié. Un compilateur metallayer décentralisé génère automatiquement les fonctionnalités d'interopérabilité correspondantes : smart contracts (notées par SC), la logique (notée exec) sur les DON, les adaptateurs se connectant aux services externes cibles, etc., comme indiqué en surbrillance jaune. La figure 4 montre conceptuellement comment les DON améliorent la mise à l'échelle de blockchain (smart contract). en concentrant le traitement des transactions et des rapports oracle hors chaîne, plutôt que sur chaîne. Ce changement dans le lieu principal de calcul réduit la latence des transactions et frais tout en augmentant le débit des transactions. Confidentialité : Les blockchains offrent une transparence sans précédent pour les smart contract et les applications qu'elles réalisent. Mais il existe une tension fondamentale entre transparence et confidentialité. Aujourd’hui, par exemple, les échanges décentralisés des utilisateursFigure 4 : Figure conceptuelle montrant comment les réseaux Oracle décentralisés améliorent mise à l'échelle des smart contract compatibles blockchain. Figure A ⃝montre un oracle conventionnel architecture. Les transactions sont envoyées directement au blockchain, tout comme les rapports oracle. Ainsi, le blockchain, surligné en jaune, est le principal lieu de traitement des transactions. La figure B⃝montre l'utilisation d'un DON pour prendre en charge les contrats sur le blockchain. Un DON l'exécutable traite les transactions ainsi que les données provenant de systèmes externes et de transferts résultats (par exemple, transactions groupées ou changements d'état du contrat résultant des effets des transactions) vers le blockchain. Le DON, surligné en jaune, est donc le principal lieu de traitement des transactions. les actions sont enregistrées en chaîne, ce qui facilite le suivi du comportement d'échange, mais aussi rendre publiquement visibles les transactions financières des utilisateurs. De même, les données relayées vers smart les contrats restent en chaîne. Cela rend ces données facilement vérifiables, mais agit comme un élément dissuasif pour les fournisseurs de données souhaitant fournir aux smart contract des données sensibles ou données propriétaires. Nous pensons que les réseaux oracle joueront un rôle central dans le catalyseur de la prochaine génération des systèmes qui combinent la transparence innée des blockchain avec de nouvelles protections de confidentialité. Dans cet article, nous montrons comment ils y parviendront en utilisant trois approches principales : • Adaptateurs préservant la confidentialité : deux technologies avec déploiement planifié dans les réseaux de Chainlink, DECO [234] et Town Crier [233], permettent aux nœuds oracle de récupérer les données des systèmes hors chaîne de manière à protéger la confidentialité et les données des utilisateurs confidentialité. Ils joueront un rôle clé dans la conception des adaptateurs pour les DON. (Voir la section 3.6.2 pour plus de détails sur ces deux technologies.) • Calcul confidentiel : les DON peuvent simplement cacher leur calcul aux blockchain fiables. Grâce à des calculs multipartites sécurisés et/ou à des environnements d'exécution fiables, une confidentialité plus forte est également possible dans laquelle les nœuds DON calculer sur des données sur lesquelles ils n’ont eux-mêmes pas de visibilité.

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

• Prise en charge des systèmes confidentiels de couche 2 : le TEF est conçu pour prendre en charge une variété de systèmes de couche 2, dont beaucoup utilisent des preuves de connaissance nulle pour fournir diverses formes de confidentialité des transactions. Nous discutons de ces approches dans la section 3 (avec des détails supplémentaires dans la section 6, l'annexe B.1 et l'annexe B.2). La figure 5 présente une vue conceptuelle de la manière dont les données sensibles peuvent circuler depuis des sources externes vers un smart contract au moyen d'adaptateurs préservant la confidentialité et calcul confidentiel dans un DON. Figure 5 : Schéma conceptuel des opérations de préservation de la confidentialité dans un DON sur données sensibles (surlignées en jaune). Données sources sensibles (cercles noirs) sur le Web les serveurs sont extraits vers le DON à l'aide d'adaptateurs préservant la confidentialité (lignes bleues à double flèche). Le DON reçoit des données dérivées (cercles creux) de ces adaptateurs : le résultat de l'application d'une fonction ou, par exemple, du partage de secrets, à la source sensible données. Un exécutable sur le DON peut appliquer un calcul confidentiel aux données dérivées pour construire un rapport (double cercle), qu'il envoie via un adaptateur au blockchain. Nous pensons que des outils puissants de gestion des données confidentielles ouvriront la voie à toute une gamme d'applications. Parmi ceux-ci figurent la finance privée décentralisée (et centralisée), l'identité décentralisée, les prêts en chaîne basés sur le crédit et des solutions plus efficaces et plus efficaces. des protocoles conviviaux de connaissance du client et d’accréditation, comme nous l’expliquons dans la section 4. Équité des ordres pour les transactions : Les designs blockchain d'aujourd'hui ont un petit côté sale secret de polichinelle : Ils sont centralisés de manière éphémère. Les mineurs et les validator peuvent commander des trans-actions comme ils le souhaitent. L'ordre des transactions peut également être manipulé par les utilisateurs comme en fonction des frais de réseau qu'ils paient (par exemple, les prix du gaz en Ethereum) et à certains dans une large mesure en tirant parti de connexions réseau rapides. Une telle manipulation peut, par exemple par exemple, prendre la forme d'un front-running, dans lequel un acteur stratégique tel qu'un mineur observe la transaction d'un utilisateur et insère sa propre transaction d'exploitation dans une transaction antérieure position dans le même bloc – voler efficacement de l’argent à l’utilisateur en tirant parti de la connaissance préalable de la transaction de l’utilisateur. Par exemple, un robot peut passer un ordre d'achat avant celui d’un utilisateur. Elle peut alors profiter de la hausse du prix des actifs induite par la le métier de l’utilisateur. Certains robots sont à l'avant-garde et nuisent aux utilisateurs ordinaires (analogue à la haute fréquence) le trading à Wall Street – est déjà répandu et bien documenté [90], tout comme le sont les autres des attaques telles que le back-running [159] et la simulation de transactions automatisées [195]. Des propositions visant à systématiser l’exploitation des commandes par les mineurs ont même fait surface récemment [110]. Les technologies de couche 2 telles que les rollup ne résolvent pas le problème, mais se contentent de recentraliser commande, en le plaçant entre les mains de l'entité qui crée un rollup. L'un de nos objectifs est d'introduire dans Chainlink un service appelé Fair Sequencing. Services (FSS) [137]. FSS aide les concepteurs smart contract à garantir une commande équitable pour leurs transactions et éviter les attaques de front, de back-running et associées sur les transactions des utilisateurs ainsi que sur d'autres types de transactions, telles que la transmission de rapports oracle. FSS permet à un DON de mettre en œuvre des idées telles que la notion rigoureuse et temporelle d'ordre équitable introduite dans [144]. Comme avantage accessoire, le FSS peut également réduire la consommation du réseau des utilisateurs. frais (par exemple, les frais d’essence). En bref, dans FSS, les transactions passent par le DON, plutôt que de se propager directement vers une cible smart contract. Le DON commande les transactions puis les transmet les au contrat. Figure 6 : Exemple de la manière dont le FSS est bénéfique. Figure A ⃝montre comment un mineur, exploitant son pouvoir centralisé d'ordonner des transactions, peut échanger une paire de transactions : transaction 1⃝ arrive avant 2⃝, mais le mineur le séquence après 2⃝. En revanche, la figure B⃝montre comment un DON décentralise le processus de commande entre les nœuds DON. Si un quorum de les nœuds honnêtes reçoivent 1⃝avant 2⃝, le FSS fait apparaître 1⃝ avant 2⃝sur la chaîne— empêcher la réorganisation des mineurs en attachant des numéros de séquence exécutoires au contrat. La figure 6 compare l'exploitation minière standard avec FSS. Il montre comment dans le minage standard,le processus de commande des transactions est centralisé chez le mineur et donc soumis à manipulation, telle que réorganiser une paire de transactions par rapport à leur arrivée fois. En revanche, dans FSS, le processus est décentralisé entre les nœuds DON. En supposant un quorum de nœuds honnêtes, FSS aide à appliquer des politiques telles que l'ordre temporel des transactions, réduisant ainsi les possibilités de manipulation par les mineurs et d’autres entités. De plus, étant donné que les utilisateurs n'ont pas besoin de rivaliser pour obtenir des commandes préférentielles basées sur le prix du gaz, ils peuvent payer des prix du gaz relativement bas (alors que les transactions du DON peuvent être regroupées pour les économies de gaz). Minimisation de la confiance : Notre objectif général dans la conception des DON est de faciliter une couche de support fiable pour les smart contract et autres systèmes dépendants de oracle au moyen de la décentralisation, d’outils cryptographiques et de garanties cryptoéconomiques. Un DON lui-même est décentralisé et les utilisateurs peuvent choisir parmi n'importe quel DON disponible qui prend en charge la chaîne principale sur laquelle ils souhaitent opérer ou générer des DON supplémentaires avec des comités de nœuds en qui ils ont confiance. Cependant, pour certaines applications, en particulier les smart contract, les utilisateurs de Chainlink peuvent privilégier un modèle de confiance qui traite la chaîne principale soutenue par un DON comme plus digne de confiance que le DON lui-même. Pour ces utilisateurs, nous avons déjà ou prévoyons d'intégrer dans le architecture du réseau Chainlink un certain nombre de mécanismes permettant de conclure des contrats sur une chaîne principale pour renforcer les garanties de sécurité fournies par les DON, tandis qu'au en même temps, en appliquant également des protections contre la possibilité de sources de données corrompues tels que les serveurs Web à partir desquels le DON obtient des données. Nous décrivons ces mécanismes dans la section 7. Ils se répartissent en cinq rubriques principales : • Authentification de la source de données : outils permettant aux fournisseurs de données de signer numériquement leurs données et renforcer ainsi la chaîne de contrôle entre l'origine et contrat de confiance. • Rapports minoritaires DON : indicateurs émis par un sous-ensemble minoritaire de nœuds DON qui observe des malversations majoritaires dans le DON. • Garde-corps : logique sur une chaîne principale qui détecte les conditions anormales et les pauses ou interrompt l'exécution du contrat (ou invoque d'autres mesures correctives). • Gouvernance minimisant la confiance : utilisation de mises à jour à publication progressive pour faciliter l'inspection communautaire, ainsi que d'interventions d'urgence décentralisées pour des interventions rapides. réponse aux pannes du système. • Authentification d'entité décentralisée : utilisation d'une infrastructure à clé publique (PKI) pour identifier les entités du réseau Chainlink. La figure 7 présente un schéma conceptuel de nos objectifs de minimisation de la confiance. Sécurité (cryptoéconomique) incitative : La décentralisation de la génération de rapports sur les nœuds oracle permet de garantir la sécurité même lorsque certains nœuds sont corrompus.

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

Figure 7 : Représentation conceptuelle de l'objectif de minimisation de la confiance de Chainlink, qui consiste à minimiser le besoin des utilisateurs d'un comportement correct du DON et des sources de données telles que le Web serveurs. Les surlignages jaunes dans la figure indiquent des loci de minimisation de la confiance : le DON et ensembles individuels ou minoritaires de serveurs Web. Les surlignages roses indiquent les composants du système qui sont très fiables par hypothèse : des contrats sur le blockchain et une majorité de serveurs Web, c'est-à-dire les serveurs Web dans leur ensemble. Il est tout aussi important de s’assurer que les nœuds bénéficient d’une incitation financière à se comporter correctement. Jalonnement, c'est-à-dire exiger que les nœuds fournissent des dépôts de LINK et slashing (confiser) ces dépôts en cas de mauvaise conduite, jouera un rôle clé dans Chainlink. Il s'agit d'un modèle d'incitation important déjà utilisé dans un certain nombre de blockchain, par exemple, [81, 103, 120, 204]. Cependant, le jalonnement dans Chainlink semble très différent de celui de staking en mode autonome. blockchains. Le jalonnement dans blockchains vise à empêcher les attaques contre le consensus. Il a un objectif différent dans Chainlink : garantir la livraison en temps opportun de rapports oracle corrects. Un système staking bien conçu pour un réseau oracle devrait rendre les attaques telles que la corruption non rentable pour un adversaire, même lorsque la cible est un smart contract avec un valeur monétaire. Dans cet article, nous présentons une approche générale de staking en Chainlink avec trois clés innovations :1. Un modèle accusatoire puissant qui englobe les attaques négligées dans les approches. Un exemple est ce que nous appelons la corruption potentielle. C'est une forme de corruption qui détermine quels nœuds reçoivent des pots-de-vin sur une base conditionnelle, par exemple, offre des pots-de-vin garantis à l'avance aux nœuds qu'un mécanisme staking sélectionne à aléatoire pour des rôles particuliers (comme le déclenchement de l'évaluation du rapport). 2. Impact super-linéaire staking, signifiant officieusement que pour réussir, un adversaire doit disposer d'un budget de milliards de dollars supérieur aux dépôts combinés de tous les oracle. nœuds. Plus précisément, nous entendons qu'en fonction de n, \(B(n) ≫\)dn dans un réseau de n nœuds oracle chacun avec un montant de dépôt fixe $d (plus formellement, \(B(n) is asymptotically larger in n than \)dn). La figure 8 donne une vue conceptuelle de cette propriété. 3. Le cadre d'incitation implicite (IIF), un modèle d'incitation que nous avons conçu pour englober des incitations empiriquement mesurables au-delà des dépôts explicites staking fonds, y compris les futures opportunités de frais des nœuds. L'IIF étend la notion de mise au-delà des dépôts de nœuds explicites. Figure 8 : Diagramme conceptuel illustrant la mise à l'échelle super-linéaire dans Chainlink staking. Le le pot-de-vin $B(n) requis par un adversaire croît plus vite en n que les dépôts combinés $dn de tous les nœuds oracle. Nous montrons comment l'impact IIF et l'impact super-linéaire staking induisent ensemble ce que nous appeler un cercle vertueux de sécurité économique pour les réseaux oracle. Lorsque de nouveaux utilisateurs entrent

le système, augmentant les revenus potentiels futurs liés à l'exécution de nœuds Chainlink, le le coût marginal de la sécurité économique diminue pour les utilisateurs actuels et futurs. Dans un régime de demande élastique, cette diminution du coût incite des utilisateurs supplémentaires à utiliser le réseau, perpétuant continuellement l’adoption dans un cercle vertueux continu. Remarque : Bien que ce livre blanc présente des éléments importants de notre vision de l'évolution de Chainlink, il est informel et comprend peu de spécificités techniques détaillées. Nous prévoyons de publier des documents techniques ciblés sur des fonctionnalités et des approches supplémentaires au fur et à mesure de leur évolution. Par ailleurs, il est important de souligner que de nombreux éléments de la vision présentée ici (améliorations de mise à l'échelle, technologies de confidentialité, FSS, etc.) peuvent et seront déployé sous forme préliminaire avant même que les DON avancés ne deviennent une fonctionnalité de base de Chainlink. 1.3 Organisation de ce document Nous présentons notre modèle de sécurité et notre notation dans la section 2 et décrivons le système décentralisé. API Oracle Network dans la section 3. Dans la section 4, nous présentons un certain nombre d'exemples de applications pour lesquelles les DON fournissent une plate-forme de déploiement attrayante. Les lecteurs peuvent Apprenez la plupart des concepts clés de l'article en lisant jusqu'à présent. Le reste du document contient des détails supplémentaires. Nous décrivons le séquençage équitable Services (FSS) dans la section 5 et le Transaction-Execution Framework (TEF) dans la section 6. Nous décrivons notre approche de la minimisation de la confiance dans la section 7. Nous considérons certains exigences de déploiement importantes DON, à savoir le déploiement incrémentiel de fonctionnalités, l'adhésion dynamique au grand livre et la responsabilité dans la section 8. Enfin, dans la section 9, nous donnons un aperçu de notre approche en développement en matière de conception d’incitations. Nous concluons dans la section 10. Pour aider les lecteurs qui ont une familiarité limitée avec les concepts de cet article, nous fournir un glossaire à l'annexe A. Nous présentons plus de détails sur l'interface DON et les fonctionnalités dans l'Annexe B et présentent quelques exemples d'adaptateurs dans l'Annexe C. Dans l'Annexe D, nous décrivons une primitive cryptographique pour les sources de données à confiance minimisée. authentification appelée signatures fonctionnelles et introduire une nouvelle variante appelée signatures fonctionnelles discrétisées. Nous discutons de quelques considérations portant sur le comité sélection pour DONs à l’annexe F.

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

導入

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

Modèle et objectifs de sécurité

Un réseau Oracle décentralisé est un système distribué distinct qui, nous l'espérons, être initialement mis en œuvre généralement – mais pas nécessairement – par un comité protocole de consensus et géré par un ensemble de nœuds oracle. Un DON est conçu principalement pour augmenter les capacités d'un smart contract sur une chaîne principale avec des rapports oracle et d'autres services, mais il peut fournir ces mêmes services de support à d'autres systèmes non blockchain, et n'a donc pas besoin d'être associé à une chaîne principale particulière.

Le modèle et les propriétés que nous considérons sont donc largement indépendants de l'utilisation de les applications particulières d'un DON. 2.1 Modèle architectural actuel Il est important de souligner que Chainlink n'est aujourd'hui pas un service monolithique, mais plutôt un cadre sans autorisation dans lequel il est possible de lancer des réseaux de oracle nœuds [77]. Les réseaux ont des ensembles hétérogènes d'opérateurs de nœuds et dessins. Ils peuvent également différer en termes de types de services qu'ils fournissent, ce qui peut inclure, par exemple, les flux de données, les preuves de réserves, le caractère aléatoire vérifiable, etc. Autre Les différences peuvent inclure le degré de décentralisation, la taille du réseau en termes de valeur verrouillée qu'il prend en charge et divers paramètres de niveau de service, tels que la fréquence des données et la précision. Le modèle sans autorisation de Chainlink encourage la croissance d'un écosystème dans lequel les prestataires se spécialisent dans les services qu’ils sont les plus à même de fournir à la communauté. Ceci Le modèle est susceptible d'entraîner des coûts inférieurs pour les utilisateurs et une qualité de service supérieure à celle d'un modèle. qui nécessite que tous les nœuds et réseaux fournissent une gamme complète de services, une approche qui peut facilement déboucher sur l’adoption à l’échelle du système des services représentant le moins dénominateur commun des ressources disponibles pour les nœuds. À mesure que Chainlink évolue vers des conceptions basées sur DON dans Chainlink 2.0, nous continuons à soutenir le modèle d'un cadre ouvert et sans autorisation, en gardant à l'esprit l'objectif de offrir aux utilisateurs une gamme de choix de services qui aboutissent globalement à la meilleure correspondance avec des exigences d'application particulières. 2.2 Hypothèses consensuelles Nous utilisons le terme réseau Oracle décentralisé pour englober toutes les fonctionnalités de le système oracle que nous décrivons : à la fois la structure de données que les nœuds oracle maintiennent et l'API principale superposée. Nous utilisons le terme grand livre (minuscules), noté L, pour désigner les données sous-jacentes structure maintenue par un DON et utilisée pour soutenir les services particuliers qu'elle fournit. Nous soulignons que notre framework DON ne traite pas L comme un système autonome comme a blockchain : son objectif est de prendre en charge les blockchain et d'autres systèmes. Les blockchains sont, bien sûr, une manière de réaliser un grand livre fiable, mais il en existe d’autres. Nous nous attendons DONs dans de nombreux cas pour réaliser leurs grands livres sous-jacents à l'aide de Byzantine Fault Tolerant (BFT), qui sont considérablement antérieurs aux blockchain tels que Bitcoin [174]. Nous utilisons notation et propriétés de type BFT tout au long du document pour plus de commodité, bien que nous soulignez que les DON peuvent être réalisés à l’aide de protocoles de consensus sans autorisation. Conceptuellement, un grand livre L est un tableau d'affichage sur lequel les données sont ordonnées de manière linéaire. Nous considérons généralement un grand livre comme ayant quelques propriétés clés communément attribuées à blockchains [115]. Un grand livre est : • Ajout uniquement : Les données, une fois ajoutées, ne peuvent pas être supprimées ou modifiées.• Public : Tout le monde peut lire son contenu, qui est cohérent dans le temps. vue de tous les utilisateurs.4 • Disponible : le grand livre peut toujours être écrit par des rédacteurs autorisés et lu par quiconque en temps opportun. Des propriétés alternatives sont possibles dans le grand livre pour un DON lorsqu'elles sont réalisées par un comité. Par exemple, l'accès en écriture au grand livre peut être restreint à certains utilisateurs, comme peut avoir un accès en lecture pour certaines applications, c'est-à-dire que le grand livre n'a pas besoin d'être public comme défini ci-dessus. De même, les règles du grand livre peuvent permettre la modification ou la suppression des données. Nous ne le faisons pas Cependant, nous considérons explicitement de telles variantes dans cet article. La conception modulaire des DON peut prendre en charge n'importe lequel d'une grande variété de BFT modernes protocoles, par exemple, Hotstuff[231]. Le choix exact dépendra des hypothèses de confiance et caractéristiques du réseau entre les nœuds oracle. Un DON pourrait en principe alternativement utiliser un blockchain sans autorisation hautement performant pour son grand livre dans son rôle de support d'un système de couche 2 ou blockchain également évolutif. De même, l'hybridation est également possible : Le DON pourrait en principe être composé de nœuds qui sont des validator dans un réseau existant. blockchain, par exemple, dans les systèmes de preuve de participation dans lesquels les comités sont sélectionnés pour exécuter transactions, par exemple [8, 81, 120, 146, 204]. Ce mode de fonctionnement particulier nécessite que les nœuds fonctionnent à double usage, c'est-à-dire fonctionnent à la fois en tant que nœuds blockchain et DON nœuds. (Voir la section 8.2 pour une discussion sur les techniques permettant d'assurer la continuité des changements. comités et l’annexe F pour quelques mises en garde sur la sélection aléatoire des comités.) En pratique, dans les algorithmes BFT modernes, les nœuds signent numériquement les messages sur le grand livre. Nous supposons par commodité que L est associé à une clé publique pkL et que son contenu sont signés par la clé privée correspondante. Cette notation générale s'applique même lorsque les données sur L sont signées à l’aide de signatures à seuil.5 Les signatures à seuil sont pratiques, car ils permettent une identité persistante pour un DON même avec des changements d'adhésion dans les nœuds qui l'exécutent. (Voir Annexe B.1.3.) Nous supposons donc que skL est partagé en secret d'une manière (k, n)-seuil pour certains paramètres de sécurité k, par exemple k = 2f + 1 et n = 3f + 1, où f est le nombre de nœuds potentiellement défectueux. (En choisissant k dans ce De cette manière, nous nous assurons que les nœuds défectueux ne peuvent ni apprendre skL ni monter un déni de service attaque empêchant son utilisation.) Un message sur L prend la forme M = (m, z), où m est une chaîne et z un unique numéro d'index séquentiel. Le cas échéant, nous écrivons les messages sous la forme m = ⟨MessageType : charge utile⟩. Le type de message MessageType est un sucre syntaxique qui indique la fonction d'un message particulier. 4Dans les cas où un blockchain sans finalité réalise un grand livre, l'incohérence est généralement abstraite en ignorant les blocs insuffisamment profonds ou en « élaguant » [115]. 5En pratique, certaines bases de code, par exemple LibraBFT [205], une variante de Hotstuff, ont actuellement adopté des signatures multiples, plutôt que des signatures à seuil, offrant une complexité de communication réduite pour une ingénierie plus simple. Moyennant un coût supplémentaire, les nœuds oracle peuvent ajouter des signatures de seuil aux messages écrits dans L même si le protocole de consensus utilisé pour L ne les emploie pas.2.3 Notation Nous notons l'ensemble des n nœuds oracle exécutant le grand livre par O = {Oi}n je = 1. Un tel un ensemble de nœuds est souvent appelé un comité. Pour simplifier, nous supposons que l’ensemble de oracles implémentant la fonctionnalité DON, c'est-à-dire les services au-dessus de L, est identique à cela maintenant L, mais ils peuvent être distincts. On laisse pki désigner la clé publique de joueur Oi, et skiez la clé privée correspondante. La plupart des algorithmes BFT nécessitent au moins n = 3f + 1 nœuds, où f est le nombre de nœuds potentiellement défectueux ; les nœuds restants sont honnêtes, dans le sens où ils suivent le protocole exactement comme spécifié. Nous qualifions le comité O d'honnête s'il répond à ces critères exigence, c'est-à-dire qu'elle comporte plus d'une fraction des 2/3 de nœuds honnêtes. Sauf autrement dit, nous supposons que O est honnête (et un modèle statique de corruption). Nous utilisons pkO / skO de manière interchangeable avec pkL / skL, selon le contexte. On laisse σ = Sigpk[m] désigner une signature sur le message m par rapport à pk, c'est-à-dire en utilisant clé privée correspondante sk. Soit verify(pk, σ, m) →{false, true} désignant un algorithme de vérification de signature correspondant. (Nous laissons la génération de clés implicite tout au long du document.) Nous utilisons la notation S pour désigner une source de données et S pour désigner l'ensemble complet de nS sources dans un contexte donné. Nous désignons par MAINCHAIN un contrat intelligent activé blockchain soutenu par un DON. Nous utilisons le terme contrat de confiance pour désigner tout contrat intelligent. contrat sur MAINCHAIN qui communique avec un DON, et utiliser la notation SC pour désigner un tel contrat. Nous supposons généralement qu'un DON prend en charge une seule chaîne principale MAINCHAIN, bien qu'il puisse prendre en charge plusieurs de ces chaînes, comme nous le montrons dans les exemples de la section 4. A DON peut et prendra généralement en charge plusieurs contrats dépendants de MAINCHAIN. (Comme Comme indiqué ci-dessus, un DON peut également prendre en charge des services non blockchain.) 2.4 Remarque sur les modèles de confiance Comme indiqué ci-dessus, les DON peuvent être construits sur des protocoles de consensus basés sur des comités, et nous s'attendre à ce qu'ils utilisent couramment de tels protocoles. Il existe de nombreux arguments solides selon lesquels l'une des deux alternatives, blockchains basées sur un comité ou sans autorisation, fournit sécurité plus forte que l’autre. Il est important de reconnaître que la sécurité des systèmes basés sur des comités ou sans autorisation les systèmes décentralisés sont incommensurables. Compromettre un PoW ou un PoS blockchain via une attaque à 51% nécessite qu'un adversaire obtienne des ressources majoritaires de manière éphémère et potentiellement de manière anonyme, par exemple en louant de l'énergie hash dans un système PoW. Tel les attaques en pratique ont déjà touché plusieurs blockchains [200, 34]. En revanche, compromettre un système basé sur des comités signifie corrompre un nombre seuil (généralement un tiers) de ses nœuds, lorsque ces nœuds peuvent être publiquement connus, bien dotés en ressources, et des entités dignes de confiance. D’un autre côté, les systèmes basés sur des comités (ainsi que les systèmes « hybrides » sans autorisation) systèmes qui soutiennent les comités) peuvent prendre en charge plus de fonctionnalités que ce qui est strictement prévu.systèmes sans mission. Cela inclut la capacité de conserver des secrets persistants, tels que clés de signature et/ou de chiffrement : une possibilité dans nos conceptions. Nous soulignons que les DON peuvent en principe être construits au sommet d'un comité ou d'un comité. protocole de consensus sans autorisation et les déployeurs DON peuvent finalement choisir d'adopter quelle que soit l’approche. Renforcer les modèles de confiance : Une fonctionnalité clé de Chainlink aujourd'hui est la possibilité pour les utilisateurs de sélectionner les nœuds en fonction des enregistrements décentralisés de leurs historiques de performances, comme indiqué à la section 3.6.4. Le mécanisme staking et le cadre d'incitation implicite que nous introduisons dans la section 9 constituent ensemble une conception de mécanisme rigoureuse et de grande envergure. qui donnera aux utilisateurs une capacité considérablement accrue d'évaluer la sécurité des DON. Ce même cadre permettra également aux DON eux-mêmes pour appliquer diverses exigences de sécurité sur les nœuds participants et assurer le fonctionnement dans le cadre de modèles de confiance solides. Il est également possible d'utiliser les outils décrits dans ce document pour les DON afin d'appliquer des exigences particulières du modèle de confiance, telles que la conformité aux exigences réglementaires. Pour Par exemple, en utilisant les techniques décrites à la section 4.3, les nœuds peuvent présenter des preuves de caractéristiques de l'opérateur de nœud, par exemple le territoire d'exploitation, qui peuvent être utilisées pour aider faire respecter, par exemple, l'article 3 du Règlement général sur la protection des données (RGPD) (« Champ d'application territorial ») [105]. Une telle conformité peut autrement être difficile à se réunissent dans des systèmes décentralisés [45]. De plus, dans la section 7, nous discutons des plans visant à renforcer la robustesse des DON. grâce à des mécanismes de minimisation de la confiance sur les principales chaînes qu’ils soutiennent.

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

分散型 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 の堅牢性を強化する計画について説明します。 サポートするメインチェーンの信頼最小化メカニズムを通じて。

Interface réseau Oracle décentralisée et Ca-

pabilités Ici, nous décrivons brièvement les capacités des DON en termes de fonctionnalités simples mais puissantes. interface pour laquelle ils sont conçus. Les applications sur un DON sont composées d'exécutables et d'adaptateurs. Un exécutable est un programme dont la logique de base est un programme déterministe, analogue à un smart contract. Un exécutable est également accompagné d'un certain nombre d'initiateurs, de programmes qui appellent l'entrée points dans la logique de l'exécutable lorsque des événements prédéterminés se produisent, par exemple à certains moments (comme une tâche cron), lorsqu'un prix franchit un seuil, etc., un peu comme Keepers (voir Section 3.6.3). Les adaptateurs fournissent des interfaces vers les ressources hors chaîne et peuvent être appelés par soit les initiateurs, soit la logique de base dans les exécutables. Comme leur comportement peut en dépendre des ressources externes, des initiateurs et des adaptateurs peuvent se comporter de manière non déterministe. Nous décrivons l'interface développeur DON et le fonctionnement des exécutables et adaptateurs en termes de trois ressources généralement utilisées pour caractériser les systèmes informatiques : mise en réseau, calcul et stockage. Nous donnons un bref aperçu de chacun d’eux ressources ci-dessous et fournissez plus de détails à l’annexe B.

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

3.1 Réseautage Les adaptateurs sont des interfaces via lesquelles les exécutables exécutés sur un DON peuvent envoyer et recevoir des données de systèmes hors-DON. Les adaptateurs peuvent être considérés comme une généralisation de les adaptateurs utilisés dans Chainlink aujourd'hui [20]. Les adaptateurs peuvent être bidirectionnels, c'est-à-dire qu'ils ne peut pas simplement extraire, mais transmettre les données d'un DON vers un serveur Web. Ils peuvent également tirer parti protocoles distribués ainsi que des fonctionnalités cryptographiques telles que le multipartite sécurisé calcul. Figure 9 : Adaptateurs connectant un DON, noté DON1, à une gamme de ressources différentes, dont un autre DON, noté DON2, un blockchain (chaîne principale) et son mempool, stockage externe, un serveur Web et des appareils IoT (via un serveur Web). Des exemples de ressources externes pour lesquelles des adaptateurs peuvent être créés sont présentés sur la figure 9. Ils comprennent : • Blockchains : un adaptateur peut définir comment envoyer des transactions à un blockchain et comment en lire des blocs, des transactions individuelles ou un autre état. Un adaptateur peut également être défini pour le pool de mémoire d’un blockchain. (Voir la section 3.5.) • Serveurs Web : les adaptateurs peuvent définir des API via lesquelles les données peuvent être récupérées. à partir de serveurs Web, y compris les systèmes existants qui ne sont pas spécialement adaptés pour interface avec les DON. De tels adaptateurs peuvent également inclure des API pour envoyer des données à de tels serveurs. Les serveurs Web auxquels se connecte un DON peuvent servir de passerelles à des ressources supplémentaires, telles que les appareils Internet des objets (IoT).• Stockage externe : un adaptateur peut définir des méthodes de lecture et d'écriture sur le stockage. services en dehors du DON, comme un système de fichiers décentralisé [40, 188] ou un cloud stockage. • Autres DON : les adaptateurs peuvent récupérer et transmettre des données entre DON. Nous prévoyons que les déploiements initiaux de DON incluront un ensemble de blocs de construction adaptateurs pour ces ressources externes couramment utilisées et permettra en outre à DON-spécifiques adaptateurs à publier par les nœuds DON. Alors que les développeurs smart contract écrivent des adaptateurs aujourd'hui, nous nous attendons à ce qu'ils construisent des adaptateurs encore plus puissants en utilisant cette avancée fonctionnalité. Nous espérons qu'à terme, il sera possible pour les utilisateurs de créer de nouveaux adaptateurs de manière simple. manière sans autorisation. Certains adaptateurs doivent être construits de manière à garantir la persistance et la disponibilité des ressources externes contrôlées par un DON. Par exemple, le stockage cloud peut nécessitent la maintenance d’un compte de services cloud. De plus, un DON peut effectuer gestion décentralisée des clés privées pour le compte des utilisateurs (comme dans, par exemple, [160]) et/ou exécutables. Par conséquent, le DON est capable de contrôler des ressources, telles que la cryptomonnaie, qui peuvent être utilisées, par exemple, pour envoyer des transactions sur une cible blockchain. Voir l'Annexe B.1 pour plus de détails sur les adaptateurs DON, ainsi que l'Annexe C pour quelques exemples d'adaptateurs. 3.2 Calcul Un exécutable est l'unité de code de base sur un DON. Un exécutable est une paire exec = (logique, initialisation). Ici, la logique est un programme déterministe avec un certain nombre d'entrées désignées points (logic1, logic2, . . . , logicℓ) et init est un ensemble d'initiateurs correspondants (init1, init2, . . . , inite). Pour garantir la pleine auditabilité du DON, la logique d'un exécutable utilise le grand livre sous-jacent L pour toutes les entrées et sorties. Ainsi, par exemple, tout adaptateur les données servant d’entrée à un exécutable doivent être stockées en premier sur L. Initiateurs : Les initiateurs de Chainlink provoquent aujourd'hui des exécutions de tâches dépendantes des événements sur Chainlink nœuds [21]. Les initiateurs des DON fonctionnent à peu près de la même manière. Un initiateur DON, cependant, est spécifiquement associé à un exécutable. Un initiateur peut dépendre sur un événement ou un état externe, sur l'heure actuelle ou sur un prédicat sur l'état DON. En raison de leur dépendance aux événements, les initiateurs peuvent bien entendu se comporter de manière non déterministe. (tout comme bien sûr les adaptateurs). Un initiateur peut s'exécuter au sein de nœuds DON individuels et il n'est donc pas nécessaire de compter sur un adaptateur. (Voir l'exemple 1 ci-dessous.) Les initiateurs sont une fonctionnalité importante qui distingue les exécutables des smart contract. Parce qu'un exécutable peut s'exécuter en réponse à un initiateur, il peut fonctionner efficacement de manière autonome, comme bien sûr par extension un contrat hybride intégrant l’exécutable. Aujourd'hui, une forme d'initiateurs sont les Chainlink Keepers, qui assurent les transactionsdes services d'automatisation, déclenchant l'exécution de smart contract, comme la liquidation de prêts sous-garantis et l'exécution de transactions à ordre limité, sur la base des rapports oracle. Idéalement, les initiateurs des DON peuvent également être considérés comme un moyen de spécifier le les contrats de service qui s'appliquent à un exécutable, car ils définissent les circonstances dans que le DON doit l'appeler. L'exemple suivant illustre le fonctionnement des initiateurs dans un exécutable : Exemple 1 (flux de prix déclenché par un écart). Un smart contract SC peut nécessiter un nouveau données d'information sur les prix (voir la section 3.6.3) chaque fois qu'il y a un changement substantiel, par exemple 1 %, dans le taux de change entre une paire d’actifs, par exemple ETH-USD. Prix sensible à la volatilité les flux sont pris en charge dans Chainlink aujourd'hui, mais il est instructif de voir comment ils peuvent être réalisé sur un DON au moyen d'un execfeed exécutable. L'exécutable execfeed maintient le prix ETH-USD le plus récent r sur L, dans le forme d'une séquence de ⟨NewPrice : j, r⟩entries, où j est un indice incrémenté de each price update. Un initiateur init1 amène chaque nœud Oi à surveiller le prix actuel ETH-USD pour des écarts d'au moins 1 % par rapport au prix r le plus récemment enregistré avec l'indice j. Upon détection d'un tel écart, Oi écrit sa vue actuelle ri du nouveau prix sur L en utilisant une entrée de la forme ⟨PriceView : i, j + 1, ri⟩. Un deuxième initiateur init2 se déclenche lorsqu'au moins k de telles entrées PriceView avec un nouveau prix les valeurs de l'index j + 1 créées par des nœuds distincts se sont accumulées sur L. Ensuite, init2 invoque une logique de point d'entrée2 pour calculer la médiane ρ des k premières valeurs priceview fraîches et valides et écrit une nouvelle valeur ⟨NewPrice : j + 1, ρ⟩to L . (Operationally, nodes peuvent se relayer en tant qu'écrivains désignés.) Un troisième initiateur, init3, surveille les entrées NewPrice sur L. Chaque fois qu'un nouveau rapport ⟨NewPrice : j, r⟩apparaît là, il invoque une logique de point d'entrée3 qui pousse (j, r) vers SC using an adapter. Comme nous l'avons noté, un exécutable est similaire dans ses capacités à un smart contract. Outre ses performances plus élevées, il diffère d'un contrat de chaîne principale typique. in two essential ways: 1. Confidentialité : un exécutable peut effectuer des calculs confidentiels, c'est-à-dire qu'un programme secret peut traiter des entrées en texte clair, ou qu'un programme publié peut traiter des entrées en texte clair. données d'entrée secrètes, ou une combinaison des deux. Dans un modèle simple, les données secrètes peuvent être accessible par les nœuds DON, qui masquent les résultats intermédiaires et ne divulguent que valeurs traitées et désinfectées vers MAINCHAIN. Il est également possible de dissimuler des données sensibles aux DON eux-mêmes : les DON sont destinés à prendre en charge des approches telles que comme le calcul multipartite, par exemple [42, 157], et les environnements d'exécution fiables (TEE) [84, 133, 152, 229] à cet effet.6 6Par extension, garder secrets les exécutables eux-mêmes vis-à-vis des nœuds DON est également possible, bien que cela ne soit pratique aujourd'hui que pour les exécutables non triviaux utilisant des TEE.2. Rôle de support : un exécutable est destiné à prendre en charge les smart contract sur un serveur principal. chaîne, plutôt que de les remplacer. Un exécutable a plusieurs limitations qu'un smart contract ne : (a) Modèle de confiance : un exécutable fonctionne dans le modèle de confiance défini par le DON : Sa bonne exécution repose sur le comportement honnête de O. (Un principal La chaîne peut cependant fournir des garde-fous contre les malversations DON, car discuté à la section 7.3.) (b) Accès aux actifs : un DON peut contrôler un compte sur un blockchain - et donc contrôler les actifs dessus via un adaptateur. Mais un DON ne peut pas faire autorité représentent les actifs créés sur une chaîne principale, par exemple Ether ou ERC20 tokens, puisque leur chaîne d'origine conserve le registre faisant autorité de leur propriété. (c) Cycle de vie : les DON peuvent être installés intentionnellement avec des durées de vie limitées, comme défini par des accords de niveau de service en chaîne entre DONs et les propriétaires de contrats de confiance. Les blockchains, en revanche, sont censées fonctionner comme systèmes d’archives permanentes. Voir l'annexe B.2 pour plus de détails sur le calcul DON. 3.3 Stockage En tant que système basé sur un comité, un DON peut stocker des quantités modérées de données de manière persistante sur L à un coût bien inférieur à un blockchain sans autorisation. De plus, via des adaptateurs, Les DON peuvent faire référence à des systèmes décentralisés externes pour le stockage de données, par exemple Filecoin [85], et peut ainsi connecter de tels systèmes aux smart contract. Cette option est particulièrement Les données en masse sont attrayantes comme moyen de résoudre le problème omniprésent du « ballonnement » dans Systèmes blockchain. Les DON peuvent ainsi stocker des données localement ou en externe pour les utiliser dans leurs services spécifiquement pris en charge. Un DON peut en outre utiliser ces données de manière confidentielle, calcul sur des données qui sont : (1) partagées en secret entre les nœuds DON ou cryptées sous une clé gérée par les nœuds DON de manière adaptée au calcul multipartite sécurisé ou un cryptage partiel ou totalement homomorphe ; ou (2) protégé à l'aide d'une exécution fiable environnement. Nous nous attendons à ce que les DON adoptent un modèle simple de gestion de la mémoire commun à Systèmes de contrats intelligents : un exécutable ne peut écrire que dans sa propre mémoire. Exécutables peut cependant lire dans la mémoire d'autres exécutables. Voir l'annexe B.3 pour plus de détails sur le stockage DON. 3.4 Cadre d'exécution de transactions (TEF) Les DON sont destinés à prendre en charge les contrats sur une chaîne principale MAINCHAIN (ou sur plusieurs chaînes principales). Le Transaction-Execution Framework (TEF), discuté en détaildans la section 6, est une approche générale de l’exécution efficace d’un contrat. SC sur MAINCHAIN et un DON. Le TEF est destiné à prendre en charge le FSS et la couche 2 technologies – simultanément, si vous le souhaitez. En effet, il est susceptible de servir de véhicule principal pour l'utilisation du FSS (et pour cette raison, nous ne discuterons pas davantage du FSS dans cette section). En bref, dans TEF un contrat cible original SC conçu ou développé pour MAINCHAIN est refactorisé dans un contrat hybride. Cette refactorisation produit les deux éléments du contrat hybride : un contrat MAINCHAIN SCa auquel nous faisons référence pour plus de clarté dans le cadre des TEF en tant que contrat d'ancrage et exécutable sur un DON. Le contract SCa conserve les actifs des utilisateurs, exécute des transitions d'état faisant autorité et également fournit des garde-corps (voir section 7.3) contre les défaillances du DON. Les exécutables séquence les transactions et fournit les données oracle associées à celles-ci. Il peut regrouper transactions pour SCa de différentes manières, par exemple en utilisant des preuves de validité ou des rollup optimistes, exécution confidentielle par les DON, etc. Nous prévoyons de développer des outils permettant aux développeurs de partager facilement un contrat. SC écrit dans un langage de haut niveau en morceaux de logique MAINCHAIN et DON, SCa et respectivement, qui composent de manière sécurisée et efficace. Utiliser TEF pour intégrer des schémas de transactions hautes performances avec des performances élevées oracles fait partie intégrante de notre approche de mise à l'échelle oracle. 3.5 Services de pool de mémoire Une fonctionnalité importante de la couche application que nous avons l'intention de déployer sur les DON en support du FSS et du TEF sont des services Mempool (MS). MS peut être considéré comme un adaptateur, mais avec un support de première classe. MS prend en charge le traitement des transactions compatible avec les anciens systèmes. Dans cette utilisation, MS ingère à partir du pool mémoire d'une chaîne principale les transactions destinées à un contrat cible SC sur MAINCHAIN. MS transmet ensuite ces transactions à un exécutable sur le DON, où ils sont traités de la manière souhaitée. Les données MS peuvent être utilisées par le DON pour composer des transactions qui peuvent ensuite être transmises directement au SC à partir du DON ou à un autre contrat qui appelle SC. Par exemple, le DON peut transférer des transactions récoltés via MS, ou il peut utiliser les données MS pour fixer les prix du gaz pour les transactions auxquelles il envoie CHAÎNE PRINCIPALE. Parce qu'il surveille le pool de mémoire, MS peut obtenir des transactions des utilisateurs interagissant directement avec SC. Ainsi les utilisateurs peuvent continuer à générer leurs transactions en utilisant logiciels hérités, c'est-à-dire des applications ignorant l'existence de MS et configurées par MS contrats. (Dans ce cas, SC doit être modifié pour ignorer les transactions d'origine et n'acceptez que ceux traités par le MS, afin d'éviter un double traitement.) A utiliser avec un contrat cible SC, MS peut être utilisé avec FSS et/ou le TEF.3.6 Tremplins : capacités Chainlink existantes 3.6.1 Rapports hors chaîne (OCR) Le reporting hors chaîne (OCR) [60] est un mécanisme dans Chainlink pour l'agrégation et la transmission des rapports oracle à un SC de contrat de confiance. Récemment déployé au prix de Chainlink réseaux d'alimentation, il représente une première étape sur la voie des DON complets. À la base, OCR est un protocole BFT conçu pour fonctionner de manière partiellement synchrone. réseau. Il assure la vivacité et l'exactitude en présence de f < n/3 arbitrairement nœuds défectueux, garantissant les propriétés de diffusion fiable byzantine, mais ce n'est pas le cas un protocole de consensus BFT complet. Les nœuds ne conservent pas de journaux de messages cohérent dans le sens de représenter un grand livre identique dans toutes leurs vues, et le leader du protocole peut tergiverser sans violer la sécurité. L'OCR est actuellement conçue pour un type de message particulier : l'agrégation médianisée de (au moins 2f +1) valeurs signalées par les nœuds participants. Il fournit une assurance clé sur les rapports qu'il produit pour SC, appelés rapports attestés : La valeur médiane dans un le rapport est égal ou se situe entre les valeurs rapportées par deux nœuds honnêtes. Cette propriété est la condition de sécurité clé pour l’OCR. Le leader peut avoir une certaine influence sur la médiane valeur dans un rapport attesté, mais uniquement sous cette condition d’exactitude. L'OCR peut être étendu aux types de messages qui regroupent les valeurs de différentes manières. Bien que les objectifs actuels de vivacité et d’exactitude du réseau Chainlink ne nécessitent pas Pour que l'OCR soit un protocole de consensus à part entière, ils nécessitent que l'OCR fournisse certaines formes supplémentaires de fonctionnalités non présentes dans les protocoles BFT conventionnels, notamment : 1. Diffusion de rapport hors chaîne tout ou rien : l'OCR garantit qu'un rapport attesté est rendu rapidement disponible à tous les nœuds honnêtes ou à aucun d'entre eux. C'est une question d'équité propriété qui permet de garantir que les nœuds honnêtes ont la possibilité de participer dans la transmission du rapport attesté. 2. Transmission fiable : l'OCR garantit, même en présence de composants défectueux ou malveillants nœuds, que tous les rapports et messages OCR sont transmis au SC dans un certain délai, intervalle de temps prédéfini. Il s'agit d'une propriété de vivacité. 3. Minimisation de la confiance basée sur le contrat : SC filtre les rapports générés par OCR potentiellement erronés, par exemple si leurs valeurs déclarées s'écartent de manière significative des autres. ceux récemment reçus. Il s’agit d’une forme d’application de l’exactitude hors protocole. Ces trois propriétés joueront un rôle naturel dans les DON. La diffusion hors chaîne tout ou rien (DON) est un élément important des garanties cryptoéconomiques autour d'une transmission fiable, qui est à son tour une propriété essentielle de l'adaptateur. Confiance la minimisation dans SC est un type de garde-corps, comme discuté dans la section 7.3. L'OCR fournit également une base pour le déploiement opérationnel et l'affinement des protocoles BFT dans les réseaux oracle de Chainlink et donc, comme indiqué ci-dessus, une voie vers la pleine fonctionnalité des DONs.3.6.2 DECO et Crieur public DECO [234] et Town Crier [233] sont deux technologies connexes actuellement en cours de développement. développé dans les réseaux Chainlink. La plupart des serveurs Web permettent aujourd'hui aux utilisateurs de se connecter via un canal sécurisé à l'aide d'un protocole appelé Transport Layer Security (TLS) [94]. (HTTPS indique une variante de HTTP qui est activé avec TLS, c'est-à-dire que les URL préfixées par « https » indiquent l'utilisation de TLS pour la sécurité.) La plupart des serveurs compatibles TLS ont cependant une limitation notable : ils ne signent pas numériquement. données. Par conséquent, un utilisateur ou un prouveur ne peut pas présenter les données qu'il reçoit d'un serveur à un tiers ou à un vérificateur, tel qu'un oracle ou smart contract, de manière à garantir l’authenticité des données. Même si un serveur signait numériquement les données, un problème de confidentialité demeurerait. Un prouveur peut souhaiter expurger ou modifier des données sensibles avant de les présenter à un Vérificateur. Cependant, les signatures numériques sont conçues spécifiquement pour invalider les données modifiées. Ils empêchent ainsi un prouveur d'apporter des modifications préservant la confidentialité. aux données. (Voir la section 7.1 pour plus de détails.) DECO et Town Crier sont conçus pour permettre à un prouveur d'obtenir des données à partir d'un site Web. serveur et le présenter à un vérificateur d'une manière qui garantit l'intégrité et la confidentialité. Les deux systèmes préservent l'intégrité dans le sens où ils garantissent que les données présentées par le prouveur au vérificateur provient authentiquement du serveur cible. Ils soutiennent confidentialité dans le sens de permettre au prouveur de caviarder ou de modifier les données (tout en préserver l’intégrité). Une caractéristique clé des deux systèmes est qu'ils ne nécessitent aucune modification d'un serveur Web cible. Ils peuvent fonctionner avec n’importe quel serveur compatible TLS existant. En fait, ils sont transparents pour le serveur : Du point de vue du serveur, le Prouveur est établir une connexion ordinaire. Les deux systèmes ont des objectifs similaires, mais diffèrent dans leurs modèles de confiance et leurs implémentations, comme nous l'expliquons maintenant brièvement. DECO utilise fondamentalement des protocoles cryptographiques pour assurer son intégrité et les propriétés de confidentialité. En établissant une session avec un serveur cible à l'aide de DECO, le Prover s'engage en même temps dans un protocole interactif avec le Vérificateur. Ce protocole permet au Prouveur de prouver au Vérificateur qu'il a reçu une donnée D donnée du serveur lors de sa session en cours. Le prouveur peut alternativement, présenter au vérificateur une preuve de connaissance nulle d'une propriété de D et donc ne pas révéler D directement. Dans une utilisation typique de DECO, un utilisateur ou un seul nœud peut exporter des données D depuis un serveur privé. session avec un serveur Web vers tous les nœuds d'un DON. En conséquence, le DON complet peut attester de l'authenticité de D (ou d'un fait dérivé de D via une preuve de connaissance nulle). En plus des exemples d'applications donnés plus loin dans ce document, cette fonctionnalité peut être utilisé pour amplifier l'accès de haute intégrité à une source de données par un DON. Même si un seul nœud a un accès direct à une source de données, grâce par exemple à un accord exclusif avec un fournisseur de données - il reste possible pour l'ensemble du DON d'attester de l'exactitude desrapports émis par ce nœud. Town Crier s'appuie sur l'utilisation d'un environnement d'exécution de confiance (TEE) tel qu'Intel SGX. En bref, un TEE fonctionne comme une sorte de boîte noire qui exécute des applications de manière de manière inviolable et confidentielle. En principe, même le propriétaire de l'hébergeur sur lequel le TEE est en cours d'exécution ne peut ni (indétectable) modifier une application protégée par TEE ni afficher l’état de l’application, qui peut inclure des données secrètes. Town Crier peut réaliser toutes les fonctionnalités de DECO et bien plus encore. DECO contraint le prouveur à interagir avec un seul vérificateur. En revanche, Town Crier permet un prouveur pour générer une preuve publiquement vérifiable sur les données D récupérées sur un serveur cible, c'est-à-dire une preuve que n'importe qui, même un smart contract, peut vérifier directement. Le crieur public peut ingérez et utilisez également en toute sécurité des secrets (par exemple, les informations d'identification des utilisateurs). La principale limitation de Town Crier est son recours aux TEE. Les TEE de production ont Il a récemment été démontré qu'elle présentait un certain nombre de vulnérabilités graves, même si la technologie en est à ses balbutiements et qu'elle arrivera sans aucun doute à maturité. Voir les annexes B.2.1 et B.2.2 pour discussion plus approfondie sur les TEE. Pour quelques exemples d'applications de DECO et Town Crier, voir les sections 4.3, 4.5. et 9.4.3 et l'Annexe C.1. 3.6.3 Services en chaîne Chainlink existants Les réseaux Chainlink oracle fournissent un certain nombre de services principaux à travers une multiplicité de blockchains et autres systèmes décentralisés aujourd'hui. Evolution ultérieure comme décrit dans ce livre blanc dotera ces services existants de capacités supplémentaires et atteindre. Trois exemples sont : Flux de données : Aujourd'hui, la majorité des utilisateurs Chainlink qui comptent sur smart contract font utilisation de flux de données. Il s'agit de rapports sur la valeur actuelle d'éléments de données clés selon à des sources hors chaîne faisant autorité. Par exemple, les flux de prix sont des flux signalant les prix d’actifs – crypto-monnaies, matières premières, forex, indices, actions, etc. – selon services d’échanges ou d’agrégation de données. De tels flux contribuent déjà aujourd’hui à sécuriser des milliards de dollars en valeur en chaîne grâce à leur utilisation dans des systèmes DeFi tels que Aave [147] et Synthétix [208]. D'autres exemples de flux de données Chainlink incluent des données météorologiques pour assurance-récolte paramétrique [75] et données électorales [93], entre autres. Le déploiement des DON et d'autres technologies décrites dans ce document améliorera la fourniture de flux de données dans les réseaux Chainlink de plusieurs manières, notamment : • Mise à l'échelle : l'OCR et, par la suite, les DON visent à permettre aux services Chainlink d'évoluer. de façon spectaculaire à travers les nombreux blockchain qu’ils soutiennent. Par exemple, nous nous attendons que DONs contribueront à augmenter le nombre de flux de données fournis par les nœuds utilisant Chainlink de 100 à 1000 et au-delà. Une telle mise à l'échelle aidera le Chainlink l’écosystème atteint son objectif de fournir des données pertinentes pour les smart contract de manière exhaustive et à la fois de répondre et d’anticiper les besoins existants et futurs.• Sécurité améliorée : en stockant les rapports intermédiaires, les DON conserveront les enregistrements. des comportements des nœuds pour une surveillance et une mesure haute fidélité de leurs performances et de leur précision, permettant une base empirique solide des systèmes de réputation pour les nœuds Chainlink. La FSS et le TEF permettront d'intégrer des flux de prix avec les données de transaction de manière flexible qui empêche les attaques telles que le front-running. (Explicite) staking renforcera la protection cryptoéconomique existante de la sécurité de flux de données. • Agilité des flux : en tant que systèmes agnostiques blockchain (en fait, plus largement, systèmes indépendants des consommateurs), les DON peuvent faciliter la fourniture de flux de données à une multiplicité des systèmes de confiance. Un seul DON peut pousser simultanément un flux donné vers un ensemble de différents blockchain, éliminant le besoin de réseaux oracle par chaîne et permettant un déploiement rapide des flux existants sur les nouveaux blockchain et des flux supplémentaires alimente les blockchain actuellement desservis. • Confidentialité : la possibilité d'effectuer des calculs généralisés dans un DON permet aux calculs sur des données sensibles d'avoir lieu hors chaîne, évitant ainsi les calculs en chaîne. exposition. De plus, en utilisant DECO ou Town Crier, il est possible d'obtenir une confidentialité encore plus forte, permettant la génération de rapports basés sur des données qui ne sont pas exposé même aux nœuds DON. Voir les sections 4.3 et 4.5 pour des exemples. Fonctions aléatoires vérifiables (VRF) : Plusieurs types de DApp nécessitent une source aléatoire vérifiable et correcte pour permettre la vérification de leur propre fonctionnement équitable. Les jetons non fongibles (NFTs) en sont un exemple. La rareté des fonctionnalités NFT dans Aavegotchi [23] et Axie Infinity [35] est déterminée par Chainlink VRF, tout comme la distribution de NFTs au moyen de tirages basés sur des tickets dans les Ether Cards [102] ; la grande variété de DApps de jeu dont les résultats sont randomisés ; et des instruments financiers non conventionnels, par exemple des jeux d'épargne sans perte tels que PoolTogether [89], qui allouent des fonds à gagnants aléatoires. D'autres applications blockchain et non-blockchain nécessitent également des sources de hasard, y compris la sélection des comités du système décentralisé et la exécution de loteries. Bien que les blocs hashes puissent servir de source de hasard imprévisible, ils sont vulnérables à la manipulation par des mineurs adverses (et dans une certaine mesure par les utilisateurs soumettant des transactions). Chainlink VRF [78] offre une alternative considérablement plus sécurisée. Un oracle a une paire de clés privée/publique associée (sk, pk) dont la clé privée est maintenue hors chaîne et dont la clé publique pk est publiée. Pour sortir une valeur aléatoire, il applique sk à une graine imprévisible x fournie par un contrat de confiance (par exemple, un bloc hash et paramètres spécifiques à DApp) en utilisant une fonction F, donnant y = Fsk(x) avec un preuve d'exactitude. (Voir [180] pour le VRF disponible sur Chainlink.) Qu'est-ce qui fait qu'un VRF vérifiable est le fait qu'avec la connaissance de pk, il est possible de vérifier l'exactitude de la preuve et donc de y. La valeur y est donc imprévisible pour un adversaire qui ne peut pas prédire x ou apprendre sk et impossible à manipuler pour le service.Chainlink VRF peut être considéré comme l'une d'une famille d'applications qui impliquent la garde de clés privées hors chaîne. Plus généralement, les DON peuvent offrir des services sécurisés, stockage décentralisé de clés individuelles pour les applications et/ou les utilisateurs, et combiner cette capacité avec le calcul généralisé. Le résultat est une multitude d'applications, de dont nous donnons quelques exemples dans cet article, y compris la gestion des clés pour la preuve de Réserves (voir section 4.1) et pour les informations d’identification décentralisées des utilisateurs (et autres actifs) (voir section 4.3). Gardiens : Chainlink Keepers [87] permettent aux développeurs d'écrire du code pour des applications décentralisées. l'exécution de tâches hors chaîne, généralement pour déclencher l'exécution de smart contract de confiance. Avant l'avènement de Keepers, il était courant que les développeurs exploitent de tels systèmes hors chaîne. logique elles-mêmes, créant des points de défaillance centralisés (ainsi qu’un effort de développement considérable en double). Les Keepers fournissent plutôt un cadre facile à utiliser pour externalisation décentralisée de ces opérations, permettant des cycles de développement plus courts et forte assurance de vivacité et autres propriétés de sécurité. Les gardiens peuvent soutenir n'importe qui d'une grande variété d'objectifs déclencheurs, y compris la liquidation de prêts en fonction des prix ou exécution de transactions financières, lancement de parachutages ou de paiements en fonction du temps dans les systèmes avec récolte de rendement, etc. Dans le cadre DON, les initiateurs peuvent être considérés comme une généralisation des Gardiens dans plusieurs sens. Les initiateurs peuvent utiliser des adaptateurs et peuvent ainsi tirer parti d'un bibliothèque modularisée d'interfaces vers les systèmes en chaîne et hors chaîne, permettant une développement de fonctionnalités sécurisées et sophistiquées. Les initiateurs lancent le calcul dans exécutables, qui eux-mêmes offrent toute la polyvalence des DON, permettant une large gamme de services décentralisés que nous présentons dans cet article pour les applications en chaîne et hors chaîne. 3.6.4 Réputation des nœuds/historique des performances L'écosystème Chainlink existant documente de manière native les historiques de performances des nœuds contributeurs sur la chaîne. Cette fonctionnalité a donné naissance à un ensemble de ressources axées sur la réputation qui ingèrent, filtrent et visualisent les données de performance sur des individus. opérateurs de nœuds et flux de données. Les utilisateurs peuvent référencer ces ressources pour informer décisions dans leur sélection de nœuds et pour surveiller le fonctionnement des réseaux existants. Des fonctionnalités similaires aideront les utilisateurs à choisir les DON. Par exemple, les marchés sans autorisation actuels, tels que market.link, autorisent node les opérateurs doivent répertorier leurs services oracle et attester de leur identité hors chaîne via des services tels que Keybase [4], qui lient le profil d'un nœud dans Chainlink à son les noms de domaine et les comptes de réseaux sociaux existants du propriétaire. De plus, les performances les outils d'analyse, tels que ceux disponibles sur market.link et Reputation.link, permettent utilisateurs pour afficher des statistiques sur les performances historiques des nœuds individuels, y compris leur latence de réponse moyenne, l'écart des valeurs dans leurs rapports par rapport aux valeurs consensuelles relayés en chaîne, les revenus générés, les emplois réalisés, et plus encore. Ces outils d'analyse également permettre aux utilisateurs de suivre l'adoption de divers réseaux oracle par d'autres utilisateurs, une forme deapprobation implicite des nœuds sécurisant ces réseaux. Le résultat est un « réseau de confiance »dans lequel, en utilisant des nœuds particuliers, des applications décentralisées de grande valeur créent un signal de leur confiance dans ces nœuds que les autres utilisateurs peuvent observer et prendre en compte dans leur propres décisions de sélection de nœuds. Avec les DON (et initialement avec l'OCR), s'accompagne d'un changement dans le traitement des transactions et activité contractuelle plus généralement hors chaîne. Un modèle décentralisé pour le nœud d'enregistrement la performance reste possible au sein du DON lui-même. En effet, les hautes performances et la capacité de données des DON permettent de construire des enregistrements de manière fine. manière et également d'effectuer des calculs décentralisés sur ces enregistrements, produisant des résumés fiables qui peuvent être consommés par les services de réputation et contrôlés sur CHAÎNE PRINCIPALE. Bien qu'il soit en principe possible pour un DON de déformer le comportement des nœuds constituants si une grande fraction des nœuds est corrompue, nous notons que le collectif les performances d'un DON lui-même dans la fourniture de données en chaîne sont visibles sur MAINCHAIN et ne peut donc pas être déformé. De plus, nous prévoyons d'explorer les mécanismes qui inciter à la création de rapports internes précis sur les comportements des nœuds dans un DON. Par exemple, en signalant le sous-ensemble de nœuds les plus performants qui renvoient le plus rapidement des données contribuant à un rapport relayé en chaîne, un DON crée une incitation pour les nœuds à contester les erreurs rapports : inclure incorrectement des nœuds dans ce sous-ensemble signifie exclure incorrectement des nœuds cela aurait dû être inclus et donc les pénaliser invalidement. Des échecs de reporting répétés par un DON inciteraient également les nœuds honnêtes à quitter le réseau. DON. Compilation décentralisée d'historiques de performances précis et les conséquences capacité des utilisateurs à identifier les nœuds les plus performants et pour les opérateurs de nœuds à créer les réputations sont des caractéristiques distinctives importantes de l’écosystème Chainlink. Nous montrer dans la section 9 comment nous pouvons raisonner à leur sujet en tant qu’élément clé d’une approche rigoureuse et vue élargie de la sécurité économique fournie par les DON.

分散型 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 によって提供される経済的安全性の広範なビュー。

Services décentralisés rendus possibles par la décentralisation

Réseaux Oracle Pour illustrer la polyvalence des DON et comment ils permettent une multitude de nouveaux services, nous présentons cinq exemples d'applications basées sur DON dans cette section et décrivons les contrats hybrides qui les réalisent : (1) Proof of Reserves, une forme de service cross-chain ; (2) Interfaçage avec les systèmes d'entreprise/anciens, c'est-à-dire création d'un système basé sur un middleware couche d'abstraction qui facilite le développement d'applications blockchain avec un minimum blockchain-code ou expertise spécifique ; (3) Identité décentralisée, outils permettant aux utilisateurs de obtenir et gérer leurs propres documents d'identité et informations d'identification ; (4) Chaînes prioritaires, un service qui garantit l'inclusion en temps opportun des transactions d'infrastructure critique (par exemple, oracle rapports) sur un blockchain ; et (5) DeFi préservant la confidentialité, c'est-à-dire les informations financières. smart contracts qui dissimulent les données sensibles des parties participantes. Ici, nous

utilisez SC pour désigner la partie MAINCHAIN d'un contrat hybride et décrivez le DON composant séparément ou en termes d'exécutable. 4.1 Preuve de réserves Pour de nombreuses applications, il est utile de relayer l’état entre ou parmi les blockchain. Un L’application populaire de ces services est le packaging de crypto-monnaie. Pièces emballées telles comme WBTC [15] deviennent un atout populaire dans la finance décentralisée (DeFi). Ils implique de déposer l'actif de support « enveloppé » sur sa source blockchain MAINCHAIN(1) et créer un token correspondant sur une cible différente blockchain MAINCHAIN(2). Par exemple, WBTC est un ERC20 token sur le Ethereum blockchain qui correspond à BTC le Bitcoin blockchain. Étant donné que les contrats sur MAINCHAIN(2) n'ont pas de visibilité directe sur MAINCHAIN(1), ils doivent s'appuyer explicitement ou implicitement sur un oracle pour déclarer les dépôts des objets emballés actif dans un smart contract, produisant ce que l'on appelle parfois une preuve de réserves. Dans WBTC [15], par exemple, le dépositaire BitGo détient du BTC et émet du WBTC, avec le Réseau Chainlink fournissant des preuves de réserve [76]. Un DON peut lui-même fournir une preuve de réserves. Cependant, avec un DON, il est possible pour aller plus loin. Un DON peut gérer les secrets et, grâce à l'utilisation d'adaptateurs appropriés, peut effectuer des transactions sur n'importe quel blockchain souhaité. Par conséquent, il est possible que le DON agisse comme l'un des nombreux dépositaires - ou même comme un dépositaire unique et décentralisé - pour un actif enveloppé. Les DONs peuvent ainsi servir de plate-forme pour améliorer la sécurité des les services existants qui utilisent des preuves de réserves. Par exemple, supposons que MAINCHAIN(1) soit Bitcoin et que MAINCHAIN(2) soit Ethereum. Sur MAINCHAIN(2), un contrat SC émet des token représentant des BTC enveloppés. Le DON contrôle une adresse BTC addr(1) DON. Pour envelopper BTC, un utilisateur U envoie X BTC depuis adresse(1) U à l'adresse (1) DON avec une adresse MAINCHAIN(2) addr(2) U. Les moniteurs DON adresse(1) DON via un adaptateur vers MAINCHAIN(1). En observant le dépôt de U, avec une confirmation de probabilité suffisamment élevée, il envoie un message à SC via un adaptateur pour CHAÎNE PRINCIPALE (2). Ce message demande à SC de créer X tokens pour addr(2) U. Pour que U libère X tokens, l’inverse se produit. Cependant, sur MAINCHAIN(1), adresse(1) DON envoie X BTC à l'adresse (1) U (ou à une autre adresse, si l'utilisateur le demande). Ces protocoles peuvent bien entendu être adaptés pour fonctionner avec les échanges, plutôt que directement avec les utilisateurs. 4.2 Interfaçage avec les systèmes d'entreprise/anciens Les DON peuvent servir de ponts entre et parmi les blockchain, comme dans l'exemple de Preuve des réserves, mais un autre objectif est qu'elles agissent comme des ponts bidirectionnels entre blockchains et systèmes existants [176] ou systèmes de type blockchain tels que la banque centrale monnaies numériques [30]. Les entreprises sont confrontées à un certain nombre de défis pour connecter leurs systèmes existants et processus vers des systèmes décentralisés, notamment :• Agilité de la blockchain : les systèmes de blockchain évoluent rapidement. Une entreprise peut être confrontée à la nouvelle apparition rapide ou à la montée en popularité de blockchain sur lesquels les contreparties souhaitent effectuer des transactions, mais pour lesquelles l'entreprise n'a pas soutien dans son infrastructure existante. En général, le dynamisme des blockchain fait il est difficile pour les entreprises individuelles de rester au courant de l’ensemble de l’écosystème. • Ressources de développement spécifiques à la blockchain : pour de nombreuses organisations, recruter ou incuber une expertise blockchain de pointe est difficile, en particulier compte tenu de la défi de l'agilité. • Gestion des clés privées : la gestion des clés privées des blockchain ou des cryptomonnaies nécessite une expertise opérationnelle distincte de celle de la cybersécurité traditionnelle. pratiques et inaccessibles à de nombreuses entreprises. • Confidentialité : les entreprises hésitent à exposer leurs données sensibles et exclusives. données sur chaîne. Pour résoudre les trois premières de ces difficultés, les développeurs peuvent simplement utiliser un DON en tant que couche middleware sécurisée pour permettre aux systèmes d'entreprise de lire ou d'écrire sur blockchains. Le DON peut faire abstraction de considérations techniques détaillées telles que dynamique des gaz, réorganisation de la chaîne, etc., tant pour les développeurs que pour les utilisateurs. Par présentant une interface blockchain rationalisée aux systèmes d'entreprise, un DON peut ainsi simplifie considérablement le développement d'applications d'entreprise compatibles blockchain, éliminant ainsi le fardeau des entreprises liées à l'acquisition ou à l'incubation de ressources de développement spécifiques à blockchain. Une telle utilisation des DONs est particulièrement intéressante dans la mesure où elle permet aux développeurs d'entreprise de créer des applications de contrats intelligents qui sont largement blockchain agnostiques. En conséquence, le plus grand l'ensemble des blockchain pour lesquels un DON est instrumenté pour agir comme middleware, le élargissez l'ensemble des blockchain auxquels les utilisateurs de l'entreprise peuvent accéder facilement. Développeurs peut porter des applications de blockchain existants vers de nouveaux avec un minimum de modifications à leurs applications développées en interne. Pour résoudre le problème supplémentaire de la confidentialité, les développeurs peuvent faire appel au outils que nous présentons dans cet article et que nous prévoyons de déployer pour prendre en charge les applications DON. Il s'agit notamment de DECO et du crieur public, section 3.6.2, ainsi que des règles de préservation de la confidentialité. Les modifications de l'API abordées dans la section 7.1.2 et un certain nombre d'approches spécifiques à l'application couvertes dans le reste de cette section. Ces systèmes DON peuvent fournir attestations en chaîne de haute intégrité sur l'état du système d'entreprise sans révéler données sources d'entreprise sensibles sur la chaîne. 4.3 Identité décentralisée L'identité décentralisée est un terme général désignant la notion selon laquelle les utilisateurs devraient pouvoir obtenir et gérer leurs propres informations d'identification, plutôt que de compter sur des tiers pour le faire donc. Les identifiants décentralisés sont des attestations d'attributs ou d'affirmations du titulaire,qui sont souvent appelés réclamations. Les informations d'identification sont signées numériquement par des entités, souvent appelées émetteurs, qui peuvent associer avec autorité les réclamations aux utilisateurs. Dans la plupart des schémas proposés, les réclamations sont associées à un identifiant décentralisé (DID), un identifiant universel pour un utilisateur donné. Les informations d'identification sont liées à une clé publique dont l'utilisateur détient la clé privée. L'utilisateur peut ainsi prouver la possession d'un titre grâce à sa clé privée. Aussi visionnaire que soit l'identité décentralisée, les projets existants et proposés, par exemple [14, 92, 129, 216], présentent trois limitations sévères : • Manque de compatibilité avec l'héritage : les systèmes d'identité décentralisés existants reposent sur un communauté d’autorités, appelées émetteurs, pour produire les identifiants DID. Parce que les services web existants ne signent généralement pas numériquement les données, les émetteurs doivent être lancés comme systèmes à usage spécial. Parce qu'il n'y a aucune incitation à le faire sans écosystème d’identité décentralisé, il en résulte un problème de la poule et de l’œuf. Dans d'autres En d’autres termes, on ne sait pas comment démarrer un écosystème d’émetteurs. • Gestion des clés irréalisable : les systèmes d'identité décentralisés exigent que les utilisateurs gérer les clés privées, ce que l'expérience avec la crypto-monnaie a montré être une responsabilité irréalisable. On estime que quelque 4 000 000 Bitcoin ont été perdu à jamais à cause d'échecs de gestion des clés [194], et de nombreux utilisateurs stockent leurs actifs cryptographiques avec des échanges [193], compromettant ainsi la décentralisation. • Manque de résistance Sybil préservant la confidentialité : une exigence de sécurité de base des applications telles que le vote, l'attribution équitable des token lors des ventes de token, etc. est que les utilisateurs ne pourront pas affirmer plusieurs identités. Les propositions d'identité décentralisées existantes exigent que les utilisateurs révèlent leur identité réelle afin d'atteindre un tel objectif. Sybil résiste, compromettant ainsi d’importantes garanties de confidentialité. Il est possible de résoudre ces problèmes en utilisant une combinaison d'un comité de nœuds effectuer des calculs distribués au sein d'un DON et utiliser des outils tels que DECO ou crieur public, comme indiqué dans un système appelé CanDID [160]. DECO ou Town Crier peuvent, de par leur conception, transformer des services Web existants sans modification en émetteurs de titres de créance préservant la confidentialité. Ils permettent à un DON d'exporter les données pertinentes données à cette fin dans un identifiant tout en masquant les données sensibles qui ne devraient pas apparaître dans l'identifiant. De plus, pour faciliter la récupération des clés pour les utilisateurs, abordant ainsi le problème de gestion des clés problème, un DON peut permettre aux utilisateurs de stocker des clés privées sous forme secrète partagée. Les utilisateurs peuvent récupérez leurs clés en prouvant aux nœuds du DON — de la même manière, en utilisant Town Crier ou DECO : la possibilité de se connecter à des comptes auprès d'un ensemble de fournisseurs Web prédéterminés (par exemple, Twitter, Google, Facebook). L’avantage d’utiliser Town Crier ou DECO, par opposition à OAUTH, c'est la confidentialité des utilisateurs. Ces deux outils permettent à un utilisateur d'éviter de révéler au DON un identifiant de fournisseur Web, à partir duquel des identités réelles peuvent souvent être dérivées. Enfin, pour fournir une résistance Sybil, comme indiqué dans [160], il est possible pour un DON de effectuer une transformation préservant la confidentialité des identifiants uniques du monde réel pour les utilisateurs (par exemple, les numéros de sécurité sociale (SSN)) en identifiants en chaîne lors de l'enregistrement de l'utilisateur.Le système peut ainsi détecter les enregistrements en double sans données sensibles telles que Les SSN sont révélés à des nœuds DON individuels.7 Un DON peut fournir n'importe lequel de ces services au nom d'une identité décentralisée externe systèmes sur des blockchain sans autorisation ou avec autorisation, par exemple, des instances d'Hyperledger Indy [129]. Exemple d'application : KYC : L'identité décentralisée est prometteuse comme moyen de rationaliser les exigences pour les applications financières sur blockchains tout en améliorant les utilisateurs vie privée. Deux défis qu'il peut aider à relever sont les obligations d'accréditation et de conformité en vertu des réglementations anti-blanchiment d'argent/connaissance du client (AML/KYC). Dans de nombreux pays, les réglementations LAB exigent que les institutions financières (et autres entreprises) établissent et vérifient l'identité des individus et des entreprises avec lesquels ils effectuent des transactions. Le KYC constitue une composante de la stratégie d’une institution financière. une politique AML plus large, qui implique également généralement de surveiller les comportements des utilisateurs et de surveiller les flux de fonds, entre autres choses. KYC implique généralement la présentation par l'utilisateur d'informations d'identification sous une forme quelconque (par exemple, entrée dans un formulaire Web en ligne, tenant un document d'identité devant le visage d'un utilisateur lors d'une séance vidéo, etc.). Création et présentation sécurisées d’informations d’identification décentralisées pourrait en principe être une alternative bénéfique à plusieurs égards, notamment en : (1) le processus KYC plus efficace pour les utilisateurs et les institutions financières, car une fois l'accréditation est obtenue, elle pourrait être présentée de manière transparente à n'importe quelle institution financière ; (2) Réduire la fraude en réduisant les possibilités de vol d'identité par compromission d'informations personnellement identifiables (PII) et d'usurpation d'identité lors de la vérification vidéo ; et (3) Réduire le risque de compromission des informations personnelles dans les institutions financières, car les utilisateurs conservent le contrôle de leurs propres données. Compte tenu des pénalités de plusieurs milliards de dollars payées par les institutions financières en cas de non-respect de la LBC et des nombreuses institutions financières qui dépensent des millions de dollars chaque année en KYC, des améliorations pourraient générer des économies considérables pour les institutions financières. et, par extension, pour les consommateurs [196]. Alors que le secteur financier traditionnel est lent pour adopter de nouveaux outils de conformité, les systèmes DeFi les adoptent de plus en plus [43]. Exemple d'application : Prêts sous-garantis : La plupart des applications DeFi qui Aujourd’hui, les prêts de soutien ne proviennent que de prêts entièrement garantis. Ce sont des prêts accordés aux emprunteurs qui déposent des actifs en cryptomonnaies d’une valeur supérieure à celle des prêts. Un intérêt est apparu récemment pour ce que la communauté DeFi appelle généralement des prêts sous-garantis. Il s'agit en revanche de prêts pour lesquels la garantie correspondante a une valeur inférieure à celle du principal du prêt. Prêts sous-garantis ressemblent à des prêts souvent accordés par des institutions financières traditionnelles. Plutôt que de compter sur les garanties déposées comme garantie du remboursement du prêt, ils basent plutôt les prêts décisions sur les antécédents de crédit des emprunteurs. 7Cette transformation s'appuie sur une fonction pseudo-aléatoire distribuée (PRF).Les prêts sous-garantis constituent une partie naissante mais croissante du marché des prêts DeFi. Ils s'appuient sur des mécanismes comme ceux employés par les institutions financières traditionnelles. institutions, telles que les contrats juridiques [91]. Une condition essentielle à leur croissance sera la capacité de fournir des données sur la solvabilité des utilisateurs (un facteur clé dans les décisions de prêt conventionnelles) aux systèmes DeFi d'une manière qui assure une forte intégrité, c'est-à-dire : l'assurance de données correctes. Un système d'identité décentralisé compatible DON permettrait aux emprunteurs potentiels de générer des références de haute assurance attestant de leur solvabilité tout en préservant la confidentialité des informations sensibles. Plus précisément, les emprunteurs peuvent générer ces informations d'identification basées sur des enregistrements provenant de sources en ligne faisant autorité tout en exposant uniquement les données attestées par le DON, sans exposer d'autres données potentiellement sensibles. Pour Par exemple, un emprunteur peut générer un justificatif indiquant que son pointage de crédit avec un l’ensemble des agences d’évaluation du crédit dépasse un seuil particulier (par exemple 750), sans le révéler score précis ou toute autre donnée dans ses dossiers. De plus, si vous le souhaitez, ces informations d'identification peut être généré de manière anonyme, c'est-à-dire que le nom de l'utilisateur peut être traité comme une donnée sensible et lui-même n'est pas exposé aux nœuds oracle ou dans ses informations d'identification décentralisées. L'accréditation lui-même peut être utilisé en chaîne ou hors chaîne, selon l'application. En résumé, un emprunteur peut fournir des informations essentielles aux prêteurs sur son crédit historiques avec une forte intégrité et sans risque d’exposition de données inutiles et sensibles données. Un emprunteur peut également fournir diverses autres informations d'identification préservant la confidentialité. utile dans la prise de décisions en matière de prêt. Par exemple, les informations d’identification peuvent attester de l’identité d’un emprunteur. possession d'actifs (hors chaîne), comme nous le montrons dans notre exemple suivant. Exemple de candidature : Accréditation : De nombreuses juridictions limitent la catégorie d'investisseurs à laquelle les titres non enregistrés peuvent être vendus. Par exemple, aux États-Unis, la SEC Le règlement D stipule que pour être accrédité pour de telles opportunités d'investissement, un l'individu doit posséder une valeur nette de 1 million de dollars, satisfaire à certaines exigences de revenu minimum ou posséder certaines qualifications professionnelles [209, 210]. Accréditation actuelle les processus sont lourds et inefficaces, nécessitant souvent une lettre d’attestation de un comptable ou une preuve similaire. Un système d'identité décentralisé permettrait aux utilisateurs de générer des informations d'identification à partir de comptes de services financiers en ligne existants qui prouvent leur conformité à l'accréditation réglementations, facilitant un processus KYC plus efficace et préservant la confidentialité. Le Les propriétés de protection de la vie privée de DECO et Town Crier permettraient en outre à ces les informations d’identification doivent être générées avec une forte assurance d’intégrité sans révéler directement les détails de la situation financière d’un utilisateur. Par exemple, un utilisateur peut générer un identifiant prouver qu'elle a une valeur nette d'au moins 1 million de dollars sans révéler aucun élément supplémentaire des informations sur sa situation financière. 4.4 Canaux prioritaires Les canaux prioritaires constituent un nouveau service utile et facile à créer à l'aide d'un DON. Leur

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

l'objectif est de livrer des transactions sélectionnées et hautement prioritaires en temps opportun sur MAINCHAIN pendant les périodes de congestion du réseau. Les chaînes prioritaires peuvent être considérées comme une forme de contrat à terme sur l'espace de blocs et donc en tant que cryptomarchandise, terme inventé dans le cadre du Projet Chicago [61, 136]. Les canaux prioritaires sont spécifiquement destinés aux mineurs pour permettre des services d'infrastructure, tels que les oracle, les fonctions de gouvernance pour les contrats, etc., et non pour les activités ordinaires au niveau des utilisateurs telles que les transactions financières. En fait, tel que conçu ici, une priorité Le canal mis en œuvre par moins de 100 % de la puissance minière du réseau ne peut que fournir des limites lâches sur les délais de livraison, empêchant son utilisation pour des produits très dépendants de la vitesse des objectifs tels que la course en avant. Figure 10 : Un canal prioritaire est une garantie d’un mineur M – ou plus généralement d’un ensemble de mineurs M – à un utilisateur U que sa transaction τ sera extraite dans D blocs d'inclusion dans le mempool. Un SC contractuel peut utiliser la surveillance DON pour faire respecter les conditions de service de la chaîne. Un canal prioritaire prend la forme d'un accord entre un mineur ou un ensemble de mineurs (ou pools miniers) M qui fournit le canal et un utilisateur U qui paie des frais d'accès. M convient que lorsque U soumet une transaction τ au mempool (avec n'importe quel prix du gaz,mais une limite de gaz préalablement convenue), M le placera en chaîne dans les prochains blocs D.8 L’idée est représentée schématiquement sur la figure 10. Description du contrat canal prioritaire : Un canal prioritaire peut être réalisé comme un hybride smart contract à peu près comme suit. On laisse SC désigner la logique sur MAINCHAIN et cela sur le DON par exec. SC accepte un dépôt/mise en jeu \(d from M and an advance payment \)p de U. A L'exécutable DON surveille le pool de mémoire et se déclenche lors du placement d'une transaction. par U. Il envoie un message de réussite à SC si U soumet une transaction que M exploite dans en temps opportun et un message d'échec en cas de panne de service. SC envoie le paiement $p à M suite à un message de réussite et envoie tous les fonds restants, y compris $d, à U s'il reçoit un message d'échec. En cas de résiliation réussie, il remet le dépôt $d à M. Le mineur M peut bien entendu fournir des canaux prioritaires simultanément à plusieurs utilisateurs et peut ouvrir un canal prioritaire avec U pour un nombre de messages préalablement convenu. 4.5 Préservation de la confidentialité DeFi / Mixicles Aujourd'hui, les applications DeFi [1] offrent peu ou pas de confidentialité aux utilisateurs : toutes les transactions sont visibles sur la chaîne. Diverses approches basées sur une connaissance nulle, par exemple [149, 217], peuvent assurer la confidentialité des transactions, et le TEF est suffisamment général pour les prendre en charge. Mais ces approches ne sont pas exhaustives et, par exemple, ne cachent généralement pas les actif sur lequel repose une transaction. Le large éventail d'outils informatiques que nous avons l'intention de prendre en charge dans DONs sera permettre la confidentialité de différentes manières qui peuvent combler de telles lacunes, contribuant ainsi à compléter les garanties de confidentialité d'autres systèmes. Par exemple, Mixicles, un instrument de préservation de la confidentialité DeFi proposé par les chercheurs de Chainlink Labs [135], peut dissimuler le type d'actif adossant un instrument financier, et s'intègre très naturellement dans le DON cadre. Les mixicles s'expliquent le plus facilement en termes de leur utilisation pour réaliser un binaire simple choix. Une option binaire est un instrument financier dans lequel deux utilisateurs, que nous allons référez-vous ici pour plus de cohérence avec [135] en tant que joueurs, pariez sur un événement avec deux possibilités résultats, par exemple, si un actif dépasse ou non un prix cible à un moment prédéfini. L’exemple suivant illustre l’idée. Exemple 2. Alice et Bob sont parties à une option binaire basée sur la valeur d'un actif appelé Carol’s Bubble Token (CBT). Alice parie que le CBT aura un prix de marché d'au au moins 250 USD à l'heure T = midi le 21 juin 2025 ; Bob parie l'inverse. Chaque joueur dépose 100 ETH dans un délai prédéfini. Le joueur avec la position gagnante reçoit 200 ETH (c'est-à-dire gagne 100 ETH). 8D doit bien sûr être suffisamment grand pour garantir que M puisse se conformer à une probabilité élevée. Pour Par exemple, si M contrôle 20 % de la puissance minière du réseau, il pourrait choisir D = 100, garantissant ainsi une probabilité de défaillance de ≈2 × 10−10, soit moins d'un sur un milliard.Étant donné un réseau O Chainlink oracle existant, il est facile de mettre en œuvre un système intelligent contrat SC qui réalise l'accord de l'exemple 2. Les deux joueurs déposent chacun 100 ETH en SC. Quelque temps après T, une requête q est envoyée à O demandant le prix r de CBT à l'instant T. O envoie un rapport r de ce prix à SC. SC envoie ensuite de l'argent à Alice si r ≥250 et Bob sinon. Cependant, cette approche révèle r sur la chaîne, ce qui facilite pour un observateur de déduire l’actif sous-jacent à l’option binaire. Dans la terminologie des Mixicles, il est utile de penser conceptuellement au résultat de SC en termes de Switch qui transmet une valeur binaire calculée comme prédicat interrupteur(r). Dans notre exemple, switch(r) = 0 si r ≥250 ; compte tenu de ce résultat, Alice gagne. Sinon switch(r) = 1 et Bob gagne. Un DON peut réaliser un Mixicle de base en tant que contrat hybride en exécutant un exécutable exec qui calcule switch(r) et le signale en chaîne à SC. Nous montrons cette construction sur la figure 11. Figure 11 : Schéma du Mixicle de base dans l'exemple 2. Pour assurer le secret en chaîne pour rapport r, et donc l'actif sous-jacent à l'option binaire, le oracle envoie au contractez SC via Switch uniquement le switch de valeur binaire (r). Nous spécifions un adaptateur ConfSwitch dans l'Annexe C.3 qui facilite la réalisation de cet objectif. objectif dans un DON. L'idée de base derrière ConfSwitch est assez simple. Au lieu de signaler la valeur r, ConfSwitch rapporte uniquement la valeur du commutateur binaire switch(r). SC peut être conçu pour effectuer un paiement correct basé sur le switch(r) seul, et le switch(r) seul ne révèle aucune information sur l’actif sous-jacent – CBT dans notre exemple. De plus, en plaçant un texte chiffré sur (q, r) sur le registre chiffré sous pkaud, la clé publique de un auditeur, l'adaptateur ConfSwitch crée une piste d'audit préservant la confidentialité. Le Mixicle de base que nous avons choisi par souci de simplicité pour décrire ici ne cache que le actif et pariez derrière l'option binaire dans notre exemple. Un Mixicle à part entière [135] peut fournir deux formes de confidentialité. Il cache aux observateurs : (1) Quel événement le les joueurs parient sur (c'est-à-dire q et r) mais aussi (2) Quel joueur a gagné le pari. Puisque les Mixicles sont exécutés sur MAINCHAIN, un joueur devra relayer switch(r) du DON vers MAINCHAIN, ou un exécutable pourrait être créé qui

est déclenché en sortie par ConfSwitch et appelle un autre adaptateur pour envoyer le switch(r) à CHAÎNE PRINCIPALE. Un troisième type de confidentialité, plus subtil, mérite également d’être pris en considération. Dans une implémentation de base de ConfSwitch, O exécute l'adaptateur sur le DON et apprend ainsi le actif – CBT dans notre exemple – et donc la nature de l’option binaire. Comme discuté à l'annexe C.3, il est toutefois possible d'utiliser en plus DECO ou Town Crier pour cacher même cette information à O. Dans ce cas, l'O n'apprend plus aucune information qu’un observateur public de SC. Pour plus de détails sur Mixicles, nous renvoyons les lecteurs à [135].

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

オラクルネットワークス 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] を参照してください。

Services de séquençage équitables

Un service important que nous espérons que les DON offriront et qui exploite leurs capacités de mise en réseau, de calcul et de stockage est appelé Fair Sequencing Services (FSS). Bien que FSS puisse être considéré simplement comme une application réalisée dans le cadre DON, nous le soulignons comme un service qui, selon nous, sera très demandé dans l'ensemble du pays. blockchains, et que nous espérons que le réseau Chainlink soutiendra activement. Lorsqu'elles sont exécutées sur des réseaux publics blockchain, de nombreuses applications DeFi actuelles révéler des informations qui peuvent être exploitées par les utilisateurs à leur propre bénéfice, à l’instar de le type de fuites internes et d’opportunités de manipulation qui sont omniprésentes dans les systèmes existants. marchés [64, 155]. FSS ouvre plutôt la voie vers un écosystème DeFi équitable. FSS aide les développeurs à créer des contrats DeFi protégés contre les manipulations de marché résultant d’une fuite d’informations. Compte tenu des problèmes que nous soulignons ci-dessous, FSS est particulièrement attrayant pour les services de couche 2 et s'inscrit dans le cadre de tels services dont nous discutons dans la section 6. Le défi : Dans les systèmes sans autorisation existants, les transactions sont entièrement ordonnées à la discrétion des mineurs. Dans les réseaux autorisés, les nœuds validator peuvent exercer la même puissance. Il s’agit d’une forme de centralisation éphémère largement méconnue dans systèmes autrement décentralisés. Un mineur peut (temporairement) censurer les transactions pour son compte. propre bénéfice [171] ou les réorganiser pour maximiser son propre gain, une notion appelée valeur extractible par la mine (MEV) [90]. Le terme MEV est légèrement trompeur : il ne fait pas référence uniquement à la valeur que les mineurs peuvent capturer : certains MEV peuvent être capturés par les utilisateurs ordinaires. Cependant, étant donné que les mineurs ont plus de pouvoir que les utilisateurs ordinaires, le MEV représente une limite supérieure sur le montant de la valeur qu'une entité peut obtenir grâce à une réorganisation contradictoire. et insertion de transactions complémentaires. Même lorsque les mineurs commandent simplement des transactions basé sur des tarifs (gaz), sans manipulation, les utilisateurs eux-mêmes peuvent manipuler les prix du gaz pour avantager leurs transactions par rapport à celles moins sophistiquées. Daian et coll. [90] documente et quantifie les façons dont les robots (et non les mineurs) prennent avantage de la dynamique des gaz d'une manière qui nuit aux utilisateurs des systèmes DeFi aujourd'hui et comment MEV menace même la stabilité de la couche de consensus sous-jacente dans un blockchain. D’autres exemples de manipulation d’ordres de transaction font régulièrement surface, par exemple [50, 154].Les nouvelles méthodes de traitement des transactions telles que rollups constituent une approche très prometteuse aux problèmes de mise à l'échelle des blockchain à haut débit. Ils ne traitent cependant pas le problème du MEV. Au lieu de cela, ils le transfèrent vers l'entité qui génère le rollup. Cela entité, qu'il s'agisse de l'opérateur d'un smart contract ou d'un utilisateur fournissant à un (zk-)rollup une preuve de validité, a le pouvoir d'ordonner et d'insérer des transactions. En d'autres termes, rollups échangez MEV contre REV : valeur cumulable-extractible. MEV affecte les transactions à venir qui ont été soumises au mempool mais ne sont pas encore engagés sur chaîne. Les informations sur ces transactions sont largement disponible dans le réseau. Les mineurs, les validator et les participants ordinaires au réseau peuvent exploitez donc ces connaissances et créez des transactions dépendantes. De plus, les mineurs et les validator peuvent influencer l'ordre des transactions qu'ils effectuent. eux-mêmes et exploitent cela à leur avantage. Le problème de l’influence indue des dirigeants sur l’ordonnancement des transactions par consensus protocoles sont connus dans la littérature depuis les années 1990 [71, 190], mais aucun résultat satisfaisant des solutions ont été mises en pratique jusqu'à présent [97]. La principale raison est que les solutions proposées – du moins jusqu’à très récemment – ne peuvent pas être facilement intégrées aux politiques publiques. blockchains, car ils s'appuient sur le contenu des transactions qui reste secret jusqu'après leur ordre a été déterminé. Présentation des services de séquençage équitable (FSS) : DONs fournira des outils pour décentraliser l'ordre des transactions et le mettre en œuvre conformément à une politique spécifiée par un organisme de confiance. créateur de contrat, idéalement équitable et ne favorisant pas les acteurs qui souhaitent manipuler l’ordre des transactions. Collectivement, ces outils constituent FSS. FSS comprend trois composants. Le premier est le suivi des transactions. Dans la FSS, Les nœuds oracle en O surveillent tous deux le pool de mémoire de MAINCHAIN et (si vous le souhaitez) autorisent soumission hors chaîne des transactions via un canal spécialisé. La seconde est le séquençage des transactions. Les nœuds en O commandent des transactions pour un contrat de confiance selon une politique définie pour ce contrat. Le troisième est la comptabilisation des transactions. Une fois les transactions ordonnées, les nœuds en O envoient conjointement les transactions au chaîne principale. Les avantages potentiels du FSS comprennent : • Équité des commandes : FSS inclut des outils pour aider les développeurs à garantir que les transactions les contributions à un contrat particulier sont ordonnées de manière à ne pas donner lieu à un préjudice injuste avantage pour les utilisateurs disposant de ressources suffisantes et/ou techniquement avertis. Politiques de commande peuvent être spécifiés à cet effet. • Réduction ou élimination des fuites d'informations : en garantissant que les participants au réseau ne peuvent pas exploiter les informations sur les transactions à venir, le FSS peut réduire ou éliminer les attaques comme le front-running qui sont basées sur les informations disponibles dans le réseau avant que les transactions ne soient validées. Empêcher l’exploitation de ces les fuites garantissent que les transactions contradictoires qui dépendent de l'original en attente les transactions ne peuvent pas entrer dans le grand livre avant que les transactions originales ne soient validées.• Coût de transaction réduit : en éliminant le besoin de rapidité des joueurs lors de la soumission. leurs transactions vers un smart contract, FSS peut réduire considérablement le coût de traitement des transactions. • Ordre prioritaire : FSS peut automatiquement accorder une priorité spéciale aux transactions critiques. commande. Par exemple, afin de prévenir les attaques frontales contre oracle rapports, par exemple [79], FSS peut insérer un rapport oracle dans un flux de transactions rétroactivement. L'un des principaux objectifs du FSS dans les DONs est de permettre aux créateurs de DeFi de réaliser des les systèmes financiers, c’est-à-dire les systèmes qui ne profitent pas à des utilisateurs particuliers (ou à des mineurs) par rapport aux autres sur la base de la rapidité, des connaissances privilégiées ou de la capacité à exécuter des tâches techniques. manipulations. Même si une notion générale et précise d'équité est insaisissable, et l'équité parfaite dans tout sens raisonnable est irréalisable, FSS vise à fournir aux développeurs un outil puissant ensemble d'outils leur permettant d'appliquer des politiques qui les aident à atteindre leurs objectifs de conception pour DeFi. Nous notons que même si l'objectif principal du FSS est d'agir comme un service de séquençage équitable pour le MAINCHAIN que cible DON, certains des mêmes desiderata d'équité que FSS les garanties peuvent également être appropriées pour les protocoles (décentralisés) gérés entre DON fêtes. Ainsi, le SFS peut être considéré plus largement comme un service fourni par un sous-ensemble de nœuds DON pour séquencer équitablement non seulement les transactions envoyées par les utilisateurs de MAINCHAIN mais aussi des transactions (c'est-à-dire des messages) partagées entre d'autres nœuds DON. Dans cette rubrique, nous nous concentrerons principalement sur l’objectif de séquençage des transactions MAINCHAIN. Organisation de la section : dans la section 5.1, nous décrivons deux applications de haut niveau qui motivent la conception du FSS : empêcher le lancement en amont des rapports oracle et empêcher front-running des transactions des utilisateurs. Nous fournissons ensuite plus de détails sur la conception du FSS à la section 5.2. La section 5.3 décrit des exemples de garanties et de moyens de commande équitables pour les atteindre. Enfin, les sections 5.4 et 5.5 discutent des menaces au niveau du réseau pour ces politiques et moyens pour y remédier, respectivement pour l'inondation du réseau et Sybil attaques. 5.1 Le problème de premier plan Pour expliquer les objectifs et la conception du FSS, nous décrivons deux formes générales attaques et les limites des solutions existantes. Les leaders illustrent une classe des attaques par ordre de transactions : il existe un certain nombre d'attaques connexes telles que le backrunning et le sandwiching (front-running plus back-running) [237] que nous ne couvrons pas ici, mais que la FSS aide également à résoudre. 5.1.1 Oracle Front-Running Dans leur rôle traditionnel de fournir des données hors chaîne aux applications blockchain, oracles devenir une cible naturelle pour des attaques de premier plan.Considérez le modèle de conception courant consistant à utiliser un oracle pour fournir divers flux de prix. à un échange en chaîne : périodiquement (disons toutes les heures), le oracle collecte des données de prix pour différents actifs et les envoie à un contrat d'échange. Ces transactions de données sur les prix présentent des opportunités d'arbitrage évidentes : par exemple, si le rapport oracle le plus récent répertorie un prix beaucoup plus élevé pour certains actifs, un adversaire pourrait être en avance sur le rapport oracle pour acheter des actifs et les revendre immédiatement une fois le rapport de oracle traité. Ralentisseurs et tarification rétroactive : Une solution naturelle au problème initial oracle consiste à accorder aux rapports oracle une priorité particulière par rapport aux autres transactions. Pour Par exemple, les rapports oracle pourraient être envoyés avec des frais élevés pour encourager les mineurs à traiter eux en premier. Mais cela n’empêchera pas le front-running si l’opportunité d’arbitrage est élevée, cela ne peut pas non plus empêcher l’arbitrage des mineurs eux-mêmes. Certaines bourses ont donc eu recours à la mise en œuvre de « ralentisseurs » plus lourds, tels que la mise en file d'attente des transactions des utilisateurs pendant un certain nombre de blocs avant de les traiter. ou en ajustant rétroactivement les prix lorsqu'un nouveau rapport oracle arrive. Les inconvénients de ces solutions sont qu'elles ajoutent de la complexité à la mise en œuvre de l'échange, augmenter les besoins de stockage et donc les coûts de transaction, et perturber l'expérience utilisateur car les échanges d'actifs ne sont confirmés qu'après une période de temps significative. Ferroutage : Avant de passer au FSS, nous discutons du ferroutage, une solution assez simple et solution élégante au problème principal oracle. Il ne s'applique pas à l'adresse cependant, en tête dans d’autres scénarios. En bref, au lieu d'envoyer périodiquement des rapports au contrat en chaîne, oracles publier des rapports signés que les utilisateurs joignent à leurs transactions lors de l'achat ou de la vente actifs en chaîne. L'échange vérifie alors simplement que le rapport est valide et récent (par exemple, le oracle peut signer une plage de blocs pour lesquels le rapport est valide), et extrait le prix correspondant en découle. Cette approche simple présente un certain nombre d’avantages par rapport au « ralentisseur » ci-dessus. approche : (1) Le contrat d’échange n’a pas besoin de conserver l’état des flux de prix, qui devraient conduire à une baisse des coûts de transaction ; (2) Comme les rapports oracle sont publiés sur la chaîne selon les besoins, les oracle peuvent générer des mises à jour plus fréquentes (par exemple, toutes les minutes), ainsi minimiser les opportunités d’arbitrage lors de la publication d’un rapport9 ; (3) Les transactions peuvent être validés immédiatement, car ils incluent toujours un nouveau flux de prix. L’approche n’est cependant pas parfaite. Premièrement, cette solution de superposition met le il incombe aux utilisateurs de l'échange de récupérer des rapports oracle à jour et de les joindre à leur transactions. Deuxièmement, même si le recours au ferroutage minimise les opportunités d’arbitrage, il ne peut les empêcher complètement sans affecter la vivacité du contrat en chaîne. En effet, si un Le rapport oracle est valide jusqu'à un numéro de bloc n, puis une transaction soumise au bloc n + 1 nécessiterait un nouveau rapport valide. En raison des retards inhérents à la propagation de rapports de oracles aux utilisateurs, le nouveau rapport valable pour le bloc n + 1 aurait 9L’arbitrage ne vaut la peine que si la différence exploitable des prix des actifs dépasse les les frais requis pour acheter et vendre les actifs, par exemple ceux collectés par les mineurs et la bourse.être rendu public quelque temps avant que le bloc n + 1 ne soit extrait, disons au bloc n −k, ainsi créer une séquence de k blocs où existe une opportunité d'arbitrage de courte durée. Nous décrivez maintenant comment FSS contourne ces limitations. Priorisation des rapports oracle avec FSS : La FSS peut répondre au problème de premier plan oracle problème en s'appuyant sur la solution de ferroutage ci-dessus, mais en poussant les travail d'augmentation des transactions avec des rapports oracle au réseau Oracle décentralisé. À un niveau élevé, les nœuds oracle collectent les transactions destinées à un échange en chaîne, convenir d'un flux de prix en temps réel et publier le flux de prix ainsi que les transactions collectées sur le contrat de la chaîne principale. Conceptuellement, on peut considérer cette approche comme une « traitement par lots de transactions augmenté par les données », où le oracle garantit qu'un le flux de prix est toujours ajouté aux transactions. Les solutions FSS peuvent être mises en œuvre de manière transparente pour les utilisateurs de la bourse, et avec des changements minimes à la logique contractuelle, comme nous le décrivons plus en détail à la section 5.2. Assurer le fait que les nouveaux rapports oracle soient toujours prioritaires sur les transactions des utilisateurs n'est qu'un exemple d'une politique de commande que la FSS peut adopter et appliquer. Politiques de la FSS pour assurer l'ordre l’équité sont décrites de manière plus générale à la section 5.3. 5.1.2 Transactions utilisateur de premier plan Passons maintenant au front-running dans les applications génériques, où la méthode de défense ci-dessus ne fonctionne pas. Le problème peut être globalement capturé à travers le scénario suivant : Un adversaire voit une transaction utilisateur tx1 envoyée dans le réseau P2P et injecte sa propre transaction contradictoire tx2, de sorte que tx2 soit traitée avant tx1 (par exemple, en payant des frais de transaction plus élevés). Par exemple, ce type de front-running est courant parmi les des robots qui exploitent les opportunités d'arbitrage dans les systèmes DeFi [90] et qui ont affecté les utilisateurs de diverses applications décentralisées [101]. Imposer un ordre équitable entre les transactions traité sur le blockchain résout ce problème. Plus fondamentalement, voir les détails de tx1 n'est parfois même pas nécessaire et la simple connaissance de sa simple existence peut permettre à un adversaire de devancer tx1 à travers son posséder tx2 et frauder l'utilisateur innocent qui a créé tx1. Par exemple, l'utilisateur pourrait être connu pour négocier un actif particulier à des heures régulières. Prévenir de telles attaques nécessite des atténuations qui évitent également les fuites de métadonnées [62]. Quelques solutions à ce problème existent, mais ils introduisent des retards et des problèmes d’utilisabilité. De la commande réseau à la commande finalisée avec FSS : Des opportunités pour être en avance se produire parce que les systèmes existants ne disposent d’aucun mécanisme pour garantir que l’ordre dans lequel les transactions apparaissent sur la chaîne respecte l’ordre des événements et le flux d’informations en dehors du réseau. Cela représente un problème résultant de déficiences dans la mise en œuvre d'applications (par exemple, des plateformes de trading) sur un blockchain. Idéalement, on s'assurer que les transactions sont validées sur le blockchain dans le même ordre qu'elles l'étaient créé et envoyé au réseau P2P de blockchain. Mais puisque le réseau blockchain

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

est distribué, aucune commande de ce type ne peut être capturée. FSS introduit donc des mécanismes pour se prémunir contre les violations de l'équité, qui surviennent uniquement en raison de la distribution nature du réseau blockchain. 5.2 Détails du FSS Figure 12 : Un pool de mémoire équitable avec deux chemins de transaction différents : directe et basé sur mempool. La figure 12 montre un schéma général du FSS. Pour garantir l'équité, le DON fournissant le FSS doit interférer avec le flux des transactions lorsqu'elles entrent dans MAINCHAIN. Des ajustements aux clients, aux smart contract sur MAINCHAIN, ou aux deux, peuvent être nécessaires. À un niveau élevé, le traitement des transactions par FSS peut être décomposé en trois phases, décrites ci-dessous : (1) Surveillance des transactions ; (2) Séquençage des transactions ; et (3) Comptabilisation des transactions. En fonction de la méthode de classement utilisée pour le séquençage des transactions, des étapes de protocole supplémentaires sont nécessaires, comme décrit dans la section suivante. 5.2.1 Traitement des transactions Surveillance des transactions : Nous envisageons deux approches différentes pour que le FSS puisse surveiller transactions utilisateur destinées à un smart contract spécifique, directes et basées sur mempool : • Directe : L'approche directe est conceptuellement la plus simple, mais nécessite des changements clients utilisateurs afin que les transactions soient envoyées directement à l'Oracle décentraliséNœuds du réseau, plutôt qu'aux nœuds de la chaîne principale. Le DON collecte transactions utilisateur destinées à un smart contract SC spécifique et les commande en fonction sur une politique de commande. Le DON envoie ensuite les transactions commandées au smart contract sur la chaîne principale. Certains mécanismes de commande nécessitent également l'approche directe car l'utilisateur qui crée une transaction doit cryptographiquement protégez-le avant de l’envoyer à la FSS. • Basé sur Mempool : pour faciliter l'intégration de FSS avec les clients existants, le DON peut utiliser Mempool Services (MS) pour surveiller le pool de mémoire de la chaîne principale et collecter transactions. Le transport direct sera probablement la mise en œuvre privilégiée pour de nombreux contrats, et nous pensons que cela devrait être assez pratique dans de nombreux cas. Nous discutons brièvement de la manière dont les DApps existantes pourraient être modifiées de manière minimale pour prendre en charge transmission directe tout en préservant une bonne expérience utilisateur. Nous décrivons les approches en utilisant Ethereum et MetaMask [6] puisque ce sont les choix les plus populaires aujourd'hui, mais les techniques mentionnées devraient s'étendre à d'autres chaînes et portefeuilles. Un Ethereum récent Proposition d'amélioration, "EIP-3085 : Wallet ajoute la méthode RPC de chaîne Ethereum" [100], facilitera le ciblage des chaînes Ethereum personnalisées (en utilisant un ID CHAIN différent de celui celui de MAINCHAIN pour empêcher les attaques par relecture) de MetaMask et d'autres portefeuilles basés sur un navigateur. Après la mise en œuvre de cette proposition, un DApp cherchant à utiliser un DON ajouterait simplement un seul appel de méthode à leur front-end pour pouvoir transmettre directement transactions vers n’importe quel DON exposant une API compatible Ethereum. En attendant, "EIP-712 : Ethereum données structurées typées hashing et signature" [49] fournit un léger alternative plus impliquée mais déjà largement déployée, où un utilisateur de DApp peut utiliser MetaMask pour signer des données structurées spécifiant une transaction DON. Le DApp peut envoyer ces données structurées signées au DON. Notons enfin que des approches hybrides sont également possibles. Par exemple, l'héritage les clients peuvent continuer à envoyer des transactions dans le pool de mémoire de la chaîne principale, mais c'est essentiel les transactions (par exemple, les rapports oracle) sont envoyées directement aux nœuds DON (en particulier, le ensemble de nœuds fournissant des rapports oracle tels que des mises à jour de flux de prix et l'ensemble de nœuds à condition que le FSS puisse se chevaucher ou être identique). Séquençage des transactions : L'objectif principal de FSS est de garantir que les transactions des utilisateurs sont ordonnées selon une politique prédéfinie. La nature de cette politique dépendent des besoins de l’application et des types d’ordres de transactions déloyales qu’elle vise à prévenir. Étant donné que le FSS sur le DON est capable de traiter les données et de maintenir l'état local, ils peuvent imposer une politique de séquencement arbitraire basée sur les informations disponibles. disponible aux oracles. Les politiques de commande particulières et leur mise en œuvre sont discutées ultérieurement dans la section 5.3.Validation des transactions : Après avoir collecté et ordonné les transactions des utilisateurs, reçues soit directement des utilisateurs, soit collectées à partir du mempool, le DON envoie ces transactions à la chaîne principale. En tant que tel, les interactions d'un DON avec la chaîne principale restent soumis à un ordre de transaction (potentiellement injuste) régi par les mineurs de la chaîne principale. Pour exploiter les avantages de la commande décentralisée des transactions, la cible intelligente Le contrat SC doit donc être conçu pour traiter le DON comme un citoyen de « première classe ». Nous distinguer deux approches : • Contrats DON uniquement : l'option de conception la plus simple consiste à avoir la chaîne principale intelligente. contract SC n'accepte que les transactions qui ont été traitées par le DON. Ceci s'assure que le smart contract traite les transactions dans l'ordre proposé par le DON, mais restreint de facto le smart contract à fonctionner dans un système basé sur un comité (c'est-à-dire que le comité DON a désormais le pouvoir continu de déterminer le classement et inclusion des transactions). • Contrats à deux classes : une conception privilégiée, plus granulaire, rend la chaîne principale intelligente Le contrat SC accepte les transactions provenant à la fois du DON et de l'héritage utilisateurs,10 mais place des « ralentisseurs » traditionnels sur les transactions qui n’ont pas été traitées par le DON. Par exemple, les transactions du DON peuvent être traitées immédiatement, alors que les transactions existantes sont « mises en mémoire tampon » par le smart contract pour une période de temps déterminée. Autres mécanismes standards pour empêcher le front-running tels que les schémas de validation-révélation ou les VDF [53] pourraient également être appliqués aux anciens transactions. Cela garantit que les transactions commandées par DON seront traitées dans l'ordre convenu, sans donner au DON le pouvoir indésirable de censurer transactions. Comme l'imposition de l'ordre des transactions par FSS nécessite que les transactions soient agrégées « hors chaîne », cette solution est naturellement combinée avec d'autres techniques d'agrégation visant à réduire les coûts de traitement en chaîne. Par exemple, après avoir collecté et commandant des transactions, le DON peut envoyer ces transactions à la chaîne principale en tant que une seule « transaction groupée » (par exemple, un rollup), réduisant ainsi la transaction globale frais. Exécution de l'ordre de transaction : Que ce soit dans une conception DON uniquement ou à deux classes, la chaîne principale smart contract SC et le DON doivent être co-conçus de manière à garantir que l'ordre des transactions du DON est respecté. Ici aussi, nous envisageons différents options de conception : • Numéros de séquence : le DON peut ajouter un numéro de séquence à chaque transaction et envoyer ces transactions dans le pool mémoire de la chaîne principale. Le principal 10Si la surveillance des transactions du DON est basée sur le mempool, les transactions héritées doivent être distinctes des transactions DON afin qu'elles ne soient pas collectées par le DON, par exemple via une balise spéciale. intégré à la transaction ou en spécifiant un prix de gaz particulier, par ex. Les transactions DON contiennent du gaz prix inférieurs à un certain seuil.La chaîne smart contract SC ignore les transactions qui arrivent « hors séquence ». Nous notez que dans ce contexte, les mineurs de la chaîne principale peuvent décider d'ignorer les DON l'ordre des transactions, provoquant ainsi l'échec des transactions. Il est possible, en conservant l'état (coûteux), que SC applique un ordre correct des transactions, quelque peu de la même manière que TCP met en mémoire tampon les paquets dans le désordre jusqu'à ce que les paquets manquants soient supprimés. reçu. • Transaction nonces : Pour de nombreux blockchains, et en particulier pour Ethereum, le L'approche de numérotation séquentielle ci-dessus peut exploiter les transactions intégrées nonce pour imposer que la chaîne principale smart contract SC traite les transactions dans l'ordre. Ici, les nœuds DON envoient des transactions à la chaîne principale via un seul compte de chaîne principale, protégé par une clé partagée entre les nœuds DON. Le compte la transaction nonce garantit que les transactions sont extraites et traitées dans le bon ordre. • Regrouper les transactions : le DON peut regrouper plusieurs transactions dans un rollup. (ou dans un bundle similaire à un rollup). La chaîne principale smart contract doit être conçu pour gérer de telles transactions globales. • Regrouper les transactions avec un proxy de chaîne principale : ici, le DON regroupe de la même manière les transactions en une seule « méta-transaction » pour la chaîne principale, mais s'appuie sur un proxy personnalisé smart contract pour décompresser les transactions et les relayer vers le contrat cible SC. Cette technique peut être utile pour la compatibilité existante. Les métatransactions agissent comme les rollup mais diffèrent en ce sens qu'elles consistent en un contenu non compressé. liste des transactions publiées une fois sur la chaîne principale. Cette dernière conception présente l'avantage de prendre en charge de manière transparente les transactions des utilisateurs qui sont eux-mêmes mandatés par le biais d'un contrat de chaîne principale avant d'atteindre l'objectif de DON contrat SC. Par exemple, considérons un utilisateur qui envoie une transaction vers un portefeuille contrat, qui à son tour envoie une transaction interne à SC. Attribution d'une séquence à une telle transaction serait délicat, à moins que le contrat de portefeuille de l'utilisateur ne soit spécialement conçu pour transmettre le numéro de séquence à chaque transaction interne à SC. De même, ces transactions internes ne peuvent pas être facilement regroupées en une métatransaction envoyée directement au SC. Nous discutons d'autres considérations de conception pour ces transactions par procuration ci-dessous. 5.2.2 Atomicité des transactions Notre discussion jusqu’à présent a implicitement supposé que les transactions interagissent avec un seul en chaîne smart contract (par exemple, un utilisateur envoie une demande d'achat à un échange). Pourtant, dans Dans des systèmes tels que Ethereum, une seule transaction peut consister en plusieurs transactions internes, par exemple, une smart contract appelant une fonction dans un autre contrat. Ci-dessous, nous décrire deux stratégies de haut niveau pour séquencer les transactions « multi-contrats », tandis que préservant l'atomicité de la transaction (c'est-à-dire la séquence d'actions prescrite par les transactions sont toutes exécutées dans le bon ordre, voire pas du tout).Forte atomicité : La solution la plus simple consiste à appliquer le FSS, comme décrit ci-dessus, directement à des transactions « multi-contrats » entières. Autrement dit, les utilisateurs envoient leurs transactions dans le réseau et FSS surveille, séquence et publie ces transactions sur le chaîne principale. Cette approche est techniquement simple, mais présente une limite potentielle : si un utilisateur la transaction interagit avec deux contrats SC1 et SC2 qui veulent tous deux tirer parti d'un effet de levier équitable services de séquençage, alors la politique de séquençage de ces deux contrats doit être cohérente. Autrement dit, étant donné deux transactions différentes tx1 et tx2 avec lesquelles chacune interagit à la fois SC1 et SC2, il ne faut pas que la politique de SC1 commande tx1 avant tx2 alors que la politique du SC2 prescrit l’ordre inverse. Pour la grande majorité des scénarios d’intérêt, nous envisageons que les politiques de séquençage adoptées par les différents contrats seront cohérentes. Par exemple, SC1 et SC2 peut vouloir que les transactions soient classées en fonction de leur heure d'arrivée approximative dans le mempool, et SC1 peut en outre souhaiter que certains rapports oracle soient toujours livrés en premier. Comme le ces dernières oracle signalent que les transactions n'interagissent pas avec SC2, les politiques sont cohérentes. Faible atomicité : Dans toute sa généralité, le FSS pourrait être appliqué au niveau des individus. transactions internes. Considérons des transactions de la forme tx = { ˜txpre, ˜txSC, ˜txpost}, constituées de quelques transaction(s) ˜txpre, qui aboutit à une transaction interne ˜txSC à SC, qui à son tour émet des transactions internes ˜txpost. La politique de séquençage du SC pourrait déterminer comment la transaction interne ˜txSC doit être ordonnée par rapport aux autres transactions envoyées vers SC, mais laissez ouvert l’ordre de séquençage pour ˜txpre et ˜txpost. Compte tenu des caractéristiques intrinsèques du traitement des transactions dans des systèmes tels que Ethereum, développer un service de séquençage ciblant des transactions internes spécifiques n'est pas simple. Avec un contrat SC spécialement conçu, cela peut être réalisé comme suit : 1. La transaction tx est envoyée dans le réseau et extraite (sans aucun séquençage réalisée par la FSS). Le ˜txpre initial est exécuté et appelle ˜txSC. 2. SC n'exécute pas ˜txSC et retourne. 3. FSS surveille les transactions internes de SC, les séquence et les publie à SC (c'est-à-dire en envoyant des transactions ˜txSC directement à SC). 4. SC traite les transactions ˜txSC reçues de FSS et émet les transactions internes ˜txpost qui résultent de ˜txSC. Avec cette approche, les transactions ne sont pas exécutées de manière entièrement atomique (c'est-à-dire la transaction tx est divisée en plusieurs transactions en chaîne), mais l'ordre des les transactions internes sont préservées. Cette solution implique un certain nombre de contraintes de conception. Par exemple, ˜txpre ne peut pas supposons que ˜txSC et ˜txpost seront exécutés. De plus, SC doit être conçu de manière à exécuter les transactions ˜txSC et ˜txpost pour le compte d'un certain utilisateur, même si elles étaientenvoyé par la FSS. Pour ces raisons, la solution « Atomicité forte » plus grossière ci-dessus est probablement préférable dans la pratique. Pour respecter des dépendances plus complexes, impliquant plusieurs transactions et leurs transactions internes respectives, le planificateur de transactions de FSS peut contenir des fonctions élaborées qui ressemblent à celles trouvées dans les gestionnaires de transactions des relations gestionnaires de bases de données. 5.3 Séquençage équitable des transactions Nous discutons ici de deux notions d'équité pour le séquençage des transactions et des implémentations correspondantes, qui peuvent être réalisées par FSS : l'équité des ordres basée sur une politique imposé par FSS et la préservation sécurisée de la causalité, ce qui nécessite des méthodes cryptographiques supplémentaires dans FSS. Équité des commandes : L'équité de l'ordre est une notion d'équité temporelle dans les protocoles de consensus qui a été formellement introduit pour la première fois par Kelkar et al. [144]. Kelkar et coll. visent à parvenir à une forme de politique naturelle dans laquelle les transactions sont commandés en fonction de l'heure à laquelle ils sont reçus pour la première fois par le DON (ou le réseau P2P, dans le cas d'un FSS basé sur mempool). Cependant, dans un système décentralisé, les nœuds peuvent voir les transactions arriver dans un ordre différent. Etablir une commande totale sur toutes les transactions est le problème même résolu par le protocole de consensus qui sous-tend CHAÎNE PRINCIPALE. Kelkar et coll. [144] introduisent donc une notion plus faible qui peut être réalisé avec l’aide d’un réseau Oracle décentralisé, appelé « équité des commandes en bloc ». Il regroupe les transactions que le DON a reçues pendant un intervalle de temps dans un « bloquer » et insère toutes les transactions du bloc simultanément et à la même position (c'est-à-dire la hauteur) dans MAINCHAIN. Ils sont donc ordonnés ensemble et doivent être exécutables en parallèle, sans créer de conflits entre eux. En gros, l’équité de l’ordre stipule alors que si une grande fraction des nœuds voit la transaction τ1 avant τ2, alors τ1 sera séquencé avant ou dans le même bloc que τ2. En imposant une mesure aussi grossière la granularité de l'ordre des transactions, les possibilités d'attaques frontales et autres attaques liées à l'ordre sont considérablement réduites. Kelkar et coll. proposent une famille de protocoles appelée Aequitas [144], qui aborde différents modèles de déploiement, y compris les paramètres réseau synchrone, partiellement synchrone et asynchrone. Les protocoles Aequitas imposent une surcharge de communication importante par rapport au consensus de base BFT et ne sont donc pas idéaux pour une utilisation pratique. Nous pensons cependant que des variantes pratiques d'Aequitas apparaîtront et pourront être utilisées pour le séquençage des transactions dans FSS et d'autres applications. Certains régimes connexes ont déjà été proposés qui ont moins de formalisme d'accompagnement et des propriétés plus faibles, par exemple, [36, 151, 236], mais de meilleures performances pratiques. Ces programmes peuvent être soutenus en FSS également. Il convient également de noter que le terme « équité » apparaît ailleurs dans le blockchain littérature avec un sens différent, à savoir l'équité dans le sens d'opportunité pourmineurs proportionnellement à leurs ressources engagées [106, 181] ou pour validators en termes de l’égalité des chances [153]. Préservation sécurisée de la causalité : L'approche la plus connue pour empêcher le frontrunning et autres violations d'ordre sur les plates-formes distribuées repose sur la cryptographie. techniques. Leur caractéristique commune est de masquer les données de transaction elles-mêmes, en attendant l'ordre au niveau de la couche consensus a été établi et pour révéler les données de transaction plus tard pour le traitement. Cela préserve l'ordre causal entre les transactions qui sont exécuté par le blockchain. Les notions de sécurité et protocoles cryptographiques pertinents ont été considérablement développés avant l’avènement des blockchains [71, 190]. Les conditions de sécurité de la « causalité d'entrée » [190] et de la « préservation sécurisée de la causalité » [71, 97] exigent formellement qu'aucune information sur une transaction ne soit connue. avant que la position de cette transaction dans l’ordre global n’ait été déterminée. Un adversaire ne doit pas être en mesure de déduire aucune information avant ce moment, de manière cryptographique. sens fort. On peut distinguer quatre techniques cryptographiques pour préserver la causalité : • Protocoles de validation-révélation [29, 142, 145] : au lieu d'annoncer une transaction en clair, seul un engagement cryptographique sur la transaction est diffusé. Une fois que toutes les transactions validées mais cachées ont été ordonnées (au début du blockchain systèmes sur MAINCHAIN lui-même, mais ici par FSS), l'expéditeur doit ouvrir l'engagement et révéler les données de la transaction dans un intervalle de temps prédéterminé. Le réseau vérifie ensuite que l'ouverture satisfait à l'engagement antérieur. Le les origines de cette méthode datent d’avant l’avènement des blockchains. Bien qu’elle soit particulièrement simple, cette approche présente des inconvénients considérables et n’est pas facile à mettre en œuvre pour deux raisons. Premièrement, puisque seul l’engagement existe au niveau du protocole de commande, la sémantique de la transaction ne peut être validé lors du consensus. Un aller-retour supplémentaire chez le client est requis. Mais, plus sévèrement, la possibilité qu'aucune ouverture ne soit possible jamais arriver, ce qui pourrait équivaloir à une attaque par déni de service. De plus, il Il est difficile de déterminer si l’ouverture est valide dans un contexte cohérent et distribué. manière car tous les participants doivent se mettre d’accord sur le fait que l’ouverture soit arrivée dans le temps. • Protocoles de validation-révélation avec récupération retardée [145] : un défi avec le L’approche commit-reveal est qu’un client peut s’engager dans une transaction de manière spéculative et la révéler plus tard uniquement si les transactions ultérieures la rendent rentable. Un une variante récente de l'approche commit-reveal améliore la résilience contre cela une sorte de mauvaise conduite. En particulier, le protocole TEX [145] résout ce problème en utilisant une approche intelligente dans laquelle les transactions cryptées incluent une clé de déchiffrement pouvant être obtenu en calculant une fonction de retard vérifiable (VDF) [53, 221]. Si un client ne parvient pas à déchiffrer sa transaction en temps opportun, d'autres personnes dans le système déchiffreront en son nom en résolvant un casse-tête cryptographique moyennement difficile.• Chiffrement à seuil [71, 190] : cette méthode exploite ce que DON peut effectuer opérations cryptographiques à seuil. Supposons que FSS maintient un chiffrement public key pkO et les oracle partagent entre eux la clé privée correspondante. Les clients chiffrent ensuite les transactions sous pkO et les envoient au FSS. Commandes FSS transactions sur le DON, puis les décrypte, et enfin les injecte dans MAINCHAIN dans l’ordre fixe. Le cryptage garantit donc que la commande est non pas basé sur le contenu de la transaction, mais sur le fait que les données elles-mêmes sont disponibles lorsque nécessaire. Cette méthode a été initialement proposée par Reiter et Birman [190] et affinée plus tard par Cachin et al. [71], où il a été intégré avec un consensus autorisé protocole. Des travaux plus récents ont exploré l'utilisation de la cryptographie à seuil comme mécanisme de niveau consensus pour les messages génériques [33, 97] et pour les calculs généraux avec des données partagées [41]. Comparé aux protocoles de révélation de validation, le chiffrement à seuil empêche les simples attaques par déni de service (bien qu'il faille faire preuve de prudence étant donné le coût de calcul du décryptage). Il permet au DON d'avancer de manière autonome, à son rythme et sans en attendant d'autres actions du client. Les transactions peuvent être validées immédiatement après avoir été déchiffrées. De plus, les clients chiffrent toutes les transactions avec un seul clé pour le DON et le modèle de communication reste le même qu'avec les autres transactions. Gérer la clé de seuil en toute sécurité et avec des nœuds changeants dans O, cependant, peut poser des difficultés supplémentaires. • Partage de secret engagé [97] : au lieu de chiffrer les données de transaction sous une clé détenue par le DON, le client peut également la partager en secret pour les nœuds en O. Grâce à un système de partage de secrets hybride et informatiquement sécurisé, la transaction est d’abord chiffré à l’aide d’un chiffre symétrique avec une clé aléatoire. Seule la clé symétrique correspondante est partagée et le texte chiffré est soumis au DON. Le client doit envoyer un partage de clé à chaque nœud en O à l'aide d'un message chiffré séparément. Les étapes restantes du protocole sont les mêmes que pour le seuil cryptage, sauf que les données de transaction sont déchiffrées avec le chiffrement symétrique algorithme après avoir reconstruit la clé par transaction à partir de ses partages. Cette méthode ne nécessite pas la configuration ou la gestion d'un système de cryptographie à clé publique associé au DON. Cependant, les clients doivent connaître les nœuds dans O et communiquer dans un contexte sécurisé avec chacun d’eux, ce qui place charge supplémentaire pour les clients. Bien que les méthodes cryptographiques offrent une protection complète contre les informations fuyant les transactions soumises au réseau, ils ne cachent pas les métadonnées. Pour Par exemple, une adresse IP ou une adresse Ethereum de l'expéditeur pourrait toujours être utilisée par un adversaire pour effectuer des attaques de front et autres. Diverses mesures améliorant la confidentialité les techniques déployées au niveau de la couche réseau, par exemple [52, 95, 107], ou de la couche transaction, par exemple, [13, 65], serait nécessaire pour atteindre cet objectif. L'impact d'une pièce particulière des métadonnées, à savoir à quel contrat une transaction est envoyée, peuvent être (partiellement) masquéesen multiplexant de nombreux contrats sur le même DON. Dissimulation cryptographique des transactions en soi n’empêche pas non plus la priorisation des transactions par des entités corrompues. DON nœuds en collusion avec les expéditeurs de transactions. La causalité sécurisée garantie par les protocoles cryptographiques complète les garanties d'équité de l'ordre pour toute politique, et nous avons l'intention d'explorer une combinaison des deux. méthodes, lorsque cela est possible. Si un adversaire ne peut pas tirer un avantage significatif de en observant les métadonnées, les protocoles sécurisés de préservation de la causalité pourraient être utilisés parallèlement une approche de commande naïve également. Par exemple, les nœuds oracle peuvent écrire des transactions à L dès leur réception, sans duplication. Les transactions seraient alors classés en fonction de leur apparition sur L et ensuite décryptés. Nous prévoyons également d’envisager l’utilisation des TEE comme moyen de contribuer à faire respecter un ordre équitable ; pour Par exemple, Tesseract [44] peut être considéré comme réalisant une forme d'ordre causal, mais un renforcé par la capacité du TEE à traiter les transactions sous forme explicite tout en en gardant leur confidentialité. 5.4 Considérations relatives à la couche réseau Jusqu'à présent, notre description du FSS s'est principalement concentrée sur le problème de l'application du principe L’ordre finalisé des transactions correspond à leur ordre observé dans le réseau. Ci-après, nous considérons les problèmes d'équité qui pourraient survenir au niveau de la couche réseau elle-même. Les traders à haute fréquence sur les marchés électroniques conventionnels investissent des sommes considérables ressources pour obtenir une vitesse de réseau supérieure [64], et les traders sur les bourses de crypto-monnaie présentent un comportement similaire [90]. La vitesse du réseau confère un avantage à la fois observer les transactions des autres parties et soumettre des transactions concurrentes. Un remède déployé dans la pratique et popularisé dans le livre Flash Boys [155] est le « ralentisseur » introduit initialement dans l'échange IEX [128] et plus tard dans d'autres échanges [179] (avec résultats mitigés [19]). Ce mécanisme impose un délai (350 microsecondes en IEX) à l'accès au marché, dans le but de neutraliser les avantages en vitesse. Des preuves empiriques, par ex. [128], soutient son efficacité à diminuer certains échanges coûts pour les investisseurs ordinaires. FSS peut être utilisé simplement pour mettre en œuvre un système asymétrique. ralentisseur – celui qui retarde les transactions entrantes. Budish, Cramton et Shim [64] soutiennent que l'exploitation des avantages de la vitesse est incontournable sur les marchés en temps continu, et plaident en faveur d'un remède structurel dans le forme de marchés basés sur des enchères par lots. Mais cette approche n’a pas été largement adoptée sur les plateformes de trading existantes. Les systèmes commerciaux conventionnels sont centralisés et reçoivent généralement des transactions via une seule connexion réseau. En revanche, dans un système décentralisé, il est possible de observez la propagation des transactions à partir de plusieurs points de vue. Par conséquent, il est possible d’observer des comportements tels que l’inondation du réseau dans un réseau P2P. Nous avons l'intention explorer les approches de couche réseau du FSS qui aident les développeurs à spécifier des politiques interdire de tels comportements de réseau indésirables.5.5 Politiques d’équité au niveau de l’entité L’équité des ordres et la causalité sécurisée visent à imposer un ordre aux transactions qui respecte l’époque à laquelle ils ont été créés et soumis pour la première fois au réseau. Une limite de cette notion d'équité est qu'elle n'empêche pas les attaques dans lesquelles un adversaire obtient un avantage en inondant un système avec de nombreuses transactions, une stratégie observée dans la nature comme moyen d'effectuer des transactions efficaces dans les ventes token [159] et de créer une congestion entraînant la liquidation des positions de dette garantie (CDP) [48]. En d’autres termes, l’équité de l’ordre impose l’équité à l’égard des transactions, et non des joueurs. Tel que démontré dans le système CanDID [160], il est possible d'utiliser des outils oracle tels que DECO ou crieur public en collaboration avec un comité de nœuds (tels qu'un DON) pour atteindre diverses formes de résistance Sybil tout en protégeant la vie privée. Les utilisateurs peuvent enregistrer des identités et fournir la preuve de leur caractère unique sans divulguer leur identité. Les informations d’identification résistantes à Sybil offrent une approche possible pour enrichir l’ordre des transactions politiques de manière à limiter les possibilités d’attaques par inondations. Par exemple, un La vente token peut autoriser une seule transaction par utilisateur enregistré, lorsque l'inscription nécessite une preuve du caractère unique d'un identifiant national, tel qu'un numéro de sécurité sociale. Une telle approche n’est pas infaillible, mais peut s’avérer utile pour atténuer les attaques par inondation de transactions.

公正な順序付けサービス

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 つのトランザクションのみが許可される場合があります。 社会保障番号などの国民識別子の一意性の証明が必要です。 このようなアプローチは確実ではありませんが、トランザクション フラッディング攻撃を軽減するための有用なポリシーであることが証明される可能性があります。

Le cadre d'exécution des transactions DON

(DON-TEF) DONs fournira oracle et un support de ressources décentralisées pour les solutions de couche 2 au sein ce que nous appelons le cadre d'exécution de transactions décentralisées du réseau Oracle (DONTEF) ou TEF en abrégé. Aujourd'hui, la fréquence des mises à jour des contrats DeFi est limitée par les latences de la chaîne principale, par exemple, l'intervalle de bloc moyen de 10 à 15 secondes dans Ethereum [104], ainsi que le coût de poussant de grandes quantités de données sur la chaîne et un débit de calcul/tx limité : des approches de mise à l'échelle motivantes telles que le partitionnement [148, 158, 232] et l'exécution de couche 2 [5, 12, 121, 141, 169, 186, 187]. Même les blockchain avec des temps de transaction beaucoup plus rapides, par exemple, [120], ont proposé des stratégies de mise à l'échelle qui impliquent un calcul hors chaîne [168]. TEF est censé agir comme une ressource de couche 2 pour de tels systèmes de couche 1/MAINCHAIN. Grâce à TEF, les DON peuvent prendre en charge des mises à jour plus rapides dans un contrat MAINCHAIN tout en conserver les principales assurances de confiance fournies par la chaîne principale. Le TEF peut accompagner l'un des nombreux paradigmes et techniques d'exécution de couche 2, y compris les rollups,11 rollup optimistes, Validium, etc., ainsi qu'un modèle de confiance à seuil dans lequel DON les nœuds exécutent des transactions. Le TEF est complémentaire du FSS et destiné à le soutenir. En d'autres termes, n'importe quel Les applications exécutées dans le TEF peuvent utiliser FSS. 11Souvent appelés « zk-rollups », un terme inapproprié, car ils n’ont pas nécessairement besoin de preuves de connaissance nulle.

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

6.1 Présentation du TEF Le TEF est un modèle de conception pour la construction et l'exécution d'un hybride performant smart contract SC. Conformément à l’idée principale des smart contract hybrides, le TEF implique un décomposition du SC en deux morceaux : (1) Ce que nous appelons dans le contexte du TEF une ancre contrat SCa sur MAINCHAIN et (2) DON exécution logique que nous appelons l'exécutable TEF. Nous utilisons ici SC pour désigner le contrat logique mis en œuvre par la combinaison de SCa et s'attendre. (Comme indiqué ci-dessus, nous prévoyons de développer des outils de compilation pour décomposer un contractez automatiquement SC dans ces composants.) L'exécutable TEF est le moteur qui traite les transactions des utilisateurs dans SC. Il peut s'exécuter de manière performante, car il s'exécute sur DON. Il a plusieurs fonctions : • Ingestion de transactions : exect reçoit ou récupère les transactions des utilisateurs. Cela peut le faire directement, c'est-à-dire via la soumission de transaction sur le DON, ou via le MAINCHAIN pool de mémoire utilisant MS. • Exécution rapide des transactions : exect traite les transactions impliquant des actifs au sein de SC. Il le fait localement, c'est-à-dire sur le DON. • Accès oracle/adaptateur rapide et peu coûteux : exect dispose d'un accès natif aux rapports oracle et d'autres données d'adaptateur conduisant, par exemple, à un actif plus rapide, moins cher et plus précis prix que l’exécution MAINCHAIN. De plus, l'accès hors chaîne oracle réduit le coût de fonctionnement du oracle, donc le coût d’utilisation du système, en évitant stockage en chaîne coûteux. • Synchronisation : exect envoie périodiquement les mises à jour de DON vers MAINCHAIN, mettant ainsi à jour SCa. Le contrat d’ancrage est le frontal MAINCHAIN ​​de SC. En tant que composant de confiance plus élevée de SC, il répond à plusieurs objectifs : • Conservation des actifs : les fonds des utilisateurs sont déposés, détenus et retirés de SCa. • Vérification de la synchronisation : SCa peut vérifier l'exactitude des mises à jour d'état lorsqu'elles sont exécutées. synchronise, par exemple, les SNARK attachés aux rollup. • Garde-corps : la SCa peut inclure des dispositions visant à protéger contre la corruption ou les défaillances. en exect. (Voir la section 7 pour plus de détails.) Dans TEF, les fonds des utilisateurs sont conservés sur MAINCHAIN, ce qui signifie que le DON n'est lui-même pas dépositaire. En fonction du choix du mécanisme de synchronisation (voir ci-dessous), les utilisateurs peuvent avoir besoin faire confiance au DON uniquement pour des rapports oracle précis et une synchronisation rapide avec MAINCHAIN. Le modèle de confiance qui en résulte est très similaire à celui des DEX basés sur un carnet de commandes, par exemple [2], qui comprennent aujourd'hui généralement un composant hors chaîne pour l'appariement des ordres et un composant en chaîne pour la compensation et le règlement.Pour reprendre le vocabulaire des systèmes de paiement, on peut considérer excet comme le composant de SC est responsable de la compensation, tandis que SCa s'occupe du règlement. Voir la Fig. 13 pour un schéma représentation du TEF. Figure 13 : Schéma du TEF. Dans cet exemple, les transactions transitent par le mempool de MAINCHAIN via MS au DON. Les avantages du TEF : Le TEF présente trois avantages principaux : • Hautes performances : SC hérite du débit beaucoup plus élevé du DON que celui du MAINCHAIN. pour les transactions et les rapports oracle. De plus, exect peut traiter les transactions plus rapidement et répondre aux rapports oracle plus rapidement qu'une implémentation sur MAINCHAIN ​​seule. • Frais réduits : le processus de synchronisation est moins sensible au temps que le traitement des transactions, et les transactions peuvent être envoyées du DON vers MAINCHAIN ​​par lots. Par conséquent, les frais en chaîne par transaction (par exemple, les coûts du gaz) avec cette approche sont bien inférieurs à ceux d'un contrat fonctionnant uniquement sur MAINCHAIN. • Confidentialité : Les mécanismes de confidentialité du DON peuvent être amenés à porter sur SC.

Limites du TEF : L'une des limites de TEF est qu'il ne prend pas en charge les retraits, car ils se produisent uniquement sur MAINCHAIN : lors de l'envoi d'une demande de retrait vers SCa, un utilisateur devra peut-être attendre qu'exect effectue une mise à jour d'état qui inclut le transaction de retrait avant qu’elle puisse être approuvée. Nous discutons de quelques remèdes partiels, cependant, à la section 6.2. Une autre limitation du TEF est qu'il ne prend pas en charge la composition atomique de DeFi. contrats sur MAINCHAIN, en particulier la possibilité d'acheminer les actifs via plusieurs DeFi contrats en une seule transaction. Le TEF peut cependant prendre en charge une telle atomicité entre Contrats DeFi exécutés sur le même DON. Nous discutons également de certaines façons de résoudre ce problème problème dans la section 6.2. 6.2 Routage des transactions Les transactions pour SC peuvent être envoyées par les utilisateurs directement au DON ou peuvent être acheminées via le mempool dans MAINCHAIN (via FSS). Il existe quatre types de transactions distincts, chacun dont nécessitent une manipulation différente : Opérations intra-contractuelles : Parce qu'il évite les complications de la dynamique des gaz, le TEF offre à SC plus de flexibilité dans la gestion des transactions qu'elle ne le ferait. disponible dans un contrat de couche 1. Par exemple, alors qu'une transaction mempool dans Ethereum peut être écrasé par une nouvelle transaction avec un prix du gaz plus élevé, SC peut traiter une transaction qui opère sur des actifs au sein de SC comme faisant autorité dès qu'elle devient visible dans le pool de mémoire. Par conséquent, SC n'a pas besoin d'attendre qu'une transaction soit confirmée dans un bloc, ce qui entraîne une latence considérablement réduite. Proxy : Un utilisateur peut souhaiter envoyer une transaction τ à SC via un contrat de portefeuille ou autre contrat sur MAINCHAIN. Il est possible pour le DON de simuler l'exécution de τ sur MAINCHAIN pour déterminer si cela entraîne une transaction ultérieure vers SC. Si tel est le cas, τ peut être séquencé avec d’autres transactions pour SC qui le font. Il y en a quelques-uns possibilités sur la manière dont le DON identifie de telles transactions : (1) Le DON peut simuler toutes les transactions dans le mempool (une approche coûteuse) ; (2) Certains contrats ou les types de contrats, par exemple les portefeuilles, peuvent être répertoriés pour être surveillés par le DON ; ou (3) les utilisateurs peuvent annoter les transactions pour l'inspection DON. Les choses se compliquent lorsqu’une seule transaction interagit avec deux contrats, SC1 et SC2, qui utilisent tous deux des services de séquençage équitable et ont des politiques de commande incompatibles. Le DON pourrait, par exemple, séquencer τ au plus tard qui est compatible avec les deux. Dépôts : Une transaction déposant un actif MAINCHAIN dans SC doit être confirmée dans un bloc avant que SC puisse la traiter comme valide. Lorsqu'il détecte l'exploitation minière d'un transaction qui envoie des actifs (par exemple, Ether) dans SCa, exect peut confirmer instantanément ledépôt. Par exemple, il peut appliquer un prix actuel déclaré oracle sur le DON au atout. Retraits : Comme indiqué ci-dessus, une limitation du TEF est que les retraits ne peuvent pas toujours être exécutés instantanément. Dans un modèle d'exécution de type rollup, le retrait La demande doit être séquencée avec d'autres transactions, c'est-à-dire cumulée, afin d'être traitée en toute sécurité. traité. Il existe cependant quelques solutions partielles à cette limitation. Si le DON peut calculer rapidement une preuve de validité rollup jusqu'à la transaction de retrait, alors l'observation de la transaction τ d'un utilisateur dans l'exécutable mempool peut envoyer une transaction de mise à jour d'état τ ′ pour τ à un prix du gaz plus élevé, une sorte de front-running bénéfique. À condition que τ ne soit pas extrait avant que τ ′ n'atteigne le mempool, τ ′ précédera τ, et τ entraînera un retrait approuvé. Dans une variante TEF où DON est utilisé pour calculer les mises à jour d'état (voir la variante de signature de seuil ci-dessous), le DON peut alternativement déterminer hors chaîne si τ doit être approuvé compte tenu de l'état du SC lors de son exécution. Le DON peut alors envoyer une transaction τ ′ qui approuve le retrait τ – sans effectuer de paiement complet. mise à jour de l'état. Si cette approche n'est pas possible, ou dans les cas où elle ne réussit pas, une procédure initiée par DON la transaction τ ′ peut envoyer des fonds à l'utilisateur en réponse à τ afin que l'utilisateur n'ait pas besoin lancer une transaction supplémentaire. 6.3 Synchronisation L'exécutable TEF envoie périodiquement les mises à jour de DON vers MAINCHAIN, mettre à jour l’état de SCa dans un processus que nous appelons synchronisation. La synchronisation peut être envisagée comme propagation des transactions de couche 2 vers la couche 1, de sorte que TEF peut s'appuyer sur n'importe lequel d'un certain nombre des techniques existantes à cet effet, y compris rollups [5, 12, 16, 69], optimistes rollups [10, 11, 141], Validium [201] ou signature de seuil de base, par exemple seuil BLS, Schnorr, ou ECDSA [24, 54, 116, 202]. En principe, les environnements d'exécution fiables peut également attester de l'exactitude des changements d'état, offrant un système beaucoup plus performant. alternative aux rollups, mais avec un modèle de confiance dépendant du matériel. (Voir, par exemple, [80].) Ci-dessous, nous comparons ces options de synchronisation par rapport à trois propriétés clés dans TEF : • Disponibilité des données : où l'état du SC est-il stocké ? Au moins trois options sont disponible en TEF : sur le MAINCHAIN, sur un DON, ou par un stockage tiers fournisseurs tels que IPFS. Ils obtiennent différentes garanties de sécurité, de disponibilité niveaux et profils de performance. En bref, le stockage de l'état sur le MAINCHAIN permet auditabilité en chaîne et élimine la dépendance à l'égard d'une quelconque partie pour la disponibilité de l'État ; d'un autre côté, le stockage hors chaîne peut réduire les coûts de stockage et améliorer débit, au prix de la confiance dans les fournisseurs de stockage (DON ou tiers) pour disponibilité des données. Bien entendu, des modèles flexibles combinant ces options sont également possible. Nous indiquons la forme requise de disponibilité des données dans le tableau 1.• Garanties d'exactitude : comment SCa vérifie-t-elle l'exactitude des mises à jour ? poussé par Exect ? Cela affecte la charge de calcul sur exect et SCa et le latence de synchronisation (voir ci-dessous). • Latence : la latence de synchronisation a trois facteurs contributifs : (1) Le temps nécessaire par exemple, générer une transaction de synchronisation τsync ; (2) Le temps nécessaire pour τsync à confirmer sur MAINCHAIN ; et (3) Le temps nécessaire à τsync pour prendre effet sur SCa. En TEF, la latence est particulièrement importante pour les retraits (mais moins pour les transactions intra-contractuelles) car les retraits nécessitent nécessairement un (au moins partielle) synchronisation d'état. Synchronisation choix Données disponibilité Exactitude garanties Latence Cumul [5, 12, 16, 69] En chaîne Preuves de validité Temps nécessaire à la génération preuves de validité (par exemple, procès-verbaux dans les systèmes actuels) Validium [201] Hors chaîne Preuves de validité Idem que ci-dessus Optimiste rollup [10, 11, 141] En chaîne Preuves de fraude Durée du défi période (par exemple, jours ou semaines) Signature de seuil [24, 54, 116, 202] Flexible Seuil de signatures par DON Instantané Environnements d'exécution fiables [80] Flexible Basé sur le matériel attestations Instantané Tableau 1 : Diverses options de synchronisation dans TEF et leurs propriétés. Le tableau 1 résume ces propriétés dans les cinq principales options de synchronisation dans TEF. (Remarque que nous n'avons pas l'intention de comparer ces technologies en tant que mise à l'échelle autonome de couche 2 solutions. Pour cela, nous renvoyons les lecteurs à, par exemple, [121].) Nous discutons maintenant de chaque option de synchronisation. Cumuls : Un rollup [69] est un protocole dans lequel la transition d'état effectuée par un le lot de transactions est calculé hors chaîne. Le changement d'état se propage ensuite sur MAINCHAIN. Pour implémenter rollups, l'ancre smart contract SCa stocke une représentation compacte Rstate (par exemple, une racine Merkle) de l'état réel. Pour synchroniser, exect envoie τsync = (T, R′ état) à SCa où T est l’ensemble des transactions qu’il a traitées depuis le derniersynchronisation et R′ state est la représentation compacte du nouvel état calculée en appliquant transactions en T vers l’état précédent Rstate. Il existe deux variantes populaires qui diffèrent dans la manière dont SCa vérifie les mises à jour d'état dans τsync. Le premier, (zk-)rollups, joint un argument succinct de justesse, parfois appelé une preuve de validité, pour la transition Rstate →R′ état. Pour implémenter cette variante, exécutez calcule et soumet la preuve de validité (par exemple, une preuve zk-SNARK) avec τsync, prouvant que R′ L’état est le résultat de l’application de T à l’état actuel de SCa. L'ancre Le contrat n'accepte la mise à jour de l'état qu'après avoir vérifié la preuve. Les rollup optimistes n'incluent pas d'arguments d'exactitude, mais ont staking et des procédures de contestation qui facilitent la vérification distribuée des transitions d’état. Pour cela Variante rollup, SCa accepte provisoirement τsync en supposant qu'il est correct (d'où l'optimisme) mais τsync ne prend effet qu'après une période de contestation, pendant laquelle toute partie la surveillance de MAINCHAIN peut identifier les mises à jour d'état erronées et informer SCa de prendre actions nécessaires (par exemple, pour restaurer l'état et infliger une pénalité en cas d'exécution). Les deux variantes rollup assurent la disponibilité des données en chaîne, au fur et à mesure que les transactions sont publiées en chaîne, à partir duquel l'état complet peut être construit. La latence des zk-rollups est dominé par le temps nécessaire pour générer des preuves de validité, qui est généralement au ordre de minutes dans les systèmes existants [16] et verra probablement des améliorations au fil du temps. Les rollup optimistes, en revanche, ont une latence plus élevée (par exemple, jours ou semaines) car la période de contestation doit être suffisamment longue pour que les preuves de fraude fonctionnent. Le L'implication d'une confirmation lente est subtile et parfois spécifique au schéma, de sorte que une analyse approfondie est hors de portée. Par exemple, certains régimes considèrent le paiement transactions comme « finales sans confiance » [109] avant que la mise à jour de l'état ne soit confirmée, car un un utilisateur régulier pourrait vérifier un rollup beaucoup plus rapidement que le MAINCHAIN. Validium : Validium est une forme de (zk-)rollup qui rend les données disponibles uniquement hors chaîne et ne conserve pas toutes les données sur MAINCHAIN. Plus précisément, exect envoie uniquement le nouveau l'état et la preuve mais pas les transactions à SCa. Avec la synchronisation de style Validium, exécutez et le DON qui l'exécute sont les seuls à stocker l'état complet et qui exécutent des transactions. Comme pour les zk-rollups, la latence de synchronisation est dominée par la validité temps de génération de preuve. Contrairement aux zk-rollups, cependant, la synchronisation de style Validium réduit le le coût de stockage et augmente le débit. Signature du seuil par DON : En supposant qu'un seuil de DON nœuds soit honnête, un L'option de synchronisation simple et rapide consiste à faire en sorte que les nœuds DON signent collectivement le nouvel état. Cette approche peut prendre en charge la disponibilité des données en chaîne et hors chaîne. Notez que si les utilisateurs font confiance à DON pour les mises à jour oracle, ils n'ont pas besoin de lui faire davantage confiance pour accepter mises à jour d'état, car elles le sont déjà dans un modèle de confiance à seuil. Un autre avantage de la signature à seuil est à faible latence. Prise en charge de nouveaux formats de signature de transaction proposé dans EIP-2938 [70] et connu sous le nom d'abstraction de compte établirait un seuil la signature est considérablement plus facile à mettre en œuvre, car elle éliminerait le besoin de seuil ECDSA, qui implique des protocoles considérablement plus complexes (par exemple, [116, 117, 118])que des alternatives telles que les signatures à seuil Schnorr [202] ou BLS [55]. Environnements d'exécution de confiance (TEE) : Les TEE sont des environnements d'exécution isolés (généralement réalisés par du matériel) qui visent à fournir de solides protections de sécurité. pour les programmes exécutés à l’intérieur. Certains TEE (par exemple, Intel SGX [84]) peuvent produire des preuves, connues sous le nom d'attestations, qu'une sortie est correctement calculée par un programme spécifique pour une entrée particulière12. Une variante de synchronisation TEF basée sur TEE peut être implémentée en remplacer les preuves en (zk-)rollups ou Validium par des attestations TEE en utilisant des techniques à partir de [80]. Comparés aux preuves sans connaissance utilisées dans les rollup et Validium, les TEE sont beaucoup plus performant. Par rapport à la signature à seuil, les TEE suppriment la complexité de générer des signatures ECDSA seuil car il ne doit en principe y avoir qu'un seul TEE impliqué. L'utilisation des TEE introduit cependant des hypothèses de confiance supplémentaires dépendant du matériel. On peut également combiner les TEE avec la signature de seuil pour créer de la résilience contre la compromission d'une fraction des instances TEE, bien que cette mesure de protection réintroduit la complexité de la génération de signatures ECDSA à seuil. Flexibilité supplémentaire : Ces options de synchronisation peuvent être affinées pour offrir plus de flexibilité des manières suivantes. • Déclenchement flexible : l'application TEF peut déterminer les conditions dans lesquelles la synchronisation est déclenchée. Par exemple, la synchronisation peut être basée sur des lots, par exemple après toutes les N transactions, basées sur le temps, par exemple tous les 10 blocs, ou basées sur des événements, par exemple, se produisent chaque fois que les prix cibles des actifs évoluent de manière significative. • Synchronisation partielle : elle est possible et dans certains cas souhaitable (par exemple, avec rollups, la synchronisation partielle peut réduire la latence), par exemple pour fournir une synchronisation rapide des petits quantités d'état, effectuant une synchronisation complète peut-être seulement périodiquement. Par exemple, exect peut approuver une demande de retrait en mettant à jour le solde d'un utilisateur dans SCa sans autrement mettre à jour l’état MAINCHAIN. 6.4 Réorganisations Réorganisations de la blockchain résultant de l'instabilité du réseau ou même d'attaques à 51 % peut constituer une menace pour l’intégrité d’une chaîne principale. En pratique, les adversaires ont utilisé pour qu'ils montent des attaques à double dépense [34]. Même si de telles attaques contre les grandes chaînes sont difficiles à monter, ils restent réalisables pour certaines chaînes [88]. Parce qu'il fonctionne indépendamment de MAINCHAIN, un DON offre l'intéressant possibilité d’observer et d’apporter quelques protections contre les réorganisations associées attaques. Par exemple, un DON peut signaler à un contrat SC de confiance sur MAINCHAIN ​​l'existence d'un fork concurrent d'une certaine longueur seuil τ. Le DON peut en outre 12Des détails supplémentaires peuvent être trouvés à l’annexe B.2.1. Ils ne sont pas nécessaires à la compréhension.

fournir la preuve, dans un contexte PoW ou PoS, de l'existence d'un tel fork. Le Le contrat SC peut mettre en œuvre des actions défensives appropriées, telles que la suspension de l'exécution de transactions ultérieures pendant un certain temps (par exemple, pour permettre aux échanges de mettre sur liste noire les transactions doublement dépensées). actifs). Notez que même si un adversaire lançant une attaque à 51% peut chercher à censurer rapports d'un DON, une contre-mesure en SC consiste à exiger des rapports périodiques du DON afin de traiter des transactions (c'est-à-dire un battement de cœur) ou d'exiger un nouveau rapport pour valider une transaction de grande valeur. Bien que de telles alertes de bifurcation soient en principe un service général, le DON peut fournir à diverses fins, notre plan est de les intégrer au TEF.

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 に組み込むことです。

Minimisation de la confiance

En tant que système décentralisé avec la participation d'un ensemble hétérogène d'entités, le Le réseau Chainlink offre une protection solide contre les pannes, tant en termes de vivacité (disponibilité) que de sécurité (intégrité du rapport). La plupart des systèmes décentralisés varient cependant le degré de décentralisation de leurs éléments constitutifs. Ceci est vrai même pour les grands systèmes, où une décentralisation limitée parmi les mineurs [32] et les intermédiaires [51] sont présents depuis longtemps. Le but de tout effort de décentralisation est de minimiser la confiance : nous cherchons à réduire les effets néfastes de la corruption ou de la défaillance systémique au sein du réseau Chainlink, même si en raison d'un DON malveillant. Notre principe directeur est le principe du moindre privilège [197]. Les composants du système et les acteurs au sein du système doivent avoir des privilèges strictement limités pour permettre uniquement la réussite des rôles qui leur sont assignés. Nous présentons ici plusieurs mécanismes concrets que Chainlink doit adopter dans son entraînement vers une minimisation toujours plus grande de la confiance. Nous caractérisons ces mécanismes en termes des loci, c'est-à-dire les composants du système, dans lesquels ils sont enracinés, illustrés à la figure 14. Nous abordent chaque lieu dans une sous-section respective. 7.1 Authentification de la source de données Les modèles opérationnels actuels pour les oracle sont limités par le fait que peu de sources de données signer numériquement les données qu'ils omettent, en grande partie parce que TLS ne signe pas nativement données. TLS utilise des signatures numériques dans son protocole de « poignée de main » (pour établir une clé partagée entre un serveur et un client). Les serveurs compatibles HTTPS ont donc des certificats sur des clés publiques qui peuvent en principe servir à signer des données, mais elles n'utilisent généralement pas ces certificats pour prendre en charge la signature des données. Par conséquent, la sécurité d'un DON, comme dans les réseaux oracle d'aujourd'hui, s'appuie sur des nœuds oracle qui relayent fidèlement les données d'un système de données. source d’un contrat. Un élément important à long terme de notre vision de minimisation de la confiance dans Chainlink implique une authentification plus forte des sources de données grâce à la prise en charge d'outils et de normes pour la signature des données. La signature des données peut aider à renforcer les garanties d'intégrité de bout en bout. En principe, si un contrat accepte en entrée une donnée D signée directement par un data

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

Figure 14 : Locus des mécanismes de minimisation de la confiance abordés dans cette section. 1⃝Données les sources fournissent des données au 2⃝DON, qui relaie une fonction des données à un dépendant 3⃝smart contract. De plus, le réseau DON ou oracle comprend 4⃝nœuds gestion smart contracts sur MAINCHAIN pour, par exemple, les nœuds de compensation, la garde rails, etc. source, alors le réseau oracle ne peut pas altérer D. Divers encouragements Des efforts visant à permettre une telle signature de données ont vu le jour, notamment OpenID Connect, qui est conçu principalement pour l'authentification des utilisateurs [9], TLS-N, un projet académique visant à étendez TLS [191] en réutilisant les certificats TLS et les extensions de preuves TLS [63]. Même si OpenID Connect a connu une certaine adoption, les extensions de preuves TLS et TLS-N n’ont pas encore été adoptés. Une autre voie potentielle d’authentification de la source de données consiste à utiliser les propres Échanges HTTP signés (SXG) [230], qu'ils peuvent mettre en cache sur les réseaux de diffusion de contenu dans le cadre du protocole Accelerated Mobile Pages (AMP) [225]. Le navigateur mobile Chrome affiche le contenu des SXG mis en cache AMP comme s'ils étaient servis depuis les domaines réseau de leurs éditeurs au lieu du domaine du serveur de cache. Cette incitation à la marque, associée à la relative facilité de l'activer à l'aide de services tels que l'URL réelle [83] de CloudFlare et l'amppackager de Google [124], pourrait conduire à l'adoption généralisée des SXG dans le contenu d'actualités en cache, ce qui permettrait un accès simple et inviolable. moyen pour les Chainlink oracle de se déclencher sur des événements dignes d'intérêt signalés dans des SXG valides. Même si les SXG mis en cache par AMP provenant d'éditeurs de presse ne seraient pas utiles pour les applications telles que les rapports sur les données de trading, elles pourraient constituer une source sécurisée de données personnalisées. contrats relatifs à des événements du monde réel comme des conditions météorologiques extrêmes ou des résultats d'élections. Nous pensons qu'un déploiement simple, des outils matures et la flexibilité seront essentiels pour accélération de la signature des sources de données. Permettre aux fournisseurs de données d'utiliser les nœuds Chainlink comme un frontal API authentifié semble une approche prometteuse. Nous avons l'intention de créer unpossibilité pour les nœuds de fonctionner dans ce mode, avec ou sans participation au réseau comme un oracle à part entière. Nous appelons cette capacité l'origine de données authentifiées. (ADO). En utilisant les nœuds Chainlink avec ADO, les sources de données pourront bénéficier de l'expérience et des outils développés par la communauté Chainlink dans l'ajout du numérique capacités de signature à leur suite existante d'API hors chaîne. Devraient-ils choisir de courir leurs nœuds en tant que oracles, ils peuvent en outre ouvrir de nouvelles sources de revenus potentielles selon le même modèle que les fournisseurs de données existants, par exemple Kraken [28], Kaiko [140] et d'autres, qui exécutent des nœuds Chainlink pour vendre des données API en chaîne. 7.1.1 Les limites de l’origine des données authentifiées La signature numérique par source de données, même si elle peut contribuer à renforcer l'authentification, n'est pas suffisante en soi pour atteindre tous les objectifs naturels de sécurité ou opérationnels d'un oracle. réseau. Pour commencer, une donnée D donnée doit encore être relayée de manière robuste et opportune. depuis une source de données vers smart contract ou un autre consommateur de données. Autrement dit, même dans un cadre idéal dans lequel toutes les données sont signées à l'aide de clés préprogrammées en dépendance contrats, un DON serait toujours nécessaire pour communiquer les données de manière fiable à partir des sources aux contrats. De plus, il existe un certain nombre de cas dans lesquels des contrats ou d'autres données oracle les consommateurs veulent accéder à la sortie authentifiée de diverses fonctions calculées sur données sources pour deux raisons principales : • Confidentialité : une API de source de données peut fournir des données sensibles ou propriétaires. qui doit être expurgé ou nettoyé avant d'être rendu publiquement visible sur la chaîne. Toutefois, toute modification des données signées invalidait la signature. Mettez-en un autre D’une manière ou d’une autre, l’ADO naïve et la désinfection des données sont incompatibles. Nous montrons dans l'exemple 3 comment les deux peuvent être réconciliés grâce à une forme améliorée d’ADO. • Défauts de source de données : les erreurs et les échecs peuvent affecter les sources de données, et les signatures numériques ne résolvent aucun de ces problèmes. Depuis sa création [98], Chainlink a incluait déjà un mécanisme pour remédier à ces défauts : la redondance. Les rapports émis par les réseaux oracle représentent généralement les données combinées de plusieurs sources. Nous discutons maintenant des schémas que nous explorons dans le cadre ADO pour améliorer la confidentialité des données sources et combiner en toute sécurité les données provenant de plusieurs sources. 7.1.2 Confidentialité Les sources de données peuvent ne pas anticiper et mettre à disposition toute la gamme d'API souhaitées par les utilisateurs. Plus précisément, les utilisateurs peuvent souhaiter accéder à des données prétraitées pour garantir confidentialité. L'exemple suivant illustre le problème.Exemple 3. Alice souhaite obtenir un identifiant d'identité décentralisée (DID) indiquant qu'elle a plus de 18 ans (et peut donc, par exemple, contracter un emprunt). Faire elle doit donc prouver ce fait concernant son âge à un émetteur de titres de compétences DID. Alice espère utiliser les données du Département des véhicules automobiles (DMV) de son État site Web à cet effet. Le DMV a un enregistrement de sa date de naissance et émettra un une attestation A signée numériquement sur celle-ci et de la forme suivante : A = {Nom : Alice, Date de naissance : 16/02/1999}. Dans cet exemple, l'attestation A peut suffire à Alice pour prouver au DID émetteur de titres de compétences qu'elle a plus de 18 ans. Mais cela divulgue inutilement des informations sensibles : Alice's date de naissance exacte. Idéalement, ce qu'Alice souhaiterait du DMV, c'est une signature sur un simple déclaration A′ selon laquelle «Alice a plus de 18 ans». En d'autres termes, elle veut sortie d'une fonction G à sa date de naissance X, où (officieusement), A′ = G(X) = True si CurrentDate −X ≥18 ans ; sinon, G(X) = Faux. Pour généraliser, Alice aimerait pouvoir demander à la source de données un attestation A′ de la forme : A′ = {Nom : Alice, Func:G(X), Résultat : True}, où G(X) désigne une spécification d'une fonction G et de ses entrées X. Nous envisageons qu'un utilisateur devrait être en mesure de fournir un G(X) souhaité en entrée avec sa demande de attestation correspondante A′. Notez que l’attestation A′ de la source de données doit inclure la spécification G(X) pour s’assurer que A′ est correctement interprété. Dans l’exemple ci-dessus, G(X) définit la signification de la valeur booléenne dans A′ et donc que Vrai signifie le sujet de l'attestation est âgé de plus de 18 ans. Nous faisons référence à des requêtes flexibles dans lesquelles un utilisateur peut spécifier G(X) comme requêtes fonctionnelles. Afin de prendre en charge des cas d'utilisation comme celui de l'exemple 3, ainsi que ceux impliquant des requêtes directement à partir des contrats, nous avons l'intention d'inclure la prise en charge des requêtes fonctionnelles impliquant fonctions simples G dans le cadre d'ADO. 7.1.3 Combinaison des données sources Pour réduire les coûts en chaîne, les contrats sont généralement conçus pour consommer des données combinées à partir de plusieurs sources, comme illustré dans l’exemple suivant. Exemple 4 (médianisation des données de prix). Pour fournir un flux de prix, c'est-à-dire la valeur d'un actif (par exemple, ETH) par rapport à un autre (par exemple, USD), un réseau oracle sera généralement obtenir les prix courants à partir d’un certain nombre de sources, telles que les bourses. Le réseau oracle envoie généralement à un contrat dépendant SC la médiane de ces valeurs. Dans un environnement avec signature de données, un réseau oracle fonctionnant correctement obtient à partir des sources de données S = {S1, . . . , SnS} une séquence de valeurs V = {v1, v2, . . . , vnS} de nS sources accompagnées de signatures spécifiques à la source Σ = {σ1, σ2, . . . , σnS}. Sur vérifiant les signatures, il transmet le prix v = médian(V ) à SC.Malheureusement, il n'existe pas de moyen simple pour un réseau oracle de transmettre la médiane valeur v dans l'exemple 4 à SC avec une preuve succincte σ∗que v a été correctement calculé sur les entrées signées. Une approche naïve consisterait à encoder en SC les clés publiques de toutes les sources de données nS. Le réseau oracle relayerait alors (V, Σ) et permettrait à SC de calculer la médiane de V . Cependant, cela donnerait une preuve σ de taille O(nS) — c'est-à-dire que σ∗ ne serait pas succincte. Cela entraînerait également des coûts de gaz élevés pour SC, qui devrait vérifier toutes les signatures dans Σ. L’utilisation des SNARK, en revanche, permet une preuve succincte des valeurs sources authentifiées correctement combinées. Cela peut être réalisable dans la pratique, mais impose des des coûts de calcul sur le prouveur et des coûts de gaz quelque peu élevés sur la chaîne. Utilisation de Le crieur public est également une possibilité, mais nécessite l'utilisation de TEE, ce qui ne convient pas à tous. modèles de confiance des utilisateurs. Un concept utile pour encadrer les solutions au problème général de la signature de données combinées à partir de sources est un outil cryptographique connu sous le nom de signatures fonctionnelles [59, 132]. En bref, les signatures fonctionnelles permettent à un signataire de déléguer une capacité de signature, de telle sorte que le délégataire ne peut signer des messages que dans le cadre d'une fonction F choisie par le signataire. Nous montrons en Annexe D comment cette contrainte fonctionnelle peut servir à délimiter la gamme de valeurs de rapport émises par un DON en fonction des valeurs signées par les sources de données. Nous introduisons également une nouvelle primitive, appelée signature fonctionnelle discrétisée, qui inclut une exigence de précision assouplie, mais qui est potentiellement beaucoup plus performante. que les approches telles que les SNARK. Le problème de la combinaison de sources de données d'une manière qui inclut l'authentification de la source des résultats s'applique également aux agrégateurs de données, par exemple CoinCap, CoinMarketCap, CoinGecko, CryptoCompare, etc., qui obtiennent des données d'une multiplicité d'échanges, qu'ils pondération basée sur les volumes, en utilisant des méthodologies qu'ils rendent dans certains cas publiques et sont dans d'autres cas propriétaires. Un agrégateur qui souhaite publier une valeur avec l'authentification source est confrontée au même défi qu'un ensemble de nœuds regroupant données sources. 7.1.4 Traitement des données sources Les smart contract sophistiqués dépendront probablement de statistiques globales personnalisées sur sources de données primaires, telles que la volatilité de l'historique récent des prix sur de nombreux actifs, ou textes et photographies tirés de l'actualité sur des événements pertinents. Étant donné que le calcul et la bande passante sont relativement bon marché dans un DON, ces statistiques : même des modèles d'apprentissage automatique complexes avec de nombreuses entrées peuvent être traités de manière économique, à condition que toute valeur de sortie destinée à un blockchain soit suffisamment concise. Pour les tâches à forte intensité de calcul où les participants DON peuvent avoir des compétences différentes. points de vue sur des entrées complexes, des cycles de communication supplémentaires entre les participants DON peuvent être nécessaires pour établir un consensus sur les entrées avant de calculer le résultat. Tant que la valeur finale est entièrement déterminée par les entrées, une fois le consensus d'entrée établi, chaque participant peut simplement calculer la valeur et la diffuser à l'autre.participants avec leur signature partielle, ou l'envoyer à un agrégateur. 7.2 DON Minimisation de la confiance Nous envisageons deux manières principales de minimiser la confiance placée dans les composants du DON : clients de basculement et rapports minoritaires. 7.2.1 Clients de basculement Les modèles contradictoires dans la littérature sur la cryptographie et les systèmes distribués sont généralement considérons un adversaire capable de corrompre (c'est-à-dire de compromettre) un sous-ensemble de nœuds, par exemple, moins d'un tiers pour de nombreux protocoles BFT. On observe cependant couramment que si tous les nœuds exécutent un logiciel identique, un adversaire qui identifie un exploit fatal pourrait en principe, compromettre tous les nœuds plus ou moins simultanément. Ce paramètre est souvent appelée monoculture logicielle [47]. Diverses propositions visant à diversifier automatiquement les logiciels et les configurations logicielles ont été avancées pour résoudre le problème, par exemple [47, 113]. Comme indiqué dans [47], cependant, la diversité des logiciels est une question complexe et nécessite un examen attentif. La diversification des logiciels, par exemple, peut entraîner une sécurité pire qu'une monoculture si elle augmente la surface d’attaque d’un système et donc ses vecteurs d’attaque possibles au-delà de les avantages de sécurité qu’il offre. Nous pensons que la prise en charge de clients de basculement robustes, c'est-à-dire des clients vers quels nœuds peut changer face à un événement catastrophique – est une forme particulièrement attrayante de diversification des logiciels. Les clients de basculement n'augmentent pas le nombre de vecteurs potentiels d'attaque, car ils ne sont pas déployés en tant que logiciels principaux. Ils offrent des avantages évidents, cependant, comme deuxième ligne de défense. Nous avons l'intention de prendre en charge les clients de basculement dans les DON comme un moyen clé de réduire leur dépendance en matière de sécurité à l’égard d’un seul client. Chainlink dispose déjà d'un système robuste de clients de basculement. Notre approche implique de conserver les versions client précédentes et testées au combat. Aujourd'hui, par exemple, les nœuds Chainlink avec Off-Chain Reporting (OCR) comme client principal incluent la prise en charge pour le système FluxMonitor précédent de Chainlink si nécessaire. Ayant été utilisé pendant certains Au fil du temps, FluxMonitor a fait l'objet d'audits de sécurité et de tests sur le terrain. Il fournit la même chose des fonctionnalités telles que l'OCR, mais à un coût plus élevé, un coût uniquement encouru en fonction des besoins. 7.2.2 Rapports minoritaires Étant donné un ensemble minoritaire suffisamment important d’Ominorité – une fraction de nœuds honnêtes qui observent les malversations de la majorité – il peut être utile pour eux de générer une minorité. rapport. Il s'agit d'un rapport ou d'un indicateur parallèle, relayé vers un contrat dépendant SC en chaîne par Ominorité. SC peut utiliser ce drapeau conformément à sa propre politique spécifique au contrat. Par exemple, pour un contrat dans lequel la sécurité est plus importante que la vivacité ou la réactivité, un rapport minoritaire peut amener le contrat à demander des rapports supplémentaires. d'un autre DON, ou déclencher un disjoncteur (voir la section suivante).Les rapports minoritaires peuvent jouer un rôle important même lorsque la majorité est honnête, car tout schéma d'agrégation de rapports, même s'il utilise des signatures fonctionnelles, doit fonctionner de manière seuil, pour garantir la résilience contre oracle ou panne de données. Dans en d'autres termes, il doit être possible de produire un rapport valide basé sur les entrées de kS < nS oracles, pour un certain seuil kS. Cela signifie qu'un DON corrompu a des latitude dans la manipulation des valeurs du rapport en sélectionnant ses valeurs kS préférées parmi les nS rapporté en V par l'ensemble complet des oracle, même si toutes les sources sont honnêtes. Par exemple, supposons que nS = 10 et kS = 7 dans un système qui utilise un signature pour authentifier le calcul de la médiane sur V pour le prix en USD de l'ETH. Supposons que cinq sources rapportent un prix de \(500, while the other five report \)1000. Ensuite, en médianisant les 7 rapports les plus bas, le DON peut générer une valeur valide v = 500 $, et en médianisant le plus élevé, il peut produire v = 1 000 $. En améliorant le protocole DON afin que tous les nœuds sachent quelles données ont été disponibles et quelles données ont été utilisées pour construire un rapport, les nœuds pouvaient détecter et signaler tendances statistiquement significatives à privilégier un ensemble de rapports plutôt qu'un autre et à produire un rapport minoritaire en conséquence. 7.3 Garde-corps Notre modèle de confiance pour les DON traite MAINCHAIN comme un système de sécurité et de privilèges plus élevés. système que DONs. (Bien que ce modèle de confiance ne soit pas toujours vrai, il est plus facile d'adapter le mécanisme résultant aux situations où le DON est la sécurité la plus élevée plate-forme que l'inverse.) Une stratégie naturelle de minimisation de la confiance implique donc la mise en œuvre de mécanismes de surveillance et de sécurité dans les smart contract, soit dans un frontal MAINCHAIN pour un DON ou directement dans un contrat dépendant SC. Nous appelons ces mécanismes garde-corps, et énumérez ici quelques-uns des plus importants : • Disjoncteurs : le SC peut suspendre ou arrêter les mises à jour d'état en fonction des caractéristiques des mises à jour d'état elles-mêmes (par exemple, une grande variance au cours des mises à jour séquentielles). rapports) ou sur la base d’autres entrées. Par exemple, un disjoncteur peut se déclencher cas où les rapports oracle varient de manière invraisemblable au fil du temps. Un disjoncteur pourrait également être déclenché par un rapport minoritaire. Ainsi, les disjoncteurs peuvent empêcher les DONs de faire des rapports grossièrement erronés. Les disjoncteurs peuvent laisser le temps d’envisager des interventions supplémentaires ou exercé. L’une de ces interventions concerne les trappes de secours. • Trappes de secours : dans des circonstances défavorables, telles qu'identifiées par un ensemble de gardiens, de détenteurs de token communautaires ou d'autres organes d'administration, un contrat peut invoquer une installation d'urgence parfois appelée trappe d'évacuation [163]. Une trappe de secours provoque l'arrêt du SC d'une manière ou d'une autre et/ou se termine en attente et éventuellement transactions futures. Par exemple, il peut restituer les fonds déposés aux utilisateurs [17]),peut résilier les termes du contrat [162], ou annuler les transactions en cours et/ou futures [173]. Les trappes de secours peuvent être déployées dans tout type de contrat, pas seulement celui qui s'appuie sur un DON, mais ils sont intéressants en tant que tampon potentiel contre DON malversation. • Basculement : dans les systèmes où SC s'appuie sur DON pour les services essentiels, il est possible pour SC de fournir des mécanismes de basculement qui garantissent la continuité du service même en cas d'échec ou de mauvaise conduite DON. Par exemple, dans le TEF (Section 6), le contrat d'ancrage SCa peut fournir des interfaces doubles où à la fois en chaîne et les interfaces d'exécution hors chaîne sont prises en charge pour certaines opérations critiques (par exemple, retrait), ou pour les transactions ordinaires, avec un délai approprié pour éviter le frontrunning des transactions DON. Dans les cas où les sources de données signent des données, les utilisateurs peuvent fournir également des rapports à SCa lorsque le DON ne parvient pas à le faire. Les preuves de fraude, telles que proposées pour diverses formes de rollup optimistes (voir section 6.3), ont une saveur similaire et sont complémentaires aux mécanismes que nous avons énumérés ci-dessus. Ils fournissent également une forme de surveillance en chaîne et de protection contre les pannes potentielles dans composants du système hors chaîne. 7.4 Gouvernance minimisée par la confiance Comme tous les systèmes décentralisés, le réseau Chainlink nécessite des mécanismes de gouvernance pour ajuster les paramètres dans le temps, répondre aux urgences et guider son évolution. Certains de ces mécanismes résident actuellement sur MAINCHAIN et pourraient continuer à exister. faites-le même avec le déploiement de DONs. Un exemple est le mécanisme de paiement pour les fournisseurs de nœuds oracle (nœuds DON). DON contrats front-end sur MAINCHAIN contenir des mécanismes supplémentaires, tels que des garde-corps, qui peuvent être soumis à des contrôles périodiques. modification. Nous prévoyons deux classes de mécanismes de gouvernance : évolutifs et d’urgence. Gouvernance évolutive : De nombreuses modifications de l'écosystème Chainlink sont de sorte que leur mise en œuvre ne constitue pas une urgence : Amélioration des performances, améliorations des fonctionnalités, mises à niveau de sécurité (non urgentes), etc. À mesure que Chainlink s’oriente progressivement vers davantage de participants à sa gouvernance, nous nous attendons à ce que de nombreux ou la plupart de ces changements doivent être ratifiés par la communauté d'un DON spécifique concerné par ceux qui changements. Entre-temps, et peut-être à terme comme mécanisme parallèle, nous pensons qu'une notion de moindre privilège temporel peut être un moyen utile de mettre en œuvre une gouvernance évolutive. Très simplement, l'idée est que les changements se déploient progressivement, garantissant à la communauté une occasion d'y répondre. Par exemple, la migration vers un nouveau Le contrat MAINCHAIN peut être contraint afin que le nouveau contrat doive être déployé au moins trente jours avant l'activation.Gouvernance d’urgence : Vulnérabilités exploitables ou exploitées dans MAINCHAIN les contrats ou d’autres formes de défaillances de vivacité ou de sécurité peuvent nécessiter une intervention immédiate pour se prémunir contre des conséquences catastrophiques. Notre intention est de prendre en charge un multisig mécanisme d'intervention dans lequel, pour garantir contre les malversations de toute organisation, les signataires seront dispersés dans les organisations. Assurer une disponibilité constante des signataires et un accès rapide aux chaînes de commandement appropriées pour l'autorisation d'une situation d'urgence les changements nécessiteront clairement une planification opérationnelle minutieuse et un examen régulier. Ces les défis sont similaires à ceux impliqués dans les tests d’autres réponses aux incidents de cybersécurité capacités [134], avec un besoin similaire de lutter contre des problèmes courants tels que le décrément de vigilance [223]. La gouvernance des DON diffère de celle de nombreux systèmes décentralisés dans sa nature. degré potentiel d’hétérogénéité. Chaque DON peut avoir des sources de données, des exécutables, des exigences de niveau de service telles que la disponibilité et des utilisateurs distincts. Le réseau Chainlink les mécanismes de gouvernance doivent être suffisamment flexibles pour s’adapter à de telles variations objectifs et paramètres opérationnels. Nous explorons activement des idées de conception et prévoyons de publier des recherches sur ce sujet à l’avenir. 7.5 Infrastructure à clé publique La décentralisation progressive nécessitera une identification solide des participants au réseau, y compris les nœuds DON. En particulier, Chainlink nécessite une solide Infrastructure à clé publique (PKI). Une PKI est un système qui lie les clés aux identités. Pour Par exemple, une PKI sous-tend le système de connexions sécurisées (TLS) d’Internet : lorsque vous vous connectez à un site Web via HTTPS (par exemple, https://www.chainlinklabs.com) et un apparaît dans votre navigateur, cela signifie que la clé publique du propriétaire du domaine a été lié à ce propriétaire par une autorité, en particulier par le biais d'une signature numérique dans un soi-disant certificat. Un système hiérarchique d'autorités de certification (CA), dont les autorités racine de niveau supérieur sont intégrées dans les navigateurs populaires, permet de garantir que les certificats sont délivrés uniquement aux propriétaires légitimes des domaines. Nous prévoyons que Chainlink utilisera à terme des services de noms décentralisés, initialement le Ethereum Name Service (ENS) [22], comme base de notre PKI. Comme son nom l'indique, ENS est analogue au DNS, le système de noms de domaine qui mappe (lisibles par l'homme) aux adresses IP sur Internet. Cependant, ENS mappe à la place les noms Ethereum lisibles par l'homme aux adresses blockchain. Parce que l'ENS opère sur le Ethereum blockchain, sauf compromis clé, altération de son l’espace de noms est en principe aussi difficile que de falsifier le contrat qui l’administre et/ou le blockchain sous-jacent. (Le DNS, en revanche, a toujours été vulnérable à l'usurpation d'identité, au détournement et à d'autres attaques.) Nous avons enregistré data.eth auprès de l'ENS sur le réseau principal Ethereum et avons l'intention de établissez-le en tant qu'espace de noms racine sous lequel les identités des services de données oracle et d'autres entités du réseau Chainlink résident. Les domaines à l'ENS sont hiérarchiques, ce qui signifie que chaque domaine peut contenir des références à d'autres noms en dessous. Les sous-domaines de l'ENS peuvent servir à organiser etdéléguer la confiance. Le rôle principal de data.eth sera de servir de service d'annuaire en chaîne pour flux de données. Traditionnellement, les développeurs et les utilisateurs de oracle ont utilisé des sources hors chaîne (par exemple, des sites Web comme docs.chain.link ou data.chain.link, ou des réseaux sociaux tels que Twitter) pour publier et obtenir des adresses de flux de données oracle (telles que le prix ETH-USD nourrir). Avec un espace de noms racine hautement fiable tel que data.eth, il est possible d'établir un mappage de eth-usd.data.eth avec, par exemple, l'adresse smart contract. d'un agrégateur de réseau oracle en chaîne pour le flux de prix ETH-USD. Ce serait créer un chemin sécurisé permettant à quiconque de se référer au blockchain comme source de vérité pour ce flux de données de cette paire prix/nom (ETH-USD). Par conséquent, une telle utilisation de l’ENS réalise deux avantages non disponibles dans les sources de données hors chaîne : • Sécurité renforcée : toutes les modifications et mises à jour du domaine sont enregistrées de manière immuable et sécurisées par cryptographie, par opposition aux adresses texte sur un site Web, qui ne bénéficient d'aucune de ces deux propriétés de sécurité. • Propagation automatisée en chaîne : les mises à jour de l'adresse sous-jacente du smart contract d'un flux de données peuvent déclencher des notifications qui se propagent aux smart dépendants. contrats et peut, par exemple, mettre à jour automatiquement les contrats dépendants avec les nouvelles adresses.13 Cependant, les espaces de noms comme ENS ne valident pas automatiquement la propriété légitime de noms affirmés. Ainsi, par exemple, si l'espace de noms inclut l'entrée ⟨« Acme Oracle Node Co. », adresse⟩, alors un utilisateur obtient l'assurance que l'adresse appartient au demandeur du nom Acme Oracle Node Co. Sans mécanismes supplémentaires autour de l'administration des espaces de noms, cependant, elle n'obtient pas l'assurance que le nom appartient légitimement à une entité appelé Acme Oracle Node Co. dans un sens significatif du monde réel. Notre approche de la validation des noms, c'est-à-dire garantir leur propriété par des entités correspondantes et légitimes du monde réel, repose sur plusieurs éléments. Aujourd'hui, les laboratoires Chainlink agit efficacement en tant qu'autorité de certification pour le réseau Chainlink. Pendant que les Chainlink Labs continueront pour valider les noms, notre PKI évoluera vers un modèle plus décentralisé de deux manières : • Modèle de réseau de confiance : la contrepartie décentralisée d'une PKI hiérarchique est souvent appelée réseau de confiance.14 Des variantes ont été proposées depuis les années 1990, par exemple, [98], et un certain nombre de chercheurs ont observé que les blockchain peuvent faciliter l'utilisation de l'idée, par exemple, [227] en enregistrant les certificats dans un format globalement cohérent. grand livre. Nous explorons des variantes de ce modèle pour valider les identités des entités dans le réseau Chainlink de manière plus décentralisée. 13Un contrat dépendant peut éventuellement inclure un délai prédéterminé pour permettre une inspection manuelle et l'intervention des administrateurs de contrats dépendants. 14Terme inventé par Phil Zimmermann pour PGP [238].• Lien avec les données de validation : aujourd'hui, une quantité substantielle de données de performances des nœuds oracle est visible sur la chaîne, et donc liée de manière archivistique aux adresses des nœuds. Ces données peuvent être considérées comme enrichissant une identité au sein de l’IGC en fournissant des preuves historiques de sa participation (fiable) au réseau. De plus, des outils pour une identité décentralisée basée sur DECO et Town Crier [160] activer les nœuds pour accumuler des informations d'identification dérivées de données du monde réel. À titre d'exemple, un l'opérateur de nœud peut attacher un identifiant à son identité PKI qui prouve la possession d'une notation Dun et Bradstreet. Ces formes supplémentaires de validation peuvent compléter staking pour créer l'assurance de la sécurité du réseau. Un nœud oracle avec une identité réelle établie peut être considéré comme ayant un enjeu dans un système qui découle de sa réputation. (Voir les sections 4.3 et 9.6.3.) Une dernière exigence pour la PKI Chainlink est un amorçage sécurisé, c'est-à-dire un démarrage sécurisé. publiant le nom racine du réseau Chainlink, actuellement data.eth (de manière analogue au câblage des domaines de premier niveau dans les navigateurs). En d’autres termes, comment les utilisateurs Chainlink déterminer que data.eth est bien le domaine de premier niveau associé au Chainlink projet ? La solution à ce problème pour le réseau Chainlink est à plusieurs volets et peut impliquer: • Ajout d'un enregistrement TXT [224] à notre enregistrement de domaine pour chain.link qui spécifie data.eth comme domaine racine de l'écosystème Chainlink. (Chainlink exploite ainsi implicitement la PKI pour les domaines Internet pour valider son domaine ENS racine.) • Création d'un lien vers data.eth à partir du site Web existant de Chainlink, par exemple depuis https://docs.chain.link. (Une autre utilisation implicite de la PKI pour les domaines Internet.) • Faire connaître l'utilisation de data.eth via différents documents, dont ce livre blanc. • Publier data.eth publiquement sur nos réseaux sociaux, tels que Twitter, et le blog Chainlink [18]. • Placer une grande quantité de LINK sous le contrôle de la même adresse de déclarant comme data.eth.

信頼の最小化

異種のエンティティのセットが参加する分散型システムとして、 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として。

DON Considérations relatives au déploiement

Bien que cela ne fasse pas partie de notre conception principale, il existe plusieurs considérations techniques importantes. dans la réalisation de DONs qui méritent d'être traités ici.

8.1 Approche de déploiement Cet article présente une vision ambitieuse des fonctionnalités avancées Chainlink dont sa réalisation nécessitera des solutions à de nombreux défis en cours de route. Ce livre blanc identifie certains défis, mais des défis imprévus surgiront certainement. Nous prévoyons de mettre en œuvre les éléments de cette vision de manière progressive sur une période période prolongée. Nous nous attendons à ce que les DONs soient initialement lancés avec prise en charge de composants prédéfinis spécifiques construits en collaboration par les équipes au sein du Communauté Chainlink. L'intention est que des utilisations plus larges des DON, par exemple la capacité de lancer des exécutables arbitraires, verra le support plus tard. L’une des raisons d’une telle prudence est que la composition des smart contract peut avoir des effets secondaires complexes, involontaires et dangereux, comme l’ont montré les récentes attaques basées sur les prêts flash. par exemple montré [127, 189]. De même, la composition des smart contracts, des adaptateurs et les exécutables nécessiteront une extrême prudence. Dans notre déploiement initial de DONs, nous prévoyons d'inclure uniquement un ensemble prédéfini d'exécutables et d'adaptateurs modélisés. Cela permettra d’étudier la sécurité compositionnelle de ces fonctionnalités en utilisant des méthodes formelles [46, 170] et d'autres approches. Ce sera simplifie également la tarification : la tarification des fonctionnalités peut être établie par les nœuds DON sur une base de fonctionnalité, plutôt que via un comptage généralisé, une approche adoptée dans, par exemple, [156]. Nous attendons également que la communauté Chainlink participe à la création de modèles supplémentaires, combinant divers adaptateurs et exécutables dans des formats de plus en plus services décentralisés utiles qui peuvent être gérés par des centaines, voire des milliers de personnes DONs. De plus, cette approche peut aider à prévenir la surcharge de l'État, c'est-à-dire le besoin de DON nœuds pour conserver une quantité d’état irréalisable dans la mémoire de travail. Ce problème est déjà apparue dans les blockchain sans autorisation, des approches motivantes telles que « apatrides clients » (voir, par exemple, [206]). Cela peut être plus aigu dans les systèmes à plus haut débit, motivant une approche dans laquelle un DON déploie uniquement des exécutables optimisés en termes de taille d'état. À mesure que les DON évoluent et mûrissent et incluent des garde-corps robustes, comme indiqué dans la section 7, des mécanismes de sécurité cryptoéconomiques et basés sur la réputation, comme indiqué dans la section 9, et d'autres fonctionnalités qui fournissent un degré élevé d'assurance aux utilisateurs de DON, nous nous espérons également développer un cadre et des outils pour faciliter un lancement et une utilisation plus larges de DONs par la communauté. Idéalement, ces outils permettront à un ensemble d'opérateurs de nœuds se réunir en un réseau oracle et lancer leurs propres DON dans un environnement sans autorisation ou en libre-service, ce qui signifie qu'ils peuvent le faire unilatéralement. 8.2 Adhésion dynamique DON L'ensemble de nœuds exécutant un DON donné peut changer au fil du temps. Il existe deux approches à la gestion des clés pour skL étant donné l'adhésion dynamique à O. La première consiste à mettre à jour les parts de skL détenues par les nœuds lors des changements d'adhésion, tout en gardant pkL inchangé. Cette approche, explorée dans [41, 161, 198], a le mérite de ne pas exiger que les parties utilisatrices mettent à jour pkL.La technique classique de repartage de partage, introduite dans [122], fournit un moyen simple et efficace de réaliser de telles mises à jour de partage. Il permet de transférer un secret entre un ensemble de nœuds O(1) et un second, éventuellement coupant un O(2). Dans ce approche, chaque nœud O(1) je effectue un partage secret (k(2), n(2)) de son partage secret à travers nœuds dans O(2) pour n(2) = |O(2)| et le seuil k(2) souhaité (éventuellement nouveau). Divers systèmes de partage de secrets vérifiables (VSS) [108] peuvent assurer la sécurité contre un adversaire qui corrompt activement les nœuds, c'est-à-dire introduit un comportement malveillant dans le protocole. Les techniques de [161] visent à le faire tout en réduisant la complexité de la communication et en fournissant résilience contre les échecs des hypothèses de dureté cryptographique. Une deuxième approche consiste à mettre à jour la clé du grand livre pkL. Cela a l'avantage d'avancer sécurité : la compromission des anciennes actions de pkL (c'est-à-dire les anciens nœuds de comité) ne serait pas entraîner une compromission de la clé actuelle. Les mises à jour de pkL présentent cependant deux inconvénients : (1) Les données chiffrées sous pkL doivent être rechiffrées lors d'une actualisation de clé et (2) Les mises à jour clés doivent être propagées aux parties utilisatrices. Nous avons l’intention d’explorer les deux approches, ainsi que les hybridations des deux. 8.3 DON Responsabilité Comme pour les réseaux Chainlink oracle existants, les DON incluront des mécanismes de responsabilité, c'est-à-dire l'enregistrement, la surveillance et l'application du comportement correct des nœuds. DONs auront capacité de données beaucoup plus importante que de nombreux blockchain sans autorisation existants, en particulier compte tenu de leur capacité à se connecter à un stockage décentralisé externe. Par conséquent, ils pourront enregistrer en détail l’historique des performances des nœuds, permettant des mécanismes de responsabilisation plus précis. Par exemple, le calcul hors chaîne de les prix des actifs peuvent impliquer des intrants qui sont rejetés avant qu'un résultat médian ne soit envoyé chaîne. Dans un DON, ces résultats intermédiaires pourraient être enregistrés. Un mauvais comportement ou des erreurs de performance de la part de nœuds individuels dans un DON peuvent ainsi être corrigés ou pénalisés sur le DON de manière fine. Nous avons également discuté des approches pour construire les garde-corps de la section 7.3 qui traitent de l'impact spécifique au contrat des défaillances systémiques. Cependant, il est également important de disposer de mécanismes de sécurité pour les DON eux-mêmes, c'est-à-dire des protections contre les défaillances systémiques et potentiellement catastrophiques DON, en particulier les échecs de fork/équivoque et d'accord de niveau de service (SLA), comme nous l'expliquons maintenant. Fourche / équivoque : Étant donné suffisamment de nœuds défectueux, un DON peut bifurquer ou équivoque, produisant deux blocs ou séquences de blocs distincts et incohérents dans L. Cependant, étant donné qu'un DON signe numériquement le contenu de L, il est possible d'exploiter un chaîne principale MAINCHAIN pour prévenir et/ou pénaliser les équivoques. Le DON peut vérifier périodiquement l'état du point de L dans un contrat d'audit sur MAINCHAIN. Si son état futur s'écarte d'un état de point de contrôle, un utilisateur/auditeur peut présenter une preuve de cette mauvaise conduite au contrat d'audit. Une telle preuve peut être utilisée pour générer une alerte ou pénaliser les nœuds DON en réduisant le contrat. Cette dernière approche introduit un problème de conception d'incitations similaire à celui des flux oracle spécifiques, et peut s'appuyer sur notre travail décrit à la section 9.Application des accords de niveau de service : Bien que les DON ne soient pas nécessairement destinés à fonctionnent indéfiniment, il est important qu’ils respectent les accords de niveau de service (SLA) avec leurs utilisateurs. L’application de base des SLA est possible sur une chaîne principale. Par exemple, Les nœuds DON peuvent s'engager à maintenir le DON jusqu'à une certaine date, ou à fournir un préavis de résiliation du service (par exemple, un préavis de trois mois). Un contrat sur MAINCHAIN peut assurer l’application de base des SLA cryptoéconomiques. Par exemple, le contrat SLA peut réduire considérablement les fonds déposés DON si les points de contrôle sont pas fournis aux intervalles requis. Un utilisateur peut déposer des fonds et contester le DON prouver qu'un point de contrôle représente correctement une séquence de blocs valides (de manière analogue, par ex. [141]). Bien entendu, production de blocs n’est pas synonyme de transaction. traitement, mais le contrat SLA peut également servir à faire respecter ce dernier. Par exemple, dans Dans la version compatible avec l'héritage de FSS dans laquelle les transactions sont extraites du mempool (voir Section 5.2), les transactions sont finalement extraites et placées sur la chaîne. Un utilisateur peut prouver un délit de DON en fournissant au contrat SLA une transaction qui a été extrait mais n'a pas été transmis par le DON pour traitement par le contrat cible dans un intervalle de temps approprié.15 Il est également possible de prouver l’existence et de sanctionner des SLA plus fins. échecs, y compris les erreurs de calcul utilisant les exécutables (via, par exemple, les mécanismes pour prouver l'exactitude des transactions d'état hors chaîne décrites dans la section 6.3) ou l'échec de l'exécution exécutables basés sur des initiateurs visibles sur un DON, échec du relais des données sur le DON vers MAINCHAIN en temps opportun, et ainsi de suite.

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 上のデータの中継に失敗する タイムリーなメインチェーンなど。

Économie et cryptoéconomie

Pour que le réseau Chainlink atteigne une sécurité renforcée dans un modèle de confiance décentralisé, il est essentiel que les nœuds présentent collectivement un comportement correct, c'est-à-dire qu'ils adhèrent la plupart du temps, exactement selon les protocoles DON. Dans cette section, nous discutons des approches pour aider à faire respecter un tel comportement au moyen d'incitations économiques, c'est-à-dire cryptoéconomiques incitations. Ces incitations se répartissent en deux catégories : explicites et implicites, réalisées respectivement via staking et l'opportunité de frais futurs (FFO). Jalonnement : Le jalonnement dans Chainlink, comme dans d'autres systèmes blockchain, implique les participants du réseau, c'est-à-dire les nœuds oracle, déposant des fonds bloqués sous la forme de LINK token. Ces les fonds, que nous appelons également participation ou participation explicite, sont une incitation explicite. Ils sont sujets à confiscation en cas de défaillance ou de malversation du nœud. Dans le contexte blockchain, cette procédure est souvent appelée « slashing ». Le jalonnement par les nœuds oracle dans Chainlink diffère cependant fondamentalement de celui de staking. par validators dans des blockchains sans autorisation. Les validateurs peuvent se comporter mal en équivoque ou en ordonnant des transactions de manière contradictoire. Le protocole de consensus sous-jacent dans un 15Comme les utilisateurs peuvent remplacer les transactions dans le mempool, il faut veiller à assurer une correspondance correcte entre les transactions extraites et les transactions soumises par DON.blockchain sans autorisation, cependant, utilise des règles de validation de bloc strictes et des primitives cryptographiques pour empêcher validator de générer des blocs invalides. En revanche, les protections programmatiques ne peuvent pas empêcher un réseau oracle tricheur de générer rapports invalides. La raison en est une différence clé entre les deux types de système : la validation des transactions dans blockchains est une propriété de cohérence interne, tandis que l'exactitude des rapports oracle sur un blockchain est une propriété de données externes, c'est-à-dire hors chaîne. Nous avons conçu un mécanisme préliminaire staking pour le réseau Chainlink basé sur sur un protocole interactif entre les nœuds oracle pouvant utiliser des données externes. Ceci Le mécanisme crée des incitations financières pour un comportement correct en utilisant des récompenses explicites et pénalités (tranchage). Le mécanisme étant économique, il est conçu pour empêcher le nœud corruption par un adversaire qui utilise des ressources financières pour corrompre les nœuds au moyen de corruption. (Un tel adversaire est très général et s’étend, par exemple, aux nœuds coopérant extraire de la valeur de leur mauvaise conduite collective.) Le mécanisme Chainlink staking que nous avons conçu possède des fonctionnalités puissantes et novatrices. caractéristiques.16 La principale de ces caractéristiques est l'impact super-linéaire staking (plus précisément quadratique). Un adversaire doit disposer de ressources considérablement supérieures aux fonds déposés par les nœuds dans afin de renverser le mécanisme. Notre mécanisme staking offre en outre une protection contre un adversaire plus fort que celui envisagé auparavant dans des systèmes similaires, à savoir un adversaire qui peut créer des pots-de-vin conditionnés au comportement futur des nœuds. De plus, nous discutons de la manière dont les outils Chainlink tels que DECO peuvent nous aider à renforcer notre staking mécanisme en facilitant une décision correcte en cas de comportement défectueux du nœud. Opportunité de frais futurs (FFO) : blockchains sans autorisation – des deux PoW et la variété des PoS – reposent aujourd’hui essentiellement sur ce que nous appelons des incitations implicites. Ce sont des incitations économiques pour un comportement honnête qui ne découlent pas de récompenses explicites, mais de la participation à la plateforme elle-même. Par exemple, la communauté minière Bitcoin est incitée à ne pas lancer une attaque à 51 % en raison du risque de saper la confiance dans Bitcoin, déprimant sa valeur et érodant par conséquent la valeur de leur collectif investissements en capital dans les infrastructures minières [150]. Le réseau Chainlink bénéficie d’une incitation implicite similaire à celle que nous appelons comme opportunité de frais futurs (FFO). Nœuds Oracle avec de solides historiques de performances ou les réputations attirent des frais de la part des utilisateurs. Le mauvais comportement d'un nœud oracle met en péril l'avenir paiements de frais et pénalise ainsi le nœud avec un coût d'opportunité en termes de potentiel revenus gagnés grâce à la participation au réseau. Par analogie avec l'enjeu explicite, Les FFO peuvent être considérés comme une forme d’enjeu implicite, une incitation à un comportement honnête qui découle de l’avantage partagé de maintenir la confiance dans la plateforme sur laquelle l’activité des opérateurs de nœuds dépend, c’est-à-dire de la performance positive et de la réputation du réseau. Cette incitation est inhérente mais n'est pas explicitement exprimée dans le réseau Chainlink protocoles. En Bitcoin, maintenir la valeur des opérations minières comme mentionné ci-dessus 16Le mécanisme staking que nous décrivons ici vise actuellement uniquement à imposer la livraison de rapports corrects. par les réseaux oracle. Nous espérons, dans les travaux futurs, l'étendre pour garantir la bonne exécution des nombreux d'autres fonctionnalités que DON fourniront.peut également être considérée comme une forme d’enjeu implicite. Nous soulignons que FFO existe déjà dans Chainlink et permet de sécuriser le réseau aujourd'hui. Notre principale contribution au développement ultérieur de Chainlink sera une approche fondée sur des principes et empirique pour évaluer les incitations implicites telles que les FFO à travers ce que nous appelons le cadre d’incitation implicite (IIF). Pour estimer des quantités telles que future opportunité de frais des nœuds, l'IIF s'appuiera en permanence sur l'ensemble des données de performance et de paiement collectées par le réseau Chainlink. De telles estimations permettra un paramétrage basé sur IIF des systèmes staking qui reflète les incitations des nœuds avec une plus grande précision que les modèles heuristiques et/ou statiques actuels. Pour résumer, donc, les deux principales incitations économiques pour un bon nœud oracle le comportement dans le réseau Chainlink en développement sera : • Staking (mise déposée) o Incitation explicite • Opportunité de frais futurs (FFO) o Incitation implicite Ces deux formes d'incitation sont complémentaires. Les nœuds Oracle peuvent simultanément participez au protocole Chainlink staking, profitez d'une source de revenus continue de utilisateurs et bénéficions collectivement de leur bon comportement continu. Ainsi, les deux incitations contribuer à la sécurité cryptoéconomique apportée par un réseau oracle. De plus, les deux incitations peuvent se renforcer et/ou être échangées l’une contre l’autre. Par exemple, un nouvel opérateur oracle sans historique de performances ni flux de revenus peut miser un une grande quantité de LINK comme garantie d'un comportement honnête, attirant ainsi les utilisateurs et les frais. À l’inverse, un opérateur oracle établi avec une longue expérience relativement sans problème l'historique des performances peut facturer des frais substantiels à une large base d'utilisateurs et donc s'appuyer sur plus lourdement sur ses FFO comme forme d’incitation implicite. En général, l'approche que nous considérons ici vise une quantité donnée de oracle-réseau ressource pour créer les plus grandes incitations économiques possibles en Chainlink pour une les agents – c’est-à-dire les nœuds maximisant leur utilité financière – se comportent honnêtement. Mettez-en un autre De cette manière, l’objectif est de maximiser les ressources financières nécessaires à un adversaire pour attaquer. le réseau avec succès. En formulant un protocole staking avec mathématiquement bien sécurité économique définie et en utilisant également l’IIF, nous visons à mesurer la force de les incitations de Chainlink aussi précisément que possible. Les créateurs de contrats de confiance alors être en mesure de déterminer avec une grande confiance si un réseau oracle répond leurs niveaux requis de sécurité cryptoéconomique. Le cercle vertueux de la sécurité économique : Les incitations dont nous discutons dans cette section, staking et FFO, ont un impact au-delà de leur renforcement de la sécurité des DONs. Ils promettent d’induire ce que nous appelons un cercle vertueux de sécurité économique. L'impact super-linéaire staking (et d'autres économies d'échelle) entraîne une réduction des coûts opérationnels. coût à mesure que la sécurité d’un DON augmente. Un coût inférieur attire des utilisateurs supplémentaires vers le DON,augmenter le paiement des frais. L’augmentation du paiement des frais continue de stimuler la croissance du réseau, qui perpétue le cycle vertueux. Nous pensons que le cercle vertueux de la sécurité économique n'est qu'un exemple d'une l’économie d’échelle et l’effet de réseau, entre autres, que nous aborderons plus loin dans cette section. Organisation des sections : le jalonnement présente des défis techniques et conceptuels notables pour pour lequel nous avons conçu un mécanisme doté de fonctionnalités inédites. Le jalonnement sera donc notre objectif principal dans cette section. Nous donnons un aperçu de l'approche staking que nous introduisons dans cet article dans la section 9.1, suivi d'une discussion détaillée dans les sections 9.2 à 9.5. Nous présentons l'IFF à la section 9.6. Nous présentons une vue récapitulative des incitations du réseau Chainlink dans la section 9.7. Dans la section 9.8, nous discutons du cercle vertueux de sécurité économique que notre approche staking proposée peut apporter aux réseaux oracle. Enfin, nous décrivons brièvement d’autres potentiels effets propulsant la croissance du réseau Chainlink dans la section 9.9. 9.1 Aperçu du jalonnement La conception du mécanisme staking que nous introduisons ici, comme indiqué ci-dessus, implique un protocole interactif entre les nœuds oracle permettant la résolution des incohérences dans le reporting des données externes. Le jalonnement vise à garantir un comportement honnête de la part des nœuds oracle rationnels. On peut donc modéliser un adversaire attaquant un protocole staking comme un pot-de-vin : la stratégie de l'adversaire consiste à corrompre les nœuds oracle en utilisant des incitations financières. L’adversaire peut tirer des ressources financières de manière prospective en altérant avec succès avec un rapport oracle, par exemple, proposez de partager le profit qui en résulte avec des nœuds corrompus. Dans la conception de notre mécanisme staking, nous visons simultanément deux objectifs ambitieux : 1. Résister à un adversaire puissant : Le mécanisme staking est conçu pour protéger oracle réseaux contre une large classe d'adversaires capables de complexes, les stratégies de corruption conditionnelle, y compris la corruption potentielle, qui offrent des pots-de-vin à des oracle dont l'identité est déterminée après coup (par exemple, offre des pots-de-vin à oracles sélectionnés au hasard pour les alertes hautement prioritaires). Alors que d'autres modèles oracle ont envisagé un ensemble restreint d'attaques sans toutes les capacités d'un système réaliste. adversaire, au meilleur de nos connaissances, le mécanisme contradictoire que nous introduisons voici le premier à aborder explicitement un large éventail de stratégies de corruption et à montrer résistance dans ce modèle. Notre modèle suppose que les nœuds autres que l'attaquant sont économiquement rationnel (par opposition à honnête), et nous supposons l'existence d'un source de vérité dont le coût est prohibitif pour une utilisation typique, mais qui est disponible en cas de désaccord (discuté plus loin). 2. Obtenir un impact staking super-linéaire : Notre objectif est de garantir qu'un réseau oracle composé d'agents rationnels rapporte honnêtement même en présence d'un attaquant avec un budget super-linéairedans la mise totale déposée par l'ensemble du réseau. Dans les systèmes staking existants, si chacun des n nœuds mise $d, un attaquant peut émettre un pot-de-vin crédible qui demande que les nœuds se comportent de manière malhonnête en échange d'un paiement légèrement supérieur à \(d to each node, using a total budget of about \)dn. C'est déjà une barre haute car l'attaquant doit disposer d'un budget liquide de l'ordre des dépôts combinés de tous les acteurs du réseau. Notre objectif est d'atteindre un degré de sécurité économique encore plus élevé que cet obstacle déjà important. Notre objectif est de concevoir le premier système staking qui peut assurer la sécurité d'un attaquant général avec un budget super-linéaire en n. Bien que des considérations pratiques puissent avoir un impact moindre, comme nous le discutons ci-dessous, notre conception préliminaire atteint une exigence budgétaire contradictoire supérieure à $dn2/2, c'est-à-dire une mise à l'échelle quadratique en n, rendant la corruption largement peu pratique, même lorsque les nœuds ne misent que des montants modérés. Atteindre ces deux objectifs nécessite une combinaison innovante de conception d'incitations et la cryptographie. Idées clés : Notre approche staking repose sur une idée que nous appelons la priorité de surveillance. Un rapport généré par un réseau Chainlink oracle et envoyé à un contrat de confiance (par exemple, sur le prix d'un actif) est agrégé à partir de rapports individuels fournis par les nœuds participants (par exemple, en prenant la médiane). Généralement un accord de niveau de service (SLA) spécifie les limites d'écart acceptables pour les rapports, c'est-à-dire dans quelle mesure le rapport d'un nœud peut s'écarter du rapport global et dans quelle mesure l'agrégat doit être autorisé à s'écarter de la valeur réelle pour être considéré comme correct. Dans notre système staking, pour un cycle de reporting donné, chaque nœud oracle peut agir comme un chien de garde pour déclencher une alerte s’il estime que le rapport global est incorrect. Dans chacun cycle de reporting, chaque nœud oracle se voit attribuer une priorité publique qui détermine le ordre dans lequel son alerte (le cas échéant) sera traitée. Notre mécanisme vise à récompenser concentration, ce qui signifie que le chien de garde le plus prioritaire pour déclencher une alerte gagne le récompense entière obtenue en confisquant les dépôts des nœuds défectueux. Nos conceptions de systèmes staking impliquent deux niveaux : le premier, niveau par défaut, et le second, niveau de soutien. Le premier niveau est le réseau oracle lui-même, un ensemble de n nœuds. (Pour simplifier, nous supposons que n est impair.) Si une majorité de nœuds signalent des valeurs incorrectes, un chien de garde dans le le premier niveau est fortement incité à déclencher une alerte. Si une alerte est déclenchée, le reporting La décision concernant le réseau est ensuite transmise à un deuxième niveau : un système coûteux et à fiabilité maximale qui peut être spécifié par l'utilisateur dans l'accord de niveau de service du réseau. Il peut s'agir d'un système qui, par exemple, est composé uniquement de nœuds à forte scores de fiabilité historiques, ou ceux qui ont un ordre de grandeur supérieur à oracles que le premier niveau. De plus, comme indiqué dans la section 9.4.3, DECO ou Town Crier peut servir comme des outils puissants pour contribuer à garantir une décision efficace et concluante au deuxième niveau. Par souci de simplicité, nous supposons donc que ce système de deuxième niveau parvient à un rapport correct. valeur. Même s'il peut sembler intéressant de s'appuyer uniquement sur le deuxième niveau pour générer tous les rapports, l'avantage de notre conception est qu'elle atteint systématiquement les propriétés de sécurité dusystème de deuxième niveau tout en ne payant que le coût de fonctionnement, dans le cas typique, du système de premier niveau. La priorité du chien de garde entraîne un impact super-linéaire staking de la manière suivante : si le Le réseau oracle de premier niveau génère un résultat incorrect et un certain nombre de nœuds de surveillance alerte, le mécanisme d'incitation staking récompense le chien de garde le plus prioritaire avec plus de $dn/2 tirés des dépôts des nœuds (majoritaires) qui se comportent mal. Le la récompense totale est ainsi concentrée entre les mains de ce chien de garde unique, qui détermine le minimum qu'un adversaire doit promettre à un chien de garde potentiel l’inciter à ne pas alerter. Puisque notre mécanisme garantit que chaque oracle obtient le possibilité d'agir en tant que chien de garde si les chiens de garde prioritaires ont accepté leurs pots-de-vin (et choisi de ne pas alerter), l’adversaire doit donc offrir un pot-de-vin de plus de $dn/2 à chaque nœud pour empêcher toute alerte. Puisqu’il y a n nœuds, le Le budget requis par l’adversaire pour un pot-de-vin réussi s’élève à plus de 2/2 dollars, ce qui est quadratique en nombre n de nœuds du réseau. 9.2 Contexte Notre approche de staking s'appuie sur des recherches dans les domaines de la théorie et des mécanismes des jeux. design (MD) (pour une référence de manuel, voir [177]). La théorie des jeux est mathématiquement étude formalisée de l’interaction stratégique. Dans ce contexte, un jeu est un modèle d'une telle une interaction, typiquement dans le monde réel, qui codifie des ensembles d'actions disponibles pour participants au jeu, appelés joueurs. Un jeu précise également les gains obtenus par les joueurs individuels - des récompenses qui dépendent des actions choisies par un joueur et de la actions des autres joueurs. Peut-être l'exemple le plus connu d'un jeu étudié en jeu La théorie est le dilemme du prisonnier [178]. Les théoriciens des jeux visent généralement à comprendre le ou les équilibres (le cas échéant) représentés dans un jeu donné. Un équilibre est un ensemble de stratégies (une pour chaque joueur) telles qu'aucun joueur ne puisse obtenir un score plus élevé gain en s’écartant unilatéralement de sa stratégie. La conception de mécanismes, quant à elle, est la science qui consiste à concevoir des incitations telles que l'équilibre d'une interaction (et de son jeu associé) possède une propriété souhaitable. MD peut être considéré comme l’inverse de la théorie des jeux : la question canonique dans le jeu La théorie est la suivante : « étant donné les incitations et le modèle, quel sera l’équilibre ? En MD, le La question est plutôt : « Quelles incitations donneront lieu à un jeu présentant un équilibre souhaitable ? » L'un des objectifs typiques d'un concepteur de mécanisme est de créer un mécanisme « compatible avec les incitations », ce qui signifie que les participants au mécanisme (par exemple, une vente aux enchères ou d'autres informations) système d'élicitation [228]) sont incités à rapporter la vérité sur un sujet (par exemple, comment ils apprécient beaucoup un article particulier). La vente aux enchères Vickrey (second prix) est peut-être la mécanisme compatible avec les incitations le plus connu, dans lequel les participants soumettent des offres scellées pour un article et le plus offrant remporte l'article mais paie le deuxième prix le plus élevé [214]. La cryptoéconomie est une forme de MD spécifique à un domaine qui exploite la cryptographie. techniques pour créer des équilibres souhaitables au sein des systèmes décentralisés. La corruption et la collusion créent des défis importants dans tout le domaine du MD. Presque tous les mécanismes se brisent en présence de collusion, définie comme des contrats parallèles.entre les parties participant à un mécanisme [125, 130]. La corruption, dans laquelle une partie externe introduit de nouvelles incitations dans le jeu, présente un problème encore plus difficile. que la collusion ; la collusion peut être considérée comme un cas particulier de corruption participants. Les systèmes blockchain peuvent souvent être conceptualisés comme des jeux avec des gains monétaires (basés sur des cryptomonnaies). Un exemple simple est le minage de preuve de travail : les mineurs disposent d'un espace d'action dans lequel ils peuvent choisir le taux hash avec lequel extraire des blocs. Le bénéfice du minage est une récompense négative garantie (coût de l'électricité et de l'équipement) plus un effet stochastique. récompense positive (subvention minière) qui dépend du nombre d'autres mineurs actifs [106, 172] et les frais de transaction. Les oracle participatifs comme SchellingCoin [68] sont un autre exemple : l'espace d'action est l'ensemble des rapports possibles qu'un oracle peut envoyer, tandis que le paiement est la récompense spécifiée par le mécanisme oracle, par exemple, le paiement peut dépendre sur la proximité du rapport d'un oracle par rapport à la médiane des autres rapports [26, 68, 119, 185]. Les jeux blockchain offrent de bonnes opportunités pour les attaques de collusion et de corruption ; en effet, Les smart contract peuvent même faciliter de telles attaques [96, 165]. Peut-être le plus connu L'attaque de corruption contre des oracle issus du crowdsourcing est l'attaque p-plus-epsilon [67]. Cette attaque se produit dans le contexte d'un mécanisme de type SchellingCoin dans lequel les joueurs soumettent des rapports de valeur booléenne (c'est-à-dire faux ou vrai) et sont récompensés par p s'ils sont d'accord avec le proposition majoritaire. Dans une attaque p-plus-epsilon, l'attaquant promet de manière crédible : par exemple, payez les utilisateurs $p + ϵ pour avoir voté faux si et seulement si la proposition majoritaire est vraie. Le résultat est un équilibre dans lequel tous les acteurs sont incités à signaler de fausses informations. indépendamment de ce que font les autres joueurs ; par conséquent, le corrupteur peut inciter les nœuds grâce à sa promesse de pot-de-vin pour signaler de fausses déclarations sans réellement payer le pot-de-vin (!). Cependant, l’exploration d’autres stratégies de corruption dans le contexte des oracle – et en particulier des oracle qui ne font pas l’objet d’un crowdsourcing – s’est limitée à des stratégies contradictoires assez faibles. modèles. Par exemple, dans le cadre du PoW, les chercheurs ont étudié les les pots-de-vin, c'est-à-dire les pots-de-vin versés uniquement si un message cible est censuré avec succès et ne apparaissent dans un bloc, quelle que soit l’action d’un mineur individuel [96, 165]. Dans le cas de oracles, cependant, autre que l'attaque p-plus-epsilon, nous sommes au courant uniquement du travail dans un modèle de corruption strictement limité dans lequel un corrupteur envoie un pot-de-vin conditionné à un l’action d’un joueur individuel, et non sur le résultat qui en résulte. Nous esquissons ici des conceptions de mécanismes d'obtention d'informations qui restent incitatifs compatible même dans un modèle fortement contradictoire, comme décrit dans la sous-section suivante. 9.3 Hypothèses de modélisation Dans cette sous-section, nous expliquons comment nous modélisons le comportement et les capacités des acteurs dans notre système, en particulier les nœuds oracle de premier niveau, les nœuds de deuxième niveau (arbitrage) couche et adversaires.9.3.1 Modèle d’incitation de premier niveau : acteurs rationnels De nombreux systèmes blockchain reposent pour leur sécurité sur l'hypothèse d'un certain nombre d'honnêtes nœuds participants. Les nœuds sont définis comme étant honnêtes s'ils suivent le protocole même lorsque cela n’est pas dans leur intérêt financier de le faire. Systèmes de preuve de travail généralement nécessitent la majorité du pouvoir hash pour être honnête, les systèmes de preuve de participation nécessitent généralement 2/3 ou plus de toutes les participations pour être honnêtes, et même les systèmes de couche 2 comme L'arbitrage [141] exige au moins un seul participant honnête. Lors de la modélisation de notre mécanisme staking, nous faisons une hypothèse beaucoup plus faible. (Être des hypothèses claires et plus faibles signifient des propriétés de sécurité plus fortes et sont donc préférables.) Nous supposons que l'adversaire a corrompu, c'est-à-dire les contrôles, une partie (minorité) fraction des nœuds oracle de premier niveau. Nous modélisons les nœuds restants non pas comme des agents honnêtes, mais en tant que maximisateurs rationnels de l'utilité attendue. Ces nœuds agissent entièrement selon des incitations financières intéressées, choisissant des actions qui aboutissent à un résultat financier attendu. gagner. Par exemple, si un nœud se voit offrir un pot-de-vin supérieur à la récompense résultant de comportement honnête, il acceptera le pot-de-vin. Remarque sur les nœuds contradictoires : Conformément à la modélisation de confiance commune pour systèmes décentralisés, nous supposons que tous les nœuds sont rationnels, c'est-à-dire cherchant à maximiser revenus nets, plutôt que contrôlés par un adversaire malveillant. Cependant, nos affirmations... impact staking spécifiquement super-linéaire ou quadratique - maintien asymptotiquement fourni que l’ensemble des nœuds contrôlés de manière contradictoire est au plus (1/2 −c)n, pour certains positifs constante c. 9.3.2 Modèle d’arbitrage de deuxième niveau : justesse par hypothèse Rappelez-vous qu'une fonctionnalité essentielle de notre mécanisme staking qui contribue à assurer la sécurité contre les nœuds rationnels se trouve son système de deuxième niveau. Dans notre mécanisme staking proposé, tout oracle peut déclencher une alerte indiquant que il pense que le résultat du mécanisme est incorrect. Une alerte entraîne une confiance élevée système de deuxième niveau activant et signalant le résultat correct. Ainsi, une modélisation clé L'exigence de notre approche est une décision correcte, c'est-à-dire un rapport correct par le système de deuxième niveau. Notre modèle staking suppose un système de deuxième niveau qui agit comme une source de vérité incorruptible et fiable au maximum. Un tel système risque d'être coûteux et lent, et donc inapproprié pour une utilisation dans le cas typique. Cependant, dans le cas d’équilibre, c’est-à-dire lorsque le système du premier niveau fonctionne correctement, le système du deuxième niveau ne sera pas invoqué. Au lieu de cela, son existence renforce la sécurité de l'ensemble du système oracle en fournissant un un filet de sécurité de haute assurance. L'utilisation d'une couche de décision hautement fiable et coûteuse ressemble au processus d'appel. au cœur de la plupart des systèmes judiciaires. C'est également déjà courant dans la conception de oracle systèmes, par exemple [119, 185]. Nous discutons brièvement des approches de réalisation du deuxième niveau dans notre mécanisme à la section 9.4.3.Notre protocole staking utilise la décision supposée correcte du système de deuxième niveau comme une menace crédible pour imposer des rapports corrects par les nœuds oracle. Le protocole confisque une partie ou la totalité de la participation des nœuds oracle qui génèrent des rapports identifiés par le système de deuxième niveau comme étant incorrect. Les nœuds Oracle sont ainsi dissuadés de se comporter mal par la pénalité financière qui en résulte. Cette approche est similaire en saveur à celle utilisée dans rollup optimistes, par exemple, [141, 10]. 9.3.3 Modèle contradictoire Notre mécanisme staking est conçu pour obtenir des informations véridiques tout en assurant la sécurité contre une classe large et bien définie d'adversaires. Il améliore les travaux antérieurs, qui soit omettent un modèle accusatoire explicite, soit se concentrent sur des sous-classes étroites d’adversaires, par exemple l’adversaire p-plus-epsilon évoqué ci-dessus. Notre objectif est de concevoir un staking mécanisme avec une sécurité formellement prouvée contre l’ensemble des adversaires probables à rencontrer dans la pratique. Nous modélisons notre adversaire comme ayant un budget fixe (paramétrable), noté G$. L'adversaire peut communiquer individuellement et de manière confidentielle avec chaque oracle dans le réseau, et peut secrètement offrir à tout individu oracle le paiement garanti d'un pot-de-vin dépend des résultats du mécanisme publiquement observables. Résultats déterminants les pots-de-vin peuvent inclure, par exemple, la valeur rapportée par le oracle, tout message public envoyées par n'importe quel oracle au mécanisme (par exemple, une alerte), les valeurs rapportées par d'autres oracles et la valeur émise par le mécanisme. Aucun mécanisme ne peut protéger contre un attaquant doté de capacités illimitées. Nous considérons donc certains comportements comme irréalistes ou hors de portée. Nous supposons que notre attaquant ne peut pas briser les primitives cryptographiques standards et, comme indiqué ci-dessus, a une valeur fixe (si potentiellement important) budget de G$. Nous supposons en outre que l'adversaire ne contrôle pas communication dans le réseau oracle, en particulier qu'il ne peut pas retarder considérablement trafic entre les nœuds de premier et/ou de deuxième niveau. (Le fait que l’adversaire puisse observer une telle communication dépend du mécanisme particulier, comme nous l’expliquons ci-dessous.) Cependant, de manière informelle, comme indiqué ci-dessus, nous supposons que l'adversaire peut : (1) Corrompre une fraction de oracle nœuds ((1/2 −c)-fraction pour une constante c), c'est-à-dire contrôler entièrement eux, et (2) Offrir des pots-de-vin à tous les nœuds souhaités, avec un paiement garanti conditionné sur les résultats spécifiés par l’adversaire, comme décrit ci-dessus. Bien que nous n’offrions pas de modèle formel ni de taxonomie complète de l’ensemble de l’adversaire. gamme de capacités de corruption dans ce livre blanc, voici des exemples des types de pots-de-vin englobés dans notre modèle. Pour plus de simplicité, nous supposons que les oracle émettent des booléens rapports dont la valeur correcte (w.l.o.g.) est vraie, et qu'un résultat final est calculé comme un ensemble de ces rapports à utiliser par un smart contract consommateur. Le corrupteur le but est que le résultat final soit incorrect, c’est-à-dire faux. • Pot-de-vin inconditionnel : le pot-de-vin offre un pot-de-vin de $b à tout oracle qui déclare de fausses informations. • Pot-de-vin probabiliste : le pot-de-vin propose un pot-de-vin $b avec une certaine probabilité q à n'importe quel oracle qui rapporte faux.• Pot-de-vin conditionné à un résultat faux : le pot-de-vin offre un pot-de-vin de $b à tout oracle qui déclare faux à condition que le résultat final soit faux. • Pot-de-vin sans condition d'alerte : le pot-de-vin offre un pot-de-vin de milliards $ à tout oracle qui signale false tant qu'aucune alerte n'est déclenchée. • Pot-de-vin p-plus-epsilon : le pot-de-vin offre un pot-de-vin de $b à tout oracle qui déclare faux comme tant que la majorité des oracle ne déclarent pas de faux. • Pot-de-vin potentiel : le pot-de-vin offre un pot-de-vin d'un montant de milliards $ à l'avance au oracle sélectionné. pour un rôle randomisé et des rapports faux. Dans notre protocole staking proposé, tous les nœuds agissent comme des chiens de garde potentiels, et nous sommes en mesure de montrer que la randomisation Les priorités des organismes de surveillance ne se prêtent pas à des pots-de-vin potentiels. De nombreux systèmes de preuve de travail, proof-of-stake et autorisés sont susceptibles de corruption, ce qui montre l’importance de la considérer dans notre débat contradictoire. modèle et en veillant à ce que nos protocoles staking y soient résilients. Voir l'Annexe E pour plus de détails. 9.3.4 Dans quelle mesure la sécurité cryptoéconomique est-elle suffisante ? Un adversaire rationnel ne dépensera de l’argent pour attaquer un système que s’il peut en tirer un profit. supérieur à ses dépenses. Ainsi pour notre modèle contradictoire et proposé staking mécanisme, $B peut être considéré comme une mesure du profit potentiel qu’un adversaire est en mesure de réaliser. pour extraire des smart contract fiables en corrompant un réseau oracle et en le provoquant pour générer un rapport ou un ensemble de rapports incorrect. Pour décider si un réseau oracle offre un degré suffisant de sécurité cryptoéconomique pour ses besoins, un utilisateur doit évaluer le réseau dans cette perspective. Pour les adversaires plausibles dans des contextes pratiques, nous nous attendons à ce que G$ soit généralement sensiblement inférieur à l'actif total en s'appuyant sur smart contracts. Dans la plupart des cas, il Il est impossible pour un adversaire d’extraire ces atouts dans leur totalité. 9.4 Mécanisme de jalonnement : croquis Nous présentons ici les idées principales et la structure générale du mécanisme staking que nous envisagent actuellement. Pour faciliter la présentation, nous décrivons un processus simple mais lent protocole (multi-tours) dans cette sous-section. Nous notons cependant que ce schéma est assez pratique. Compte tenu des garanties économiques fournies par le mécanisme, c'est-à-dire la pénalisation et l'incitation conséquente contre les nœuds défectueux, de nombreux utilisateurs pourraient être disposés à accepter les rapports avec optimisme. En d'autres termes, ces utilisateurs peuvent accepter les rapports avant arbitrage potentiel par le deuxième niveau. Les utilisateurs peu disposés à accepter les rapports avec optimisme peuvent choisir d'attendre que le protocole soit mis en œuvre. l'exécution se termine, c'est-à-dire jusqu'à ce qu'une escalade potentielle vers le deuxième niveau se produise. Ceci, cependant, cela peut ralentir considérablement le temps de confirmation des rapports. Nous avons donc brièvementFigure 15 : Schéma du schéma staking avec alerte. Dans cet exemple, 1⃝une majorité des nœuds sont corrompus / soudoyés et émettent une valeur incorrecte ˜r, plutôt que la bonne rapporter la valeur r. Le nœud de surveillance 2⃝envoie une alerte au comité de deuxième niveau, qui 3⃝détermine et émet la valeur de rapport correcte r, entraînant des nœuds corrompus perdant leurs dépôts - chaque $d au nœud de surveillance 4⃝. décrivent quelques optimisations qui se traduisent par un tour plus rapide (en un seul tour), voire un peu plus conception complexe à la section 9.5. Rappelons que le premier niveau de notre mécanisme staking se compose des éléments de base oracle réseau lui-même. La structure principale de notre mécanisme, telle que décrite ci-dessus, est qu'à chaque tour, chaque nœud peut agir comme un « chien de garde » avec une certaine priorité, et il a ainsi la capacité de déclencher une alerte si le mécanisme arrive à une sortie incorrecte ˜r, plutôt qu'à une sortie correcte un r. Cette alerte provoque une résolution de deuxième niveau, qui, nous supposons, aboutit à un résultat correct. rapport. Les nœuds avec des rapports incorrects sont punis, dans le sens où leurs enjeux sont réduit et attribué aux chiens de garde. Cette structure de base est courante dans les systèmes oracle, comme dans, par exemple, [119, 185]. L'innovation clé de notre conception, mentionnée brièvement ci-dessus, est que chaque nœud est s'est vu attribuer une priorité distincte dans l'ordre des chiens de garde potentiels. C'est-à-dire des chiens de garde ont la possibilité d’alerter par ordre de priorité. Rappelons que si un nœud a le priorité absolue pour déclencher une alerte, il reçoit le dépôt réduit $d de chaque mauvais comportement nœud, pour un total supérieur à \(dn/2 = \)d × n/2, car un rapport incorrect implique un majorité de nœuds défectueux. Par conséquent, l'adversaire doit payer au moins cette récompense à corrompre un nœud arbitraire. Ainsi, pour corrompre une majorité de nœuds, l’adversaire doit payer une somme un pot-de-vin important à une majorité de nœuds, à savoir strictement plus de $dn2/2. Nous montrons schématiquement comment fonctionnent les alertes et les escalades de surveillance dans la figure 15.9.4.1 Plus de détails sur le mécanisme Le système anti-corruption que nous décrivons maintenant plus en détail est une esquisse simplifiée de la construction à deux niveaux que nous avons l'intention de construire. Nous nous concentrerons principalement sur la description le réseau de premier niveau (désormais simplement « réseau » si cela ressort clairement du contexte) ainsi que avec son mécanisme d'incitation et la procédure de remontée au deuxième niveau. Considérons un réseau Chainlink composé de n nœuds oracle responsables de régulièrement (par exemple, une fois par minute) en signalant une valeur booléenne (par exemple, si le marché la capitalisation du BTC dépasse celle de l’ETH). Dans le cadre du mécanisme staking, les nœuds doit fournir deux cautions : une caution $d sujette à des coupures en cas de désaccord avec la majorité et un chien de garde, dépôt $dw susceptible d'être réduit en cas de défaut escalade. Nous supposons que les nœuds ne peuvent pas copier les soumissions d'autres nœuds, par exemple : via un système de validation-révélation comme discuté dans la section 5.3. A chaque tour, les nœuds en premier s'engager dans leur rapport, et une fois que tous les nœuds se sont engagés (ou qu'un délai d'attente a expiré), les nœuds révèlent leurs rapports. Pour chaque rapport à générer, chaque nœud reçoit également une priorité de surveillance comprise entre 1 et n choisie au hasard, 1 étant la priorité absolue. Cette priorité permet au concentration de la récompense entre les mains d'un seul chien de garde. Une fois que tous les rapports sont publics, une phase d’alerte s’ensuit. Sur une séquence de n tours (synchrones), le nœud avec priorité j'ai la possibilité d'alerter au premier tour. Considérons les résultats possibles du mécanisme une fois que les nœuds ont révélé leurs rapports. En supposant encore une fois un rapport binaire, supposons que la valeur correcte soit vraie et l'incorrect est faux. Supposons également que le mécanisme de premier niveau génère le valeur majoritaire sortie par les nœuds comme rapport final r. Il y a trois résultats possibles dans le mécanisme : • Accord complet : dans le meilleur des cas, les nœuds sont en accord complet : tous les nœuds sont disponibles et ont fourni en temps opportun un rapport de la même valeur r (soit vraie ou faux). Dans ce cas, le réseau n'a qu'à transmettre r aux contrats de confiance et récompensez chaque nœud avec un paiement fixe par tour $p, qui est beaucoup plus petit que $d. • Accord partiel : il est possible que certains nœuds soient hors ligne ou qu'il y ait un désaccord sur la valeur correcte, mais la plupart des nœuds rapportent vrai et seulement un les rapports minoritaires sont faux. Ce cas est également simple. La valeur majoritaire (vrai) est calculé, ce qui donne un rapport correct r. Tous les nœuds qui ont rapporté r sont récompensé par $p tandis que les oracle qui ont signalé des erreurs ont leurs dépôts modestement réduit, par exemple de 10 pence. • Alerte : dans le cas où un chien de garde estime que la sortie du réseau est incorrecte, il déclenche publiquement une alerte, faisant remonter le mécanisme au réseau de deuxième niveau. Il y a alors deux résultats possibles : – Alerte correcte : si le réseau de deuxième niveau confirme que la sortie duFigure 16 : Amplifier le coût des pots-de-vin grâce à des récompenses d’alerte concentrées. Une corruption l'adversaire doit soudoyer chaque nœud avec plus que la récompense qu'il peut gagner en alertant (représenté par une barre rouge). Si les récompenses d’alerte sont partagées, alors cette récompense peut être relativement petit. Les récompenses d'alerte concentrées augmentent la récompense que n'importe quel nœud peut obtenir (grande barre rouge). Par conséquent, le paiement total par l'adversaire pour un pot-de-vin viable (régions grises) est beaucoup plus grande avec des récompenses d'alerte concentrées que partagées. Le réseau de premier niveau était incorrect, le nœud de surveillance d'alerte reçoit une récompense constitué de tous les dépôts réduits, et donc de plus de $dn/2. – Alerte défectueuse : si les oracles de deuxième et de premier niveaux sont d'accord, l'escalade est est jugé défectueux et le nœud d'alerte perd son dépôt $dw. En cas d'acceptation optimiste des rapports, les alertes de surveillance ne provoquent pas tout changement dans l’exécution des contrats de confiance. Pour les contrats conçus pour attendre arbitrage potentiel par le comité de deuxième niveau, les alertes du chien de garde tardent mais ne gèlez pas l’exécution du contrat. Il est également possible que les contrats désignent un basculement DON pour les périodes d’arbitrage. 9.4.2 Impact du jalonnement quadratique La capacité de chaque nœud à agir comme un chien de garde, combinée à une priorité stricte des nœuds assurer des récompenses concentrées, permet au mécanisme d'atteindre le staking quadratique impact pour chaque type d’attaquant de corruption décrit à la section 9.3.3. Rappelons que ceci signifie spécifiquement dans notre cadre que, pour un réseau à n nœuds chacun avec un dépôt $d, un corrompu (de l’un des types ci-dessus) doit disposer d’un budget supérieur à $dn2/2. Pour être précis, le corrupteur doit corrompre au moins (n+1)/2 nœuds, puisque le corrupteur doit corrompre une majorité de n nœuds (pour n impair, par hypothèse). Ainsi, un organisme de surveillance doit gagnez une récompense de $d(n + 1)/2. Le corrupteur doit donc payer ce montant à chaquenœud pour garantir qu’aucun n’agit comme chien de garde. Nous travaillons à montrer formellement que si le corrupteur a un budget d'au plus $d(n2 + n)/2, alors l'équilibre parfait du sous-jeu du jeu entre les corrupteurs et les oracle – en d’autres termes, l’équilibre à à tout moment pendant le jeu - est pour le corrupteur de ne pas verser de pot-de-vin et pour chaque oracle rapporte honnêtement ses vraies valeurs. Nous avons expliqué ci-dessus comment il est possible qu'un corrompu qui réussisse exige une budget significativement plus grand que celui de la somme des dépôts des nœuds. Pour illustrer cela Résultat intuitif, la figure 16 montre graphiquement l'impact des récompenses d'alerte concentrées. Comme nous le voyons ici, si la récompense pour l'alerte du chien de garde, à savoir les dépôts de pots-de-vin, nœuds signalant faux) - ont été répartis entre toutes les alertes potentielles, le montant total qui auquel tout nœud d'alerte individuel pourrait s'attendre serait relativement petit, de l'ordre de $d. Un corrupteur, sachant qu’un paiement supérieur à d $ était improbable, pourrait utiliser un pot-de-vin conditionnel à faux résultat pour soudoyer chacun des n nœuds avec un peu plus de $d + ϵ. Contre-intuitivement, la figure 16 montre qu’un système qui distribue largement une récompense parmi les nœuds signalant une alerte est bien plus faible que celui qui concentre la récompense dans entre les mains d’un seul organisme de surveillance. Exemples de paramètres : Considérons un réseau (de premier niveau) avec n = 100 nœuds, chacun déposant \(d = \)20K. Ce réseau aurait un total de 2 M$ déposés mais être protégé contre un pot-de-vin avec le budget \(100M = \)dn2/2. Augmenter le nombre de oracles est bien sûr plus efficace que d'augmenter $d, et peut avoir un effet dramatique : un réseau avec n = 300 nœuds et des dépôts \(d = \)20K serait protégé contre un un pot-de-vin avec un budget allant jusqu'à 900 millions de dollars. Notez qu'un système staking peut dans de nombreux cas protéger les smart contract représentant plus de valeur que le niveau de protection contre la corruption offert. C'est parce qu'un adversaire Dans de nombreux cas, attaquer ces contrats ne peut pas en extraire la pleine valeur. Par exemple, un Un contrat alimenté par Chainlink garantissant une valeur de 1 milliard de dollars ne peut exiger qu'une garantie contre un un pot-de-vin avec 100 millions de dollars de ressources, car un tel adversaire peut vraisemblablement en tirer un profit de seulement 10% de la valeur du contrat. Remarque : L’idée selon laquelle la valeur d’un réseau peut croître de façon quadratique s’exprime dans la célèbre loi de Metcalfe [167, 235], qui stipule que la valeur d’un réseau croît quadratiquement en nombre d’entités connectées. Cependant, la loi de Metcalfe découle de la croissance du nombre de connexions réseau potentielles par paires, un phénomène différent de celui sous-jacent à l'impact quadratique staking de notre incitation mécanisme. 9.4.3 Réalisation du deuxième niveau Deux caractéristiques opérationnelles facilitent la réalisation d'un deuxième niveau de haute fiabilité : (1) L'arbitrage de deuxième niveau devrait être un événement rare dans les réseaux oracle et peut donc être significativement plus coûteux que le fonctionnement normal du premier niveau et (2) En supposantdes rapports acceptés avec optimisme – ou des contrats dont l’exécution peut attendre l’arbitrage – le deuxième niveau n'a pas besoin d'être exécuté en temps réel. Ces fonctionnalités se traduisent par une gamme de options de configuration pour le deuxième niveau afin de répondre aux exigences de DON particuliers. À titre d'exemple d'approche, un comité de deuxième niveau peut être composé de nœuds sélectionnés par un DON (c'est-à-dire, premier niveau) à partir des nœuds les plus anciens et les plus fiables du Chainlink réseau. En plus d'une expérience opérationnelle pertinente et considérable, les opérateurs de ces nœuds ont une incitation implicite considérable dans le FFO qui motive un désir pour garantir que le réseau Chainlink reste hautement fiable. Ils ont également publiquement des historiques de performances disponibles qui assurent la transparence de leur fiabilité. Il convient de noter que les nœuds de deuxième niveau ne doivent pas nécessairement participer au réseau de premier niveau, et peut évaluer les défauts sur plusieurs réseaux de premier niveau. Les nœuds dans un DON donné peuvent pré-désigner et s'engager publiquement sur un ensemble de n' tels nœuds comme constituant le comité de deuxième niveau pour ce DON. De plus, DON les nœuds publient un paramètre k′ ≤n′ qui détermine le nombre de votes de deuxième niveau nécessaire pour pénaliser un nœud de premier niveau. Lorsqu'une alerte est générée pour un rapport donné, les membres du deuxième niveau votent sur l'exactitude des valeurs fournies par chacun des nœuds de premier niveau. Tout nœud de premier niveau qui reçoit k' votes négatifs perd son statut. dépôts au nœud de surveillance. En raison de la rareté des jugements et de la possibilité d’une exécution prolongée Comme indiqué ci-dessus, contrairement au premier niveau, les nœuds du deuxième niveau peuvent : 1. Soyez hautement rémunéré pour la conduite de l’arbitrage. 2. S'appuyer sur des sources de données supplémentaires, au-delà même de l'ensemble diversifié utilisé par la première. 3. S'appuyer sur une inspection et une intervention manuelles et/ou expertes, par exemple pour identifier et concilier les erreurs dans les données sources et faire la distinction entre un relais de nœud honnête des données défectueuses et un nœud qui se comporte mal. Nous soulignons que l'approche que nous venons de décrire pour la sélection des nœuds de second niveau et la politique régissant l'arbitrage ne représente qu'un point dans un vaste ensemble. espace de conception des réalisations possibles du deuxième niveau. Notre mécanisme d’incitation offre une flexibilité totale quant à la manière dont le deuxième niveau est réalisé. Les DON individuels peuvent ainsi constituer et fixer des règles pour leurs deuxièmes niveaux qui répondent aux exigences particulières et les attentes des nœuds et des utilisateurs participants. DECO et Town Crier comme outils d’arbitrage : C'est essentiel pour le deuxième niveau dans notre mécanisme pour pouvoir distinguer les nœuds adverses de premier niveau qui produire intentionnellement des rapports incorrects et des nœuds honnêtes de premier niveau qui, involontairement, relayer des données incorrectes à la source. Ce n'est qu'alors que le deuxième niveau pourra mettre en œuvre couper pour décourager la triche, le but de notre mécanisme. DECO et Crieur public sont des outils puissants qui peuvent permettre aux nœuds de deuxième niveau de faire cette distinction critique de manière fiable.Les nœuds de deuxième niveau peuvent dans certains cas être en mesure d'interroger directement la source de données utilisée par un nœud de premier niveau ou utilisez la section ADO 7.1 afin de vérifier si un rapport incorrect résulte d'une source de données défectueuse. Dans d'autres cas, cependant, les nœuds de deuxième niveau peuvent manquer accès direct à la source de données d’un nœud de premier niveau. Dans de tels cas, une décision correcte serait semblent irréalisables ou nécessitent de s’appuyer sur un jugement subjectif. Précédent oracle Les systèmes de règlement des différends se sont appuyés sur des tours de scrutin inefficaces et de plus en plus nombreux pour résoudre ces problèmes. défis. Cependant, en utilisant DECO ou Town Crier, un nœud de premier niveau peut prouver un comportement correct. aux nœuds de deuxième niveau. (Voir la section 3.6.2 pour plus de détails sur les deux systèmes.) Plus précisément, si le nœud de deuxième niveau identifie un nœud de premier niveau comme ayant généré une valeur de rapport erronée ˜r, le nœud de premier niveau peut utiliser DECO ou Town Crier pour générer des preuves inviolables pour nœuds de deuxième niveau qu'il relaie correctement ou correctement à partir d'une source (compatible TLS) reconnu comme faisant autorité par le DON. Il est important de noter que le nœud de premier niveau peut le faire sans nœuds de deuxième niveau nécessitant un accès direct à la source de données.17 Par conséquent, une évaluation correcte est possible dans Chainlink pour toute source de données souhaitée. 9.4.4 Fausse déclaration d'assurance La forte résistance à la corruption obtenue grâce à notre mécanisme staking repose fondamentalement sur les fonds réduits accordés aux alerteurs. Sans récompense monétaire, les alerteurs n’ont aucune incitation directe à rejeter les pots-de-vin. En conséquence, toutefois, les fonds réduits ne sont pas disponible pour indemniser les utilisateurs lésés par des rapports incorrects, par exemple les utilisateurs qui perdent de l'argent lorsque des données de prix incorrectes sont transmises à un smart contract. Par hypothèse, les rapports incorrects ne posent pas de problème si les rapports sont acceptés par un contrat seulement après une éventuelle arbitrage, c'est-à-dire une action du deuxième niveau. Comme expliqué cependant, pour obtenir la meilleure performance possible, les contrats peuvent plutôt s'appuyer sur avec optimisme quant au mécanisme permettant d'imposer des rapports corrects, ce qui signifie qu'ils acceptent rapports avant une éventuelle décision de deuxième niveau. En effet, un tel comportement optimiste est sûr dans notre modèle en supposant des adversaires rationnels dont les budgets ne dépassent pas le staking impact du mécanisme. Les utilisateurs préoccupés par l'éventualité improbable d'une défaillance du mécanisme résultant, Par exemple, des adversaires disposant de ressources financières considérables pourraient souhaiter utiliser une couche supplémentaire de sécurité économique sous la forme d’une assurance contre les fausses déclarations. Nous connaissons plusieurs assureurs ont déjà l’intention de proposer des polices de ce type adossées à des contrats intelligents pour les protocoles sécurisés Chainlink dans un avenir proche, notamment via des mécanismes innovants tels que les DAO, par exemple [7]. L'existence d'un historique de performances pour Chainlink Les nœuds et d'autres données sur les nœuds, telles que les montants de leurs mises, fournissent une base exceptionnellement solide pour les évaluations actuarielles du risque, permettant ainsi de fixer le prix des politiques. d’une manière peu coûteuse pour les assurés mais durable pour les assureurs. 17Avec Town Crier, il est en outre possible pour les nœuds de premier niveau de générer localement des attestations. d'exactitude des rapports qu'ils génèrent et fournissent ces attestations aux nœuds de deuxième niveau sur un selon les besoins.Des formes de base d’assurance contre les fausses déclarations peuvent être mises en œuvre de manière fiable et fiable. de manière efficace en utilisant les smart contract. A titre d'exemple simple, une assurance paramétrique Les SCins contractuelles peuvent indemniser automatiquement les assurés si notre mécanisme d’incitation le deuxième niveau identifie une erreur dans un rapport généré au premier niveau. Un utilisateur U qui souhaite souscrire une police d'assurance, par exemple le créateur d'une cible contrat SC, peut introduire une demande auprès d'un assureur décentralisé pour un montant de police M$ sur le contrat. En approuvant U, l'assureur peut fixer un montant continu (par exemple mensuel) prime de $P en SCins. Pendant que U paie la prime, sa police reste active. Si un échec de reporting se produit dans SC, le résultat sera l'émission d'une paire (r1, r2) de rapports contradictoires pour SC, où r1 est signé par le premier niveau de notre mécanisme et r2, le rapport corrigé correspondant, est signé par le deuxième niveau. Si le U fournit une telle paire valide (r1, r2) à SCins, le contrat lui verse automatiquement M$, à condition ses paiements de primes sont à jour. 9.5 Variante à un tour Le protocole décrit dans la sous-section précédente exige que le comité de deuxième niveau attende plusieurs tours pour déterminer si un organisme de surveillance a déclenché une alerte. Ceci Cette exigence est valable même dans le cas optimiste, c'est-à-dire lorsque le premier niveau fonctionne. correctement. Pour les utilisateurs peu disposés à accepter les rapports avec optimisme, c'est-à-dire avant décision, les délais associés à cette approche seraient irréalisables. Pour cette raison, nous étudions également des protocoles alternatifs qui ne nécessitent qu'un seul rond. Dans cette approche, tous les nœuds oracle soumettent des bits secrets indiquant si oui ou non ils souhaitent lancer une alerte. Le comité de deuxième niveau vérifie ensuite ces valeurs ordre de priorité. Pour donner une idée générale, un tel schéma pourrait impliquer les éléments suivants étapes : 1. Soumission du bit de surveillance : chaque nœud Oi partage un secret avec une valeur de surveillance d'un bit. wi ∈{no alert, alert} parmi les nœuds du deuxième niveau pour chaque rapport qu'il génère. 2. Conseils anonymes : n'importe quel nœud oracle peut soumettre un conseil anonyme α au comité de deuxième niveau au cours du même cycle au cours duquel les bits de surveillance sont soumis. Cette astuce α est un message indiquant qu'une alerte a été déclenchée pour le rapport en cours. 3. Vérification des bits de surveillance : le comité de deuxième niveau révèle le chien de garde des nœuds oracle bits par ordre de priorité. Notez que les nœuds ne doivent envoyer aucun bit de surveillance d’alerte lorsqu’ils n’alertent pas : sinon, l’analyse du trafic révèle les bits de tous les nœuds. Le protocole révèle l'absence d'alerte bits de surveillance des nœuds avec une priorité plus élevée que le chien de garde d'alerte ayant la priorité la plus élevée. Observez que ce qui est révélé est identique à celui de notre protocole n-round. Les récompenses sont également distribuées de manière identique à ce système, c'est-à-dire le premier chien de garde identifié reçoit les dépôts réduits des nœuds qui ont soumis des rapports incorrects.L'utilisation de conseils anonymes permet au comité de deuxième niveau de rester non interactif dans les cas où aucune alerte n'a été déclenchée, réduisant ainsi la complexité de la communication. dans le cas commun. Notez que tout organisme de surveillance qui déclenche une alerte est économiquement incité à soumettre un signalement anonyme : si aucun signalement n'est soumis, aucune récompense n'est versée à quiconque. nœud. Pour garantir que l'expéditeur Oi d'un signalement anonyme α ne puisse pas être identifié par le adversaire basé sur les données du réseau, le conseil anonyme peut être envoyé via un canal, par exemple via Tor, ou, plus pratiquement, via un proxy via un fournisseur de services cloud. À authentifier la pointe comme provenant de O, Oi peut signer α en utilisant une signature en anneau [39, 192]. Alternativement, pour empêcher les attaques par déni de service non attribuables contre le comité de deuxième niveau par un nœud oracle malveillant, α peut être un identifiant anonyme avec anonymat révocable [73]. Ce protocole, bien que pratiquement réalisable, nécessite une ingénierie quelque peu lourde exigences (que nous étudions les moyens de réduire). Les nœuds de premier niveau, par exemple, doit communiquer directement avec les nœuds de deuxième niveau, nécessitant la maintenance d'un annuaire. Le besoin de canaux anonymes et de signatures en anneau s'ajoute à l'ingénierie complexité du schéma. Enfin, il existe une exigence particulière de confiance, brièvement évoquée dans la note ci-dessous. Nous étudions donc également des schémas plus simples qui permettent néanmoins d'atteindre impact super-linéaire staking, mais peut-être moins que quadratique, dans lequel un corrupteur a asymptotiquement besoin de ressources d'au moins $n log n, par exemple. Certains des régimes visés la considération implique la sélection aléatoire d'un sous-ensemble strict de nœuds pour agir en tant que chiens de garde, auquel cas la corruption éventuelle devient une attaque particulièrement puissante. Remarque : La sécurité de ce mécanisme staking à un tour nécessite des ressources inexploitables. canaux entre oracle et les nœuds de deuxième niveau - une exigence standard dans les systèmes résistants à la coercition, par exemple le vote [82, 138], et une exigence raisonnable dans la pratique. De plus, cependant, un nœud Oi qui cherche à coopérer avec un corrupteur peut construire ses secrets sont partagés de manière à montrer au corrupteur qu'il a codé un code particulier valeur. Par exemple, si Oi ne sait pas quels nœuds contrôle le corrupteur, alors Oi peut soumettre des actions de valeur 0 à tous les membres du comité. Le corrupteur peut alors vérifier les Oi conformité de manière probabiliste. Pour éviter ce problème dans tout protocole à un seul tour, nous exiger que Oi connaisse l’identité d’au moins un nœud honnête de deuxième niveau. Avec un protocole interactif dans lequel chaque nœud de deuxième niveau ajoute une randomisation facteur aux actions, le mieux que le corrupteur puisse faire est d'imposer la sélection par Oi d'un peu de chien de garde. 9.6 Cadre d'incitation implicite (IIF) Le FFO est une forme d'incitation implicite au comportement correct dans le réseau Chainlink. Il fonctionne comme une participation explicite, c’est-à-dire des dépôts, dans la mesure où elle contribue à renforcer la sécurité économique des le réseau. En d’autres termes, les FFO devraient être inclus dans le cadre du dépôt (efficace) $d d'un nœud du réseau.La question est : comment mesurer les FFO et d’autres formes d’incitations implicites ? au sein du réseau Chainlink ? Le cadre d'incitation implicite (IIF) est un ensemble de principes et techniques que nous envisageons de développer à cet effet. Systèmes de blockchain fournissent de nombreuses formes de transparence sans précédent et les enregistrements de haute confiance des nœuds Les performances qu’ils créent constituent un tremplin pour notre vision du fonctionnement de l’IIF. Nous esquissons ici très brièvement des idées sur les éléments clés du CII. L'IIF lui-même comprendra un ensemble de facteurs que nous identifions comme importants pour évaluer des incitations implicites, ainsi que des mécanismes de publication de données pertinentes sous une forme de haute assurance pour être utilisées par des algorithmes d'analyse. Différents utilisateurs Chainlink peuvent souhaitent utiliser l’IIF de différentes manières, par exemple en accordant une pondération différente à différents facteurs. Nous nous attendons à ce que des services d'analyse apparaissent dans la communauté pour aider les utilisateurs à appliquer l'IIF. en fonction de leurs préférences individuelles en matière d'évaluation des risques, et notre objectif est de faciliter ces services en garantissant leur accès à des données de support de haute assurance et en temps opportun, comme nous le discutons ci-dessous (section 9.6.4). 9.6.1 Opportunité de frais futurs Les nœuds participent à l'écosystème Chainlink pour gagner une part des frais que les réseaux paient pour l'un des différents services que nous avons décrits dans cet article, de les données ordinaires alimentent des services avancés tels que l'identité décentralisée, le séquençage équitable, et la préservation de la confidentialité DeFi. Les frais du réseau Chainlink prennent en charge les coûts des opérateurs de nœuds, par exemple pour l'exécution des serveurs, l'acquisition des licences de données nécessaires et la maintenance. une équipe mondiale pour garantir une disponibilité élevée. Le FFO désigne les frais de service, nets de frais, qu'un nœud a tout à gagner à l'avenir, ou à perdre s'il démontre un comportement défectueux. Le FFO est une forme de participation qui permet de sécuriser le réseau. Une caractéristique utile de FFO est le fait que les données en chaîne (complétées par des données hors chaîne) données) établissent un enregistrement de haute confiance de l’historique d’un nœud, permettant le calcul du FFO de manière transparente et empirique. Une mesure simple et de premier ordre des FFO peut être dérivée du revenu net moyen d'un nœud sur une période donnée (c’est-à-dire les revenus bruts moins les dépenses d’exploitation). FFO peut puis être calculé comme, par exemple, la valeur actuelle nette [114] des revenus nets futurs cumulés, en d’autres termes, la valeur actualisée dans le temps de tous les gains futurs. Les revenus des nœuds peuvent toutefois être volatils, comme le montre par exemple la figure 17. Plus important encore, les revenus des nœuds peuvent ne pas suivre une distribution stationnaire au fil du temps. Par conséquent, d’autres facteurs que nous prévoyons d’explorer dans l’estimation des FFO comprennent : • Historique des performances : l'historique des performances d'un opérateur, y compris l'exactitude et l'actualité de ses rapports, ainsi que sa disponibilité, fournit un objectif. pierre de touche permettant aux utilisateurs d'évaluer sa fiabilité. L'historique des performances sera ainsi fournir un facteur critique dans la sélection par les utilisateurs des nœuds oracle (ou, avec l'avènement de DONs, leur sélection de DONs). Un solide historique de performances est susceptible de sont en corrélation avec des revenus continus élevés.18 18Une question de recherche importante que nous entendons aborder est la détection des volumes de services falsifiés.Figure 17 : Revenus gagnés par les nœuds Chainlink sur un seul flux de données (ETH-USD) pendant une semaine représentative en mars 2021. • Accès aux données : même si les oracle peuvent obtenir de nombreuses formes de données à partir d'API ouvertes, certaines formes de données ou certaines sources de haute qualité peuvent être disponibles uniquement sur un par abonnement ou par le biais d'accords contractuels. Un accès privilégié à certains les sources de données peuvent jouer un rôle dans la création d’un flux de revenus stable. • Participation DON : avec l'avènement des DON, des communautés de nœuds viendront ensemble pour fournir des services particuliers. Nous nous attendons à ce que de nombreux DON incluent opérateurs sur une base sélective, établissant la participation dans des DON réputés en tant que position privilégiée sur le marché qui permet d’assurer une source de revenus constante. • Activité multiplateforme : certains opérateurs de nœuds peuvent avoir une présence bien établie et des antécédents de performances dans d'autres contextes, par exemple en tant que PoS validator ou fournisseurs de données dans des contextes non blockchain. Leurs performances dans ces autres systèmes (lorsque les données les concernant sont disponibles sous une forme fiable) peuvent éclairer l'évaluation. de leur historique de performances. De même, comportement défectueux dans le réseau Chainlink peut compromettre les revenus de ces autres systèmes en chassant les utilisateurs, c'est-à-dire les FFO peut s’étendre sur toutes les plateformes. 9.6.2 FFO spéculatifs Les opérateurs de nœuds participent au réseau Chainlink non seulement pour générer des revenus grâce à opérations, mais de créer et de se positionner pour profiter de nouvelles opportunités de gestion d'emplois. En d’autres termes, les dépenses des nœuds oracle du réseau sont également une déclaration positive sur l'avenir de DeFi et d'autres applications de contrats intelligents domaines ainsi que les applications émergentes non-blockchain des réseaux oracle. Les opérateurs de nœuds gagnent aujourd'hui les frais disponibles sur les réseaux Chainlink existants et simultanément Ceux-ci sont vaguement analogues aux faux avis sur les sites Internet, sauf que le problème est plus simple dans le oracle parce que nous avons un enregistrement définitif indiquant si les marchandises, c'est-à-dire les rapports, ont été commandées et livrés, par opposition aux biens physiques commandés dans les boutiques en ligne, par exemple. Autrement dit, dans le oracle Dans ce contexte, les performances peuvent être validées, même si la véracité du client ne le peut pas.bâtir une réputation, un historique de performance et une expertise opérationnelle qui positionneront avantageusement pour gagner des frais disponibles dans les futurs réseaux (sous réserve, bien sûr, sur un comportement honnête). Les nœuds opérant aujourd'hui dans l'écosystème Chainlink seront dans ce cadre sens d'avoir un avantage sur les nouveaux arrivants en gagnant les frais supplémentaires Chainlink les services deviennent disponibles. Cet avantage s'applique aux nouveaux opérateurs, ainsi qu'aux entreprises technologiques jouissant d'une réputation établie ; par exemple, T-Systems, une société traditionnelle fournisseur de technologie (filiale de Deutsche Telekom) et Kraken, une grande société centralisée échange, ont établi des présences précoces dans l’écosystème Chainlink [28, 143]. Une telle participation des nœuds oracle à des opportunités futures peut être considérée comme elle-même comme une sorte de FFO spéculatif, et constitue ainsi une forme de participation dans le Chainlink réseau. 9.6.3 Réputation externe L'IIF tel que nous l'avons décrit peut fonctionner en réseau avec des acteurs strictement pseudonymes. opérateurs, c’est-à-dire sans divulgation des personnes ou des entités du monde réel impliquées. Toutefois, un facteur potentiellement important dans la sélection des prestataires par les utilisateurs est l’externe. réputation. Par réputation externe, nous entendons la perception de fiabilité attachée aux identités du monde réel, plutôt qu’aux pseudonymes. Risque de réputation lié à les identités du monde réel peuvent être considérées comme une forme d’incitation implicite. Nous considérons la réputation à travers le prisme de l’IIF, c’est-à-dire, dans un sens cryptoéconomique, comme moyen d’établir activité multiplateforme qui peut être intégrée aux estimations des FFO. L’avantage d’utiliser la réputation externe comme facteur dans les estimations des FFO, par opposition au lien pseudonyme, c'est que la réputation externe lie la performance non seulement à un aux activités existantes de l’opérateur, mais également aux activités futures. Si, par exemple, une mauvaise réputation s’attache à un individu, il peut entacher les futures entreprises de cette personne. En d’autres termes, la réputation externe peut capter une part plus large des FFO que les pseudonymes. les dossiers de performance, comme l'impact d'un malversation attaché à une personne ou établi Il est plus difficile d’échapper à une entreprise que celle associée à une opération pseudonyme. Chainlink est compatible avec les technologies d'identité décentralisées (Section 4.3) qui peut fournir un soutien pour l’utilisation de la réputation externe au sein de l’IIF. De telles technologies peut valider et ainsi contribuer à garantir la véracité des affirmations du monde réel affirmées par les opérateurs. identités.19 9.6.4 Ouvrir l'analyse IIF L'IIF, comme nous l'avons noté, vise à fournir des données et des outils open source fiables pour analyses incitatives implicites. L'objectif est de permettre aux prestataires de la communauté développer des analyses adaptées aux besoins d’évaluation des risques des différentes parties du secteur Base d'utilisateurs Chainlink. 19Les identifiants décentralisés peuvent également, si désiré, embellir les pseudonymes avec des informations complémentaires. Par exemple, un opérateur de nœud pourrait en principe utiliser ces informations d'identification pour prouver qu'il s'agit d'une entreprise Fortune 500, sans révéler laquelle.Une quantité considérable de données historiques concernant les revenus et les performances des nœuds réside sur la chaîne sous une forme immuable et de haute confiance. Notre objectif est cependant de fournir le des données les plus complètes possibles, y compris des données sur les comportements visibles uniquement hors chaîne, comme le reporting hors chaîne (OCR) ou l'activité DON. De telles données peuvent potentiellement être volumineux. La meilleure façon de le conserver et d'assurer son intégrité, c'est-à-dire de le protéger des la falsification, nous pensons, se fera avec l'aide de DON, en utilisant les techniques discutées à la section 3.3. Certaines incitations se prêtent à des formes directes de mesure, telles que staking dépôts et FFO de base. D’autres, comme les FFO spéculatifs et la réputation, sont plus difficiles à évaluer. mesurer de manière objective, mais nous pensons que les formes de données de support, y compris croissance historique de l'écosystème Chainlink, mesures de réputation sur les réseaux sociaux, etc., peut prendre en charge les modèles d'analyse IIF même pour ces éléments plus difficiles à quantifier. Nous pouvons imaginer que des DON dédiés apparaissent spécifiquement pour surveiller, valider et enregistrer des données relatives aux enregistrements de performances hors chaîne des nœuds, ainsi que d'autres données utilisées dans l'IIF, telles que les informations d'identité validées. Ces DON peuvent fournir des données IIF uniformes et hautement fiables à tous les fournisseurs d'analyse desservant la communauté Chainlink. Ils fourniront également un record en or qui fait valoir les affirmations des fournisseurs d'analyses. vérifiable de manière indépendante par la communauté. 9.7 Rassembler tout cela : incitations pour les opérateurs de nœuds Synthèse de nos discussions ci-dessus sur les incitations explicites et implicites pour les opérateurs de nœuds fournit une vue globale de la manière dont les opérateurs de nœuds participent et bénéficient de le réseau Chainlink. À titre de guide conceptuel, nous pouvons exprimer le total des actifs en jeu par un Chainlink donné. opérateur de nœud $S sous une forme grossière et stylisée comme : \(S ≈\)D + \(F + \)FS + $R, où : • $D est la somme de toutes les mises explicitement déposées sur tous les réseaux dans lesquels l'opérateur participe ; • $F est la valeur actuelle nette de l'ensemble de tous les FFO sur tous les réseaux du pays. auquel l'opérateur participe ; • $FS est la valeur actuelle nette des FFO spéculatifs de l'opérateur ; et • $R est le capital de réputation de l'opérateur en dehors de l'écosystème Chainlink. qui pourrait être compromis par un mauvais comportement identifié dans ses nœuds oracle. Bien que largement conceptuelle, cette égalité approximative montre utilement qu'il existe une multiplicité de facteurs économiques favorisant les performances de haute fiabilité des nœuds Chainlink. Tous ces facteurs autres que $D sont présents dans les réseaux Chainlink d'aujourd'hui.9.8 Le cycle vertueux de la sécurité économique La combinaison de l'impact super-linéaire staking avec la représentation des paiements de frais car les opportunités de frais futurs (FFO) dans l'IIF peuvent conduire à ce que nous appelons le cercle vertueux de sécurité économique dans un réseau oracle. Cela peut être considéré comme une sorte d’économie d'échelle. À mesure que le montant total garanti par un réseau particulier augmente, le montant de l’enjeu supplémentaire qu’il faut pour ajouter un montant fixe de sécurité économique diminue tout comme le coût moyen par utilisateur. Il est donc moins cher, en termes de frais, pour un utilisateur d’adhérer un réseau déjà existant que d'obtenir la même augmentation de l'économie du réseau sécurité en créant un nouveau réseau. Il est important de noter que l'ajout de chaque nouvel utilisateur réduit le coût du service pour tous les utilisateurs précédents de ce réseau. Étant donné une structure de frais particulière (par exemple un taux de rendement particulier sur le montant misé), si le total des frais perçus par un réseau augmente, cela encourage le flux de revenus supplémentaires. participation dans le réseau pour le sécuriser à un taux plus élevé. Plus précisément, si la mise totale qu'un nœud individuel peut détenir dans le système est plafonné, puis lorsque de nouveaux paiements de frais entrez dans le système en augmentant son FFO, le nombre de nœuds n augmentera. Merci au impact super-linéaire staking de la conception de notre système d'incitation, la sécurité économique de le système augmentera plus vite que n, par exemple comme n2 dans le mécanisme que nous avons esquissé à la section 9.4. En conséquence, le coût moyen de la sécurité économique, c'est-à-dire le montant de la participation un dollar de sécurité économique va chuter. Le réseau peut donc facturer à ses utilisateurs des frais inférieurs. En supposant que la demande de services oracle est élastique (voir, par exemple, [31] pour un bref explication), la demande va augmenter, générant des frais et des FFO supplémentaires. Nous illustrons ce point avec l’exemple suivant. Exemple 5. Depuis la sécurité économique d'un réseau oracle avec notre incitation le programme est \(dn2 for stake \)dn, la sécurité économique apportée par un dollar de mise est n et donc le coût moyen par dollar de sécurité économique, c'est-à-dire le montant de la mise contribuer à un dollar de sécurité économique – est de 1/n. Considérons un réseau dans lequel les incitations économiques sont entièrement constituées de FFO, plafonnées à \(d ≤\)10K par nœud. Supposons que le réseau ait n = 3 nœuds. Alors le coût moyen par dollar de sécurité économique est d’environ 0,33 $. Supposons que le FFO total du réseau dépasse \(30K (e.g., to \)31K). Étant donné le plafond du FFO par nœud, le réseau s'étend jusqu'à (au moins) n = 4. Maintenant, le coût moyen par dollar de sécurité économique tombe à environ 0,25 dollar. Nous illustrons schématiquement le cycle vertueux complet de la sécurité économique dans les réseaux oracle sur la figure 18. Nous soulignons que le cercle vertueux de la sécurité économique découle de l’effet des utilisateurs mutualisant leurs tarifs. C'est leur FFO collectif qui œuvre en faveur d'un plus grand taille des réseaux et donc une plus grande sécurité collective. Nous notons également que le cercle vertueux de la sécurité économique favorise la réalisation de la viabilité financière des DON. Une fois créés, les DON qui répondent aux besoins des utilisateurs devraient se développer jusqu'au point où les revenus provenant des frais dépassent les coûts opérationnels des nœuds oracle.

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

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

Figure 18 : Schéma du cycle vertueux de Chainlink staking. Une hausse des frais d’utilisation les paiements à un réseau oracle 1⃝ provoquent sa croissance, entraînant une croissance de son économie sécurité 2⃝. Cette croissance super-linéaire réalise des économies d'échelle dans les réseaux Chainlink 3⃝. Plus précisément, cela signifie une réduction du coût moyen de la sécurité économique, c'est-à-dire la sécurité économique par dollar découlant du paiement de frais ou d’autres sources de participation augmente. Des coûts inférieurs, répercutés sur les utilisateurs, stimulent une demande accrue de oracle prestations 4⃝. 9.9 Facteurs supplémentaires qui stimulent la croissance du réseau Alors que l'écosystème Chainlink continue de se développer, nous pensons que son attractivité aux utilisateurs et leur importance à mesure que l’infrastructure pour l’économie blockchain va s’accélérer. La valeur fournie par les réseaux oracle est super-linéaire, ce qui signifie qu'elle croît plus rapidementque la taille des réseaux eux-mêmes. Cette croissance de la valeur provient à la fois des économies d’échelle (une plus grande rentabilité par utilisateur à mesure que les volumes de services augmentent) et effets de réseau : augmentation de l'utilité du réseau à mesure que les utilisateurs adoptent plus largement les DON. Alors que les smart contract existants continuent de voir davantage de valeur sécurisée et entièrement nouvelle Les candidatures smart contract sont rendues possibles par des services plus décentralisés, le total l'utilisation et les frais globaux payés aux DON devraient augmenter. Augmentation des pools de frais dans se traduire à son tour par les moyens et les incitations nécessaires pour créer des services encore plus décentralisés, ce qui crée un cercle vertueux. Ce cercle vertueux résout un problème critique de la poule et de l’œuf problème dans l’écosystème hybride smart contract : fonctionnalités innovantes smart contract nécessitent souvent des services décentralisés qui n'existent pas encore (par exemple, de nouveaux marchés DeFi souvent nécessitent de nouveaux flux de données) mais nécessitent une demande économique suffisante pour voir le jour. La mise en commun des frais par divers smart contract pour les DON existants signalera une demande de services décentralisés supplémentaires provenant d'une base d'utilisateurs croissante, donnant lieu à leur création par DONs et une activation continue de smart contract hybrides nouveaux et variés. En résumé, nous pensons que la croissance de la sécurité des réseaux portée par des Les cycles du mécanisme Chainlink staking illustrent des modèles de croissance plus larges qui le réseau Chainlink peut contribuer à créer une économie en chaîne pour la décentralisation prestations.

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

経済学と暗号経済学

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 ネットワークは、分散型のオンチェーン経済を実現するのに役立ちます サービス。

Conclusion

Dans cet article, nous avons présenté une vision de l’évolution de Chainlink. Le thème principal dans cette vision se trouve la capacité des réseaux oracle à fournir une gamme de services beaucoup plus large pour smart contracts que la simple livraison de données. En utilisant les DON comme base pour les services décentralisés du futur, Chainlink visera à fournir des fonctionnalités oracle performantes et à confidentialité améliorée. Ses réseaux oracle offriront une forte minimisation de la confiance grâce à une combinaison de mécanismes cryptoéconomiques fondés sur des principes tels que staking et des garde-corps soigneusement conçus et une application du niveau de service sur les chaînes principales fiables. DONs aidera également les systèmes de couche 2 à appliquer des politiques de commande flexibles et équitables sur les transactions, ainsi qu'à réduire les coûts de gaz pour les transactions acheminées par mempool. Pris ensemble, ces capacités vont toutes dans le sens d’une smart hybride sécurisée et richement fonctionnelle contrats. La flexibilité des DON améliorera les services Chainlink existants et donnera lieu à de nombreuses fonctionnalités et applications smart contract supplémentaires. Parmi ceux-ci sont sans couture connexion à une grande variété de systèmes hors chaîne, création d'identité décentralisée à partir de données existantes, canaux prioritaires pour garantir la livraison en temps opportun des infrastructures critiques transactions et instruments préservant la confidentialité DeFi. La vision que nous présentons ici est ambitieuse. À court terme, nous cherchons à responsabiliser contrats hybrides pour atteindre des objectifs hors de portée des smart contract aujourd'hui, tandis que à long terme, nous visons à réaliser une métacouche décentralisée. Heureusement, nous pouvons dessiner sur de nouveaux outils et idées, allant des algorithmes de consensus à la preuve sans connaissance systèmes – que la communauté développe à la suite d’une recherche en évolution rapide.

De même, nous prévoyons de donner la priorité à la mise en œuvre des idées contenues dans ce document en réponse aux besoins de la communauté d’utilisateurs de Chainlink. Nous attendons avec impatience la prochaine étape dans notre quête pour autonomiser les smart contract grâce à une connectivité universelle et établir les technologies décentralisées comme épine dorsale de la prochaine génération de systèmes financiers mondiaux et les systèmes juridiques. Remerciements Merci à Julian Alterini et Shawn Lee pour le rendu des figures dans cet article.

結論

この文書では、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 に感謝します。