Chainlink:去中心化的预言机网络

Par Steve Ellis, Ari Juels and Sergey Nazarov · 2017

Résumé

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

摘要

在本白皮书中,我们阐述了 Chainlink 的演变愿景,超越了原始 Chainlink 白皮书中的最初构想。 我们预见 oracle 网络的作用日益扩大,通过提供快速、可靠和可靠的服务来补充和增强现有和新的 blockchain 保密性通用连接和链外计算 smart contracts。 我们计划的基础是我们所说的去中心化预言机网络,或者 简称 DONs。 DON 是由 Chainlink 委员会维护的网络 节点。 它支持任何无限范围的 oracle 函数选择 由委员会部署。因此 DON 充当强大的抽象层, 为 smart contract 提供广泛的链下资源和高度的接口 DON 本身内高效且去中心化的链外计算资源。 以 DONs 作为跳板,Chainlink 计划重点关注七个方面的进展 关键领域: • 混合smart contracts:提供一个强大的通用框架,通过安全地在链上组合来增强现有的smart contract功能 和链下计算资源进入我们所说的混合smart contract。 • 抽象化复杂性:向开发人员和用户提供简单的 功能消除了熟悉复杂底层的需要 协议和系统边界。 • 扩展:确保oracle 服务实现延迟和吞吐量 高性能去中心化系统的需求。 • 保密性:支持结合blockchains’的下一代系统 与生俱来的透明度,为敏感信息提供强大的新保密保护 数据。 • 交易的顺序公平性:以多种方式支持交易排序 这对最终用户来说是公平的,并防止抢先交易和其他攻击 机器人和剥削性矿工。 • 信任最小化:创建高度值得信赖的支持层 smart contracts 和其他 oracle 依赖系统,通过去中心化、强锚定于高安全性 blockchains、加密 技术和加密经济保证。 • 基于激励的(加密经济)安全性:严格设计和稳健部署机制,确保 DON 中的节点具有强大的经济激励,即使面对资源充足的对手,也能可靠、正确地行事。 我们展示 Chainlink 社区的初步和持续创新 在每个领域,提供了一幅不断扩大和日益增长的图景 为 Chainlink 网络规划的强大功能。

Introduction

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

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

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

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

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

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

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

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

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

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

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

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

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

介绍

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

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

如今,区块链 oracle 通常被视为具有一个目标的去中心化服务: 将数据从链下资源转发到 blockchains。虽然这只是一小步, 从转发数据到计算、存储或双向传输。这一观察结果证实了 oracles 功能的更广泛概念。也是如此 满足 smart contract 不断增长的服务需求并且日益多元化 依赖 oracle 网络的技术。简而言之,oracle 可以而且需要 成为链上和链下系统之间的通用、双向、支持计算的接口。预言机在 blockchain 生态系统中的作用是增强 smart contract 的性能、功能和互操作性,以便它们能够 为多个行业带来新的信任模式和透明度。这种转变将通过扩大混合 smart contract 的使用来实现,它融合了 blockchains 的特殊属性以及链下系统的独特功能,例如 oracle 网络,从而实现比链上系统更大的覆盖范围和能力 处于孤立状态。 在本白皮书中,我们阐述了 Chainlink 2.0 的愿景,这是 Chainlink 的演变,超越了原始 Chainlink 白皮书 [98] 中的最初构想。我们预见 oracle 网络的作用将日益扩大,其中 它们通过为混合动力提供快速、可靠且保密的通用连接和计算来补充和增强现有和新的 blockchain smart contracts。我们相信 oracle 网络甚至会发展成为公用事业 用于将高完整性 blockchain 级数据导出到 blockchain 之外的系统 生态系统。 如今,由不同实体集运行的 Chainlink 节点聚集在 oracle 网络中,将数据转发到 smart contract,即所谓的报告。我们可以查看这样的 oracle 节点作为类似于经典共识 blockchain [72] 中的委员会, 但目标是支持现有的 blockchain,而不是提供独立的功能。具有可验证的随机函数(VRF)和链外报告 (OCR),Chainlink 已经向通用框架和基础设施发展,以提供 smart contracts 所需的计算资源 先进的功能。 我们的 Chainlink 2.0 计划的基础是我们所说的去中心化预言机 网络,简称 DONs。由于我们在 中引入了术语“oracle 网络” 原始 Chainlink 白皮书 [98]、oracle 开发了更丰富的功能和 应用范围。在本文中,我们根据 我们对 Chainlink 生态系统的未来愿景。在此视图中,DON 是一个网络 由 Chainlink 节点委员会维护。植根于共识协议,它 支持任何无限范围的 oracle 选择用于部署的功能 委员会。因此,DON 充当 blockchain 抽象层,提供接口 smart contract 和其他系统的链外资源。它还提供 访问高效且去中心化的链下计算资源。一般来说, a DON 支持主链上的操作。其目标是实现安全和灵活ble Hybrid smart contracts,将链上和链外计算与 与外部资源的连接。 我们强调,即使在 DONs 中使用委员会,Chainlink 本身 本质上仍然是未经许可的。 DONs 充当无需许可的基础 框架,其中节点可以聚集在一起实现自定义 oracle 网络 他们自己的节点包含制度,可能是经过许可的,也可能是未经许可的。 以 DONs 为基础,我们计划在 Chainlink 2.0 中重点关注七个方面的进展 关键领域:混合 smart contracts、抽象复杂性、扩展性、保密性、交易秩序公平性、信任最小化和基于激励的(加密经济)安全性。在本文的介绍中,我们概述了去中心化 第 1.1 节介绍了 Oracle 网络,然后第 1.2 节介绍了我们的七个关键创新领域。我们在 1.3 节中描述了本文其余部分的组织。 1.1 去中心化预言机网络 去中心化预言机网络旨在增强和扩展功能 目标 blockchain 或主链上的 smart contract 通过以下函数 本地不可用。他们通过提供以下三种基本资源来做到这一点: 计算系统:网络、存储和计算。 DON 旨在提供 这些资源具有很强的保密性、完整性和可用性,1 以及问责制。 DON 由 oracle 节点组成的委员会组成,这些节点合作完成特定的任务 工作或选择建立长期关系以提供持久的服务 给客户。 DON 以与 blockchain 无关的方式设计。他们承诺将作为 一个强大而灵活的工具,供应用程序开发人员创建链下支持 他们在任何受支持的主链上的 smart contract。 有两种类型的功能实现 DON 的功能:可执行文件和 适配器。可执行文件是在 DON 上以分散方式连续运行的程序。虽然它们不直接存储主链资产,但它们具有重要的好处,包括高性能和执行机密的能力 计算。可执行文件在 DON 上自主运行并执行确定性 操作。它们与将 DON 连接到外部资源的适配器协同工作 并且可以由可执行文件调用。正如我们为 DON 设想的那样,适配器是一个 今天 Chainlink 中外部适配器的通用化。虽然现有适配器 通常仅从数据源获取数据,适配器可以双向操作;在 DONs,它们还可以利用 DON 节点的联合计算来实现 附加功能,例如加密报告以保护隐私 一个可执行文件。 为了让您了解 DON 的基本操作,图 1 从概念上展示了 DON 是如何 DON 可用于将报告发送到 blockchain,从而实现传统的现有 oracle 功能。然而,DONs 可以提供许多附加功能 1信息安全的“中央情报局三合会”[123,第 14 页] 26,第 2.3.5 节]。Chainlink 的现有网络。例如,在图1的总体结构中, 可执行文件可以在 DON 上记录获取的资产价格数据,使用这些数据 计算例如其报告的追踪平均值。 图 1:概念图,以示例显示去中心化预言机网络如何实现基本的 oracle 功能,即将链外数据中继到合约。安 可执行文件使用适配器来获取链外数据,并对其进行计算,发送输出 通过另一个适配器连接到目标 blockchain。 (适配器由以下代码启动 DON,用小蓝框表示;箭头表示数据流的方向 特定示例。)可执行文件还可以读取和写入本地 DON 用于保持状态和/或与其他可执行文件通信的存储。 DONs 中灵活的网络、计算和存储,全部都在这里展示,使许多新颖的 应用程序。 DON 的一个主要好处是它们能够引导新的 blockchain 服务。 DONs 是现有oracle网络可以快速建立服务应用程序的工具 今天,这需要创建专门的网络。我们给出了一些 第 4 节中此类应用的示例。 在第 3 节中,我们提供了有关 DON 的更多详细信息,描述了它们的功能 他们向开发人员和用户呈现的界面术语。 1.2 七个关键设计目标 在这里,我们简要回顾一下上面列举的七个关键点: Chainlink,即:混合 smart contracts: 我们 Chainlink 愿景的核心是安全的理念 在 smart contracts 中组合链上和链下组件。我们参考合同 通过混合 smart contract 或混合合约来实现这一想法。2 区块链现在并将继续在去中心化服务中发挥两个关键作用 生态系统:它们都是代表加密货币所有权的场所 以及去中心化服务的强大锚点。因此,智能合约必须在链上表示或执行,但其链上功能受到严重限制。纯粹地 链上合约代码缓慢、昂贵且孤立,无法从现实世界中受益 数据和各种在链上本质上无法实现的功能,包括各种形式的机密计算、(伪)随机性安全的生成 反对矿工/validator操纵等。 因此,为了让smart contracts充分发挥其潜力,需要smart contracts 由两部分组成:链上部分(我们通常用 SC 表示) 以及链下部分,即在 DON 上运行的可执行文件(我们通常用 执行)。目标是实现链上功能的安全组合 DONs 旨在提供多种链下服务。两部分放在一起 制定混合合同。我们在图 2 中概念性地提出了这个想法。今天, Chainlink 服务3(例如数据馈送和 VRF)正在实现原本无法实现的目标 smart contract 应用程序,范围从 DeFi 到公平生成的 NFT 到去中心化保险,作为迈向更通用框架的第一步。作为 Chainlink 服务 根据我们在本白皮书中的愿景,扩大并提高绩效,也是如此 smart contract 系统在所有 blockchain 上的能力。 我们在本白皮书中的其他六个重点可能被视为服务中的行为 第一个是混合合同的总体内容。这些焦点涉及消除可见的 混合合约的复杂性,创建额外的链下服务,使 构建能力更强的混合合约,并且在信任最小化的情况下,增强混合合约所实现的安全属性。我们留下想法 混合合约隐含在本文的大部分内容中,但任何组合 具有 DON 的主链逻辑可以被视为混合合约。 抽象掉复杂性: DONs 旨在利用去中心化的 通过抽象出通常复杂的机制,为开发人员和用户提供方便的系统 DONs 强大而灵活的一系列服务的背后。 现有 Chainlink 服务 已经有这个功能了。 例如,Chainlink 中的数据馈送现在提供了链上接口,这些接口不需要开发人员关心协议级别的细节,例如 OCR 强制执行共识报告的方式。 2链上/链下合约组合的想法之前已经在各种受限环境中出现过 形式,例如,第 2 层系统、基于 TEE 的 blockchains [80] 等。我们的目标是支持和泛化 这些方法并确保它们可以包含链外数据访问和其他关键 oracle 服务。 3Chainlink 服务包括各种可通过以下方式获得的去中心化服务和功能: 网络。它们由组成各种 oracle 网络的众多节点运营商提供 整个生态系统。图 2:描述链上/链下合约构成的概念图。一个 混合 smart contract 3⃝由两个互补的组件组成:一个链上组件 组件 SC 1⃝,驻留在 blockchain 上,以及链外组件 exec 2⃝ 在 DON 上执行。 DON 也充当两个组件之间的桥梁 将混合合约与链下资源(例如网络服务、其他资源)连接起来 blockchains、去中心化存储等 分散的节点集。 DONs 更进一步,因为它们扩展了 Chainlink 可以为开发人员提供抽象层的一系列服务 伴随高级服务的简化界面。 我们在第 4 节中介绍了几个应用示例来强调这种方法。 例如,我们设想企业使用 DONs 作为一种安全中间件形式 将他们的旧系统连接到 blockchains。 (参见第 4.2 节。)DON 的这种使用抽象了一般 blockchain 动态的复杂性(费用、重组等)。它还 抽象出特定 blockchain 的功能,从而使企业能够将其现有系统连接到不断扩大的 blockchain 系统,而无需 需要这些系统或更广泛的分散系统开发方面的专业知识。 最终,我们的目标是推动 Chainlink 实现的抽象程度 到了实现我们所说的去中心化元层的程度。这样的一层 将为所有类别的开发人员抽象出链上/链下的区别 和 DApp 的用户,允许无缝创建和使用去中心化服务。为了简化开发过程,开发人员可以将元层中的 DApp 功能指定为统一机器模型中的虚拟应用程序。他们可以 然后使用去中心化元层编译器自动将 DApp 实例化为 一组互操作的分散功能,涵盖 blockchains、DONs 和 外部服务。 (这些外部服务之一可以是企业系统,使得元层对于涉及遗留企业系统的应用程序非常有用。) 编译类似于现代编译器和软件开发工具包 (SDK) 支持通才程序员充分发挥异构硬件的潜力 由通用 CPU 和 GPU 等专用硬件组成的架构, 机器学习加速器或可信飞地。图 3 在概念层面上展示了这一想法。 混合 smart contract 是实现这一愿景和我们称为元合约的概念的第一步。元合约是在去中心化平台上编码的应用程序 元层并隐式包含链上逻辑 (smart contracts),以及各种 blockchains 和现有链下之间的链下计算和连接 服务。考虑到对语言和编译器支持、新安全模型的需求,以及 然而,不同技术的概念和技术协调 真正的去中心化元层是一个雄心勃勃的目标,我们长期以来一直渴望实现这一目标 时间范围。尽管如此,它仍然是一个在阅读时牢记的有用的理想模型 这篇论文,这里没有详细介绍,但我们计划在未来的工作中重点关注 Chainlink。 缩放比例: 在我们不断发展的设计中,一个极其重要的目标是使 Chainlink 网络,以满足 blockchain 生态系统不断增长的扩展需求。 随着网络拥塞成为现有无许可环境中反复出现的问题 blockchains [86],新的、性能更高的 blockchain 设计正在投入使用, 例如,[103,120,203],以及补充的第 2 层扩展技术,例如[5, 12、121、141、169、186、187]。 Oracle 服务必须实现延迟和吞吐量 满足这些系统的性能需求,同时最大限度地减少链上费用 (例如,天然气成本)对于合同运营商和普通用户来说都是如此。与 DONs、Chainlink 功能旨在更进一步,为纯粹基于网络的系统提供足够高的性能。 DONs 的大部分性能提升来自于使用快速、基于委员会或无需许可的共识协议,并将其与 blockchains 相结合 他们支持。我们期望许多具有不同配置的 DON 并行运行;不同的 DApp 和用户可以在底层共识选择中进行权衡 根据他们的应用要求。 DONs 实际上可以被视为第 2 层技术。 我们期望其中 其他服务,DONs 将支持事务执行框架 (TEF),该框架 促进 DONs 以及 oracles 与其他高性能的有效集成 第 2 层系统——例如 rollups,将链下交易捆绑在一起以实现 性能改进。我们在第 6 节中介绍了 TEF。

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

图 3:概念图显示了去中心化元层的理想实现。对于 为了便于开发,开发人员指定一个 DApp(以粉色突出显示)作为虚拟的 统一机器模型中的应用。去中心化元层编译器自动生成相应的互操作功能:smart contracts(表示为 由 SC 表示)、DON 上的逻辑(由 exec 表示)、连接到目标外部服务的适配器等等,如黄色突出显示所示。 图 4 从概念上展示了 DONs 如何改进 blockchain (smart contract) 缩放 通过集中交易和oracle-报告处理在链外,而不是在链上 链。计算主要位置的这种转变减少了交易延迟并 费用,同时提高交易吞吐量。 保密性: 区块链为 smart contract 及其实现的应用程序提供了前所未有的透明度。但透明度和保密性之间存在着基本的紧张关系。例如,今天,用户的去中心化交易所交易图 4:概念图显示去中心化预言机网络如何改进 blockchain 启用的 smart contracts 的缩放。图A ⃝显示传统的oracle 架构。交易直接发送至 blockchain,oracle 报告也是如此。 因此,以黄色突出显示的 blockchain 是事务处理的主要位置。图 B⃝显示了使用 DON 来支持 blockchain 上的合约。 DON 可执行文件处理交易以及来自外部系统的数据并转发 结果(例如,由于交易影响而导致的捆绑交易或合约状态更改)发送至 blockchain。因此,以黄色突出显示的 DON 是主要的 交易处理的场所。 行为记录在链上,方便监控交易所行为,同时也 使用户的金融交易公开可见。同样,数据转发到智能 合约仍然在链上。这使得此类数据可以方便地进行审计,但充当 对于希望向 smart contracts 提供敏感或敏感信息的数据提供商来说,这是一种抑制因素 专有数据。 我们相信 oracle 网络将在催化下一代方面发挥关键作用 将 blockchains 固有的透明度与新的保密保护相结合的系统。在本文中,我们展示了他们如何使用三种主要方法来做到这一点: • 保密适配器:计划部署的两种技术 在 Chainlink 的网络中,DECO [234] 和 Town Crier [233],启用 oracle 节点 以保护用户隐私和数据的方式从链下系统检索数据 保密性。它们将在 DON 的适配器设计中发挥关键作用。 (有关这两种技术的详细信息,请参见第 3.6.2 节。) • 机密计算:DONs 可以简单地向依赖blockchains 隐藏其计算。使用安全的多方计算和/或可信执行环境,还可以实现更强的保密性,其中 DON 节点 对他们本身不可见的数据进行计算。

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

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

• 支持机密第 2 层系统:TEF 旨在支持各种第 2 层系统,其中许多系统使用零知识证明来提供 各种形式的交易保密性。 我们在第 3 节中讨论这些方法(更多详细信息请参见第 6 节、附录 B.1 和附录 B.2)。 图 5 展示了敏感数据如何通过保密适配器从外部源流向 smart contract 的概念视图 DON 中的机密计算。 图 5:DON 上的保密操作的概念图 敏感数据(以黄色突出显示)。 网络中的敏感源数据(黑圈) 使用保密适配器(蓝色双箭头线)将服务器提取到 DON。 DON 从这些适配器接收派生数据(空心圆圈)— 将函数或秘密共享等应用到敏感源的结果 数据。 DON 上的可执行文件可以对派生数据应用机密计算 构建报告(双圆圈),通过适配器将其发送到 blockchain。 我们相信,处理机密数据的强大工具将打开一个完整的领域。 应用范围。 其中包括私人去中心化(和中心化)金融、去中心化身份、基于信用的链上借贷以及更高效、更高效的金融服务。 用户友好的了解你的客户和认证协议,正如我们在第 4 节中讨论的那样。 交易的顺序公平性: 今天的 blockchain 设计有点肮脏 公开的秘密:它们是暂时集中的。矿工和 validators 可以订购交易无论他们选择什么行动。用户也可以操纵交易顺序 他们支付的网络费用的函数(例如 Ethereum 中的汽油价格)以及某些 利用快速网络连接的优势。这种操纵可以,对于 例如,采取抢先交易的形式,其中战略参与者(例如矿工) 观察用户的交易并将其自己的可利用交易插入到较早的交易中 在同一个区块中的位置——利用对用户交易的预先了解,有效地从用户那里窃取资金。例如,机器人可能会下买单 在用户之前。然后,它可以利用由资产价格上涨引起的资产价格上涨。 用户的交易。 一些机器人抢先交易,损害普通用户——类似于高频 华尔街交易已经很普遍并且有据可查 [90],如相关 诸如后台运行 [159] 和自动交易模仿 [195] 等攻击。最近甚至出现了将矿工的订单利用系统化的提议[110]。 rollups 等第 2 层技术并不能解决问题,而只是重新集中化 排序,将其置于创建 rollup 的实体手中。 我们的目标之一是向 Chainlink 引入一项名为“公平排序”的服务 服务 (FSS) [137]。 FSS 帮助 smart contract 设计师确保其产品的公平订购 避免对用户交易以及其他类型的交易(例如 oracle 报告传输)进行前置、后台和相关攻击。 FSS 使 DON 能够实现 [144] 中引入的严格的、暂时的秩序公平概念等想法。作为一个附带的好处,FSS 还可以降低用户的网络 费用(例如燃气费)。 简而言之,在 FSS 中,交易通过 DON,而不是直接传播到目标 smart contract。 DON 对交易进行排序,然后转发 他们签订合同。 图 6:FSS 如何发挥作用的示例。图A ⃝展示了矿工如何利用其 集中权力来排序交易,可以交换一对交易:交易1⃝ 在 2⃝ 之前到达,但矿工将其排序在 2⃝ 之后。相比之下,图B⃝显示 DON 如何在 DON 节点之间分散排序过程。如果法定人数为 诚实节点在 2⃝ 之前收到 1⃝,FSS 导致 1⃝ 在链上出现在 2⃝ 之前 — 通过附加合同可执行的序列号来防止矿工重新排序。 图 6 比较了标准挖矿与 FSS。它展示了如何在标准挖矿中,交易排序过程由矿工集中处理,因此受制于 操纵,例如对一对交易的到达进行重新排序 次。相比之下,在 FSS 中,该过程分散在 DON 节点之间。假设 诚实节点的法定数量,FSS 有助于执行策略,例如时间排序 交易,减少矿工和其他实体操纵的机会。 此外,由于用户无需根据Gas价格来争夺优先订购权, 他们可以支付相对较低的汽油价格(而来自 DON 的交易可以批量进行 以节省燃气)。 信任最小化: 我们设计 DONs 的总体目标是促进高度 对 smart contract 和其他 oracle 依赖系统的值得信赖的支持层 通过去中心化、加密工具和加密经济保证。 DON 本身是去中心化的,用户可以从任何可用的 DON 中进行选择 支持他们希望在其上操作或产生额外 DON 的主链 与他们信任的节点委员会。 然而,对于某些应用程序,特别是 smart contracts,Chainlink 用户可能会 支持将 DON 支持的主链视为更值得信赖的信任模型 比 DON 本身。对于此类用户,我们已经或计划将其纳入 Chainlink 网络的架构 一些支持合约的机制 在主链上,以加强 DONs 提供的安全保证,同时在 同时还加强保护,防止数据源损坏的可能性 例如 DON 从中获取数据的 Web 服务器。 我们在第 7 节中描述了这些机制。它们分为五个主要标题: • 数据源身份验证:支持数据提供者进行数字签名的工具 他们的数据,从而加强原产地和 依赖合同。 • DON 少数报告:由 DON 节点的少数子集发出的标志 观察到 DON 中存在多数渎职行为。 • 护栏:主链上的逻辑,用于检测异常情况并暂停 或停止合同执行(或调用其他补救措施)。 • 信任最小化治理:利用逐步发布的更新来促进社区检查,以及分散的紧急干预措施以实现快速 对系统故障的响应。 • 去中心化实体身份验证:使用公钥基础设施 (PKI) 识别 Chainlink 网络中的实体。 图 7 展示了我们的信任最小化目标的概念示意图。 基于激励(加密经济)的安全性: 跨 oracle 节点分散生成报告有助于确保安全,即使某些节点损坏也是如此。

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

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

图 7:Chainlink 信任最小化目标的概念描述,即 最大限度地减少用户对 DON 和数据源(例如网络)正确行为的需求 服务器。图中的黄色突出显示表示信任最小化位点:DON 和 单个或少数网络服务器组。粉色高亮显示系统组件 假设高度可信:blockchain 上的合同和大多数 Web 服务器的数量,即 Web 服务器的总数。 然而,同样重要的是确保节点有正确行为的经济激励。质押,即要求节点提供 LINK 押金和削减 如果出现不当行为,(没收)这些存款将在 Chainlink 中发挥关键作用。这是一个重要的激励设计,已在许多 blockchain 中使用, 例如,[81、103、120、204]。 然而,在 Chainlink 中的质押看起来与独立的 staking 有很大不同 blockchains。质押 blockchains 的目的是防止对共识的攻击。它有一个 Chainlink 中的不同目标:确保及时交付正确的 oracle 报告。用于 oracle 网络的精心设计的 staking 系统应该会引发诸如贿赂之类的攻击 即使目标是具有高值的 smart contract,对对手来说也是无利可图的 货币价值。 在本文中,我们提出了 Chainlink 中 staking 的通用方法,具有三个关键 创新点:1. 强大的对抗模型,涵盖现有技术中被忽视的攻击 接近。一个例子就是我们所说的潜在贿赂。这是一种形式 贿赂,确定哪些节点有条件地接受贿赂,例如, 提前向 staking 机制选择的节点提供有保证的贿赂 对于特定角色是随机的(例如触发报告裁决)。 2. 超线性 staking 影响,非正式地意味着要成功,对手的预算 B 美元必须大于所有 oracle 存款的总和 节点。 更准确地说,我们的意思是,作为 n 的函数, \(B(n) ≫\)dn 在 由 n 个 oracle 节点组成的网络,每个节点都有固定的存款金额 $d(更正式地说, \(B(n) is asymptotically larger in n than \)dn)。图8给出了概念图 此属性。 3. 隐性激励框架(IIF),我们设计的激励模型 除了明确存入staking之外,还包括根据经验可衡量的激励措施 资金,包括节点未来的费用机会。 IIF 扩展了以下概念: 超出明确节点存款的权益。 图 8:描述 Chainlink staking 中超线性缩放的概念图。的 对手所需的贿赂 $B(n) 在 n 中的增长速度快于存款总额的增长速度 所有 oracle 节点的 $dn。 我们展示了 IIF 和超线性 staking 共同影响如何导致我们 称之为 oracle 网络经济安全的良性循环。当新用户进入时

系统,增加运行 Chainlink 节点的未来潜在收入, 当前和未来用户的经济安全边际成本下降。在一个政权 需求弹性,成本的降低会激励更多用户使用 网络,在持续的良性循环中持续不断地采用。 注意:虽然本白皮书概述了我们对 Chainlink 发展愿景的重要元素,但它是非正式的,并且包含一些详细的技术细节。我们计划 随着其他功能和方法的发展,发布重点技术论文。 此外,必须强调的是,所提出的愿景的许多要素 这里(扩展改进、保密技术、FSS 等)可以而且将会 甚至在高级 DON 成为基本功能之前就以初步形式部署 Chainlink。 1.3 本文的组织 我们在第 2 节中介绍了我们的安全模型和符号,并概述了去中心化 Oracle Network API 在第 3 节中。在第 4 节中,我们提供了一些示例 DONs 为其提供有吸引力的部署平台的应用程序。读者可以 通过阅读到目前为止,您可以了解本文的大部分关键概念。 本文的其余部分包含更多详细信息。我们描述公平排序 第 5 节中的服务 (FSS) 和第 6 节中的事务执行框架 (TEF)。我们在第 7 节中描述了我们的信任最小化方法。我们考虑了一些 重要的 DON 部署要求,即第 8 节中的功能增量推出、动态账本成员资格和问责制。最后,在第 9 节中,我们给出 我们正在开发的激励设计方法的概述。我们在第 10 节中得出结论。 为了帮助对本文概念了解有限的读者,我们 附录 A 中提供了术语表。我们提供了有关 DON 接口的更多详细信息 和功能见附录 B,并在附录 C 中介绍一些示例适配器。 在附录 D 中,我们描述了信任最小化数据源的加密原语 身份验证称为功能签名,并引入一种称为离散功能签名的新变体。我们讨论与委员会有关的一些考虑因素 附录 F 中 DONs 的选择。

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

Modèle et objectifs de sécurité

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

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

安全模型和目标

去中心化预言机网络是一个独特的分布式系统,我们预计它将 最初通常(尽管不一定)由以委员会为基础的委员会实施 共识协议并由一组 oracle 节点运行。 DON 主要设计为 使用 oracle 报告增强主链上 smart contract 的功能 和其他服务,但它可以为其他非blockchain系统提供相同的支持服务,因此不需要与特定的主链相关联。

因此,我们考虑的模型和属性在很大程度上独立于 DON 的特定应用。 2.1 当前的建筑模型 需要强调的是,今天的 Chainlink 不是一个单一的服务,而是 一个无需许可的框架,可以在其中启动独特的、独立的 oracle 节点 [77] 的网络。网络具有异构的节点运营商集, 设计。他们提供的服务类型也可能有所不同,这可以 包括例如数据馈送、储备证明、可验证的随机性等。其他 差异可能包括去中心化程度、网络规模 它支持的锁定值以及各种服务级别参数,例如数据频率 和准确性。 Chainlink 的无需许可模式鼓励生态系统的发展,其中 提供商专注于他们最有能力为社区提供的服务。这个 与模型相比,模型可能会降低用户成本并提高服务质量 要求所有节点和网络提供全方位的服务,一种方法 这可以很容易地转变为全系统采用代表最少的服务 节点可用资源的共同点。 随着 Chainlink 在 Chainlink 2.0 中向基于 DON 的设计发展,我们继续 支持无需许可的开放框架模型,同时考虑到以下目标: 为用户提供一系列服务选择,在全球范围内实现最佳匹配 具有特定的应用要求。 2.2 共识假设 我们使用术语“去中心化预言机网络”来涵盖 我们描述的 oracle 系统: oracle 节点维护的数据结构和 核心 API 位于其之上。 我们使用术语“账本”(小写),用 L 表示,表示基础数据 由 DON 维护的结构,用于支持它提供的特定服务。 我们强调,我们的 DON 框架并不将 L 视为独立系统,例如 a blockchain:其目的是支持blockchains和其他系统。区块链是, 当然,这是实现可信账本的一种方法,但还有其他方法。我们期望 在许多情况下,DONs 使用拜占庭容错来实现其底层账本 (BFT) 系统,其大大早于 blockchain,例如 Bitcoin [174]。我们使用 为了方便起见,尽管我们在整篇论文中使用了 BFT 类型符号和属性 强调 DONs 可以使用无需许可的共识协议来实现。 从概念上讲,账本 L 是一个公告板,上面的数据是线性排序的。 我们通常认为分类账具有一些通常归因于的关键属性 blockchains [115]。账本是: • 仅附加: 数据一旦添加就无法删除或修改。• 公共: 任何人都可以阅读其内容,这些内容在时间上是一致的 所有用户的视图.4 • 可用:账本始终可以由授权写入者写入和读取 任何人及时。 当由 DON 实现时,分类帐中可能存在替代属性 委员会。例如,分类账写访问可能仅限于某些用户,如 可能会读取某些应用程序的访问权限,即分类帐不需要按照定义公开 上面。同样,分类账规则可能允许修改或编辑数据。我们不 然而,本文明确考虑了此类变体。 DONs 的模块化设计可以支持任何多种现代 BFT 协议,例如 Hotstuff[231]。确切的选择将取决于信任假设和 oracle 节点之间的网络特征。原则上 DON 也可以 使用高性能的无许可 blockchain 为其分类帐提供支持 同样可扩展的第 2 层或 blockchain 系统。同样,杂交也是可能的: DON 原则上可以由现有节点中的 validator 节点组成。 blockchain,例如,在选择委员会执行的权益证明系统中 交易,例如 [8, 81, 120, 146, 204]。这种特殊的操作模式要求 节点以双重用途方式运行,即既作为 blockchain 节点又作为 DON 运行 节点。 (参见第 8.2 节,了解确保变革连续性的技术讨论 委员会和附录 F 有关随机委员会选择的一些注意事项。) 实际上,在现代 BFT 算法中,节点对账本上的消息进行数字签名。 为了方便起见,我们假设 L 有一个关联的公钥 pkL 并且其内容 由相应的私钥签名。即使当 L 上的数据使用门限签名进行签名。5 门限签名很方便, 因为即使会员资格发生变化,它们也可以为 DON 提供持久的身份 运行它的节点。 (参见附录 B.1.3。)因此我们假设 skL 是秘密共享的 对于某些安全参数 k,以 (k, n) 阈值方式,例如 k = 2f + 1 且 n = 3f + 1,其中 f 是潜在故障节点的数量。 (通过在此选择 k 这样,我们确保故障节点既无法学习 skL,也无法发起拒绝服务攻击 攻击阻止其使用。) L 上的消息采用 M = (m, z) 的形式,其中 m 是字符串,z 是唯一的 顺序索引号。 在适用的情况下,我们以 m = 的形式编写消息 ⟨消息类型:有效负载⟩。消息类型MessageType是指示特定消息的功能的语法糖。 4在没有最终性的 blockchain 实现账本的情况下,通常会抽象出不一致性 通过忽略深度不足的块或“修剪”[115] 来消除。 5在实践中,一些代码库,例如 LibraBFT [205](Hotstuff 的一个变体)目前已采用 多重签名,而不是阈值签名,以降低通信复杂性为代价 更简单的工程。通过一些额外的成本,oracle 节点可以将阈值签名附加到消息中 写入 L,即使用于 L 的共识协议不使用它们。2.3 符号 我们将运行账本的 n 个 oracle 节点集表示为 O = {Oi}n 我=1。 这样一个 节点集通常称为委员会。为了简单起见,我们假设集合 oracles 实现 DON 功能,即 L 之上的服务,与 保持 L,但它们可以是不同的。我们让 pki 表示公钥 玩家Oi,并ski相应的私钥。 大多数 BFT 算法至少需要 n = 3f + 1 个节点,其中 f 是节点数 潜在的故障节点;其余节点是诚实的,因为它们遵循 协议完全按照规定。如果委员会 O 符合此要求,我们称其为诚实的 要求,即诚实节点的比例大于 2/3。除非另有说明 如上所述,我们假设 O 是诚实的(并且是腐败的静态模型)。我们使用 pkO / skO 与 pkL / skL 可以互换,具体取决于上下文。 我们让 σ = Sigpk[m] 表示消息 m 相对于 pk 的签名,即使用 对应的私钥sk.令 verify(pk, σ, m) →{false, true} 表示相应的签名验证算法。 (我们在整篇论文中都隐含了密钥生成。) 我们使用符号 S 来表示数据源,并使用 S 来表示完整的数据集 给定上下文中的 nS 源。我们用 MAINCHAIN 表示启用了智能合约的 blockchain 由 DON 支持。我们使用术语依赖合约来表示任何智能合约 与 DON 通信的主链上的合约,并使用符号 SC 来 表示这样的合同。 我们通常假设 DON 支持单个主链 MAINCHAIN,尽管它可以支持多个这样的链,如我们在第 4 节的示例中所示。 DON 可以并且通常会支持主链上的多个依赖合约。 (如 如上所述,DON 也可以支持非 blockchain 服务。) 2.4 关于信任模型的说明 如上所述,DONs 可以构建在基于委员会的共识协议之上,并且我们 预计他们会普遍使用此类协议。有许多有力的论据表明 两种选择之一(基于委员会的或无需许可的 blockchains)提供 比其他的安全性更强。 重要的是要认识到基于委员会与未经许可的安全性 去中心化系统是不可通约的。危害 PoW 或 PoS blockchain 通过 51% 攻击,要求对手暂时获得多数资源,并且 可能是匿名的,例如通过在 PoW 系统中租用 hash 电力。这样的 实践中的攻击已经影响了几个 blockchain [200, 34]。相比之下, 损害基于委员会的系统意味着破坏其阈值数量(通常是三分之一)的节点,其中节点可能是公开的、资源丰富的、 和值得信赖的实体。 另一方面,基于委员会的系统(以及“混合”未经许可的系统) 支持委员会的系统)可以支持比严格要求更多的功能无任务系统。这包括维护持久秘密的能力,例如 签名和/或加密密钥——我们设计中的一种可能性。 我们强调 DON 原则上可以建立在基于委员会或 无许可共识协议和 DON 部署者最终可能选择采用 任一方法。 支持信任模型: 如今 Chainlink 的一个关键功能是用户能够 如所讨论的,根据节点性能历史记录的分散记录来选择节点 在第 3.6.4 节中。我们在第 9 节中介绍的 staking 机制和隐性激励框架共同构成了范围广泛且严格的机制设计 该框架将使用户能够极大地扩展衡量 DONs 安全性的能力。同样的框架也将使 DONs 本身成为可能 对参与节点执行各种安全要求并确保运行 在强大的信任模型中。 还可以使用本文中为 DON 描述的工具来强制实施特殊的信任模型要求,例如遵守监管要求。对于 例如,使用第 4.3 节中讨论的技术,节点可以提供以下证据: 节点运营商特征,例如运营区域,可用于帮助 强制遵守《通用数据保护条例》(GDPR) 第 3 条(“领土范围”)[105] 等规定。否则,这种合规性可能会对 在去中心化系统[45]中见面。 此外,在第 7 节中,我们讨论了加强 DONs 稳健性的计划 通过他们支持的主链上的信任最小化机制。

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

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

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

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

去中心化的 Oracle 网络接口和 Ca-

能力 在这里,我们简单地描述了 DONs 的功能,简单但强大 它们旨在实现的接口。 DON 上的应用程序由可执行文件和适配器组成。可执行文件是 其核心逻辑是确定性程序的程序,类似于 smart contract。 可执行文件还具有许多附带的启动程序,即调用入口的程序 当预定事件发生时(例如,在某些时间),可执行文件逻辑中的点 (就像 cron 作业),当价格超过阈值时,等等——很像 Keepers(参见第 3.6.3 节)。适配器提供链下资源的接口,可以被调用 可执行文件中的发起者或核心逻辑。因为他们的行为可能取决于此 外部资源、启动器和适配器的行为可能是不确定的。 我们描述了 DON 开发者界面以及可执行文件的功能和 适配器通常用于表征计算系统的三种资源:网络、计算和存储。我们对其中每一个进行简要概述 以下资源并在附录 B 中提供更多详细信息。

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

3.1 网络 适配器是在 DON 上运行的可执行文件可以通过其发送和接收信息的接口。 从off-DON系统接收数据。适配器可以被视为泛化 今天 Chainlink 使用的适配器 [20]。适配器可以是双向的,即它们 不能只是从 DON 拉取数据,而是将数据推送到 Web 服务器。他们还可以利用 分布式协议以及加密功能,例如安全多方 计算。 图 9:适配器连接 DON(表示为 DON1)与一系列不同的资源,包括另一个 DON(表示为 DON2)、一条 blockchain(主链)及其 mempool、外部存储、Web 服务器和 IoT 设备(通过 Web 服务器)。 显示了可以为其创建适配器的外部资源的示例 如图 9 所示。它们包括: • 区块链:适配器可以定义如何将交易发送到 blockchain 并 如何从中读取区块、单个交易或其他状态。适配器一个 也可以为 blockchain 的内存池定义。 (参见第 3.5 节。) • Web 服务器:适配器可以定义可检索数据的 API 来自网络服务器,包括不专门适应的遗留系统 与 DONs 连接。此类适配器还可以包含用于将数据发送到的 API 这样的服务器。 DON 连接的 Web 服务器可以充当网关 其他资源,例如物联网 (IoT) 设备。• 外部存储:适配器可以定义读取和写入存储的方法 DON 之外的服务,例如去中心化文件系统 [40, 188] 或云 存储。 • 其他DON:适配器可以在DON 之间检索和传输数据。 我们预计 DONs 的初始部署将包括一组构建块 此类常用外部资源的适配器,并将进一步允许 DON 特定的 由 DON 节点发布的适配器。作为 smart contract 开发人员编写适配器 今天,我们预计他们将使用这种先进的技术构建更强大的适配器 功能。 我们期望用户最终能够在一个新的适配器中创建新的适配器。 未经许可的方式。 某些适配器的构造方式必须确保由 DON 控制的外部资源的持久性和可用性。例如,云存储可以 需要维护云服务帐户。此外,DON 可以执行 代表用户对私钥进行去中心化管理(例如 [160])和/或 可执行文件。因此,DON能够控制可用于例如在目标blockchain上发送交易的资源,例如加密货币。 有关 DON 适配器的更多详细信息,请参阅附录 B.1,一些适配器的详细信息请参阅附录 C。 示例适配器。 3.2 计算 可执行文件是 DON 上的基本代码单元。可执行文件是一对 exec = (逻辑,初始化)。这里,逻辑是一个具有多个指定入口的确定性程序 点 (logic1,logic2,...,logicℓ) 和 init 是一组相应的启动器 (初始化1、初始化2、……、初始化)。确保可执行文件逻辑 DON 的完全可审计性 使用底层账本 L 来处理所有输入和输出。因此,例如,任何适配器 作为可执行文件输入的数据必须首先存储在 L 上。 发起人: 今天 Chainlink 中的启动器会导致事件相关的作业执行 Chainlink 节点 [21]。 DONs 中的启动器的功能大致相同。然而,DON 启动器与可执行文件特定关联。发起者可能取决于 基于外部事件或状态、当前时间或 DON 状态的谓词。 由于对事件的依赖,发起者的行为当然可能是不确定的 (当然也可以是适配器)。启动器可以在各个 DON 节点内执行 因此不需要依赖适配器。 (参见下面的示例 1。) 启动器是区分可执行文件和 smart contract 的一个重要特征。 因为可执行文件可以响应启动器而运行,所以它可以有效地操作 自主地,当然通过扩展可以包含可执行文件的混合合同。如今发起者的一种形式是 Chainlink 守护者,它提供交易自动化服务,根据 oracle 报告触发 smart contract 执行,例如清算抵押不足的贷款和执行限价订单交易。 方便地,DONs 中的启动器也可以被视为指定 适用于可执行文件的服务协议,因为它们定义了以下情况 DON 必须调用它。 以下示例说明启动器如何在可执行文件中工作: 示例 1(偏差触发的喂价)。 smart contract SC 可能需要新鲜的 每当价格发生重大变化(例如 1%)时,喂价数据(参见第 3.6.3 节) 一对资产之间的汇率,例如 ETH-USD。波动敏感的价格 今天 Chainlink 支持提要,但了解它们如何实现是有启发性的 通过可执行的 execfeed 在 DON 上实现。 可执行文件 execfeed 在 L 上维护最新的 ETH-USD 价格 r,在 ⟨NewPrice : j, r⟩entries 序列的形式,其中 j 是递增的索引 每次价格更新。 发起者 init1 使每个节点 Oi 监控当前 ETH-USD 价格 与索引 j 的最近存储的价格 r 的偏差至少为 1%。之上 检测到这种偏差,Oi 将新价格的当前视图 ri 写入 L 使用 ⟨PriceView : i, j + 1, ri⟩ 形式的条目。 当至少 k 个这样的 PriceView 条目具有新价格时,第二个启动器 init2 就会触发 由不同节点创建的索引 j + 1 的值已累积在 L 上。然后,init2 调用入口点逻辑 2 来计算前 k 个新的有效价格视图值的中位数 ρ 并将新值 ⟨NewPrice : j + 1, ρ⟩ 写入 L 。 (操作上,节点 可以轮流担任指定撰稿人。) 第三个发起者 init3 监视 L 上的 NewPrice 条目。每当有新报告时 ⟨NewPrice : j, r⟩出现在那里,它调用一个入口点逻辑 3,将 (j, r) 推送到 SC 使用适配器。 正如我们所指出的,可执行文件的功能与 smart contract 类似。 然而,除了其更高的性能之外,它与典型的主链合约不同 以两种基本方式: 1. 机密性:可执行文件可以执行机密计算,即秘密程序可以处理明文输入,或者发布的程序可以处理 秘密输入数据,或两者的组合。在一个简单的模型中,秘密数据可以 由 DON 节点访问,隐藏中间结果并仅公开 处理和清理的值到主链。也可以从 DON 本身隐藏敏感数据:DON 旨在支持此类方法 作为多方计算,例如 [42, 157] 和可信执行环境 (TEE) [84, 133, 152, 229] 为此目的。6 6通过扩展,也可以对 DON 节点保持可执行文件本身的秘密, 尽管这在今天仅适用于使用 TEE 的重要可执行文件。2. 支持角色:可执行文件旨在支持主系统上的 smart contracts 链,而不是取代它们。可执行文件有几个限制: smart contract 不: (a) 信任模型:可执行文件在由 DON:其正确执行依赖于 O 的诚实行为。(主要 然而,链条可以提供一些防范 DON 渎职行为的防护措施,如 第 7.3 节中讨论。) (b) 资产访问:DON 可以控制 blockchain 上的帐户,因此 通过适配器控制其上的资产。但 DON 不能权威地 代表在主链上创建的资产,例如以太坊或 ERC20 tokens,因为 他们的本地链维护其所有权的权威记录。 (c) 生命周期:DONs 可能会故意以有限的生命周期建立起来,因为 由 DON 和所有者之间的链上服务水平协议定义 依赖合同。 相比之下,区块链的作用是 永久档案系统。 有关 DON 计算的更多详细信息,请参阅附录 B.2。 3.3 存储 作为基于委员会的系统,DON 可以持久存储适量的数据 在 L 上的成本比未经许可的 blockchain 低得多。此外,通过适配器, DONs 可以引用外部去中心化系统进行数据存储,例如 Filecoin [85], 从而可以将此类系统连接到 smart contracts。这个选项特别 作为解决普遍存在的“膨胀”问题的一种手段,对大量数据很有吸引力 blockchain 系统。 因此,DONs 可以在本地或外部存储数据,以便在其特定支持的服务中使用。 DON 还可以以保密的方式使用此类数据, 计算以下数据:(1) 在 DON 节点之间秘密共享或在以下情况下加密 由 DON 节点以适合安全多方计算的方式管理的密钥 或部分或完全同态加密;或 (2) 使用可信执行进行保护 环境。 我们预计 DONs 将采用常见的简单内存管理模型 智能合约系统:可执行文件只能写入自己的内存。可执行文件 但是,可以从其他可执行文件的内存中读取。 有关 DON 存储的更多详细信息,请参阅附录 B.3。 3.4 交易执行框架 (TEF) DON 旨在支持主链 MAINCHAIN (或多个主链)上的合约。详细讨论事务执行框架 (TEF)第 6 节中的内容是有效执行合同的通用方法 SC 跨主链和 DON。 TEF 旨在支持 FSS 和第 2 层 技术——如果需要的话,可以同时进行。事实上,它很可能作为主要车辆 FSS 的使用(因此,我们在本节中不再进一步讨论 FSS)。 简而言之,在 TEF 中,有一个为 MAINCHAIN 设计或开发的原始目标合约 SC 被重构为混合合约。这种重构产生了两个互操作的 混合合约的组成部分:为了清楚起见,我们将其称为主链合约 SCa 在 TEF 的背景下,作为锚定合约和 DON 上的可执行执行程序。的 合约SCa托管用户的资产,执行权威的状态转换,还 提供防护栏(参见第 7.3 节)以防止 DON 中的故障。可执行的 exec 对交易进行排序并为其提供关联的 oracle 数据。可以捆绑 通过多种方式进行 SCa 交易——例如,使用基于有效性证明的或 乐观 rollups,由 DON 保密执行,等等。 我们希望开发出使开发人员能够轻松分割合约的工具 SC 用高级语言编写成 MAINCHAIN 和 DON 逻辑块,SCa 和 分别执行,安全高效地组合。 使用TEF将高性能交易方案与高性能相结合 oracles 是我们的 oracle 缩放方法的组成部分。 3.5 内存池服务 我们打算在 DON 上部署一项重要的应用程序层功能以提供支持 FSS 和 TEF 的核心是 Mempool Services(MS)。 MS 可以被视为一个适配器, 但拥有一流的支持。 MS 提供对传统兼容事务处理的支持。在此用途中,MS 从主链的内存池中摄取那些用于目标合约的交易 主链上的 SC。然后,MS 将这些事务传递给 DON 上的可执行文件, 它们以所需的方式进行处理。 MS 数据可由 DON 使用 组成交易,然后可以直接从 DON 传递到 SC 或 到另一个名为 SC 的合约。例如,DON可以转发交易 通过 MS 收集,或者它可以使用 MS 数据为其发送到的交易设置 Gas 价格 主链。 由于它监控内存池,MS 可以从直接与 SC 交互的用户获取交易。因此,用户可以继续使用以下方式生成交易 遗留软件,即不知道 MS 和 MS 配置的存在的应用程序 合同。 (在这种情况下,必须更改 SC 以忽略原始交易并 仅接受MS处理过的内容,以避免双重处理。) 为了与目标合同 SC 一起使用,MS 可以与 FSS 和/或 TEF 一起使用。3.6 垫脚石:现有 Chainlink 功能 3.6.1 链下报告(OCR) 链外报告 (OCR) [60] 是 Chainlink 中的一种机制,用于 oracle 报告聚合和传输到依赖合约 SC。最近以 Chainlink 价格部署 馈送网络,它代表了通往完整 DON 之路的第一步。 OCR 的核心是 BFT 协议,旨在以部分同步的方式运行 网络。它确保任意存在 f < n/3 时的活性和正确性 故障节点,保证了拜占庭可靠广播的特性,但事实并非如此 完整的 BFT 共识协议。节点不维护消息日志 一致的意思是代表一个在所有观点上都相同的账本, 协议的领导者可以在不违反安全的情况下含糊其辞。 OCR 目前是为特定消息类型设计的: 参与节点报告的(至少 2f +1)个值。它提供了关键保证 它为 SC 输出的报告称为经过验证的报告:经过验证的报告中的中值 报告等于或位于两个诚实节点报告的值之间。此属性是 OCR 的关键安全条件。领导者可能对中位数有一定影响 经证明的报告中的值,但仅受此正确性条件的限制。光学字符识别可以 可以扩展到以不同方式聚合值的消息类型。 虽然 Chainlink 网络今天的活跃度和正确性目标不需要 OCR 是一个成熟的共识协议,它们确实需要 OCR 提供传统 BFT 协议中不存在的一些附加形式的功能,最值得注意的是: 1. 全有或全无的链下报告广播:OCR 确保经过验证的报告 快速可供所有诚实节点使用,或者不可供任何节点使用。这是一种公平 有助于确保诚实节点有机会参与的属性 在经过验证的报告传输中。 2. 可靠传输:OCR 确保即使存在错误或恶意 节点,所有OCR报告和消息在一定时间内传输到SC, 预先定义的时间间隔。这是一个活跃的属性。 3. 基于合同的信任最小化:SC 过滤掉潜在错误的 OCR 生成的报告,例如,如果它们报告的值与其他值显着偏差 最近收到的。这是协议外正确性强制的一种形式。 所有这三个属性都将在 DONs 中发挥自然作用。全有或全无链下 (DON) 广播是加密经济保证的重要组成部分 围绕可靠的传输,这又是适配器的一个重要属性。信任 SC 中的最小化是一种护栏,如第 7.3 节所述。 OCR 还为 Chainlink 的 oracle 网络中的 BFT 协议的操作部署和细化提供了基础,因此,如上所述,这是一条通往完整的路径。 DONs 的功能。3.6.2 德科和城市公告员 DECO [234] 和 Town Crier [233] 是目前正在开发的一对相关技术 在 Chainlink 网络中开发。 如今,大多数 Web 服务器允许用户使用协议通过安全通道进行连接 称为传输层安全 (TLS) [94]。 (HTTPS 表示 HTTP 的一个变体, 启用了 TLS,即以“https”为前缀的 URL 表示使用 TLS 来确保安全。) 不过,大多数启用 TLS 的服务器都有一个显着的限制:它们不进行数字签名 数据。因此,用户或证明者无法呈现她从服务器接收的数据 向第三方或验证者,例如 oracle 或 smart contract,以确保 数据的真实性。 即使服务器对数据进行数字签名,仍然存在保密问题。证明者可能希望在将敏感数据呈现给证明者之前对其进行编辑或修改 验证者。然而,数字签名是专门为使修改后的数据失效而设计的。因此,它们阻止证明者进行保密性的更改 到数据。 (更多讨论请参见第 7.1 节。) DECO 和 Town Crier 旨在允许证明者从网络获取数据 服务器并以确保完整性和机密性的方式将其呈现给验证者。 这两个系统在确保数据呈现的意义上保持完整性 证明者到验证者确实源自目标服务器。他们支持 机密性是指允许证明者编辑或修改数据(同时仍然 保持完整性)。 这两个系统的一个关键特点是它们不需要对系统进行任何修改 目标网络服务器。它们可以与任何现有的启用 TLS 的服务器一起运行。事实上, 它们对服务器是透明的:从服务器的角度来看,证明者是 建立普通连接。 这两个系统具有相似的目标,但在信任模型和实现方面有所不同,正如我们现在简要解释的那样。 DECO 从根本上利用加密协议来实现其完整性 和保密性。在使用 DECO 与目标服务器建立会话时,证明者同时与目标服务器建立交互协议 验证者。该协议使证明者能够向验证者证明它已收到 在当前会话期间来自服务器的给定数据 D。证明者可以 或者向验证者提供 D 的某些属性的零知识证明 因此不直接揭示 D。 在 DECO 的典型使用中,用户或单个节点可以从私有节点导出数据 D。 与 Web 服务器的会话到 DON 中的所有节点。因此,完整的 DON 可以 证明 D 的真实性(或通过零知识证明从 D 导出的事实)。 除了本文后面给出的示例应用程序之外,此功能还可以 用于通过 DON 放大对数据源的高完整性访问。即使只有一个节点 可以直接访问数据源——例如,由于与 数据提供者——整个 DON 仍然有可能证明以下内容的正确性该节点发出的报告。 Town Crier 依赖于使用可信执行环境 (TEE),例如 Intel 新交所。简而言之,TEE 的功能就像一种黑匣子,在特定环境中执行应用程序 防篡改和保密的方式。原则上,即使是主机的所有者 TEE 正在运行既不能(无法检测地)改变受 TEE 保护的应用程序,也不能 查看应用程序的状态,其中可能包括秘密数据。 Town Crier 可以实现 DECO 的所有功能以及更多功能。 DECO 将证明者限制为与单个验证者交互。相比之下,Town Crier 能够 证明者对从目标服务器获取的数据 D 生成可公开验证的证明, 即任何人,甚至 smart contract,都可以直接验证的证明。城镇公告员可以 还可以安全地获取和使用秘密(例如用户凭据)。 Town Crier 的主要限制是它对 TEE 的依赖。生产 TEE 具有 最近被证明存在许多严重的漏洞,尽管该技术还处于起步阶段,并且无疑会成熟。参见附录 B.2.1 和 B.2.2 TEE 的进一步讨论。 有关 DECO 和 Town Crier 的一些示例应用程序,请参阅第 4.3、4.5 节 9.4.3 和附录 C.1。 3.6.3 现有链上 Chainlink 服务 Chainlink oracle 网络提供多种主要服务 blockchains 和当今的其他去中心化系统。 如所描述的进一步演变 在本白皮书中,将赋予这些现有服务额外的功能和 达到。三个例子是: 数据源: 今天,大多数 Chainlink 用户依赖 smart contracts 使用数据源。这些是根据关键数据的当前价值的报告 权威的链下来源。例如,价格源是报告价格的源 资产——加密货币、商品、外汇、指数、股票等——根据 交换或数据聚合服务。如今,此类信息流已经帮助确保了数十亿美元的安全 通过在 DeFi 系统(如 Aave [147] 和)中使用美元来实现链上价值 Synthetix [208]。 Chainlink 数据源的其他示例包括以下天气数据 参数农作物保险 [75] 和选举数据 [93] 等。 本文中描述的 DON 和其他技术的部署将以多种方式增强 Chainlink 网络中数据馈送的提供,包括: • 扩展:OCR 和随后的 DON 旨在使 Chainlink 服务能够扩展 他们支持的许多 blockchain 都具有显着的差异。例如,我们期望 DONs 将有助于增加节点提供的数据馈送数量 Chainlink 从 100 到 1000 甚至更长。这种缩放将有助于 Chainlink 生态系统实现了全面提供与 smart contract 相关的数据并满足和预测现有和未来需求的目标。• 增强安全性:通过存储中间报告,DONs 将保留记录 节点行为的高保真监控和测量其性能和准确性,为声誉系统提供强有力的经验基础 对于 Chainlink 节点。 FSS 和 TEF 将纳入价格反馈 以灵活的方式处理交易数据,防止抢先交易等攻击。 (明确)staking 将加强现有的加密经济安全保护 数据源。 • 馈送敏捷性:作为与 blockchain 无关的系统(实际上,更广泛地说,与消费者无关的系统),DON 可以促进向多重性提供数据馈送 依赖系统。单个 DON 可以将给定的 feed 同时推送到一组 不同的 blockchain ,消除了对每链 oracle 网络的需求, 能够在新的 blockchain 和其他设备上快速部署现有源 为当前服务的 blockchain 提供数据。 • 保密性:在 DON 中执行广义计算的能力使得敏感数据的计算能够在链外进行,避免在链上进行 曝光。 此外,使用 DECO 或 Town Crier,可以实现 更强的保密性,允许基于非公开数据生成报告 甚至暴露于 DON 节点。示例请参见第 4.3 节和第 4.5 节。 可验证随机函数(VRF): 几种类型的 DApp 需要可验证的正确随机源,以验证其自身的公平运行。 不可替代代币 (NFTs) 就是一个例子。 Aavegotchi [23] 和 Axie Infinity [35] 中 NFT 特征的稀有度由 Chainlink VRF 决定,分布也是如此 通过以太卡 [102] 中基于票证的抽奖方式获得 NFT 份;种类繁多的 结果随机的游戏 DApp;以及非常规金融工具,例如 PoolTogether [89] 等无损储蓄游戏,它将资金分配给 随机获胜者。其他 blockchain 和非 blockchain 应用程序也需要安全 随机性的来源,包括去中心化系统委员会的选择和 彩票的执行。 虽然区块 hashes 可以作为不可预测的随机性来源,但它们很容易受到敌对矿工的操纵(在某种程度上,用户提交 交易)。 Chainlink VRF [78] 提供了一种更安全的替代方案。安 oracle 有一个关联的私钥/公钥对(sk,pk),其私钥在链外维护,其公钥 pk 已发布。为了输出一个随机值,它 将 sk 应用于由依赖合约提供的不可预测的种子 x(例如,区块 hash 和 DApp 特定参数)使用函数 F,产生 y = Fsk(x) 以及 正确性证明。 (有关 Chainlink 上提供的 VRF,请参阅 [180]。) VRF 可验证的事实是,有了 pk 的知识,就可以检查证明的正确性,从而检查 y 的正确性。因此,y 值对于 对手无法预测 x 或学习 sk 并且服务无法操纵。Chainlink VRF 可能被视为涉及链下私钥托管的一系列应用程序之一。更一般地说,DONs 可以提供安全、 应用程序和/或用户的单个密钥的分散存储,并结合 这种能力具有广义计算。结果是大量的应用程序, 我们在本文中给出了一些示例,包括证明的密钥管理 储备金(参见第 4.1 节)和用户的去中心化凭证(以及其他数字 资产)(参见第 4.3 节)。 饲养员: Chainlink Keepers [87] 使开发人员能够为去中心化编写代码 链外作业的执行,通常会触发依赖smart contracts的执行。 在 Keepers 出现之前,开发者进行此类链下操作是很常见的 逻辑本身,造成集中的故障点(以及大量的重复开发工作)。相反,Keeper 提供了一个易于使用的框架 这些业务的分散外包,缩短了开发周期 活性和其他安全属性的有力保证。守护者可以支持任何 各种各样的触发目标,包括依赖于价格的贷款清算或 金融交易的执行、空投或付款的时间依赖启动 在具有产量收获的系统中,等等。 在 DON 框架中,发起者可以被视为多种意义上的守护者的概括。发起者可以使用适配器,因此可以利用 链上和链下系统的模块化接口库,允许快速 开发安全、复杂的功能。发起者发起计算 可执行文件,它们本身提供 DON 的全部多功能性,允许广泛的 我们在本文中为链上和链下应用程序提供了一系列去中心化服务。 3.6.4 节点声誉/性能历史记录 现有的 Chainlink 生态系统本身记录了性能历史记录 链上贡献节点。这一功能催生了一系列以声誉为导向的资源,这些资源可以摄取、过滤和可视化个人的绩效数据。 节点操作员和数据源。用户可以参考这些资源来获取信息 决定节点选择并监控现有网络的运行。 类似的功能将帮助用户选择DONs。 例如,当今的无许可市场(例如 market.link)允许节点 运营商列出他们的 oracle 服务并通过以下方式证明他们的链外身份 诸如 Keybase [4] 之类的服务,它将 Chainlink 中的节点的配置文件绑定到其 所有者现有的域名和社交媒体帐户。此外,性能 分析工具,例如 market.link 和reputation.link 上提供的工具,允许 用户可以查看各个节点的历史性能统计数据,包括其 平均响应延迟,报告中的值与共识值的偏差 在链上传递、产生收入、实现就业等等。这些分析工具还 允许用户跟踪其他用户对各种 oracle 网络的采用情况,这是一种形式保护此类网络的节点的隐式认可。结果是一个扁平的“网络” 信任”,其中通过使用特定节点,高价值的去中心化应用程序创建 他们对这些节点的信任信号,其他用户可以观察并纳入他们的考虑因素 自己的节点选择决策。 随着 DONs(最初是 OCR)带来了交易处理和 合同活动更普遍地是链下的。记录节点的去中心化模型 DON 本身的性能仍然是可能的。确实,高性能 DONs 的数据容量使得以细粒度构造记录成为可能 方式,并对这些记录执行去中心化计算,产生可信的摘要,可供信誉服务使用并在其上设置检查点 主链。 虽然原则上 DON 有可能在大部分节点损坏的情况下歪曲组成节点的行为,但我们注意到集体 DON 本身在传递链上数据方面的性能在主链上可见 因此不能被歪曲。此外,我们计划探索以下机制: 激励 DON 中节点行为的准确内部报告。例如,通过报告最快返回数据贡献的高性能节点的子集 对于链上转发的报告,DON 会激励节点对不正确的内容提出异议 报告:错误地在此子集中包含节点意味着错误地排除节点 这应该被包括在内,因此对他们的惩罚是无效的。 DON 重复报告失败也会激励诚实节点离开 DON。 准确的绩效历史记录和后续结果的分散编制 用户识别高性能节点以及节点运营商构建的能力 声誉是 Chainlink 生态系统的重要区别特征。 我们 第 9 节展示了我们如何将它们推理为严格且可靠的模型的关键部分。 对 DONs 提供的经济安全的广阔视野。

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

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

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

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

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

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

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

去中心化支持的去中心化服务

甲骨文网络 为了说明 DON 的多功能性以及它们如何启用大量新服务, 我们在本节中介绍了五个基于 DON 的应用程序示例,并描述了 实现它们的混合合约:(1)储备证明,一种跨链服务形式; (2)与企业/遗留系统对接,即创建基于中间件的 抽象层,有助于以最少的成本开发 blockchain 应用程序 blockchain-特定代码或专业知识; (3) 去中心化的身份,使用户能够 获取并管理自己的身份证件和凭证; (4) 优先通道, 确保及时纳入关键基础设施交易的服务(例如 oracle 报告)在 blockchain 上; (5) 保密DeFi,即财务信息 smart contract 隐藏参与方的敏感数据。 在这里,我们

使用 SC 表示混合合约的主链部分并描述 DON 组件单独或作为可执行文件执行。 4.1 储备金证明 对于许多应用程序来说,在 blockchain 之间中继状态非常有用。一个 此类服务的流行应用是加密货币包装。包裹硬币之类的 随着 WBTC [15] 正在成为去中心化金融 (DeFi) 中的流行资产。他们 涉及将“包装”的支持资产存入其源 blockchain MAINCHAIN(1) 并在不同的目标 blockchain MAINCHAIN(2) 上创建相应的 token。 例如,WBTC 是 Ethereum blockchain 上的 ERC20 token 对应的 至 Bitcoin blockchain 上的 BTC。 由于 MAINCHAIN(2) 上的合约无法直接查看 MAINCHAIN(1), 他们必须显式或隐式依赖 oracle 来报告已包装的存款 smart contract 中的资产,产生有时称为储备证明的东西。在 WBTC [15],例如托管人 BitGo 持有 BTC 并发行 WBTC, Chainlink 网络提供储备证明 [76]。 DON 本身可以提供储备证明。但是,使用 DON 是可能的 走得更远。 DON 可以管理机密,并通过使用适当的适配器, 可以在任何所需的 blockchain 上进行交易。因此,DON 可以采取行动 作为众多托管人之一,甚至作为唯一的去中心化托管人 打包的资产。 DONs 因此可以作为增强安全性的平台 使用储备证明的现有服务。 例如,假设 MAINCHAIN(1) 为 Bitcoin,MAINCHAIN(2) 为 Ethereum。 在 MAINCHAIN(2) 上,合约 SC 发行代表打包 BTC 的 tokens。 DON 控制BTC地址addr(1) DON。为了包装 BTC,用户 U 从 地址(1) U 至地址(1) DON 以及 MAINCHAIN(2)-地址 addr(2) 乌。 DON 监视器 地址(1) DON 通过 MAINCHAIN(1) 的适配器。 在观察到 U 的存款后,以足够高的概率确认,它通过适配器向 SC 发送一条消息 主链(2)。该消息指示 SC 为 addr(2) 铸造 X tokens 乌。 当 U 释放 X tokens 时,会发生相反的情况。 然而,在 MAINCHAIN(1) 上, 地址(1) DON 发送 X BTC 到 addr(1) U(或另一个地址,如果用户如此请求)。 当然,这些协议可以进行调整,以便与交易所合作,而不是直接 与用户。 4.2 与企业/遗留系统接口 DONs 可以充当 blockchains 之间的桥梁,如证明的示例所示 储备金,但另一个目标是让它们充当储备金之间的双向桥梁 blockchain 和旧系统 [176] 或 blockchain 类似系统,例如中央银行 数字货币[30]。 企业在连接现有系统和 去中心化系统的流程,包括:• 区块链敏捷性:区块链系统变化迅速。企业可能会遇到 blockchain 的快速新出现或流行度上升,其中 交易对手有意愿进行交易,但企业无能力进行交易 现有基础设施的支持。一般来说,blockchains 的活力使得 单个企业很难跟上整个生态系统的步伐。 • 区块链特定的开发资源:对于许多组织来说,雇用或孵化尖端的blockchain 专业知识是很困难的,特别是考虑到 敏捷性的挑战。 • 私钥管理:管理 blockchain 或加密货币的私钥需要不同于传统网络安全的运营专业知识 实践中,很多企业都无法做到这一点。 • 保密性:企业对于暴露其敏感和专有信息持谨慎态度。 数据上链。 为了解决前三个困难,开发人员可以简单地使用 DON 作为安全的中间件层,使企业系统能够读取或写入 blockchains。 DON 可以抽象出详细的技术考虑因素,例如 为开发者和用户提供气体动力学、链重组等。由 为企业系统提供简化的 blockchain 接口,因此 DON 可以 大大简化了 blockchain 感知企业应用程序的开发,消除了企业获取或孵化 blockchain 特定开发资源的负担。 DONs 的这种使用特别有吸引力,因为它使企业开发人员能够 创建很大程度上与 blockchain 无关的智能合约应用程序。结果, 较大的 blockchain 集(其中 DON 被检测为充当中间件), 企业用户可以轻松访问的更大的 blockchain 集合。开发商 可以通过最少的修改将应用程序从现有的 blockchain 移植到新的应用程序 到他们内部开发的应用程序。 为了解决额外的保密问题,开发人员可以向 我们在本文中介绍并期望部署以支持 DON 应用程序的工具。 其中包括 DECO 和 Town Crier 第 3.6.2 节以及保密性 第 7.1.2 节讨论了 API 修改,本节其余部分介绍了一些特定于应用程序的方法。这些 DON 系统可以提供 关于企业系统状态的高完整性、链上证明而不泄露 敏感企业源数据上链。 4.3 去中心化身份 去中心化身份是用户应该能够 获取并管理自己的凭证,而不是依赖第三方来做 所以。去中心化凭证是对持有者属性或主张的证明,这通常称为索赔。凭证由实体进行数字签名,通常称为 发行者,可以权威地将声明与用户关联起来。在大多数提议的方案中, 声明与去中心化标识符(DID)相关联,这是一个通用标识符 给定用户。凭证绑定到用户持有其私钥的公钥。 因此,用户可以使用她的私钥证明拥有索赔。 去中心化身份是有远见的,现有的和拟议的方案,例如,[14, 92, 129, 216],具有三个严重的局限性: • 缺乏遗留兼容性:现有的去中心化身份系统依赖于 由称为发行者的权威机构组成的社区,负责生成 DID 凭证。因为 现有的网络服务通常不会对数据进行数字签名,必须启动发行者 作为特殊用途的系统。因为没有动力就没有动力这样做 去中心化的身份生态系统,就会出现先有鸡还是先有蛋的问题。在其他方面 换句话说,目前还不清楚如何引导发行人生态系统。 • 密钥管理不可行:去中心化身份系统要求用户 管理私钥,加密货币的经验已经证明了这一点 成为一个不可行的责任。据估计,大约有 4,000,000 个 Bitcoin 已被 由于密钥管理故障 [194] 而永远丢失,并且许多用户存储了他们的 加密资产与交易所[193],从而破坏权力下放。 • 缺乏保护隐私的女巫抵抗:投票、token 销售期间公平分配 token 等应用程序的基本安全要求是: 用户无法断言多个身份。现有的去中心化身份提案要求用户透露他们的现实世界身份才能实现这一目标 女巫抵抗,从而破坏重要的隐私保证。 可以使用节点委员会的组合来解决这些问题 在 DON 中执行分布式计算并使用 DECO 等工具 或 Town Crier,如名为 CanDID [160] 的系统中所示。 DECO 或 Town Crier 可以通过设计将现有的 Web 服务转变为无需修改 成为保密凭证颁发者。它们使 DON 能够导出相关的 为此目的的数据到凭证中,同时隐藏不应该的敏感数据 出现在凭证中。 另外,为了方便用户恢复密钥,从而解决密钥管理问题 问题,DON 可以允许用户以秘密共享的形式存储私钥。用户可以 通过向 DON 中的节点证明来恢复其密钥——类似地,使用 Town Crier 或 DECO——通过一组预先确定的网络提供商(例如, 推特、谷歌、脸书)。相对于使用 Town Crier 或 DECO 的好处 OAUTH,是用户隐私。这两个工具使用户能够避免向 DON 泄露信息 网络提供商标识符——通常可以从中导出现实世界的身份。 最后,为了提供 Sybil 抵抗,如 [160] 所示,DON 可以 为用户执行独特的现实世界标识符的隐私保护转换 (例如,社会安全号码(SSN))在用户注册时添加到链上标识符中。因此,系统可以检测重复注册,而无需敏感数据,例如 SSN 被泄露给各个 DON 节点。7 DON 可以代表外部去中心化身份提供任何这些服务 未经许可或经过许可的 blockchain 上的系统,例如 Hyperledger 的实例 印地[129]。 应用示例:KYC: 去中心化身份有望作为一种手段 简化 blockchains 上金融应用程序的要求,同时提高用户体验 隐私。它可以帮助解决两个挑战,即反洗钱/了解你的客户 (AML / KYC) 法规下的认证和合规义务。 许多国家的反洗钱法规要求金融机构(和其他企业)建立并验证与其进行交易的个人和企业的身份。 他们执行交易。 KYC 是金融机构的一个组成部分 更广泛的反洗钱政策,通常还涉及监控用户行为和资金流动等。 KYC 通常涉及用户以某种形式呈现身份凭证(例如, 进入在线网络表单,在用户面前举起身份证件 在视频会议等)。安全创建和呈现去中心化凭证 原则上在几个方面可能是一个有益的替代方案,即:(1) KYC 流程对于用户和金融机构来说更加高效,因为一旦 获得证书后,可以无缝地向任何金融机构出示; (2) 通过妥协减少身份盗窃的机会,从而减少欺诈 个人身份信息 (PII) 和视频验证过程中的欺骗;和 (3) 由于用户保留控制权,降低金融机构 PII 泄露的风险 他们自己的数据。 考虑到金融机构因 AML 合规失败而支付的数十亿美元罚款,以及许多金融机构每年在 KYC 上花费数百万美元,改进措施可以为金融机构带来可观的节省 并且,推而广之,对于消费者[196]。虽然传统金融业发展缓慢 为了采用新的合规工具,DeFi 系统越来越多地采用它 [43]。 应用示例: 抵押贷款不足: 大多数 DeFi 应用程序 如今的支持贷款仅源自完全抵押贷款。这些是贷款 对于存入价值超过贷款价值的加密货币资产的借款人。 最近,人们对 DeFi 社区通常所说的抵押不足贷款产生了兴趣。相比之下,这些贷款需要相应的抵押品 其价值小于贷款本金的价值。抵押贷款不足 类似于传统金融机构通常发放的贷款。而不是依靠 他们以存入的抵押品作为贷款偿还的保证,而是以贷款为基础 对借款人信用记录的决定。 7 此转换依赖于分布式伪随机函数 (PRF)。抵押不足的贷款是 DeFi 贷款市场的一个新兴但不断增长的部分。他们依赖于传统金融所采用的机制 机构,例如法律合同 [91]。是他们成长的必备条件 将能够以提供强大完整性的方式向 DeFi 系统提供有关用户信用度的数据(传统贷款决策的关键因素),即 保证数据正确。 启用 DON 的去中心化身份系统将使潜在借款人能够 生成高保证的凭证,证明其信誉度,同时保留 敏感信息的机密性。具体来说,借款人可以生成这些 基于权威在线来源记录的凭据,同时仅公开 数据由 DON 证明,而不暴露其他潜在敏感数据。对于 例如,借款人可以生成一个凭证,表明她的信用评分 信用局集合超过特定阈值(例如 750),但未透露她的信息 精确的分数或她记录中的任何其他数据。此外,如果需要,此类凭证 可以匿名生成,即用户名可以被视为敏感数据 并且其本身不会暴露于 oracle 节点或她的去中心化凭证中。凭证 它本身可以在链上或链下使用,具体取决于应用程序。 总之,借款人可以向贷方提供有关其信用的重要信息 历史具有很强的完整性,并且没有暴露不必要的敏感信息的风险 数据。 借款人还可以提供各种其他保密凭证 有助于做出贷款决策。例如,凭证可以证明借款人的 拥有(链下)资产,正如我们在下一个示例中所示。 应用示例: 认证: 许多司法管辖区限制可以出售未注册证券的投资者类别。例如,在美国,SEC D 条例规定,要获得此类投资机会的认可, 个人必须拥有 100 万美元的净资产,满足某些最低收入要求,或具有某些专业资格 [209, 210]。目前的认证 流程繁琐且低效,通常需要来自以下机构的证明信 会计师或类似的证据。 去中心化的身份系统将使用户能够从以下位置生成凭证 证明符合认可的现有在线金融服务账户 法规,促进更高效和保护隐私的 KYC 流程。 的 此外,DECO 和 Town Crier 的隐私保护特性将允许这些 生成的凭证具有强有力的完整性保证,而不会直接泄露用户财务状况的详细信息。例如,用户可以生成凭证 证明她的净资产至少为 100 万美元,且无需透露任何其他信息 有关她的财务状况的信息。 4.4 优先频道 优先通道是一项有用的新服务,可以使用 DON 轻松构建。他们的

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

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

目标是在主链上及时交付精选的高优先级交易 在网络拥塞期间。优先通道可以被视为一种形式 区块空间上的期货合约,因此作为一种加密商品,这个术语是作为一部分创造的 芝加哥项目 [61, 136]。 优先通道专门用于矿工启用基础设施服务,例如 oracles、合约的治理功能等,而不是用于金融交易等普通用户级活动。 事实上,按照这里的设计,优先 网络中不到100%的算力实施的通道只能 对交货时间提供宽松的限制,防止其用于高度依赖速度的 目标,例如抢先交易。 图 10:优先通道是矿工 M 的保证,或者更一般地说,是矿工 M 的保证 一组矿工 M——向用户 U 表示她的交易 τ 将在 D 块内被开采 包含在内存池中。合约 SC 可以使用 DON 监控来强制执行 频道的服务条款。 优先通道采用一个或一组矿工之间协议的形式 提供通道的(或矿池)M和支付访问费用的用户U。 M 同意当 U 向内存池提交交易 τ 时(无论 Gas 价格如何,但预先商定的 Gas 限制),M 会将其放在接下来的 D 区块内的链上。8 图 10 示意性地描述了这个想法。 优先通道合约说明: 优先级信道可以被实现为 混合 smart contract 大致如下。我们让 SC 表示 MAINCHAIN 上的逻辑 以及 exec 的 DON 上的内容。 SC 接受来自 U. A 的存款/股份 \(d from M and an advance payment \)p DON 可执行文件 exec 监视内存池,在交易放置时触发 如果U提交了M挖矿的交易,它会向SC发送成功消息 服务失败时的及时方式和失败消息。 SC 在收到成功消息后将付款 $p 发送给 M,并发送所有剩余资金, 包括 $d,如果收到失败消息,则发送给 U。成功终止后, 将存款 $d 释放给 M。 矿工M当然可以同时向多个矿工提供优先通道 用户可以与 U 打开优先通道以接收预先商定数量的消息。 4.5 保密 DeFi / Mixicles 如今,DeFi 应用程序 [1] 为用户提供的保密性几乎为零:所有交易在链上都是可见的。各种基于零知识的方法,例如[149, 217], 可以提供交易隐私,并且 TEF 足够通用来支持它们。但是 这些方法并不全面,例如,通常不会隐藏 交易所基于的资产。 我们最终打算在 DONs 中支持的广泛计算工具将 通过多种不同方式实现隐私保护,可以弥补此类差距,有助于补充其他系统的隐私保证。例如,Mixicles,一种由 Chainlink 实验室研究人员 [135] 提出的保密 DeFi 工具,可以隐藏 支持金融工具的资产类型,非常自然地适合 DON 框架。 Mixicles 最容易解释为它们用于实现简单的二进制文件 选项。 二元期权是一种有两个用户的金融工具,我们将 请参阅此处以与 [135] 作为玩家保持一致,对有两种可能的赛事进行投注 结果,例如资产是否在预先指定的时间超过目标价格。 下面的例子说明了这个想法。 示例 2. Alice 和 Bob 是基于资产价值的二元期权的参与方 称为卡罗尔的泡沫代币(CBT)。 Alice 打赌 CBT 的市场价格为 时间 T = 2025 年 6 月 21 日中午至少 250 美元;鲍勃打赌相反。每个玩家 在预定期限内存入 100 ETH。获胜位置的玩家 收到 200 ETH(即收益 100 ETH)。 8D当然必须足够大,以保证M能够符合高概率。 对于 例如,如果M控制网络中20%的算力,它可能会选择D = 100,确保 失效概率为 ≈2 × 10−10,即小于十亿分之一。给定现有的 Chainlink oracle 网络 O,很容易实现智能 实现例2协议的合约SC,两个玩家各自存款 100 ETH 为 SC。 T 之后的某个时间,查询 q 被发送到 O 请求价格 r CBT 在 T.O 时间向 SC 发送该价格的报告 r。 SC然后将钱发送给Alice 如果 r ≥250,则 Bob 如果不是。然而,这种方法揭示了链上的 r——使其变得容易 让观察者推断出二元期权背后的资产。 在 Mixicles 的术语中,从概念上思考结果是有帮助的 SC 就 Switch 而言,它传输作为谓词计算的二进制值 开关(r)。在我们的示例中,如果 r ≥250,则 switch(r) = 0;鉴于此结果,爱丽丝获胜。 否则 switch(r) = 1 并且 Bob 获胜。 DON 可以通过运行可执行文件将基本 Mixicle 实现为混合合约 exec 计算 switch(r) 并将其在链上报告给 SC。我们展示这个结构 如图 11 所示。 图 11:示例 2 中的基本 Mixicle 图表。为以下内容提供链上保密性: 报告 r,因此二元期权的基础资产 oracle 发送到 仅通过 Switch 签订二进制值 switch(r) 合约 SC。 我们在附录 C.3 中指定了一个适配器 ConfSwitch,可以轻松实现这一点 DON 的目标。 ConfSwitch 背后的基本思想非常简单。而不是报告 r 值,ConfSwitch 仅报告二进制开关值 switch(r)。 SC 可以 旨在仅基于 switch(r) 和 switch(r) 本身进行正确支付 没有透露有关标的资产(在我们的示例中为 CBT)的信息。另外, 通过将密文放在账本上的 (q, r) 上,并使用 pkaud 的公钥进行加密 作为审计员,适配器 ConfSwitch 创建保密审计跟踪。 为了简单起见,我们在这里选择的基本 Mixicle 只隐藏了 在我们的示例中,二元期权背后的资产和赌注。一个成熟的 Mixicle [135] 可以 提供两种形式的保密性。它向观察者隐瞒了:(1)发生了什么事件 玩家对(即 q 和 r)下注,还对 (2) 哪位玩家赢得了赌注。 由于 Mixicles 是在主链上执行的,因此任一玩家都需要中继 switch(r) 从 DON 到 MAINCHAIN,或者可以创建一个可执行的 exec

由 ConfSwitch 输出触发并调用另一个适配器将 switch(r) 发送到 主链。 第三种微妙的保密方式也值得考虑。在 ConfSwitch 的基本实现中,O 在 DON 上运行适配器,从而学习 资产——在我们的例子中是 CBT——以及二元期权的本质。正如所讨论的 然而,在附录 C.3 中,还可以使用 DECO 或 Town Crier 来 甚至向 O 隐瞒此信息。在这种情况下,O 不会了解更多信息 而非 SC 的公共观察员。 有关 Mixicles 的更多详细信息,我们建议读者参阅 [135]。

Services de séquençage équitables

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

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

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

公平测序服务

我们期望 DONs 将提供一项利用其网络、计算和存储功能的重要服务,称为公平排序服务 (FSS)。 尽管 FSS 可能被简单地视为在 DON 框架内实现的应用程序,但我们强调它是一项我们相信在各个领域都有很高需求的服务。 blockchains,我们希望 Chainlink 网络积极支持。 当在公共 blockchain 网络上执行时,当今的许多 DeFi 应用程序 揭示可以被用户利用以谋取自身利益的信息,类似于 现有的内幕泄密和操纵机会普遍存在 市场 [64, 155]。相反,FSS 为公平的 DeFi 生态系统铺平了道路。 FSS 帮助开发人员构建免受市场操纵的DeFi合约 因信息泄露而造成的。鉴于我们在下面强调的问题,FSS 是 对于第 2 层服务特别有吸引力,并且适合此类服务的框架 我们将在第 6 节中讨论。 挑战: 在现有的无需许可的系统中,交易是完全有序的 由矿工自行决定。在许可网络中,validator 节点可能会施加 相同的力量。这是一种在很大程度上未被认识到的短暂集中化形式。 否则分散的系统。矿工可以(暂时)审查其交易 自己的利益[171]或重新排序以最大化自己的收益,这一概念称为可开采价值(MEV)[90]。 MEV 这个术语有一点欺骗性:它并不指代 只考虑矿工可以捕获的价值:一些MEV可以被普通用户捕获。 然而,由于矿工比普通用户拥有更多的权力,MEV 代表了任何实体通过对抗性重新排序可以获得的价值上限 和补充交易插入。即使矿工简单地下令交易 基于费用(gas),无需操纵,用户自己可以操纵gas价格 使他们的交易比那些不太复杂的交易更有优势。 戴安等人。 [90] 记录并量化机器人(而非矿工)采取的方式 利用气体动力学的方式损害当今 DeFi 系统的用户以及如何 MEV 甚至威胁到 blockchain 中底层共识层的稳定性。 交易订单操纵的其他例子也经常出现,例如[50, 154]。新的事务处理方法(例如 rollups)是一种非常有前途的方法 解决高吞吐量 blockchains 的扩展问题。然而,他们并没有解决 MEV的问题。相反,他们将其转移到生成 rollup 的实体。那 实体,无论是 smart contract 的操作员还是提供 (zk-)rollup 的用户 有效性证明,有权订购和插入交易。换句话说,rollups 将 MEV 替换为 REV:汇总可提取值。 MEV 影响即将提交到内存池的交易 但尚未在链上承诺。有关此类交易的信息广泛 在网络中可用。矿工、validators和普通网络参与者可以 因此,利用这些知识并创建相关交易。此外,矿工和 validators 可能会影响他们提交的交易的顺序 并利用这一点为自己谋利。 领导者对共识交易排序施加不当影响的问题 自 20 世纪 90 年代以来,协议在文献中就已为人所知 [71, 190],但还没有令人满意的 到目前为止,解决方案已在实践中实现[97]。 主要原因是所提出的解决方案(至少直到最近)无法轻易地与公众整合 blockchains,因为它们依赖于交易内容在之后仍然保密 他们的顺序已经确定。 公平测序服务 (FSS) 概述: DONs 将提供去中心化交易排序的工具,并根据依赖项指定的策略来实施它 合同创建者,理想情况下是公平的,而不是让那些希望这样做的参与者受益 操纵交易顺序。这些工具共同构成了 FSS。 FSS 包括三个组成部分。首先是交易监控。在FSS中, O 中的 oracle 节点都监视 MAINCHAIN 的内存池并(如果需要)允许 通过专门的渠道在链下提交交易。二是交易顺序。依赖合约的 O 订单交易中的节点 根据为该合同定义的策略。第三是交易记录。 交易排序后,O中的节点共同将交易发送到 主链。 FSS 的潜在好处包括: • 订单公平性:FSS 包含帮助开发人员确保交易的工具 对特定合同的输入以不会产生不公平的方式排序 对于资源丰富和/或技术精湛的用户来说是有优势的。订购政策 可以为此目的指定网络。 • 减少或消除信息泄漏:通过确保网络参与者无法利用有关即将进行的交易的知识,FSS 可以减少或消除信息泄漏。 消除基于现有信息的抢先交易等攻击 提交交易之前的网络。防止利用此类 泄漏确保依赖于原始未决的对抗性交易 在原始交易提交之前,交易无法进入账本。• 降低交易成本:消除玩家对提交速度的要求 他们的交易为smart contract,FSS可以大大降低交易处理的成本。 • 优先排序:FSS 可以自动给予关键事务特殊优先级 订购。例如,为了防止针对 oracle 的抢先交易攻击 报告,例如 [79],FSS 可以将 oracle 报告插入交易流中 追溯性地。 FSS 在 DON 中的首要目标是帮助 DeFi 创作者实现公平 金融系统,即不利于特定用户(或矿工)的系统 基于速度、内部知识或执行技术的能力优于其他人 操纵。虽然公平的明确、普遍的概念是难以捉摸的,但完美的公平在 任何合理的感觉都是无法实现的,FSS旨在为开发者提供强大的 一套工具,以便他们能够执行有助于实现 DeFi 设计目标的策略。 我们注意到,虽然 FSS 的主要目标是充当公平排序服务 DON 的目标主链,某些与 FSS 相同的公平性需求 保证也适用于在其中运行的(去中心化)协议 DON 派对。因此,FSS 可以更广泛地视为由子集提供的服务 DON 节点不仅可以对主链用户发送的交易进行公平排序 还包括其他 DON 节点之间共享的事务(即消息)。在本节中, 我们将主要关注对主链交易进行排序的目标。 章节组织:在第 5.1 节中,我们描述了推动 FSS 设计的两个高级应用程序:防止 oracle 报告的抢先交易和防止 用户交易的抢先交易。然后我们提供有关 FSS 设计的更多细节 在第 5.2 节中。第 5.3 节描述了公平排序保证和手段的示例 来实现它们。最后,第 5.4 节和第 5.5 节讨论了网络级威胁 分别针对网络洪水和女巫攻击的此类政策和解决方法 攻击。 5.1 抢先交易问题 为了解释 FSS 的目标和设计,我们描述了两种常见的抢先交易形式 攻击和现有解决方案的局限性。 抢先交易是一个类的例子 交易排序攻击:有许多相关的攻击,例如我们没有涵盖的反向运行和夹心(前端运行加反向运行)[237] 在这里,但 FSS 也可以帮助解决这个问题。 5.1.1 Oracle抢先交易 oracles 的传统角色是向 blockchain 应用程序提供链下数据 成为抢先交易攻击的天然目标。考虑使用 oracle 提供各种价格源的常见设计模式 到链上交易所:oracle 定期(例如每小时)收集价格数据 不同的资产并将它们发送到交换合约。这些价格数据交易 呈现明显的套利机会:例如,如果最新的 oracle 报告列出 某些资产的价格要高得多,对手可能会抢先发送 oracle 报告给 购买资产并在 oracle 的报告处理完毕后立即转售。 减速带和追溯定价: oracle 抢先交易问题的自然解决方案是给予 oracle 报告高于其他交易的特殊优先级。对于 例如,可以以高额费用发送 oracle 报告,以鼓励矿工处理 首先是他们。但如果套利机会很高,这并不能阻止抢先交易, 也无法阻止矿工自己套利。 因此,一些交易所采取了更重量级的“减速带”,例如在处理之前将用户交易排队等待多个区块 或在新的 oracle 报告到达时追溯调整价格。这些解决方案的缺点是它们增加了交换实现的复杂性, 增加存储需求,从而增加交易成本,并破坏用户体验,因为资产交换只有在相当长的一段时间后才会得到确认。 捎带: 在继续讨论 FSS 之前,我们先讨论搭载,这是一种非常简单且 oracle 抢先交易问题的优雅解决方案。不适用于地址 然而,在其他情况下却是抢先交易。 简而言之,不是定期向链上合约发送报告,而是 oracles 发布用户在购买或出售时附加到其交易中的签名报告 链上资产。然后交易所只需检查报告是否有效且最新 (例如,oracle 可以签署报告有效的一系列区块),并提取 从中获取相关价格。 与上述“减速带”相比,这种简单的方法具有许多优点 方法:(1)交易合约不需要保存喂价状态,这应该 导致交易成本降低; (2) 由于 oracle 报告是根据需要发布到链上的,因此 oracle 可以生成更频繁的更新(例如每分钟),从而 最大限度地减少抢先报告带来的套利机会9; (3)交易可以 立即得到验证,因为它们始终包含新鲜的价格信息。 然而,这种方法并不完美。首先,这个搭载解决方案将 交易所用户有责任获取最新的 oracle 报告并将其附加到他们的 交易。其次,虽然捎带交易最大限度地减少了套利机会,但它不能 在不影响链上合约活跃性的情况下完全防止它们。确实,如果一个 oracle 报告在某个区块号 n 之前有效,然后将交易提交到区块 n + 1 将需要新的有效报告。由于传播的固有延迟 从 oracles 向用户报告,对块 n + 1 有效的新报告将具有 9只有当资产价格的可利用差异超过无关的资产价格差异时,套利才有价值。 买卖资产所需的费用,例如矿工和交易所收取的费用。在区块 n + 1 被开采之前的某个时期(例如在区块 n −k 处)公布,从而 创建一个包含 k 个区块的序列,其中存在短暂的套利机会。我们 现在描述 FSS 如何克服这些限制。 通过 FSS 对 oracle 报告进行优先级排序: FSS 可以解决 oracle 抢先交易问题 通过构建上述捎带解决方案来解决问题,但推动额外的 使用 oracle 向去中心化预言机网络报告增强交易的工作。 在较高层面上,oracle 节点收集用于链上交换的交易, 就实时价格反馈达成一致,并将价格反馈连同收集的交易一起发布到主链合约中。从概念上讲,人们可以将这种方法视为一种 “数据增强事务批处理”,其中 oracle 确保最新的 喂价总是添加到交易中。 FSS 解决方案可以对交易所用户透明地实施,并且 正如我们在第 5.2 节中更详细描述的那样,对合约逻辑的更改最小。确保 新的 oracle 报告始终优先于用户交易只是一个例子 FSS 可以采用和执行的订购政策。社会保障基金秩序保障政策 第 5.3 节更概括地描述了公平性。 5.1.2 抢先交易的用户交易 我们现在转向通用应用程序中的抢先交易,其中上述防御方法 不起作用。可以通过以下场景概括地捕获该问题: 对手看到一些用户交易 tx1 发送到 P2P 网络并注入 它自己的对抗性交易 tx2,以便 tx2 在 tx1 之前被处理(例如,通过支付 更高的交易费用)。例如,这种抢先交易在 利用 DeFi 系统 [90] 中的套利机会的机器人,并影响了 各种去中心化应用程序[101]。建立公平的交易秩序 在 blockchain 上处理可以解决此问题。 更根本的是,有时甚至没有必要查看 tx1 的详细信息,并且 仅仅知道 tx1 的存在就可能让对手通过其抢先交易 tx1 拥有 tx2 并欺骗创建 tx1 的无辜用户。例如,用户可能 众所周知会定期交易特定资产。防止此类攻击需要 还可以避免元数据泄漏的缓解措施[62]。这个问题的一些解决方案 存在,但它们会带来延迟和可用性问题。 通过 FSS 从网络订单到最终订单: 抢先交易的机会 出现的原因是现有系统没有机制来确保执行的顺序 链上出现的交易尊重事件顺序和信息流 网络之外。这代表了由于在 blockchain 上实施应用程序(例如交易平台)的缺陷而产生的问题。理想情况下,人们会 确保事务按照原来的顺序在 blockchain 上提交 创建并发送到 blockchain 的 P2P 网络。但自从 blockchain 网络

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

是分布式的,无法捕获这样的订单。 FSS因此引入了机制 防止违反公平性,而这种违反公平性只是因为分布式 blockchain 网络的性质。 5.2 社会保障计划详情 图 12: 具有两种不同交易路径的订单公平内存池: 直接和 基于内存池。 图 12 显示了 FSS 的总体示意图。为了确保公平,提供 FSS 的 DON 必须干扰进入主链的交易流程。 可能需要对客户端、主链上的 smart contracts 或两者进行调整。在较高的层面上,FSS 的交易处理可以分解为三个部分 阶段,描述如下: (1) 交易监控; (2) 交易排序;和 (3) 交易过帐。根据用于事务排序的排序方法,需要额外的协议步骤,如下一节所述。 5.2.1 交易处理 交易监控: 我们设想 FSS 监控采用两种不同的方法 发往特定 smart contract 的用户交易,直接且基于内存池: • 直接:直接方法在概念上是最简单的,但需要进行更改 用户客户端,以便交易直接发送到去中心化预言机网络节点,而不是主链的节点。 DON 收集 用户交易发往特定的 smart contract SC,并根据 关于某些订购政策。然后 DON 将有序交易发送到 主链上的smart contract。一些排序机制还需要直接方法,因为创建交易的用户必须以加密方式 在将其发送到 FSS 之前对其进行保护。 • 基于内存池:为了促进 FSS 与旧客户端的集成,DON 可以使用Mempool Services(MS)来监控主链的mempool并收集 交易。 直接传输可能是许多合同的首选实施方式, 我们相信它在许多情况下应该相当实用。 我们简要讨论如何对现有的 DApp 进行最小程度的修改以支持 直接传输,同时保持良好的用户体验。我们描述方法 使用 Ethereum 和 MetaMask [6] 因为这些是当今最流行的选择,但是 上述技术应该扩展到其他链和钱包。最近的 Ethereum 改进提案,“EIP-3085:钱包添加Ethereum链RPC方法”[100], 将可以轻松定位自定义 Ethereum 链(使用与 MAINCHAIN 的(以防止来自 MetaMask 和其他基于浏览器的钱包的重放攻击)。实施此提案后,一个 DApp 寻求使用 DON 只需向其前端添加一个方法调用即可直接传输 交易到任何暴露 Ethereum 兼容 API 的 DON 。与此同时, “EIP-712:Ethereum 类型化结构化数据 hash 处理和签名” [49] 提供了一个稍微 涉及更多但已经广泛部署的替代方案,DApp 用户可以使用 MetaMask 用于签署指定 DON 交易的结构化数据。 DApp可以发送 此签名的结构化数据到 DON。 最后,我们注意到混合方法也是可能的。 例如,遗产 客户可以继续将交易发送到主链的内存池中,但至关重要 交易(例如 oracle 报告)直接发送到 DON 节点(特别是 提供 oracle 报告(例如喂价更新)的节点集和节点集 提供的 FSS 可能重叠或相同)。 交易排序: FSS 的主要目的是保证用户交易按照预先定义的策略进行排序。这项政策的性质将 取决于应用程序的需求以及它所处理的不公平交易订单的类型 旨在预防。 由于 DON 上的 FSS 能够处理数据并维护本地状态, 他们可能会根据所提供的信息强加任意排序策略 可在 oracles 处购买。 特定的排序策略及其实现将在随后的 5.3 节中讨论。交易过账: 在收集并排序用户交易(直接从用户接收或从内存池收集)后,DON 将这些交易发送到主链。因此,DON 与主链的交互仍然存在 受主链矿工管辖的(可能不公平的)交易排序。为了利用去中心化交易排序的好处,目标智能 因此,合同 SC 的设计必须将 DON 视为“一等”公民。我们 区分两种方法: • DON-only 合约:最简单的设计选项是让主链变得智能 合约SC仅接受已由DON处理的交易。这个 确保 smart contract 按照建议的顺序处理交易 DON,但事实上限制 smart contract 在基于委员会的系统中运行(即 DON 委员会现在拥有持续的权力来确定 交易的排序和包含)。 • 双级合约:首选、更细粒度的设计,主链智能 合约 SC 接受源自 DON 和遗留系统的交易 用户,10 但对 DON 未处理的交易设置了传统的“减速带”。例如,可以处理来自 DON 的交易 立即,而遗留事务则由 smart contract “缓冲” 一段固定的时间。其他防止抢先交易的标准机制 例如提交-显示方案或 VDF [53] 也可以应用于遗留 交易。这确保了 DON 有序的交易确实得到处理 同意该命令,但没有赋予 DON 不必要的审查权力 交易。 由于 FSS 强加的交易排序要求交易在“链外”聚合,因此该解决方案自然地与其他旨在降低链上处理成本的聚合技术相结合。例如,收集后 对交易进行排序后,DON 可以将这些交易作为 单个“批量交易”(例如 rollup),从而减少总交易 费。 执行交易指令: 无论是仅 DON 还是双级设计, 主链smart contract SC和DON必须共同设计,以保证DON的交易顺序得到维护。在这里,我们也设想了不同的 设计选项: • 序列号:DON 可以为每笔交易附加一个序列号,并将这些交易发送到主链的内存池中。 主要 10如果 DON 的交易监控基于内存池,则遗留交易必须与 DON 交易区分开来,以便它们不会被 DON 收集,例如通过特殊标签 嵌入交易中或通过指定特定的 Gas 价格,例如DON 交易有gas 价格低于一定阈值。链 smart contract SC 忽略“无序”到达的交易。我们 请注意,在这种设置中,主链矿工可以决定忽略 DON 的 交易排序,从而导致交易失败。通过保持 SC 的(昂贵的)状态来强制执行正确的交易排序是可能的,某种程度上 类似于 TCP 如何缓冲无序数据包直到丢失的数据包被删除 收到。 • 事务nonces:对于许多blockchain,特别是Ethereum, 上述序列编号方法可以利用内置事务 nonces 来 强制主链smart contract SC按顺序处理交易。 在这里,DON 节点通过单个主链帐户将交易发送到主链,并受到 DON 节点之间共享的密钥的保护。该帐户的 交易 nonce 确保交易以正确的顺序进行挖掘和处理。 • 聚合交易:DON 可以聚合rollup 中的多个交易。 (或类似于 rollup 的捆绑包)。主链 smart contract 需要 旨在处理此类聚合交易。 • 使用主链代理聚合交易:这里,DON 类似地将交易捆绑到主链的一个“元交易”中,但依赖于 自定义代理 smart contract 来解压交易并将其转发到 目标合同 SC。该技术对于遗留兼容性很有用。元交易的行为类似于 rollup,但不同之处在于它们由未压缩的 一次发布到主链的交易列表。 最后一种设计的优点是无缝支持用户交易 在达到 DON 的目标之前,它们本身通过主链合约进行代理 合同 SC。例如,考虑将交易发送到某个钱包的用户 合约,该合约又向 SC 发送内部交易。分配序列 此类交易的编号会很棘手,除非用户的钱包合约是 专门设计用于将每笔内部交易的序列号转发至 SC。 同样,此类内部交易也无法轻松聚合成直接发送到 SC 的元交易。我们讨论进一步的设计考虑 以下此类代理交易。 5.2.2 事务原子性 到目前为止,我们的讨论隐含地假设交易与单个交易交互 链上 smart contract (例如,用户向交易所发送购买请求)。然而,在 在 Ethereum 等系统中,单个交易可以由多个内部交易组成,例如,一个 smart contract 调用另一个合约中的函数。下面,我们 描述了两种对“多合约”交易进行排序的高级策略,同时 保留事务的原子性(即,由 交易全部按照正确的顺序执行,或者根本不执行)。强原子性: 最简单的解决方案是将 FSS 直接应用于整个“多合约”交易,如上所述。也就是说,用户发送他们的交易 进入网络,FSS 监控、排序并将这些交易发布到 主链。 这种方法在技术上很简单,但有一个潜在的限制:如果用户 交易与两个合约 SC1 和 SC2 交互,两者都希望公平杠杆 排序服务,那么这两个合约的排序策略必须一致。也就是说,给定两个不同的交易 tx1 和 tx2,每个交易都与之交互 SC1 和 SC2 都不能出现 SC1 的策略先排序 tx1 后排序 tx2 而 SC2 的政策规定了相反的顺序。 对于绝大多数感兴趣的场景,我们预计不同合约采用的排序策略将是一致的。例如,SC1 和 SC2 可能希望交易按照其到达内存池的大概时间进行排序, SC1 可能还希望始终首先交付某些 oracle 报告。作为 后者oracle报告交易不与SC2交互,政策一致。 弱原子性: 就其全面的普遍性而言,FSS 可以应用于个人层面 内部交易。 考虑 tx = { txpre, txSC, txpost} 形式的交易,由一些初始的 交易〜txpre,这会导致内部交易〜txSC到SC,这反过来 发出内部交易〜txpost。 SC 的排序策略可能决定如何 内部交易 ~txSC 必须相对于发送的其他交易进行排序 到 SC,但保留 txpre 和 txpost 的排序顺序。 鉴于 Ethereum 等系统中事务处理的本质,开发针对特定内部事务的排序服务并不简单。通过专门设计的合约 SC,这可以通过以下方式实现: 1. 交易tx被发送到网络并被挖掘(没有任何排序) 由 FSS 执行)。执行初始的 txpre,并调用 txSC。 2. SC不执行~txSC并返回。 3. FSS 监控 SC 的内部事务,对它们进行排序,然后将它们发回 到 SC(即,通过将交易 ~txSC 直接发送到 SC)。 4. SC 处理从 FSS 接收到的交易 txSC,并发出由 txSC 产生的内部交易 txpost。 使用这种方法,事务不会完全原子地执行(即原始的 交易 tx 被分解为多个链上交易),但是 内部交易被保留。 该解决方案存在许多设计限制。例如,~txpre 不能 假设~txSC 和~txpost 将被执行。此外,SC 的设计应使得 代表某个用户执行交易 〜txSC 和 〜txpost,即使它们是由 FSS 发送。由于这些原因,更粗粒度的“强原子性”解决方案 以上在实践中可能是更可取的。 为了尊重更复杂的依赖关系,涉及多个事务和 它们各自的内部事务,FSS的事务调度程序可能包含 类似于关系型事务管理器中的复杂功能 数据库管理器。 5.3 公平交易排序 这里我们讨论交易排序公平性的两个概念以及相应的实现,这可以通过 FSS 来实现: 基于策略的顺序公平性 FSS 和安全因果关系保存强加的,这需要在 FSS 中使用额外的加密方法。 订单公平性: 顺序公平是共识协议中时间公平的概念 这首先是由 Kelkar 等人正式提出的。 [144]。 凯尔卡等人。旨在实现一种自然政策形式,其中交易是 根据 DON (或 P2P 网络, 对于基于内存池的 FSS)。然而,在去中心化系统中, 节点可能会看到事务以不同的顺序到达。 建立总订单 所有交易的问题正是底层共识协议所解决的问题 主链。 凯尔卡等人。 [144] 因此引入一个较弱的概念,可以 在去中心化预言机网络的帮助下实现,称为“区块订单公平性”。 它将 DON 在某个时间间隔内收到的交易分组为 “块”并同时在同一位置插入该块的所有交易 (即高度)进入主链。因此它们被排序在一起并且必须是可执行的 并行进行,而不会在它们之间造成任何冲突。 粗略地说,顺序公平性表明,如果大部分节点在 τ2 之前看到事务 τ1,那么 τ1 将在 τ2 之前或在同一块中排序。通过施加如此粗略的 交易订单的粒度,抢先交易和其他与订单相关的攻击的机会大大减少。 凯尔卡等人。提出一系列名为 Aequitas [144] 的协议,该协议解决了 不同的部署模型,包括同步、部分同步和异步网络设置。相对于基本的 BFT 共识,Aequitas 协议会带来大量的通信开销,因此对于实际使用来说并不理想。 然而,我们相信 Aequitas 的实用变体将会出现,可以使用 用于 FSS 和其他应用程序中的事务排序。一些相关方案有 已经提出了较少伴随的形式主义和较弱的性质, 例如,[36,151,236],但实际性能更好。这些方案都可以支持 在 FSS 中也是如此。 还值得注意的是,术语“公平”出现在 blockchain 的其他地方 具有不同含义的文学,即机会意义上的公平矿工与其承诺资源成正比 [106, 181] 或 validators 平等机会[153]。 安全因果关系保存: 防止分布式平台中的抢先交易和其他顺序违规的最广为人知的方法依赖于加密技术 技术。它们的共同特点是隐藏交易数据本身,等到 共识层秩序已建立,交易数据公开 稍后进行处理。这保留了交易之间的因果顺序 由 blockchain 执行。相关安全概念和密码协议 在 blockchains [71, 190] 出现之前已经得到了很大的发展。 “输入因果关系”[190] 和“安全因果关系保存”[71, 97] 的安全条件正式要求不知道任何有关交易的信息 在该交易在全球秩序中的位置尚未确定之前。在此之前,对手必须无法以加密方式推断出任何信息 强烈的感觉。 人们可以区分四种加密技术来保持因果关系: • 提交-显示协议 [29, 142, 145]:而不是宣布交易 明确地说,只有对交易的加密承诺才会被广播。在所有已提交但隐藏的事务已排序之后(在 blockchain 早期) MAINCHAIN 本身的系统,但这里是 FSS),发送者必须在预定的时间间隔内公开承诺并披露交易数据。 然后网络验证开放是否满足先前的承诺。的 此方法的起源可以追溯到 blockchains 出现之前。 虽然它特别简单,但该方法存在相当大的缺点,并且由于两个原因不容易采用。首先,由于在排序协议层面仅存在承诺,因此交易的语义 在达成共识期间无法验证。与客户的额外往返 是必需的。然而,更严重的是,权衡了没有开口可能会发生的可能性。 到达,这可能相当于拒绝服务攻击。此外,它 很难确定开局在一致的、分布式的情况下是否有效 方式,因为所有参与者必须就空缺是否到达达成一致 时间。 • 延迟恢复的提交-显示协议[145]:一项挑战 提交-显示方法是,客户端可以推测性地提交交易,并在后续交易使其有利可图时才显示它。一个 提交-显示方法的最新变体提高了对此的恢复能力 一种不当行为。特别是,TEX 协议 [145] 解决了这个问题 使用一种巧妙的方法,其中加密交易包含解密密钥 可以通过计算可验证的延迟函数(VDF)获得[53, 221]。如果一个客户 未能及时解密她的交易,系统中的其他人将解密 通过解决一个中等难度的密码难题来代表她。• 阈值加密 [71, 190]:该方法利用 DON 可以执行 阈值加密操作。假设 FSS 维护一个加密公共 key pkO 和 oracle 在它们之间共享相应的私钥。 然后,客户端在 pkO 下加密交易并将其发送到 FSS。社会保障基金订单 DON 上的交易,然后解密它们,最后将它们注入到 主链按固定顺序排列。因此,加密可确保排序 不是基于交易内容,而是数据本身在以下情况下可用: 需要。 该方法最初由 Reiter 和 Birman [190] 提出,后来由 Cachin 等人改进。 [71],它与许可共识相结合 协议。最近的工作探索了使用阈值密码学作为 用于通用消息 [33, 97] 和共享数据 [41] 的一般计算的共识级别机制。 与提交-显示协议相比,阈值加密可以防止简单的拒绝服务攻击(尽管考虑到解密的计算成本,需要小心)。它让 DON 以自己的速度自主前进,无需 等待客户的进一步行动。交易在解密后可以立即得到验证。此外,客户用一个加密所有交易 DON 的密钥,通信模式与其他相同 交易。安全地管理阈值密钥并更改节点 然而,O 可能会带来额外的困难。 • 承诺秘密共享[97]:而不是加密下的交易数据 DON 持有的密钥,客户端也可以为 O 中的节点秘密共享它。 使用混合的、计算安全的秘密共享方案,交易 首先使用带有随机密钥的对称密码进行加密。仅共享相应的对称密钥,并将密文提交给DON。 客户端必须使用单独加密的消息向 O 中的每个节点发送一个密钥共享。其余协议步骤与阈值相同 加密,只不过交易数据采用对称解密 从其份额重建每笔交易密钥后的算法。 此方法不需要设置或管理公钥密码系统 与 DON 相关。但是,客户端必须了解其中的节点 O 并在安全的环境中与每个人进行交流,这使得 给客户带来额外的负担。 尽管加密方法提供了针对信息的完整保护 从提交的交易泄漏到网络,它们不隐藏元数据。对于 例如,发件人的 IP 地址或 Ethereum 地址仍可被使用 进行抢先交易和其他攻击的对手。各种隐私增强 部署在网络层的技术,例如[52,95,107],或事务层, 例如,[13, 65],需要实现这一目标。特定作品的影响 元数据的数量,即交易发送到哪个合约,可以(部分)隐藏通过在同一个 DON 上复用许多合约。密码隐藏 交易本身也不能阻止损坏的交易的优先级 DON 节点与交易发送者勾结。 加密协议保证的安全因果关系补充了任何策略的秩序公平性保证,我们打算探索两者的结合 方法,如果可能的话。如果对手无法从中获得显着优势 观察元数据,安全的因果关系保存协议可以与 也是一种简单的订购方法。例如oracle节点可以写入交易 他们收到后立即发送给 L,不得重复。那么交易将是 根据他们在L上的出现进行排序并随后解密。 我们还计划考虑使用 TEE 作为帮助执行公平排序的一种方式;为了 例如,Tesseract [44] 可能被视为实现了一种因果排序形式,但一个 TEE 以显式形式处理交易的能力得到了加强,同时 保留他们的机密。 5.4 网络层注意事项 到目前为止,我们对 FSS 的描述主要集中在强制执行 FSS 的问题上。 最终的交易顺序与其在网络中观察到的顺序相匹配。此后, 我们考虑网络层本身可能出现的公平问题。 传统电子市场的高频交易者投入大量资金 资源以获得卓越的网络速度[64],加密货币交易所的交易者表现出类似的行为[90]。网络速度在以下方面都具有优势 观察其他方的交易并提交竞争交易。 实践中采用并在 Flash Boys [155] 一书中普及的一种补救措施是 最初在 IEX 交易所 [128] 中引入的“减速带”,后来在其他交易所中引入 交换 [179] (结果混合 [19])。该机制对市场准入施加了延迟(IEX 为 350 微秒),目的是抵消市场准入的优势。 速度。经验证据,例如[128],支持其减少某些交易的功效 普通投资者的成本。 FSS 可以简单地用于实现非对称 减速带——延迟传入交易的减速带。 Budish、Cramton 和 Shim [64] 认为,利用速度优势 在连续时间市场中是不可避免的,并主张在市场中采取结构性补救措施 以批量拍卖为基础的市场形式。但这种方法并未得到广泛采用 在现有的交易平台上。 传统的交易系统是中心化的,通常通过以下方式接收交易: 单个网络连接。相比之下,在去中心化系统中,可以 从多个有利位置观察交易传播。因此,可以观察到 P2P 网络中的网络泛洪等行为。 我们打算 探索 FSS 的网络层方法,帮助开发人员指定策略 禁止此类不良网络行为。5.5 实体级公平政策 秩序公平和安全因果关系旨在对以下交易执行排序: 尊重它们创建和首次提交到网络的时间。这种公平概念的局限性在于,它不能防止对手发起攻击 通过向系统注入大量交易来获得优势,观察到的策略 作为在 token 销售 [159] 中执行有效交易狙击的一种方式,并 造成拥堵,导致债务抵押头寸 (CDP) [48] 清算。 换句话说,秩序公平强制的是交易的公平,而不是玩家的公平。 如CanDID系统[160]所示,可以使用oracle工具,例如DECO 或 Town Crier 与节点委员会(例如 DON)结合以实现 各种形式的女巫抵抗,同时保护隐私。用户可以注册身份 并在不透露身份本身的情况下提供其独特性的证据。 抗女巫凭证提供了一种丰富交易排序的可能方法 限制洪水攻击机会的政策。例如,一个 token 销售可能只允许每个注册用户进行一笔交易,其中注册 需要国家标识符的唯一性证明,例如社会安全号码。 这种方法并非万无一失,但可能被证明是减轻交易泛滥攻击的有用策略。

Le cadre d'exécution des transactions DON

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

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

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

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

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

DON 事务执行框架

(DON-TEF) DONs 将为 oracle 内的第 2 层解决方案提供 oracle 和去中心化资源支持 我们称之为去中心化 Oracle 网络交易执行框架 (DONTEF) 或简称 TEF。 如今,DeFi 合约的更新频率受到主链延迟的限制, 例如,Ethereum [104] 中 10-15 秒的平均区块间隔,以及 在链上推送大量数据和有限的计算/交易吞吐量—— 激励扩展方法,例如分片 [148、158、232] 和第 2 层执行 [5、 12、121、141、169、186、187]。即使 blockchains 的交易时间要快得多, 例如,[120],提出了涉及链外计算[168]的扩容策略。 TEF 旨在充当任何此类第 1 层/主链系统的第 2 层资源。 使用 TEF,DONs 可以支持主链合约中更快的更新,同时 保留主链提供的关键信任保证。 TEF可以支持 许多第 2 层执行技术和范例中的任何一种,包括 rollups,11 乐观的rollups、Validium等,以及阈值信任模型,其中DON 节点执行交易。 TEF 是 FSS 的补充,旨在为其提供支持。换句话说,任何 在 TEF 中运行的应用程序可以使用 FSS。 11通常称为“zk-rollups”,这是用词不当,因为它们不一定需要零知识证明。

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

6.1 TEF 概述 TEF 是一种用于构建和执行高性能混合体的设计模式 smart contract SC。 根据混合 smart contract 背后的主要思想,TEF 涉及 将 SC 分解为两部分: (1) 我们在 TEF 上下文中称之为锚点 MAINCHAIN 上的合约 SCa 和 (2) DON 逻辑要求我们调用 TEF 可执行文件。 我们这里用SC来表示SCa组合实现的逻辑合约 并执行。 (如上所述,我们期望开发编译器工具来分解 SC 自动收缩到这些组件中。) TEF可执行exec是SC中处理用户交易的引擎。它 可以以高性能的方式执行,因为它在 DON 上运行。它有几个功能: • 交易摄取:exec 接收或获取用户的交易。它可以这样做 直接,即通过 DON 上的交易提交,或通过主链 使用 MS 的内存池。 • 快速交易执行:exec 处理涉及以下资产的交易 SC。它在本地执行此操作,即在 DON 上。 • 快速且低成本的oracle /适配器访问:exec 具有对 oracle 报告的本机访问权限 和其他适配器数据,例如更快、更便宜和更准确的资产 定价高于主链执行。此外,链下 oracle 访问减少了 oracle 的运营成本,即使用该系统的成本,通过避免 昂贵的链上存储。 • 同步:exec 定期将更新从DON 推送到主链,更新SCa。 锚定合约是SC的主链前端。作为 SC 的更高信任组件,它有几个用途: • 资产托管:用户的资金存入、持有和提取于SCa。 • 同步验证:SCa 可以在执行时验证状态更新的正确性 同步,例如附加到 rollups 的 SNARK。 • 护栏:SCa 可能包括防止腐败或故障的规定 期待中。 (更多详情请参见第 7 节。) 在 TEF 中,用户的资金托管在主链上,这意味着 DON 本身是非托管的。根据同步机制的选择(见下文),用户可能需要 仅信任 DON 以获得准确的 oracle 报告并及时与主链同步。 由此产生的信任模型与基于订单簿的 DEX 非常相似,例如 [2], 如今,它通常包括用于订单匹配的链下组件和用于清算和结算的链上组件。要使用支付系统的词汇,人们可能会认为 exct 是一个组件 SC负责清算,SCa负责结算。原理图见图 13 TEF 的描述。 图 13:TEF 原理图。在此示例中,交易通过内存池 通过 MS 到 DON 的主链。 TEF的好处: TEF 具有三个主要优势: • 高性能:SC 继承了DON 比 MAINCHAIN 高得多的吞吐量 对于交易和 oracle 报告。此外,与单独在 MAINCHAIN 上实现相比,exec 可以更快地处理交易并更及时地响应 oracle 报告。 • 费用更低:同步过程对时间的敏感性低于交易处理,并且交易可以批量从DON 发送到MAINCHAIN。 因此,这种方法的每笔交易链上费用(例如,gas 成本)比仅在主链上运行的合约低得多。 • 保密性:DON 的保密机制可用于 承担SC。

TEF 限制: TEF 的一个限制是它不支持瞬时 提款,因为它们仅发生在主链上:发送提款请求后 对于SCa,用户可能需要等待execute来执行状态更新,其中包括 在获得批准之前提款交易。我们讨论一些部分补救措施, 然而,在第 6.2 节中。 TEF 的另一个限制是它不支持 DeFi 的原子组合 主链上的合约,特别是通过多个 DeFi 路由资产的能力 单一交易中的合同。然而,TEF 可以支持这种原子性 DeFi 合约在同一个 DON 上运行。我们还讨论了一些解决这个问题的方法 6.2 节中的问题。 6.2 交易路由 SC 的交易可以由用户直接发送到 DON 或可以通过 MAINCHAIN 中的内存池(通过 FSS)。有四种不同的交易类型,每种类型 其中需要不同的处理: 合约内交易: 因为它回避了气体动力学的复杂性,TEF 为 SC 在处理交易方面提供了比普通 SC 更大的灵活性。 在第 1 层合约中可用。例如,当 Ethereum 中的内存池交易时 可以被更高 Gas 价格的新交易覆盖,SC 可以在 SC 内的资产上操作的交易一旦变得可见就视为权威交易 在内存池中。因此,SC不需要等待交易被确认 在一个块内,从而大大减少延迟。 代理: 用户可能希望通过钱包合约向 SC 发送交易 τ 或 主链上的其他合约。 DON 可以模拟执行 MAINCHAIN 上的 τ 来确定是否会导致 SC 的后续交易。 如果是这样,τ 可以与 SC 的其他交易一起排序。有几个 DON 如何识别此类交易的可能性: (1) DON 可以模拟 内存池中的所有交易(一种昂贵的方法); (2) 某些合同或 可以列出合约类型,例如钱包,以供 DON 监控;或 (3) 用户可以 注释交易以供 DON 检查。 当单个事务与两个事务交互时,事情变得更加复杂 合约 SC1 和 SC2,两者都使用公平排序服务并且具有不兼容的排序策略。例如,DON 可能会在最晚的时间对 τ 进行排序 两者兼容。 存款: 将主链资产存入 SC 的交易需要在区块中得到确认,然后 SC 才能将其视为有效。当它检测到采矿 将资产(例如以太币)发送到SCa的交易,exec可以立即确认订金。例如,它可以将 DON 的当前 oracle 报告价格应用于 资产。 提款: 如上所述,TEF 的局限性在于提款不能总是立即执行。在 rollup 类型的执行模型中,提款 请求必须与其他事务一起排序,即汇总,以便安全地进行 已处理。然而,有一些针对此限制的部分补救措施。 如果 DON 可以快速计算出 rollup 的有效性证明直到提款交易,那么观察内存池中的用户交易 τ 可以以更高的 Gas 价格发送 τ 的状态更新交易 τ ′,这是一种有益的抢先交易。 假设 τ 在 τ ′ 到达内存池之前未被开采,则 τ ′ 将先于 τ,并且 τ 将影响批准的提款。 在 TEF 变体中,依赖 DON 来计算状态更新(请参阅 下面的阈值签名变体),DON 也可以确定链下 考虑到 SC 执行时的状态,是否应该批准 τ。 DON 然后可以发送一个交易 τ ′ 来批准提款 τ,而不影响完整的交易 状态更新。 如果此方法不可行,或者在不成功的情况下,则由 DON 启动 交易 τ ′ 可以响应 τ 向用户发送资金,这样用户就不需要 发起额外交易。 6.3 正在同步 TEF 可执行文件 exec 定期将更新从 DON 推送到 MAINCHAIN, 在我们称为同步的过程中更新 SCa 的状态。可以考虑同步 作为第 2 层交易到第 1 层的传播,因此 TEF 可以利用任意数字 用于此目的的现有技术,包括 rollups [5, 12, 16, 69],乐观 rollups [10, 11, 141],Validium [201],或基本阈值签名,例如阈值 BLS, Schnorr,或 ECDSA [24,54,116,202]。原则上,可信执行环境 还可以证明状态更改的正确性,提供更高性能的 rollups 的替代方案,但具有依赖于硬件的信任模型。 (例如,参见 [80]。) 下面我们比较这些同步选项的三个关键属性 技术教育框架: • 数据可用性:SC 的状态存储在哪里?至少三个选项是 在 TEF 中可用:在主链上、在 DON 上或通过某些第三方存储 IPFS 等提供商。他们实现了不同的安全保证、可用性 级别和性能概况。简而言之,在主链上存储状态可以实现 链上可审计性并消除对任何一方的状态可用性的依赖; 另一方面,链下存储状态可以降低存储成本并提高 吞吐量,以信任存储提供商(DON 或第三方)为代价 数据可用性。当然,结合这些选项的灵活模型也可以 可能的。我们在表 1 中指出了所需的数据可用性形式。• 正确性保证:SCa 如何确定更新的正确性 由exec 推动?这会影响 exect 和 SCa 的计算负载以及 同步延迟(见下文)。 • 延迟:同步延迟有三个影响因素: (1) 所花费的时间 用于生成同步交易τsync; (2) τsync 所花费的时间 待主链确认; (3) τsync 生效的时间 SC。在 TEF 中,延迟对于提款尤为重要(但对于提款来说则不那么重要) 合约内交易)因为提款必然需要(至少 部分)状态同步。 正在同步 选项 数据 可用性 正确性 保证 延迟 汇总 [5, 12, 16, 69] 链上 有效性证明 生成所需时间 有效性证明(例如当前系统中的分钟数) 维迪乌姆 [201] 链下 有效性证明 与上面相同 乐观rollup [10, 11, 141] 链上 欺诈证明 挑战时长 期间 (例如, 天 或 周) 门槛签名 [24, 54、116、202] 灵活 DON 的阈值签名 瞬时 可信执行环境 [80] 灵活 基于硬件 证明 瞬时 表 1:TEF 中的各种同步选项及其属性。 表 1 总结了 TEF 中五个主要同步选项的这些属性。 (注 我们不打算将这些技术与独立的第 2 层扩展进行比较 解决方案。为此,我们建议读者参考 [121]。) 现在我们讨论每个同步选项。 汇总: rollup [69] 是一个协议,其中状态转换由 一批交易是在链外计算的。 然后传播状态变化 到主链上。 为了实现 rollups,锚点 smart contract SCa 存储实际状态的紧凑表示 Rstate(例如 Merkle 根)。要同步,exec 发送 τsync = (T,R′ 状态)到 SCa,其中 T 是自上次以来处理的事务集同步和R′ state 是通过应用计算出的新状态的紧凑表示 T 中的交易到先前状态 Rstate。 有两种流行的变体,它们在 SCa 验证 τsync 中状态更新的方式上有所不同。 第一个,(zk-)rollups,附加一个简洁的正确性论证,有时称为 有效性证明,用于转换 Rstate →R′ 状态。要实现此变体,请执行 计算并提交有效性证明(例如,zk-SNARK 证明)以及 τsync, 证明R′ state 是将 T 应用到 SCa 当前状态的结果。锚 合约仅在验证证明后才接受状态更新。 乐观的 rollup 不包括正确性的论点,但有 staking 和 促进状态转换的分布式验证的挑战程序。为此 rollup 变体,SCa 暂时接受 τsync 假设它是正确的(因此乐观) 但 τsync 直到挑战期结束后才生效,在此期间任何一方 监控 MAINCHAIN 可以识别错误的状态更新并通知 SCa 采取措施 必要的行动(例如,回滚状态并对exec施加惩罚。) 随着交易的发布,两个 rollup 变体都实现了链上数据可用性 链上,可以从中构建完整的状态。 zk-rollups 的延迟为 主要由生成有效性证明所需的时间决定,这通常是在 现有系统 [16] 中的分钟顺序,并且随着时间的推移可能会得到改进。 另一方面,乐观的 rollups 具有更高的延迟(例如,几天或几周) 因为挑战期需要足够长才能使欺诈证明发挥作用。的 缓慢确认的含义是微妙的,有时特定于该方案,因此 彻底的分析超出了范围。例如,某些计划考虑付款 在确认状态更新之前,交易作为“无信任最终”[109],因为 普通用户可以比主链更快地验证 rollup。 有效: Validium 是 (zk-)rollup 的一种形式,使数据仅在链外可用 并且不维护主链上的所有数据。具体来说,exec 只发送新的 状态和证明,但不向 SCa 发送交易。使用 Validium 风格的同步,执行 并且执行它的 DON 是唯一存储完整状态和 执行交易。与 zk-rollups 一样,同步延迟主要由有效性决定 证明生成时间。然而,与 zk-rollups 不同的是,Validium 风格的同步减少了 存储成本并增加吞吐量。 DON 的阈值签名: 假设 DON 个节点的阈值是诚实的, 简单而快速的同步选项是让 DON 节点共同签署新状态。 这种方法可以支持链上和链下数据的可用性。请注意,如果 用户信任 DON 的 oracle 更新,他们不需要更信任它来接受 状态更新,因为它们已经处于阈值信任模型中。 另一个好处是 阈值签名是低延迟的。支持新的交易签名格式 EIP-2938 [70] 中提出并称为帐户抽象将产生阈值 签名更容易实施,因为它将消除门槛的需要 ECDSA,涉及相当复杂的协议(例如,[116,117,118])比阈值 Schnorr [202] 或 BLS [55] 签名等替代方案更好。 可信执行环境 (TEE): TEE是隔离的执行环境(通常由硬件实现),旨在提供强大的安全保护 用于内部运行的程序。一些 TEE(例如 Intel SGX [84])可以生成证明, 称为证明,输出是由特定程序正确计算的 特定的输入12。 TEF 同步的基于 TEE 的变体可以通过以下方式实现 使用技术将 (zk-)rollups 或 Validium 中的证明替换为 TEE 证明 来自 [80]。 与 rollups 和 Validium 中使用的零知识证明相比,TEE 更 性能更高。与阈值签名相比,TEE 消除了以下复杂性: 生成阈值 ECDSA 签名,因为原则上只需要一个 TEE 参与。然而,使用 TEE 确实会引入额外的依赖于硬件的信任假设。人们还可以将 TEE 与阈值签名结合起来以创建弹性 防止一小部分 TEE 实例受到损害,尽管这种保护措施 重新引入了生成阈值 ECDSA 签名的复杂性。 额外的灵活性: 可以通过以下方式改进这些同步选项以提供更大的灵活性。 • 灵活的触发:TEF 应用程序可以确定触发条件 同步被触发。例如,同步可以是基于批处理的,例如,在 每 N 个交易、基于时间的交易(例如每 10 个区块)或基于事件的交易(例如)发生 每当目标资产价格大幅变动时。 • 部分同步:这是可能的,并且在某些情况下是可取的(例如,对于 rollups, 部分同步可以减少延迟)以提供小数据的快速同步 状态量,可能仅定期执行完全同步。例如, exect 可以通过更新 SCa 中用户的余额来批准提款请求 无需另外更新 MAINCHAIN 状态。 6.4 重组 由于网络不稳定甚至 51% 攻击而导致的区块链重组 可能对主链的完整性构成威胁。在实践中,对手已经使用了 他们发起双花攻击[34]。虽然此类针对主要区块链的攻击 安装具有挑战性,但它们对于某些链条 [88] 仍然可行。 因为它独立于主链运行,所以 DON 提供了有趣的功能 观察并提供一些针对与相关重组相关的保护的可能性 攻击。 例如,DON 可以向主链上的依赖合约 SC 报告某个阈值长度 τ 的竞争分叉的存在。 DON 还可以 12 补充细节可见附录 B.2.1。他们不需要理解。

在 PoW 或 PoS 设置中提供此类分叉存在的证据。的 合约 SC 可以实施适当的防御行动,例如在一段时间内暂停进一步的交易执行(例如,允许交易所将双花列入黑名单) 资产)。请注意,尽管对手发起 51% 攻击可以寻求审查 来自 DON 的报告,SC 的一项对策是要求来自 DON 的定期报告 DON 为了处理交易(即心跳)或需要新的报告 验证高价值交易。 虽然此类分叉警报原则上是 DON 可以提供的一般服务 出于多种目的中的任何一个,我们的计划是将它们纳入 TEF。

Minimisation de la confiance

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

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

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

信任最小化

作为一个由一组异构实体参与的去中心化系统, Chainlink 网络在活性(可用性)和安全性(报告完整性)方面提供了针对故障的强大保护。然而,大多数去中心化系统在以下方面有所不同: 它们的组成部分本身分散的程度。这个 即使对于大型系统也是如此,矿工之间的权力下放有限 [32] 和 中介 [51] 早已存在。 任何去中心化努力的目标都是信任最小化:我们寻求减少 Chainlink 网络内系统性腐败或故障的不利影响,即使如此 由于恶意 DON。我们的指导原则是最小特权原则 [197]。 系统内的系统组件和参与者应具有严格范围内的权限 只允许成功完成分配给他们的角色。 这里我们列出了 Chainlink 在其驱动中采用的几种具体机制 走向更大程度的信任最小化。我们用以下术语来描述这些机制 基因座,即它们所扎根的系统组件,如图 14 所示。 解决相应小节中的每个基因座。 7.1 数据源认证 oracles 当前的操作模型受到以下事实的限制:数据源很少 对他们忽略的数据进行数字签名,很大程度上是因为 TLS 本身并不签名 数据。 TLS 确实在其“握手”协议中使用了数字签名(以建立 服务器和客户端之间的共享密钥)。因此启用 HTTPS 的服务器拥有证书 原则上可以用于签署数据的公钥,但它们通常不使用 这些证书支持数据签名。因此,DON 的安全性为 在当今的 oracle 网络中,依赖于 oracle 节点忠实地从数据中继数据 合同来源。 我们在 Chainlink 中实现信任最小化愿景的一个重要长期组成部分涉及通过支持数据签名工具和标准来加强数据源身份验证。数据签名可以帮助实施端到端的完整性保证。 原则上,如果合约接受由数据直接签名的一段数据 D 作为输入

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

图 14:本节讨论的信任最小化机制的轨迹。 1⃝数据 源向 2⃝DON 提供数据,该 2⃝DON 将数据功能中继到依赖项 3⃝smart contract。 此外,DON 或 oracle 网络包括 4⃝节点 主链上的管理 smart contracts,例如补偿节点、保护 导轨等。 源,则 oracle 网络无法切实篡改 D. 各种鼓励 实现此类数据签名的努力已经出现,其中包括 OpenID Connect,它 主要设计用于用户身份验证[9],TLS-N,一个学术项目,旨在 通过重新利用 TLS 证书和 TLS 证据扩展 [63] 来扩展 TLS [191]。 尽管 OpenID Connect 已经得到了一些采用,但是 TLS 证据扩展 和 TLS-N 尚未得到采用。 数据源身份验证的另一个潜在途径是使用发布者自己的 签名 HTTP 交换 (SXG) [230],它们可以将其缓存在内容交付网络上,作为加速移动页面 (AMP) 协议 [225] 的一部分。 Chrome 移动浏览器显示 AMP 缓存的 SXG 中的内容,就好像它们是从 他们的发布者自己的网络域而不是缓存服务器域。这种品牌激励,加上使用 CloudFlare 的 Real URL [83] 和 Google 的 amppackager [124] 等服务相对容易地启用它,可能会导致 SXG 在缓存的新闻内容中得到广泛采用,这将实现简单、防篡改的功能。 Chainlink oracles 触发有效 SXG 中报告的有新闻价值的事件的方式。 虽然来自新闻出版商的 AMP 缓存 SXG 对于快节奏内容没有用 像交易数据报告这样的应用程序,它们可以成为自定义的安全来源 与极端天气或选举结果等现实世界事件相关的合同。 我们相信简单的部署、成熟的工具和灵活性对于 加速数据源签名。使数据提供者能够使用 Chainlink 节点作为 经过身份验证的 API 前端似乎是一种很有前途的方法。我们打算创建一个节点在此模式下运行的选项,无论是否参与网络 作为一个成熟的oracle。我们将此功能称为经过身份验证的数据源 (阿杜)。通过将 Chainlink 节点与 ADO 结合使用,数据源将能够受益 来自 Chainlink 社区在添加数字方面的经验和开发的工具 为其现有的链外 API 套件提供签名功能。他们是否应该选择跑步 他们的节点为 oracles,他们还可以开辟潜在的新收入来源 与现有数据提供商采用相同的模型,例如 Kraken [28]、Kaiko [140],以及 其他运行 Chainlink 节点来在链上出售 API 数据。 7.1.1 经过身份验证的数据来源的局限性 数据源的数字签名虽然可以帮助加强身份验证,但其本身不足以实现 oracle 的所有自然安全或操作目标 网络。 首先,给定的数据 D 仍必须以稳健且及时的方式中继 从数据源到 smart contract 或其他数据使用者的方式。也就是说,即使在 理想的设置,其中所有数据都使用预编程为依赖项的密钥进行签名 合同,仍然需要 DON 来可靠地从来源传递数据 到合同。 此外,在许多情况下,合同或其他 oracle-数据 消费者希望访问经过身份验证的各种函数计算的输出 源数据主要有两个原因: • 保密性:数据源 API 可能提供敏感或专有数据 在链上公开可见之前需要对其进行编辑或清理。 然而,对签名数据的任何修改都会使签名无效。再放一个 这样,简单的 ADO 和数据清理是不兼容的。我们在示例 3 中展示 如何通过增强形式的 ADO 协调两者。 • 数据源故障:错误和故障都会影响数据源,而数字签名无法解决这两个问题。自 [98] 成立以来,Chainlink 已 已经包含了一种修复此类故障的机制:冗余。 oracle 网络发布的报告通常代表多个网络的组合数据 来源。 现在我们讨论在 ADO 设置中探索的方案,以增强源数据的机密性并安全地组合来自多个源的数据。 7.1.2 保密性 数据源可能无法预测并提供所需的全部 API 由用户。 具体来说,用户可能希望访问预处理的数据以帮助确保 保密性。下面的例子说明了这个问题。示例 3. Alice 希望获得去中心化身份 (DID) 凭证 她已年满 18 岁(例如,因此可以申请贷款)。要做的事 因此,她需要向 DID 凭证颁发者证明有关她年龄的事实。 Alice 希望使用她所在州机动车辆管理局 (DMV) 的数据 网站为此目的。 DMV 有她的出生日期记录,并将发出 其上的数字签名证明 A 的形式如下: A = {姓名:Alice,DoB:02/16/1999}。 在此示例中,证明 A 可能足以让 Alice 向 DID 证明 凭证颁发者表示她已超过 18 岁。但这不必要地泄露了敏感信息:Alice 的 确切的 DoB。理想情况下,Alice 希望 DMV 提供的是在 简单陈述 A',“Alice 已年满 18 岁”。换句话说,她想要的是 函数 G 在她的生日 X 上的输出,其中(非正式地),A′ = G(X) = True if 当前日期−X ≥18 年;否则,G(X) = False。 概括而言,Alice 希望能够从数据源请求签名的 证明 A′ 的形式: A′ = {名称:Alice,功能:G(X),结果:True}, 其中 G(X) 表示函数 G 及其输入 X 的规范。我们设想 用户应该能够提供所需的 G(X) 作为她的请求的输入 相应的证明A′。 请注意,数据源的证明 A′ 必须包含规范 G(X) 确保 A′ 被正确解释。在上面的例子中,G(X)定义了含义 A′ 中的布尔值,因此 True 表示证明的主题 已年满 18 岁。 我们将用户可以指定 G(X) 的灵活查询称为函数查询。 为了支持示例 3 中的用例以及涉及查询的用例 直接来自合约,我们打算包括对涉及的功能查询的支持 作为 ADO 一部分的简单函数 G。 7.1.3 合并源数据 为了降低链上成本,合约通常被设计为消耗组合数据 来自多个来源,如以下示例所示。 示例 4(价格数据中值化)。提供价格信息,即一个的价值 资产(例如,ETH)相对于另一种资产(例如,美元),oracle 网络通常会 从多种来源(例如交易所)获取当前价格。 oracle 网络 通常将这些值的中值发送给从属合约 SC。 在具有数据签名的环境中,正常运行的 oracle 网络可以获得 来自数据源 S = {S1, . 。 。 , SnS} 值序列 V = {v1, v2, . 。 。 , vnS} 来自 带有特定源签名的 nS 源 Σ = {σ1, σ2, . 。 。 ,σnS}。之上 验证签名后,它将价格 v = mid(V ) 传输给 SC。不幸的是,没有简单的方法让 oracle 网络传输中值 将示例 4 中的 v 值传递给 SC,并提供 v 计算正确的简洁证明 σ 过度签名的输入。 一种简单的方法是在 SC 中对所有 nS 数据源的公钥进行编码。 然后 oracle 网络将中继 (V, Σ) 并允许 SC 计算 V 的中值。 然而,这将导致证明 σ 的大小为 O(nS),即 σ 不会简洁。 它还会给 SC 带来高昂的 Gas 成本,因为 SC 需要验证中的所有签名 Σ。 相比之下,使用 SNARK 可以简洁地证明正确组合的经过身份验证的源值。在实践中可能可行,但要求相当高 证明者的计算成本,以及链上较高的天然气成本。使用 Town Crier 也是一种可能性,但需要使用 TEE,这并不适合所有人 用户的信任模型。 一个有用的概念是一种称为功能签名的加密工具,它可以解决对来自源的组合数据进行签名的一般问题。 [59, 132]。 简而言之,功能签名允许签名者委托签名能力,这样 受委托者只能对签名者选择的函数F范围内的消息进行签名。 我们在附录 D 中展示了这个功能约束如何用于限制范围 DON 发出的报告值作为数据源签名值的函数。 我们还引入了一种新的原语,称为离散函数签名,它包括对准确性的宽松要求,但可能具有更高的性能 比 SNARK 等方法更有效。 以包括源身份验证的方式组合数据源的问题 输出也适用于数据聚合器,例如 CoinCap、CoinMarketCap、CoinGecko、 CryptoCompare 等,它们从多个交易所获取数据, 基于体积的重量,使用他们在某些情况下公开的方法 在其他情况下是专有的。希望发布值的聚合器 源认证面临与节点聚合相同的挑战 源数据。 7.1.4 处理源数据 复杂的 smart contract 可能依赖于自定义聚合统计数据 主要数据源,例如许多资产近期价格历史的波动性,或 相关事件新闻中的文字和照片。 由于 DON 中的计算和带宽相对便宜,因此这些统计数据 — 即使是具有许多输入的复杂机器学习模型,也可以经济地进行处理,只要指定给 blockchain 的任何输出值都足够简洁。 对于计算密集型工作,DON 参与者可能有不同的 对于复杂输入的看法,可能需要 DON 参与者之间进行额外的沟通,以便在计算结果之前就输入达成共识。 只要最终值完全由输入决定,一旦建立输入共识,每个参与者就可以简单地计算该值并将其广播给其他参与者参与者的部分签名,或将其发送给聚合器。 7.2 DON 信任最小化 我们设想了两种主要方法来最大限度地减少对 DON 组件的信任: 故障转移客户端和少数派报告。 7.2.1 故障转移客户端 密码学和分布式系统文献中的对抗模型通常 考虑一个能够破坏(即损害)节点子集的对手, 例如,对于许多 BFT 协议来说,不到三分之一。然而,人们普遍观察到, 如果所有节点都运行相同的软件,那么识别出致命漏洞的对手就可以 原则上或多或少同时危害所有节点。这个设置经常 称为软件单一文化 [47]。 为了解决这个问题,已经提出了自动多样化软件和软件配置的各种建议,例如[47, 113]。如 [47] 中所述, 然而,软件多样性是一个复杂的问题,需要仔细考虑。例如,如果软件多样化,可能会导致比单一文化更糟糕的安全性 增加系统的攻击面,从而增加其可能的攻击向量 它提供的安全优势。 我们相信,对强大的故障转移客户端(即节点的客户端)的支持 可以在面对灾难性事件时进行转换——是一种特别有吸引力的形式 软件多样化。故障转移客户端不会增加潜在向量的数量 攻击,因为它们没有部署为主线软件。他们提供了明显的好处, 然而,作为第二道防线。我们打算在 DONs 中支持故障转移客户端 减少安全对单个客户端的依赖的关键方法。 Chainlink 已经建立了一个强大的故障转移客户端系统。我们的方法 涉及维护以前的、经过实战检验的客户端版本。例如,今天,以链外报告(OCR)作为主要客户端的 Chainlink 节点包括支持 如果需要,可用于 Chainlink 之前的 FluxMonitor 系统。已经使用了一些 目前,FluxMonitor 已经接受了安全审核和现场测试。它提供了相同的 OCR 等功能,只是成本较高——仅根据需要产生成本。 7.2.2 少数派报告 给定足够大的少数集 Ominority(观察到大多数人不法行为的诚实节点的一小部分),这对他们生成少数派可能会有所帮助 报告。这是一个并行报告或标志,转发到链上的依赖合约 SC 由少数派。 SC 可以根据其自己的合约特定策略来使用该标志。 例如,对于安全性比活性或响应性更重要的合同,少数报告可能会导致合同要求补充报告 来自另一个 DON,或触发断路器(请参阅下一节)。即使大多数人是诚实的,少数派报告也可以发挥重要作用, 因为任何报告聚合方案,即使它使用功能签名,也必须 以阈值方式操作,以确保针对 oracle 或数据故障的恢复能力。在 换句话说,必须能够根据以下人员的输入生成有效的报告: kS < nS oracles,对于某个阈值 kS。 这意味着损坏的 DON 有一些 通过在其中选择首选 kS 值来操纵报告值的自由度 nS 在 V 中由全套 oracle 报告,即使所有来源都是诚实的。 例如,假设在使用泛函的系统中 nS = 10 且 kS = 7 签名以验证 ETH 美元价格 V 上中位数的计算。 假设五个来源报告的价格为 \(500, while the other five report \)1000。 然后通过对最低 7 个报告进行中值化,DON 可以输出有效值 v = $500, 通过对最高值进行中值化,可以输出 v = $1000。 通过增强 DON 协议,使所有节点都知道哪些数据是 以及哪些数据用于构建报告,节点可以检测并标记 倾向于一组报告而不是另一组报告的统计显着趋势,并产生 结果是一份少数派报告。 7.3 护栏 我们针对 DON 的信任模型将主链视为更高安全性、更高特权 系统比DONs。 (虽然这种信任模型可能并不总是成立,但它更容易 使生成的机制适应 DON 具有更高安全性的情况 平台,反之亦然。) 因此,自然的信任最小化策略涉及在 smart contract 中实施监控和故障安全机制——无论是在主链前端 对于 DON 或直接在从属合同 SC 中。我们将这些机制称为 护栏,并在此列举一些最重要的: • 断路器:SC 可以根据状态更新本身的特征(例如,顺序更新之间的较大差异)暂停或停止状态更新。 报告)或基于其他输入。例如,断路器可能会跳闸 oracle 报告随时间变化令人难以置信的情况。断路器可能 也会被少数派报告绊倒。因此,断路器可以防止 DONs 以免做出严重错误的报告。 断路器可以为考虑额外干预措施提供时间 或锻炼。其中一种干预措施是逃生舱口。 • 逃生舱口:在不利情况下,由一组托管人、社区 token 持有者或其他受托人团体确定,合同可以援引 有时称为逃生舱口 [163] 的紧急设施。逃生舱口 导致 SC 以某种方式关闭和/或终止挂起,并且可能 未来的交易。例如,它可能会将托管资金返还给用户[17]),可以终止合同条款[162],或者可以取消待处理和/或未来的交易[173]。逃生舱口可以部署在任何类型的合同中,而不仅仅是 依赖于 DON 的一个,但它们作为潜在的缓冲区很有趣 DON 渎职行为。 • 故障转移:在 SC 依赖 DON 提供基本服务的系统中,SC 可以提供故障转移机制来确保服务连续性,即使 在 DON 失败或行为不当的情况下。例如,在 TEF(第 6 节)中, 锚定合约SCa可以提供双接口,链上和链上都可以 某些关键操作支持链外执行接口(例如, 提款),或对于普通交易,有适当的延迟以防止 DON 交易的抢先交易。在数据源签署数据的情况下,用户可以 当 DON 未能这样做时,还需向 SCa 提供报告。 欺诈证明,如针对各种形式的乐观 rollup 所提议的(参见第 6.3 节), 与我们上面列举的机制相似且互补。他们 也提供了一种形式的链上监控和保护,防止潜在的故障 链下系统组件。 7.4 信任最小化治理 与所有去中心化系统一样,Chainlink 网络需要治理机制 随着时间的推移调整参数、响应紧急情况并指导其演变。 其中一些机制目前驻留在主链上,并且可能会继续存在 即使部署了 DONs,也要这样做。支付机制就是一个例子 对于 oracle 节点提供商(DON 节点)。 DON 主链上的前端合约 包含额外的机制,例如护栏,可能会受到定期检查 修改。 我们预见了两类治理机制:进化机制和紧急机制。 进化治理: 对 Chainlink 生态系统的许多修改是 这样它们的实施就不是一个紧迫的问题:性能改进, 功能增强、(非紧急)安全升级等。随着 Chainlink 逐渐吸引更多参与者参与其治理,我们预计许多或 大多数此类更改均需由受这些影响的特定 DON 社区批准 变化。在此期间,也许最终作为一个并行机制,我们相信 暂时最小特权的概念可以成为实施进化治理的有用手段。很简单,这个想法是逐步部署变革,确保 社区有机会回应他们。例如,迁移到新的 MAINCHAIN 合约可以受到约束,因此必须部署新合约 激活前至少三十天。应急治理: MAINCHAIN 中可利用或被利用的漏洞 合同或其他形式的活动或安全故障可能需要立即干预,以确保避免灾难性后果。我们的目的是支持多重签名 干预机制,以确保防止任何组织的不当行为, 签名者将分散在各个组织中。确保签名者的一致性可用性 并及时联系适当的指挥系统以授权紧急情况 变革显然需要仔细的运营规划和定期审查。这些 挑战与测试其他网络安全事件响应所涉及的挑战类似 能力 [134],具有类似的需要来解决常见问题,例如警惕性降低 [223]。 DONs 的治理不同于许多去中心化系统的治理 潜在的异质性程度。每个 DON 可能具有不同的数据源、可执行文件、服务级别要求(例如正常运行时间)和用户。 Chainlink 网络的 治理机制必须足够灵活,以适应这些变化 运营目标和参数。我们正在积极探索设计思路并计划 将来发表有关该主题的研究。 7.5 公钥基础设施 随着权力下放的逐步推进,将需要对 网络参与者,包括 DON 节点。特别是,Chainlink 需要强大的 公钥基础设施 (PKI)。 PKI 是将密钥与身份绑定的系统。对于 例如,PKI 巩固了互联网的安全连接系统 (TLS): 您通过 HTTPS(例如 https://www.chainlinklabs.com)连接到网站,并且 浏览器中出现锁,这意味着域所有者的公钥已被锁定 已通过权威机构(具体来说,通过数字签名)与该所有者绑定 所谓的证书。证书颁发机构 (CA) 的分层系统,其顶级根颁发机构硬连线到流行的浏览器中,有助于确保证书 仅颁发给域名的合法所有者。 我们预计 Chainlink 最终将使用去中心化的名称服务, 最初是 Ethereum 名称服务 (ENS) [22],作为我们 PKI 的基础。作为 顾名思义,ENS 类似于 DNS,即映射的域名系统 (人类可读的)域名到互联网上的 IP 地址。然而,ENS 将人类可读的 Ethereum 名称映射到 blockchain 地址。因为ENS 在 Ethereum blockchain 上运行,禁止密钥泄露、篡改其 原则上命名空间与篡改管理它的合约一样困难 和/或底层 blockchain。 (相比之下,DNS 历史上一直很脆弱 欺骗、劫持和其他攻击。) 我们已在 Ethereum 主网上向 ENS 注册了 data.eth,并打算 将其建立为根命名空间,在该根命名空间下 oracle 数据服务和 其他 Chainlink 网络实体驻留。 ENS 中的域是分层的,这意味着每个域都可能包含引用 其下的其他名称。 ENS 中的子域名可以作为组织和委托信任。 data.eth 的主要作用是作为链上目录服务 数据馈送。传统上,oracle 的开发者和用户使用链外资源 (例如,docs.chain.link 或 data.chain.link 等网站,或社交网络,例如 Twitter)发布并获取 oracle 数据源地址(例如 ETH-USD 价格 饲料)。使用高度可信的根命名空间(例如 data.eth),可以建立 eth-usd.data.eth 到例如 smart contract 地址的映射 用于 ETH-USD 价格反馈的链上 oracle 网络聚合器。这会 为任何人创建一条安全路径,将 blockchain 作为事实来源 该价格/名称对 (ETH-USD) 的数据源。因此,ENS 的这种使用 实现了链下数据源无法实现的两个好处: • 强大的安全性:对域的所有更改和更新都被永久记录 并以加密方式进行保护,而不是网站上的文本地址,这 不享有这两个安全属性。 • 自动链上传播:更新数据源的 smart contract 的底层地址可以触发传播到依赖智能的通知。 合同,例如可以自动更新相关合同 新地址.13 然而,像 ENS 这样的命名空间不会自动验证合法所有权 断言的名称。因此,例如,如果名称空间包含条目 ⟨“Acme Oracle Node Co.”,addr⟩, 那么用户就可以保证 addr 属于名称为 Acme 的声明者 Oracle Node Co. 没有围绕命名空间管理的额外机制, 然而,她无法保证该名称合法属于某个实体 在现实世界中,我们将其称为 Acme Oracle Node Co.。 我们验证名称的方法,即确保相应的、合法的现实世界实体拥有它们的所有权,依赖于几个组件。今天,Chainlink 实验室 实际上充当 Chainlink 网络的 CA。虽然 Chainlink 实验室将继续 为了验证名称,我们的 PKI 将通过两种方式演变成更加去中心化的模型: • 信任网络模型:分层 PKI 的去中心化版本通常被称为信任网络。14 自 20 世纪 90 年代以来就已经提出了各种变体, 例如,[98],并且许多研究人员观察到 blockchain 可以通过以全局一致的方式记录证书来促进该想法的使用,例如 [227] 分类帐。我们正在探索该模型的变体来验证实体的身份 以更加去中心化的方式存在于 Chainlink 网络中。 13从属合同可以选择包括预定的延迟,以允许手动检查 以及依赖合同管理员的干预。 14 Phil Zimmermann 为 PGP [238] 创造的术语。• 与验证数据的链接:如今,大量oracle 节点性能数据在链上可见,因此存档绑定到节点地址。 此类数据可被视为通过提供其(可靠)参与网络的历史证据来丰富 PKI 中的身份。另外,工具 用于基于 DECO 和 Town Crier [160] 启用节点的去中心化身份 积累来自现实世界数据的凭证。仅举一个例子, 节点操作员可以将凭证附加到其 PKI 身份以证明拥有权 邓白氏评级。这些补充形式的验证可以 补充 staking 以确保网络安全。具有既定现实世界身份的 oracle 节点可能被视为拥有权益 在一个源于其声誉的系统中。 (参见第 4.3 节和第 9.6.3 节。) Chainlink PKI 的最终要求是安全引导,即安全地 发布 Chainlink 网络的根名称,当前为 data.eth (类似地 到浏览器中顶级域的硬连线)。换句话说,Chainlink 用户如何 确定 data.eth 确实是与 Chainlink 关联的顶级域 项目? Chainlink 网络解决这个问题的方法是多管齐下的 可能涉及: • 将 TXT 记录 [224] 添加到指定的 chain.link 域记录中 data.eth 作为 Chainlink 生态系统的根域。 (Chainlink 因此隐式利用互联网域的 PKI 来验证其根 ENS 域。) • 从 Chainlink 的现有网站链接到 data.eth,例如来自 https://docs.chain.link. (另一种隐式使用 PKI 的互联网域。) • 通过各种文档(包括本白皮书)让人们了解 data.eth 的使用。 • 在我们的社交媒体渠道(例如 Twitter)上公开发布 data.eth,以及 Chainlink 博客 [18]。 • 将大量LINK置于同一注册者地址的控制之下 作为 data.eth。

DON Considérations relatives au déploiement

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

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

DON 部署注意事项

虽然不是我们核心设计的一部分,但有几个重要的技术考虑因素 实现 DON 值得在这里处理。

8.1 推出方法 本文提出了先进 Chainlink 功能的雄心勃勃的愿景,其 实现这一目标需要解决沿途的许多挑战。本白皮书 指出了一些挑战,但肯定会出现意想不到的挑战。 我们计划以渐进的方式实施这一愿景的要素 延长的一段时间。 我们的期望是 DONs 最初将与 支持由内部团队协作构建的特定预构建组件 Chainlink 社区。目的是更广泛地使用 DONs,例如能够 启动任意可执行文件,稍后会看到支持。 如此谨慎的原因之一是 smart contract 的组成可能会产生复杂的、意想不到的和危险的副作用,因为最近基于闪电贷的攻击已经 例如[127, 189]所示。同样,smart contract、适配器和 可执行文件需要格外小心。 在 DONs 的初始部署中,我们计划仅包含一组预构建的模板化可执行文件和适配器。这将使成分安全性的研究成为可能 使用形式化方法 [46, 170] 和其他方法来构建这些功能。它将 还简化了定价:功能定价可以由 DON 节点在功能基础上建立,而不是通过通用计量(采用的一种方法) 例如,[156]。我们还期望 Chainlink 社区参与创建 额外的模板,将各种适配器和可执行文件组合成越来越多的 有用的去中心化服务可以由数百甚至数千个人运行 DONs。 此外,这种方法可以帮助防止状态膨胀,即需要 DON 节点在工作内存中保留无法工作的状态量。这个问题是 已经在无许可的 blockchain 中出现,激励诸如“无状态 客户”(例如,参见 [206])。在吞吐量较高的系统中,它可能会更加严重,从而激励 DON 仅部署状态大小优化的可执行文件的方法。 随着 DON 的发展和成熟,并包括第 7 节中讨论的强大护栏、第 9 节中讨论的加密经济和基于声誉的安全机制,以及为 DON 用户提供高度保证的其他功能,我们 还期望开发一个框架和工具,以促进更广泛的启动和使用 社区的 DONs。理想情况下,这些工具将支持节点运营商的集合 作为一个 oracle 网络聚集在一起,并在未经许可的情况下启动他们自己的 DON 或自助服务方式,这意味着他们可以单方面这样做。 8.2 动态 DON 会员资格 运行给定 DON 的节点集可能会随时间而变化。有两种方法 给定 O 中的动态成员资格的 skL 的密钥管理。 第一个是在成员资格发生变化时更新节点持有的 skL 份额, 同时保持 pkL 不变。 [41,161,198]中探讨的这种方法具有以下优点 不要求依赖方更新 pkL。[122] 中介绍的共享重新共享的经典技术提供了一种简单的方法 以及实现此类共享更新的有效方法。它可以传输秘密 在一组节点 O(1) 和第二组节点之间,可能与一个 O(2) 相交。在这个 方法,每个节点 O(1) 我 执行 (k(2), n(2)) 秘密共享其秘密共享 n(2) = |O(2)| 的 O(2) 中的节点和期望的(可能是新的)阈值 k(2)。各种可验证秘密共享 (VSS) 方案 [108] 可以针对以下对手提供安全保护: 主动破坏节点,即在协议中引入恶意行为。 [161] 中的技术旨在做到这一点,同时降低通信复杂性并提供 针对密码硬度假设失败的弹性。 第二种方法是更新账本密钥 pkL。这样做的好处是可以向前推进 安全性:pkL 的旧份额(即前委员会节点)不会受到损害 导致当前密钥的泄露。然而,pkL 的更新有两个缺点: (1) 在 pkL 下加密的数据需要在密钥刷新期间重新加密,并且 (2) 密钥更新需要传播给依赖方。 我们打算探索这两种方法以及两者的混合。 8.3 DON 责任 与现有的 Chainlink oracle 网络一样,DON 将包括问责机制,即记录、监控和强制执行正确的节点行为。 DONs 将有 比许多现有的无需许可的 blockchain 拥有更多的数据容量, 特别是考虑到它们连接到外部分散存储的能力。因此,他们将能够详细记录节点的性能历史记录,从而允许 更细粒度的问责机制。例如,链外计算 资产价格可能涉及在发送中值结果之前被丢弃的输入 链。在 DON 中,可以记录这些中间结果。因此,DON 中各个节点的不当行为或性能失误可以在 DON 以细粒度的方式。我们还讨论了构建方法 第 7.3 节中的防护栏解决了系统故障的特定于合约的影响。 然而,为 DON 本身提供故障安全机制也很重要, 即针对系统性、潜在灾难性 DON 故障的保护,特别是 正如我们现在所解释的,分叉/模棱两可和服务级别协议 (SLA) 失败。 分叉/模棱两可: 给定足够多的故障节点,DON 可以分叉 或模棱两可,在 L 中产生两个不同的、不一致的块或块序列。 然而,因为 DON 对 L 的内容进行数字签名,所以可以利用 主链 MAINCHAIN 来防止和/或惩罚模棱两可。 DON 可以定期检查主链上审计合约中 L 的状态。 如果其未来状态偏离检查点状态,用户/审计员可以提供证据 审计合同中的这种不当行为。此类证据可用于生成警报 或者通过合约中的削减来惩罚 DON 节点。后一种方法引入了 类似于特定 oracle feed 的激励设计问题,并且可以建立在 我们的工作在第 9 节中概述。执行服务级别协议: 虽然 DONs 并不一定意味着 无限期运行,遵守服务级别协议 (SLA) 非常重要 与他们的用户。在主链上可以执行基本的 SLA。例如, DON 节点可能承诺维护 DON 直到某个日期,或提前提供服务终止通知(例如,提前三个月通知)。合同于 MAINCHAIN 可以提供基本的加密经济 SLA 执行。 例如,如果检查点是,SLA 合约可以削减 DON 存入的资金 未按要求的时间间隔提供。用户可以存入资金并质疑 DON 证明检查点正确地表示一系列有效块(以某种方式 类似于,例如[141])。当然,出块并不等于交易 处理,但 SLA 合同也可以用于执行后者。例如,在 FSS 的传统兼容版本,其中交易从内存池中获取(参见第 5.2 节),交易最终被挖掘并放置在链上。一个用户 可以通过向 SLA 合约提供以下交易来证明 DON 渎职行为: 已开采,但未由 DON 传输以供目标合约处理 在适当的时间间隔内。15 还可以证明更细粒度的 SLA 的存在并对其进行惩罚 失败,包括使用可执行文件的计算错误(例如,通过机制 用于证明第 6.3 节中概述的正确的链下状态交易)或运行失败 基于 DON 上可见的启动器的可执行文件,无法将 DON 上的数据中继到 及时进行MAINCHAIN等等。

Économie et cryptoéconomie

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

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

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

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

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

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

经济学和加密经济学

为了让 Chainlink 网络在去中心化信任模型中实现强大的安全性, 节点共同表现出正确的行为至关重要,这意味着它们遵守 大多数时候完全符合 DON 协议。在本节中,我们讨论方法 通过经济激励(又名加密经济)来帮助实施这种行为 激励措施。 这些激励分为两类:显性激励和隐性激励 分别通过 staking 和未来费用机会 (FFO)。 质押: 与其他 blockchain 系统一样,在 Chainlink 中进行质押涉及网络参与者,即 oracle 节点,以 LINK token 的形式存入锁定资金。这些 资金,我们也称为股权或显性股权,是一种显性激励。他们 因节点故障或不当行为而被没收。在 blockchain 上下文中, 这个过程通常被称为削减。 然而,Chainlink 中 oracle 节点的质押与 staking 有根本不同 由 validators 在未经许可的 blockchains 中编写。验证者可能会通过模棱两可或对抗性地排序交易来做出不当行为。 底层共识协议 15由于用户可以替换内存池中的交易,因此需要注意确保挖掘的交易和 DON 提交的交易之间的正确对应。不过,无需许可的 blockchain 使用严格快速的块验证规则和加密原语来防止 validator 生成无效块。相比之下, 程序保护无法阻止作弊 oracle 网络生成 无效报告。原因是两种类型的系统之间的一个关键区别:blockchains 中的事务验证是内部一致性的属性,而正确性 关于 blockchain 的 oracle 报告是外部数据(即链下数据)的属性。 我们为基于 Chainlink 的网络设计了初步的 staking 机制 基于可能使用外部数据的 oracle 节点之间的交互协议。这个 机制使用明确的奖励和措施为正确的行为创造经济激励 处罚(削减)。由于该机制是经济的,因此旨在防止节点 对手使用金融资源通过以下方式腐败节点: 贿赂。 (这样的对手是非常普遍的,并且可以扩展到例如与 从他们的集体不当行为中获取价值。) 我们设计的Chainlink staking机制具有一些强大且新颖的功能 16 主要的此类特征是超线性 staking 影响(具体来说,二次影响)。 对手所拥有的资源必须远远超过节点存入的资金 从而达到颠覆机制的目的。我们的 staking 机制还提供了针对比之前在类似系统中考虑的更强大对手的保护,即 一个可以根据节点未来行为进行贿赂的对手。此外,我们还讨论了 Chainlink 工具(例如 DECO)如何帮助加强我们的 staking 通过在节点行为出现故障的情况下促进正确裁决的机制。 未来费用机会(FFO): 两个 PoW 的未经许可的 blockchains 和 PoS 多样性——如今严重依赖我们所说的隐性激励。这些是 对诚实行为的经济激励不是来自明确的奖励,而是来自 从平台参与本身来看。例如,Bitcoin 矿工社区受到激励,不会发起 51% 攻击,因为这可能会破坏人们对比特币的信心。 Bitcoin,压低其价值,从而侵蚀其集体的价值 采矿基础设施资本投资[150]。 Chainlink 网络受益于我们提到的类似隐性激励 作为未来费用机会(FFO)。具有良好性能历史记录的 Oracle 节点或 声誉会吸引用户付费。 oracle 节点的不当行为会危及未来 费用支付,从而以潜在的机会成本来惩罚节点 通过参与网络获得的收入。与显性权益类比, FFO 可以被视为一种隐性股权形式,是对诚实行为的激励, 源于对平台保持信心的共同利益 节点运营商的业务取决于节点运营商的积极绩效和声誉 网络。这种激励是 Chainlink 网络所固有的,但没有明确表达 协议。在 Bitcoin 中,维持上述采矿作业的价值 16我们在此描述的 staking 机制目前仅旨在强制提供正确的报告 由 oracle 网络提供。我们希望在未来的工作中对其进行扩展,以确保许多任务的正确执行 DONs 将提供的其他功能。同样可以被视为隐性股权的一种形式。 我们强调 FFO 已存在于 Chainlink 中并有助于保护网络 今天。我们对 Chainlink 进一步发展的主要贡献将是一种有原则的、经验驱动的方法,通过以下方式评估 FFO 等隐性激励: 我们称之为隐性激励框架(IIF)。估计数量,例如 节点未来的收费机会,IIF将持续借鉴综合 Chainlink 网络收集的绩效和付款数据。这样的估计 将启用反映节点激励的 staking 系统基于 IIF 的参数化 比当前的启发式和/或静态模型具有更高的准确性。 总结一下,正确的 oracle 节点的两个主要经济激励措施 正在发展的 Chainlink 网络中的行为将是: • 质押(存入的质押) 哦 明确的激励 • 未来收费机会 (FFO) 哦 隐性激励 这两种形式的激励是相辅相成的。 Oracle节点可以同时 参与 Chainlink staking 协议,享受持续的收入来源 用户,并从他们持续的良好行为中集体受益。因此这两种激励措施 为 oracle 网络提供的加密经济安全做出贡献。另外, 这两种激励措施可以相互加强和/或相互抵消。例如, 没有业绩历史记录和收入来源的新 oracle 运营商可以抵押 大量的LINK作为诚实行为的保证,从而吸引用户 和费用。相反,一个已建立的 oracle 运算符具有长且相对无故障的 性能历史记录可能会向大量用户收取大量费用,因此依赖 更重视 FFO 作为隐性激励的一种形式。 一般来说,我们在这里考虑的方法旨在实现给定量的 oracle-网络 资源以在 Chainlink 中创造最大可能的经济激励 代理——即最大化其财务效用的节点——诚实行事。再放一个 方式,目标是最大化对手攻击所需的金融资源 网络成功。通过数学上良好地制定 staking 协议 定义经济安全并使用 IIF,我们的目标是衡量经济实力 Chainlink 的激励措施尽可能准确。依赖合约的创建者将 然后能够充满信心地确定 oracle 网络是否满足 他们所需的加密经济安全级别。 经济安全的良性循环: 我们在本节中讨论的激励措施 staking 和 FFO 的影响超出了其增强安全性的范围 DONs。它们承诺会引发我们所说的经济安全的良性循环。 超线性 staking 影响(和其他规模经济)导致运营成本降低 随着 DON 安全性的增长而增加成本。较低的成本吸引更多用户使用 DON,增加费用支付。费用支付的增加继续刺激行业的增长 网络,形成良性循环。 我们认为,经济安全的良性循环只是一个例子 规模经济和网络效应等,我们将在本节后面讨论。 部门组织:质押给以下组织带来了显着的技术和概念挑战 我们设计了一种具有新颖功能的机制。因此,质押将是 我们本节的主要重点。 我们在第 9.1 节中概述了本文中介绍的 staking 方法,然后在第 9.2 节到第 9.5 节中进行了详细讨论。我们介绍 IFF 在第 9.6 节中。我们在第 9.7 节中总结了 Chainlink 网络激励措施。 在第 9.8 节中,我们讨论了我们提出的 staking 方法可以给 oracle 网络带来的经济安全的良性循环。最后,我们简单描述一下其他的潜力 影响第 9.9 节中 Chainlink 网络的增长。 9.1 质押概览 如上所述,我们在这里介绍的 staking 机制设计涉及 oracle 节点之间的交互协议,允许解决 外部数据报告。质押旨在确保理性 oracle 节点的诚实行为。因此,我们可以将攻击 staking 协议的对手建模为 行贿者:对手的策略是利用经济激励来腐蚀 oracle 节点。 对手可能会通过成功篡改来获取未来的金融资源 带有 oracle 报告,例如,提出与损坏的节点分享由此产生的利润。 我们的 staking 机制设计同时致力于实现两个雄心勃勃的目标: 1. 抵御强大的对手:staking机制旨在保护 oracle 网络针对广泛的对手,这些对手能够进行复杂的、 有条件的贿赂策略,包括提供贿赂的预期贿赂 至 oracle ,其身份是在事后确定的(例如,向 随机选择 oracles 进行高优先级警报)。而其他 oracle 设计 考虑了一组狭窄的攻击,但没有实际的全部功能 对手,据我们所知,我们引入的对抗机制 这是第一个明确阐述一系列广泛的贿赂策略并表明 该模型中的电阻。我们的模型假设除了攻击者之外的节点 经济上理性的(相对于诚实的),我们假设存在一个 对于典型使用来说价格昂贵但可用的事实来源 如有分歧(下文进一步讨论)。 2. 实现超线性staking影响: 我们的目标是确保由理性代理组成的 oracle 网络报告 即使存在预算超线性的攻击者,也能如实进行整个网络存入的总权益。在现有的 staking 系统中,如果 每个 n 个节点都持有 $d,攻击者可以发出可信的贿赂请求 节点以不诚实的行为换取略高于 \(d to each node, using a total budget of about \)dn。这已经是一个很高的标准了 攻击者必须拥有相当于存款总和的流动预算 网络中的所有利益相关者。我们的目标是更强的经济安全 这已经是一个很大的障碍了。我们的目标是设计第一个 staking 系统 可以通过 n 的预算超线性实现一般攻击者的安全性。 虽然实际考虑可能会产生较小的影响,但正如我们下面讨论的, 我们的初步设计达到了对抗性预算要求大于 $dn2/2,即以 n 为单位进行二次缩放,即使行贿行为在很大程度上也是不切实际的 当节点仅抵押适量时。 实现这两个目标需要激励设计的创新组合 和密码学。 主要想法: 我们的 staking 方法取决于我们称之为“看门狗优先”的想法。 由 Chainlink oracle 网络生成并发送到依赖合约的报告 (例如,资产价格)是从参与节点贡献的各个报告中汇总的(例如,通过取中位数)。通常是服务级别协议 (SLA) 指定报告偏差的可接受范围,即节点的报告可以走多远 与汇总报告的偏差以及应允许汇总报告的偏差程度 偏离真实值才被认为是正确的。 在我们的 staking 系统中,对于给定的报告轮次,每个 oracle 节点可以充当 如果监管机构认为汇总报告不正确,则会发出警报。在每个 在报告轮中,每个 oracle 节点都被分配一个公共优先级,该优先级决定了 其警报(如果有)的处理顺序。我们的机制旨在奖励 集中度,这意味着发出警报的最高优先级的看门狗将获得 没收故障节点的存款所产生的全部奖励。 我们的 staking 系统设计涉及两层:第一层,默认层,第二层, 后挡板层。第一层是 oracle 网络本身,一组 n 个节点。 (为简单起见, 我们假设 n 是奇数。)如果大多数节点报告不正确的值,则 第一层有强烈的动机发出警报。如果发出警报,则报告 然后网络的决策被升级到第二层——一个高成本、最大可靠性的系统,可以由用户在网络服务级别协议中指定。 例如,这可能是一个仅由具有强大功能的节点组成的系统 历史可靠性分数,或者其数量级大于 oracles 第一层。此外,如第 9.4.3 节中所述,DECO 或 Town Crier 可以服务 作为强大的工具,帮助确保第二层的高效和结论性裁决。 为了简单起见,我们假设第二层系统得出了正确的报告 值。 虽然仅依靠第二层来生成所有报告似乎很有吸引力, 我们设计的好处是它始终如一地实现了在典型情况下,只需支付第二层系统的运营成本 第一层系统。 看门狗优先级会通过以下方式产生超线性 staking 影响:如果 第一层 oracle 网络输出错误结果和多个看门狗节点 警报,staking 激励机制奖励最高优先级的看门狗 从(大多数)行为不当节点的存款中提取的金额超过 $dn/2。的 因此,总奖励集中在这个单一看门狗手中,因此 确定对手必须承诺潜在看门狗的最低限度 激励它不发出警报。由于我们的机制确保每个 oracle 都获得 如果更高优先级的监管机构接受了贿赂,则有机会担任监管机构 (并且选择不发出警报),因此对手必须提供超过 $dn/2 到每个节点以防止引发任何警报。由于有n个节点, 对手成功行贿所需的预算超过 dn2/2 美元,其中 是网络中节点数量 n 的二次方。 9.2 背景 我们对 staking 的方法借鉴了博弈论和机制领域的研究 设计 (MD)(有关教科书参考,请参阅 [177])。博弈论是数学上的 战略互动的正式研究。在这种情况下,游戏就是这样的模型 一种交互,通常是在现实世界中,将可用的操作集编纂成 游戏的参与者,称为玩家。博弈还指定了所获得的收益 由个别玩家决定——奖励取决于玩家选择的行动和 其他玩家的行动。也许是游戏中研究的最著名的游戏例子 理论是囚徒困境[178]。博弈论学家通常旨在理解 给定博弈中所代表的均衡或均衡(如果有)。平衡是 一组策略(每个玩家一个),这样没有一个玩家可以获得更高的分数 单方面偏离其战略所带来的回报。 与此同时,机制设计是设计激励措施的科学,使得 交互(及其相关博弈)的平衡具有一些理想的特性。 MD 可以被视为博弈论的逆:博弈中的典型问题 理论是,“给定激励和模型,均衡将会是什么?”在马里兰州, 相反,问题是“什么激励措施会导致博弈达到理想的均衡?” 机制设计者的一个典型目标是创建一个“激励兼容”机制,这意味着该机制的参与者(例如,拍卖或其他信息) 启发系统[228])被激励去报告某些事情的真相(例如,如何 他们非常看重某个特定的物品)。维克里(第二价)拍卖也许是 最著名的激励兼容机制,其中参与者提交密封投标 对于某件商品,出价最高者赢得该商品,但支付第二高的价格 [214]。加密经济学是 MD 的一种特定领域形式,它利用密码学 在去中心化系统中创造理想平衡的技术。 贿赂和共谋给整个医学博士领域带来了重大挑战。几乎所有的机制都会在共谋的存在下崩溃,共谋被定义为附带合同。参与机制的各方之间 [125, 130]。贿赂是指外部一方在游戏中引入新颖的激励措施,这提出了一个更棘手的问题 比串通更重要;串通可以被视为游戏行贿的特例 参与者。 区块链系统通常可以被概念化为具有货币(基于加密货币)回报的游戏。一个简单的例子是工作量证明挖矿:矿工有一个行动空间 他们可以选择 hash 速率来开采区块。挖矿的回报是有保证的负奖励(电力和设备成本)加上随机 正奖励(挖矿补贴)取决于其他活跃矿工的数量 [106, 172] 和交易费用。像 SchellingCoin [68] 这样的众包 oracle 是另一个例子:操作空间是 oracle 可能发送的一组可能的报告,而 收益是 oracle 机制指定的奖励,例如,付款可能取决于 oracle 的报告与其他报告的中位数有多接近 [26, 68, 119, 185]。 区块链游戏为串通和贿赂攻击提供了成熟的机会;确实, smart contracts 甚至可以促进此类攻击 [96, 165]。也许最有名的 对众包 oracle 的贿赂攻击是 p-plus-epsilon 攻击 [67]。这次攻击 出现在类似 SchellingCoin 的机制中,在该机制中,玩家提交布尔值报告(即假或真),如果他们同意,则获得 p 奖励 多数提交。 在 p-plus-epsilon 攻击中,攻击者可信地承诺: 例如,当且仅当多数提交为真时,才向投票错误的用户支付 $p + ϵ 费用。 结果是一种均衡,其中所有参与者都被激励报告虚假信息 无论其他玩家做什么;因此,行贿者可以诱导节点 通过其承诺的贿赂举报虚假信息,而无需实际支付贿赂(!)。 然而,在 oracle 背景下(特别是非众包的 oracle )对其他贿赂策略的探索仅限于相当弱的对抗性 模型。例如,在 PoW 环境中,研究人员研究了结果偶然性 贿赂,即只有在目标消息被成功审查并且没有被审查的情况下才行贿。 出现在一个区块中,无论单个矿工的行为如何[96, 165]。在这种情况下 然而,除了 p-plus-epsilon 攻击之外,我们只知道 oracles 中的工作 一种严格限制的贿赂模式,其中行贿者以以下条件进行贿赂: 个人玩家的行动,而不是最终的结果。 在这里,我们概述了保持激励的信息获取机制的设计 即使在强对抗模型中也是兼容的,如下一小节所述。 9.3 建模假设 在本小节中,我们将解释如何对玩家的行为和能力进行建模 我们的系统,特别是第一层 oracle 节点,第二层节点(裁决) 层和对手。9.3.1 第一层激励模型:理性参与者 许多 blockchain 系统的安全性依赖于一定数量诚实的假设 参与节点。如果节点遵循协议,则被定义为诚实的 当这样做不符合他们的经济利益时。通常是工作量证明系统 需要大多数 hash 权力才能诚实,权益证明系统通常需要所有参与权益的 2/3 或更多才能诚实,甚至像这样的第 2 层系统 仲裁 [141] 需要至少一个诚实的参与者。 在我们的 staking 机制建模中,我们做出了一个更弱的假设。 (成为 清晰、较弱的假设意味着更强的安全属性,因此更可取。)我们假设对手已经腐败,即控制了一些(少数) 第一层 oracle 节点的一部分。我们将其余节点建模为不诚实的代理, 而是作为理性预期效用最大化者。这些节点完全根据自利的财务激励措施行事,选择导致预期财务的行动 增益。例如,如果一个节点收到的贿赂金额大于其所获得的奖励 行为诚实,就会收受贿赂。 关于对抗节点的注意事项: 根据常见的信任建模 去中心化系统中,我们假设所有节点都是理性的,即寻求最大化 净收入,而不是被恶意对手控制。然而我们的主张—— 特别是超线性或二次 staking 影响——渐近地保持 对于某些正的情况,对抗性控制的节点集至多为 (1/2 −c)n 常数 c. 9.3.2 第二层裁决模型:假设的正确性 回想一下,我们的 staking 机制的一个关键功能有助于实现安全性 对抗理性节点的是它的第二层系统。 在我们提出的 staking 机制中,任何 oracle 都可能发出警报,表明 它认为该机制的输出是不正确的。警报会带来高度信任 第二层系统激活并报告正确的结果。因此,关键建模 我们的方法的要求是正确的裁决,即正确的报告 第二层系统。 我们的 staking 模型假设第二层系统充当廉洁、最可靠的事实来源。这样的系统可能既昂贵又缓慢,因此 不适合用于典型情况。然而,在平衡情况下,即当 第一层系统正常工作,第二层系统不会被调用。 相反,它的存在通过提供一个增强了整个 oracle 系统的安全性 高保证的后盾。 使用高信任度、高成本的裁决层类似于上诉流程 大多数司法系统的核心。它在 oracle 的设计中也很常见 系统,例如[119, 185]。我们简要讨论第二层的实现方法 在我们第 9.4.3 节的机制中。我们的 staking 协议使用第二层系统的假设正确裁决作为可信威胁,强制执行 oracle 节点的正确报告。协议 没收 oracle 节点的部分或全部权益,这些节点生成由 第二层系统不正确。从而阻止 Oracle 节点出现不当行为 由此产生的经济处罚。这种方法在风格上类似于 乐观的 rollups,例如 [141, 10]。 9.3.3 对抗模型 我们的 staking 机制旨在获取真实信息,同时实现针对广泛、明确类别的对手的安全。它改进了以前的作品, 它要么省略明确的对抗模型,要么专注于对手的狭窄子类,例如上面讨论的 p+epsilon 对手。我们的目标是设计一个 staking 具有正式证明的安全机制,可以抵御各种对手 实践中会遇到。 我们将对手建模为具有固定(可参数化)预算,表示为 $B。对手可以与每个 oracle 进行单独且保密的通信 网络,并可以秘密向任何个人 oracle 提供贿赂保证 取决于该机制的可公开观察的结果。结果决定 例如,贿赂可以包括 oracle 报告的价值、任何公共消息 由任何 oracle 发送到该机制(例如,警报),其他报告的值 oracles,以及机制输出的值。 没有任何机制可以抵御具有无限能力的攻击者。因此,我们认为某些行为不切实际或超出范围。我们假设我们的攻击者 不能破坏标准加密原语,并且如上所述,有一个固定的(如果 可能很大)预算$B。我们进一步假设对手无法控制 oracle 网络中的通信,特别是它不能大幅延迟 第一层和/或第二层节点之间的流量。 (对手是否可以观察到这种通信取决于特定的机制,我们将在下面解释。) 然而,非正式地,如上所述,我们假设对手可以: (1) 腐败 oracle 节点的一部分((1/2 −c)-某个常数 c 的分数),即完全控制 (2) 向任何想要的节点提供贿赂,并保证付款 如上所述,取决于对手指定的结果。 虽然我们没有提供对手完整的正式模型或完整分类 本白皮书中列出了一系列贿赂能力,以下是各种类型的示例 我们的模型涵盖了行贿者。为了简单起见,我们假设 oracles 发出布尔值 报告其正确值 (w.l.o.g.) 为 true,并且最终结果计算为 消费 smart contract 使用的这些报告的汇总。行贿者的 目标是最终结果不正确,即错误。 • 无条件贿赂者:贿赂者向任何报告虚假信息的oracle 提供贿赂$b。 • 概率贿赂者:贿赂者以某种概率 q 向任何 oracle 提供贿赂 $b 报告错误。• 以虚假结果为条件的行贿者:行贿者向任何报告虚假信息的oracle 行贿$b,只要最终结果是虚假的。 • 无警报条件的行贿者:行贿者向任何举报的oracle 提供贿赂$b 只要没有发出警报,就为 false。 • p-plus-epsilon 贿赂者:贿赂者向任何报告错误的 oracle 提供贿赂 $b 只要大多数 oracle 不报告虚假信息即可。 • 潜在行贿者:行贿者提前向选定的 oracle 行贿 $b 对于随机角色并报告错误。在我们提出的 staking 协议中,所有 节点充当潜在的看门狗,我们能够证明随机化 监管机构的优先事项并不适合潜在的贿赂。许多工作量证明、proof-of-stake 和许可系统都容易受到预期影响 然而,贿赂表明了在我们的对手中考虑这一问题的重要性 模型并确保我们的 staking 协议能够适应它。参见附录E 了解更多详情。 9.3.4 多少加密经济安全才足够? 理性的对手只有在能够获取利润的情况下才会花钱攻击系统 大于其支出。 因此,对于我们的对抗模型和提议的 staking 机制中,$B 可以被视为对手能够获得的潜在利润的衡量标准 通过破坏 oracle 网络并导致其从依赖 smart contract 中提取 生成不正确的报告或一组报告。在决定是否存在 oracle 网络时 为其目的提供足够程度的加密经济安全性,用户应该 从这个角度来评估网络。 对于实际环境中看似合理的对手,我们预计 $B 通常会是 远小于依赖 smart contract 的总资产。在大多数情况下,它 对手不可能全部提取这些资产。 9.4 质押机制:草图 在这里,我们介绍了staking机制的主要思想和总体结构。 目前正在考虑。 为了便于演示,我们描述了一个简单但缓慢的 本小节中的(多轮)协议。但我们注意到,这个方案相当 实用。鉴于该机制提供的经济保证,即对故障节点的惩罚和随之而来的激励,许多用户可能愿意 乐观地接受报告。换句话说,此类用户可以在之前接受报告 可能由第二层进行裁决。 不愿意乐观接受报告的用户可以选择等待协议 执行终止,即直到发生任何潜在的升级到第二层的情况。这个, 然而,这会大大减慢报告的确认时间。因此我们简单地图 15:带警报的 staking 方案示意图。在这个例子中,1⃝多数 的节点被损坏/贿赂并发出不正确的值〜r,而不是正确的值 报告值河看门狗节点2⃝向二级委员会发送警报, 3⃝确定并发出正确的报告值r,导致节点损坏 没收他们的存款——每 d 美元交给看门狗节点 4⃝。 概述一些优化,这些优化会导致更快(单轮)(如果更多的话) 第 9.5 节中的复杂设计。 回想一下,我们的 staking 机制中的第一层由基本的 oracle 组成。 网络本身。 如上所述,我们机制的主要结构是在每一轮中, 每个节点都可以充当具有一定优先级的“看门狗”,因此它有能力 如果该机制得到不正确的输出,而不是正确的输出,则发出警报 奥恩河此警报会导致第二层解决方案,我们假设达到了正确的结果 报告。报告不正确的节点会受到惩罚,因为他们的权益 削减并奖励给监管机构。这种基本结构在 oracle 系统中很常见, 例如,[119, 185]。 我们设计中的关键创新,如上面简要提到的,是每个节点都是 在潜在看门狗的排序中分配了不同的优先级。也就是看门狗 有机会按优先顺序发出警报。回想一下,如果一个节点有 发出警报的最高优先级,每次不当行为都会收到减少的押金 $d 节点,总共超过 \(dn/2 = \)d × n/2,因为不正确的报告意味着 大多数坏节点。因此,对手必须至少支付这个奖励 贿赂任意节点。因此,要贿赂大多数节点,对手必须支付 对大多数节点进行大额贿赂,即严格超过 $dn2/2。 我们在图 15 中示意性地展示了警报和看门狗升级的工作原理。9.4.1 进一步的机制细节 我们现在更详细描述的反贿赂系统是一个简化的草图 我们打算建造的两层建筑。我们的大部分重点将放在描述 第一层网络(以下简称“网络”,从上下文中可以清楚地看出) 及其激励机制和升级到第二层的程序。 考虑一个由 n 个 oracle 节点组成的 Chainlink 网络,这些节点负责 定期(例如,每分钟一次)报告布尔值(例如,市场是否 BTC 的市值超过了 ETH)。作为 staking 机制的一部分,节点 必须提供两笔押金:押金 $d 如有分歧,将被削减 多数和看门狗押金 $dw 会在出现故障时被削减 升级。我们假设节点无法复制其他节点的提交,例如, 通过第 5.3 节中讨论的提交-显示方案。每轮中,节点优先 提交他们的报告,一旦所有节点都已提交(或超时已过期), 节点公布他们的报告。 对于要生成的每个报告,每个节点还被赋予随机选择的 1 到 n 之间的看门狗优先级,其中 1 为最高优先级。该优先级使 奖励集中在一个看门狗手中。所有报告公开后, 随后进入警报阶段。在一系列 n(同步)轮中,节点 优先级 i 有机会在第一轮中发出警报。 让我们考虑一下节点揭示后该机制可能产生的结果 他们的报告。再次假设二进制报告,假设正确的值为 true 并且 不正确的是假的。还假设第一层机制输出 节点输出的多数值作为最终报告r。 该机制可能产生三种结果: • 完全一致:在最好的情况下,节点完全一致:所有节点 可用并已提供相同值 r 的及时报告(无论是真实的 或假)。在这种情况下,网络只需将 r 转发给依赖合约 并用固定的每轮支付 $p 奖励每个节点,该支付要小得多 比 $d。 • 部分一致:有可能某些节点处于离线状态,或者对于哪个值正确存在分歧,但大多数节点报告真实,并且只有一个 少数报告虚假。这个案例也很简单。多数值 (true) 被计算,产生正确的报告 r。所有报告 r 的节点都是 奖励 $p,而报告错误的 oracle 则拥有存款 适度削减,例如削减 10 美元。 • 警报:如果看门狗认为网络输出不正确, 它公开触发警报,将该机制升级到第二层网络。 那么就有两种可能的结果: – 正确警报:如果第二层网络确认图 16:通过集中警报奖励放大行贿者的成本。行贿 对手必须用超过其通过警报获得的奖励来贿赂每个节点 (显示为红色条)。如果警报奖励是共享的,那么这个奖励可能会相对 小。集中的警报奖励增加了任何单个节点可能获得的奖励 获得(高红色条)。因此,对手为可行的贿赂支付的总金额 (灰色区域)集中的警报奖励比共享的警报奖励大得多。 第一层网络错误,报警看门狗节点获得奖励 包括所有削减的存款,因此超过 $dn/2。 – 错误警报:如果第二层和第一层 oracle 一致,则升级 被认为有故障,并且警报节点失去 $dw 押金。 在乐观接受报告的情况下,看门狗警报不会导致 依赖合同执行的任何变化。对于旨在等待的合同 第二层委员会可能进行仲裁,监管机构发出延迟警报,但 不要冻结合同执行。合同也可以指定一个 裁决期间的故障转移 DON。 9.4.2 二次质押影响 每个节点都可以充当看门狗,并结合严格的节点优先级 确保集中奖励,使该机制实现二次staking 第 9.3.3 节中描述的每种贿赂攻击者的影响。回想一下,这个 具体来说,在我们的设置中,对于具有 n 个节点的网络,每个节点都有存款 $d,成功的贿赂者(上述任何一种)的预算必须大于 $dn2/2。 准确地说,行贿者必须至少破坏 (n+1)/2 个节点,因为行贿者必须 损坏大多数 n 个节点(对于奇数 n,根据假设)。因此,看门狗代表 获得 $d(n + 1)/2 的奖励。因此,行贿者必须向每个人支付这笔金额节点以确保没有人充当看门狗。我们正在努力正式证明,如果 行贿者的预算至多为 $d(n2 + n)/2,则子博弈完美均衡 行贿者和 oracle 之间的博弈——换句话说,平衡点为 游戏进行期间的任何一点——行贿者不得行贿,并且 每个 oracle 诚实地报告其真实值。 我们在上面已经解释了成功的行贿者如何可能需要 预算明显大于节点存款总和。为了说明这一点 直观的结果,图 16 以图形方式显示了集中警报奖励的影响。 正如我们所看到的,如果监管机构警报的奖励——即受贿的存款 报告错误的节点)—分为所有潜在警报,即警报的总量 任何单独的警报节点预计都会相对较小,大约为 $d。 行贿者知道不可能支付超过 d 美元的款项,因此可以使用 一个虚假结果的有条件贿赂,贿赂 n 个节点中的每一个节点,其金额略高于 $d + ϵ。 与直觉相反,图 16 显示了一个广泛分配奖励的系统 发出警报的节点之间的强度远弱于集中奖励的节点 单一看门狗的手中。 参数示例: 考虑一个(第一层)网络,其中 n = 100 个节点,每个节点 存入 \(d = \)20K。该网络将总共存入 200 万美元,但 免受预算为 \(100M = \)dn2/2 的贿赂。增加数量 当然,oracles 比增加 $d 更有效,并且可以产生戏剧性的效果: 具有 n = 300 个节点和存款 \(d = \)20K 的网络将受到保护 预算高达 9 亿美元的行贿者。 请注意,staking 系统在许多情况下可以保护代表 smart contract 的 比提供的贿赂保护水平更有价值。这是因为对手 在许多情况下,攻击这些合约并不能获取全部价值。例如,一个 Chainlink 支持价值 10 亿美元的合约可能只需要针对 拥有 1 亿美元资源的贿赂者,因为这样的对手可以切实地获取利润 仅占合同价值的10%。 注意: 网络的价值可以呈二次方增长的想法表达为 众所周知的梅特卡夫定律 [167, 235],该定律指出网络的价值 连接实体的数量呈二次方增长。然而,梅特卡夫定律 来自潜在成对网络连接数量的增长,这是与我们激励中潜在的二次 staking 影响不同的现象 机制。 9.4.3 第二层的实现 两个操作特性有助于实现高可靠性第二层:(1) 二级裁决在 oracle 网络中应该是罕见的事件,因此可以 比第一层正常运行的成本要高得多,并且 (2) 假设乐观地接受的报告——或可以等待仲裁执行的合同—— 第二层不需要实时执行。 这些功能导致了一系列 第二层的配置选项以满足特定 DONs 的要求。 作为示例方法,第二层委员会可以由由 DON(即第一层)来自 Chainlink 中服务时间最长且最可靠的节点 网络。运营商除了拥有丰富的相关运营经验外, 的此类节点在 FFO 中具有相当大的隐性激励,从而激发了欲望 确保 Chainlink 网络保持高度可靠。他们还公开 可用的性能历史记录可提供其可靠性的透明度。值得注意的是,第二层节点不必是第一层网络的参与者,并且 可以裁决多个第一层网络的故障。 给定 DON 中的节点可以预先指定并公开提交一组 n' 这样的 节点构成该 DON 的第二级委员会。此外,DON 节点发布一个参数k′≤n′,该参数决定第二层投票的数量 需要惩罚第一层节点。当针对给定报告生成警报时, 第二层成员对每个人提供的值的正确性进行投票 第一层节点。任何收到 k′ 反对票的第一层节点将丧失其地位 存款到看门狗节点。 由于审判和延长执行时间的机会很少 如上所述,与第一层相比,第二层中的节点可以: 1. 因审判而获得高额报酬。 2. 利用额外的数据源,甚至超出第一层使用的各种数据源。 3. 依靠人工和/或专家检查和干预,例如识别和 协调源数据中的错误并区分诚实节点中继 错误的数据和行为不当的节点。 我们强调,我们刚才描述的选择第二层节点和政策管理裁决的方法仅代表了一个大问题中的一个点。 第二层可能实现的设计空间。我们的激励机制提供 关于如何实现第二层的完全灵活性。因此,各个 DON 可以 为满足特定要求的第二层制定并制定规则 以及参与节点和用户的期望。 DECO 和 Town Crier 作为裁决工具: 对于第二层来说这是必不可少的 在我们的机制中能够区分敌对的第一层节点 故意产生不正确的报告和无意中诚实的第一层节点 中继源处不正确的数据。只有这样第二层才能实现 削减是为了抑制作弊行为,这是我们机制的目标。德科和城市公告员 是强大的工具,可以使第二层节点做出这一关键区分 可靠。第二层节点在某些情况下可能能够直接查询所使用的数据源 由第一层节点或使用ADO第7.1节来检查是否有错误的报告 由错误的数据源导致。然而,在其他情况下,第二层节点可能缺乏 直接访问第一层节点的数据源。在这种情况下,正确的判决将 似乎不可行或需要依赖主观判断。上一页 oracle 争议系统依赖于低效且不断升级的投票来解决此类问题 挑战。 然而,使用 DECO 或 Town Crier,第一层节点可以证明正确的行为 到第二层节点。 (有关这两个系统的详细信息,请参见第 3.6.2 节。)具体来说,如果 第二层节点将第一层节点识别为输出了错误的报告值~r, 第一层节点可以使用DECO或Town Crier来生成防篡改证据 第二层节点正确地从(启用 TLS 的)源正确中继 〜r 被 DON 认可为权威。至关重要的是,第一层节点可以做到这一点 无需需要直接访问数据源的第二层节点。 17 因此, 对于任何所需的数据源,正确的裁决在 Chainlink 中都是可行的。 9.4.4 误报保险 我们的staking机制实现的强大反贿赂从根本上依赖于 削减奖励给警报者的资金。如果没有金钱奖励,警报者就会 没有拒绝贿赂的直接动机。然而,其结果是,削减的资金并没有 可用于补偿因错误报告而受到伤害的用户,例如损失金钱的用户 当错误的价格数据转发到 smart contract 时。 根据假设,如果报告被接受,不正确的报告不会造成问题。 仅在可能的裁决(即第二层采取行动)之后签订合同。正如所解释的 不过,为了实现最佳性能,合约可能会依赖 对执行正确报告的机制持乐观态度,这意味着他们接受 在潜在的二级裁决之前进行报告。 确实如此乐观的行为 在我们的模型中假设理性对手的预算不超过预算是安全的 staking 该机制的影响。 用户担心由于以下原因而导致的不太可能发生的机制故障: 例如,拥有压倒性金融资源的对手可能希望以误报保险的形式采用额外的经济安全层。我们知道 多家保险公司已经打算提供此类智能合约支持的保单 在不久的将来,针对 Chainlink 安全协议,包括通过 DAOs 等创新机制,例如 [7]。 Chainlink 的性能历史记录是否存在 节点和有关节点的其他数据(例如其权益金额)为风险精算评估提供了异常坚实的基础,从而可以为政策定价 以对投保人来说成本低廉但对保险公司来说可持续的方式。 17借助 Town Crier,第一层节点还可以在本地生成证明 他们输出的报告的正确性,并向网络上的第二层节点提供这些证明 按需基础上。误报保险的基本形式可以在值得信赖和 使用 smart contracts 的有效方式。举个简单的例子,参数保险 如果我们的激励机制有效,合同 SCins 可以自动补偿保单持有人 第二层标识第一层生成的报告中的错误。 希望购买保险的用户U,例如目标的创建者 SC 合约,可以向去中心化保险公司提交保单金额请求 合同金额为 M 美元。在批准 U 后,保险公司可以设置持续的(例如每月) SCins 中 $P 的溢价。当 U 支付保费时,她的保单仍然有效。 如果 SC 发生报告失败,结果将是一对 (r1, r2) 的发射 SC 的冲突报告,其中 r1 由我们机制中的第一层签名, r2,相应的更正报告,由第二层签署。如果U提供 这样一个有效的 SCins 对 (r1, r2),合约会自动向她支付 M 美元,前提是 她的保费是最新的。 9.5 单轮变体 上一小节中描述的协议要求第二层委员会等待 n 轮以确定看门狗是否发出警报。 这个 即使在乐观的情况下,即当第一层运行时,要求也成立 正确。对于不愿意乐观地接受报告的用户,即在潜在的 裁决,与该方法相关的拖延是行不通的。 出于这个原因,我们也在探索只需要一个的替代协议 圆形。在这种方法中,所有 oracle 节点提交秘密位,指示是否 他们希望发出警报。然后,第二层委员会检查这些值 优先顺序。为了提供一个粗略的草图,这样的方案可能涉及以下内容 步骤: 1.看门狗位提交:每个节点Oi秘密共享一位看门狗值 对于它生成的每个报告,第二层中的节点之间 wi 属于{无警报,警报}。 2. 匿名提示:任何oracle节点都可以在提交看门狗位的同一轮中向二级委员会提交匿名提示α。这个提示α 是一条消息,指示已针对当前报告发出警报。 3. 看门狗位检查:第二层委员会揭示oracle节点的看门狗 按优先级顺序排列的位。 请注意,节点在不发出警报时不得发送警报看门狗位:否则,流量分析会显示所有节点的位。该协议确实显示无警报 优先级高于最高优先级警报看门狗的节点的看门狗位。 观察到所揭示的内容与我们的 n 轮协议相同。奖励的分配也与该方案相同,即第一个识别的看门狗 收到提交错误报告的节点的被削减的存款。使用匿名提示使二级委员会能够在没有发出警报的情况下保持非互动,从而降低沟通复杂性 在常见情况下。请注意,任何提出警报的监管机构都有提交匿名举报的经济动机:如果没有提交举报,则不会向任何人支付任何奖励 节点。 确保匿名提示 α 的发送者 Oi 不能被 根据网络数据,攻击者可以通过匿名方式发送匿名提示 通道,例如通过 Tor,或者更实际地,通过云服务提供商代理。至 验证 Tip 源自 O,Oi 可以使用环签名对 α 进行签名 [39, 192]。 或者,为了防止恶意 oracle 节点对第二层委员会进行不可归因的拒绝服务攻击,α 可以是一个匿名凭证, 可撤销的匿名[73]。 该协议虽然实际上是可以实现的,但具有一定的重量级工程 要求(我们正在探索减少的方法)。以第一层节点为例, 必须直接与第二层节点通信,需要维护目录。对匿名通道和环签名的需求增加了工程量 方案的复杂性。最后,简要讨论了一个特殊的信任要求 在下面的注释中。因此,我们也在探索更简单的方案,但仍能实现 超线性 staking 影响,但可能小于二次影响,例如,行贿者渐近需要至少 $n log n 的资源。以下的一些计划 考虑因素涉及随机选择节点的严格子集作为看门狗, 在这种情况下,潜在的贿赂就成为一种特别有力的攻击。 备注: 这种单轮 staking 机制的安全性需要不可攻克 oracle 和第二层节点之间的通道——这是抗强制系统的标准要求,例如投票 [82, 138],并且在实践中是合理的。 然而,此外,寻求与行贿者合作的节点 Oi 可以构建 其秘密共享的方式是向行贿者表明它已对特定的内容进行了编码 值。例如,如果 Oi 不知道行贿者控制哪些节点,那么 Oi 可以 向所有委员会成员提交 0 值股票。然后行贿者可以验证 Oi 的 概率上的合规性。为了避免在任何单轮协议中出现这个问题,我们 要求 Oi 知道至少一个诚实的第二层节点的身份。 使用交互式协议,其中每个第二层节点添加随机化 股份的因素,行贿者能做的最好的事情就是强制 Oi 随机选择 看门狗位。 9.6 隐性激励框架(IIF) FFO 是对 Chainlink 网络中正确行为的隐性激励的一种形式。它 其功能类似于显性权益(即存款),因为它有助于加强经济安全 网络。换句话说,FFO 应包含在(有效)存款中 网络中节点的$d。问题是:我们如何衡量 FFO 和其他形式的隐性激励 在 Chainlink 网络内? 隐性激励框架(IIF)是一套 我们计划为此目的开发的原则和技术。区块链系统 提供多种形式前所未有的透明度,以及节点的高信任记录 他们创造的业绩是我们实现 IIF 如何运作的愿景的跳板。 在这里,我们非常简要地概述了 IIF 关键要素的想法。 IIF 本身将包含一系列我们认为在评估中重要的因素 隐性激励,以及以高保证形式发布相关数据以供分析算法使用的机制。不同的 Chainlink 用户可能 希望以不同的方式使用 IIF,例如,对不同的因素给予不同的权重。 我们期望社区中出现分析服务,帮助用户应用 IIF 根据他们个人的风险评估偏好,我们的目标是促进 通过确保他们获得高可信度和及时的支持数据来提供此类服务, 正如我们下面讨论的(第 9.6.4 节)。 9.6.1 未来的收费机会 节点参与 Chainlink 生态系统,以赚取网络为我们在本文中描述的任何各种服务支付的费用的一部分,从 将普通数据馈送到高级服务,例如去中心化身份、公平排序、 和保密DeFi。 Chainlink 网络中的费用支持节点运营商的成本,例如运行服务器、获取必要的数据许可证和维护 全球员工确保高正常运行时间。 FFO 表示扣除费用后的服务费, 节点在未来会获得收益,或者如果表现出错误行为则会损失。 FFO 是一种有助于保护网络安全的权益形式。 FFO 的一个有用功能是链上数据(由链下数据补充) 数据)建立节点历史的高信任记录,从而实现 FFO 的计算 以透明的、经验驱动的方式。 FFO 的一个简单的一阶度量可以从一个企业的平均净收入中得出 一段时间内的节点(即总收入减去运营费用)。 FFO 可能 然后计算为,例如,累计未来净收入的净现值[114], 换句话说,所有未来收益的时间贴现值。 然而,节点收入可能会波动,如图 17 所示。 更重要的是,节点收入可能不会遵循平稳的分布 随着时间的推移。因此,我们计划在估算 FFO 时探索的其他因素包括: • 绩效历史记录:操作员的绩效历史记录(包括其报告的正确性和及时性以及正常运行时间)提供了一个目标 为用户评价其可靠性的试金石。 因此,性能历史将 为用户选择 oracle 节点提供一个关键因素(或者,随着出现 DONs,他们选择的 DONs)。强劲的业绩历史可能会 与高额持续收入相关。18 18我们打算解决的一个重要研究问题是伪造服务量的检测。图 17:Chainlink 节点在单个数据源 (ETH-USD) 期间赚取的收入 2021 年 3 月具有代表性的一周。 • 数据访问:虽然oracles 可以从开放API 获取多种形式的数据, 某些形式的数据或某些高质量来源可能仅在 认购基础上或通过合同协议。对某些内容的特权访问 数据源可以在创造稳定的收入流方面发挥作用。 • DON 参与:随着 DON 的出现,节点社区将会出现 共同提供特定服务。我们预计许多 DON 将包括 选择性地运营商,参与信誉良好的 DONs 作为 优越的市场地位有助于确保稳定的收入来源。 • 跨平台活动:一些节点运营商可能在其他环境中拥有良好的存在和绩效跟踪记录,例如 PoS validators 或 非 blockchain 上下文中的数据提供者。它们在这些其他系统中的表现(当其数据以可信形式提供时)可以为评估提供信息 他们的表演历史。同样,Chainlink 网络中的错误行为 可能会通过赶走用户(即 FFO)来危及这些其他系统的收入 可以跨平台扩展。 9.6.2 投机性 FFO 节点运营商参与 Chainlink 网络不仅仅是为了从中获得收入 运营,而是创造并定位自己,以利用新的机会来开展工作。换句话说,网络中 oracle 节点的支出也是 关于 DeFi 和其他智能合约应用的未来的积极声明 域以及 oracle 网络的新兴非 blockchain 应用。如今,节点运营商赚取现有 Chainlink 网络上可用的费用,同时 这些与互联网网站上的虚假评论大致相似,只不过问题在 oracle 设置,因为我们有关于货物(即报告)是否已订购和是否已订购的最终记录。 交付——与在网上商店订购的实物商品不同。换句话说,在 oracle 中 即使无法验证客户的真实性,也可以验证性能。建立声誉、业绩历史和运营专业知识,以定位 他们有利于赚取未来网络中可用的费用(当然, 诚实行为)。今天在 Chainlink 生态系统中运行的节点将在此 感觉比新人在赚取额外 Chainlink 费用方面有优势 服务变得可用。这一优势适用于新运营商,以及享有盛誉的科技公司;例如,T-Systems,一个传统的 技术提供商(德国电信的子公司)和 Kraken(一家大型中心化公司) 交换,已在 Chainlink 生态系统中建立了早期存在 [28, 143]。 oracle 节点对未来机会的这种参与可能被视为本身 作为一种投机性 FFO,因此构成 Chainlink 的一种股权形式 网络。 9.6.3 外部声誉 正如我们所描述的,IIF 可以在严格假名的网络中运行 运营商,即不披露所涉及的人员或现实世界实体。 然而,用户选择提供商的一个潜在重要因素是外部因素。 声誉。外部声誉是指对现实世界身份而非假名的可信度的感知。声誉风险 现实世界的身份可以被视为隐性激励的一种形式。我们看信誉 通过 IIF 的视角,即在加密经济学意义上,作为建立 可能会纳入 FFO 估算的跨平台活动。 使用外部声誉作为 FFO 估计因素的好处,而不是 与假名链接相比,外部声誉不仅与绩效相关 运营商现有的活动,也包括未来的活动。例如,如果声誉不好 依附于一个人,它可能会污染这个人未来的企业。换句话说,与假名相比,外部声誉可以捕获更广泛的 FFO 绩效记录,作为个人或既定的不当行为的影响 与假名操作相比,公司更难逃脱。 Chainlink 与去中心化身份技术(第 4.3 节)兼容, 可以为 IIF 中外部声誉的使用提供支持。此类技术 可以验证并从而帮助确保运营商声称的现实世界的准确性 身份.19 9.6.4 开放 IIF 分析 正如我们所指出的,IIF 旨在为以下领域提供可靠的开源数据和工具: 隐性激励分析。 目标是使社区内的提供者能够 开发适合不同部门风险评估需求的分析 Chainlink 用户群。 19如果需要的话,去中心化的身份凭证还可以用经过验证的假名来修饰假名。 补充信息。例如,节点运营商原则上可以使用此类凭证来 证明它是一家财富 500 强公司,但没有透露是哪一家。大量关于节点收益和性能的历史数据 以高度信任、不可变的形式驻留在链上。然而,我们的目标是提供 最全面的可能数据,包括仅在外部可见的行为数据 链,例如链外报告 (OCR) 或 DON 活动。此类数据有可能 内容要丰富。存储它并确保其完整性的最佳方法,即保护它免受 我们相信,篡改将在 DONs 的帮助下,使用所讨论的技术 在第 3.3 节中。 有些激励措施适合直接的衡量形式,例如 staking 存款和基本 FFO。其他的,例如投机性 FFO 和声誉,则更难 以客观的方式进行衡量,但我们认为支持数据的形式,包括 Chainlink 生态系统的历史增长、社交媒体声誉指标等, 即使对于这些难以量化的元素,也可以支持 IIF 分析模型。 我们可以想象专门的 DON 专门用于监视、验证和 记录与节点的链外性能记录相关的数据,以及其他数据 在 IIF 中使用,例如经过验证的身份信息。这些 DON 可以为任何为 Chainlink 社区提供服务的分析提供商提供统一、高信任度的 IIF 数据。 他们还将提供黄金记录,让分析提供商声称 由社区独立验证。 9.7 综合起来:节点运营商激励 综合我们上面关于节点运营商的显性和隐性激励的讨论 提供节点运营商参与并从中受益的方式的整体视图 Chainlink 网络。 作为概念指南,我们可以通过给定的 Chainlink 来表示所涉及的总资产 节点运算符 $S 的粗略、程式化形式如下: \(S ≈\)D + \(F + \)FS + $R, 其中: • $D 是所有网络中所有明确存入的权益的总和,其中 经营者参与; • $F 是所有网络中所有 FFO 总和的净现值 运营商参与的; • $FS 是运营商的投机FFO 的净现值;和 • $R 是Chainlink 生态系统之外的运营商的声誉资产 其 oracle 节点中发现的不当行为可能会危及这一点。 虽然主要是概念性的,但这种粗略的等式有助于表明存在有多种经济因素有利于 Chainlink 节点的高可靠性性能。 除 $D 之外的所有这些因素都存在于当今的 Chainlink 网络中。9.8 经济安全的良性循环 超线性 staking 影响与费用支付表示的结合 因为 IIF 中的未来费用机会 (FFO) 可以带来我们所说的良性循环 oracle 网络中的经济安全。这可以看作是一种经济 规模。随着特定网络保护的总量增加, 增加固定数量的经济安全所需的额外股份会随着增加而减少 每个用户的平均成本。因此,就费用而言,用户加入更便宜 一个已经存在的网络比实现同样的网络经济增长 通过创建新网络来确保安全。重要的是,每个新用户的添加都会降低 该网络所有先前用户的服务成本。 给定特定的费用结构(例如,质押金额的特定收益率), 如果网络赚取的总费用增加,就会刺激额外的流量 投入网络以更高的速度保护网络。具体来说,如果总权益 单个节点在系统中的持有量是有上限的,那么当新的费用支付时 进入系统,提高其FFO,节点数n将增加。感谢 超线性 staking 我们激励制度设计的影响,经济安全 系统将比 n 上升得更快,例如,我们在第 9.4 节中概述的机制中为 n2。 因此,经济安全的平均成本,即贡献的股份数量 一美元的经济安全——将会下降。因此,网络可以向用户收费 较低的费用。假设对 oracle 服务的需求是有弹性的(例如,参见 [31] 了解简要信息) 解释),需求将会上升,产生额外费用和 FFO。 我们用下面的例子来说明这一点。 示例 5. 由于 oracle 网络在我们的激励下具有经济安全性 方案为\(dn2 for stake \)dn,一美元的权益所贡献的经济安全 是 n,因此每美元经济安全的平均成本——即股权数量 对一美元经济安全的贡献是 1/n。 考虑一个网络,其中经济激励完全由 FFO 组成,上限为 每个节点 \(d ≤\)10K。假设网络有 n = 3 个节点。那么平均成本 每美元的经济安全约为 0.33 美元。 假设网络的总 FFO 上升到 \(30K (e.g., to \)31K 以上。给定 每个节点 FFO 的上限,网络增长到(至少)n = 4。现在平均成本 每美元的经济安全下降至约 0.25 美元。 我们在图 18 中示意性地说明了 oracle 网络中经济安全的完整良性循环。 我们强调经济安全的良性循环源于 用户汇集费用。 正是他们的集体 FFO 有利于更大的 网络规模,从而提高集体安全性。我们还注意到,良性循环 经济安全有利于 DON 实现财务可持续性。曾经 创建的、满足用户需求的 DON 应该增长到并超过 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

图 18:Chainlink staking 的良性循环示意图。使用费上涨 向 oracle 网络支付 1⃝ 使其增长,从而导致其经济增长 安全2⃝。这种超线性增长在 Chainlink 网络中实现了规模经济 3⃝。具体来说,它意味着经济安全平均成本的降低,即 由费用支付或其他股权来源产生的每美元经济安全 增加。降低成本,转嫁给用户,刺激对 oracle 的需求增加 服务4⃝。 9.9 推动网络增长的其他因素 随着 Chainlink 生态系统的不断扩大,我们相信它的吸引力 对用户的重要性以及作为 blockchain 经济基础设施的重要性将会加速。 oracle 网络提供的值是超线性的,这意味着它增长得更快比网络本身的规模更大。 这种价值的增长来自于 规模经济——随着服务量的增加,每个用户的成本效率更高——以及 网络效应——随着用户更广泛地采用 DON,网络效用增加。 随着现有的 smart contract 继续获得更多价值和全新价值 smart contract 应用程序通过更加去中心化的服务而成为可能, DON 的使用和支付的总费用应该会增加。 增加收费池 转变为创造更加去中心化服务的手段和激励, 从而形成良性循环。 这种良性循环解决了关键的先有鸡还是先有蛋的问题 混合 smart contract 生态系统中的问题:创新 smart contract 功能 通常需要尚不存在的去中心化服务(例如,新的 DeFi 市场通常 需要新的数据源)但需要足够的经济需求才能存在。 各个 smart contract 对现有 DON 的费用汇集将表明对 来自不断增长的用户群的额外去中心化服务,从而催生了它们的诞生 由 DONs 和不断启用新的和多样化的混合 smart contracts。 综上所述,我们认为网络安全的增长是由良性的驱动的 Chainlink staking 机制中的循环体现了更大的增长模式 Chainlink 网络可以帮助实现去中心化的链上经济 服务。

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

Conclusion

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

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

结论

在本文中,我们提出了 Chainlink 的演变愿景。主题 在这一愿景中,oracle 网络有能力为以下用户提供更广泛的服务: smart contracts 比单纯的数据传输。使用 DON 作为未来去中心化服务的基础,Chainlink 将致力于提供高性能、保密性增强的 oracle 功能。其 oracle 网络将提供强大的信任最小化 通过结合原则性的加密经济机制,例如 staking 和 精心设计的护栏和依赖主链的服务水平执行。 DONs 还将帮助第 2 层系统对交易执行灵活、公平的排序策略,并降低内存池路由交易的 Gas 成本。综合起来, 这些功能都朝着安全且功能丰富的混合智能方向发展 合同。 DON 的灵活性将增强现有的 Chainlink 服务并带来 许多附加的 smart contract 功能和应用程序。其中,无缝衔接 连接到各种链下系统,去中心化身份创建 现有数据、优先渠道有助于确保及时交付关键基础设施 交易和保密 DeFi 工具。 我们在这里提出的愿景是雄心勃勃的。在短期内,我们寻求增强能力 混合合同来实现目前 smart contract 无法实现的目标,同时 从长远来看,我们的目标是实现去中心化的元层。庆幸的是我们可以画画 新工具和想法——从共识算法到零知识证明 系统——社区正在开发该系统,作为快速发展的研究的成果。

同样,我们希望优先实施本文中的想法作为回应 满足 Chainlink 用户社区的需求。我们期待下一阶段 我们寻求通过通用连接来增强 smart contract 的能力并建立 去中心化技术是世界下一代金融的支柱 和法律制度。 致谢 感谢 Julian Alterini 和 Shawn Lee 绘制了本文中的数据。