Chainlink: una red Oracle descentralizada

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.

Resumen

En este documento técnico, articulamos una visión para la evolución de Chainlink más allá de su concepción inicial en el documento técnico original Chainlink. prevemos un papel cada vez más amplio para las redes oracle, en el que complementan y mejoran las blockchain existentes y nuevas al proporcionar servicios rápidos, confiables y conectividad universal que preserva la confidencialidad y computación fuera de cadena para smart contracts. La base de nuestro plan es lo que llamamos Redes Oracle Descentralizadas, o DONs para abreviar. Un DON es una red mantenida por un comité de Chainlink nodos. Admite cualquiera de una gama ilimitada de funciones oracle elegidas para despliegue por parte del comité. Un DON actúa así como una poderosa capa de abstracción, ofreciendo interfaces para smart contracts a amplios recursos fuera de la cadena y altamente Recursos informáticos fuera de cadena eficientes pero descentralizados dentro del propio DON. Con DONs como trampolín, Chainlink planea centrarse en avances en siete áreas clave: • smart contracts híbridos: ofrece un marco general potente para aumentar las capacidades smart contract existentes mediante la composición segura en cadena. y recursos informáticos fuera de cadena en lo que llamamos smart contracts híbridos. • Abstraer la complejidad: presentar a los desarrolladores y usuarios soluciones sencillas. La funcionalidad elimina la necesidad de estar familiarizado con complejos subyacentes. protocolos y límites del sistema. • Escalado: garantizar que los servicios oracle alcancen las latencias y rendimientos que exigen los sistemas descentralizados de alto rendimiento. • Confidencialidad: Habilitar sistemas de próxima generación que combinen blockchains' Transparencia innata con nuevas y sólidas protecciones de confidencialidad para datos sensibles. datos. • Orden justo para las transacciones: respaldar la secuenciación de transacciones de maneras que sean justos para los usuarios finales y eviten ataques frontales y de otro tipo por parte de bots y mineros explotadores. • Minimización de la confianza: crear una capa de soporte altamente confiable para smart contracts y otros sistemas dependientes de oracle mediante descentralización, fuerte anclaje en blockchains de alta seguridad, criptográfico técnicas y garantías criptoeconómicas. • Seguridad (criptoeconómica) basada en incentivos: diseñar rigurosamente e implementar mecanismos robustos que garanticen que los nodos en DONs tengan fuertes incentivos económicos para comportarse de manera confiable y correcta, incluso frente a adversarios con buenos recursos. Presentamos innovaciones preliminares y en curso por parte de la comunidad Chainlink en cada una de estas áreas, proporcionando una imagen de la ampliación y cada vez mayor potentes capacidades planificadas para la red 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

Introducción

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

Los oracles de blockchain a menudo se consideran hoy en día servicios descentralizados con un objetivo: para reenviar datos de recursos fuera de la cadena a blockchains. Aunque es un paso corto, desde reenviar datos hasta calcularlos, almacenarlos o transmitirlos bidireccionalmente. Esta observación justifica una noción mucho más amplia de la funcionalidad de oracles. Así también hacer los crecientes requisitos de servicio de smart contracts y cada vez más multifacéticos tecnologías que dependen de redes oracle. En resumen, un oracle puede y necesitará Ser una interfaz de propósito general, bidireccional y habilitada para computación entre sistemas dentro y fuera de la cadena. El papel de los oráculos en el ecosistema blockchain es mejorar el rendimiento, la funcionalidad y la interoperabilidad de smart contracts para que puedan traer nuevos modelos de confianza y transparencia a una multiplicidad de industrias. Esta transformación se producirá mediante el uso ampliado de smart contracts híbridos, que fusionan Las propiedades especiales de blockchains con las capacidades únicas de los sistemas fuera de cadena como oracle redes y, por lo tanto, lograr un alcance y poder mucho mayores que los sistemas en cadena en forma aislada. En este documento técnico, articulamos una visión de lo que llamamos Chainlink 2.0, una evolución de Chainlink más allá de su concepción inicial en el documento técnico original Chainlink [98]. Prevemos un papel cada vez más expansivo para las redes oracle, en el que Complementan y mejoran los blockchain existentes y nuevos al proporcionar conectividad y computación universales rápidas, confiables y que preservan la confidencialidad para híbridos. smart contracts. Creemos que las redes oracle incluso evolucionarán hasta convertirse en servicios públicos. para exportar datos de alta integridad de grado blockchain a sistemas más allá del blockchain ecosistema. Hoy en día, Chainlink nodos administrados por un conjunto diverso de entidades se unen en oracle redes para transmitir datos a smart contracts en lo que se conoce como informes. Podemos ver tales oracle nodos como un comité similar al de un consenso clásico blockchain [72], pero con el objetivo de admitir blockchains existentes, en lugar de proporcionar una funcionalidad independiente. Con funciones aleatorias verificables (VRF) e informes fuera de cadena (OCR), Chainlink ya está evolucionando hacia un marco e infraestructura de propósito general para proporcionar los recursos computacionales que los smart contracts requieren para funcionalidad avanzada. La base de nuestro plan para Chainlink 2.0 es lo que llamamos Oracle descentralizado. Redes, o DONs para abreviar. Desde que introdujimos el término “red oracle” en el documento técnico original Chainlink [98], oracles han desarrollado funcionalidades cada vez más ricas y amplitud de aplicación. En este artículo ofrecemos una nueva definición del término según a nuestra visión futura para el ecosistema Chainlink. En esta vista, un DON es una red mantenido por un comité de Chainlink nodos. Basado en un protocolo de consenso, admite cualquiera de una gama ilimitada de funciones oracle elegidas para su implementación por parte del comité. Por lo tanto, un DON actúa como una capa de abstracción blockchain, proporcionando interfaces a recursos fuera de la cadena tanto para smart contracts como para otros sistemas. También proporciona acceso a recursos informáticos fuera de la cadena altamente eficientes pero descentralizados. En general, a DON admite operaciones en una cadena principal. Su objetivo es permitir un acceso seguro y flexible.híbridos smart contracts, que combinan el cálculo dentro y fuera de la cadena con conexión con recursos externos. Destacamos que incluso con el uso de comités en DONs, el propio Chainlink permanece inherentemente sin permiso. DONs actúan como base de un sistema sin permiso marco en el que los nodos pueden unirse para implementar redes personalizadas oracle con sus propios regímenes para la inclusión de nodos, que pueden tener permiso o no. Con DONs como base, planeamos centrarnos en Chainlink 2.0 en avances en siete áreas clave: smart contracts híbridos, abstracción de la complejidad, escalamiento, confidencialidad, orden justo para las transacciones, minimización de la confianza y seguridad (criptoeconómica) basada en incentivos. En la introducción de este artículo, presentamos una descripción general de la descentralización. Oracle Networks en la Sección 1.1 y luego nuestras siete áreas clave de innovación en la Sección 1.2. Describimos la organización del resto de este artículo en la Sección 1.3. 1.1 Redes Oracle descentralizadas Las redes descentralizadas de Oracle están diseñadas para mejorar y ampliar las capacidades de smart contracts en un objetivo blockchain o cadena principal a través de funciones que son no disponible de forma nativa. Lo hacen proporcionando los tres recursos básicos que se encuentran en Sistemas informáticos: redes, almacenamiento y computación. Un DON tiene como objetivo ofrecer estos recursos con fuertes propiedades de confidencialidad, integridad y disponibilidad,1 como así como la rendición de cuentas. Los DONs están formados por comités de nodos oracle que cooperan para cumplir un objetivo específico. trabajo o elegir establecer una relación duradera para proporcionar servicios persistentes a los clientes. Los DONs están diseñados de forma independiente de blockchain. Prometen servir como una herramienta poderosa y flexible para que los desarrolladores de aplicaciones creen soporte fuera de la cadena para sus smart contracts en cualquier cadena principal compatible. Dos tipos de funcionalidades realizan las capacidades de un DON: ejecutables y adaptadores. Los ejecutables son programas que se ejecutan de forma continua y descentralizada en el DON. Si bien no almacenan directamente activos de la cadena principal, tienen importantes beneficios, incluido un alto rendimiento y la capacidad de realizar operaciones confidenciales. cálculo. Los ejecutables se ejecutan de forma autónoma en un DON y realizan funciones deterministas. operaciones. Trabajan de la mano con adaptadores que vinculan el DON a recursos externos y puede ser llamado mediante ejecutables. Los adaptadores, tal como los imaginamos para DONs, son una generalización de los adaptadores externos en Chainlink hoy. Mientras que los adaptadores existentes normalmente solo recuperan datos de fuentes de datos, los adaptadores pueden funcionar bidireccionalmente; en DONs, también pueden aprovechar el cálculo conjunto de DON nodos para lograr características adicionales, como el cifrado de informes para preservar la privacidad del consumo por parte de un ejecutable. Para dar una idea del funcionamiento básico de un DON, la Fig. 1 muestra conceptualmente cómo DON podría usarse para enviar informes a blockchain y así lograr la funcionalidad tradicional y existente de oracle. DONs puede proporcionar muchas características adicionales, sin embargo, más allá 1La “tríada de la CIA” de la seguridad de la información [123, p. 26, §2.3.5].Redes existentes de Chainlink. Por ejemplo, dentro de la estructura general de la Fig. 1, el ejecutable podría registrar datos de precios de activos obtenidos en el DON, utilizando dichos datos para calcular, por ejemplo, un promedio final para sus informes. Figura 1: Figura conceptual que muestra como ejemplo cómo una red Oracle descentralizada puede realizar la funcionalidad básica oracle, es decir, transmitir datos fuera de la cadena a un contrato. un El ejecutable utiliza adaptadores para obtener datos fuera de la cadena, sobre los cuales calcula y envía la salida. a través de otro adaptador a un objetivo blockchain. (Los adaptadores se inician mediante código en el DON, representado por pequeños cuadros azules; Las flechas muestran la dirección del flujo de datos para este ejemplo particular.) El ejecutable también puede leer y escribir en el DON local almacenamiento para mantener el estado y/o comunicarse con otros ejecutables. Las redes flexibles, la computación y el almacenamiento en DONs, todos representados aquí, permiten una gran cantidad de funciones novedosas. aplicaciones. Un beneficio importante de DONs es su capacidad para iniciar nuevos servicios blockchain. DONs son un vehículo mediante el cual las redes oracle existentes pueden implementar rápidamente aplicaciones de servicio eso hoy requeriría la creación de redes especialmente diseñadas. Damos una serie de ejemplos de tales aplicaciones en la Sección 4. En la Sección 3, proporcionamos más detalles sobre DONs, describiendo sus capacidades en términos de la interfaz que presentan a los desarrolladores y usuarios. 1.2 Siete objetivos clave de diseño Aquí revisamos brevemente los siete enfoques clave enumerados anteriormente para la evolución de Chainlink, a saber:Híbridos smart contracts: Central para nuestra visión de Chainlink es la idea de seguridad combinando componentes dentro y fuera de la cadena en smart contracts. Nos referimos a los contratos hacer realidad esta idea como smart contracts híbridos o contratos híbridos.2 Las cadenas de bloques son y seguirán desempeñando dos funciones fundamentales en el servicio descentralizado. Ecosistemas: ambos son los lugares donde se representa la propiedad de las criptomonedas. y anclajes sólidos para servicios descentralizados. Por lo tanto, los contratos inteligentes deben representarse o ejecutarse en la cadena, pero sus capacidades en la cadena son muy limitadas. puramente El código de contrato en cadena es lento, costoso e insular, incapaz de beneficiarse del mundo real. datos y una variedad de funcionalidades que son inherentemente inalcanzables en la cadena, incluidas varias formas de cálculo confidencial, generación de (pseudo)aleatoriedad segura contra manipulación minera / validator, etc. Para que smart contracts alcancen su máximo potencial, se requieren smart contracts estar diseñado con dos partes: una parte en cadena (que normalmente denotamos por SC) y una parte fuera de la cadena, un ejecutable que se ejecuta en un DON (que normalmente denotamos por ejecutivo). El objetivo es lograr una composición segura de la funcionalidad en cadena con la multiplicidad de servicios fuera de la cadena que los DONs pretenden proporcionar. Juntas, las dos partes conformar un contrato híbrido. Presentamos la idea conceptualmente en la Fig. 2. Ya hoy, Chainlink servicios3, como fuentes de datos y VRF, permiten mejoras que de otro modo serían inalcanzables. smart contract aplicaciones, que van desde DeFi hasta NFTs generadas de manera justa y seguros descentralizados, como primeros pasos hacia un marco más general. Como servicios Chainlink expandirse y crecer en rendimiento de acuerdo con nuestra visión en este documento técnico, también aumentará la potencia de los sistemas smart contract en todos los blockchain. Se puede considerar que nuestros otros seis enfoques clave en este documento técnico actúan en el servicio. del primero, general, de contratos híbridos. Estos enfoques implican eliminar lo visible. complejidad de los contratos híbridos, creando servicios adicionales fuera de la cadena que permiten construcción de contratos híbridos cada vez más capaces y, en el caso de la minimización de la confianza, reforzar las propiedades de seguridad logradas por los contratos híbridos. dejamos la idea de contratos híbridos implícitos en gran parte del documento, pero cualquier combinación de La lógica MAINCHAIN con DON puede verse como un contrato híbrido. Abstrayendo la complejidad: Los DONs están diseñados para hacer uso de sistemas descentralizados. sistemas fáciles para desarrolladores y usuarios al abstraer la maquinaria a menudo compleja detrás de la potente y flexible gama de servicios de DONs. Servicios Chainlink existentes Ya tienes esta característica. Por ejemplo, las fuentes de datos en Chainlink hoy presentan interfaces en cadena que no requieren que los desarrolladores se preocupen por los detalles a nivel de protocolo, como los medios por los cuales OCR impone informes de consenso entre un 2La idea de composición de contratos dentro y fuera de la cadena ha surgido previamente en varios formularios, por ejemplo, sistemas de capa 2, blockchains [80] basados en TEE, etc. Nuestro objetivo es respaldar y generalizar estos enfoques y garantizar que puedan abarcar el acceso a datos fuera de la cadena y otros oracle clave servicios. Los servicios 3Chainlink comprenden una variedad de servicios y funcionalidades descentralizados disponibles a través de la red. Los ofrecen numerosos operadores de nodos compuestos en varias redes oracle en todo el ecosistema.Figura 2: Figura conceptual que representa la composición del contrato dentro y fuera de la cadena. un híbrido smart contract 3⃝consta de dos componentes complementarios: un en cadena componente SC 1⃝, residente en un blockchain, y un componente fuera de la cadena ejecutivo 2⃝que se ejecuta en un DON. El DON también sirve como puente entre los dos componentes. como conectar el contrato híbrido con recursos fuera de la cadena, como servicios web, otros blockchains, almacenamiento descentralizado, etc. conjunto descentralizado de nodos. DONs van un paso más allá en el sentido de que amplían la gama de servicios para los cuales Chainlink puede ofrecer a los desarrolladores una capa de abstracción con interfaces optimizadas que lo acompañan para servicios de alto nivel. Presentamos varios ejemplos de aplicaciones en la Sección 4 que destacan este enfoque. Imaginamos que las empresas, por ejemplo, utilicen DONs como una forma de middleware seguro para conectar sus sistemas heredados a blockchains. (Consulte la Sección 4.2.) Este uso de DON abstrae la complejidad de la dinámica general de blockchain (tarifas, reorganizaciones, etc.). También abstrae las características de blockchains específicos, lo que permite a las empresas conectar sus sistemas existentes a una gama cada vez más amplia de sistemas blockchain sin una necesidad de experiencia especializada en estos sistemas o, más generalmente, en el desarrollo de sistemas descentralizados. En última instancia, nuestra ambición es impulsar el grado de abstracción logrado por Chainlink hasta el punto de implementar lo que llamamos una metacapa descentralizada. tal capa abstraería la distinción dentro y fuera de la cadena para todas las clases de desarrolladores y usuarios de DApps, lo que permite la creación y el uso fluidos de servicios descentralizados.Para simplificar el proceso de desarrollo, los desarrolladores podrían especificar la funcionalidad DApp en la metacapa como una aplicación virtual en un modelo de máquina unificada. ellos podrían luego use un compilador de metacapa descentralizado para crear una instancia de la DApp automáticamente como un conjunto de funcionalidades descentralizadas interoperativas que abarcan blockchains, DONs y servicios externos. (Uno de estos servicios externos podría ser un sistema empresarial, lo que haría que la metacapa fuera útil para aplicaciones que involucran sistemas empresariales heredados). La compilación es similar a cómo los compiladores y kits de desarrollo de software (SDK) modernos Apoyar a los programadores generalistas en el uso de todo el potencial del hardware heterogéneo. arquitecturas que constan de una CPU de uso general y hardware especializado como GPU, aceleradores de aprendizaje automático o enclaves confiables. La figura 3 presenta esta idea a nivel conceptual. Los smart contract híbridos son un primer paso en el camino hacia esta visión y hacia un concepto que llamamos metacontratos. Los metacontratos son aplicaciones codificadas de forma descentralizada. metacapa e implícitamente abarca la lógica dentro de la cadena (smart contracts), así como el cálculo y la conectividad fuera de la cadena entre varios blockchains y fuera de la cadena existentes. servicios. Dada la necesidad de compatibilidad con lenguajes y compiladores, nuevos modelos de seguridad y armonización conceptual y técnica de tecnologías dispares, sin embargo, la realización de una verdadera metacapa descentralizada es un objetivo ambicioso al que aspiramos a largo plazo. horizonte temporal. No obstante, es un modelo ideal útil a tener en cuenta al leer. este documento, que no se detalla aquí, pero es algo en lo que planeamos centrarnos en nuestro trabajo futuro sobre Chainlink. Escalado: Un objetivo de importancia preeminente en nuestros diseños en evolución es permitir que Chainlink red para satisfacer las crecientes necesidades de escala del ecosistema blockchain. Dado que la congestión de la red se está convirtiendo en un problema recurrente en los sistemas sin permiso existentes. blockchains [86], se están utilizando diseños nuevos y de mayor rendimiento blockchain, por ejemplo, [103, 120, 203], así como tecnologías de escalado de capa 2 complementarias, por ejemplo, [5, 12, 121, 141, 169, 186, 187]. Los servicios de Oracle deben lograr latencias y rendimientos que satisfacen las demandas de rendimiento de estos sistemas y al mismo tiempo minimizan las tarifas en cadena (por ejemplo, los costos del gas) tanto para los operadores contratados como para los usuarios comunes. Con DONs, Chainlink La funcionalidad pretende ir más allá y ofrecer un rendimiento lo suficientemente alto para sistemas puramente basados en web. Los DONs obtienen gran parte de su ganancia de rendimiento del uso de protocolos de consenso rápidos, basados en comités o sin permiso, que combinan con los blockchains. ellos apoyan. Esperamos que muchos DONs con diferentes configuraciones se ejecuten en paralelo; Diferentes DApps y usuarios pueden navegar por las compensaciones en las opciones de consenso subyacentes. según los requisitos de su aplicación. DONs pueden verse en efecto como tecnologías de capa 2. Esperamos que entre otros servicios, DONs respaldarán el Transaction Execution Framework (TEF), que facilita la integración eficiente de DONs y, por lo tanto, oracles con otros de alto rendimiento sistemas de capa 2, por ejemplo, rollups, sistemas que agrupan transacciones fuera de la cadena para lograr mejoras de rendimiento. Introducimos el TEF en la Sección 6.

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

Figura 3: Figura conceptual que muestra la realización ideal de una metacapa descentralizada. Para facilidad de desarrollo, un desarrollador especifica una DApp, resaltada en rosa, como una Aplicación en un modelo de máquina unificado. Un compilador de metacapa descentralizado genera automáticamente las funcionalidades de interoperabilidad correspondientes: smart contracts (denotado por SC), lógica (indicada por exec) en DONs, adaptadores que se conectan a servicios externos de destino, etc., como se indica resaltado en amarillo. La figura 4 muestra conceptualmente cómo los DON mejoran el escalado de blockchain (smart contract). concentrando el procesamiento de transacciones y oracle-informes fuera de la cadena, en lugar de en cadena. Este cambio en el lugar principal de cálculo reduce la latencia de las transacciones y tarifas al tiempo que aumenta el rendimiento de las transacciones. Confidencialidad: Las cadenas de bloques brindan una transparencia sin precedentes para los smart contracts y las aplicaciones que realizan. Pero existe una tensión básica entre transparencia y confidencialidad. Hoy, por ejemplo, las transacciones de intercambio descentralizadas de los usuariosFigura 4: Figura conceptual que muestra cómo las redes Oracle descentralizadas mejoran la escalado de smart contracts habilitados para blockchain. Figura A ⃝muestra un oracle convencional arquitectura. Las transacciones se envían directamente al blockchain, al igual que los informes oracle. Por tanto, el blockchain, resaltado en amarillo, es el lugar principal para el procesamiento de transacciones. La Figura B⃝ muestra el uso de DON para respaldar contratos en blockchain. Un DON El ejecutable procesa transacciones junto con datos de sistemas externos y los reenvía. resultados (por ejemplo, transacciones agrupadas o cambios en el estado del contrato resultantes de los efectos de las transacciones) al blockchain. El DON, resaltado en amarillo, es, por tanto, el principal lugar para el procesamiento de transacciones. las acciones se registran en la cadena, lo que facilita el seguimiento del comportamiento del intercambio, pero también hacer públicamente visibles las transacciones financieras de los usuarios. De manera similar, los datos transmitidos a dispositivos inteligentes los contratos permanecen en cadena. Esto hace que dichos datos sean convenientemente auditables, pero actúa como un desincentivo para los proveedores de datos que deseen proporcionar a smart contracts datos confidenciales o datos de propiedad. Creemos que las redes oracle desempeñarán un papel fundamental a la hora de catalizar la próxima generación. sistemas que combinan la transparencia innata de blockchains con nuevas protecciones de confidencialidad. En este artículo, mostramos cómo lo harán utilizando tres enfoques principales: • Adaptadores que preservan la confidencialidad: dos tecnologías con implementación planificada en las redes de Chainlink, DECO [234] y Town Crier [233], habilite los nodos oracle para recuperar datos de sistemas fuera de la cadena de manera que protejan la privacidad y los datos del usuario confidencialidad. Desempeñarán un papel clave en el diseño de adaptadores para DONs. (Consulte la Sección 3.6.2 para obtener detalles sobre estas dos tecnologías). • Cálculo confidencial: los DONs pueden simplemente ocultar sus cálculos a los blockchains que confían. Utilizando computación segura de múltiples partes y/o entornos de ejecución confiables, también es posible una mayor confidencialidad en la que DON nodos computan sobre datos sobre los cuales ellos mismos no tienen visibilidad.

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

• Compatibilidad con sistemas confidenciales de capa 2: el TEF está diseñado para admitir una variedad de sistemas de capa 2, muchos de los cuales utilizan pruebas de conocimiento cero para proporcionar diversas formas de confidencialidad de las transacciones. Analizamos estos enfoques en la Sección 3 (con detalles adicionales en la Sección 6, Apéndice B.1 y Apéndice B.2). La figura 5 presenta una vista conceptual de cómo los datos confidenciales podrían fluir desde fuentes externas a un smart contract mediante adaptadores que preservan la confidencialidad y Cálculo confidencial en un DON. Figura 5: Diagrama conceptual de operaciones de preservación de la confidencialidad en un DON en datos confidenciales (resaltados en amarillo). Datos de origen confidenciales (círculos negros) en la web Los servidores se extraen al DON mediante adaptadores que preservan la confidencialidad (líneas azules con doble flecha). El DON recibe datos derivados (círculos huecos) de estos adaptadores: el resultado de aplicar una función o, por ejemplo, compartir secretos, a la fuente sensible datos. Un ejecutable en DON puede aplicar cálculos confidenciales a datos derivados para construir un informe (doble círculo), que envía a través de un adaptador al blockchain. Creemos que las herramientas poderosas para el manejo de datos confidenciales abrirán todo un gama de aplicaciones. Entre ellos se encuentran las finanzas privadas descentralizadas (y centralizadas), la identidad descentralizada, los préstamos en cadena basados en crédito y sistemas más eficientes y eficientes. protocolos de acreditación y conocimiento del cliente fáciles de usar, como analizamos en la Sección 4. Equidad de orden para transacciones: Los diseños blockchain de hoy tienen un poco de suciedad. Secreto a voces: Están efímeramente centralizados. Los mineros y validators pueden ordenar trans-acciones como ellos elijan. El orden de las transacciones también puede ser manipulado por los usuarios como en función de las tarifas de red que pagan (por ejemplo, precios del gas en Ethereum) y en algunos casos medida aprovechando las rápidas conexiones de red. Tal manipulación puede, por Por ejemplo, tomar la forma de front-running, en el que un actor estratégico como un minero observa la transacción de un usuario e inserta su propia transacción de explotación en una anterior posición en el mismo bloque, robando efectivamente dinero del usuario aprovechando el conocimiento avanzado de la transacción del usuario. Por ejemplo, un bot puede realizar una orden de compra. antes que el de un usuario. Entonces puede aprovechar el aumento del precio de los activos inducido por la comercio del usuario. Algunos bots atacan al frente y perjudican a los usuarios normales, de forma análoga a la alta frecuencia. comercio en Wall Street—ya prevalece y está bien documentado [90], como están relacionados ataques como [159] en ejecución invertida y transacciones automatizadas que imitan [195]. Incluso han surgido recientemente propuestas para sistematizar la explotación de pedidos por parte de los mineros [110]. Las tecnologías de capa 2 como rollups no resuelven el problema, sino que simplemente recentralizan ordenando, poniéndolo en manos de la entidad que crea un rollup. Uno de nuestros objetivos es introducir en Chainlink un servicio llamado Fair Sequencing. Servicios (FSS) [137]. FSS ayuda a los diseñadores smart contract a garantizar pedidos justos para sus transacciones y evitar ataques frontales, posteriores y relacionados a las transacciones de los usuarios, así como otros tipos de transacciones, como la transmisión de informes oracle. FSS permite a DON implementar ideas como la noción rigurosa y temporal de equidad de orden introducida en [144]. Como beneficio incidental, FSS también puede reducir la red de los usuarios. tarifas (por ejemplo, costos de gasolina). Brevemente, en FSS, las transacciones pasan a través de DON, en lugar de propagarse directamente a un destino smart contract. El DON ordena las transacciones y luego las reenvía ellos al contrato. Figura 6: Ejemplo de cómo FSS es benéfico. Figura A ⃝muestra cómo un minero, explotando su poder centralizado para ordenar transacciones, puede intercambiar un par de transacciones: transacción 1⃝ llega antes de 2⃝, pero el minero lo secuencia después de 2⃝. Por el contrario, la Fig. B⃝muestra cómo un DON descentraliza el proceso de pedido entre DON nodos. Si hay quórum de los nodos honestos reciben 1⃝antes de 2⃝, el FSS hace que 1⃝ aparezca antes de 2⃝ en la cadena— evitando el reordenamiento de los mineros adjuntando números de secuencia exigibles por contrato. La Fig. 6 compara la minería estándar con FSS. Muestra cómo en la minería estándar,El proceso de pedido de transacciones está centralizado con el minero y, por lo tanto, sujeto a Manipulación, como reordenar un par de transacciones con respecto a su llegada. veces. Por el contrario, en FSS, el proceso está descentralizado entre DON nodos. Suponiendo Con un quórum de nodos honestos, FSS ayuda a hacer cumplir políticas como el ordenamiento temporal de transacciones, reduciendo las oportunidades de manipulación por parte de mineros y otras entidades. Además, dado que los usuarios no necesitan competir por pedidos preferenciales basados en el precio del gas, pueden pagar precios de gasolina relativamente bajos (mientras que las transacciones del DON se pueden agrupar para ahorrar gasolina). Minimización de confianza: Nuestro objetivo general en el diseño de DONs es facilitar un sistema altamente capa confiable de soporte para smart contracts y otros sistemas oracle dependientes mediante descentralización, herramientas criptográficas y garantías criptoeconómicas. Un DON en sí está descentralizado y los usuarios pueden elegir entre cualquier DON disponible que admite la cadena principal en la que desean operar o generar DONs adicionales con comités de nodos en los que confían. Sin embargo, para algunas aplicaciones, particularmente smart contracts, los usuarios Chainlink pueden favorecer un modelo de confianza que trate la cadena principal respaldada por un DON como más confiable que el DON mismo. Para dichos usuarios, ya tenemos o planeamos incorporar al arquitectura de la red Chainlink una serie de mecanismos que permiten contratos en una cadena principal para fortalecer las garantías de seguridad proporcionadas por DONs, mientras que en el Al mismo tiempo, también se aplican protecciones contra la posibilidad de fuentes de datos corruptas. como los servidores web de los que el DON obtiene datos. Describimos estos mecanismos en la Sección 7. Se dividen en cinco títulos principales: • Autenticación de origen de datos: herramientas que permiten a los proveedores de datos firmar digitalmente sus datos y con ello fortalecer la cadena de custodia entre el origen y el contrato de confianza. • DON informes minoritarios: indicadores emitidos por un subconjunto minoritario de DON nodos que observa mala conducta mayoritaria en el DON. • Barandillas: Lógica en una cadena principal que detecta condiciones anómalas y pausas o detiene la ejecución del contrato (o invoca otras soluciones). • Gobernanza que minimiza la confianza: uso de actualizaciones de publicación gradual para facilitar la inspección comunitaria, así como intervenciones de emergencia descentralizadas para una rápida respuesta a fallas del sistema. • Autenticación de entidades descentralizadas: uso de infraestructura de clave pública (PKI) para identificar entidades en la red Chainlink. La figura 7 presenta un esquema conceptual de nuestros objetivos de minimización de confianza. Seguridad basada en incentivos (criptoeconómica): La descentralización de la generación de informes entre oracle nodos ayuda a garantizar la seguridad incluso cuando algunos nodos están dañados.

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

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

Figura 7: Representación conceptual del objetivo de minimización de confianza de Chainlink, que es minimizar la necesidad de los usuarios de un comportamiento correcto del DON y fuentes de datos como la web servidores. Las luces amarillas en la figura indican loci de minimización de confianza: DON y conjuntos individuales o minoritarios de servidores web. Los puntos destacados en rosa indican los componentes del sistema. que son altamente confiables por supuesto: contratos en el blockchain y una mayoría de servidores web, es decir, servidores web en conjunto. Sin embargo, es igualmente importante garantizar que los nodos tengan un incentivo financiero para comportarse correctamente. Replantear, es decir, exigir a los nodos que proporcionen depósitos de LINK y recortar (confiscar) estos depósitos en caso de mala conducta, jugará un papel clave en Chainlink. Es un diseño de incentivo importante que ya se utiliza en varios blockchains, por ejemplo, [81, 103, 120, 204]. Sin embargo, apostar en Chainlink se ve muy diferente a staking en modo independiente. blockchains. Apostar por blockchains tiene como objetivo evitar ataques al consenso. tiene un Objetivo diferente en Chainlink: garantizar la entrega oportuna de informes oracle correctos. Un sistema staking bien diseñado para una red oracle debería generar ataques como el soborno. no rentable para un adversario, incluso cuando el objetivo es un smart contract con alta valor monetario. En este artículo, presentamos un enfoque general para staking en Chainlink con tres claves innovaciones:1. Un poderoso modelo adversarial que abarque ataques pasados por alto en las enfoques. Un ejemplo es lo que llamamos posible soborno. Esta es una forma de soborno que determina qué nodos reciben sobornos de forma condicional, por ejemplo, ofrece sobornos garantizados por adelantado a los nodos que un mecanismo staking selecciona en aleatorio para roles particulares (como desencadenar la adjudicación de informes). 2. Impacto superlineal staking, lo que significa informalmente que para tener éxito, un adversario debe tener un presupuesto de B$ mayor que los depósitos combinados de todos los oracle nodos. Más precisamente, queremos decir que en función de n, \(B(n) ≫\)dn en un red de n oracle nodos, cada uno con un monto de depósito fijo $d (más formalmente, \(B(n) is asymptotically larger in n than \)dn). La figura 8 ofrece una vista conceptual de esta propiedad. 3. El Marco de Incentivos Implícitos (IIF), un modelo de incentivos que hemos ideado para abarcar incentivos empíricamente mensurables más allá de los staking depositados explícitos fondos, incluidas las oportunidades de tarifas futuras de los nodos. El IIF amplía la noción de participación más allá de los depósitos de nodos explícitos. Figura 8: Diagrama conceptual que representa el escalado superlineal en Chainlink staking. el El soborno $B(n) requerido por un adversario crece más rápido en n que los depósitos combinados. $dn de todos los oracle nodos. Mostramos cómo el impacto IIF y el staking superlineal juntos inducen lo que llamamos un círculo virtuoso de seguridad económica para las redes oracle. Cuando entran nuevos usuarios

el sistema, aumentando las posibles ganancias futuras al ejecutar Chainlink nodos, el El costo marginal de la seguridad económica cae para los usuarios actuales y futuros. En un régimen de demanda elástica, este costo disminuido incentiva a usuarios adicionales a hacer uso de la red, perpetuando continuamente la adopción en un círculo virtuoso continuo. Nota: Si bien este documento técnico describe elementos importantes de nuestra visión para la evolución de Chainlink, es informal e incluye pocos detalles técnicos detallados. planeamos publicar documentos técnicos centrados en características y enfoques adicionales a medida que evolucionan. Además, es importante destacar que muchos elementos de la visión presentada aquí (mejoras de escala, tecnologías de confidencialidad, FSS, etc.) pueden y serán implementado en forma preliminar incluso antes de que los DONs avanzados se conviertan en una característica básica de Chainlink. 1.3 Organización de este documento Presentamos nuestro modelo de seguridad y notación en la Sección 2 y describimos el Descentralizado API de Oracle Network en la Sección 3. En la Sección 4, presentamos una serie de ejemplos de aplicaciones para las cuales DONs proporcionan una plataforma de implementación atractiva. Los lectores pueden Aprenda la mayoría de los conceptos clave del artículo leyendo hasta este punto. El resto del artículo contiene más detalles. Describimos la secuenciación justa Services (FSS) en la Sección 5 y el Marco de Ejecución de Transacciones (TEF) en la Sección 6. Describimos nuestro enfoque para la minimización de la confianza en la Sección 7. Consideramos algunos importantes requisitos de implementación DON, a saber, implementación incremental de funciones, membresía dinámica del libro mayor y responsabilidad en la Sección 8. Finalmente, en la Sección 9, brindamos una descripción general de nuestro enfoque en desarrollo para el diseño de incentivos. Concluimos en la Sección 10. Para ayudar a los lectores que tienen una familiaridad limitada con los conceptos de este documento, proporcione un glosario en el Apéndice A. Presentamos más detalles sobre la interfaz DON y funcionalidad en el Apéndice B y presentar algunos adaptadores de ejemplo en el Apéndice C. En el Apéndice D, describimos una primitiva criptográfica para fuentes de datos de confianza minimizada. autenticación denominada firmas funcionales e introducir una nueva variante denominada firmas funcionales discretizadas. Discutimos algunas consideraciones relacionadas con el comité. selección para DONs en el Apéndice F.

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.

Modelo de seguridad y objetivos

Una red Oracle descentralizada es un sistema distribuido distinto que esperamos que inicialmente ser implementado típicamente, aunque no necesariamente, por un comité protocolo de consenso y ejecutado por un conjunto de nodos oracle. Un DON está diseñado principalmente para aumentar las capacidades de un smart contract en una cadena principal con informes oracle y otros servicios, pero puede proporcionar esos mismos servicios de soporte a otros sistemas que no sean blockchain y, por lo tanto, no necesita estar asociado con una cadena principal en particular.

Por lo tanto, el modelo y las propiedades que consideramos son en gran medida independientes del uso de las aplicaciones particulares de un DON. 2.1 Modelo arquitectónico actual Es importante recalcar que Chainlink hoy no es un servicio monolítico, sino más bien un marco sin permiso dentro del cual es posible lanzar distintos e independientes redes de oracle nodos [77]. Las redes tienen conjuntos heterogéneos de operadores de nodos y diseños. También pueden diferir en términos de los tipos de servicios que brindan, lo que puede incluir, por ejemplo, fuentes de datos, prueba de reservas, aleatoriedad verificable, etc. Otro Las diferencias pueden incluir el grado de descentralización, el tamaño de la red en términos de valor bloqueado que admite y varios parámetros de nivel de servicio, como la frecuencia de datos y precisión. El modelo sin permisos de Chainlink fomenta el crecimiento de un ecosistema en el que Los proveedores se especializan en los servicios que mejor pueden brindar a la comunidad. esto Es probable que un modelo genere menores costos para los usuarios y una mayor calidad de servicio que un modelo que requiere que todos los nodos y redes proporcionen una gama completa de servicios, un enfoque que fácilmente puede derivar en la adopción en todo el sistema de los servicios que representan los menos denominador común de los recursos disponibles para los nodos. A medida que Chainlink evoluciona hacia diseños basados en DON en Chainlink 2.0, continuamos apoyar el modelo de un marco abierto y sin permisos, teniendo en cuenta el objetivo de Proporcionar a los usuarios una gama de opciones de servicios que globalmente resulten en la mejor combinación. con requisitos de aplicación particulares. 2.2 Supuestos de consenso Usamos el término Red Oracle Descentralizada para abarcar la funcionalidad completa de el sistema oracle que describimos: tanto la estructura de datos que mantienen los nodos oracle como la API principal colocada encima. Usamos el término libro mayor (minúscula), denotado por L, para referirnos a los datos subyacentes. estructura mantenida por un DON y utilizada para respaldar los servicios particulares que proporciona. Hacemos hincapié en que nuestro marco DON no trata a L como un sistema independiente como a blockchain: Su propósito es soportar blockchains y otros sistemas. Las cadenas de bloques son, Por supuesto, es una manera de crear un libro de contabilidad confiable, pero hay otras. esperamos DONs en muchos casos para realizar sus libros de contabilidad subyacentes utilizando Byzantine Fault Tolerant (BFT), que son considerablemente anteriores a blockchains como Bitcoin [174]. Usamos Notación de tipo BFT y propiedades en todo el documento para mayor comodidad, aunque enfatice que DONs se pueden realizar utilizando protocolos de consenso sin permiso. Conceptualmente, un libro mayor L es un tablero de anuncios en el que los datos se ordenan linealmente. Generalmente consideramos que un libro mayor tiene algunas propiedades clave comúnmente atribuidas a blockchains [115]. Un libro mayor es: • Sólo anexar: Los datos, una vez agregados, no se pueden eliminar ni modificar.• Público: Cualquiera puede leer su contenido, que es consistente a lo largo del tiempo en el vista de todos los usuarios.4 • Disponible: escritores autorizados siempre pueden escribir en el libro mayor y leerlo por cualquier persona de manera oportuna. Son posibles propiedades alternativas en el libro mayor para un DON cuando se realizan mediante un comité. Por ejemplo, el acceso de escritura al libro mayor podría estar restringido a ciertos usuarios, como puede tener acceso de lectura para algunas aplicaciones, es decir, el libro mayor no necesita ser público como se define arriba. De manera similar, las reglas del libro mayor podrían permitir la modificación o redacción de datos. nosotros no Sin embargo, en este artículo se consideran explícitamente tales variantes. El diseño modular de DONs puede admitir cualquiera de una amplia variedad de BFT modernos. protocolos, por ejemplo, Hotstuff[231]. La elección exacta dependerá de supuestos de confianza y características de la red entre los oracle nodos. En principio, un DON podría alternativamente utilizar un blockchain sin permiso de alto rendimiento para su libro mayor en su función de soporte de un sistema igualmente escalable de capa 2 o blockchain. Asimismo, también es posible la hibridación: En principio, el DON podría estar compuesto por nodos que son validators en un sistema existente. blockchain, por ejemplo, en sistemas de prueba de participación en los que se seleccionan comités para ejecutar transacciones, por ejemplo, [8, 81, 120, 146, 204]. Este modo particular de operación requiere que Los nodos operan de manera de doble uso, es decir, operan como nodos blockchain y DON. nodos. (Ver la Sección 8.2 para una discusión de técnicas para asegurar la continuidad en el cambio comités y el Apéndice F para algunas advertencias sobre la selección aleatoria de comités.) En la práctica, en los algoritmos BFT modernos, los nodos firman digitalmente mensajes en el libro mayor. Por conveniencia, asumimos que L tiene una clave pública asociada pkL y que su contenido están firmados por la clave privada correspondiente. Esta notación general se aplica incluso cuando los datos en L se firman usando firmas de umbral.5 Las firmas de umbral son convenientes, ya que permiten una identidad persistente para un DON incluso con cambios de membresía en los nodos que lo ejecutan. (Ver Apéndice B.1.3.) Por lo tanto, asumimos que skL tiene un secreto compartido. en forma de umbral (k, n) para algún parámetro de seguridad k, por ejemplo, k = 2f + 1 y n = 3f + 1, donde f es el número de nodos potencialmente defectuosos. (Al elegir k en este De esta manera, nos aseguramos de que los nodos defectuosos no puedan aprender skL ni montar una denegación de servicio. ataque impidiendo su uso.) Un mensaje en L toma la forma M = (m, z), donde m es una cadena y z un mensaje único. número de índice secuencial. Cuando corresponda, escribimos mensajes en la forma m = ⟨Tipo de mensaje: carga útil⟩. El tipo de mensaje MessageType es azúcar sintáctico que indica la función de un mensaje en particular. 4En los casos en los que un blockchain sin carácter definitivo realiza un libro mayor, la inconsistencia generalmente se abstrae lejos ignorando los bloques insuficientemente profundos o “podando” [115]. 5En la práctica, algunas bases de código, por ejemplo, LibraBFT [205], una variante de Hotstuff, han adoptado actualmente firmas múltiples, en lugar de firmas de umbral, el intercambio ofrecía una complejidad de comunicación reducida para Ingeniería más sencilla. Con algún costo adicional, los nodos oracle pueden agregar firmas de umbral a los mensajes escritos para L incluso si el protocolo de consenso utilizado para L no los emplea.2.3 Notación Denotamos el conjunto de n oracle nodos que ejecutan el libro mayor como O = {Oi}n yo=1. tal Un conjunto de nodos a menudo se denomina comité. Por simplicidad, suponemos que el conjunto de oracles que implementa la funcionalidad DON, es decir, servicios encima de L, es idéntico a que manteniendo L, pero pueden ser distintos. Dejamos que pki denote la clave pública de jugador Oi, y esquiar la clave privada correspondiente. La mayoría de los algoritmos BFT requieren al menos n = 3f + 1 nodos, donde f es el número de nodos potencialmente defectuosos; Los nodos restantes son honestos, en el sentido de que siguen el protocolo exactamente como se especifica. Nos referimos al comité O como honesto si cumple con esto requisito, es decir, tiene más de 2/3 de fracción de nodos honestos. A menos que se haga lo contrario Dicho esto, asumimos que O es honesto (y un modelo estático de corrupción). Usamos pkO / skO indistintamente con pkL/skL, según el contexto. Sea σ = Sigpk[m] una firma en el mensaje m con respecto a pk, es decir, usando clave privada correspondiente sk. Dejemos que verificar(pk, σ, m) →{falso, verdadero} denote un algoritmo de verificación de firma correspondiente. (Dejamos la generación de claves implícita en todo el artículo). Usamos la notación S para indicar una fuente de datos y S para indicar el conjunto completo de nS fuentes en un contexto determinado. Denotamos por MAINCHAIN un contrato inteligente habilitado blockchain apoyado por un DON. Usamos el término contrato de confianza para denotar cualquier contrato en MAINCHAIN que se comunica con un DON, y usa la notación SC para denotar tal contrato. Generalmente asumimos que un DON admite una única cadena principal MAINCHAIN, aunque puede admitir varias cadenas de este tipo, como mostramos en los ejemplos de la Sección 4. DON puede y normalmente admitirá múltiples contratos dependientes de MAINCHAIN. (como Como se indicó anteriormente, un DON también puede admitir servicios que no sean blockchain). 2.4 Nota sobre los modelos de confianza Como se señaló anteriormente, los DONs pueden construirse sobre protocolos de consenso basados en comités, y nosotros Se espera que utilicen habitualmente dichos protocolos. Hay muchos argumentos sólidos que una de las dos alternativas, basada en comité o sin permiso blockchains, proporciona mayor seguridad que el otro. Es importante reconocer que la seguridad de las empresas basadas en comités versus las no autorizadas Los sistemas descentralizados son inconmensurables. Comprometer un PoW o un PoS blockchain vía ataque del 51% requiere que un adversario obtenga la mayoría de los recursos de manera efímera y potencialmente de forma anónima, por ejemplo alquilando hash energía en un sistema PoW. tal En la práctica, los ataques ya han afectado a varios blockchains [200, 34]. En contraste, comprometer un sistema basado en comités significa corromper un número umbral (normalmente un tercio) de sus nodos, donde los nodos pueden ser conocidos públicamente, tener buenos recursos, y entidades confiables. Por otro lado, los sistemas basados en comités (así como los sistemas “híbridos” sin permiso) sistemas que apoyan a los comités) pueden soportar más funcionalidades que las estrictamenteSistemas sin misión. Esto incluye la capacidad de mantener secretos persistentes, como Claves de firma y/o cifrado: una posibilidad en nuestros diseños. Destacamos que, en principio, los DONs pueden construirse sobre un comité o protocolo de consenso sin permiso y los implementadores DON pueden, en última instancia, optar por adoptar cualquiera de los dos enfoques. Reforzar los modelos de confianza: Una característica clave de Chainlink hoy es la capacidad de los usuarios de seleccionar nodos basándose en registros descentralizados de sus historiales de rendimiento, como se analizó en la Sección 3.6.4. El mecanismo staking y el marco de incentivos implícitos que presentamos en la Sección 9 juntos constituyen un diseño de mecanismo riguroso y de amplio alcance. marco que brindará a los usuarios una capacidad enormemente ampliada para medir la seguridad de DONs. Este mismo marco también hará posible que los propios DONs para hacer cumplir diversos requisitos de seguridad en los nodos participantes y garantizar el funcionamiento dentro de modelos de confianza sólidos. También es posible utilizar las herramientas descritas en este documento para DONs para hacer cumplir requisitos especiales del modelo de confianza, como el cumplimiento de requisitos reglamentarios. Para Por ejemplo, utilizando las técnicas analizadas en la Sección 4.3, los nodos pueden presentar evidencia de características del operador de nodo, por ejemplo, territorio de operación, que pueden usarse para ayudar hacer cumplir, por ejemplo, el artículo 3 del Reglamento General de Protección de Datos (GDPR) (“Ámbito Territorial”) [105]. De lo contrario, dicho cumplimiento puede ser difícil de lograr. reunirse en sistemas descentralizados [45]. Además, en la Sección 7 analizamos los planes para fortalecer la solidez de DONs a través de mecanismos de minimización de confianza en las principales cadenas que soportan.

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.

Interfaz de red Oracle descentralizada y Ca-

pabilidades Aquí esbozamos brevemente las capacidades de DONs en términos del simple pero poderoso interfaz para la que están diseñados. Las aplicaciones en un DON se componen de ejecutables y adaptadores. Un ejecutable es un programa cuya lógica central es un programa determinista, análogo a un smart contract. Un ejecutable también tiene varios iniciadores que lo acompañan, programas que llaman a la entrada puntos en la lógica del ejecutable cuando ocurren eventos predeterminados, por ejemplo, en ciertos momentos (como un trabajo cron), cuando un precio cruza un umbral, etc., muy parecido a Keepers (consulte la Sección 3.6.3). Los adaptadores proporcionan interfaces a recursos fuera de la cadena y pueden ser llamados por ya sea los iniciadores o la lógica central en los ejecutables. Como su comportamiento puede depender de eso de recursos externos, los iniciadores y adaptadores pueden comportarse de forma no determinista. Describimos la interfaz de desarrollador DON y el funcionamiento de los ejecutables y adaptadores en términos de los tres recursos que normalmente se utilizan para caracterizar los sistemas informáticos: redes, computación y almacenamiento. Damos una breve descripción de cada uno de estos recursos a continuación y proporcione más detalles en el Apéndice B.

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

3.1 Redes Los adaptadores son interfaces a través de las cuales los ejecutables que se ejecutan en un DON pueden enviar y recibir datos de sistemas fuera de DON. Los adaptadores pueden verse como una generalización de los adaptadores utilizados en Chainlink hoy [20]. Los adaptadores pueden ser bidireccionales, es decir, no puede simplemente extraer, sino enviar datos desde un DON a un servidor web. También pueden aprovechar protocolos distribuidos, así como funcionalidad criptográfica, como seguridad multipartita cálculo. Figura 9: Adaptadores que conectan un DON, denominado DON1, con una variedad de recursos diferentes, incluido otro DON, denominado DON2, un blockchain (cadena principal) y su mempool, almacenamiento externo, un servidor web y dispositivos IoT (a través de un servidor web). Se muestran ejemplos de recursos externos para los que se pueden crear adaptadores. en la Fig. 9. Incluyen: • Blockchains: un adaptador puede definir cómo enviar transacciones a un blockchain y cómo leer bloques, transacciones individuales u otro estado del mismo. un adaptador También se puede definir para un mempool de blockchain. (Ver Sección 3.5.) • Servidores web: los adaptadores pueden definir API a través de las cuales se pueden recuperar datos. desde servidores web, incluidos sistemas heredados que no están especialmente adaptados para interactuando con DONs. Dichos adaptadores también pueden incluir API para enviar datos a dichos servidores. Los servidores web a los que se conecta un DON pueden servir como puertas de enlace a recursos adicionales, como dispositivos de Internet de las cosas (IoT).• Almacenamiento externo: un adaptador puede definir métodos para leer y escribir en el almacenamiento. servicios fuera del DON, como un sistema de archivos descentralizado [40, 188] o nube almacenamiento. • Otros DONs: los adaptadores pueden recuperar y transmitir datos entre DONs. Esperamos que las implementaciones iniciales de DON incluyan un conjunto de componentes básicos adaptadores para recursos externos de uso común y permitirá además DON-específicos Los adaptadores serán publicados por DON nodos. Mientras los desarrolladores smart contract escriben adaptadores hoy, esperamos que construyan adaptadores aún más potentes utilizando este avanzado funcionalidad. Esperamos que, en última instancia, los usuarios puedan crear nuevos adaptadores en un manera sin permiso. Algunos adaptadores deben construirse de manera que garanticen la persistencia y disponibilidad de recursos externos controlados por un DON. Por ejemplo, el almacenamiento en la nube puede requieren el mantenimiento de una cuenta de servicios en la nube. Además, un DON puede realizar gestión descentralizada de claves privadas en nombre de los usuarios (como en, por ejemplo, [160]) y/o ejecutables. En consecuencia, el DON es capaz de controlar recursos, como criptomonedas, que pueden usarse, por ejemplo, para enviar transacciones en un objetivo blockchain. Consulte el Apéndice B.1 para obtener más detalles sobre los adaptadores DON, así como el Apéndice C para algunos Adaptadores de ejemplo. 3.2 Computación Un ejecutable es la unidad básica de código en un DON. Un ejecutable es un par exec = (lógica, inicio). Aquí, la lógica es un programa determinista con un número de entradas designadas. puntos (logic1, logic2, . . . , logicℓ) e init es un conjunto de iniciadores correspondientes (init1, init2, . . . , inicio). Para garantizar la total auditabilidad del DON, la lógica de un ejecutable utiliza el libro mayor subyacente L para todas las entradas y salidas. Así, por ejemplo, cualquier adaptador Los datos que sirven como entrada para un ejecutable deben almacenarse primero en L. Iniciadores: Los iniciadores en Chainlink hoy provocan ejecuciones de trabajos dependientes de eventos en Chainlink nodos [21]. Los iniciadores en DONs funcionan de manera muy similar. Sin embargo, un iniciador DON está específicamente asociado con un ejecutable. Un iniciador puede depender en un evento o estado externo, en la hora actual o en un predicado en el estado DON. Al depender de los acontecimientos, los iniciadores pueden, por supuesto, comportarse de forma no determinista. (al igual que, por supuesto, los adaptadores). Un iniciador puede ejecutarse dentro de nodos DON individuales y por lo tanto no es necesario depender de un adaptador. (Consulte el Ejemplo 1 a continuación). Los iniciadores son una característica importante que distingue los ejecutables de los smart contracts. Debido a que un ejecutable puede ejecutarse en respuesta a un iniciador, puede operar efectivamente de forma autónoma, como por supuesto, por extensión, un contrato híbrido que incorpore el ejecutable. Una forma de iniciadores hoy en día son los Chainlink Keepers, que proporcionan transaccionesservicios de automatización, que desencadenan la ejecución de smart contract, como la liquidación de préstamos con garantía insuficiente y la ejecución de operaciones de órdenes limitadas, según informes oracle. Convenientemente, los iniciadores en DONs también pueden verse como una forma de especificar el acuerdos de servicio que se aplican a un ejecutable, ya que definen las circunstancias bajo que el DON debe llamarlo. El siguiente ejemplo ilustra cómo funcionan los iniciadores dentro de un ejecutable: Ejemplo 1 (alimentación de precios activada por desviación). Un smart contract SC puede requerir nueva datos de alimentación de precios (ver Sección 3.6.3) siempre que haya un cambio sustancial, por ejemplo, 1%, en el tipo de cambio entre un par de activos, por ejemplo, ETH-USD. Precio sensible a la volatilidad Los feeds son compatibles con Chainlink hoy, pero es instructivo ver cómo se pueden realizado en un DON mediante un ejecutable execfeed. El ejecutable execfeed mantiene el precio r ETH-USD más reciente en L, en el forma de una secuencia de ⟨NuevoPrecio: j, r⟩entradas, donde j es un índice incrementado con cada actualización de precios. Un iniciador init1 hace que cada nodo Oi monitoree el precio actual de ETH-USD durante desviaciones de al menos el 1% del precio r almacenado más recientemente con índice j. sobre detección de tal desviación, Oi escribe su vista actual ri del nuevo precio en L usando una entrada del formulario ⟨PriceView: i, j + 1, ri⟩. Un segundo iniciador init2 se activa cuando al menos k entradas de PriceView con nuevo precio Los valores para el índice j + 1 creados por distintos nodos se han acumulado en L. Entonces, init2 invoca una lógica de punto de entrada2 para calcular la mediana ρ de los primeros k valores nuevos y válidos de vista de precios y escribe un valor nuevo ⟨NuevoPrecio: j + 1, ρ⟩to L. (Operacionalmente, nodos pueden turnarse como escritores designados.) Un tercer iniciador init3 busca entradas de NewPrice en L. Cada vez que aparece un nuevo informe ⟨NewPrice: j, r⟩ aparece allí, invoca una lógica de punto de entrada3 que empuja (j, r) a SC usando un adaptador. Como hemos señalado, un ejecutable es similar en sus capacidades a un smart contract. Sin embargo, aparte de su mayor rendimiento, se diferencia de un contrato típico de cadena principal. de dos maneras esenciales: 1. Confidencialidad: un ejecutable puede realizar cálculos confidenciales, es decir, un programa secreto puede procesar entradas de texto sin cifrar o un programa publicado puede procesar datos de entrada secretos, o una combinación de ambos. En un modelo simple, los datos secretos pueden ser accedido por DON nodos, que ocultan resultados intermedios y revelan solo valores procesados y desinfectados a MAINCHAIN. También es posible ocultar datos confidenciales de los propios DON: los DON están destinados a respaldar enfoques como como computación multipartita, por ejemplo, [42, 157], y entornos de ejecución confiables (TEE) [84, 133, 152, 229] para este propósito.6 6Por extensión, también es posible mantener los ejecutables en secreto con respecto a los nodos DON. aunque esto sólo es práctico hoy en día para ejecutables no triviales que utilizan TEE.2. Función de soporte: un ejecutable está destinado a admitir smart contracts en un servidor principal. cadena, en lugar de reemplazarlos. Un ejecutable tiene varias limitaciones que un smart contract no: (a) Modelo de confianza: un ejecutable opera dentro del modelo de confianza definido por el DON: Su correcta ejecución depende del comportamiento honesto de O. (Un punto principal cadena puede, sin embargo, proporcionar algunas barreras contra DON malas prácticas, como discutido en la Sección 7.3.) (b) Acceso a activos: un DON puede controlar una cuenta en un blockchain y, por lo tanto, controlar los activos en él a través de un adaptador. Pero un DON no puede tener autoridad representan activos creados en una cadena principal, por ejemplo, Ether o ERC20 tokens, ya que su cadena nativa mantiene el registro autorizado de su propiedad. (c) Ciclo de vida: DONs pueden dejarse de lado intencionalmente con una vida útil limitada, ya que definido por acuerdos de nivel de servicio en cadena entre DONs y los propietarios de contratos de confianza. Las cadenas de bloques, por el contrario, están destinadas a funcionar como sistemas de archivos permanentes. Consulte el Apéndice B.2 para obtener más detalles sobre el cálculo DON. 3.3 Almacenamiento Como sistema basado en comités, un DON puede almacenar cantidades moderadas de datos de forma persistente en L a un costo mucho menor que un blockchain sin permiso. Además, a través de adaptadores, DONs pueden hacer referencia a sistemas descentralizados externos para almacenamiento de datos, por ejemplo, Filecoin [85], y de ese modo puede conectar dichos sistemas a smart contracts. Esta opción es particularmente atractivo para los datos masivos como medio para abordar el problema generalizado de la "inflación" en blockchain sistemas. Por lo tanto, los DONs pueden almacenar datos local o externamente para utilizarlos en sus servicios específicamente admitidos. Un DON también puede hacer uso de dichos datos de forma confidencial, informática sobre datos que: (1) se comparten en secreto entre DON nodos o se cifran bajo una clave administrada por DON nodos de manera adecuada para un cálculo multipartito seguro o cifrado parcial o totalmente homomórfico; o (2) protegido mediante una ejecución confiable ambiente. Esperamos que DONs adopte un modelo simple de administración de memoria común a Sistemas de contrato inteligente: un ejecutable solo puede escribir en su propia memoria. Ejecutables Sin embargo, puede leer de la memoria de otros ejecutables. Consulte el Apéndice B.3 para obtener más detalles sobre el almacenamiento de DON. 3.4 Marco de ejecución de transacciones (TEF) Los DONs están destinados a respaldar contratos en una cadena principal MAINCHAIN (o en múltiples cadenas principales). El Marco de Ejecución de Transacciones (TEF), discutido en detalleen la Sección 6, es un enfoque de propósito general para la ejecución eficiente de un contrato SC en MAINCHAIN y un DON. El TEF está destinado a soportar FSS y capa 2. tecnologías—simultáneamente, si así lo desea. De hecho, es probable que sirva como vehículo principal para el uso de FSS (y por esa razón, no analizamos más FSS en esta sección). Brevemente, en TEF un contrato objetivo original SC diseñado o desarrollado para MAINCHAIN se refactoriza en un contrato híbrido. Esta refactorización produce los dos interoperativos Partes del contrato híbrido: un contrato MAINCHAIN SCa al que nos referimos para mayor claridad. en el contexto de los TEF como contrato ancla y ejecutivos ejecutables en un DON. el El contrato SCa custodia los activos de los usuarios, ejecuta transiciones de estado autorizadas y también proporciona barandillas (consulte la Sección 7.3) contra fallas en el DON. Los ejecutivos ejecutables secuencia transacciones y proporciona datos oracle asociados para ellas. Puede agruparse transacciones para SCa de varias maneras, por ejemplo, utilizando pruebas basadas en validez o rollups optimistas, ejecución confidencial por parte del DON, etc. Esperamos desarrollar herramientas que faciliten a los desarrolladores la partición de un contrato. SC escrito en un lenguaje de alto nivel en piezas de lógica MAINCHAIN y DON, SCa y ejecutivos respectivamente, que componen de forma segura y eficiente. Uso de TEF para integrar esquemas de transacciones de alto rendimiento con sistemas de alto rendimiento oracles es parte integral de nuestro enfoque de escalamiento oracle. 3.5 Servicios de Mempool Una característica importante de la capa de aplicación que pretendemos implementar en DONs como soporte de FSS y TEF son Mempool Services (MS). MS puede verse como un adaptador, pero uno con soporte de primera clase. MS proporciona soporte para el procesamiento de transacciones compatibles con legados. En este uso, MS ingiere del mempool de una cadena principal aquellas transacciones destinadas a un contrato objetivo SC en CADENA PRINCIPAL. Luego, MS pasa estas transacciones a un ejecutable en el DON, donde se procesan de la forma deseada. Los datos de MS pueden ser utilizados por DON para componer transacciones que luego se pueden pasar directamente a SC desde el DON o a otro contrato que llama SC. Por ejemplo, el DON puede reenviar transacciones recolectado a través de MS, o puede usar datos de MS para establecer los precios del gas para las transacciones que envía a CADENA PRINCIPAL. Debido a que monitorea el mempool, MS puede obtener transacciones de los usuarios que interactúan directamente con SC. De esta manera los usuarios podrán continuar generando sus transacciones usando software heredado, es decir, aplicaciones que desconocen la existencia de MS y configuraciones de MS. contratos. (En este caso, se debe cambiar SC para ignorar las transacciones originales y aceptar sólo aquellos procesados por el MS, para evitar el doble procesamiento.) Para su uso con un SC de contrato objetivo, MS puede usarse con FSS y/o TEF.3.6 Pasos a seguir: capacidades Chainlink existentes 3.6.1 Informes fuera de cadena (OCR) Los informes fuera de la cadena (OCR) [60] son un mecanismo en Chainlink para la agregación y transmisión de informes oracle a un SC de contrato de confianza. Implementado recientemente por el precio Chainlink redes de alimentación, representa un primer paso en el camino hacia DONs completos. En esencia, OCR es un protocolo BFT diseñado para funcionar de forma parcialmente sincrónica. red. Garantiza vivacidad y corrección en presencia de f < n/3 arbitrariamente nodos defectuosos, lo que garantiza las propiedades de la transmisión confiable bizantina, pero no es un protocolo de consenso completo BFT. Los nodos no mantienen registros de mensajes que sean consistente en el sentido de representar un libro mayor que es idéntico en todas sus vistas, y el líder del protocolo puede equivocarse sin violar la seguridad. Actualmente, el OCR está diseñado para un tipo de mensaje particular: agregación medianizada de (al menos 2f +1) valores informados por los nodos participantes. Proporciona una garantía clave sobre los informes que genera para SC, llamados informes atestiguados: El valor mediano en un informe atestiguado El informe es igual o se encuentra entre los valores informados por dos nodos honestos. Esta propiedad es la condición clave de seguridad para OCR. El líder puede tener alguna influencia en la mediana. valor en un informe certificado, pero sólo sujeto a esta condición de exactitud. OCR puede extenderse a tipos de mensajes que agregan valores de diferentes maneras. Si bien los objetivos actuales de vida y corrección de la red Chainlink no requieren Para que OCR sea un protocolo de consenso completo, requieren que OCR proporcione algunas formas adicionales de funcionalidad que no están presentes en los protocolos BFT convencionales, en particular: 1. Difusión de informes fuera de cadena de todo o nada: el OCR garantiza que un informe verificado se pone rápidamente a disposición de todos los nodos honestos o de ninguno de ellos. Esto es una justicia propiedad que ayuda a garantizar que los nodos honestos tengan la oportunidad de participar en transmisión de informe certificada. 2. Transmisión confiable: OCR garantiza, incluso en presencia de errores o maliciosos nodos, que todos los informes y mensajes de OCR se transmiten al SC dentro de un cierto, intervalo de tiempo predefinido. Esta es una propiedad de vida. 3. Minimización de la confianza basada en contratos: SC filtra informes generados por OCR potencialmente erróneos, por ejemplo, si sus valores informados se desvían significativamente de otros. los recibidos recientemente. Esta es una forma de aplicación de la corrección extraprotocolo. Estas tres propiedades desempeñarán un papel natural en DONs. La transmisión de todo o nada fuera de la cadena (DON) es un componente importante para las garantías criptoeconómicas en torno a una transmisión confiable, que a su vez es una propiedad esencial del adaptador. confianza La minimización en SC es un tipo de barandilla, como se analiza en la Sección 7.3. OCR también proporciona una base para la implementación operativa y el refinamiento de los protocolos BFT en las redes oracle de Chainlink y, por lo tanto, como se señaló anteriormente, un camino hacia la implementación completa. funcionalidad de DONs.3.6.2 DECO y Pregonero DECO [234] y Town Pregonero [233] son un par de tecnologías relacionadas que actualmente se están desarrollado en redes Chainlink. La mayoría de los servidores web actuales permiten a los usuarios conectarse a través de un canal seguro utilizando un protocolo. llamado Seguridad de la capa de transporte (TLS) [94]. (HTTPS indica una variante de HTTP que está habilitado con TLS, es decir, las URL con el prefijo “https” indican el uso de TLS por motivos de seguridad). Sin embargo, la mayoría de los servidores habilitados para TLS tienen una limitación notable: no firman digitalmente. datos. En consecuencia, un usuario o Prover no puede presentar los datos que recibe de un servidor. a un tercero o Verificador, como oracle o smart contract, de una manera que garantice la autenticidad de los datos. Incluso si un servidor firmara datos digitalmente, seguiría existiendo un problema de confidencialidad. Un Prover puede desear redactar o modificar datos confidenciales antes de presentarlos a un Verificador. Sin embargo, las firmas digitales están diseñadas específicamente para invalidar datos modificados. De este modo impiden que un demostrador realice modificaciones que preserven la confidencialidad. a los datos. (Consulte la Sección 7.1 para obtener más información). DECO y Town Crier están diseñados para permitir que un probador obtenga datos de una red servidor y presentarlo a un Verificador de una manera que garantice su integridad y confidencialidad. Los dos sistemas preservan la integridad en el sentido de que garantizan que los datos presentados por El Prover to the Verifier se origina auténticamente en el servidor de destino. ellos apoyan confidencialidad en el sentido de permitir al Prover redactar o modificar datos (mientras aún preservar la integridad). Una característica clave de ambos sistemas es que no requieren ninguna modificación en un servidor web de destino. Pueden operar con cualquier servidor habilitado para TLS existente. De hecho, son transparentes para el servidor: Desde el punto de vista del servidor, el Probador es estableciendo una conexión ordinaria. Los dos sistemas tienen objetivos similares, pero difieren en sus modelos de confianza e implementaciones, como ahora explicamos brevemente. DECO hace uso fundamental de protocolos criptográficos para lograr su integridad y propiedades de confidencialidad. Mientras establece una sesión con un servidor de destino utilizando DECO, el Prover participa al mismo tiempo en un protocolo interactivo con el Verificador. Este protocolo permite al probador demostrarle al verificador que ha recibido un dato determinado D del servidor durante su sesión actual. El probador puede alternativamente presentar al verificador una prueba de conocimiento cero de alguna propiedad de D y por lo tanto no revelar D directamente. En un uso típico de DECO, un usuario o un solo nodo puede exportar datos D desde un privado sesión con un servidor web a todos los nodos en un DON. Como resultado, el DON completo puede dar fe de la autenticidad de D (o de un hecho derivado de D mediante una prueba de conocimiento cero). Además de las aplicaciones de ejemplo que se dan más adelante en este documento, esta capacidad se puede utilizado para amplificar el acceso de alta integridad a una fuente de datos por parte de un DON. Incluso si solo hay un nodo tiene acceso directo a una fuente de datos, debido, por ejemplo, a un acuerdo exclusivo con un proveedor de datos: sigue siendo posible que todo el DON dé fe de la exactitud deinformes emitidos por ese nodo. Town Crier se basa en el uso de un entorno de ejecución confiable (TEE) como Intel SGX. Brevemente, un TEE funciona como una especie de caja negra que ejecuta aplicaciones en un de forma confidencial y a prueba de manipulaciones. En principio, incluso el propietario del host en el que el TEE en ejecución no puede (de manera indetectable) alterar una aplicación protegida por TEE ni ver el estado de la aplicación, que puede incluir datos secretos. Town Crier puede lograr todas las funciones de DECO y más. DECO obliga al Prover a interactuar con un único Verificador. Por el contrario, Town Crier permite un Prover para generar una prueba verificable públicamente sobre los datos D obtenidos de un servidor de destino, es decir, una prueba que cualquiera, incluso un smart contract, puede verificar directamente. El pregonero puede también ingiere y utiliza secretos de forma segura (por ejemplo, credenciales de usuario). La principal limitación de Town Crier es su dependencia de TEE. Los TEE de producción tienen Recientemente se ha demostrado que tiene una serie de vulnerabilidades graves, aunque la tecnología está en su infancia y sin duda madurará. Consulte los Apéndices B.2.1 y B.2.2 para discusión adicional sobre los TEE. Para ver algunos ejemplos de aplicaciones de DECO y Town Crier, consulte las Secciones 4.3, 4.5. y 9.4.3 y Apéndice C.1. 3.6.3 Servicios existentes en cadena Chainlink Las redes Chainlink oracle proporcionan una serie de servicios principales en una multiplicidad de blockchains y otros sistemas descentralizados en la actualidad. Mayor evolución como se describe en este documento técnico dotará a estos servicios existentes de capacidades adicionales y alcance. Tres ejemplos son: Fuentes de datos: Hoy en día, la mayoría de los usuarios de Chainlink que dependen de smart contracts hacen uso de fuentes de datos. Estos son informes sobre el valor actual de datos clave según a fuentes autorizadas fuera de la cadena. Por ejemplo, los feeds de precios son feeds que informan de los precios. de activos (criptomonedas, materias primas, divisas, índices, acciones, etc.) según intercambios o servicios de agregación de datos. Hoy en día, estos feeds ya ayudan a asegurar miles de millones de dólares en valor en cadena a través de su uso en sistemas DeFi como Aave [147] y Síntesis [208]. Otros ejemplos de fuentes de datos Chainlink incluyen datos meteorológicos para seguro de cultivos paramétrico [75] y datos electorales [93], entre muchos otros. La implementación de DONs y otras tecnologías descritas en este documento mejorará el suministro de fuentes de datos en las redes Chainlink de muchas maneras, incluyendo: • Escalamiento: OCR y posteriormente DONs tienen como objetivo permitir que los servicios Chainlink escale dramáticamente en los muchos blockchains que apoyan. Por ejemplo, esperamos que DONs ayudarán a aumentar la cantidad de fuentes de datos proporcionadas por los nodos que utilizan Chainlink de 100 a 1000 y más. Esta escala ayudará al Chainlink El ecosistema logra su objetivo de proporcionar datos relevantes para smart contracts de manera integral y satisfacer y anticipar las necesidades existentes y futuras.• Seguridad mejorada: al almacenar informes intermedios, DONs conservarán los registros de comportamientos de nodos para monitoreo y medición de alta fidelidad de su desempeño y precisión, lo que permite una sólida base empírica de los sistemas de reputación para Chainlink nodos. FSS y TEF permitirán incorporar feeds de precios con datos de transacciones de manera flexible que eviten ataques como el front-running. (Explícito) staking reforzará la protección criptoeconómica existente de la seguridad de fuentes de datos. • Agilidad de alimentación: como sistemas blockchain independientes (de hecho, en términos más generales, sistemas independientes del consumidor), los DON pueden facilitar el suministro de fuentes de datos a una multiplicidad de sistemas confiados. Un solo DON puede enviar un feed determinado simultáneamente a un conjunto de diferentes blockchains, eliminando la necesidad de redes oracle por cadena y permitiendo una rápida implementación de feeds existentes en nuevos blockchains y de adicionales feeds a través de blockchains actualmente atendidos. • Confidencialidad: la capacidad de realizar cálculos generalizados en un DON permite que los cálculos de datos confidenciales se realicen fuera de la cadena, evitando la cadena. exposición. Además, utilizando DECO o Town Pregonero, es posible lograr confidencialidad aún mayor, lo que permite la generación de informes basados en datos que no son expuesto incluso a DON nodos. Consulte la Sección 4.3 y la Sección 4.5 para ver ejemplos. Funciones aleatorias verificables (VRF): Varios tipos de DApps requieren una fuente de aleatoriedad verificablemente correcta para permitir la verificación de su propio funcionamiento justo. Los tokens no fungibles (NFTs) son un ejemplo. La rareza de las características NFT en Aavegotchi [23] y Axie Infinity [35] está determinada por Chainlink VRF, al igual que la distribución. de NFTs mediante sorteos basados en boletos en Tarjetas Ether [102]; la gran variedad de DApps de juegos cuyos resultados son aleatorios; e instrumentos financieros no convencionales, por ejemplo, juegos de ahorro sin pérdidas como PoolTogether [89], que asignan fondos a ganadores al azar. Otras aplicaciones blockchain y no blockchain también requieren seguridad fuentes de aleatoriedad, incluida la selección de comités del sistema descentralizado y la ejecución de loterías. Si bien el bloque hashes puede servir como una fuente de aleatoriedad impredecible, son vulnerables a la manipulación por parte de mineros adversarios (y hasta cierto punto por parte de los usuarios que envían transacciones). Chainlink VRF [78] ofrece una alternativa considerablemente más segura. un oracle tiene un par de claves pública/privada asociado (sk, pk) cuya clave privada se mantiene fuera de la cadena y cuya clave pública pk se publica. Para generar un valor aleatorio, aplica sk a una semilla x impredecible proporcionada por un contrato de confianza (por ejemplo, un bloque hash y parámetros específicos de DApp) usando una función F, lo que produce y = Fsk(x) junto con un prueba de corrección. (Consulte [180] para conocer el VRF disponible en Chainlink). ¿Qué hace que un VRF verificable es el hecho de que conociendo pk, es posible comprobar la exactitud de la prueba y, por tanto, de y. En consecuencia, el valor y es impredecible para un adversario que no puede predecir x o aprender sk y que el servicio no puede manipular.Chainlink VRF puede verse como solo uno más de una familia de aplicaciones que implican la custodia de claves privadas fuera de la cadena. En términos más generales, los DON pueden ofrecer seguridad y almacenamiento descentralizado de claves individuales para aplicaciones y/o usuarios, y combinar esta capacidad con cálculo generalizado. El resultado es una multitud de aplicaciones, de que damos algunos ejemplos en este documento, incluida la gestión de claves para la Prueba de Reservas (ver Sección 4.1) y para las credenciales descentralizadas de los usuarios (y otras credenciales digitales). activos) (ver Sección 4.3). Guardianes: Chainlink Keepers [87] permiten a los desarrolladores escribir código para aplicaciones descentralizadas ejecución de trabajos fuera de la cadena, generalmente para desencadenar la ejecución de smart contracts confiables. Antes de la llegada de Keepers, era común que los desarrolladores operaran este tipo de operaciones fuera de la cadena. lógicas mismas, creando puntos centralizados de falla (así como un considerable esfuerzo de desarrollo duplicado). En cambio, Keepers proporciona un marco fácil de usar para subcontratación descentralizada de estas operaciones, lo que permite ciclos de desarrollo más cortos y Fuerte garantía de vida y otras propiedades de seguridad. Los guardianes pueden apoyar cualquier de una amplia variedad de objetivos desencadenantes, incluida la liquidación de préstamos dependiente del precio o ejecución de transacciones financieras, inicio de lanzamientos aéreos o pagos en función del tiempo en sistemas con recolección de rendimiento, etc. En el marco DON, los iniciadores pueden verse como una generalización de Keepers en varios sentidos. Los iniciadores pueden hacer uso de adaptadores y, por lo tanto, pueden aprovechar una Biblioteca modularizada de interfaces para sistemas dentro y fuera de la cadena, lo que permite una rápida desarrollo de funcionalidades seguras y sofisticadas. Los iniciadores inician el cálculo en ejecutables, que a su vez ofrecen la versatilidad total de DONs, permitiendo la amplia gama de servicios descentralizados que presentamos en este documento para aplicaciones dentro y fuera de la cadena. 3.6.4 Reputación del nodo/Historial de rendimiento El ecosistema Chainlink existente documenta de forma nativa los historiales de rendimiento de nodos contribuyentes en la cadena. Esta característica ha dado lugar a una colección de recursos orientados a la reputación que absorben, filtran y visualizan datos de rendimiento en individuos. operadores de nodos y fuentes de datos. Los usuarios pueden consultar estos recursos para informarse decisiones en la selección de nodos y para monitorear el funcionamiento de las redes existentes. Capacidades similares ayudarán a los usuarios a elegir DONs. Por ejemplo, los mercados actuales sin permiso, como market.link, permiten nodos operadores para enumerar sus servicios oracle y dar fe de sus identidades fuera de la cadena a través de servicios como Keybase [4], que vinculan el perfil de un nodo en Chainlink a su los nombres de dominio existentes y las cuentas de redes sociales del propietario. Además, el rendimiento herramientas de análisis, como las disponibles en market.link y reputación.link, permiten los usuarios ver estadísticas sobre el rendimiento histórico de nodos individuales, incluido su Latencia promedio de respuesta, la desviación de los valores en sus informes de los valores de consenso. transmitidos en cadena, ingresos generados, empleos cumplidos y más. Estas herramientas de análisis también permitir a los usuarios rastrear la adopción de varias redes oracle por parte de otros usuarios, una forma derespaldo implícito de los nodos que aseguran dichas redes. El resultado es una “red de confianza” en la que, mediante el uso de nodos particulares, las aplicaciones descentralizadas de alto valor crean una señal de su confianza en esos nodos que otros usuarios pueden observar y tener en cuenta en sus propias decisiones de selección de nodos. Con DONs (e inicialmente con OCR) se produce un cambio en el procesamiento de transacciones y actividad contractual más generalmente fuera de la cadena. Un modelo descentralizado para el nodo de grabación. el rendimiento sigue siendo posible dentro del propio DON. De hecho, el alto rendimiento y la capacidad de datos de DONs hacen posible construir registros en un formato detallado manera y también para realizar cálculos descentralizados en estos registros, generando resúmenes confiables que pueden ser consumidos por los servicios de reputación y verificados en CADENA PRINCIPAL. Si bien es posible que, en principio, un DON tergiverse el comportamiento de los nodos constituyentes si una gran fracción de los nodos está corrupta, observamos que el colectivo El rendimiento de un DON en la entrega de datos en cadena es visible en MAINCHAIN y por lo tanto no puede ser tergiversado. Además, planeamos explorar mecanismos que incentivar informes internos precisos sobre el comportamiento de los nodos en un DON. Por ejemplo, al informar el subconjunto de nodos de alto rendimiento que devuelven más rápidamente datos que contribuyen a un informe transmitido en cadena, un DON crea un incentivo para que los nodos contesten errores incorrectos informes: Incluir incorrectamente nodos en este subconjunto significa excluir nodos incorrectamente que deberían haberse incluido y, por tanto, sancionarlos inválidamente. Las fallas repetidas en los informes por parte de un DON también crearían un incentivo para que los nodos honestos abandonen el DON. Compilación descentralizada de historiales de desempeño precisos y el consiguiente capacidad de los usuarios para identificar nodos de alto rendimiento y de los operadores de nodos para construir las reputaciones son características distintivas importantes del ecosistema Chainlink. nosotros mostraremos en la Sección 9 cómo podemos razonar sobre ellos como pieza clave de un análisis riguroso y visión amplia de la seguridad económica proporcionada por 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].

Servicios descentralizados habilitados por descentralizados

Redes Oracle Para ilustrar la versatilidad de los DONs y cómo permiten una gran cantidad de nuevos servicios, En esta sección presentamos cinco ejemplos de aplicaciones basadas en DON y describimos las contratos híbridos que los realizan: (1) Prueba de Reservas, una forma de servicio entre cadenas; (2) Interconectar con sistemas empresariales/heredados, es decir, crear una interfaz basada en middleware. capa de abstracción que facilita el desarrollo de aplicaciones blockchain con un mínimo blockchain-código o experiencia específica; (3) Identidad descentralizada, herramientas que permiten a los usuarios obtener y gestionar sus propios documentos de identidad y credenciales; (4) Canales prioritarios, un servicio que garantiza la inclusión oportuna de transacciones de infraestructura crítica (por ejemplo, oracle informes) en un blockchain; y (5) DeFi que preserva la confidencialidad, es decir, smart contracts que ocultan los datos sensibles de las partes participantes. aquí nosotros

use SC para indicar la parte MAINCHAIN de un contrato híbrido y describa el DON componente por separado o en términos de un ejecutable exec. 4.1 Prueba de Reservas Para muchas aplicaciones, es útil transmitir el estado entre blockchains. un Una aplicación popular de este tipo de servicios es el empaquetado de criptomonedas. monedas envueltas como como WBTC [15] se están convirtiendo en un activo popular en las finanzas descentralizadas (DeFi). ellos implica depositar el activo de respaldo "envuelto" en su fuente blockchain MAINCHAIN(1) y crear un token correspondiente en un destino diferente blockchain MAINCHAIN(2). Por ejemplo, WBTC es un ERC20 token en el Ethereum blockchain que corresponde a BTC en el Bitcoin blockchain. Debido a que los contratos en MAINCHAIN(2) no tienen visibilidad directa en MAINCHAIN(1), deben confiar explícita o implícitamente en un oracle para informar sobre los depósitos del envuelto activo en un smart contract, produciendo lo que a veces se llama una Prueba de Reservas. en WBTC [15], por ejemplo, el custodio BitGo posee BTC y emite WBTC, con el Red Chainlink que proporciona Pruebas de Reserva [76]. Un DON puede proporcionar por sí mismo una Prueba de reservas. Sin embargo, con un DON es posible para ir más lejos. Un DON puede gestionar secretos y, mediante el uso de adaptadores adecuados, puede realizar transacciones en cualquier blockchain que desee. En consecuencia, es posible que el DON actúe como uno entre varios custodios, o incluso como un custodio único y descentralizado, para un activo envuelto. De este modo, DONs puede servir como plataforma para mejorar la seguridad de servicios existentes que utilizan Pruebas de Reservas. Por ejemplo, supongamos que MAINCHAIN(1) es Bitcoin y MAINCHAIN(2) es Ethereum. En MAINCHAIN(2), un contrato SC emite tokens que representan BTC envueltos. El DON controla una dirección BTC (1) DON. Entonces, para empaquetar BTC, un usuario U envía X BTC desde dirección(1) Ud. a dirección(1) DON junto con una dirección MAINCHAIN(2) (2) Ud. Los monitores DON dirección(1) DON a través de un adaptador a MAINCHAIN(1). Al observar el depósito de U, con una confirmación con una probabilidad suficientemente alta, envía un mensaje a SC a través de un adaptador para CADENA PRINCIPAL(2). Este mensaje indica al SC que acuñe X tokens para addr(2) Ud. Para que U libere X tokens, sucede lo contrario. En CADENA PRINCIPAL (1), sin embargo, dirección(1) DON envía X BTC a la dirección(1) U (o a otra dirección, si así lo solicita el usuario). Estos protocolos se pueden adaptar, por supuesto, para trabajar con intercambios, en lugar de hacerlo directamente. con los usuarios. 4.2 Interfaz con sistemas empresariales/heredados DONs pueden servir como puentes entre blockchains, como en el ejemplo de Prueba de Reservas, pero otro objetivo es que actúen como puentes bidireccionales entre blockchains y sistemas heredados [176] o blockchain sistemas similares, como el banco central monedas digitales [30]. Las empresas enfrentan una serie de desafíos al conectar sus sistemas existentes y procesos a sistemas descentralizados, incluyendo:• Agilidad de Blockchain: los sistemas Blockchain cambian rápidamente. Una empresa puede enfrentar la rápida aparición o el aumento de popularidad de blockchains en los que contrapartes desean realizar transacciones, pero para las cuales la empresa no tiene apoyo en su infraestructura existente. En general, el dinamismo de blockchains hace A las empresas individuales les resulta difícil mantenerse al tanto del ecosistema completo. • Recursos de desarrollo específicos de blockchain: para muchas organizaciones, contratar o incubar experiencia blockchain de vanguardia es difícil, particularmente en vista de la El desafío de la agilidad. • Gestión de claves privadas: la gestión de claves privadas para blockchains o criptomonedas requiere experiencia operativa distinta de la de la ciberseguridad tradicional. prácticas y no están disponibles para muchas empresas. • Confidencialidad: las empresas temen exponer sus datos confidenciales y de propiedad exclusiva. datos en cadena. Para abordar las primeras tres de estas dificultades, los desarrolladores pueden simplemente usar un DON como una capa de middleware segura para permitir que los sistemas empresariales lean o escriban blockchains. El DON puede abstraer consideraciones técnicas detalladas como dinámica del gas, reorganización de la cadena, etc., tanto para desarrolladores como para usuarios. Por Al presentar una interfaz blockchain optimizada para sistemas empresariales, un DON puede así Simplifique considerablemente el desarrollo de aplicaciones empresariales compatibles con blockchain, eliminando la carga de las empresas de adquirir o incubar recursos de desarrollo específicos de blockchain. Este uso de DONs es especialmente atractivo porque permite a los desarrolladores empresariales cree aplicaciones de contratos inteligentes que sean en gran medida blockchain independientes. Como resultado, el Cuanto mayor sea el conjunto de blockchains para los cuales se instrumenta un DON para actuar como middleware, el mayor será el conjunto de blockchains a los que los usuarios empresariales pueden acceder fácilmente. Desarrolladores Puede portar aplicaciones de blockchains existentes a otras nuevas con una modificación mínima. a sus aplicaciones desarrolladas internamente. Para abordar el problema adicional de la confidencialidad, los desarrolladores pueden apelar a la herramientas que presentamos en este documento y que esperamos implementar para respaldar las aplicaciones DON. Estos incluyen la Sección 3.6.2 de DECO y Town Pregonero, así como las disposiciones para preservar la confidencialidad. Las modificaciones de API se analizan en la Sección 7.1.2 y una serie de enfoques específicos de la aplicación se tratan en el resto de esta sección. Estos sistemas DON pueden proporcionar certificaciones en cadena de alta integridad sobre el estado del sistema empresarial sin revelar datos de origen empresarial confidenciales en cadena. 4.3 Identidad descentralizada Identidad descentralizada es un término general para la noción de que los usuarios deberían poder obtener y gestionar sus propias credenciales, en lugar de depender de terceros para hacerlo entonces. Las credenciales descentralizadas son testimonios de atributos o afirmaciones del titular,que a menudo se denominan reclamaciones. Las credenciales están firmadas digitalmente por entidades, a menudo llamadas emisores, que pueden asociar con autoridad reclamaciones con los usuarios. En la mayoría de los esquemas propuestos, Los reclamos están asociados con un Identificador descentralizado (DID), un identificador universal para un usuario determinado. Las credenciales están vinculadas a una clave pública cuya clave privada posee el usuario. De este modo, el usuario puede demostrar la posesión de un crédito utilizando su clave privada. Por muy visionaria que sea la identidad descentralizada, los esquemas existentes y propuestos, por ejemplo, [14, 92, 129, 216], tienen tres limitaciones graves: • Falta de compatibilidad heredada: los sistemas de identidad descentralizados existentes dependen de una comunidad de autoridades, llamadas emisores, para producir credenciales DID. porque Los servicios web existentes generalmente no firman datos digitalmente, se deben lanzar emisores. como sistemas de propósito especial. Porque no hay ningún incentivo para hacer esto sin una ecosistema de identidad descentralizada, se produce el problema del huevo y la gallina. en otros En otras palabras, no está claro cómo poner en marcha un ecosistema de emisores. • Gestión de claves inviable: los sistemas de identidad descentralizados requieren que los usuarios gestionar claves privadas, algo que ha demostrado la experiencia con las criptomonedas una carga inviable. Se estima que unos 4.000.000 Bitcoin han sido perdido para siempre debido a fallas en la administración de claves [194], y muchos usuarios almacenan sus criptoactivos con intercambios [193], socavando así la descentralización. • Falta de resistencia de Sybil para preservar la privacidad: un requisito de seguridad básico de las aplicaciones, como la votación, la asignación justa de tokens durante las ventas de token, etc., es que los usuarios no podrán afirmar múltiples identidades. Las propuestas de identidad descentralizadas existentes requieren que los usuarios revelen sus identidades del mundo real para lograr tal resistencia de Sybil, socavando así importantes garantías de privacidad. Es posible abordar estos problemas utilizando una combinación de un comité de nodos. realizar cálculos distribuidos dentro de un DON y el uso de herramientas como DECO o Pregonero, como se muestra en un sistema llamado CanDID [160]. DECO o Town Crier pueden, por diseño, convertir los servicios web existentes sin modificaciones en emisores de credenciales que preservan la confidencialidad. Permiten que un DON exporte datos relevantes datos para este fin en una credencial y al mismo tiempo oculta datos confidenciales que no deben aparecer en la credencial. Además, para facilitar la recuperación de claves para los usuarios, abordando así la gestión de claves. problema, un DON puede permitir a los usuarios almacenar claves privadas en forma secreta compartida. Los usuarios pueden recuperar sus claves demostrando a los nodos en DON; de manera similar, usando Town Crier o DECO: la capacidad de iniciar sesión en cuentas con un conjunto de proveedores web predeterminados (por ejemplo, Twitter, Google, Facebook). El beneficio de utilizar Town Pregonero o DECO, en lugar de OAUTH, es privacidad del usuario. Esas dos herramientas permiten al usuario evitar revelar al DON un identificador de proveedor web, del cual a menudo se pueden derivar identidades del mundo real. Finalmente, para proporcionar resistencia a Sybil, como se muestra en [160], es posible que un DON realizar una transformación que preserve la privacidad de identificadores únicos del mundo real para los usuarios (por ejemplo, números de seguro social (SSN)) en identificadores en cadena al registrarse el usuario.De este modo, el sistema puede detectar registros duplicados sin datos sensibles como Los SSN se revelan a nodos DON individuales.7 Un DON puede proporcionar cualquiera de estos servicios en nombre de una identidad descentralizada externa. sistemas en blockchains sin permiso o con permiso, por ejemplo, instancias de Hyperledger Indiana [129]. Aplicación de ejemplo: KYC: La identidad descentralizada es prometedora como medio para agilizar los requisitos para aplicaciones financieras en blockchains mientras se mejora el usuario privacidad. Dos desafíos que puede ayudar a abordar son las obligaciones de acreditación y cumplimiento bajo las regulaciones contra el lavado de dinero/conozca a su cliente (AML/KYC). Las regulaciones ALD en muchos países requieren que las instituciones financieras (y otras empresas) establezcan y verifiquen las identidades de las personas y empresas con las que realizan transacciones. KYC forma un componente del sistema de una institución financiera. una política ALD más amplia, que normalmente también implica monitorear el comportamiento de los usuarios y observar los flujos de fondos, entre otras cosas. KYC generalmente implica la presentación por parte del usuario de credenciales de identidad de alguna forma (por ejemplo, entrada en un formulario web en línea, sosteniendo un documento de identidad frente a la cara del usuario en una sesión de vídeo, etc.). Creación y presentación segura de credenciales descentralizadas En principio, podría ser una alternativa beneficiosa en varios aspectos, a saber: (1) Hacer el proceso KYC sea más eficiente para los usuarios y las instituciones financieras, porque una vez Una vez obtenida la credencial, ésta podría presentarse sin problemas ante cualquier institución financiera; (2) Reducir el fraude al reducir las oportunidades de robo de identidad mediante compromisos de información de identificación personal (PII) y suplantación de identidad durante la verificación por video; y (3) Reducir el riesgo de que la PII se vea comprometida en las instituciones financieras, ya que los usuarios retienen el control de sus propios datos. Dadas las sanciones multimillonarias que pagan las instituciones financieras por incumplimiento de las normas ALD y las muchas instituciones financieras que gastan millones de dólares anualmente en KYC, las mejoras podrían generar ahorros considerables para las instituciones financieras. y, por extensión, para los consumidores [196]. Si bien el sector financiero tradicional es lento para adoptar nuevas herramientas de cumplimiento, DeFi los sistemas lo adoptan cada vez más [43]. Aplicación de ejemplo: Préstamos con garantía insuficiente: La mayoría de las aplicaciones DeFi que Los préstamos de apoyo hoy en día sólo originan préstamos totalmente garantizados. Estos son préstamos hechos a los prestatarios que depositan activos en criptomonedas de valor superior al de los préstamos. Recientemente ha surgido interés en lo que la comunidad DeFi generalmente denomina préstamos con garantía insuficiente. Se trata, por el contrario, de préstamos para los cuales la garantía correspondiente tiene un valor inferior al del principal del préstamo. Préstamos con garantía insuficiente Se parecen a los préstamos que suelen otorgar las instituciones financieras tradicionales. En lugar de confiar sobre la garantía depositada como garantía del pago del préstamo, en lugar de ello basan los préstamos decisiones sobre el historial crediticio de los prestatarios. 7Esta transformación se basa en una función pseudoaleatoria distribuida (PRF).Los préstamos con garantía insuficiente constituyen una parte incipiente pero en crecimiento del mercado de préstamos DeFi. Se basan en mecanismos como los empleados por las instituciones financieras tradicionales. instituciones, como contratos legales [91]. Un requisito imprescindible para su crecimiento. será la capacidad de proporcionar datos sobre la solvencia crediticia del usuario, un factor clave en las decisiones crediticias convencionales, a los sistemas DeFi de una manera que proporcione una sólida integridad, es decir, garantía de datos correctos. Un sistema de identidad descentralizado habilitado para DON permitiría a los posibles prestatarios generar credenciales de alta seguridad que acrediten su solvencia y al mismo tiempo preservar la confidencialidad de la información sensible. Específicamente, los prestatarios pueden generar estos credenciales basadas en registros de fuentes autorizadas en línea, al tiempo que se expone solo la datos atestiguados por el DON, sin exponer otros datos potencialmente sensibles. Para Por ejemplo, un prestatario puede generar una credencial que indique que su puntaje crediticio con una conjunto de agencias de crédito excede un umbral particular (por ejemplo, 750), sin revelar su puntuación precisa o cualquier otro dato en sus registros. Además, si lo desea, dichas credenciales se pueden generar de forma anónima, es decir, el nombre del usuario puede ser tratado como dato sensible y no está expuesto a oracle nodos o en su credencial descentralizada. la credencial En sí mismo se puede utilizar en cadena o fuera de cadena, según la aplicación. En resumen, un prestatario puede proporcionar información esencial a los prestamistas sobre su crédito. historias con gran integridad y sin riesgo de exposición de información innecesaria y sensible. datos. Un prestatario también puede proporcionar una variedad de otras credenciales que preservan la confidencialidad. útil para tomar decisiones crediticias. Por ejemplo, las credenciales pueden dar fe de la identidad de un prestatario. posesión de activos (fuera de la cadena), como mostramos en nuestro siguiente ejemplo. Ejemplo de aplicación: Acreditación: Muchas jurisdicciones limitan la clase de inversor a la que se pueden vender valores no registrados. Por ejemplo, en EE.UU., la SEC La Regulación D estipula que para ser acreditado para tales oportunidades de inversión, un El individuo debe poseer un patrimonio neto de 1 millón de dólares, cumplir con ciertos requisitos de ingresos mínimos o tener ciertas calificaciones profesionales [209, 210]. Acreditación actual Los procesos son engorrosos e ineficientes y a menudo requieren una carta de certificación de un contador, o evidencia similar. Un sistema de identidad descentralizado permitiría a los usuarios generar credenciales desde cuentas de servicios financieros en línea existentes que demuestren el cumplimiento de la acreditación regulaciones, facilitando un proceso KYC más eficiente y que preserva la privacidad. el Además, las propiedades de DECO y Town Crier que preservan la privacidad permitirían que estos Las credenciales se generarán con una sólida garantía de integridad sin revelar directamente detalles del estado financiero de un usuario. Por ejemplo, un usuario podría generar una credencial demostrar que tiene un patrimonio neto de al menos $ 1 millón sin revelar ningún dato adicional información sobre su situación financiera. 4.4 Canales Prioritarios Los canales prioritarios son un servicio nuevo y útil que es fácil de crear utilizando DON. Su

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

El objetivo es entregar transacciones seleccionadas y de alta prioridad de manera oportuna en MAINCHAIN. durante periodos de congestión de la red. Los canales prioritarios pueden verse como una forma de contrato de futuros en espacio de bloques y, por lo tanto, como criptomercancía, término acuñado como parte del Proyecto Chicago [61, 136]. Los canales prioritarios están destinados específicamente a que los mineros habiliten servicios de infraestructura, como oracles, funciones de gobernanza para contratos, etc., no para actividades ordinarias a nivel de usuario, como transacciones financieras. De hecho, tal como se diseñó aquí, una prioridad El canal implementado por menos del 100% del poder minero en la red solo puede Proporcionan límites flexibles en los plazos de entrega, lo que impide su uso para productos que dependen en gran medida de la velocidad. objetivos como correr al frente. Figura 10: Un canal prioritario es una garantía de un minero M o, más generalmente, una conjunto de mineros M: a un usuario U que su transacción τ se extraerá dentro de D bloques de inclusión en el mempool. Un contrato SC puede utilizar el monitoreo DON para hacer cumplir la Condiciones de servicio del canal. Un canal prioritario toma la forma de un acuerdo entre un minero o un conjunto de mineros. (o pools de minería) M que proporciona el canal y un usuario U que paga una tarifa por el acceso. M acepta que cuando U envía una transacción τ al mempool (con cualquier precio del gas,pero un límite de gas previamente acordado), M lo pondrá en cadena dentro de los siguientes bloques D.8 La idea se representa esquemáticamente en la Fig. 10. Descripción del contrato de canal prioritario: Un canal prioritario puede realizarse como un híbrido smart contract aproximadamente de la siguiente manera. Dejamos que SC denote la lógica en MAINCHAIN y eso en el DON por ejecutivo. SC acepta un depósito/participación \(d from M and an advance payment \)p de U. A DON el ejecutable ejecutivo monitorea el mempool y se activa al realizar una transacción por U. Envía un mensaje de éxito a SC si U envía una transacción que M extrae en de manera oportuna y un mensaje de falla en caso de falla del servicio. SC envía el pago $p a M dado un mensaje de éxito y envía todos los fondos restantes, incluyendo $d, a U si recibe un mensaje de error. Tras una terminación exitosa, libera el depósito $d a M. Por supuesto, el minero M puede proporcionar canales prioritarios simultáneamente a múltiples usuarios y puede abrir un canal prioritario con U para una cantidad de mensajes previamente acordada. 4.5 Preservación de la confidencialidad DeFi / Mixicles Hoy en día, las DeFi aplicaciones [1] brindan poca o ninguna confidencialidad a los usuarios: todas las transacciones son visibles en la cadena. Varios enfoques basados en conocimiento cero, por ejemplo, [149, 217], puede proporcionar privacidad en las transacciones, y el TEF es lo suficientemente general como para respaldarlas. pero Estos enfoques no son exhaustivos y, por ejemplo, normalmente no ocultan la activo en el que se basa una transacción. El amplio conjunto de herramientas computacionales que finalmente pretendemos respaldar en DONs Permitir la privacidad de varias maneras diferentes que pueden cerrar esas brechas, ayudando a complementar las garantías de privacidad de otros sistemas. Por ejemplo, Mixicles, un instrumento DeFi que preserva la confidencialidad propuesto por los investigadores de los laboratorios Chainlink [135], puede ocultar el tipo de activo que respalda un instrumento financiero y encaja de forma muy natural en el DON marco. Los mixicles se explican más fácilmente en términos de su uso para realizar un sistema binario simple. opción. Una opción binaria es un instrumento financiero en el que dos usuarios, que veremos consulte aquí para mayor coherencia con [135] como jugadores, apueste en un evento con dos posibles resultados, por ejemplo, si un activo excede o no un precio objetivo en un momento predeterminado. El siguiente ejemplo ilustra la idea. Ejemplo 2. Alice y Bob son partes de una opción binaria basada en el valor de un activo llamado Carol's Bubble Token (CBT). Alice apuesta a que la TCC tendrá un precio de mercado de al menos al menos 250 USD en el momento T = mediodía del 21 de junio de 2025; Bob apuesta lo contrario. cada jugador deposita 100 ETH antes de una fecha límite preestablecida. El jugador con la posición ganadora. recibe 200 ETH (es decir, gana 100 ETH). Por supuesto, 8D debe ser lo suficientemente grande como para garantizar que M pueda cumplir con una alta probabilidad. Para Por ejemplo, si M controla el 20% de la potencia minera en la red, podría elegir D = 100, asegurando una probabilidad de falla de ≈2 × 10−10, es decir, menos de uno entre mil millones.Dada una red O Chainlink oracle existente, es fácil implementar una red inteligente contrato SC que realiza el acuerdo del Ejemplo 2. Cada uno de los dos jugadores deposita 100 ETH en SC. En algún momento después de T, se envía una consulta q a O solicitando el precio r de CBT en el momento T. O envía un informe r de este precio a SC. SC luego envía dinero a Alice si r ≥250 y Bob si no. Este enfoque, sin embargo, revela r en la cadena, lo que facilita para que un observador deduzca el activo subyacente de la opción binaria. En la terminología de Mixicles, es útil pensar conceptualmente en el resultado. de SC en términos de un Switch que transmite un valor binario calculado como predicado interruptor(r). En nuestro ejemplo, switch(r) = 0 si r ≥250; dado este resultado, Alice gana. De lo contrario, switch(r) = 1 y Bob gana. Un DON puede realizar un Mixicle básico como un contrato híbrido ejecutando un ejecutable exec que calcula el switch(r) y lo reporta en cadena al SC. Mostramos esta construcción. en la figura 11. Figura 11: Diagrama de Mixicle básico en el ejemplo 2. Para proporcionar secreto en cadena para informe r, y por lo tanto el activo subyacente de la opción binaria, el oracle envía al contrato SC a través del interruptor solo el interruptor de valor binario (r). Especificamos un adaptador ConfSwitch en el Apéndice C.3 que facilita lograr esto. objetivo en un DON. La idea básica detrás de ConfSwitch es bastante simple. en lugar de informar el valor r, ConfSwitch informa solo el valor del interruptor binario switch(r). SC puede ser diseñado para realizar un pago correcto basándose únicamente en switch(r) y switch(r) por sí solo no revela información sobre el activo subyacente (CBT en nuestro ejemplo). Además, Al colocar un texto cifrado en (q, r) en el libro de contabilidad cifrado bajo pkaud, la clave pública de Como auditor, el adaptador ConfSwitch crea un registro de auditoría que preserva la confidencialidad. El Mixicle básico que hemos elegido para describir aquí por simplicidad oculta sólo el activo y apuesta detrás de la opción binaria en nuestro ejemplo. Una lata Mixicle [135] en toda regla Proporcionar dos formas de confidencialidad. Oculta a los observadores: (1) ¿Qué evento ocurrió? Los jugadores apuestan a (es decir, q y r), pero también (2) qué jugador ganó la apuesta. Dado que los Mixicles se ejecutan en MAINCHAIN, cualquiera de los jugadores necesitaría transmitir cambie(r) de DON a MAINCHAIN, o se podría crear un ejecutable que

se activa en la salida de ConfSwitch y llama a otro adaptador para enviar el interruptor (r) a CADENA PRINCIPAL. También vale la pena considerar un tercer tipo sutil de confidencialidad. En una implementación básica de ConfSwitch, O ejecuta el adaptador en el DON y, por lo tanto, aprende el activo (CBT en nuestro ejemplo) y, por tanto, la naturaleza de la opción binaria. Como se discutió Sin embargo, en el Apéndice C.3 también es posible utilizar DECO o Town Crier para ocultar incluso esta información de O. En este caso, el O no aprende más información que un observador público de SC. Para obtener más detalles sobre Mixicles, remitimos a los lectores a [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.

Servicios de secuenciación justa

Un servicio importante que esperamos que ofrezcan los DON y que aproveche sus capacidades de red, computación y almacenamiento se llama Fair Sequencing Services (FSS). Aunque FSS puede verse simplemente como una aplicación realizada dentro del marco DON, lo destacamos como un servicio que creemos tendrá una gran demanda en todo el mundo. blockchains, y que esperamos que la red Chainlink apoye activamente. Cuando se ejecuta en redes públicas blockchain, muchas de las aplicaciones DeFi actuales revelar información que los usuarios pueden explotar en su propio beneficio, de forma análoga a el tipo de filtraciones internas y oportunidades de manipulación que son omnipresentes en los mercados existentes. mercados [64, 155]. En cambio, FSS allana el camino hacia un ecosistema DeFi justo. FSS ayuda a los desarrolladores a crear DeFi contratos que estén protegidos contra la manipulación del mercado resultante de la fuga de información. Dados los problemas que destacamos a continuación, FSS es especialmente atractivo para servicios de capa 2 y encaja dentro del marco para dichos servicios que analizamos en la Sección 6. El desafío: En los sistemas sin permiso existentes, las transacciones se ordenan completamente a discreción de los mineros. En redes autorizadas, los nodos validator pueden ejercer el mismo poder. Esta es una forma de centralización efímera en gran medida no reconocida en sistemas que de otro modo estarían descentralizados. Un minero puede censurar (temporalmente) transacciones para su propio beneficio [171] o reordenarlos para maximizar su propia ganancia, una noción llamada valor extraíble minero (MEV) [90]. El término MEV es ligeramente engañoso: no se refiere solo para valorar lo que los mineros pueden capturar: algunos MEV pueden ser capturados por usuarios comunes. Sin embargo, debido a que los mineros tienen más poder que los usuarios comunes, MEV representa un límite superior en la cantidad de valor que cualquier entidad puede obtener a través de una reordenación adversa. e inserción de transacciones complementarias. Incluso cuando los mineros ordenan transacciones simplemente basado en tarifas (gas), sin manipulación, los propios usuarios pueden manipular los precios del gas para favorecer sus transacciones sobre aquellas de menos sofisticación. Daian et al. [90] documenta y cuantifica las formas en que los bots (no los mineros) toman ventaja de la dinámica del gas de una manera que perjudica a los usuarios de los sistemas DeFi actuales y cómo MEV incluso amenaza la estabilidad de la capa de consenso subyacente en un blockchain. Otros ejemplos de manipulación de órdenes de transacción surgen regularmente, por ejemplo, [50, 154].Los nuevos métodos de procesamiento de transacciones como rollups son un enfoque muy prometedor a los problemas de escala de los blockchains de alto rendimiento. Sin embargo, no abordan El problema del MEV. En lugar de ello, lo transfieren a la entidad que genera el rollup. eso entidad, ya sea el operador de un smart contract o un usuario que proporciona un (zk-)rollup con una prueba de validez, tiene la facultad de ordenar e insertar transacciones. En otras palabras, rollups intercambie MEV por REV: valor acumulable-extraíble. MEV afecta las próximas transacciones que se han enviado al mempool pero aún no están comprometidos en cadena. La información sobre dichas transacciones es ampliamente disponible en la red. Los mineros, validators y los participantes comunes de la red pueden por lo tanto, explotar este conocimiento y crear transacciones dependientes. Además, los mineros y validators pueden influir en el orden de las transacciones que realizan. ellos mismos y explotar esto en su beneficio. El problema de la influencia indebida de los líderes en la ordenación de transacciones por consenso Los protocolos se conocen en la literatura desde la década de 1990 [71, 190], pero no Hasta ahora se han implementado soluciones en la práctica [97]. La razón principal es que las soluciones propuestas (al menos hasta hace muy poco) no pueden integrarse fácilmente con las políticas públicas. blockchains, ya que dependen de que el contenido de las transacciones permanezca secreto hasta después su orden ha sido determinado. Descripción general de los servicios de secuenciación justa (FSS): DONs proporcionará herramientas para descentralizar el pedido de transacciones e implementarlo de acuerdo con una política especificada por un proveedor de confianza. creador del contrato, idealmente uno que sea justo y que no beneficie a los actores que deseen manipular el orden de las transacciones. En conjunto, estas herramientas constituyen FSS. FSS incluye tres componentes. El primero es el seguimiento de las transacciones. En SFS, oracle nodos en O monitorean el mempool de MAINCHAIN y (si lo desea) permiten Envío fuera de la cadena de transacciones a través de un canal especializado. El segundo es la secuenciación de las transacciones. Los nodos en O ordenan transacciones para un contrato de confianza. de acuerdo con una política definida para ese contrato. El tercero es la publicación de transacciones. Después de ordenar las transacciones, los nodos en O envían conjuntamente las transacciones al cadena principal. Los beneficios potenciales de FSS incluyen: • Equidad en los pedidos: FSS incluye herramientas para ayudar a los desarrolladores a garantizar que las transacciones Los insumos a un contrato en particular se ordenan de manera que no proporcionen una relación injusta. ventaja para los usuarios con buenos recursos y/o con conocimientos técnicos. Políticas de pedidos se puede especificar para este propósito. • Reducción o eliminación de fugas de información: al garantizar que los participantes de la red no puedan explotar el conocimiento sobre las próximas transacciones, FSS puede reducir o eliminar ataques como el front-running que se basan en la información disponible en la red antes de que se confirmen las transacciones. Prevenir la explotación de tales La fuga garantiza que las transacciones contradictorias que dependen de los pendientes originales las transacciones no pueden ingresar al libro mayor antes de que se confirmen las transacciones originales.• Costo de transacción reducido: al eliminar la necesidad de los jugadores de acelerar el envío sus transacciones a un smart contract, FSS puede reducir en gran medida el costo del procesamiento de transacciones. • Orden de prioridad: FSS puede dar automáticamente prioridad especial a las transacciones críticas ordenar. Por ejemplo, para evitar ataques frontales contra oracle informes, por ejemplo, [79], FSS puede insertar un informe oracle en un flujo de transacciones retroactivamente. Un objetivo general del FSS en DONs es capacitar a los creadores de DeFi para que realicen actividades justas. Sistemas financieros, es decir, sistemas que no benefician a usuarios particulares (o mineros). sobre otros sobre la base de la velocidad, el conocimiento interno o la capacidad para realizar tareas técnicas. manipulación. Si bien es difícil alcanzar una noción clara y general de justicia, y la justicia perfecta en cualquier sentido razonable es inalcanzable, FSS tiene como objetivo proporcionar a los desarrolladores una poderosa conjunto de herramientas para que puedan aplicar políticas que ayuden a cumplir sus objetivos de diseño para DeFi. Observamos que si bien el objetivo principal de FSS es actuar como un servicio de secuenciación justo para la CADENA PRINCIPAL a la que se dirige DON, algunos de los mismos deseos de equidad que FSS Las garantías también pueden ser apropiadas para protocolos (descentralizados) que se ejecutan entre DON fiestas. Por tanto, el SFS puede verse de manera más amplia como un servicio proporcionado por un subconjunto de DON nodos para secuenciar de manera justa no solo las transacciones enviadas por los usuarios de MAINCHAIN pero también transacciones (es decir, mensajes) compartidas entre otros DON nodos. En esta sección, Nos centraremos principalmente en el objetivo de secuenciar las transacciones de CADENA PRINCIPAL. Organización de la sección: en la Sección 5.1, describimos dos aplicaciones de alto nivel que motivan el diseño de FSS: evitar la ejecución frontal de informes oracle y evitar ejecución anticipada de las transacciones de los usuarios. Luego proporcionamos más detalles sobre el diseño de FSS. en la Sección 5.2. La sección 5.3 describe ejemplos de garantías y medios de ordenamiento justo. para lograrlos. Finalmente, la Sección 5.4 y la Sección 5.5 analizan las amenazas a nivel de red a tales políticas y medios para abordarlas, respectivamente, para la inundación de la red y Sybil ataques. 5.1 El problema de la vanguardia Para explicar los objetivos y el diseño de FSS, describimos dos formas generales de ejecución anticipada. ataques y las limitaciones de las soluciones existentes. Ir al frente ejemplifica una clase de ataques de orden de transacciones: Hay una serie de ataques relacionados, como backrunning y sándwiching (front-running más back-running) [237] que no cubrimos aquí, pero que FSS también ayuda a abordar. 5.1.1 Ejecución frontal de Oracle En su función tradicional de proporcionar datos fuera de la cadena a aplicaciones blockchain, oracles convertirse en un objetivo natural para los ataques frontales.Considere el patrón de diseño común de usar un oracle para suministrar varios precios a un intercambio en cadena: periódicamente (digamos cada hora), el oracle recopila datos de precios para diferentes activos y los envía a un contrato de intercambio. Estas transacciones de datos de precios presentan oportunidades obvias de arbitraje: por ejemplo, si el informe más reciente oracle enumera un precio mucho más alto por algún activo, un adversario podría adelantar el informe oracle para comprar activos y revenderlos inmediatamente una vez que se procese el informe de oracle. Topes de velocidad y precios retroactivos: Una solución natural al problema de ejecución anticipada de oracle es dar a los informes oracle una prioridad especial sobre otras transacciones. Para Por ejemplo, se podrían enviar informes oracle con tarifas elevadas para animar a los mineros a procesar ellos primero. Pero esto no impedirá que se avance si las oportunidades de arbitraje son altas, ni puede impedir el arbitraje por parte de los propios mineros. Por lo tanto, algunos intercambios han recurrido a implementar "reductores de velocidad" más pesados, como poner en cola las transacciones de los usuarios durante varios bloques antes de procesarlas. ellos, o ajustar los precios retroactivamente cuando llegue un nuevo informe oracle. Las desventajas de estas soluciones son que añaden complejidad a la implementación del intercambio, aumentan los requisitos de almacenamiento y, por tanto, los costos de transacción, y alteran la experiencia del usuario, ya que los intercambios de activos sólo se confirman después de un período de tiempo significativo. Llevando a cuestas: Antes de pasar a FSS, analizaremos el transporte a cuestas, una solución bastante simple y solución elegante al oracle problema de ejecución frontal. No es aplicable a la dirección Sin embargo, está a la cabeza en otros escenarios. En resumen, en lugar de enviar informes periódicamente al contrato en cadena, oracles publicar informes firmados que los usuarios adjuntan a sus transacciones al comprar o vender activos en cadena. Luego, el intercambio simplemente verifica que el informe sea válido y esté actualizado. (por ejemplo, oracle puede firmar una variedad de bloques para los cuales el informe es válido) y extrae el precio relevante se alimenta de él. Este enfoque simple tiene una serie de ventajas sobre el "bajón de velocidad" anterior. enfoque: (1) El contrato de intercambio no necesita mantener el estado de los precios, lo que debería conducir a menores costos de transacción; (2) Como los informes oracle se publican en cadena según sea necesario, los oracle pueden generar actualizaciones más frecuentes (por ejemplo, cada minuto), lo que minimizar las oportunidades de arbitraje al adelantar un informe9; (3) Las transacciones pueden validarse inmediatamente, ya que siempre incluyen un feed de precios actualizado. Sin embargo, el enfoque no es perfecto. En primer lugar, esta solución de aprovechamiento pone al responsabilidad de los usuarios del intercambio de obtener informes oracle actualizados y adjuntarlos a sus transacciones. En segundo lugar, si bien llevar a cuestas minimiza las oportunidades de arbitraje, no puede prevenirlos por completo sin afectar la vida del contrato en cadena. De hecho, si un El informe oracle es válido hasta algún bloque número n, luego se envía una transacción al bloque n + 1 requeriría un nuevo informe válido. Debido a retrasos inherentes en la propagación de informes de oracles a los usuarios, el nuevo informe que es válido para el bloque n + 1 tendría 9El arbitraje sólo vale la pena si la diferencia explotable en los precios de los activos excede la diferencia superflua. tarifas requeridas para comprar y vender los activos, por ejemplo, los cobrados por los mineros y el intercambio.ser publicitado algún período antes de que se extraiga el bloque n + 1, digamos en el bloque n −k, por lo tanto creando una secuencia de k bloques donde existe una oportunidad de arbitraje de corta duración. nosotros Ahora describa cómo FSS sortea estas limitaciones. Priorizar informes oracle con FSS: FSS puede abordar el oracle de ejecución frontal problema basándose en la solución anterior, pero impulsando la solución adicional trabajo de aumentar las transacciones con oracle informes a la Red Oracle Descentralizada. En un nivel alto, los oracle nodos recopilan transacciones destinadas a un intercambio en cadena, acuerde un feed de precios en tiempo real y publique el feed de precios junto con las transacciones recopiladas en el contrato de la cadena principal. Conceptualmente, se puede pensar en este enfoque como una "procesamiento por lotes de transacciones con datos aumentados", donde oracle garantiza que una información actualizada El feed de precios siempre se agrega a las transacciones. Las soluciones FSS se pueden implementar de forma transparente para los usuarios del intercambio y con cambios mínimos en la lógica del contrato, como describimos con más detalle en la Sección 5.2. asegurando que los informes oracle nuevos siempre tengan prioridad sobre las transacciones de los usuarios es solo un ejemplo de una política de pedidos que FSS pueda adoptar y hacer cumplir. Políticas de FSS para garantizar el orden. equidad se describen de manera más general en la Sección 5.3. 5.1.2 Transacciones de usuario de primera ejecución Ahora pasamos a ejecutar aplicaciones genéricas, donde el método de defensa anterior no funciona. El problema se puede captar en términos generales mediante el siguiente escenario: Un adversario ve alguna transacción de usuario tx1 enviada a la red P2P y la inyecta su propia transacción adversaria tx2, de modo que tx2 se procese antes que tx1 (por ejemplo, pagando una tarifa de transacción más alta). Por ejemplo, este tipo de adelantamiento es común entre bots que explotan oportunidades de arbitraje en DeFi sistemas [90] y ha afectado a los usuarios de varias aplicaciones descentralizadas [101]. Imponer un orden justo entre las transacciones. procesado en el blockchain soluciona este problema. Más fundamentalmente, ver los detalles de tx1 a veces ni siquiera es necesario y El conocimiento de su mera existencia puede permitir a un adversario adelantar a tx1 a través de su poseer tx2 y defraudar al usuario inocente que creó tx1. Por ejemplo, el usuario podría ser conocido por negociar un activo particular en momentos regulares. Prevenir este tipo de ataques requiere mitigaciones que también evitan la fuga de metadatos [62]. Algunas soluciones para este problema. existen, pero introducen retrasos y problemas de usabilidad. Del pedido de red al pedido finalizado con FSS: Oportunidades para liderar surgen porque los sistemas existentes no tienen mecanismos para garantizar que el orden en el que Las transacciones que aparecen en la cadena respetan el orden de los eventos y el flujo de información. fuera de la red. Esto representa un problema que surge de deficiencias en la implementación de aplicaciones (por ejemplo, plataformas comerciales) en un blockchain. Lo ideal sería asegúrese de que las transacciones se confirmen en el blockchain en el mismo orden en que fueron creado y enviado a la red P2P de blockchain. Pero desde la red blockchain

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

se distribuye, no se puede capturar tal orden. Por lo tanto, FSS introduce mecanismos para salvaguardar contra violaciones de la equidad, que surgen sólo debido a la distribución naturaleza de la red blockchain. 5.2 Detalles del FSS Figura 12: Mempool de orden justa con dos rutas de transacción diferentes: directo y basado en mempool. La Fig. 12 muestra un esquema general del FSS. Para garantizar la equidad, el DON que proporciona el FSS debe interferir con el flujo de transacciones cuando ingresan a MAINCHAIN. Es posible que sean necesarios ajustes a los clientes, a smart contracts en MAINCHAIN ​​o a ambos. En un nivel alto, el procesamiento de transacciones por parte del FSS se puede descomponer en tres fases, que se describen a continuación: (1) Monitoreo de transacciones; (2) Secuenciación de transacciones; y (3) Contabilización de transacciones. Dependiendo del método de pedido utilizado para la secuenciación de transacciones, se necesitan pasos de protocolo adicionales, como se describe en la siguiente sección. 5.2.1 Procesamiento de transacciones Monitoreo de transacciones: Visualizamos dos enfoques diferentes para que FSS monitoree Transacciones de usuario destinadas a un smart contract específico, directas y basadas en mempool: • Directo: el enfoque directo es conceptualmente el más simple, pero requiere cambios en clientes usuarios para que las transacciones se envíen directamente al Oracle DescentralizadoNodos de la red, en lugar de a los nodos de la cadena principal. El DON recoge transacciones de usuario destinadas a un smart contract SC específico y las ordena en función sobre alguna política de pedidos. El DON luego envía las transacciones ordenadas al smart contract en la cadena principal. Algunos mecanismos de pedido también requieren el enfoque directo porque el usuario que crea una transacción debe criptográficamente protéjalo antes de enviarlo a FSS. • Basado en Mempool: para facilitar la integración de FSS con clientes heredados, el DON puede utilizar Mempool Services (MS) para monitorear el mempool de la cadena principal y recopilar transacciones. Es probable que la transmisión directa sea la implementación preferida para muchos contratos, y creemos que debería ser bastante práctico en muchos casos. Discutimos brevemente cómo las DApps existentes podrían modificarse mínimamente para admitir transmisión directa preservando una buena experiencia de usuario. Describimos enfoques usando Ethereum y MetaMask [6] ya que estas son las opciones más populares hoy en día, pero Las técnicas mencionadas deberían extenderse a otras cadenas y billeteras. Un Ethereum reciente Propuesta de mejora, “EIP-3085: Monedero agrega Ethereum método RPC de cadena” [100], facilitará la orientación de cadenas Ethereum personalizadas (utilizando un ID de CADENA diferente al el de MAINCHAIN para evitar ataques de repetición) de MetaMask y otras billeteras basadas en navegador. Después de la implementación de esta propuesta, una DApp que busca utilizar un DON simplemente agregaría una llamada de método único a su interfaz para poder transmitir directamente transacciones a cualquier DON que exponga una API compatible con Ethereum. Mientras tanto, “EIP-712: Ethereum datos estructurados escritos hashing y firma” [49] proporciona una explicación ligeramente alternativa más complicada pero ya ampliamente implementada, donde un usuario de DApp puede usar MetaMask para firmar datos estructurados especificando una transacción DON. La DApp puede enviar Estos datos estructurados firmados al DON. Por último, observamos que también son posibles enfoques híbridos. Por ejemplo, legado los clientes pueden continuar enviando transacciones al mempool de la cadena principal, pero es crítico Las transacciones (por ejemplo, informes oracle) se envían a los nodos DON directamente (en particular, el conjunto de nodos que proporcionan oracle informes, como actualizaciones de precios y el conjunto de nodos proporcionar FSS puede superponerse o ser idéntico). Secuenciación de transacciones: El objetivo principal de FSS es garantizar que las transacciones de los usuarios se ordenen de acuerdo con una política predefinida. La naturaleza de esta política dependen de las necesidades de la aplicación y de los tipos de órdenes de transacciones injustas que pretende prevenir. Dado que FSS en el DON es capaz de procesar datos y mantener el estado local, pueden imponer una política de secuenciación arbitraria basada en la información que se disponible en el oracles. Las políticas de pedidos particulares y su implementación se analizan posteriormente en la Sección 5.3.Publicación de transacciones: Después de recopilar y ordenar las transacciones de los usuarios, recibidas directamente de los usuarios o recopiladas del mempool, DON envía estas transacciones a la cadena principal. Como tal, las interacciones de DON con la cadena principal permanecen sujeto a órdenes de transacciones (potencialmente injustas) regidas por los mineros de la cadena principal. Para aprovechar los beneficios de los pedidos de transacciones descentralizados, el objetivo inteligente Por lo tanto, el contrato SC debe diseñarse para tratar al DON como un ciudadano de “primera clase”. nosotros distinguir dos enfoques: • Contratos solo DON: la opción de diseño más simple es tener la cadena principal inteligente El contrato SC solo acepta transacciones que hayan sido procesadas por el DON. esto garantiza que smart contract procese las transacciones en el orden propuesto por el DON, pero de facto restringe el smart contract a operar en un sistema basado en comités (es decir, el comité DON ahora tiene poder continuo para determinar el ordenación e inclusión de transacciones). • Contratos de clase dual: un diseño preferido y más granular tiene la cadena principal inteligente contrato SC acepta transacciones originadas tanto del DON como del legado usuarios,10 pero coloca “obstáculos” tradicionales en las transacciones que no fueron procesadas por el DON. Por ejemplo, las transacciones del DON pueden procesarse inmediatamente, mientras que las transacciones heredadas quedan "almacenadas" por el smart contract para un periodo de tiempo fijo. Otros mecanismos estándar para evitar el avance como esquemas de confirmación-revelación o VDF [53] también podrían aplicarse a legados transacciones. Esto garantiza que las transacciones ordenadas DON se procesen en la orden acordada, sin otorgar al DON el poder no deseado de censurar transacciones. Como la imposición de pedidos de transacciones por parte de FSS requiere que las transacciones se agreguen "fuera de la cadena", esta solución se combina naturalmente con otras técnicas de agregación que apuntan a reducir los costos de procesamiento en la cadena. Por ejemplo, después de recolectar y ordenar transacciones, el DON puede enviar estas transacciones a la cadena principal como "transacción por lotes" única (por ejemplo, una rollup), reduciendo así la transacción agregada tarifa. Hacer cumplir el orden de transacción: Ya sea en un diseño de clase dual o solo DON, la cadena principal smart contract SC y DON deben diseñarse conjuntamente para garantizar que se mantenga el orden de transacciones de DON. Aquí también imaginamos diferentes opciones de diseño: • Números de secuencia: DON puede agregar un número de secuencia a cada transacción y enviar estas transacciones al mempool de la cadena principal. el principal 10Si el monitoreo de transacciones de DON se basa en el mempool, las transacciones heredadas deben distinguirse de las transacciones de DON para que no sean recopiladas por DON, por ejemplo, a través de una etiqueta especial. incorporado en la transacción o especificando un precio de gas particular, p.e. DON las transacciones tienen gas precios por debajo de un determinado umbral.cadena smart contract SC ignora las transacciones que llegan "fuera de secuencia". nosotros tenga en cuenta que en esta configuración, los mineros de la cadena principal pueden decidir ignorar los DON ordenación de transacciones, provocando así que las transacciones fallen. Es posible mantener el estado (caro) para que SC aplique el orden correcto de las transacciones, de alguna manera De manera análoga a cómo TCP almacena en búfer los paquetes desordenados hasta que se recuperan los paquetes faltantes. recibido. • Transacción nonces: Para muchas blockchains, y en particular para Ethereum, la El enfoque de numeración secuencial anterior puede aprovechar la transacción integrada nonces para hacer cumplir que la cadena principal smart contract SC procese las transacciones en secuencia. Aquí, los nodos DON envían transacciones a la cadena principal a través de una única cuenta de cadena principal, protegida con una clave compartida entre los nodos DON. la cuenta La transacción nonce garantiza que las transacciones se extraigan y procesen en el orden correcto. • Transacciones agregadas: el DON puede agregar múltiples transacciones en un rollup (o en un paquete similar a rollup). La cadena principal smart contract debe ser diseñado para manejar tales transacciones agregadas. • Transacciones agregadas con un proxy de la cadena principal: aquí, el DON agrupa de manera similar las transacciones en una “metatransacción” para la cadena principal, pero se basa en un proxy personalizado smart contract para descomprimir las transacciones y transmitirlas al contrato objetivo SC. Esta técnica puede resultar útil para la compatibilidad heredada. Las metatransacciones actúan como rollups pero se diferencian en que consisten en un lista de transacciones publicadas una vez en la cadena principal. El último diseño tiene la ventaja de soportar sin problemas las transacciones de los usuarios que ellos mismos están representados a través de un contrato de cadena principal antes de alcanzar el objetivo de DON contrato SC. Por ejemplo, considere un usuario que envía una transacción a alguna billetera. contrato, que a su vez envía una transacción interna a SC. Asignar una secuencia número para tal transacción sería complicado, a menos que el contrato de billetera del usuario sea especialmente diseñado para reenviar el número de secuencia con cada transacción interna a SC. De manera similar, dichas transacciones internas no se pueden agregar fácilmente en una metatransacción que se envíe directamente a SC. Discutimos otras consideraciones de diseño para dichas transacciones representadas a continuación. 5.2.2 Atomicidad de las transacciones Hasta ahora nuestra discusión ha asumido implícitamente que las transacciones interactúan con un solo en cadena smart contract (por ejemplo, un usuario envía una solicitud de compra a un intercambio). Sin embargo, en En sistemas como Ethereum, una sola transacción puede constar de múltiples transacciones internas, por ejemplo, una smart contract que llama a una función en otro contrato. A continuación, nosotros describir dos estrategias de alto nivel para secuenciar transacciones de "contratos múltiples", mientras preservar la atomicidad de la transacción (es decir, la secuencia de acciones prescritas por las transacciones se ejecutan todas en el orden correcto, o no se ejecutan en absoluto).Fuerte atomicidad: La solución más sencilla es aplicar FSS, como se describe anteriormente, directamente a transacciones completas de "contratos múltiples". Es decir, los usuarios envían sus transacciones en la red y FSS monitorea, secuencia y publica estas transacciones en el cadena principal. Este enfoque es técnicamente simple, pero tiene una limitación potencial: si un usuario La transacción interactúa con dos contratos SC1 y SC2 que ambos quieren aprovechar la equidad. servicios de secuenciación, entonces la política de secuenciación de estos dos contratos debe ser coherente. Es decir, dadas dos transacciones diferentes tx1 y tx2 con las que cada una interactúa tanto SC1 como SC2, no debe darse el caso de que la política de SC1 ordene tx1 antes que tx2 mientras que la política de SC2 prescribe el orden opuesto. Para la gran mayoría de escenarios de interés, prevemos que las políticas de secuenciación adoptadas por diferentes contratos serán consistentes. Por ejemplo, tanto SC1 como SC2 es posible que desee que las transacciones se ordenen según su hora aproximada de llegada al mempool, y SC1 puede además querer que ciertos informes oracle se entreguen siempre primero. como el Las últimas transacciones de informes oracle no interactúan con SC2, las políticas son consistentes. Atomicidad débil: En toda su generalidad, FSS podría aplicarse a nivel de individuo transacciones internas. Considere transacciones de la forma tx = { ˜txpre, ˜txSC, ˜txpost}, que consisten en algunos transacción(es) ˜txpre, lo que resulta en una transacción interna ˜txSC a SC, que a su vez emite transacciones internas ˜txpost. La política de secuenciación de SC podría determinar cómo la transacción interna ˜txSC debe ordenarse con respecto a otras transacciones enviadas a SC, pero deja abierto el orden de secuenciación para ˜txpre y ˜txpost. Dadas las características intrínsecas del procesamiento de transacciones en sistemas como Ethereum, desarrollar un servicio de secuenciación dirigido a transacciones internas específicas no es sencillo. Con un contrato SC especialmente diseñado, esto puede realizarse de la siguiente manera: 1. La transacción tx se envía a la red y se extrae (sin ninguna secuenciación). realizado por FSS). El ˜txpre inicial se ejecuta y llama a ˜txSC. 2. SC no ejecuta ˜txSC y regresa. 3. FSS monitorea las transacciones internas a SC, las secuencia y las publica a SC (es decir, enviando transacciones ˜txSC directamente a SC). 4. SC procesa las transacciones ˜txSC recibidas del FSS y emite transacciones internas ˜txpost que resultan de ˜txSC. Con este enfoque, las transacciones no se ejecutan de forma totalmente atómica (es decir, el original la transacción tx se divide en múltiples transacciones en cadena), pero el orden de Se conservan las transacciones internas. Esta solución implica una serie de limitaciones de diseño. Por ejemplo, ˜txpre no puede supongamos que se ejecutarán ˜txSC y ˜txpost. Además, el SC debe diseñarse de manera que ejecutar transacciones ˜txSC y ˜txpost en nombre de un determinado usuario, aunque fueranenviado por FSS. Por estas razones, la solución más generalizada de “Atomicidad fuerte” Lo anterior probablemente sea preferible en la práctica. Para respetar dependencias más complejas, que involucran múltiples transacciones y sus respectivas transacciones internas, el programador de transacciones de FSS puede contener Funciones elaboradas que se asemejan a las que se encuentran en los administradores de transacciones de los sistemas relacionales. gestores de bases de datos. 5.3 Secuenciación justa de transacciones Aquí analizamos dos nociones de equidad para la secuenciación de transacciones y las implementaciones correspondientes, que pueden ser realizadas por FSS: equidad de orden basada en una política impuesto por FSS y preservación segura de la causalidad, lo que requiere métodos criptográficos adicionales en FSS. Orden-justicia: La equidad del orden es una noción de equidad temporal en los protocolos de consenso que fue introducido formalmente por primera vez por Kelkar et al. [144]. Kelkar et al. objetivo lograr una forma de política natural en la que las transacciones sean ordenados en función del momento en que fueron recibidos por primera vez por DON (o la red P2P, en el caso de un FSS basado en mempool). Sin embargo, en un sistema descentralizado, diferentes Los nodos pueden ver que las transacciones llegan en un orden diferente. Establecer un orden total en todas las transacciones es el problema resuelto por el protocolo de consenso subyacente CADENA PRINCIPAL. Kelkar et al. [144] por lo tanto introduce una noción más débil que puede ser logrado con la ayuda de una red Oracle descentralizada, llamada "equidad de orden de bloque". Agrupa las transacciones que el DON ha recibido durante un intervalo de tiempo en un “bloque” e inserta todas las transacciones del bloque simultáneamente y en la misma posición (es decir, altura) en CADENA PRINCIPAL. Por lo tanto, están ordenados juntos y deben ser ejecutables. en paralelo, sin crear conflictos entre ellos. En términos generales, orderfairness establece que si una gran fracción de nodos ve la transacción τ1 antes de τ2, entonces τ1 se secuenciará antes o en el mismo bloque que τ2. Al imponer una medida tan grosera granularidad en el orden de transacción, las oportunidades de ataques frontales y otros ataques relacionados con el pedido se reducen considerablemente. Kelkar et al. proponer una familia de protocolos llamada Aequitas [144], que abordan Diferentes modelos de implementación, incluidas configuraciones de red síncronas, parcialmente síncronas y asíncronas. Los protocolos de Aequitas imponen una sobrecarga de comunicación significativa en relación con el consenso básico BFT y, por lo tanto, no son ideales para uso práctico. Sin embargo, creemos que surgirán variantes prácticas de Aequitas que podrán utilizarse para secuenciación de transacciones en FSS y otras aplicaciones. Algunos esquemas relacionados tienen Ya se han propuesto que tienen menos formalismo y propiedades más débiles. por ejemplo, [36, 151, 236], pero mejor rendimiento práctico. Estos esquemas pueden ser apoyados en FSS también. También vale la pena señalar que el término "imparcialidad" aparece en otras partes del blockchain literatura con un significado diferente, a saber, equidad en el sentido de oportunidad paramineros proporcionales a sus recursos comprometidos [106, 181] o para validators en términos de igualdad de oportunidades [153]. Preservación segura de la causalidad: El enfoque más conocido para prevenir el avance y otras violaciones de orden en plataformas distribuidas se basa en criptografía. técnicas. Su característica común es ocultar los datos de la transacción, esperando hasta que Se ha establecido el orden en la capa de consenso y revelar los datos de la transacción. posteriormente para su procesamiento. Esto preserva el orden causal entre las transacciones que se realizan. ejecutado por el blockchain. Las nociones de seguridad y protocolos criptográficos relevantes. se han desarrollado considerablemente antes de la llegada de blockchains [71, 190]. Las condiciones de seguridad de “causalidad de entrada” [190] y “preservación segura de la causalidad” [71, 97] requieren formalmente que no se conozca ninguna información sobre una transacción. antes de que se haya determinado la posición de esta transacción en el orden global. Un adversario no debe poder inferir ninguna información hasta ese momento, de forma criptográfica. sentido fuerte. Se pueden distinguir cuatro técnicas criptográficas para preservar la causalidad: • Protocolos de confirmación-revelación [29, 142, 145]: en lugar de anunciar una transacción en claro, solo se transmite un compromiso criptográfico con la transacción. Después de que se hayan ordenado todas las transacciones comprometidas pero ocultas (a principios de blockchain sistemas en MAINCHAIN, pero aquí por FSS), el remitente debe abrir el compromiso y revelar los datos de la transacción dentro de un intervalo de tiempo predeterminado. Luego, la red verifica que la apertura satisface el compromiso anterior. el Los orígenes de este método datan de antes de la llegada de blockchains. Aunque es particularmente simple, el enfoque presenta desventajas considerables y no es fácil de emplear por dos razones. Primero, dado que sólo el compromiso existe a nivel del protocolo de pedido, la semántica de la transacción no se puede validar durante el consenso. Un viaje adicional de ida y vuelta al cliente. es necesario. Pero lo más grave es la posibilidad de que no se pueda abrir ninguna apertura. llegar alguna vez, lo que podría equivaler a un ataque de denegación de servicio. Además, Es difícil determinar si la apertura es válida de forma consistente y distribuida. manera porque todos los participantes deben ponerse de acuerdo sobre si la apertura llegó en tiempo. • Protocolos de confirmación-revelación con recuperación retrasada [145]: un desafío con el El enfoque de compromiso-revelación es que un cliente puede comprometerse con una transacción de manera especulativa y revelarla más tarde sólo si las transacciones posteriores la hacen rentable. un Una variante reciente del enfoque de compromiso-revelación mejora la resiliencia contra este tipo de mala conducta. En particular, el protocolo TEX [145] aborda este problema. utilizando un enfoque inteligente en el que las transacciones cifradas incluyen una clave de descifrado obtenible calculando una función de retardo verificable (VDF) [53, 221]. si un cliente no logra descifrar su transacción de manera oportuna, otros en el sistema la descifrarán en su nombre resolviendo un rompecabezas criptográfico moderadamente difícil.• Cifrado de umbral [71, 190]: este método aprovecha lo que DON puede realizar operaciones criptográficas de umbral. Supongamos que FSS mantiene un cifrado público key pkO y los oracles comparten la clave privada correspondiente entre ellos. Luego, los clientes cifran las transacciones bajo pkO y las envían al FSS. Órdenes FSS transacciones en el DON, luego las descifra y finalmente las inyecta en CADENA PRINCIPAL en el orden fijo. Por lo tanto, el cifrado garantiza que el pedido sea no se basa en el contenido de la transacción, sino en que los datos en sí están disponibles cuando necesario. Este método fue propuesto originalmente por Reiter y Birman [190] y luego perfeccionado por Cachin et al. [71], donde se integró con un consenso autorizado protocolo. Un trabajo más reciente ha explorado el uso de la criptografía de umbral como Mecanismo de nivel de consenso para mensajes genéricos [33, 97] y para cálculos generales con datos compartidos [41]. En comparación con los protocolos de confirmación y revelación, el cifrado de umbral evita ataques simples de denegación de servicio (aunque se requiere cuidado dado el costo computacional del descifrado). Permite que el DON avance de forma autónoma, a su propia velocidad y sin esperando más acciones del cliente. Las transacciones pueden validarse inmediatamente después de haber sido descifradas. Además, los clientes cifran todas las transacciones con una clave para el DON y el patrón de comunicación sigue siendo el mismo que con otros transacciones. Gestionar la clave de umbral de forma segura y con cambios de nodos en O, sin embargo, puede plantear dificultades adicionales. • Compromiso de compartir secretos [97]: en lugar de cifrar los datos de la transacción en una clave en poder de DON, el cliente también puede compartirla en secreto para los nodos en O. Utilizando un esquema de intercambio de secretos híbrido y computacionalmente seguro, la transacción se cifra primero utilizando un cifrado simétrico con una clave aleatoria. Solo se comparte la clave simétrica correspondiente y el texto cifrado se envía al DON. El cliente debe enviar una clave compartida a cada nodo en O mediante un mensaje cifrado por separado. Los pasos restantes del protocolo son los mismos que con el umbral. cifrado, excepto que los datos de la transacción se descifran con el código simétrico algoritmo después de reconstruir la clave por transacción a partir de sus acciones. Este método no requiere la configuración ni la gestión de un criptosistema de clave pública. asociado con el DON. Sin embargo, los clientes deben ser conscientes de los nodos en O y comunicarse en un contexto seguro con cada uno de ellos, lo que los sitúa carga adicional para los clientes. Aunque los métodos criptográficos ofrecen una protección completa contra la información Al filtrarse de las transacciones enviadas a la red, no ocultan metadatos. Para Por ejemplo, una dirección IP o una dirección Ethereum del remitente aún podría ser utilizada por un adversario para realizar ataques frontales y de otro tipo. Varias mejoras de la privacidad técnicas implementadas en la capa de red, por ejemplo, [52, 95, 107], o la capa de transacción, por ejemplo, [13, 65], sería necesario para lograr este objetivo. El impacto de una pieza en particular. de metadatos, es decir, a qué contrato se envía una transacción, puede ocultarse (parcialmente)mediante la multiplexación de muchos contratos en el mismo DON. Ocultamiento criptográfico de transacciones per se tampoco impide la priorización de transacciones por parte de personas corruptas DON nodos en connivencia con remitentes de transacciones. La causalidad segura garantizada por los protocolos criptográficos complementa las garantías de equidad de orden para cualquier póliza, y tenemos la intención de explorar una combinación de las dos. métodos, cuando esto sea posible. Si un adversario no puede obtener una ventaja significativa Al observar los metadatos, los protocolos seguros de preservación de la causalidad podrían usarse junto con también un enfoque de ordenación ingenuo. Por ejemplo, los nodos oracle pueden escribir transacciones a L tan pronto como los reciban, sin duplicación. Las transacciones entonces serían ordenados según su aparición en L y posteriormente descifrados. También planeamos considerar el uso de TEE como una forma de ayudar a hacer cumplir los pedidos justos; para Por ejemplo, se puede considerar que Tesseract [44] logra una forma de ordenamiento causal, pero uno fortalecido por la capacidad del TEE para procesar transacciones en forma explícita mientras conservando su confidencialidad. 5.4 Consideraciones de la capa de red Hasta ahora, nuestra descripción del FSS se ha centrado principalmente en el problema de hacer cumplir que el El orden final de las transacciones coincide con el orden observado en la red. De ahora en adelante, Consideramos cuestiones de equidad que podrían surgir en la propia capa de red. Los comerciantes de alta frecuencia en los mercados electrónicos convencionales invierten considerables recursos para obtener una velocidad de red superior [64], y los comerciantes en intercambios de criptomonedas exhiben un comportamiento similar [90]. La velocidad de la red confiere una ventaja tanto en observar las transacciones de otras partes y presentar transacciones competitivas. Un remedio implementado en la práctica y popularizado en el libro Flash Boys [155] es el “bache de velocidad” introducido inicialmente en el intercambio IEX [128] y posteriormente en otros intercambia [179] (con resultados mixtos [19]). Este mecanismo impone un retraso (350 microsegundos en IEX) en el acceso al mercado, con el objetivo de neutralizar las ventajas en velocidad. Evidencia empírica, p.e. [128], respalda su eficacia para disminuir ciertas operaciones costes para los inversores ordinarios. FSS se puede utilizar simplemente para implementar un sistema asimétrico. obstáculo: uno que retrasa las transacciones entrantes. Budish, Cramton y Shim [64] sostienen que la explotación de las ventajas de la velocidad es ineludible en los mercados de tiempo continuo, y abogan por una solución estructural en el en forma de mercados basados en subastas por lotes. Pero este enfoque no ha arraigado ampliamente en las plataformas comerciales existentes. Los sistemas comerciales convencionales están centralizados y normalmente reciben transacciones a través de una única conexión de red. En un sistema descentralizado, por el contrario, es posible observar la propagación de transacciones desde múltiples puntos de vista. En consecuencia, es posible observar comportamientos como la inundación de la red en una red P2P. pretendemos Explorar enfoques de capa de red para FSS que ayuden a los desarrolladores a especificar políticas. prohibir tales comportamientos indeseables en la red.5.5 Políticas de equidad a nivel de entidad La equidad del orden y la causalidad segura tienen como objetivo hacer cumplir un orden en las transacciones que respeta el momento en que fueron creados y enviados por primera vez a la red. Una limitación de esta noción de justicia es que no previene ataques en los que un adversario obtiene una ventaja al inundar un sistema con muchas transacciones, una estrategia observada en la naturaleza como una forma de realizar transacciones efectivas en token ventas [159] y para crear congestión que resulte en la liquidación de posiciones de deuda garantizada (CDP) [48]. En otras palabras, la equidad en el orden impone justicia con respecto a las transacciones, no a los jugadores. Como se muestra en el sistema CanDID [160], es posible utilizar herramientas oracle como DECO o Town Pregonero en conjunto con un comité de nodos (como un DON) para lograr diversas formas de resistencia a Sybil al tiempo que protege la privacidad. Los usuarios pueden registrar identidades. y proporcionar evidencia de su singularidad sin revelar las identidades mismas. Las credenciales resistentes a Sybil ofrecen un posible enfoque para enriquecer el ordenamiento de transacciones políticas de una manera que limitaría las oportunidades de ataques por inundaciones. Por ejemplo, un La venta token podría permitir solo una transacción por usuario registrado, donde el registro requiere una prueba de unicidad de un identificador nacional, como un número de seguro social. Este enfoque no es infalible, pero puede resultar una política útil para mitigar los ataques de inundación de transacciones.

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.

El marco de ejecución de transacciones DON

(DON-TEF) DONs proporcionará oracle y soporte de recursos descentralizados para soluciones de capa 2 dentro lo que llamamos Marco de ejecución de transacciones de red descentralizada de Oracle (DONTEF) o TEF para abreviar. Hoy en día, la frecuencia de las actualizaciones de los contratos DeFi está limitada por las latencias de la cadena principal, por ejemplo, el intervalo de bloque promedio de 10 a 15 segundos en Ethereum [104], así como el costo de impulsar grandes cantidades de datos en cadena y un rendimiento computacional/de transmisión limitado: enfoques de escalamiento motivadores como la fragmentación [148, 158, 232] y la ejecución de capa 2 [5, 12, 121, 141, 169, 186, 187]. Incluso blockchains con tiempos de transacción mucho más rápidos, por ejemplo, [120], han propuesto estrategias de escalamiento que involucran cálculo fuera de la cadena [168]. TEF está destinado a actuar como un recurso de capa 2 para cualquiera de dichos sistemas de capa 1/CADENA PRINCIPAL. Usando TEF, DONs pueden admitir actualizaciones más rápidas en un contrato MAINCHAIN mientras conservar las garantías de confianza clave proporcionadas por la cadena principal. TEF puede apoyar cualquiera de una serie de técnicas y paradigmas de ejecución de capa 2, incluidos rollups,11 rollups optimistas, Validium, etc., así como un modelo de confianza de umbral en el que DON Los nodos ejecutan transacciones. El TEF es complementario del FSS y está destinado a apoyarlo. En otras palabras, cualquier La aplicación que se ejecuta en TEF puede utilizar FSS. 11A menudo llamados “zk-rollups”, un nombre inapropiado, ya que no necesariamente necesitan pruebas de conocimiento cero.

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

6.1 Descripción general de TEF El TEF es un patrón de diseño para la construcción y ejecución de un híbrido de alto rendimiento. smart contractSC. De acuerdo con la idea principal detrás de los smart contracts híbridos, TEF implica un descomposición de SC en dos partes: (1) Lo que llamamos en el contexto TEF un ancla contrato SCa en MAINCHAIN y (2) DON lógica ejecutable que llamamos ejecutable TEF. Usamos SC aquí para denotar el contrato lógico implementado por la combinación de SCa y ejecutar. (Como se señaló anteriormente, esperamos desarrollar herramientas de compilación para descomponer un contrato SC automáticamente en estos componentes.) El ejecutable TEF exect es el motor que procesa las transacciones de los usuarios en SC. eso se puede ejecutar de manera eficiente, ya que se ejecuta en DON. Tiene varias funciones: • Ingestión de transacciones: exect recibe o recupera las transacciones de los usuarios. puede hacerlo directamente, es decir, a través del envío de transacciones en DON, o a través de MAINCHAIN mempool usando MS. • Ejecución rápida de transacciones: exect procesa transacciones que involucran activos dentro SC. Lo hace localmente, es decir, en el DON. • Acceso rápido y de bajo costo a oracle/adaptador: exect tiene acceso nativo a los informes oracle y otros datos del adaptador que conducen a, por ejemplo, activos más rápidos, más baratos y más precisos. fijación de precios que la ejecución MAINCHAIN. Además, el acceso fuera de la cadena oracle reduce el costo operativo del oracle, por lo tanto, el costo de uso del sistema, al evitar costoso almacenamiento en cadena. • Sincronización: exect envía periódicamente actualizaciones de DON a MAINCHAIN, actualizando SCa. El contrato ancla es la parte frontal de MAINCHAIN ​​de SC. Como componente de mayor confianza de SC, cumple varios propósitos: • Custodia de activos: los fondos de los usuarios se depositan, mantienen y retiran de SCa. • Verificación de sincronización: SCa puede verificar la exactitud de las actualizaciones de estado cuando se ejecutan. sincroniza, por ejemplo, SNARK adjuntos a rollups. • Barandillas: SCa puede incluir disposiciones para proteger contra la corrupción o fallas. en ejecutivo. (Consulte la Sección 7 para obtener más detalles). En TEF, los fondos de los usuarios están custodiados en MAINCHAIN, lo que significa que el DON en sí mismo no tiene custodia. Dependiendo de la elección del mecanismo de sincronización (ver más abajo), los usuarios pueden necesitar confiar en DON solo para obtener informes oracle precisos y sincronización oportuna con MAINCHAIN. El modelo de confianza resultante es muy similar al de los DEX basados en libros de pedidos, por ejemplo, [2], que hoy en día generalmente incluyen un componente fuera de la cadena para igualar órdenes y un componente dentro de la cadena para compensación y liquidación.Para utilizar el vocabulario de los sistemas de pago, se puede pensar en exect como el componente SCa es responsable de la compensación, mientras que SCa se encarga de la liquidación. Consulte la Fig. 13 para ver un esquema. representación de TEF. Figura 13: Esquema de TEF. En este ejemplo, las transacciones pasan a través del mempool. de MAINCHAIN vía MS al DON. Beneficios de TEF: TEF conlleva tres beneficios principales: • Alto rendimiento: SC hereda el rendimiento mucho mayor de DON que MAINCHAIN tanto para transacciones como para informes oracle. Además, exect puede procesar transacciones más rápido y responder a oracle informes de manera más oportuna que una implementación solo en MAINCHAIN. • Tarifas más bajas: el proceso de sincronización es menos urgente que el procesamiento de transacciones, y las transacciones se pueden enviar desde DON a MAINCHAIN ​​en lotes. En consecuencia, las tarifas por transacción en cadena (por ejemplo, costos de gas) con este enfoque son mucho más bajas que las de un contrato que se ejecuta solo en MAINCHAIN. • Confidencialidad: Los mecanismos de confidencialidad del DON se pueden llevar a insistir en SC.

Limitaciones del TEF: Una limitación de TEF es que no admite transferencia instantánea. retiros, ya que ocurren solo en MAINCHAIN: Al enviar una solicitud de retiro a SCa, es posible que un usuario deba esperar a que exect realice una actualización de estado que incluya el transacción de retiro antes de que pueda ser aprobada. Discutimos algunos remedios parciales, sin embargo, en la Sección 6.2. Otra limitación de TEF es que no admite la composición atómica de DeFi contratos en MAINCHAIN, específicamente la capacidad de enrutar activos a través de múltiples DeFi contratos en una sola transacción. Sin embargo, el TEF puede respaldar dicha atomicidad entre DeFi contratos que se ejecutan en el mismo DON. También analizamos algunas formas de abordar este problema. problema en la Sección 6.2. 6.2 Enrutamiento de transacciones Los usuarios pueden enviar las transacciones para SC directamente al DON o pueden enrutarse a través de el mempool en MAINCHAIN (a través de FSS). Hay cuatro tipos distintos de transacciones, cada uno de los cuales requiere un manejo diferente: Transacciones dentro del contrato: Debido a que evita las complicaciones de la dinámica del gas, TEF proporciona a SC más flexibilidad en el manejo de transacciones de lo que sería disponible en un contrato de capa 1. Por ejemplo, mientras una transacción de mempool en Ethereum puede ser sobrescrito por una nueva transacción con un precio de gas más alto, SC puede tratar una transacción que opera en activos dentro de SC como autorizada tan pronto como se vuelve visible en el grupo de memoria. En consecuencia, SC no necesita esperar a que se confirme una transacción. dentro de un bloque, lo que resulta en una latencia considerablemente reducida. Proxy: Un usuario puede desear enviar una transacción τ a SC a través de un contrato de billetera o otro contrato en MAINCHAIN. Es posible que DON simule la ejecución de τ en MAINCHAIN para determinar si da como resultado una transacción de seguimiento a SC. Si es así, τ puede secuenciarse con otras transacciones para SC que lo hagan. Hay algunos posibilidades sobre cómo DON identifica tales transacciones: (1) El DON puede simular todas las transacciones en el mempool (un enfoque costoso); (2) Ciertos contratos o los tipos de contratos, por ejemplo, billeteras, pueden enumerarse para su seguimiento mediante el DON; o (3) los usuarios pueden anotar transacciones para la inspección DON. Las cosas se vuelven más complicadas cuando una sola transacción interactúa con dos contratos, SC1 y SC2, los cuales utilizan Fair Sequencing Services y tienen políticas de pedidos incompatibles. El DON podría, por ejemplo, secuenciar τ en el último momento que sea compatible con ambos. Depósitos: Una transacción que deposita un activo MAINCHAIN en SC debe confirmarse en un bloque antes de que SC pueda considerarla válida. Cuando detecta la extracción de un transacción que envía activos (por ejemplo, Ether) a SCa, exect puede confirmar instantáneamente ladepósito. Por ejemplo, puede aplicar un precio actual informado oracle en el DON al activo. Retiros: Como se señaló anteriormente, una limitación de TEF es que los retiros no siempre se pueden ejecutar instantáneamente. En un modelo de ejecución de tipo rollup, el retiro La solicitud debe secuenciarse con otras transacciones, es decir, acumularse, para poder realizarse de forma segura. procesado. Sin embargo, existen algunas soluciones parciales a esta limitación. Si DON puede calcular rápidamente una prueba de validez rollup hasta la transacción de retiro, entonces observar la transacción τ de un usuario en el mempool exect puede enviar una transacción de actualización de estado τ ′ por τ a un precio de gas más alto, una especie de avance benéfico. Siempre que τ no se extraiga antes de que τ ′ llegue al mempool, τ ′ precederá a τ y τ efectuará un retiro aprobado. En una variante de TEF donde se confía en DON para calcular las actualizaciones de estado (consulte la variante de firma de umbral a continuación), el DON puede alternativamente determinar fuera de la cadena si τ debería aprobarse dado el estado de SC al momento de su ejecución. El DON luego puede enviar una transacción τ ′ que aprueba el retiro τ, sin efectuar un pago completo actualización del estado. Si este enfoque no es posible, o en los casos en los que no tiene éxito, una iniciativa iniciada por DON La transacción τ ′ puede enviar fondos al usuario en respuesta a τ para que el usuario no necesite iniciar una transacción adicional. 6.3 Sincronización El ejecutable TEF envía periódicamente actualizaciones de DON a MAINCHAIN, actualizar el estado de SCa en un proceso al que nos referimos como sincronización. Se puede pensar en sincronizar como propagación de transacciones de capa 2 a capa 1, por lo que TEF puede recurrir a cualquiera de un número de técnicas existentes para este propósito, incluyendo rollups [5, 12, 16, 69], optimista rollups [10, 11, 141], Validium [201] o firma de umbral básico, por ejemplo, umbral BLS, Schnorr o ECDSA [24, 54, 116, 202]. En principio, entornos de ejecución confiables También puede dar fe de la corrección de los cambios de estado, ofreciendo una visión mucho más eficaz. alternativa a rollups, pero con un modelo de confianza dependiente del hardware. (Ver, por ejemplo, [80].) A continuación comparamos estas opciones de sincronización con respecto a tres propiedades clave en TEF: • Disponibilidad de datos: ¿Dónde se almacena el estado de SC? Al menos tres opciones son disponible en TEF: en MAINCHAIN, en un DON o mediante algún almacenamiento de terceros proveedores como IPFS. Logran diferentes garantías de seguridad, disponibilidad niveles y perfiles de desempeño. Brevemente, almacenar el estado en MAINCHAIN permite auditabilidad en cadena y elimina la dependencia de cualquier parte para la disponibilidad del estado; por otro lado, almacenar el estado fuera de la cadena puede reducir el costo de almacenamiento y mejorar rendimiento, a costa de confiar en los proveedores de almacenamiento (DON o terceros) para disponibilidad de datos. Por supuesto, los modelos flexibles que combinan estas opciones también son posible. Indicamos la forma requerida de disponibilidad de datos en la Tabla 1.• Garantías de corrección: ¿Cómo comprueba SCa la corrección de las actualizaciones? empujado por ejecutivo? Esto afecta la carga computacional en exect y SCa y la latencia de sincronización (ver más abajo). • Latencia: La latencia de sincronización tiene tres factores que contribuyen: (1) El tiempo necesario para ejecutar generar una transacción de sincronización τsync; (2) El tiempo necesario para τsync por confirmar en MAINCHAIN; y (3) El tiempo para que τsync surta efecto en SCa. En TEF, la latencia es particularmente importante para los retiros (pero menos para transacciones dentro del contrato) porque los retiros necesariamente requieren (al menos parcial) sincronización de estado. Sincronización opciones Datos disponibilidad Corrección garantías Latencia Resumen [5, 12, 16, 69] En cadena Pruebas de validez Tiempo necesario para generar pruebas de validez (por ejemplo, actas en los sistemas actuales) Validez [201] Fuera de cadena Pruebas de validez Igual que arriba Optimista rollup [10, 11, 141] En cadena Pruebas de fraude Duración del desafío período (por ejemplo, dias o semanas) Firma de umbral [24, 54, 116, 202] Flexibles Firmas de umbral por DON Instantáneo Entornos de ejecución confiables [80] Flexibles Basado en hardware atestados Instantáneo Tabla 1: Varias opciones de sincronización en TEF y sus propiedades. La Tabla 1 resume estas propiedades en las cinco opciones principales de sincronización en TEF. (Nota que no pretendemos comparar estas tecnologías como escalamiento de capa 2 independiente soluciones. Para ello remitimos a los lectores, por ejemplo, a [121]). Ahora analizamos cada opción de sincronización. Acumulados: Un rollup [69] es un protocolo en el que la transición de estado efectuada por un El lote de transacciones se calcula fuera de la cadena. Luego el cambio de estado se propaga en CADENA PRINCIPAL. Para implementar rollups, el ancla smart contract SCa almacena una representación compacta Rstate (por ejemplo, una raíz de Merkle) del estado real. Para sincronizar, ejecutar envía τsync = (T,R′ estado) a SCa donde T es el conjunto de las transacciones que procesó desde la últimasincronización y R′ state es la representación compacta del nuevo estado calculado aplicando transacciones en T al estado anterior Rstate. Hay dos variantes populares que difieren en cómo SCa verifica las actualizaciones de estado en τsync. El primero, (zk-)rollups, adjunta un argumento sucinto de corrección, a veces llamado una prueba de validez, para la transición Rstate →R′ estado. Para implementar esta variante, ejecute calcula y envía la prueba de validez (por ejemplo, una prueba zk-SNARK) junto con τsync, demostrando que R′ El estado es el resultado de aplicar T al estado actual de SCa. el ancla El contrato acepta la actualización del estado sólo después de haber verificado la prueba. Los rollup optimistas no incluyen argumentos de corrección, pero tienen staking y cuestionar los procedimientos que facilitan la verificación distribuida de las transiciones estatales. Para esto Variante rollup, SCa acepta tentativamente τsync asumiendo que es correcto (de ahí el optimismo) pero τsync no entra en vigor hasta después de un período de desafío, durante el cual cualquier parte El monitoreo de MAINCHAIN puede identificar actualizaciones de estado erróneas e informar a SCa que tome acciones necesarias (por ejemplo, revertir el estado e infligir una penalización a la ejecución). Ambas variantes rollup logran disponibilidad de datos en cadena, a medida que se publican las transacciones en cadena, a partir del cual se puede construir el estado completo. La latencia de zk-rollups es dominado por el tiempo necesario para generar pruebas de validez, que normalmente depende del tiempo orden de minutos en los sistemas existentes [16] y probablemente verá mejoras con el tiempo. Los rollup optimistas, por otro lado, tienen una latencia más alta (por ejemplo, días o semanas). porque el período de impugnación debe ser lo suficientemente largo para que funcionen las pruebas de fraude. el La implicación de una confirmación lenta es sutil y a veces específica del esquema, de modo que un análisis exhaustivo está fuera de alcance. Por ejemplo, ciertos planes consideran el pago transacciones como “finales sin confianza” [109] antes de que se confirme la actualización del estado, ya que un Un usuario normal podría verificar un rollup mucho más rápido que MAINCHAIN. Validio: Validium es una forma de (zk-)rollup que hace que los datos estén disponibles solo fuera de la cadena. y no mantiene todos los datos en MAINCHAIN. Específicamente, exect envía sólo el nuevo estado y la prueba pero no las transacciones a SCa. Con sincronización estilo Validium, ejecute y el DON que lo ejecuta son los únicos que almacenan el estado completo y que ejecutan transacciones. Al igual que con zk-rollups, la latencia de sincronización está dominada por la validez. tiempo de generación de pruebas. Sin embargo, a diferencia de zk-rollups, la sincronización del estilo Validium reduce el costo de almacenamiento y aumenta el rendimiento. Firma de umbral por DON: Asumir un umbral de DON nodos es honesto, un La opción de sincronización simple y rápida es hacer que DON nodos firmen colectivamente el nuevo estado. Este enfoque puede respaldar la disponibilidad de datos tanto dentro como fuera de la cadena. Tenga en cuenta que si Los usuarios confían en DON para las actualizaciones de oracle, no necesitan confiar más en él para aceptar actualizaciones de estado, ya que ya se encuentran en un modelo de confianza de umbral. Otro beneficio de El umbral de firma es de baja latencia. Soporte para nuevos formatos de firma de transacciones como propuesto en EIP-2938 [70] y conocido como abstracción de cuenta haría que el umbral firmar considerablemente más fácil de implementar, ya que eliminaría la necesidad de establecer un umbral ECDSA, que implica protocolos considerablemente más complejos (p. ej., [116, 117, 118])que alternativas como el umbral de firmas Schnorr [202] o BLS [55]. Entornos de ejecución confiables (TEE): Los TEE son entornos de ejecución aislados (generalmente realizados mediante hardware) que tienen como objetivo proporcionar protecciones de seguridad sólidas. para programas que se ejecutan en su interior. Algunos TEE (por ejemplo, Intel SGX [84]) pueden producir pruebas, conocidos como atestados, que una salida es calculada correctamente por un programa específico para una entrada particular12. Se puede implementar una variante de sincronización TEF basada en TEE mediante reemplazar pruebas en (zk-)rollups o Validium con certificaciones TEE usando técnicas de [80]. En comparación con las pruebas de conocimiento cero utilizadas en rollups y Validium, los TEE son mucho más más rendimiento. En comparación con la firma de umbral, los TEE eliminan la complejidad de generar firmas ECDSA de umbral ya que, en principio, solo es necesario que haya un TEE involucrados. Sin embargo, el uso de TEE introduce suposiciones de confianza adicionales dependientes del hardware. También se pueden combinar TEE con firma de umbral para crear resiliencia. contra el compromiso de una fracción de los casos de TEE, aunque esta medida de protección reintroduce la complejidad de generar firmas ECDSA de umbral. Flexibilidad adicional: Estas opciones de sincronización se pueden perfeccionar para proporcionar más flexibilidad de las siguientes maneras. • Activación flexible: la aplicación TEF puede determinar las condiciones bajo las cuales se activa la sincronización. Por ejemplo, la sincronización puede realizarse por lotes, por ejemplo, después de cada N transacciones, basadas en el tiempo, por ejemplo, cada 10 bloques, o basadas en eventos, por ejemplo, ocurren siempre que los precios objetivo de los activos se muevan significativamente. • Sincronización parcial: es posible y en algunos casos deseable (por ejemplo, con rollups, La sincronización parcial puede reducir la latencia) para proporcionar una sincronización rápida de pequeños cantidades de estado, realizando una sincronización completa quizás solo periódicamente. Por ejemplo, exect puede aprobar una solicitud de retiro actualizando el saldo de un usuario en SCa sin actualizar de otro modo el estado de MAINCHAIN. 6.4 Reorganizaciones Reorganizaciones de blockchain resultantes de la inestabilidad de la red o incluso de ataques del 51% puede representar una amenaza para la integridad de una cadena principal. En la práctica, los adversarios han utilizado organizar ataques de doble gasto [34]. Si bien estos ataques a las principales cadenas son Aunque son difíciles de montar, siguen siendo factibles para algunas cadenas [88]. Debido a que opera independientemente de MAINCHAIN, un DON ofrece la interesante posibilidad de observar y proporcionar algunas protecciones contra reorganizaciones asociadas con ataques. Por ejemplo, un DON puede informar a un SC de contrato dependiente en MAINCHAIN ​​la existencia de una bifurcación competidora de cierta longitud umbral τ. El DON también puede 12En el Apéndice B.2.1 se pueden encontrar detalles complementarios. No son necesarios para la comprensión.

proporcionar pruebas, ya sea en un entorno PoW o PoS, de la existencia de dicha bifurcación. el El contrato SC puede implementar acciones defensivas adecuadas, como suspender la ejecución de transacciones adicionales por un período de tiempo (por ejemplo, para permitir que los intercambios incluyan en la lista negra los gastos dobles). activos). Tenga en cuenta que, si bien un adversario que realiza un ataque del 51% puede intentar censurar informes de un DON, una contramedida en SC es requerir informes periódicos del DON para procesar transacciones (es decir, un latido) o para requerir un nuevo informe para validar una transacción de alto valor. Si bien estas alertas de bifurcación son, en principio, un servicio general, el DON puede proporcionar Para cualquiera de una serie de propósitos, nuestro plan es incorporarlos al 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.

Minimización de confianza

Como sistema descentralizado con participación de un conjunto heterogéneo de entidades, el La red Chainlink proporciona una sólida protección contra fallas tanto en la vida (disponibilidad) como en la seguridad (integridad del informe). La mayoría de los sistemas descentralizados, sin embargo, varían en el grado en que sus componentes constitutivos están ellos mismos descentralizados. esto Esto es cierto incluso para sistemas grandes, donde la descentralización limitada entre los mineros [32] y intermediarios [51] ha estado presente durante mucho tiempo. El objetivo de cualquier esfuerzo de descentralización es minimizar la confianza: buscamos reducir la efectos adversos de la corrupción sistémica o falla dentro de la red Chainlink, incluso eso debido a un DON malicioso. Nuestro principio rector es el Principio de Mínimo Privilegio [197]. Los componentes del sistema y los actores dentro del sistema deben tener privilegios estrictamente limitados. para permitir únicamente el cumplimiento exitoso de sus roles asignados. Aquí presentamos varios mecanismos concretos para que Chainlink los adopte en su impulso. hacia una minimización cada vez mayor de la confianza. Caracterizamos estos mecanismos en términos de los loci, es decir, los componentes del sistema, en los que están arraigados, como se muestra en la Fig. 14. abordar cada locus en una subsección respectiva. 7.1 Autenticación de fuente de datos Los modelos operativos actuales para oracles están limitados por el hecho de que pocas fuentes de datos firman digitalmente los datos que omiten, en gran parte porque TLS no firma de forma nativa datos. TLS hace uso de firmas digitales en su protocolo de “apretón de manos” (para establecer una clave compartida entre un servidor y un cliente). Por lo tanto, los servidores habilitados para HTTPS tienen certificados sobre claves públicas que en principio pueden servir para firmar datos, pero generalmente no utilizan estos certificados para respaldar la firma de datos. En consecuencia, la seguridad de un DON, como en las redes oracle actuales, se basa en nodos oracle que transmiten fielmente datos desde un fuente a un contrato. Un componente importante a largo plazo de nuestra visión para la minimización de la confianza en Chainlink implica una autenticación más sólida de la fuente de datos mediante el soporte de herramientas y estándares para la firma de datos. La firma de datos puede ayudar a hacer cumplir las garantías de integridad de un extremo a otro. En principio, si un contrato acepta como entrada un dato D firmado directamente por un

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

Figura 14: Loci de los mecanismos de minimización de confianza discutidos en esta sección. 1⃝Datos Las fuentes proporcionan datos al 2⃝DON, que transmite una función de los datos a un dependiente. 3⃝smart contract. Además, la red DON o oracle incluye 4⃝nodos gestión de smart contracts en MAINCHAIN para, por ejemplo, nodos de compensación, guardia rieles, etc. fuente, entonces la red oracle no puede alterar D. Varios elementos alentadores Han surgido esfuerzos para permitir dicha firma de datos, incluido OpenID Connect, que está diseñado principalmente para la autenticación de usuarios [9], TLS-N, un proyecto académico que tiene como objetivo ampliar TLS [191] reutilizando certificados TLS y Extensiones de evidencia TLS [63]. Si bien OpenID Connect ha experimentado cierta adopción, TLS Evidence Extensions y TLS-N aún no han sido adoptados. Otra posible vía de autenticación de fuentes de datos es utilizar las propias herramientas de los editores. Intercambios HTTP firmados (SXG) [230], que pueden almacenar en caché en redes de entrega de contenido como parte del protocolo Accelerated Mobile Pages (AMP) [225]. El navegador móvil Chrome muestra el contenido de los SXG almacenados en caché de AMP como si fueran servidos desde los propios dominios de red de sus editores en lugar del dominio del servidor de caché. Este incentivo de marca, junto con la relativa facilidad para habilitarlo mediante servicios como Real URL [83] de CloudFlare y amppackager [124] de Google, puede conducir a una adopción generalizada de SXG en contenido de noticias almacenado en caché, lo que permitiría una solución simple y resistente a manipulaciones. manera para que Chainlink oracles se activen en eventos de interés periodístico reportados en SXG válidos. Si bien los SXG almacenados en caché de AMP de los editores de noticias no serían útiles para aplicaciones como informes sobre datos comerciales, podrían ser una fuente segura de información personalizada contratos relacionados con eventos del mundo real como condiciones climáticas extremas o resultados electorales. Creemos que una implementación simple, herramientas maduras y flexibilidad serán vitales para acelerar la firma de fuentes de datos. Permitir que los proveedores de datos utilicen Chainlink nodos como una interfaz API autenticada parece un enfoque prometedor. Pretendemos crear unaopción para que los nodos funcionen en este modo, con o sin participación en la red como un oracle en toda regla. Nos referimos a esta capacidad como origen de datos autenticados. (ADO). Al utilizar nodos Chainlink con ADO, las fuentes de datos podrán beneficiarse a partir de la experiencia y las herramientas desarrolladas por la comunidad Chainlink para agregar contenido digital capacidades de firma a su conjunto existente de API fuera de la cadena. ¿Deberían optar por correr? sus nodos como oracles, también pueden abrir nuevas fuentes de ingresos potenciales bajo el mismo modelo que los proveedores de datos existentes, por ejemplo, Kraken [28], Kaiko [140] y otros, que ejecutan Chainlink nodos para vender datos API en cadena. 7.1.1 Las limitaciones del origen de datos autenticados La firma digital mediante fuentes de datos, si bien puede ayudar a fortalecer la autenticación, no es suficiente per se para lograr todos los objetivos operativos o de seguridad natural de un oracle red. Para empezar, un determinado dato D aún debe transmitirse de manera sólida y oportuna. desde una fuente de datos hasta smart contract u otro consumidor de datos. Es decir, incluso en un entorno ideal en el que todos los datos se firman mediante claves preprogramadas en dependientes contratos, aún se necesitaría un DON para comunicar los datos de manera confiable desde las fuentes a los contratos. Además, hay una serie de casos en los que los contratos u otros datos oracle Los consumidores quieren acceso a la salida autenticada de varias funciones calculadas sobre datos de origen por dos razones principales: • Confidencialidad: una API de fuente de datos puede proporcionar datos confidenciales o de propiedad exclusiva. que debe redactarse o desinfectarse antes de que se haga visible públicamente en la cadena. Sin embargo, cualquier modificación de los datos firmados invalidaba la firma. pon otro De esta manera, el ADO ingenuo y la desinfección de datos son incompatibles. Mostramos en el ejemplo 3. cómo se pueden conciliar ambos mediante una forma mejorada de ADO. • Fallos en las fuentes de datos: tanto los errores como las fallas pueden afectar las fuentes de datos, y las firmas digitales no abordan ninguno de los problemas. Desde sus inicios [98], Chainlink ha Ya se incluye un mecanismo para remediar tales fallas: la redundancia. Los informes emitidos por las redes oracle normalmente representan los datos combinados de múltiples fuentes. Ahora analizamos los esquemas que estamos explorando en el entorno ADO para mejorar la confidencialidad de los datos de origen y combinar datos de múltiples fuentes de forma segura. 7.1.2 Confidencialidad Es posible que las fuentes de datos no anticipen ni pongan a disposición toda la gama de API deseadas. por los usuarios. Específicamente, los usuarios pueden desear acceder a datos preprocesados para ayudar a garantizar confidencialidad. El siguiente ejemplo ilustra el problema.Ejemplo 3. Alice desea obtener una credencial de identidad descentralizada (DID) que indique que tiene más de 18 años (y por lo tanto puede, por ejemplo, solicitar un préstamo). hacer por lo tanto, debe demostrar este hecho sobre su edad ante un emisor de credenciales DID. Alice espera utilizar datos del Departamento de Vehículos Motorizados (DMV) de su estado. sitio web para tal fin. El DMV tiene un registro de su fecha de nacimiento y emitirá un Certificado A firmado digitalmente en el mismo de la siguiente forma: A = {Nombre: Alice, DoB: 16/02/1999}. En este ejemplo, la atestación A puede ser suficiente para que Alice le demuestre al DID emisor de la credencial que tiene más de 18 años. Pero filtra innecesariamente información confidencial: Alice DoB exacto. Idealmente, lo que Alice quisiera del DMV es una firma en un afirmación simple A′ de que “Alice tiene más de 18 años”. En otras palabras, ella quiere el salida de una función G en su fecha de nacimiento X, donde (informalmente), A′ = G(X) = Verdadero si FechaActual −X ≥18 años; de lo contrario, G(X) = Falso. Para generalizar, a Alice le gustaría poder solicitar a la fuente de datos un documento firmado. atestación A′ de la forma: A′ = {Nombre: Alice, Función:G(X), Resultado: Verdadero}, donde G(X) denota una especificación de una función G y su(s) entrada(s) X. Prevemos que un usuario debería poder proporcionar un G(X) deseado como entrada con su solicitud de un certificación correspondiente A′. Tenga en cuenta que la certificación A′ de la fuente de datos debe incluir la especificación G(X) para asegúrese de que A′ se interprete correctamente. En el ejemplo anterior, G(X) define el significado del valor booleano en A′ y por lo tanto True significa el sujeto de la atestación es mayor de 18 años. Nos referimos a consultas flexibles en las que un usuario puede especificar G(X) como consultas funcionales. Para admitir casos de uso como el del Ejemplo 3, así como aquellos que involucran consultas directamente de los contratos, pretendemos incluir soporte para consultas funcionales que involucren funciones simples G como parte de ADO. 7.1.3 Combinando datos de origen Para reducir los costos en cadena, los contratos generalmente están diseñados para consumir datos combinados. de múltiples fuentes, como se ilustra en el siguiente ejemplo. Ejemplo 4 (Datos de precios de medianización). Para proporcionar un indicador de precios, es decir, el valor de uno activo (por ejemplo, ETH) con respecto a otro (por ejemplo, USD), una red oracle generalmente Obtener precios actuales de varias fuentes, como bolsas. La red oracle normalmente envía a un contrato dependiente SC la mediana de estos valores. En un entorno con firma de datos, se obtiene una red oracle que funciona correctamente de fuentes de datos S = {S1, . . . , SnS} una secuencia de valores V = {v1, v2, . . . , vnS} de nS fuentes acompañadas de firmas específicas de la fuente Σ = {σ1, σ2, . . . , σnS}. sobre Al verificar las firmas, transmite el precio v = mediana(V ) a SC.Desafortunadamente, no existe una forma sencilla para que una red oracle transmita la mediana valor v en el ejemplo 4 a SC junto con una prueba sucinta σ∗ de que v se calculó correctamente sobre entradas firmadas. Un enfoque ingenuo sería codificar en SC las claves públicas de todas las fuentes de datos nS. La red oracle luego transmitiría (V, Σ) y permitiría a SC calcular la mediana de V. Sin embargo, esto daría como resultado una prueba σ de tamaño O(nS), es decir, σ∗ no sería sucinta. También generaría altos costos de gas para SC, que necesitaría verificar todas las firmas en Σ. El uso de SNARK, por el contrario, permite una prueba sucinta de valores fuente autenticados correctamente combinados. Puede que sea viable en la práctica, pero impone unas exigencias bastante altas. costos computacionales en el probador y costos de gas algo altos en la cadena. uso de Town Crier también es una posibilidad, pero requiere el uso de TEE, lo que no se adapta a todos Modelos de confianza de los usuarios. Un concepto útil para enmarcar soluciones al problema general de firmar datos combinados de fuentes es una herramienta criptográfica conocida como firmas funcionales [59, 132]. En resumen, las firmas funcionales permiten al firmante delegar la capacidad de firma, de modo que el delegado sólo puede firmar mensajes en el rango de una función F elegida por el firmante. En el Apéndice D mostramos cómo esta restricción funcional puede servir para limitar el rango de valores de informe emitidos por un DON en función de los valores firmados por las fuentes de datos. También presentamos una nueva primitiva, llamada firma funcional discretizada, que incluye un requisito relajado de precisión, pero que potencialmente tiene mucho más rendimiento. que enfoques como los SNARK. El problema de combinar fuentes de datos de una manera que incluya la autenticación de la fuente de resultados también se aplica a los agregadores de datos, por ejemplo, CoinCap, CoinMarketCap, CoinGecko, CryptoCompare, etc., que obtienen datos de una multiplicidad de intercambios, que ponderación en función de volúmenes, utilizando metodologías que en algunos casos hacen públicas y en otros casos son propietarios. Un agregador que desea publicar un valor con La autenticación de origen enfrenta el mismo desafío que una colección de nodos que se agregan. datos de origen. 7.1.4 Procesamiento de datos fuente Es probable que los smart contracts sofisticados dependan de estadísticas agregadas personalizadas durante fuentes de datos primarias, como la volatilidad en el historial de precios reciente de muchos activos, o textos y fotografías de noticias sobre hechos relevantes. Debido a que la computación y el ancho de banda son relativamente baratos en un DON, estas estadísticas: Incluso los modelos complejos de aprendizaje automático con muchas entradas se pueden procesar de forma económica, siempre que cualquier valor de salida destinado a un blockchain sea lo suficientemente conciso. Para trabajos computacionalmente intensivos donde DON los participantes pueden tener diferentes opiniones sobre entradas complejas, es posible que se requieran rondas adicionales de comunicación entre los DON participantes para establecer un consenso sobre las entradas antes de calcular el resultado. Siempre que el valor final esté completamente determinado por las entradas, una vez que se establece el consenso sobre las entradas, cada participante puede simplemente calcular el valor y transmitirlo al otro.participantes con su firma parcial, o enviarla a un agregador. 7.2 DON Minimización de confianza Visualizamos dos formas principales de minimizar la confianza depositada en los componentes del DON: clientes de conmutación por error e informes de minorías. 7.2.1 Clientes de conmutación por error Los modelos contradictorios en la literatura sobre criptografía y sistemas distribuidos generalmente considerar un adversario capaz de corromper (es decir, comprometer) un subconjunto de nodos, por ejemplo, menos de un tercio para muchos protocolos BFT. Se observa comúnmente, sin embargo, que si todos los nodos ejecutan software idéntico, un adversario que identifique un exploit fatal podría en principio comprometer todos los nodos más o menos simultáneamente. Esta configuración es a menudo denominado monocultivo de software [47]. Se han presentado varias propuestas para diversificar automáticamente el software y las configuraciones de software para abordar el problema, por ejemplo, [47, 113]. Como se indica en [47], sin embargo, la diversidad de software es una cuestión compleja y requiere una consideración cuidadosa. La diversificación del software, por ejemplo, puede resultar en peor seguridad que un monocultivo si aumenta la superficie de ataque de un sistema y, por lo tanto, sus posibles vectores de ataque por encima de los beneficios de seguridad que ofrece. Creemos que el soporte para clientes de conmutación por error sólidos, es decir, clientes a los que nodos puede cambiar ante un evento catastrófico, es una forma especialmente atractiva de diversificación del software. Los clientes de conmutación por error no aumentan el número de vectores potenciales de ataque, ya que no se implementan como software principal. Ofrecen beneficios claros, sin embargo, como segunda línea de defensa. Tenemos la intención de admitir clientes de conmutación por error en DONs como un medio clave para reducir su dependencia de seguridad de un solo cliente. Chainlink ya cuenta con un sólido sistema de clientes de conmutación por error. Nuestro enfoque Implica mantener versiones de clientes anteriores y probadas en batalla. Hoy, por ejemplo, Chainlink nodos con informes fuera de cadena (OCR) como cliente principal incluyen soporte para el sistema FluxMonitor anterior de Chainlink si es necesario. Habiendo estado en uso durante algunos Al mismo tiempo, FluxMonitor ha recibido auditorías de seguridad y pruebas de campo. Proporciona lo mismo funcionalidad como OCR, solo que a un costo mayor, un costo que solo se incurre según sea necesario. 7.2.2 Informes de minorías Dado un conjunto minoritario suficientemente grande de Ominoría (una fracción de nodos honestos que observan actos ilícitos por parte de la mayoría), puede ser útil para ellos generar una minoría. informe. Este es un informe o indicador paralelo, transmitido a un contrato SC dependiente en la cadena. por Ominoría. SC puede hacer uso de esta bandera de acuerdo con su propia política específica del contrato. Por ejemplo, para un contrato en el que la seguridad es más importante que la vivacidad o la capacidad de respuesta, un informe minoritario podría hacer que el contrato solicite informes complementarios. desde otro DON, o active un disyuntor (consulte la siguiente sección).Los informes de las minorías pueden desempeñar un papel importante incluso cuando la mayoría es honesta, porque cualquier esquema de agregación de informes, incluso si utiliza firmas funcionales, debe operar de manera umbral, para garantizar la resiliencia contra oracle o fallas de datos. en En otras palabras, debe ser posible producir un informe válido basado en los datos aportados por kS < nS oracles, para algún umbral kS. Esto significa que un DON corrupto tiene alguna latitud en la manipulación de los valores del informe seleccionando sus valores kS preferidos entre los nS informado en V por el conjunto completo de oracles, incluso si todas las fuentes son honestas. Por ejemplo, supongamos que nS = 10 y kS = 7 en un sistema que utiliza un funcional firma para autenticar el cálculo de la mediana sobre V para el precio en USD de ETH. Supongamos que cinco fuentes informan un precio de \(500, while the other five report \)1000. Luego, al medianar los 7 informes más bajos, el DON puede generar un valor válido v = $500, y al medianar el más alto, puede generar v = $1000. Al mejorar el protocolo DON para que todos los nodos sepan qué datos se disponibles, y qué datos se utilizaron para construir un informe, los nodos podrían detectar y marcar tendencias estadísticamente significativas a favorecer un conjunto de informes sobre otro, y producir como resultado un informe minoritario. 7.3 Barandillas Nuestro modelo de confianza para DONs trata a MAINCHAIN como una cadena de mayor seguridad y mayores privilegios. sistema que DONs. (Aunque este modelo de confianza puede no ser siempre cierto, es más fácil para adaptar el mecanismo resultante a situaciones en las que DON es la seguridad más alta plataforma que viceversa.) Por lo tanto, una estrategia natural de minimización de la confianza implica la implementación de mecanismos de monitoreo y seguridad en smart contracts, ya sea en una interfaz MAINCHAIN para un DON o directamente en un SC de contrato dependiente. Nos referimos a estos mecanismos como barandillas y enumeramos aquí algunas de las más importantes: • Disyuntores: el SC puede pausar o detener las actualizaciones de estado en función de las características de las actualizaciones de estado mismas (por ejemplo, gran variación entre secuencias). informes) o basados en otros insumos. Por ejemplo, un disyuntor podría dispararse en casos en los que los informes oracle varían de manera inverosímil con el tiempo. Un disyuntor podría también se verán afectados por un informe minoritario. Por lo tanto, los disyuntores pueden evitar que DONs de hacer informes tremendamente erróneos. Los disyuntores pueden dar tiempo para considerar intervenciones adicionales o ejercitado. Una de esas intervenciones son las trampillas de escape. • Trampillas de escape: en circunstancias adversas, identificadas por un conjunto de custodios, titulares de la comunidad token u otros órganos de fideicomisarios, un contrato puede invocar una instalación de emergencia a veces llamada trampilla de escape [163]. Una trampilla de escape hace que SC se cierre de alguna manera y/o termina pendiente y posiblemente transacciones futuras. Por ejemplo, puede devolver fondos custodiados a los usuarios [17]),puede rescindir los términos del contrato [162], o puede cancelar transacciones pendientes y/o futuras [173]. Las trampillas de escape se pueden implementar en cualquier tipo de contrato, no solo uno que se basa en un DON, pero son de interés como un potencial amortiguador contra DON mala conducta. • Conmutación por error: en sistemas donde SC depende del DON para servicios esenciales, es posible que SC proporcione mecanismos de conmutación por error que garanticen la continuidad del servicio incluso en el caso de DON falla o mala conducta. Por ejemplo, en el TEF (Sección 6), El contrato ancla SCa puede proporcionar interfaces duales donde tanto en cadena como Las interfaces de ejecución fuera de la cadena son compatibles con ciertas operaciones críticas (p. ej., retiro), o para transacciones ordinarias, con un retraso adecuado para evitar el avance de DON transacciones. En los casos en que las fuentes de datos firmen datos, los usuarios podrían también proporcionar informes a SCa cuando el DON no lo haga. Pruebas de fraude, como se propone para diversas formas de rollup optimista (consulte la Sección 6.3), son similares en sabor y complementarios a los mecanismos que enumeramos anteriormente. ellos también proporciona una forma de monitoreo en cadena y protección contra posibles fallas en componentes del sistema fuera de cadena. 7.4 Gobernanza minimizada en la confianza Como todos los sistemas descentralizados, la red Chainlink requiere mecanismos de gobernanza para ajustar parámetros en el tiempo, responder a emergencias y guiar su evolución. Algunos de estos mecanismos residen actualmente en MAINCHAIN y pueden continuar hágalo incluso con la implementación de DONs. Un ejemplo es el mecanismo de pago. para oracle proveedores de nodos (DON nodos). DON contratos front-end en MAINCHAIN contener mecanismos adicionales, como barandillas, que pueden estar sujetos a revisiones periódicas. modificación. Prevemos dos clases de mecanismos de gobernanza: evolutivos y de emergencia. Gobernanza evolutiva: Muchas modificaciones al ecosistema Chainlink son de manera que su implementación no sea un asunto de urgencia: Mejoras en el desempeño, mejoras de funciones, actualizaciones de seguridad (no urgentes), etc. A medida que Chainlink avanza progresivamente hacia aún más participantes en su gobernanza, esperamos que muchos o la mayoría de estos cambios deben ser ratificados por la comunidad de un DON específico afectado por esos cambios. Mientras tanto, y tal vez en última instancia como un mecanismo paralelo, creemos que una noción de privilegio temporal mínimo puede ser un medio útil para implementar una gobernanza evolutiva. Muy simple, la idea es que los cambios se implementen gradualmente, asegurando a la comunidad la oportunidad de responderles. Por ejemplo, la migración a un nuevo El contrato MAINCHAIN se puede restringir para que el nuevo contrato deba implementarse al menos treinta días antes de la activación.Gobernanza de emergencia: Vulnerabilidades explotables o explotadas en MAINCHAIN Los contratos u otras formas de vida o fallas de seguridad pueden requerir una intervención inmediata para prevenir resultados catastróficos. Nuestra intención es apoyar una multifirma mecanismo de intervención en el que, para garantizar contra malas prácticas por parte de cualquier organización, los firmantes estarán dispersos entre las organizaciones. Garantizar la disponibilidad constante de firmantes y acceso oportuno a las cadenas de mando apropiadas para la autorización de emergencias. Los cambios requerirán claramente una cuidadosa planificación operativa y revisiones periódicas. estos Los desafíos son similares a los involucrados en probar otras respuestas a incidentes de ciberseguridad. capacidades [134], con una necesidad similar de combatir problemas comunes como la disminución de la vigilancia [223]. La gobernanza de DONs difiere de la de muchos sistemas descentralizados en su grado potencial de heterogeneidad. Cada DON puede tener distintas fuentes de datos, ejecutables, requisitos de nivel de servicio como tiempo de actividad y usuarios. La red Chainlink Los mecanismos de gobernanza deben ser lo suficientemente flexibles para dar cabida a tales variaciones en objetivos y parámetros operativos. Estamos explorando activamente ideas de diseño y planeamos publicar investigaciones sobre este tema en el futuro. 7.5 Infraestructura de clave pública Con la descentralización progresiva surgirá la necesidad de una identificación sólida de participantes de la red, incluidos los nodos DON. En particular, Chainlink requiere una fuerte Infraestructura de clave pública (PKI). Una PKI es un sistema que vincula claves a identidades. Para Por ejemplo, una PKI sustenta el sistema de conexiones seguras (TLS) de Internet: cuando se conecta a un sitio web a través de HTTPS (por ejemplo, https://www.chainlinklabs.com) y un aparece un candado en su navegador, eso significa que la clave pública del propietario del dominio ha sido estado vinculado a ese propietario por una autoridad, específicamente, a través de una firma digital en el llamado certificado. Un sistema jerárquico de autoridades certificadoras (CA), cuyas autoridades raíz de nivel superior están integradas en los navegadores más populares, ayuda a garantizar que los certificados se emiten únicamente a los propietarios legítimos de los dominios. Esperamos que Chainlink eventualmente haga uso de servicios de nombres descentralizados, Inicialmente el Ethereum Name Service (ENS) [22], como base de nuestra PKI. como Como sugiere su nombre, ENS es análogo a DNS, el sistema de nombres de dominio que asigna (legibles por humanos) a direcciones IP en Internet. Sin embargo, ENS asigna nombres Ethereum legibles por humanos a direcciones blockchain. Porque ENS opera en el Ethereum blockchain, salvo compromiso clave, manipulación de su El espacio de nombres es, en principio, tan difícil como alterar el contrato que lo administra. y/o el blockchain subyacente. (DNS, por el contrario, históricamente ha sido vulnerable hasta suplantación de identidad, secuestro y otros ataques). Hemos registrado data.eth con ENS en la red principal Ethereum y tenemos la intención de establecerlo como un espacio de nombres raíz bajo el cual las identidades de los servicios de datos oracle y residen otras Chainlink entidades de red. Los dominios en ENS son jerárquicos, lo que significa que cada dominio puede contener referencias. a otros nombres bajo él. Los subdominios en ENS pueden servir como una forma de organizar ydelegar confianza. La función principal de data.eth será servir como un servicio de directorio en cadena para fuentes de datos. Tradicionalmente, los desarrolladores y usuarios de oracles han utilizado fuentes fuera de la cadena (por ejemplo, sitios web como docs.chain.link o data.chain.link, o redes sociales como Twitter) para publicar y obtener oracle direcciones de alimentación de datos (como el precio ETH-USD alimento). Con un espacio de nombres raíz altamente confiable como data.eth, es posible establecer una asignación de eth-usd.data.eth a, por ejemplo, la dirección smart contract de un agregador de red en cadena oracle para el precio de ETH-USD. esto seria crear un camino seguro para que cualquiera pueda referirse al blockchain como la fuente de la verdad para esa fuente de datos de ese par precio/nombre (ETH-USD). En consecuencia, tal uso de ENS obtiene dos beneficios que no están disponibles en las fuentes de datos fuera de la cadena: • Seguridad sólida: todos los cambios y actualizaciones del dominio se registran de forma inmutable y protegido criptográficamente, a diferencia de las direcciones de texto en un sitio web, que no disfrutar de ninguna de estas dos propiedades de seguridad. • Propagación automatizada en cadena: las actualizaciones de la dirección subyacente del smart contract de una fuente de datos pueden activar notificaciones que se propagan a las direcciones inteligentes dependientes. contratos y puede, por ejemplo, actualizar automáticamente los contratos dependientes con las nuevas direcciones.13 Sin embargo, los espacios de nombres como ENS no validan automáticamente la propiedad legítima. de nombres afirmados. Así, por ejemplo, si el espacio de nombres incluye la entrada ⟨“Acme Oracle Node Co.”, dirección⟩, entonces el usuario obtiene la seguridad de que la dirección pertenece al reclamante del nombre Acme Oracle Node Co. Sin mecanismos adicionales en torno a la administración del espacio de nombres, sin embargo, no obtiene seguridad de que el nombre pertenezca a una entidad legítimamente llamado Acme Oracle Node Co. en un sentido significativo del mundo real. Nuestro enfoque para la validación de nombres, es decir, garantizar su propiedad por parte de entidades correspondientes y legítimas del mundo real, se basa en varios componentes. Hoy, Chainlink Laboratorios actúa efectivamente como una CA para la red Chainlink. Mientras que Chainlink Labs continuará Para validar nombres, nuestra PKI evolucionará hacia un modelo más descentralizado de dos maneras: • Modelo de red de confianza: la contraparte descentralizada de una PKI jerárquica a menudo se denomina red de confianza.14 Se han propuesto variantes desde la década de 1990, por ejemplo, [98], y varios investigadores han observado que los blockchain pueden facilitar el uso de la idea, por ejemplo, [227] al registrar certificados en un formato globalmente consistente. libro mayor. Estamos explorando variantes de este modelo para validar las identidades de entidades. en la red Chainlink de forma más descentralizada. 13Un contrato dependiente puede incluir opcionalmente un retraso predeterminado para permitir la inspección manual e intervención de administradores de contratos dependientes. 14Término acuñado por Phil Zimmermann para PGP [238].• Vinculación con datos de validación: hoy en día, una cantidad sustancial de oracle datos de rendimiento del nodo son visibles en la cadena y, por lo tanto, están vinculados archivadamente a las direcciones de los nodos. Se puede considerar que dichos datos enriquecen una identidad en la PKI al proporcionar evidencia histórica de su participación (confiable) en la red. Además, herramientas para identidad descentralizada basada en DECO y Town Crier [160] habilitar nodos para acumular credenciales derivadas de datos del mundo real. Como sólo un ejemplo, un El operador del nodo puede adjuntar una credencial a su identidad PKI que demuestre la posesión. de una calificación de Dun y Bradstreet. Estas formas complementarias de validación pueden Complemente staking para crear garantías de seguridad de la red. Se puede considerar que un nodo oracle con una identidad establecida en el mundo real tiene interés en un sistema derivado de su reputación. (Consulte la Sección 4.3 y la Sección 9.6.3.) Un requisito final para la PKI Chainlink es el arranque seguro, es decir, publicar el nombre raíz de la red Chainlink, actualmente data.eth (de manera análoga al cableado de dominios de nivel superior en los navegadores). En otras palabras, ¿cómo funcionan los usuarios Chainlink? determinar que data.eth es de hecho el dominio de nivel superior asociado con Chainlink proyecto? La solución a este problema para la red Chainlink es múltiple y puede implicar: • Agregar un registro TXT [224] a nuestro registro de dominio para chain.link que especifica data.eth como dominio raíz para el ecosistema Chainlink. (Por lo tanto, Chainlink aprovecha implícitamente la PKI para dominios de Internet para validar su dominio ENS raíz). • Enlace a data.eth desde el sitio web existente de Chainlink, por ejemplo, desde https://docs.chain.link. (Otro uso implícito de la PKI para dominios de Internet). • Dar a conocer el uso de data.eth a través de varios documentos, incluido este documento técnico. • Publicar data.eth públicamente en nuestros canales de redes sociales, como Twitter, y el blog Chainlink [18]. • Colocar una gran cantidad de LINK bajo el control de la misma dirección del registrante como datos.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 Consideraciones de implementación

Si bien no forma parte de nuestro diseño principal, existen varias consideraciones técnicas importantes. en la realización de DONs que merecen tratamiento aquí.

8.1 Enfoque de implementación Este documento presenta una visión ambiciosa de la funcionalidad avanzada Chainlink cuya Su realización requerirá soluciones a muchos desafíos a lo largo del camino. Este documento técnico identifica algunos desafíos, pero seguramente surgirán otros imprevistos. Planeamos implementar elementos de esta visión de manera incremental a lo largo de un período de tiempo prolongado. Nuestra expectativa es que DONs se lance inicialmente con soporte para componentes prediseñados específicos creados en colaboración por equipos dentro del Chainlink comunidad. La intención es que usos más amplios de DONs, por ejemplo, la capacidad de lanzar ejecutables arbitrarios, recibirá soporte más adelante. Una razón para tal precaución es que la composición de smart contracts puede tener efectos secundarios complejos, no deseados y peligrosos, como lo han demostrado los recientes ataques basados en préstamos rápidos. por ejemplo, se muestra [127, 189]. De manera similar, la composición de smart contracts, adaptadores y Los ejecutables requerirán extremo cuidado. En nuestra implementación inicial de DONs, planeamos incluir solo un conjunto prediseñado de adaptadores y ejecutables con plantillas. Esto permitirá estudiar la seguridad composicional. de estas funcionalidades utilizando métodos formales [46, 170] y otros enfoques. lo hará también simplifica la fijación de precios: los precios de funcionalidad pueden ser establecidos por DON nodos según la funcionalidad, en lugar de mediante medición generalizada, un enfoque adoptado en, por ejemplo, [156]. También esperamos que la comunidad Chainlink participe en la creación. de plantillas adicionales, combinando varios adaptadores y ejecutables en cada vez más Servicios descentralizados útiles que pueden ser ejecutados por cientos, si no miles, de personas individuales. DONs. Además, este enfoque puede ayudar a prevenir la inflación estatal, es decir, la necesidad de DON nodos para retener una cantidad inviable de estado en la memoria de trabajo. Este problema es que ya están surgiendo en blockchains sin permiso, motivando enfoques como "apátridas clientes” (ver, por ejemplo, [206]). Puede ser más agudo en sistemas de mayor rendimiento, lo que motiva un enfoque en el que DON implementa solo ejecutables de tamaño optimizado. A medida que los DON evolucionan y maduran e incluyen barreras de seguridad sólidas, como se analiza en la Sección 7, mecanismos de seguridad criptoeconómicos y basados en la reputación, como se analiza en la Sección 9, y otras características que brindan un alto grado de seguridad para los usuarios de DON, nosotros También esperamos desarrollar un marco y herramientas para facilitar un lanzamiento y uso más amplio de DONs por la comunidad. Idealmente, estas herramientas permitirán una colección de operadores de nodos. unirse como una red oracle y lanzar sus propios DONs en una red sin permiso o de autoservicio, es decir, que pueden hacerlo unilateralmente. 8.2 Membresía dinámica DON El conjunto de nodos que ejecutan un DON determinado puede cambiar con el tiempo. Hay dos enfoques a la gestión de claves para skL dada la membresía dinámica en O. El primero es actualizar las acciones de skL en poder de los nodos ante cambios en la membresía, manteniendo pkL sin cambios. Este enfoque, explorado en [41, 161, 198], tiene el mérito de no exigir que las partes que confían actualicen pkL.La técnica clásica de compartir acciones, introducida en [122], proporciona una forma sencilla y eficiente de realizar dichas actualizaciones de recursos compartidos. Permite transferir un secreto. entre un conjunto de nodos O(1) y un segundo, posiblemente intersectando uno O(2). en esto enfoque, cada nodo O (1) yo realiza un intercambio secreto (k(2), n(2)) de su parte secreta a través nodos en O(2) para n(2) = |O(2)| y el umbral deseado (posiblemente nuevo) k(2). Varios esquemas de intercambio de secretos verificables (VSS) [108] pueden brindar seguridad contra un adversario que corrompe activamente los nodos, es decir, introduce un comportamiento malicioso en el protocolo. Las técnicas en [161] tienen como objetivo hacerlo mientras reducen la complejidad de la comunicación y brindan resiliencia contra fallas en los supuestos de dureza criptográfica. Un segundo enfoque consiste en actualizar la clave del libro mayor pkL. Esto tiene el beneficio de avanzar seguridad: El compromiso de las acciones antiguas de pkL (es decir, los antiguos nodos del comité) no resultará en compromiso de la clave actual. Sin embargo, las actualizaciones de pkL conllevan dos inconvenientes: (1) Los datos cifrados bajo pkL deben volver a cifrarse durante una actualización de clave y (2) Las actualizaciones clave deben propagarse a las partes que confían. Tenemos la intención de explorar ambos enfoques, así como las hibridaciones de los dos. 8.3 DON Responsabilidad Al igual que con las redes Chainlink oracle existentes, las DON incluirán mecanismos de responsabilidad, es decir, registrar, monitorear y hacer cumplir el comportamiento correcto de los nodos. DONs tendrán capacidad de datos mucho más sustancial que muchos blockchains sin permiso existentes, particularmente dada su capacidad para conectarse a almacenamiento descentralizado externo. En consecuencia, podrán registrar el historial de rendimiento de los nodos en detalle, lo que permitirá mecanismos de rendición de cuentas más detallados. Por ejemplo, el cálculo fuera de cadena de Los precios de los activos pueden involucrar insumos que se descartan antes de enviar un resultado mediano. cadena. En un DON se podrían registrar estos resultados intermedios. Por lo tanto, el mal comportamiento o las fallas de rendimiento de nodos individuales en un DON se pueden remediar o penalizar en el DON de forma detallada. También hemos discutido enfoques para construir barandillas en la Sección 7.3 que abordan el impacto específico del contrato de las fallas sistémicas. Sin embargo, también es importante contar con mecanismos de seguridad para los propios DONs, es decir, protecciones contra fallas sistémicas y potencialmente catastróficas DON, específicamente errores de bifurcación/equívoco y acuerdos de nivel de servicio (SLA), como ahora explicamos. Bifurcación/equívoco: Dados suficientes nodos defectuosos, un DON puede bifurcarse o equívoco, produciendo dos bloques o secuencias de bloques distintos e inconsistentes en L. Sin embargo, debido a que un DON firma digitalmente el contenido de L, es posible aprovechar un cadena principal MAINCHAIN para prevenir y/o penalizar la equivocación. El DON puede verificar periódicamente el estado de L en un contrato de auditoría en MAINCHAIN. Si su estado futuro se desvía de un estado de control, un usuario/auditor puede presentar pruebas de esta mala conducta al contrato de auditoría. Dicha prueba se puede utilizar para generar una alerta. o penalizar DON nodos mediante reducción en el contrato. Este último enfoque introduce un problema de diseño de incentivos similar al de feeds específicos oracle, y puede basarse en nuestro trabajo descrito en la Sección 9.Hacer cumplir los acuerdos de nivel de servicio: Si bien los DONs no necesariamente están destinados a funcionan indefinidamente, es importante que cumplan con los acuerdos de nivel de servicio (SLA) con sus usuarios. La aplicación básica de SLA es posible en una cadena principal. Por ejemplo, Los nodos DON podrían comprometerse a mantener el DON hasta una fecha determinada, o a proporcionar un aviso previo de la terminación del servicio (por ejemplo, un aviso de tres meses). un contrato sobre MAINCHAIN puede proporcionar cumplimiento básico de SLA criptoeconómico. Por ejemplo, el contrato SLA puede recortar DON fondos depositados si los puntos de control son no se proporciona en los intervalos requeridos. Un usuario puede depositar fondos y desafiar el DON para demostrar que un punto de control representa correctamente una secuencia de bloques válidos (de una manera análogo a, p.e. [141]). Por supuesto, la producción en bloque no equivale a la transacción. procesamiento, pero el contrato SLA también puede servir para hacer cumplir este último. Por ejemplo, en En la versión heredada de FSS compatible con la cual las transacciones se obtienen del mempool (consulte la Sección 5.2), las transacciones finalmente se extraen y se colocan en la cadena. un usuario puede probar DON mala conducta proporcionando al contrato SLA una transacción que fue minado pero no fue transmitido por DON para su procesamiento por el contrato de destino dentro del intervalo de tiempo apropiado.15 También es posible probar la existencia de SLA más detallados y penalizarlos. fallas, incluidos errores en el cálculo utilizando ejecutables (a través de, por ejemplo, los mecanismos para demostrar transacciones de estado fuera de la cadena correctas descritas en la Sección 6.3) o no ejecutar ejecutables basados en iniciadores visibles en un DON, falla al transmitir datos en el DON a MAINCHAIN de manera oportuna, etc.

É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

Economía y criptoeconomía

Para que la red Chainlink logre una seguridad sólida dentro de un modelo de confianza descentralizado, Es esencial que los nodos exhiban colectivamente un comportamiento correcto, lo que significa que se adhieren. la mayoría de las veces exactamente a los protocolos DON. En esta sección, analizamos enfoques para ayudar a imponer dicho comportamiento mediante incentivos económicos, también conocidos como criptoeconómicos. incentivos. Estos incentivos se dividen en dos categorías: explícitos e implícitos, realizados respectivamente a través de staking y oportunidad de pago futuro (FFO). Replanteo: Apostar en Chainlink, como en otros sistemas blockchain, involucra a los participantes de la red, es decir, oracle nodos, que depositan fondos bloqueados en forma de ENLACE tokens. estos Los fondos, a los que también nos referimos como participación o participación explícita, son un incentivo explícito. ellos están sujetos a confiscación en caso de falla o mala conducta del nodo. En el contexto blockchain, Este procedimiento a menudo se llama corte. Sin embargo, el replanteo de oracle nodos en Chainlink difiere fundamentalmente de staking por validators en blockchains sin permiso. Los validadores pueden comportarse mal al ordenar transacciones de manera ambigua o contradictoria. El protocolo de consenso subyacente en un 15Dado que los usuarios pueden reemplazar transacciones en el mempool, se requiere cuidado para garantizar una correspondencia correcta entre las transacciones extraídas y las enviadas DON.Sin embargo, blockchain sin permiso utiliza reglas estrictas y rápidas de validación de bloques y primitivas criptográficas para evitar que validators generen bloques no válidos. En contraste, Las protecciones programáticas no pueden evitar que una red engañosa oracle genere informes inválidos. La razón es una diferencia clave entre los dos tipos de sistema: la validación de transacciones en blockchains es una propiedad de coherencia interna, mientras que la corrección de oracle informes sobre un blockchain es una propiedad de datos externos, es decir, fuera de la cadena. Hemos diseñado un mecanismo preliminar staking para la red Chainlink basado en un protocolo interactivo entre oracle nodos que pueden hacer uso de datos externos. esto mecanismo crea incentivos financieros para el comportamiento correcto utilizando recompensas explícitas y sanciones (corte). Como el mecanismo es económico, está diseñado para evitar que los nodos corrupción por parte de un adversario que utiliza recursos financieros para corromper nodos mediante soborno. (Tal adversario es muy general y se extiende, por ejemplo, a nodos que cooperan para extraer valor de su mala conducta colectiva.) El mecanismo Chainlink staking que hemos diseñado tiene algunas potentes y novedosas características.16 La característica principal es el impacto superlineal staking (específicamente, cuadrático). Un adversario debe tener recursos considerablemente superiores a los fondos depositados de los nodos en para subvertir el mecanismo. Nuestro mecanismo staking proporciona además protección contra un adversario más fuerte que el considerado anteriormente en sistemas similares, a saber un adversario que puede crear sobornos condicionando el comportamiento futuro de los nodos. Además, analizamos cómo Chainlink herramientas como DECO pueden ayudar a fortalecer nuestra staking mecanismo al facilitar la adjudicación correcta en el caso de un comportamiento defectuoso del nodo. Oportunidad de pago futuro (FFO): blockchains sin permiso, tanto del PoW y variedad de PoS: hoy dependen fundamentalmente de lo que llamamos incentivos implícitos. Estos son incentivos económicos para el comportamiento honesto que no derivan de recompensas explícitas, sino de la propia participación en la plataforma. Por ejemplo, la comunidad minera Bitcoin está incentivada a no montar un ataque del 51% por el riesgo de socavar la confianza en Bitcoin, deprimiendo su valor y, en consecuencia, erosionando el valor de su colectivo. inversiones de capital en infraestructura minera [150]. La red Chainlink se beneficia de un incentivo implícito similar al que nos referimos como oportunidad de pago futuro (FFO). Nodos de Oracle con sólidos historiales de rendimiento o las reputaciones atraen tarifas de los usuarios. El mal comportamiento de un nodo oracle pone en peligro el futuro pagos de tarifas y, por lo tanto, penaliza al nodo con un costo de oportunidad en términos de potencial Ingresos obtenidos a través de la participación en la red. Por analogía con la apuesta explícita, El FFO puede verse como una forma de participación implícita, un incentivo para un comportamiento honesto que deriva del beneficio compartido de mantener la confianza en la plataforma en la que El negocio de los operadores de nodos depende, es decir, el desempeño positivo y la reputación del red. Este incentivo es inherente pero no se expresa explícitamente en la red Chainlink protocolos. En Bitcoin, manteniendo el valor de las operaciones mineras como se mencionó anteriormente 16El mecanismo staking que describimos aquí actualmente solo tiene como objetivo exigir la entrega de informes correctos. por redes oracle. Esperamos que en trabajos futuros se amplíe para garantizar la correcta ejecución de los muchos otras funcionalidades que proporcionará DONs.De manera similar, puede verse como una forma de participación implícita. Destacamos que FFO ya existe en Chainlink y ayuda a proteger la red. hoy. Nuestra principal contribución en el desarrollo posterior de Chainlink será un enfoque basado en principios y empíricamente para evaluar incentivos implícitos como el FFO a través de lo que llamamos el Marco de Incentivos Implícitos (MII). Para estimar cantidades como la futura oportunidad de pago de los nodos, el IIF aprovechará continuamente la experiencia integral datos de rendimiento y pago recopilados por la red Chainlink. Tales estimaciones permitirá la parametrización basada en IIF de los sistemas staking que refleja los incentivos de los nodos con mayor precisión que los modelos heurísticos y/o estáticos actuales. Para resumir, entonces, los dos principales incentivos económicos para el nodo oracle correcto El comportamiento en la red Chainlink en desarrollo será: • Stake (participación depositada) oh Incentivo explícito • Oportunidad de pago futuro (FFO) oh Incentivo implícito Estas dos formas de incentivo son complementarias. Los nodos de Oracle pueden simultáneamente participar en el protocolo Chainlink staking, disfrutar de un flujo de ingresos continuo de usuarios y beneficiarnos colectivamente de su buen comportamiento continuo. Así, ambos incentivos contribuir a la seguridad criptoeconómica proporcionada por una red oracle. Además, Los dos incentivos pueden reforzarse y/o intercambiarse entre sí. Por ejemplo, un nuevo operador oracle sin un historial de rendimiento y un flujo de ingresos puede apostar una gran cantidad de LINK como garantía de comportamiento honesto, atrayendo así a los usuarios y honorarios. Por el contrario, un operador oracle establecido con una larga y relativamente libre de fallas El historial de rendimiento puede cobrar tarifas sustanciales a una gran base de usuarios y, por lo tanto, depender más fuertemente en su FFO como una forma de incentivo implícito. En general, el enfoque que consideramos aquí apunta a una cantidad determinada de oracle-red recurso para crear los mayores incentivos económicos posibles en Chainlink para fines racionales agentes (es decir, nodos que maximizan su utilidad financiera) se comporten con honestidad. pon otro De esta manera, el objetivo es maximizar los recursos financieros necesarios para que un adversario ataque. la red con éxito. Al formular un protocolo staking con matemáticamente bien seguridad económica definida y también utilizando el IIF, nuestro objetivo es medir la fuerza de Los incentivos de Chainlink con la mayor precisión posible. Los creadores de contratos de confianza entonces podrá determinar con gran confianza si una red oracle cumple sus niveles requeridos de seguridad criptoeconómica. El círculo virtuoso de la seguridad económica: Los incentivos que analizamos en esta sección, staking y FFO, tienen un impacto más allá de su refuerzo de la seguridad de DONs. Prometen inducir lo que llamamos un círculo virtuoso de seguridad económica. El impacto superlineal staking (y otras economías de escala) dan como resultado menores niveles operativos. costo a medida que crece la seguridad de DON. El menor costo atrae usuarios adicionales al DON,impulsar el pago de tasas. El aumento de los pagos de tasas sigue incentivando el crecimiento de la red, que perpetúa el círculo virtuoso. Creemos que el círculo virtuoso de la seguridad económica es sólo un ejemplo de una economía de escala y efecto de red, entre otros que analizamos más adelante en esta sección. Organización de la sección: El replanteo presenta desafíos técnicos y conceptuales notables para para el cual hemos diseñado un mecanismo con características novedosas. Por lo tanto, apostar será nuestro enfoque principal en esta sección. Ofrecemos una descripción general del enfoque staking que presentamos en este documento en la Sección 9.1, seguido de una discusión detallada en las Secciones 9.2 a 9.5. Presentamos el IFF en la Sección 9.6. Presentamos una vista resumida de los incentivos de la red Chainlink en la Sección 9.7. En la Sección 9.8, analizamos el círculo virtuoso de seguridad económica que nuestro enfoque propuesto staking puede aportar a las redes oracle. Finalmente, describimos brevemente otros potenciales efectos que impulsan el crecimiento de la red Chainlink en la Sección 9.9. 9.1 Resumen de apuestas El diseño del mecanismo staking que presentamos aquí, como se señaló anteriormente, implica un protocolo interactivo entre los nodos oracle que permite la resolución de inconsistencias en el presentación de informes de datos externos. La apuesta tiene como objetivo garantizar un comportamiento honesto de los nodos oracle racionales. Por lo tanto, podemos modelar un adversario que ataca un protocolo staking como un Sobornador: La estrategia del adversario es corromper oracle nodos utilizando incentivos financieros. El adversario puede obtener recursos financieros prospectivamente de la manipulación exitosa con un informe oracle, por ejemplo, ofrecer compartir las ganancias resultantes con nodos corruptos. En el diseño de nuestro mecanismo staking apuntamos simultáneamente a dos objetivos ambiciosos: 1. Resistir a un adversario poderoso: el mecanismo staking está diseñado para proteger oracle redes contra una amplia clase de adversarios que son capaces de realizar ataques complejos, Estrategias de soborno condicional, incluido el soborno potencial, que ofrece sobornos. a oracles cuyas identidades se determinan después del hecho (por ejemplo, ofrece sobornos a oracles seleccionados aleatoriamente para alertas de alta prioridad). Mientras que otros diseños oracle han considerado un conjunto limitado de ataques sin las capacidades completas de una estrategia realista. adversario, hasta donde sabemos, el mecanismo adversarial que introducimos Aquí está el primero que aborda explícitamente un amplio conjunto de estrategias de soborno y muestra resistencia en este modelo. Nuestro modelo supone que los nodos además del atacante son económicamente racional (a diferencia de honesto), y asumimos la existencia de un fuente de verdad que es prohibitivamente costosa para el uso típico pero que está disponible en caso de desacuerdo (que se analiza más adelante). 2. Lograr un impacto staking superlineal: Nuestro objetivo es garantizar que una red oracle compuesta por agentes racionales informe Sinceramente, incluso en presencia de un atacante con un presupuesto superlineal.en la participación total depositada por toda la red. En los sistemas staking existentes, si cada uno de los n nodos apuesta $d, un atacante puede emitir un soborno creíble que solicita que los nodos se comporten de manera deshonesta a cambio de un pago de poco más de \(d to each node, using a total budget of about \)dn. Este ya es un listón muy alto el atacante debe tener un presupuesto líquido del orden de los depósitos combinados de todos los interesados en la red. Nuestro objetivo es un grado aún mayor de seguridad económica que este obstáculo ya importante. Nuestro objetivo es diseñar el primer sistema staking que puede lograr seguridad para un atacante general con un presupuesto superlineal en n. Si bien las consideraciones prácticas pueden lograr un impacto menor, como veremos a continuación, nuestro diseño preliminar logra un requisito presupuestario contradictorio mayor que $dn2/2, es decir, escalar cuadráticamente en n, lo que hace que el soborno sea en gran medida poco práctico incluso cuando los nodos apuestan solo cantidades moderadas. Alcanzar estos dos objetivos requiere una combinación innovadora de diseño de incentivos. y criptografía. Ideas clave: Nuestro enfoque staking depende de una idea que llamamos prioridad de vigilancia. Un informe generado por una red Chainlink oracle y enviado a un contrato de confianza (por ejemplo, sobre el precio de un activo) se agrega a partir de informes individuales aportados por los nodos participantes (por ejemplo, tomando la mediana). Normalmente, un acuerdo de nivel de servicio (SLA) especifica límites aceptables de desviación para los informes, es decir, hasta qué punto el informe de un nodo puede desviarse del informe agregado y hasta qué punto se debe permitir que el agregado desviarse del valor real para ser considerado correcto. En nuestro sistema staking, para una ronda de informes determinada, cada nodo oracle puede actuar como un organismo de control para generar una alerta si cree que el informe agregado es incorrecto. en cada ronda de informes, a cada nodo oracle se le asigna una prioridad pública que determina la orden en que se procesará su alerta (si corresponde). Nuestro mecanismo apunta a la recompensa. concentración, lo que significa que el perro guardián con mayor prioridad para generar una alerta gana el La recompensa completa se obtiene al confiscar los depósitos de los nodos defectuosos. Nuestros diseños de sistema staking involucran dos niveles: el primero, el nivel predeterminado, y el segundo, nivel de respaldo. El primer nivel es la propia red oracle, un conjunto de n nodos. (Para simplificar, asumimos que n es impar.) Si la mayoría de los nodos informan valores incorrectos, un perro guardián en el El primer nivel está fuertemente incentivado a generar una alerta. Si se genera una alerta, el informe La decisión de la red luego se escala a un segundo nivel: un sistema de alto costo y máxima confiabilidad que el usuario puede especificar en el acuerdo de nivel de servicio de la red. Este podría ser un sistema que, por ejemplo, esté compuesto sólo por nodos con fuertes puntuaciones de confiabilidad histórica, o una que tenga un orden de magnitud más oracles que el primer nivel. Además, como se analiza en la Sección 9.4.3, DECO o Town Pregonero pueden servir como herramientas poderosas para ayudar a garantizar una adjudicación eficiente y concluyente en el segundo nivel. Por simplicidad, asumimos que este sistema de segundo nivel llega a un informe correcto. valor. Si bien puede parecer atractivo confiar simplemente en el segundo nivel para generar todos los informes, El beneficio de nuestro diseño es que logra consistentemente las propiedades de seguridad delsistema de segundo piso pagando sólo el costo operativo, en el caso típico, del sistema de primer nivel. La prioridad de vigilancia da como resultado un impacto superlineal staking de la siguiente manera: si el La red de primer nivel oracle genera un resultado incorrecto y varios nodos de vigilancia alerta, el mecanismo de incentivo staking recompensa al organismo de control de mayor prioridad con más de $dn/2 extraídos de los depósitos de los (mayoría) nodos que se comportan mal. el la recompensa total se concentra así en manos de este único perro guardián, que por lo tanto determina el mínimo que un adversario debe prometer a un potencial organismo de control para incentivarlo a no alertar. Dado que nuestro mecanismo garantiza que cada oracle obtenga el oportunidad de actuar como perro guardián si los perros guardianes de mayor prioridad han aceptado sus sobornos (y decidió no alertar), el adversario debe, por lo tanto, ofrecer un soborno de más de $dn/2 a cada nodo para evitar que se genere alguna alerta. Como hay n nodos, el El presupuesto requerido por el adversario para un soborno exitoso asciende a más de $dn2/2, lo que es cuadrático en el número n de nodos de la red. 9.2 Antecedentes Nuestro enfoque para staking se basa en investigaciones en los campos de la teoría y el mecanismo de juegos. diseño (MD) (para obtener una referencia de un libro de texto, consulte [177]). La teoría de juegos es matemáticamente estudio formalizado de interacción estratégica. En este contexto, un juego es un modelo de tal una interacción, típicamente en el mundo real, que codifica conjuntos de acciones disponibles para participantes en el juego, conocidos como jugadores. Un juego también especifica los pagos obtenidos. por los jugadores individuales: recompensas que dependen de las acciones elegidas por un jugador y de la acciones de los demás jugadores. Quizás el ejemplo más conocido de un juego estudiado en el juego. La teoría es el dilema del prisionero [178]. Los teóricos de juegos generalmente intentan comprender el equilibrio o equilibrios (si los hay) representados en un juego dado. Un equilibrio es un conjunto de estrategias (una para cada jugador) tal que ningún jugador pueda obtener una mayor obtener ganancias al desviarse unilateralmente de su estrategia. Mientras tanto, el diseño de mecanismos es la ciencia de diseñar incentivos tales que el El equilibrio de una interacción (y su juego asociado) tiene alguna propiedad deseable. La MD puede verse como lo contrario de la teoría de juegos: la cuestión canónica en el juego La teoría es: "dados los incentivos y el modelo, ¿cuál será el equilibrio?" En MD, el La pregunta más bien es: “¿qué incentivos darán como resultado un juego con un equilibrio deseable?” Un objetivo típico de un diseñador de mecanismos es crear un mecanismo "compatible con incentivos", lo que significa que los participantes en el mecanismo (por ejemplo, una subasta u otra información sistema de obtención de información [228]) están incentivados a informar la verdad sobre algún asunto (por ejemplo, cómo cuánto valoran un artículo en particular). La subasta de Vickrey (segundo precio) es quizás la mecanismo compatible con incentivos más conocido, en el que los participantes presentan ofertas selladas por un artículo y el mejor postor gana el artículo pero paga el segundo precio más alto [214]. La criptoeconomía es una forma de MD de dominio específico que aprovecha la criptografía. técnicas para crear equilibrios deseables dentro de los sistemas descentralizados. El soborno y la colusión crean desafíos importantes en todo el campo del MD. Casi todos los mecanismos se rompen en presencia de colusión, definida como contratos secundarios entreentre las partes que participan en un mecanismo [125, 130]. El soborno, en el que una parte externa introduce incentivos novedosos en el juego, presenta un problema aún más difícil. que la colusión; La colusión puede verse como un caso especial de soborno entre jugadores. participantes. Los sistemas blockchain a menudo pueden conceptualizarse como juegos con recompensas monetarias (basadas en criptomonedas). Un ejemplo sencillo es la minería de prueba de trabajo: los mineros tienen un espacio de acción en el que pueden elegir la hashrate con la que minar bloques. El beneficio de la minería es una recompensa negativa garantizada (coste de la electricidad y el equipo) más un factor estocástico. recompensa positiva (subsidio minero) que depende del número de otros mineros activos [106, 172] y tarifas de transacción. Los oracle de colaboración colectiva como SchellingCoin [68] son otro ejemplo: el espacio de acción es el conjunto de posibles informes que un oracle puede enviar, mientras el pago es la recompensa especificada por el mecanismo oracle, por ejemplo, el pago podría depender sobre qué tan cerca está el informe de oracle de la mediana de los otros informes [26, 68, 119, 185]. Los juegos blockchain ofrecen grandes oportunidades para ataques de colusión y soborno; de hecho, smart contracts pueden incluso facilitar tales ataques [96, 165]. Quizás el más conocido El ataque de soborno a oracles de colaboración colectiva es el ataque p-plus-épsilon [67]. este ataque surge en el contexto de un mecanismo similar a SchellingCoin en el que los jugadores envían informes con valores booleanos (es decir, falsos o verdaderos) y son recompensados con p si están de acuerdo con el presentación mayoritaria. En un ataque p-plus-épsilon, el atacante promete de manera creíble: por ejemplo, pagar a los usuarios $p + ϵ por votar en falso si y sólo si la presentación mayoritaria es verdadera. El resultado es un equilibrio, en el que todos los jugadores están incentivados a reportar información falsa. independientemente de lo que hagan otros jugadores; en consecuencia, el sobornador puede inducir a los nodos a través del soborno prometido para informar cosas falsas sin pagar realmente el soborno (!). Sin embargo, la exploración de otras estrategias de soborno en el contexto de los oracles (y particularmente de los oracles que no son de colaboración abierta) se ha limitado a estrategias adversas bastante débiles. modelos. Por ejemplo, en el entorno de PoW, los investigadores han estudiado sobornos, es decir, sobornos que se pagan sólo si un mensaje objetivo se censura con éxito y no aparecen en un bloque, independientemente de la acción de un minero individual [96, 165]. en el caso de oracles, sin embargo, aparte del ataque p-plus-épsilon, solo conocemos el trabajo en modelo estrictamente limitado de soborno en el que el sobornador envía un soborno condicionado a una de la acción individual del jugador, no del resultado resultante. Aquí esbozamos diseños de mecanismos de obtención de información que siguen siendo incentivos. compatible incluso en un modelo adversarial fuerte, como se describe en la siguiente subsección. 9.3 Supuestos de modelado En esta subsección, explicamos cómo modelamos el comportamiento y las capacidades de los jugadores en nuestro sistema, específicamente nodos oracle de primer nivel, nodos en el segundo nivel (adjudicación) capa y adversarios.9.3.1 Modelo de incentivos de primer nivel: actores racionales Muchos sistemas blockchain dependen de la seguridad en el supuesto de una cierta cantidad de honestidad. nodos participantes. Los nodos se definen como honestos si siguen el protocolo incluso cuando no sea de su interés financiero hacerlo. Los sistemas de prueba de trabajo generalmente requieren la mayor parte del poder hash para ser honestos, los sistemas de prueba de participación generalmente requieren 2/3 o más de toda la participación participante para ser honestos, e incluso los sistemas de capa 2 como Arbitrum [141] requiere al menos un único participante honesto. Al modelar nuestro mecanismo staking, hacemos una suposición mucho más débil. (ser Los supuestos claros y más débiles significan propiedades de seguridad más fuertes y, por lo tanto, son preferibles.) Suponemos que el adversario ha corrompido, es decir, controla, algunos (minoría) fracción de nodos oracle de primer nivel. Modelamos los nodos restantes no como agentes honestos, sino como maximizadores racionales de la utilidad esperada. Estos nodos actúan enteramente de acuerdo con incentivos financieros interesados, eligiendo acciones que resultan en un beneficio financiero esperado. ganancia. Por ejemplo, si a un nodo se le ofrece un soborno mayor que la recompensa resultante de comportamiento honesto, aceptará el soborno. Nota sobre los nodos adversarios: De acuerdo con el modelo de confianza común para En sistemas descentralizados, asumimos que todos los nodos son racionales, es decir, buscan maximizar ingresos netos, en lugar de estar controlados por un adversario malicioso. Nuestras afirmaciones, sin embargo: impacto específicamente superlineal o cuadrático staking: se mantiene asintóticamente proporcionado que el conjunto de nodos controlados adversariamente es como máximo (1/2 −c)n, para algunos positivos constante c. 9.3.2 Modelo de adjudicación de segundo nivel: corrección por suposición Recuerde que una característica crítica de nuestro mecanismo staking que ayuda a lograr la seguridad contra los nodos racionales es su sistema de segundo nivel. En nuestro mecanismo staking propuesto, cualquier oracle puede generar una alerta indicando que cree que el resultado del mecanismo es incorrecto. Una alerta genera un nivel de confianza alto. Sistema de segundo nivel que activa y reporta el resultado correcto. Por lo tanto, un modelo clave El requisito para nuestro enfoque es la adjudicación correcta, es decir, la presentación de informes correctos por parte del sistema de segundo nivel. Nuestro modelo staking supone un sistema de segundo nivel que actúa como una fuente de verdad incorruptible y máximamente confiable. Es probable que un sistema de este tipo sea caro y lento y, por tanto, inadecuado para su uso en el caso típico. Sin embargo, en el caso de equilibrio, es decir, cuando Si el sistema de primer nivel funciona correctamente, no se invocará el sistema de segundo nivel. En cambio, su existencia aumenta la seguridad de todo el sistema oracle al proporcionar una respaldo de alta seguridad. El uso de un nivel de adjudicación de alto costo y alta confianza se asemeja al proceso de apelación. en el corazón de la mayoría de los sistemas judiciales. También ya es común en el diseño de oracle sistemas, por ejemplo, [119, 185]. Discutimos brevemente los enfoques para la realización del segundo nivel. en nuestro mecanismo en la Sección 9.4.3.Nuestro protocolo staking utiliza la supuesta adjudicación correcta del sistema de segundo nivel como una amenaza creíble para imponer informes correctos por parte de los nodos oracle. el protocolo confisca parte o la totalidad de la participación de oracle nodos que generan informes identificados por el sistema de segundo nivel es incorrecto. De este modo se disuade a los nodos de Oracle de comportarse mal por la sanción económica resultante. Este enfoque es similar en sabor al utilizado en rollups optimistas, por ejemplo, [141, 10]. 9.3.3 Modelo adversario Nuestro mecanismo staking está diseñado para obtener información veraz y al mismo tiempo lograr seguridad contra una clase amplia y bien definida de adversarios. Mejora trabajos anteriores, que omiten un modelo adversarial explícito o se centran en subclases estrechas de adversarios, por ejemplo, el adversario p-plus-épsilon discutido anteriormente. Nuestro objetivo es diseñar un staking mecanismo con seguridad formalmente probada contra todo el espectro de adversarios probables que se encontrarán en la práctica. Modelamos a nuestro adversario con un presupuesto fijo (parametrizable), denotado por $B. El adversario puede comunicarse individual y confidencialmente con cada oracle en la red, y puede ofrecer en secreto a cualquier individuo oracle el pago garantizado de un soborno depende de los resultados públicamente observables del mecanismo. Resultados determinantes Los sobornos pueden incluir, por ejemplo, el valor informado por el oracle, cualquier mensaje público enviado por cualquier oracle al mecanismo (por ejemplo, una alerta), los valores informados por otros oracles y el valor generado por el mecanismo. Ningún mecanismo puede proteger contra un atacante con capacidades ilimitadas. Por lo tanto, consideramos que algunos comportamientos son poco realistas o están fuera de alcance. Asumimos que nuestro atacante no puede romper las primitivas criptográficas estándar y, como se señaló anteriormente, tiene un valor fijo (si potencialmente grande) presupuesto $B. Suponemos además que el adversario no controla comunicación en la red oracle, específicamente que no puede retrasar sustancialmente tráfico entre nodos de primer y/o segundo nivel. (Que el adversario pueda observar dicha comunicación depende del mecanismo particular, como explicamos a continuación). Sin embargo, de manera informal, como se señaló anteriormente, asumimos que el adversario puede: (1) Corromper una fracción de oracle nodos ((1/2 −c)-fracción para alguna constante c), es decir, control total ellos, y (2) Ofrecer sobornos a cualquier nodo deseado, con pago garantizado supeditado en los resultados especificados por el adversario, como se describió anteriormente. Si bien no ofrecemos un modelo formal o una taxonomía completa de la capacidad total del adversario gama de capacidades de soborno en este documento técnico, a continuación se muestran ejemplos de los tipos de sobornadores abarcados por nuestro modelo. Para simplificar, asumimos que oracles emiten valores booleanos. informes cuyo valor correcto (w.l.o.g.) es verdadero, y que un resultado final se calcula como un agregado de estos informes para ser utilizado por un consumidor smart contract. El sobornador El objetivo es que el resultado final sea incorrecto, es decir, falso. • Sobornador incondicional: El sobornador ofrece un soborno de $b a cualquier oracle que informe algo falso. • Sobornador probabilístico: El sobornador ofrece un soborno de $b con cierta probabilidad q a cualquier oracle que informa falso.• soborno condicionado por resultados falsos: el sobornador ofrece un soborno de $b a cualquier oracle que informe algo falso, siempre que el resultado final sea falso. • Sobornador sin alerta condicionada: el sobornador ofrece un soborno de $b a cualquier oracle que informe falso siempre que no se genere ninguna alerta. • Sobornador p-plus-epsilon: El sobornador ofrece un soborno de $b a cualquier oracle que reporte datos falsos como siempre y cuando la mayoría de oracles no reporten datos falsos. • Sobornador potencial: el sobornador ofrece un soborno de miles de dólares por adelantado al oracle seleccionado. para un rol aleatorio e informes falsos. En nuestro protocolo staking propuesto, todos Los nodos actúan como posibles perros guardianes y podemos demostrar que la aleatorización de las prioridades del organismo de control no se presta a posibles sobornos. Muchos sistemas de prueba de trabajo, proof-of-stake y autorizados son susceptibles a posibles soborno, sin embargo, lo que demuestra la importancia de considerarlo en nuestro conflicto modelo y garantizar que nuestros protocolos staking sean resistentes a él. Ver Apéndice E para más detalles. 9.3.4 ¿Cuánta seguridad criptoeconómica es suficiente? Un adversario racional sólo gastará dinero para atacar un sistema si puede obtener un beneficio. mayor que su gasto. Así, para nuestro modelo adversarial y propuesto staking mecanismo, $B puede verse como una medida del beneficio potencial que un adversario puede obtener para extraer de smart contracts confiables corrompiendo una red oracle y provocando que para generar un informe o conjunto de informes incorrectos. Al decidir si una red oracle ofrece un grado suficiente de seguridad criptoeconómica para sus propósitos, un usuario debe evaluar la red desde esta perspectiva. Para adversarios plausibles en escenarios prácticos, esperamos que $B sea generalmente sustancialmente menor que los activos totales en smart contracts confiables. En la mayoría de los casos, Es inviable que un adversario extraiga estos activos en su totalidad. 9.4 Mecanismo de replanteo: boceto Aquí presentamos las ideas principales y la estructura general del mecanismo staking que están considerando actualmente. Para facilitar la presentación, describimos un método simple pero lento. protocolo (múltiples rondas) en esta subsección. Sin embargo, observamos que este esquema es bastante práctico. Dadas las garantías económicas proporcionadas por el mecanismo, es decir, la penalización y el consiguiente incentivo contra los nodos defectuosos, muchos usuarios pueden estar dispuestos a aceptar informes con optimismo. En otras palabras, dichos usuarios pueden aceptar informes antes de posible adjudicación por parte del segundo nivel. Los usuarios que no estén dispuestos a aceptar informes con optimismo pueden optar por esperar hasta que el protocolo la ejecución termina, es decir, hasta que se produzca cualquier posible escalada al segundo nivel. esto, sin embargo, puede ralentizar sustancialmente el tiempo de confirmación de los informes. Por lo tanto, brevementeFigura 15: Esquema del esquema staking con alertas. En este ejemplo, 1⃝una mayoría de nodos están corruptos/sobornados y emiten un valor incorrecto ˜r, en lugar del correcto valor del informe r. El nodo de vigilancia 2⃝ envía una alerta al comité de segundo nivel, que 3⃝determina y emite el valor de informe correcto r, lo que resulta en nodos corruptos perdiendo sus depósitos, cada $d al nodo de vigilancia 4⃝. Describe algunas optimizaciones que resultan en una ronda más rápida (de una sola ronda), aunque algo más. diseño complejo en la Sección 9.5. Recuerde que el primer nivel de nuestro mecanismo staking consta del oracle básico. red misma. La estructura principal de nuestro mecanismo, como se describe anteriormente, es que en cada ronda, cada nodo puede actuar como un "perro guardián" con cierta prioridad y, por lo tanto, tiene la capacidad de generar una alerta si el mecanismo llega a una salida incorrecta ˜r, en lugar de una correcta uno r. Esta alerta provoca una resolución de segundo nivel, que asumimos llega a una resolución correcta. informe. Los nodos con informes incorrectos son castigados, en el sentido de que sus apuestas son recortado y entregado a los perros guardianes. Esta estructura básica es común en los sistemas oracle, como en, por ejemplo, [119, 185]. La innovación clave en nuestro diseño, mencionada brevemente anteriormente, es que cada nodo está Se le asignó una clara prioridad en el ordenamiento de los posibles perros guardianes. Es decir, perros guardianes. se les dan oportunidades para alertar en secuencia prioritaria. Recuerde que si un nodo tiene la máxima prioridad para generar una alerta, recibe el depósito recortado $d por cada mal comportamiento nodo, para un total de más de \(dn/2 = \)d × n/2, ya que un informe incorrecto implica un mayoría de nodos defectuosos. En consecuencia, el adversario debe pagar al menos esta recompensa a sobornar a un nodo arbitrario. Así, para sobornar a la mayoría de los nodos, el adversario debe pagar una Un gran soborno a la mayoría de los nodos, es decir, estrictamente más de $dn2/2. Mostramos esquemáticamente cómo funciona la escalada de alertas y vigilancia en la Fig. 15.9.4.1 Más detalles del mecanismo El sistema resistente al soborno que describimos ahora con más detalle es un bosquejo simplificado de la construcción de dos niveles que pretendemos construir. La mayor parte de nuestra atención se centrará en describir la red de primer nivel (en adelante simplemente “red” cuando se desprenda del contexto) junto con con su mecanismo de incentivos y el procedimiento de escalada al segundo nivel. Considere una red Chainlink compuesta por n oracle nodos que son responsables de regularmente (por ejemplo, una vez por minuto) informando un valor booleano (por ejemplo, si el mercado la capitalización de BTC supera la de ETH). Como parte del mecanismo staking, los nodos debe proporcionar dos depósitos: un depósito $d sujeto a recortes en caso de desacuerdo con la mayoría y un depósito de vigilancia $dw sujeto a recortes en caso de fallo escalada. Suponemos que los nodos no pueden copiar los envíos de otros nodos, por ejemplo, a través de un esquema de compromiso-revelación como se analiza en la Sección 5.3. En cada ronda, los nodos primero comprometerse con su informe, y una vez que todos los nodos se hayan comprometido (o haya expirado un tiempo de espera), Los nodos revelan sus informes. Para cada informe que se genera, a cada nodo también se le asigna una prioridad de vigilancia entre 1 yn elegida al azar, siendo 1 la máxima prioridad. Esta prioridad permite a la concentración de recompensa en manos de un perro guardián. Después de que todos los informes sean públicos, sobreviene una fase de alerta. Durante una secuencia de n rondas (síncronas), el nodo con La prioridad i tiene la oportunidad de alertar en la ronda i. Consideremos los posibles resultados del mecanismo después de que los nodos hayan revelado sus informes. Suponiendo nuevamente un informe binario, supongamos que el valor correcto es verdadero y el incorrecto es falso. Supongamos también que el mecanismo de primer nivel genera la Valor mayoritario producido por los nodos como informe final r. Hay tres resultados posibles en el mecanismo: • Acuerdo completo: en el mejor de los casos, los nodos están en completo acuerdo: todos los nodos están disponibles y han proporcionado un informe oportuno del mismo valor r (ya sea verdadero o falso). En este caso, la red sólo necesita reenviar r a los contratos de confianza. y recompensar cada nodo con un pago fijo por ronda $p, que es mucho menor que $d. • Acuerdo parcial: es posible que algunos nodos estén fuera de línea o haya desacuerdo sobre qué valor es correcto, pero la mayoría de los nodos informan que son verdaderos y solo un Los informes minoritarios son falsos. Este caso también es sencillo. El valor mayoritario (verdadero) se calcula, lo que da como resultado un informe correcto r. Todos los nodos que informaron r son recompensados con $p mientras los oracles que reportaron incorrectamente tengan sus depósitos reducido modestamente, por ejemplo, en 10 peniques. • Alerta: En caso de que un organismo de control crea que la salida de la red es incorrecta, activa públicamente una alerta, escalando el mecanismo a la red de segundo nivel. Hay entonces dos resultados posibles: – Alerta correcta: si la red de segundo nivel confirma que la salida delFigura 16: Ampliación del costo del soborno mediante recompensas de alerta concentradas. un soborno El adversario debe sobornar a cada nodo con más recompensa que la que podría obtener alertando. (se muestra como una barra roja). Si se comparten las recompensas de alerta, entonces esta recompensa puede ser relativamente pequeño. Las recompensas de alerta concentradas aumentan la recompensa que cualquier nodo puede recibir. obtener (barra roja alta). En consecuencia, el pago total por parte del adversario por un soborno viable (regiones grises) es mucho mayor con recompensas de alerta concentradas que compartidas. La red de primer nivel era incorrecta, el nodo de vigilancia que alerta recibe una recompensa. que consiste en todos los depósitos recortados y, por lo tanto, más de $dn/2. – Alerta defectuosa: si los oracle de segundo y primer nivel están de acuerdo, se realiza la escalada. se considera defectuoso y el nodo de alerta pierde su depósito de $dw. En caso de aceptación optimista de los informes, las alertas de vigilancia no causan cualquier cambio en la ejecución de los contratos de confianza. Para contratos diseñados para esperar posible arbitraje por parte del comité de segundo nivel, las alertas del organismo de control retrasan pero no congelar la ejecución del contrato. También es posible que los contratos designen un conmutación por error DON para períodos de adjudicación. 9.4.2 Impacto de apuesta cuadrático La capacidad de cada nodo de actuar como guardián, combinada con una estricta prioridad de nodo. Garantizar recompensas concentradas permite que el mecanismo alcance staking cuadrático. impacto para cada tipo de atacante que soborna descrito en la Sección 9.3.3. Recuerde que esto significa específicamente en nuestro entorno que, para una red con n nodos cada uno con depósito $d, un sobornador exitoso (de cualquiera de los tipos anteriores) debe tener un presupuesto mayor que $dn2/2. Para ser precisos, el sobornador debe corromper al menos (n+1)/2 nodos, ya que el sobornador debe corromper una mayoría de n nodos (para n impares, por supuesto). Por lo tanto, un perro guardián debe gane una recompensa de $d(n + 1)/2. En consecuencia, el sobornador debe pagar esta cantidad a cadanodo para garantizar que ninguno actúe como perro guardián. Estamos trabajando para demostrar formalmente que si el sobornador tiene un presupuesto de como máximo $d(n2 + n)/2, entonces el equilibrio perfecto en subjuegos del juego entre los sobornadores y los oracles; en otras palabras, el equilibrio en cualquier momento durante el desarrollo del juego—es para el sobornador no emitir el soborno y para cada oracle para informar sus verdaderos valores con honestidad. Hemos explicado anteriormente cómo es posible que un sobornador exitoso requiera una presupuesto significativamente mayor que el de la suma de los depósitos de los nodos. Para ilustrar esto Como resultado intuitivo, la Fig. 16 muestra gráficamente el impacto de las recompensas de alerta concentradas. Como vemos allí, si la recompensa por alertar al organismo de control (es decir, los depósitos de los sobornados) nodos que informan falsos): se dividieron entre todas las alertas potenciales, la cantidad total que cualquier nodo de alerta individual podría esperar sería relativamente pequeño, del orden de $d. Un sobornador, sabiendo que era improbable un pago superior a $d, podría utilizar un soborno condicional de resultado falso para sobornar a cada uno de los n nodos con un poco más de $d + ϵ. Contraintuitivamente, la Fig. 16 muestra que un sistema que distribuye una recompensa ampliamente entre los nodos que señalan una alerta es mucho más débil que uno que concentra la recompensa en las manos de un solo perro guardián. Parámetros de ejemplo: Considere una red (de primer nivel) con n = 100 nodos, cada uno depositando \(d = \)20K. Esta red tendría un total de $2 millones depositados pero Estar protegido contra un soborno con presupuesto \(100M = \)dn2/2. Aumentando el número de oracles es más efectivo que aumentar $d, por supuesto, y puede tener un efecto dramático: una red con n = 300 nodos y depósitos \(d = \)20K estaría protegida contra un Sobornador con presupuesto de hasta 900 millones de dólares. Tenga en cuenta que un sistema staking puede en muchos casos proteger smart contracts que representan más valor que el nivel ofrecido de protección contra el soborno. Esto se debe a que un adversario atacar estos contratos no puede extraer el valor total en muchos casos. Por ejemplo, un Un contrato impulsado por Chainlink que garantiza un valor de mil millones de dólares solo puede requerir una garantía contra una sobornador con 100 millones de dólares en recursos porque tal adversario puede extraer una ganancia de sólo el 10% del valor del contrato. Nota: La idea de que el valor de una red puede crecer cuadráticamente se expresa en la conocida Ley de Metcalfe [167, 235], que establece que el valor de una red crece cuadráticamente en el número de entidades conectadas. La ley de Metcalfe, sin embargo, surge del crecimiento en el número de posibles conexiones de red por pares, un fenómeno diferente al impacto cuadrático subyacente staking en nuestro incentivo mecanismo. 9.4.3 Realización del Segundo Nivel Dos características operativas facilitan la realización de un segundo nivel de alta confiabilidad: (1) La adjudicación de segundo nivel debería ser un evento poco común en las redes oracle y, por lo tanto, puede ser significativamente más costoso que el funcionamiento normal del primer nivel y (2) Suponiendoinformes aceptados con optimismo—o contratos cuya ejecución puede esperar a un arbitraje— el segundo nivel no necesita ejecutarse en tiempo real. Estas características dan como resultado una gama de Opciones de configuración para el segundo nivel para cumplir con los requisitos de DONs particulares. Como enfoque de ejemplo, un comité de segundo nivel puede estar formado por nodos seleccionados por un DON (es decir, primer nivel) de los nodos más confiables y con más años de servicio en el Chainlink red. Además de una considerable experiencia operativa relevante, los operadores de tales nodos tienen un incentivo implícito considerable en FFO que motiva un deseo para garantizar que la red Chainlink siga siendo altamente confiable. También lo han hecho públicamente historiales de rendimiento disponibles que brindan transparencia sobre su confiabilidad. Vale la pena señalar que los nodos de segundo nivel no necesitan ser participantes en la red de primer nivel, y puede adjudicar fallas en múltiples redes de primer nivel. Los nodos en un DON determinado pueden predesignar y comprometerse públicamente con un conjunto de n′ tales nodos que constituyen el comité de segundo nivel para ese DON. Además, DON los nodos publican un parámetro k′ ≤n′ que determina el número de votos de segundo nivel requerido para penalizar un nodo de primer nivel. Cuando se genera una alerta para un informe determinado, Los miembros del segundo nivel votan sobre la exactitud de los valores proporcionados por cada uno. de los nodos de primer nivel. Cualquier nodo de primer nivel que reciba k′ votos negativos pierde su depósitos al nodo de vigilancia. Debido a la rareza de la adjudicación y la oportunidad de ejecución por tiempo prolongado Como se señaló anteriormente, a diferencia del primer nivel, los nodos del segundo nivel pueden: 1. Recibir una remuneración elevada por realizar la adjudicación. 2. Aprovechar fuentes de datos adicionales, incluso más allá del conjunto diverso utilizado por el primero. 3. Depender de la inspección e intervención manual y/o experta, por ejemplo, para identificar y conciliar errores en los datos de origen y distinguir entre un nodo honesto que transmite datos defectuosos y un nodo que se comporta mal. Hacemos hincapié en que el enfoque que acabamos de describir para la selección de nodos de segundo nivel y la política que rige la adjudicación representa sólo un punto dentro de un gran Espacio de diseño de posibles realizaciones del segundo nivel. Nuestro mecanismo de incentivos ofrece Completa flexibilidad en cuanto a cómo se realiza el segundo nivel. Los DON individuales pueden así constituir y fijar reglas para sus segundos niveles que cumplan con los requisitos particulares y expectativas de los nodos y usuarios participantes. DECO y Town Pregonero como herramientas de adjudicación: Es imprescindible para la segunda división. en nuestro mecanismo para poder distinguir entre nodos adversarios de primer nivel que producir intencionalmente informes incorrectos y nodos honestos de primer nivel que sin querer transmitir datos que son incorrectos en la fuente. Sólo entonces podrá el segundo nivel implementar Recortar para desincentivar las trampas, el objetivo de nuestro mecanismo. DECO y Pregonero son herramientas poderosas que pueden permitir que los nodos de segundo nivel hagan esta distinción crítica confiablemente.En algunos casos, los nodos de segundo nivel pueden consultar directamente la fuente de datos utilizada. por un nodo de primer nivel o utilice la Sección 7.1 de ADO para comprobar si se ha recibido un informe incorrecto. resultado de una fuente de datos defectuosa. En otros casos, sin embargo, los nodos de segundo nivel pueden carecer acceso directo a la fuente de datos de un nodo de primer nivel. En tales casos, una adjudicación correcta parecen inviables o requieren confiar en un juicio subjetivo. Anterior oracle Los sistemas de disputas se han basado en rondas de votación cada vez más ineficientes para abordar tales cuestiones. desafíos. Sin embargo, al utilizar DECO o Town Crier, un nodo de primer nivel puede demostrar un comportamiento correcto. a nodos de segundo nivel. (Consulte la Sección 3.6.2 para obtener detalles sobre los dos sistemas). Específicamente, si el nodo de segundo nivel identifica un nodo de primer nivel que ha generado un valor de informe defectuoso ˜r, El nodo de primer nivel puede usar DECO o Town Crier para generar evidencia a prueba de manipulaciones para nodos de segundo nivel que están transmitiendo correctamente desde una fuente (habilitada para TLS) reconocido como autorizado por el DON. Fundamentalmente, el nodo de primer nivel puede hacer esto. sin nodos de segundo nivel que requieran acceso directo a la fuente de datos.17 En consecuencia, La adjudicación correcta es factible en Chainlink para cualquier fuente de datos deseada. 9.4.4 Informes erróneos de seguros La fuerte resistencia al soborno lograda por nuestro mecanismo staking se basa fundamentalmente sobre los recortes de fondos que se conceden a los alertadores. Sin una recompensa monetaria, los alertadores no tienen ningún incentivo directo para rechazar los sobornos. Como resultado, sin embargo, los fondos recortados no son disponible para compensar a los usuarios perjudicados por informes incorrectos, por ejemplo, usuarios que pierden dinero cuando se transmiten datos de precios incorrectos a smart contract. Por supuesto, los informes incorrectos no suponen un problema si los informes son aceptados por un contrato sólo después de una posible adjudicación, es decir, una acción por parte del segundo nivel. Como se explica Sin embargo, para lograr el mejor desempeño posible, los contratos pueden basarse en son optimistas sobre el mecanismo para hacer cumplir la presentación de informes correctos, lo que significa que aceptan informes antes de una posible adjudicación de segundo nivel. De hecho, un comportamiento tan optimista es seguro en nuestro modelo asumiendo adversarios racionales cuyos presupuestos no excedan el staking impacto del mecanismo. Usuarios preocupados por el improbable caso de una falla del mecanismo resultante de, por ejemplo, los adversarios con recursos financieros abrumadores pueden desear emplear una capa adicional de seguridad económica en forma de seguros contra declaraciones erróneas. sabemos de Múltiples aseguradoras ya tienen la intención de ofrecer pólizas de este tipo respaldadas por contratos inteligentes. para protocolos seguros Chainlink en un futuro próximo, incluso a través de mecanismos innovadores como DAOs, por ejemplo, [7]. La existencia de un historial de rendimiento para Chainlink Los nodos y otros datos sobre los nodos, como los montos de su participación, proporcionan una base excepcionalmente sólida para las evaluaciones actuariales del riesgo, lo que permite fijar el precio de las políticas. de maneras que sean económicas para los asegurados pero sostenibles para las aseguradoras. 17Con Town Crier, también es posible que los nodos de primer nivel generen certificaciones localmente de corrección de los informes que generan y proporcionan estas certificaciones a los nodos de segundo nivel en un según sea necesario.Las formas básicas de seguros contra declaraciones erróneas se pueden implementar de manera confiable y manera eficiente usando smart contracts. Como ejemplo sencillo, un seguro paramétrico contrato SCins puede compensar a los asegurados automáticamente si nuestro mecanismo de incentivos El segundo nivel identifica un error en un informe generado en el primer nivel. Un usuario U que desea adquirir una póliza de seguro, por ejemplo, el creador de un objetivo. contrato SC, puede presentar una solicitud a una aseguradora descentralizada por un monto de póliza Millones de dólares en el contrato. Al aprobar U, el asegurador puede establecer un período continuo (por ejemplo, mensual) prima de $P en SCins. Mientras U paga la prima, su póliza permanece activa. Si ocurre una falla en el reporte en SC, el resultado será la emisión de un par (r1, r2) de informes contradictorios para SC, donde r1 está firmado por el primer nivel de nuestro mecanismo y r2, el informe corregido correspondiente, está firmado por el segundo nivel. Si la U proporciona tal par válido (r1, r2) a SCins, el contrato le paga automáticamente $M, siempre que sus pagos de primas están al día. 9.5 Variante de una sola ronda El protocolo descrito en la subsección anterior requiere que el comité de segundo nivel espere n rondas para determinar si un organismo de control ha emitido una alerta. esto El requisito se mantiene incluso en el caso optimista, es decir, cuando el primer nivel está funcionando. correctamente. Para los usuarios que no estén dispuestos a aceptar informes de manera optimista, es decir, antes de posibles adjudicación, el retraso asociado con ese enfoque sería inviable. Por esta razón, también estamos explorando protocolos alternativos que requieren solo un redondo. En este enfoque, todos los nodos oracle envían bits secretos que indican si desean dar una alerta. El comité de segundo nivel luego verifica estos valores en orden de prioridad. Para proporcionar un esbozo aproximado, dicho esquema podría implicar lo siguiente pasos: 1. Envío de bits de vigilancia: cada nodo secreto de Oi comparte un valor de vigilancia de un bit wi ∈{sin alerta, alerta} entre los nodos del segundo nivel para cada informe que genera. 2. Consejos anónimos: cualquier nodo oracle puede enviar un consejo anónimo α al comité de segundo nivel en la misma ronda en la que se envían los bits de vigilancia. Este consejo α es un mensaje que indica que se ha generado una alerta para el informe actual. 3. Comprobación de bits de vigilancia: el comité de segundo nivel revela la vigilancia de los nodos oracle bits en orden de prioridad. Tenga en cuenta que los nodos no deben enviar bits de vigilancia de alerta cuando no alertan: de lo contrario, el análisis de tráfico revela los bits de todos los nodos. El protocolo sí revela la no alerta bits de vigilancia de nodos con mayor prioridad que el perro guardián de alerta de mayor prioridad. Observe que lo que se revela es idéntico al de nuestro protocolo de n rondas. Las recompensas también se distribuyen de manera idéntica a ese esquema, es decir, el primer perro guardián identificado recibe los depósitos recortados de los nodos que han enviado informes incorrectos.El uso de sugerencias anónimas permite que el comité de segundo nivel permanezca no interactivo en los casos en los que no se ha generado ninguna alerta, lo que reduce la complejidad de la comunicación. en el caso común. Tenga en cuenta que cualquier organismo de control que genere una alerta tiene un incentivo económico para enviar una denuncia anónima: si no se envía ninguna denuncia, no se paga ninguna recompensa a ningún nodo. Para garantizar que el remitente Oi de un aviso anónimo α no pueda ser identificado por el adversario basado en datos de la red, el aviso anónimo se puede enviar a través de un anónimo canal, por ejemplo, a través de Tor o, más prácticamente, mediante proxy a través de un proveedor de servicios en la nube. a autenticar que la punta se origina en O, Oi puede firmar α usando una firma de anillo [39, 192]. Alternativamente, para evitar ataques de denegación de servicio no atribuibles contra el comité de segundo nivel por parte de un nodo oracle malicioso, α puede ser una credencial anónima con anonimato revocable [73]. Este protocolo, si bien es prácticamente realizable, tiene una ingeniería algo pesada. requisitos (que estamos explorando formas de reducir). Los nodos de primer nivel, por ejemplo, debe comunicarse directamente con nodos de segundo nivel, lo que requiere el mantenimiento de un directorio. La necesidad de canales anónimos y firmas de anillo se suma a la ingeniería. complejidad del esquema. Finalmente, existe un requisito especial de confianza que se analiza brevemente en la nota a continuación. Por lo tanto, también estamos explorando esquemas más simples que aún logran impacto superlineal staking, pero quizás menos que cuadrático, en el que un sobornador necesita asintóticamente recursos de al menos $n log n, por ejemplo. Algunos de los esquemas bajo consideración implica la selección aleatoria de un subconjunto estricto de nodos para actuar como perros guardianes, en cuyo caso el posible soborno se convierte en un ataque especialmente poderoso. Observación: La seguridad de este mecanismo staking de una sola ronda requiere que no se pueda explotar. canales entre oracle y nodos de segundo nivel: un requisito estándar en sistemas resistentes a la coerción, por ejemplo, votación [82, 138], y razonable en la práctica. Sin embargo, además, un nodo Oi que busque cooperar con un sobornador puede construir sus acciones secretas de tal manera que muestre al sobornador que ha codificado un determinado valor. Por ejemplo, si Oi no sabe qué nodos controla el sobornador, entonces Oi puede enviar acciones con valor 0 a todos los miembros del comité. El sobornador puede entonces verificar la situación de Oi. cumplimiento probabilísticamente. Para evitar este problema en cualquier protocolo de ronda única, requieren que Oi conozca la identidad de al menos un nodo honesto de segundo nivel. Con un protocolo interactivo en el que cada nodo de segundo nivel agrega una aleatorización factor a las acciones, lo mejor que puede hacer el sobornador es obligar a Oi a seleccionar un bit de perro guardián. 9.6 Marco de incentivos implícitos (IIF) FFO es una forma de incentivo implícito para el comportamiento correcto en la red Chainlink. eso funciona como participación explícita, es decir, depósitos, en el sentido de que ayuda a hacer cumplir la seguridad económica para la red. En otras palabras, el FFO debería incluirse como parte del depósito (efectivo) $d de un nodo en la red.La pregunta es: ¿Cómo medimos el FFO y otras formas de incentivos implícitos? dentro de la red Chainlink? El Marco de Incentivos Implícitos (MII) es un conjunto de principios y técnicas que pretendemos desarrollar con este fin. Sistemas de cadena de bloques proporcionan muchas formas de transparencia sin precedentes y los registros de alta confianza de los nodos El desempeño que crean son un trampolín para nuestra visión de cómo funcionará el IIF. Aquí esbozamos muy brevemente ideas sobre elementos clave del MII. El IIF en sí consistirá en un conjunto de factores que identificamos como importantes al evaluar incentivos implícitos, junto con mecanismos para publicar datos relevantes en una forma de alta seguridad para su consumo por algoritmos analíticos. Diferentes usuarios Chainlink pueden desean utilizar el IIF de diferentes maneras, por ejemplo, dando diferente ponderación a diferentes factores. Esperamos que surjan servicios de análisis en la comunidad que ayuden a los usuarios a aplicar el IIF. de acuerdo con sus preferencias individuales de evaluación de riesgos, y nuestro objetivo es facilitar dichos servicios garantizando su acceso a datos de respaldo oportunos y de alta seguridad, como analizamos a continuación (Sección 9.6.4). 9.6.1 Oportunidad de tarifa futura Los nodos participan en el ecosistema Chainlink para ganar una parte de las tarifas que las redes pagan por cualquiera de los diversos servicios que hemos descrito en este documento, desde Los datos ordinarios se alimentan de servicios avanzados como identidad descentralizada, secuenciación justa, y preservación de la confidencialidad DeFi. Las tarifas en la red Chainlink respaldan los costos de los operadores de nodos para, por ejemplo, ejecutar servidores, adquirir las licencias de datos necesarias y mantener un personal global para garantizar un alto tiempo de actividad. FFO denota las tarifas de servicio, netas de gastos, que un nodo puede ganar en el futuro, o perder si demuestra un comportamiento defectuoso. FFO es una forma de participación que ayuda a proteger la red. Una característica útil de FFO es el hecho de que los datos dentro de la cadena (complementados con datos fuera de la cadena) datos) establecen un registro de alta confianza del historial de un nodo, lo que permite el cálculo de FFO de manera transparente y empíricamente impulsada. Una medida simple de primer orden de FFO puede derivarse del ingreso neto promedio de una nodo durante un período de tiempo (es decir, ingresos brutos menos gastos operativos). FFO puede luego calcularse como, por ejemplo, el valor presente neto [114] de los ingresos netos futuros acumulados, en otras palabras, el valor descontado en el tiempo de todas las ganancias futuras. Sin embargo, los ingresos del nodo pueden ser volátiles, como se muestra, por ejemplo, en la Fig. 17. Más importante aún, es posible que los ingresos del nodo no sigan una distribución estacionaria. con el tiempo. En consecuencia, otros factores que planeamos explorar al estimar el FFO incluyen: • Historial de desempeño: el historial de desempeño de un operador, incluida la exactitud y puntualidad de sus informes, así como su tiempo de actividad, proporciona una base objetiva. piedra de toque para que los usuarios evalúen su confiabilidad. Por lo tanto, el historial de rendimiento proporcionar un factor crítico en la selección de los usuarios de oracle nodos (o, con la llegada de DONs, su selección de DONs). Es probable que un historial de desempeño sólido se correlacionan con altos ingresos continuos.18 18Una cuestión de investigación importante que pretendemos abordar es la detección de volúmenes de servicios falsificados.Figura 17: Ingresos obtenidos por Chainlink nodos en una única fuente de datos (ETH-USD) durante una semana representativa en marzo de 2021. • Acceso a datos: si bien oracles pueden obtener muchas formas de datos de API abiertas, Ciertas formas de datos o ciertas fuentes de alta calidad pueden estar disponibles sólo en un mediante suscripción o mediante acuerdos contractuales. Acceso privilegiado a determinados Las fuentes de datos pueden desempeñar un papel en la creación de un flujo de ingresos estable. • Participación de DON: Con la llegada de DONs, vendrán comunidades de nodos. juntos para proporcionar servicios particulares. Esperamos que muchos DONs incluyan operadores de forma selectiva, estableciendo la participación en DONs acreditados como Posición privilegiada en el mercado que ayuda a garantizar una fuente constante de ingresos. • Actividad multiplataforma: algunos operadores de nodos pueden tener presencias bien establecidas y registros de desempeño en otros contextos, por ejemplo, como PoS validators o proveedores de datos en contextos distintos de blockchain. Su desempeño en estos otros sistemas (cuando los datos sobre ellos están disponibles en una forma confiable) puede informar la evaluación. de su historial de desempeño. Del mismo modo, comportamiento defectuoso en la red Chainlink puede poner en peligro los ingresos en estos otros sistemas al ahuyentar a los usuarios, es decir, FFO puede extenderse a través de plataformas. 9.6.2 FFO especulativo Los operadores de nodos participan en la red Chainlink no solo para generar ingresos de operaciones, sino crear y posicionarse para aprovechar nuevas oportunidades para ejecutar puestos de trabajo. En otras palabras, el gasto de oracle nodos en la red también se una declaración positiva sobre el futuro de DeFi y otras aplicaciones de contratos inteligentes dominios, así como aplicaciones emergentes no blockchain de redes oracle. Los operadores de nodos hoy ganan las tarifas disponibles en las redes Chainlink existentes y simultáneamente Son vagamente análogas a las reseñas falsas en sitios de Internet, excepto que el problema es más fácil en el oracle porque tenemos un registro definitivo de si los bienes, es decir, los informes, fueron ordenados y entregados, a diferencia de, por ejemplo, productos físicos pedidos en tiendas en línea. Dicho de otra manera, en el oracle En esta configuración, el rendimiento se puede validar, incluso si la veracidad del cliente no.construir una reputación, un historial de desempeño y experiencia operativa que posicionarán ellos ventajosamente para ganar tarifas disponibles en redes futuras (contingentes, por supuesto, sobre comportamiento honesto). Los nodos que operan en el ecosistema Chainlink hoy en este sentido tienen una ventaja sobre los recién llegados al ganar las tarifas adicionales Chainlink los servicios estén disponibles. Esta ventaja se aplica a nuevos operadores, así como a empresas de tecnología con reputación establecida; por ejemplo, T-Systems, un tradicional proveedor de tecnología (subsidiaria de Deutsche Telekom) y Kraken, una gran centralizada intercambio, han establecido presencias tempranas en el ecosistema Chainlink [28, 143]. Dicha participación de oracle nodos en oportunidades futuras puede considerarse en sí misma. como una especie de FFO especulativo y, por lo tanto, constituye una forma de participación en el Chainlink red. 9.6.3 Reputación externa El IIF tal como lo hemos descrito puede operar en una red con usuarios estrictamente seudónimos. operadores, es decir, sin divulgación de las personas o entidades del mundo real involucradas. Sin embargo, un factor potencialmente importante para la selección de proveedores por parte del usuario es el reputación. Por reputación externa nos referimos a la percepción de confiabilidad asociada a identidades del mundo real, más que a seudónimos. Riesgo reputacional asociado a Las identidades del mundo real pueden verse como una forma de incentivo implícito. Vemos la reputación a través de la lente del IIF, es decir, en un sentido criptoeconómico, como un medio para establecer actividad multiplataforma que puede incorporarse a las estimaciones de FFO. El beneficio de utilizar la reputación externa como factor en las estimaciones de FFO, en contraposición al vínculo seudónimo, es que la reputación externa vincula el desempeño no sólo a un de las actividades actuales del operador, sino también de las futuras. Si, por ejemplo, una mala reputación se atribuye a una persona individual, puede manchar las futuras empresas de esa persona. Dicho de otra manera, la reputación externa puede captar una franja más amplia de FFO que los seudónimos. registros de desempeño, como el impacto de la mala conducta asociada a una persona o establecimiento Es más difícil escapar de una empresa que de la asociada a una operación seudónima. Chainlink es compatible con tecnologías de identidad descentralizadas (Sección 4.3) que puede brindar apoyo para el uso de la reputación externa en el IIF. Tales tecnologías puede validar y, por lo tanto, ayudar a garantizar la veracidad de las declaraciones del mundo real afirmadas por los operadores. identidades.19 9.6.4 Abrir análisis IIF El IIF, como hemos señalado, tiene como objetivo proporcionar datos y herramientas confiables de fuente abierta para análisis de incentivos implícitos. El objetivo es permitir que los proveedores dentro de la comunidad desarrollar análisis adaptados a las necesidades de evaluación de riesgos de diferentes partes del Chainlink base de usuarios. 19Las credenciales de identidad descentralizadas también pueden, cuando se desee, embellecer los seudónimos con credenciales validadas. información complementaria. Por ejemplo, un operador de nodo podría, en principio, utilizar dichas credenciales para demostrar que es una empresa Fortune 500, sin revelar cuál.Una cantidad considerable de datos históricos sobre los ingresos y el rendimiento de los nodos. reside en la cadena en una forma inmutable y de alta confianza. Nuestro objetivo, sin embargo, es proporcionar la datos más completos posibles, incluidos datos sobre comportamientos que sólo son visibles cadena, como informes fuera de cadena (OCR) o actividad DON. Estos datos pueden potencialmente ser voluminoso. La mejor manera de almacenarlo y asegurar su integridad, es decir, protegerlo de Creemos que la manipulación se realizará con la ayuda de DONs, utilizando técnicas discutidas en la Sección 3.3. Algunos incentivos se prestan a formas directas de medición, como staking depósitos y FFO básico. Otros, como el FFO especulativo y la reputación, son más difíciles de evaluar. medir de manera objetiva, pero creemos que las formas de datos de respaldo, incluidas crecimiento histórico del ecosistema Chainlink, métricas de reputación en redes sociales, etc., puede admitir modelos de análisis IIF incluso para estos elementos más difíciles de cuantificar. Podemos imaginar que los DON dedicados surgen específicamente para monitorear, validar y registrar datos relacionados con registros de rendimiento fuera de la cadena de nodos, así como otros datos utilizados en el IIF, como información de identidad validada. Estos DON pueden proporcionar datos IIF uniformes y de alta confianza para cualquier proveedor de análisis que preste servicio a la comunidad Chainlink. También proporcionarán un disco de oro que haga realidad las afirmaciones de los proveedores de análisis. verificable independientemente por la comunidad. 9.7 Poniéndolo todo junto: incentivos para operadores de nodos Sintetizando nuestras discusiones anteriores sobre incentivos explícitos e implícitos para los operadores de nodos proporciona una visión holística de las formas en que los operadores de nodos participan y se benefician de la red Chainlink. Como guía conceptual, podemos expresar los activos totales en juego mediante un Chainlink determinado. operador de nodo $S en una forma aproximada y estilizada como: \(S ≈\)D + \(F + \)FS + $R, donde: • $D es la suma de todas las participaciones depositadas explícitamente en todas las redes en las que el operador participa; • $F es el valor presente neto del agregado de todos los FFO en todas las redes en en el que participa el operador; • $FS es el valor actual neto del FFO especulativo del operador; y • $R es el patrimonio reputacional del operador fuera del ecosistema Chainlink que podría estar en peligro por un mal comportamiento identificado en sus nodos oracle. Si bien es en gran medida conceptual, esta igualdad aproximada muestra de manera útil que existe una multiplicidad de factores económicos que favorecen el rendimiento de alta confiabilidad de los Chainlink nodos. Todos estos factores, además de $D, están presentes en las redes Chainlink actuales.9.8 El círculo virtuoso de la seguridad económica La combinación del impacto superlineal staking con la representación de los pagos de tarifas como oportunidad de pago futura (FFO) en el IIF puede conducir a lo que llamamos el círculo virtuoso de seguridad económica en una red oracle. Esto puede verse como una especie de economía. de escala. A medida que aumenta la cantidad total asegurada por una red particular, la cantidad de La participación adicional que se necesita para agregar una cantidad fija de seguridad económica disminuye al igual que lo hace el coste medio por usuario. Por lo tanto, es más barato, en términos de tarifas, que un usuario se una una red ya existente que lograr el mismo aumento en la rentabilidad económica de la red. seguridad mediante la creación de una nueva red. Es importante destacar que la incorporación de cada nuevo usuario reduce el costo del servicio para todos los usuarios anteriores de esa red. Dada una estructura de tarifas particular (por ejemplo, una tasa de rendimiento particular sobre el monto apostado), Si las tarifas totales ganadas por una red aumentan, esto incentiva el flujo de participación en la red para asegurarla a una tasa más alta. Específicamente, si la apuesta total un nodo individual puede contener en el sistema, cuando se realicen nuevos pagos de tarifas ingresa al sistema, aumentando su FFO, el número de nodos n aumentará. Gracias a la impacto superlineal staking de nuestro diseño de sistema de incentivos, la seguridad económica de el sistema crecerá más rápido que n, por ejemplo, como n2 en el mecanismo que esbozamos en la sección 9.4. Como resultado, el costo promedio de la seguridad económica (es decir, la cantidad de participación que contribuye) un dólar de seguridad económica—caerá. Por tanto, la red puede cobrar a sus usuarios. tarifas más bajas. Suponiendo que la demanda de servicios oracle es elástica (ver, por ejemplo, [31] para una breve explicación), la demanda aumentará, generando tarifas adicionales y FFO. Ilustramos este punto con el siguiente ejemplo. Ejemplo 5. Desde la seguridad económica de una red oracle con nuestro incentivo esquema es \(dn2 for stake \)dn, la seguridad económica aportada por un dólar de participación es n y, por lo tanto, el costo promedio por dólar de la seguridad económica, es decir, la cantidad de participación contribuir a un dólar de seguridad económica es 1/n. Considere una red en la que los incentivos económicos consisten enteramente en FFO, limitados en \(d ≤\)10K por nodo. Supongamos que la red tiene n = 3 nodos. Entonces el costo promedio por dólar de seguridad económica es de aproximadamente 0,33 dólares. Supongamos que el FFO total de la red supera \(30K (e.g., to \)31K). dado el límite de FFO por nodo, la red crece a (al menos) n = 4. Ahora el costo promedio por dólar de seguridad económica cae a alrededor de 0,25 dólares. Ilustramos esquemáticamente el ciclo virtuoso completo de la seguridad económica en las redes oracle en la Fig. 18. Destacamos que el círculo virtuoso de la seguridad económica se deriva del efecto de usuarios que ponen en común sus tarifas. Es su FFO colectivo el que trabaja a favor de grandes tamaños de red y, por tanto, una mayor seguridad colectiva. También observamos que el círculo virtuoso de seguridad económica favorece que DONs alcancen la sostenibilidad financiera. una vez creados, los DONs que abordan las necesidades del usuario deben crecer hasta y más allá del punto en el que Los ingresos por tarifas superan los costos operativos para oracle nodos.

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

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

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

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

Figura 18: Esquema del círculo virtuoso de Chainlink staking. Un aumento en la tarifa de usuario pagos a una red oracle 1⃝hace que crezca, lo que lleva al crecimiento de su economía seguridad 2⃝. Este crecimiento superlineal logra economías de escala en redes Chainlink 3⃝. Específicamente, significa una reducción en el costo promedio de la seguridad económica, es decir, la seguridad económica por dólar que surge del pago de tarifas u otras fuentes de participación aumenta. Los costos más bajos, transferidos a los usuarios, estimulan una mayor demanda de oracle servicios 4⃝. 9.9 Factores adicionales que impulsan el crecimiento de la red A medida que el ecosistema Chainlink continúa expandiéndose, creemos que su atractivo para los usuarios y su importancia como infraestructura para la economía blockchain se acelerará. El valor proporcionado por las redes oracle es superlineal, lo que significa que crece más rápidoque el tamaño de las propias redes. Este crecimiento en valor se deriva tanto de economías de escala (mayor eficiencia de costos por usuario a medida que aumentan los volúmenes de servicios) y Efectos de red: un aumento de la utilidad de la red a medida que los usuarios adoptan DONs más ampliamente. A medida que los smart contract__ existentes continúan viendo más valor asegurado y completamente nuevo smart contract aplicaciones son posibles gracias a servicios más descentralizados, el total El uso y las tarifas agregadas pagadas a DONs deberían aumentar. Conjuntos crecientes de tarifas en a su vez traducirse en medios e incentivos para crear servicios aún más descentralizados, resultando en un círculo virtuoso. Este círculo virtuoso resuelve el problema crítico del huevo y la gallina. Problema en el ecosistema híbrido smart contract: características innovadoras smart contract a menudo requieren servicios descentralizados que aún no existen (por ejemplo, nuevos mercados DeFi a menudo requieren nuevas fuentes de datos) pero necesitan suficiente demanda económica para existir. La combinación de tarifas por parte de varios smart contracts para DONs existentes señalará la demanda de servicios descentralizados adicionales de una base de usuarios en crecimiento, dando lugar a su creación por DONs y una habilitación continua de smart contracts híbridos nuevos y variados. En resumen, creemos que el crecimiento de la seguridad de la red impulsado por principios virtuosos ciclos en el mecanismo Chainlink staking ejemplifica patrones más amplios de crecimiento que la red Chainlink puede ayudar a generar una economía en cadena para descentralizados servicios.

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.

Conclusión

En este artículo, hemos expuesto una visión para la evolución de Chainlink. El tema principal En esta visión está la capacidad de las redes oracle para proporcionar una gama mucho más amplia de servicios para smart contracts que la mera entrega de datos. Utilizando DONs como base para los servicios descentralizados del futuro, Chainlink tendrá como objetivo proporcionar una funcionalidad oracle eficaz y de confidencialidad mejorada. Sus redes oracle ofrecerán una fuerte minimización de la confianza. a través de una combinación de mecanismos criptoeconómicos basados en principios como staking y barandillas cuidadosamente concebidas y aplicación del nivel de servicio en cadenas principales dependientes. DONs también ayudará a los sistemas de capa 2 a aplicar políticas de pedidos flexibles y justas en las transacciones, así como a reducir los costos de gas para las transacciones enrutadas por mempool. En conjunto, Todas estas capacidades conducen en la dirección de una tecnología híbrida inteligente, segura y ricamente funcional. contratos. La flexibilidad de DONs mejorará los servicios Chainlink existentes y dará lugar a muchas funciones y aplicaciones smart contract adicionales. Entre estos se encuentran conexión a una amplia variedad de sistemas fuera de la cadena, creación de identidad descentralizada desde datos existentes, canales prioritarios para ayudar a garantizar la entrega oportuna de infraestructura crítica transacciones e instrumentos DeFi que preservan la confidencialidad. La visión que hemos expuesto aquí es ambiciosa. En el corto plazo buscamos potenciar contratos híbridos para lograr objetivos más allá del alcance de smart contracts hoy, mientras A largo plazo, nuestro objetivo es realizar una metacapa descentralizada. Felizmente podemos dibujar sobre nuevas herramientas e ideas, que van desde algoritmos de consenso hasta pruebas de conocimiento cero sistemas—que la comunidad está desarrollando como fruto de una investigación en rápida evolución.

De manera similar, esperamos priorizar la implementación de las ideas contenidas en este documento en respuesta a las necesidades de la comunidad de usuarios de Chainlink. Esperamos con ansias la siguiente etapa. en nuestra búsqueda para empoderar a smart contracts a través de la conectividad universal y establecer tecnologías descentralizadas como columna vertebral de la próxima generación de finanzas del mundo y sistemas legales. Agradecimientos Gracias a Julian Alterini y Shawn Lee por representar las figuras en este artículo.