Chainlink : un réseau Oracle décentralisé

Chainlink 2.0: Next Steps in the Evolution of Decentralized Oracle Networks

द्वारा Steve Ellis, Ari Juels and Sergey Nazarov · 2017

सिंगल मोड chain.link

Abstract

Abstract

In this whitepaper, we articulate a vision for the evolution of Chainlink beyond its initial conception in the original Chainlink whitepaper. We foresee an increasingly expansive role for oracle networks, one in which they complement and enhance existing and new blockchains by providing fast, reliable, and confidentiality-preserving universal connectivity and off-chain computation for smart contracts. The foundation of our plan is what we call Decentralized Oracle Networks, or DONs for short. A DON is a network maintained by a committee of Chainlink nodes. It supports any of an unlimited range of oracle functions chosen for deployment by the committee. A DON thus acts as a powerful abstraction layer, offering interfaces for smart contracts to extensive off-chain resources and highly efficient yet decentralized off-chain computing resources within the DON itself. With DONs as a springboard, Chainlink plans to focus on advances in seven key areas: • Hybrid smart contracts: Offering a powerful, general framework for augmenting existing smart contract capabilities by securely composing on-chain and off-chain computing resources into what we call hybrid smart contracts. • Abstracting away complexity: Presenting developers and users with simple functionality eliminates the need for familiarity with complex underlying protocols and system boundaries. • Scaling: Ensuring that oracle services achieve the latencies and throughputs demanded by high-performance decentralized systems. • Confidentiality: Enabling next-generation systems that combine blockchains’ innate transparency with strong new confidentiality protections for sensitive data. • Order-fairness for transactions: Supporting transaction sequencing in ways that are fair for end users and prevent front-running and other attacks by bots and exploitative miners. • Trust-minimization: Creating a highly trustworthy layer of support for smart contracts and other oracle-dependent systems by means of decentralization, strong anchoring in high-security blockchains, cryptographic techniques, and cryptoeconomic guarantees. • Incentive-based (cryptoeconomic) security: Rigorously designing and robustly deploying mechanisms that ensure nodes in DONs have strong economic incentives to behave reliably and correctly, even in the face of wellresourced adversaries. We present preliminary and ongoing innovations by the Chainlink community in each of these areas, providing a picture of the broadening and increasingly powerful capabilities planned for the Chainlink network.

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.

Introduction

Introduction

Blockchain oracles are often viewed today as decentralized services with one objective: to forward data from off-chain resources onto blockchains. It’s a short step, though, from forwarding data to computing on it, storing it, or transmitting it bidirectionally. This observation justifies a much broader notion of oracles’ functionality. So too do the growing service requirements of smart contracts and increasingly multifaceted technologies that rely on oracle networks. In short, an oracle can and will need to be a general-purpose, bidirectional, compute-enabled interface between and among onchain and off-chain systems. Oracles’ role in the blockchain ecosystem is to enhance the performance, functionality, and interoperability of smart contracts so that they can bring new trust models and transparency to a multiplicity of industries. This transformation will come about through broadening use of hybrid smart contracts, which fuse blockchains’ special properties with the unique capabilities of off-chain systems such as oracle networks and thereby achieve far greater reach and power than on-chain systems in isolation. In this whitepaper, we articulate a vision for what we call Chainlink 2.0, an evolution of Chainlink beyond its initial conception in the original Chainlink whitepaper [98]. We foresee an increasingly expansive role for oracle networks, one in which they complement and enhance existing and new blockchains by providing fast, reliable, and confidentiality-preserving universal connectivity and computation for hybrid smart contracts. We believe that oracle networks will even evolve to become utilities for exporting high-integrity blockchain-grade data to systems beyond the blockchain ecosystem. Today, Chainlink nodes run by a diverse set of entities come together in oracle networks to relay data to smart contracts in what are known as reports. We can view such oracle nodes as a committee similar to that in a classical-consensus blockchain [72], but with the goal of supporting existing blockchains, rather than providing freestanding functionality. With verifiable random functions (VRF) and Off-Chain Reporting (OCR), Chainlink is already evolving toward a general-purpose framework and infrastructure for providing the computational resources that smart contracts require for advanced functionality. The foundation of our plan for Chainlink 2.0 is what we call Decentralized Oracle Networks, or DONs for short. Since we introduced the term “oracle network” in the original Chainlink whitepaper [98], oracles have developed ever richer functionality and breadth of application. In this paper, we offer a fresh definition of the term according to our future vision for the Chainlink ecosystem. In this view, a DON is a network maintained by a committee of Chainlink nodes. Rooted in a consensus protocol, it supports any of an unlimited range of oracle functions chosen for deployment by the committee. A DON thus acts as a blockchain abstraction layer, providing interfaces to off-chain resources for both smart contracts and other systems. It also provides access to highly efficient yet decentralized off-chain computing resources. In general, a DON supports operations on a main chain. Its goal is to enable secure and flexi-

ble hybrid smart contracts, which combine on-chain and off-chain computation with connection to external resources. We emphasize that even with the use of committees in DONs, Chainlink itself remains inherently permissionless. DONs act as the foundation of a permissionless framework in which nodes can come together to implement custom oracle networks with their own regimes for node inclusion, which may be permissioned or permissionless. With DONs as a foundation, we plan to focus in Chainlink 2.0 on advances in seven key areas: hybrid smart contracts, abstracting away complexity, scaling, confidentiality, order-fairness for transactions, trust minimization, and incentive-based (cryptoeconomic) security. In this paper introduction, we present an overview of Decentralized Oracle Networks in Section 1.1 and then our seven key areas of innovation in Section 1.2. We describe the organization of the rest of this paper in Section 1.3. 1.1 Decentralized Oracle Networks Decentralized Oracle Networks are designed to enhance and extend the capabilities of smart contracts on a target blockchain or main chain through functions that are not available natively. They do so by providing the three basic resources found in computing systems: networking, storage, and computation. A DON aims to offer these resources with strong confidentiality, integrity, and availability properties,1 as well as accountability. DONs are formed by committees of oracle nodes that cooperate to fulfill a specific job or choose to establish a long-lived relationship in order to provide persistent services to clients. DONs are designed in a blockchain-agnostic way. They promise to serve as a powerful and flexible tool for application developers to create off-chain support for their smart contracts on any supported main chain. Two types of functionalities realize the capabilities of a DON: executables and adapters. Executables are programs that run continuously and in a decentralized manner on the DON. While they do not directly store main-chain assets, they have important benefits, including high performance and the ability to perform confidential computation. Executables run autonomously on a DON and perform deterministic operations. They work in hand with adapters that link the DON to external resources and may be called by executables. Adapters, as we envision them for DONs, are a generalization of the external adapters in Chainlink today. While existing adapters typically only fetch data from data sources, adapters may operate bidirectionally; in DONs, they may additionally leverage joint computation by DON nodes to achieve additional features, such as encrypting reports for privacy-preserving consumption by an executable. To provide a sense of a DON’s basic operation, Fig. 1 shows conceptually how a DON might be used to send reports to a blockchain and thus achieve traditional, existing oracle functionality. DONs can provide many additional features, however, beyond 1The “CIA triad” of information security [123, p. 26, §2.3.5].

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

Chainlink’s existing networks. For example, within the general structure of Fig. 1, the executable could record fetched asset-price data on the DON, using such data to compute, e.g., a trailing average for its reports. Figure 1: Conceptual figure showing as an example how a Decentralized Oracle Network can realize basic oracle functionality, i.e., relay off-chain data to a contract. An executable uses adapters to fetch off-chain data, which it computes on, sending output over another adapter to a target blockchain. (Adapters are initiated by code in the DON, represented by small blue boxes; arrows show the direction of data flow for this particular example.) The executable can additionally read and write to local DON storage to keep state and/or communicate with other executables. Flexible networking, computation, and storage in DONs, all represented here, enable a host of novel applications. A major benefit of DONs is their ability to bootstrap new blockchain services. DONs are a vehicle by which existing oracle networks can quickly stand up service applications that would today require the creation of purpose-built networks. We give a number of examples of such applications in Section 4. In Section 3, we provide more details on DONs, describing their capabilities in terms of the interface they present to developers and users. 1.2 Seven Key Design Goals Here we briefly review the seven key focuses enumerated above for the evolution of Chainlink, namely:

Hybrid smart contracts: Central to our vision for Chainlink is the idea of securely combining on-chain and off-chain components in smart contracts. We refer to contracts realizing this idea as hybrid smart contracts or hybrid contracts.2 Blockchains are and will continue to play two critical roles in decentralized-service ecosystems: They are both the loci where cryptocurrency ownership is represented and robust anchors for decentralized services. Smart contracts must therefore be represented or executed on chain, but their on-chain capabilities are severely limited. Purely on-chain contract code is slow, expensive, and insular, unable to benefit from real-world data and a variety of functionalities that are inherently unachievable on chain, including various forms of confidential computation, generation of (pseudo)randomness secure against miner / validator manipulation, etc. For smart contracts to realize their full potential therefore requires smart contracts to be architected with two parts: an on-chain part (which we typically denote by SC) and an off-chain part, an executable running on a DON (which we typically denote by exec). The goal is to achieve a secure composition of on-chain functionality with the multiplicity of off-chain services that DONs aim to provide. Together, the two parts make up a hybrid contract. We present the idea conceptually in Fig. 2. Already today, Chainlink services3 such as data feeds and VRFs are enabling otherwise unachievable smart contract applications, ranging from DeFi to fairly generated NFTs to decentralized insurance, as first steps toward a more general framework. As Chainlink services expand and grow more performant according to our vision in this whitepaper, so too will the power of smart contract systems across all blockchains. Our other six key focuses in this whitepaper may be viewed as acting in the service of the first, overarching one of hybrid contracts. These focuses involve removing visible complexity from hybrid contracts, creating additional off-chain services that enable the construction of ever more capable hybrid contracts, and, in the case of trust minimization, bolstering the security properties achieved by hybrid contracts. We leave the idea of hybrid contracts implicit throughout much of the paper, but any combination of MAINCHAIN logic with a DON may be viewed as a hybrid contract. Abstracting away complexity: DONs are designed to make use of decentralized systems easy for developers and users by abstracting away the often complex machinery behind DONs’ powerful and flexible array of services. Existing Chainlink services already have this feature. For example, data feeds in Chainlink today present onchain interfaces that do not require developers to concern themselves with protocollevel details, such as the means by which OCR enforces consensus reporting among a 2The idea of on-chain / off-chain contract composition has arisen previously in various constrained forms, e.g., layer-2 systems, TEE-based blockchains [80], etc. Our goal is to support and generalize these approaches and ensure that they can encompass off-chain data access and other key oracle services. 3Chainlink services comprise a variety of decentralized services and functionality available through the network. They are offered by the numerous node operators composed into various oracle networks across the ecosystem.

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

Figure 2: Conceptual figure depicting on-chain / off-chain contract composition. A hybrid smart contract 3⃝consists of two complementary components: an on-chain component SC 1⃝, resident on a blockchain, and an off-chain component exec 2⃝that executes on a DON. The DON serves as a bridge between the two components as well as connecting the hybrid contract with off-chain resources such as web services, other blockchains, decentralized storage, etc. decentralized set of nodes. DONs go a step further in the sense that they expand the range of services for which Chainlink can offer developers an abstraction layer with accompanying streamlined interfaces for high-level services. We present several application examples in Section 4 that highlight this approach. We envision enterprises, for instance, using DONs as a form of secure middleware to connect their legacy systems to blockchains. (See Section 4.2.) This use of DONs abstracts away the complexity of general blockchain dynamics (fees, reorgs, etc.). It also abstracts away the features of specific blockchains, thereby enabling enterprises to connect their existing systems to an ever-broadening array of blockchain systems without a need for specialized expertise in these systems or, more generally, in decentralizedsystems development. Ultimately, our ambition is to push the degree of abstraction achieved by Chainlink to the point of implementing what we refer to as a decentralized metalayer. Such a layer would abstract away the on-chain / off-chain distinction for all classes of developers and users of DApps, allowing seamless creation and use of decentralized services.

To simplify the development process, developers could specify DApp functionality in the metalayer as a virtual application in a unified machine model. They could then use a decentralized-metalayer compiler to instantiate the DApp automatically as a set of interoperating decentralized functionalities spanning blockchains, DONs, and external services. (One of these external services could be an enterprise system, making the metalayer useful for applications involving legacy enterprise systems.) Such compilation is akin to how modern compilers and software-development kits (SDKs) support generalist programmers in using the full potential of heterogeneous hardware architectures consisting of a general-purpose CPU and specialized hardware like GPUs, machine-learning accelerators, or trusted enclaves. Fig. 3 presents this idea at a conceptual level. Hybrid smart contracts are a first step along the way to this vision and to a concept we call meta contracts. Meta contracts are applications coded on a decentralized metalayer and implicitly encompass on-chain logic (smart contracts), as well as offchain computation and connectivity among various blockchains and existing off-chain services. Given the need for language and compiler support, new security models, and conceptual and technical harmonization of disparate technologies, however, realization of a true decentralized metalayer is an ambitious goal to which we aspire over a long time horizon. It is nonetheless a helpful ideal model to keep in mind while reading this paper, not detailed here, but something we plan to focus on in our future work on Chainlink. Scaling: A goal of preeminent importance in our evolving designs is enabling the Chainlink network to meet the growing scaling needs of the blockchain ecosystem. With network congestion becoming a recurring problem in existing permissionless blockchains [86], new and more performant blockchain designs are coming into use, e.g., [103, 120, 203], as well as complementary layer-2 scaling technologies, e.g., [5, 12, 121, 141, 169, 186, 187]. Oracle services must achieve latencies and throughputs that meet the performance demands of these systems while minimizing on-chain fees (e.g., gas costs) for contract operators and ordinary users alike. With DONs, Chainlink functionality aims to go further and deliver performance high enough for purely webbased systems. DONs derive much of their performance gain from their use of fast, committeebased or permissionless consensus protocols, which they combine with the blockchains they support. We expect many DONs with different configurations to run in parallel; different DApps and users can navigate tradeoffs in underlying consensus choices according to their application requirements. DONs may be viewed in effect as layer-2 technologies. We expect that among other services, DONs will support the Transaction Execution Framework (TEF), which facilitates efficient integration of DONs and thus oracles with other high-performance layer-2 systems—e.g., rollups, systems which bundle transactions offchain to achieve performance improvements. We introduce the TEF in Section 6.

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

Figure 3: Conceptual figure showing ideal realization of a decentralized metalayer. For ease of development, a developer specifies a DApp, highlighted in pink, as a virtual application in a unified machine model. A decentralized-metalayer compiler automatically generates corresponding interoperating functionalities: smart contracts (denoted by SC), logic (denoted by exec) on DONs, adapters connecting to target external services, and so forth, as indicated in yellow highlight. Fig. 4 shows conceptually how DONs improve blockchain (smart contract) scaling by concentrating transaction and oracle-report processing offchain, rather than on chain. This shift in the main locus of computation reduces transaction latency and fees while boosting transaction throughput. Confidentiality: Blockchains provide unprecedented transparency for smart contracts and the applications they realize. But there is a basic tension between transparency and confidentiality. Today, for example, users’ decentralized exchange trans-

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

Figure 4: Conceptual figure showing how Decentralized Oracle Networks improve the scaling of blockchain-enabled smart contracts. Figure A ⃝shows a conventional oracle architecture. Transactions are sent directly to the blockchain, as are oracle reports. Thus the blockchain, highlighted in yellow, is the main locus for transaction processing. Figure B⃝shows use of a DON to support contracts on the blockchain. A DON executable processes transactions along with data from external systems and forwards results—e.g., bundled transactions or contract state changes resulting from the transactions’ effects—to the blockchain. The DON, highlighted in yellow, is thus the main locus for transaction processing. actions are recorded on chain, making it easy to monitor exchange behavior, but also making users’ financial transactions publicly visible. Similarly, data relayed to smart contracts remains on chain. This makes such data conveniently auditable, but acts as a disincentive for data providers wishing to furnish smart contracts with sensitive or proprietary data. We believe that oracle networks will play a pivotal role in catalyzing next-generation systems that combine blockchains’ innate transparency with new confidentiality protections. In this paper, we show how they will do so using three main approaches: • Confidentiality-preserving adapters: Two technologies with planned deployment in Chainlink’s networks, DECO [234] and Town Crier [233], enable oracle nodes to retrieve data from off-chain systems in ways that protect user privacy and data confidentiality. They will play a key role in the design of adapters for DONs. (See Section 3.6.2 for details on these two technologies.) • Confidential computation: DONs can simply conceal their computation from relying blockchains. Using secure multi-party computation and/or trusted execution environments, stronger confidentiality is also possible in which DON nodes compute over data into which they themselves do not have visibility.

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

• Support for confidential layer-2 systems: The TEF is designed to support a variety of layer-2 systems, many of which use zero-knowledge proofs to provide various forms of transaction confidentiality. We discuss these approaches in Section 3 (with additional details in Section 6, Appendix B.1, and Appendix B.2). Fig. 5 presents a conceptual view of how sensitive data might flow from external sources to a smart contract by means of confidentiality-preserving adapters and confidential computation in a DON. Figure 5: Conceptual diagram of confidentiality-preserving operations in a DON on sensitive data (highlighted in yellow). Sensitive source data (black circles) in web servers is extracted to the DON using confidentiality-preserving adapters (blue, doublearrowed lines). The DON receives derived data (hollow circles) from these adapters— the result of applying either a function or, e.g., secret-sharing, to the sensitive source data. An executable on the DON may apply confidential computation to derived data to construct a report (double circle), which it sends over an adapter to the blockchain. We believe that powerful tools for handling confidential data will open up a whole range of applications. Among these are private decentralized (and centralized) finance, decentralized identity, credit-based on-chain lending, and more efficient and user-friendly know-your-customer and accreditation protocols, as we discuss in Section 4. Order-fairness for transactions: Today’s blockchain designs have a dirty little open secret: They are ephemerally centralized. Miners and validators can order trans-

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

actions however they choose. Transaction order can also be manipulated by users as a function of the network fees they pay (e.g., gas prices in Ethereum) and to some extent by taking advantage of fast network connections. Such manipulation can, for example, take the form of front-running, in which a strategic actor such as a miner observes a user’s transaction and inserts its own exploitative transaction into an earlier position in the same block—effectively stealing money from the user by leveraging advance knowledge of the user’s transaction. For example, a bot may place a buy order before a user’s. It can then take advantage of the asset price increase induced by the user’s trade. Front-running by some bots that harms ordinary users—analogous to high-frequency trading on Wall Street—is already prevalent and well documented [90], as are related attacks such as back-running [159] and automated transaction mimicking [195]. Proposals to systematize order exploitation by miners have even surfaced recently [110]. Layer-2 technologies such as rollups don’t solve the problem, but merely re-centralize ordering, placing it in the hands of the entity that creates a rollup. One of our goals is to introduce into Chainlink a service called Fair Sequencing Services (FSS) [137]. FSS helps smart contract designers ensure fair ordering for their transactions and avoid front-running, back-running, and related attacks on user transactions as well as other types of transactions, such as oracle report transmission. FSS enables a DON to implement ideas such as the rigorous, temporal notion of orderfairness introduced in [144]. As an incidental benefit, FSS can also lower users’ network fees (e.g., gas costs). Briefly, in FSS, transactions pass through the DON, rather than propagating directly to a target smart contract. The DON orders the transactions and then forwards them to the contract. Figure 6: Example of how FSS is beneficial. Fig. A ⃝shows how a miner, exploiting its centralized power to order transactions, may swap a pair of transactions: transaction 1⃝ arrives before 2⃝, but the miner instead sequences it after 2⃝. In contrast, Fig. B⃝shows how a DON decentralizes the ordering process among DON nodes. If a quorum of honest nodes receive 1⃝before 2⃝, the FSS causes 1⃝to appear before 2⃝on chain— preventing miner reordering by attaching contract-enforceable sequence numbers. Fig. 6 compares standard mining with FSS. It shows how in standard mining,

the process of transaction ordering is centralized with the miner and thus subject to manipulation, such as reordering a pair of transactions with respect to their arrival times. In contrast, in FSS, the process is decentralized among DON nodes. Assuming a quorum of honest nodes, FSS helps enforce policies such as temporal ordering of transactions, reducing opportunities for manipulation by miners and other entities. Additionally, since users need not compete for preferential ordering based on gas price, they can pay relatively low gas prices (while transactions from the DON can be batched for gas savings). Trust minimization: Our general aim in the design of DONs is to facilitate a highly trustworthy layer of support for smart contracts and other oracle-dependent systems by means of decentralization, cryptographic tools, and cryptoeconomic guarantees. A DON itself is decentralized, and users can choose from any available DON that supports the main chain on which they wish to operate or spawn additional DONs with committees of nodes they trust. For some applications, however, particularly smart contracts, Chainlink users may favor a trust model that treats the main chain supported by a DON as more trustworthy than the DON itself. For such users, we already have or plan to incorporate into the architecture of the Chainlink network a number of mechanisms that enable contracts on a main chain to strengthen the security assurances provided by DONs, while at the same time also enforcing protections against the possibility of corrupted data sources such as the web servers from which the DON obtains data. We describe these mechanisms in Section 7. They fall under five main headings: • Data-source authentication: Tools that enable data providers to digitally sign their data and thereby strengthen the chain of custody between the origin and relying contract. • DON minority reports: Flags issued by a minority subset of DON nodes that observes majority malfeasance in the DON. • Guard rails: Logic on a main chain that detects anomalous conditions and pauses or halts contract execution (or invokes other remediations). • Trust-minimized governance: Use of gradual-release updates to facilitate community inspection, as well as decentralized emergency interventions for rapid response to system failures. • Decentralized entity authentication: Use of public-key infrastructure (PKI) to identify entities in the Chainlink network. Fig. 7 presents a conceptual schematic of our trust-minimization goals. Incentive-based (cryptoeconomic) security: Decentralization of report generation across oracle nodes helps ensure security even when some nodes are corrupted.

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

Figure 7: Conceptual depiction of Chainlink’s trust-minimization goal, which is to minimize users’ need for correct behavior of the DON and data sources such as web servers. Yellow highlights in the figure indicate trust-minimization loci: the DON and individual or minority sets of web servers. Pink highlights indicate system components that are highly trustworthy by assumption: contracts on the blockchain and a majority of web servers, i.e., web servers in the aggregate. Equally important, though, is ensuring that nodes have a financial incentive to behave correctly. Staking, i.e., requiring nodes to provide deposits of LINK and slashing (confiscating) these deposits in case of misbehavior, will play a key role in Chainlink. It is an important incentive design already used in a number of blockchains, e.g., [81, 103, 120, 204]. Staking in Chainlink, however, looks very different from staking in standalone blockchains. Staking in blockchains aims to prevent attacks on consensus. It has a different goal in Chainlink: to ensure timely delivery of correct oracle reports. A welldesigned staking system for an oracle network should render attacks such as bribery unprofitable for an adversary, even when the target is a smart contract with high monetary value. In this paper, we present a general approach to staking in Chainlink with three key innovations:

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

  1. A powerful adversarial model that encompasses attacks overlooked in existing approaches. One example is what we call prospective bribery. This is a form of bribery that determines which nodes receive bribes on a conditional basis, e.g., offers guaranteed bribes in advance to nodes that a staking mechanism selects at random for particular roles (such as triggering report adjudication).
  2. Super-linear staking impact, meaning informally that to be successful, an adversary must have a budget $B greater than the combined deposits of all oracle nodes. More precisely, we mean that as a function of n, \(B(n) ≫\)dn in a network of n oracle nodes each with a fixed deposit amount $d (more formally, \(B(n) is asymptotically larger in n than \)dn). Fig. 8 gives a conceptual view of this property.
  3. The Implicit-Incentive Framework (IIF), an incentive model we have devised to encompass empirically measurable incentives beyond explicit deposited staking funds, including nodes’ future fee opportunities. The IIF extends the notion of stake beyond explicit node deposits. Figure 8: Conceptual diagram depicting super-linear scaling in Chainlink staking. The bribe $B(n) required by an adversary grows faster in n than the combined deposits $dn of all oracle nodes. We show how the IIF and super-linear staking impact together induce what we call a virtuous cycle of economic security for oracle networks. When new users enter

the system, increasing potential future earnings from running Chainlink nodes, the marginal cost of economic security drops for current and future users. In a regime of elastic demand, this diminished cost incentivizes additional users to make use of the network, continuously perpetuating adoption in an ongoing virtuous cycle. Note: While this whitepaper outlines important elements of our vision for the evolution of Chainlink, it is informal and includes few detailed technical specifics. We plan to release focused technical papers on additional features and approaches as they evolve. Furthermore, it is important to emphasize that many elements of the vision presented here (scaling improvements, confidentiality technologies, FSS, etc.) can and will be deployed in preliminary form even before advanced DONs become a basic feature of Chainlink. 1.3 Organization of this Paper We present our security model and notation in Section 2 and outline the Decentralized Oracle Network API in Section 3. In Section 4, we present a number of examples of applications for which DONs provide an appealing deployment platform. Readers can learn most of the key concepts of the paper by reading up to this point. The remainder of the paper contains further details. We describe Fair Sequencing Services (FSS) in Section 5 and the Transaction-Execution Framework (TEF) in Section 6. We describe our approach to trust minimization in Section 7. We consider some important DON deployment requirements, namely incremental rollout of features, dynamic ledger membership, and accountability in Section 8. Finally, in Section 9, we give an overview of our developing approach to incentive design. We conclude in Section 10. To help readers who have limited familiarity with the concepts in this paper, we provide a glossary in Appendix A. We present further detail on the DON interface and functionality in Appendix B and present some example adapters in Appendix C. In Appendix D, we describe a cryptographic primitive for trust-minimized data-source authentication called functional signatures and introduce a new variant called discretized functional signatures. We discuss some considerations bearing on committee selection for DONs in Appendix F.

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

Security Model and Goals

Security Model and Goals

A Decentralized Oracle Network is a distinct distributed system that we expect will initially be implemented typically—although not necessarily—by a committee-based consensus protocol and run by a set of oracle nodes. A DON is designed primarily to augment the capabilities of a smart contract on a main chain with oracle reports and other services, but it can provide those same supporting services to other nonblockchain systems, and thus need not be associated with a particular main chain.

The model and properties we consider are therefore largely independent of the use of the particular applications of a DON. 2.1 Current Architectural Model It is important to emphasize that Chainlink today is not a monolithic service, but rather a permissionless framework within which it is possible to launch distinct, independent networks of oracle nodes [77]. Networks have heterogeneous sets of node operators and designs. They may also differ in terms of the types of services they provide, which can include, e.g., data feeds, Proof of Reserves, verifiable randomness, and so forth. Other differences can include the degree of decentralization, size of the network in terms of locked value it supports, and various service-level parameters, such as data frequency and accuracy. Chainlink’s permissionless model encourages the growth of an ecosystem in which providers specialize in the services they are best able to furnish to the community. This model is likely to result in lower costs to users and higher service quality than a model that requires all nodes and networks to provide a full range of services, an approach that can easily devolve into system-wide adoption of the services representing the least common denominator of resources available to nodes. As Chainlink evolves toward DON-based designs in Chainlink 2.0, we continue to support the model of a permissionless, open framework, keeping in view the goal of providing users with a range of service choices that globally result in the best match with particular application requirements. 2.2 Consensus Assumptions We use the term Decentralized Oracle Network to encompass the full functionality of the oracle system we describe: both the data structure that oracle nodes maintain and the core API layered on top of it. We use the term ledger (lower case), denoted by L, to mean the underlying data structure maintained by a DON and used to support the particular services it provides. We emphasize that our DON framework does not treat L as a freestanding system like a blockchain: Its purpose is to support blockchains and other systems. Blockchains are, of course, one way of realizing a trustworthy ledger, but there are others. We expect DONs in many cases to realize their underlying ledgers using Byzantine Fault Tolerant (BFT) systems, which considerably predate blockchains such as Bitcoin [174]. We use BFT-type notation and properties throughout the paper for convenience, although we emphasize that DONs can be realized using permissionless consensus protocols. Conceptually, a ledger L is a bulletin board on which data is linearly ordered. We view a ledger generally as having a few key properties commonly ascribed to blockchains [115]. A ledger is: • Append-only: Data, once added, cannot be removed or modified.

• Public: Anyone can read its contents, which are consistent across time in the view of all users.4 • Available: The ledger can always be written to by authorized writers and read by anyone in a timely way. Alternative properties are possible in the ledger for a DON when realized by a committee. For instance, ledger write access might be restricted to certain users, as might read access for some applications, i.e., the ledger need not be public as defined above. Similarly, ledger rules might permit modification or redaction of data. We don’t explicitly consider such variants in this paper, however. The modular design of DONs can support any of a wide variety of modern BFT protocols, e.g., Hotstuff[231]. The exact choice will depend on trust assumptions and network characteristics among the oracle nodes. A DON could in principle alternatively use a highly performant permissionless blockchain for its ledger in its role supporting an equally scalable layer-2 or blockchain system. Similarly, hybridization is also possible: The DON could in principle be composed of nodes that are validators in an existing blockchain, e.g., in Proof-of-Stake systems in which committees are selected to execute transactions, e.g., [8, 81, 120, 146, 204]. This particular mode of operation requires that nodes operate in a dual-use manner, i.e., operate both as blockchain nodes and DON nodes. (See Section 8.2 for a discussion of techniques to ensure continuity in changing committees and Appendix F for some caveats on random committee selection.) In practice, in modern BFT algorithms, nodes digitally sign messages on the ledger. We assume for convenience that L has an associated public key pkL and that its contents are signed by the corresponding private key. This general notation applies even when data on L are signed using threshold signatures.5 Threshold signatures are convenient, as they enable a persistent identity for a DON even with changes of membership in the nodes running it. (See Appendix B.1.3.) We thus assume that \(sk_L\) is secret-shared in a \((k, n)\)-threshold manner for some security parameter \(k\), e.g., \(k = 2f + 1\) and \(n = 3f + 1\), where \(f\) is the number of potentially faulty nodes. (By choosing \(k\) in this way, we ensure that faulty nodes can neither learn \(sk_L\) nor mount a denial-of-service attack preventing its use.) A message on L takes the form M = (m, z), where m is a string and z a unique sequential index number. Where applicable, we write messages in the form m = ⟨MessageType : payload⟩. The message type MessageType is syntactic sugar that indicates the function of a particular message. 4In cases where a blockchain without finality realizes a ledger, inconsistency is typically abstracted away by disregarding insufficiently deep blocks or “pruning” [115]. 5In practice, some code bases, e.g., LibraBFT [205], a variant of Hotstuff, have currently adopted multi-signatures, rather than threshold signatures, trading offreduced communication complexity for simpler engineering. With some added cost, oracle nodes can append threshold signatures to messages written to L even if the consensus protocol used for L doesn’t employ them.

2.3 Notation We denote the set of \(n\) oracle nodes running the ledger by \(O = \{O_i\}_{i=1}^{n}\). Such a set of nodes is often called a committee. For simplicity, we assume that the set of oracles implementing DON functionality, i.e., services on top of L, is identical with that maintaining L, but they can be distinct. We let \(pk_i\) denote the public key of player \(O_i\), and \(sk_i\) the corresponding private key. Most BFT algorithms require at least \(n = 3f + 1\) nodes, where \(f\) is the number of potentially faulty nodes; remaining nodes are honest, in the sense that they follow the protocol exactly as specified. We refer to the committee O as honest if it meets this requirement, i.e., has greater than a \(2/3\)-fraction of honest nodes. Unless otherwise stated, we assume that O is honest (and a static model of corruption). We use \(pk_O\) / \(sk_O\) interchangeably with \(pk_L\) / \(sk_L\), depending on the context. We let \(\sigma = \text{Sig}_{pk}[m]\) denote a signature on message \(m\) with respect to \(pk\), i.e., using corresponding private key \(sk\). Let \(\text{verify}(pk, \sigma, m) \rightarrow \{false, true\}\) denote a corresponding signature verification algorithm. (We leave key generation implicit throughout the paper.) We use the notation \(S\) to denote a data source and \(\mathcal{S}\) to denote the full set of \(n_S\) sources in a given context. We denote by MAINCHAIN a smart-contract enabled blockchain supported by a DON. We use the term relying contract to denote any smart contract on MAINCHAIN that communicates with a DON, and use the notation SC to denote such a contract. We generally assume that a DON supports a single main chain MAINCHAIN, although it can support multiple such chains, as we show in examples in Section 4. A DON can and typically will support multiple relying contracts on MAINCHAIN. (As noted above, a DON can alternatively support non-blockchain services.) 2.4 Note on Trust Models As noted above, DONs may be built atop committee-based consensus protocols, and we expect they will commonly use such protocols. There are many strong arguments that one of the two alternatives, committee-based or permissionless blockchains, provides stronger security than the other. It is important to recognize that the security of committee-based vs. permissionless decentralized systems is incommensurable. Compromising a PoW or a PoS blockchain via 51% attack requires that an adversary obtain majority resources ephemerally and potentially anonymously, for example by renting hash power in a PoW system. Such attacks in practice have already impacted several blockchains [200, 34]. In contrast, compromising a committee-based system means corrupting a threshold number (typically one-third) of its nodes, where the nodes may be publicly known, well resourced, and trustworthy entities. On the other hand, committee-based systems (as well as “hybrid” permissionless systems that support committees) can support more functionality than strictly per-

missionless systems. This includes the ability to maintain persistent secrets, such as signing and/or encryption keys—one possibility in our designs. We emphasize that DONs can in principle be built atop either a committee-based or permissionless consensus protocol and DON deployers may ultimately choose to adopt either approach. Bolstering trust models: A key feature of Chainlink today is the ability of users to select nodes based on decentralized records of their performance histories, as discussed in Section 3.6.4. The staking mechanism and Implicit-Incentive Framework we introduce in Section 9 together constitute a broadly scoped and rigorous mechanism-design framework that will empower users with a greatly expanded ability to gauge the security of DONs. This same framework will also make it possible for DONs themselves to enforce various security requirements on participating nodes and ensure operation within strong trust models. It is also possible using tools described in this paper for DONs to enforce special trust-model requirements, such as compliance with regulatory requirements. For example, using techniques discussed in Section 4.3, nodes can present evidence of node-operator characteristics, e.g., territory of operation, that can be used to help enforce compliance with, e.g., the General Data Protection Regulation (GDPR) Article 3 (“Territorial Scope”) [105]. Such compliance can otherwise be challenging to meet in decentralized systems [45]. Additionally, in Section 7 we discuss plans to strengthen the robustness of DONs through trust-minimization mechanisms on the main chains they support.

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.

Decentralized Oracle Network Interface and Ca-

Decentralized Oracle Network Interface and Ca-

pabilities Here we briefly sketch the capabilities of DONs in terms of the simple but powerful interface they are designed to realize. Applications on a DON are composed of executables and adapters. An executable is a program whose core logic is a deterministic program, analogous to a smart contract. An executable also has a number of accompanying initiators, programs that call entry points in the executable’s logic when predetermined events occur—e.g., at certain times (like a cron job), when a price crosses a threshold, etc.—much like Keepers (see Section 3.6.3). Adapters provide interfaces to off-chain resources and may be called by either the initiators or core logic in executables. As their behavior may depend on that of external resources, initiators and adapters may behave non-deterministically. We describe the DON developer interface and the functioning of executables and adapters in terms of the three resources typically used to characterize computing systems: networking, compute, and storage. We give a brief overview of each of these resources below and provide more details in Appendix B.

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

3.1 Networking Adapters are interfaces through which executables running on a DON can send and receive data from off-DON systems. Adapters may be viewed as a generalization of the adapters used in Chainlink today [20]. Adapters may be bidirectional—i.e., they cannot just pull, but push data from a DON to a web server. They may also leverage distributed protocols as well as cryptographic functionality such as secure multi-party computation. Figure 9: Adapters connecting a DON, denoted DON1, with a range of different resources, including another DON, denoted DON2, a blockchain (main chain) and its mempool, external storage, a web server, and IoT devices (via a web server). Examples of external resources for which adapters might be created are shown in Fig. 9. They include: • Blockchains: An adapter can define how to send transactions to a blockchain and how to read blocks, individual transactions, or other state from it. An adapter can also be defined for a blockchain’s mempool. (See Section 3.5.) • Web servers: Adapters can define APIs through which data may be retrieved from web servers, including legacy systems that are not specially adapted for interfacing with DONs. Such adapters can also include APIs to send data to such servers. The web servers to which a DON connects may serve as gateways to additional resources, such as Internet-of-Things (IoT) devices.

• External storage: An adapter can define methods to read and write to storage services outside the DON, such as a decentralized file system [40, 188] or cloud storage. • Other DONs: Adapters can retrieve and transmit data between DONs. We expect that initial deployments of DONs will include a set of building block adapters for such commonly used external resources and will further allow DON-specific adapters to be published by DON nodes. As smart contract developers write adapters today, we expect that they will build even more powerful adapters using this advanced functionality. We expect that ultimately it will be possible for users to create new adapters in a permissionless manner. Some adapters must be constructed in a way that ensures the persistence and availability of external resources controlled by a DON. For example, cloud storage may require maintenance of a cloud services account. Additionally, a DON can perform decentralized management of private keys on behalf of users (as in, e.g., [160]) and/or executables. Consequently, the DON is capable of controlling resources, such as cryptocurrency, that may be used, e.g., for sending transactions on a target blockchain. See Appendix B.1 for further details on DON adapters, as Appendix C for a few example adapters. 3.2 Computation An executable is the basic unit of code on a DON. An executable is a pair exec = (logic, init). Here, logic is a deterministic program with a number of designated entry points (logic1, logic2, . . . , logicℓ) and init is a set of corresponding initiators (init1, init2, . . . , inite). To ensure the full auditability of the DON, an executable’s logic uses the underlying ledger L for all inputs and outputs. Thus, for instance, any adapter data serving as input to an executable must be stored first on L. Initiators: Initiators in Chainlink today cause event-dependent job executions on Chainlink nodes [21]. Initiators in DONs function in much the same way. A DON initiator, however, is specifically associated with an executable. An initiator may depend on an external event or state, on the current time, or on a predicate on DON state. With their dependency on events, initiators may of course behave non-deterministically (as of course may adapters). An initiator can execute within individual DON nodes and so need not rely on an adapter. (See Example 1 below.) Initiators are an important feature distinguishing executables from smart contracts. Because an executable can run in response to an initiator, it can effectively operate autonomously, as of course by extension can a hybrid contract incorporating the executable. One form of initiators today are Chainlink Keepers, which provide transaction

automation services, triggering smart contract execution—such as liquidation of undercollateralized loans and execution of limit-order trades—based on oracle reports. Conveniently, initiators in DONs may also be viewed as a way of specifying the service agreements that apply to an executable, as they define the circumstances under which the DON must call it. The following example illustrates how initiators work within an executable: Example 1 (Deviation-triggered price feed). A smart contract SC may require fresh price-feed data (see Section 3.6.3) whenever there is a substantial change, e.g., 1%, in the exchange rate between a pair of assets, e.g., ETH-USD. Volatility-sensitive price feeds are supported in Chainlink today, but it is instructive to see how they can be realized on a DON by means of an executable execfeed. The executable execfeed maintains the most recent ETH-USD price r on L, in the form of a sequence of ⟨NewPrice : j, r⟩entries, where j is an index incremented with each price update. An initiator init1 causes each node Oi to monitor the current ETH-USD price for deviations of at least 1% from the most recently stored price r with index j. Upon detection of such a deviation, Oi writes its current view ri of the new price to L using an entry of the form ⟨PriceView : i, j + 1, ri⟩. A second initiator init2 fires when at least k such PriceView-entries with new price values for index j + 1 created by distinct nodes have accumulated on L. Then, init2 invokes an entry point logic2 to compute the median \(\rho\) of the first \(k\) fresh, valid priceview values and writes a fresh value ⟨NewPrice : j + 1, ρ⟩to L . (Operationally, nodes may take turns as designated writers.) A third initiator init3 watches for NewPrice entries on L. Whenever a new report ⟨NewPrice : j, r⟩appears there, it invokes an entry point logic3 that pushes (j, r) to SC using an adapter. As we have noted, an executable is similar in its capabilities to a smart contract. Apart from its higher performance, though, it differs from a typical main chain contract in two essential ways: 1. Confidentiality: An executable can perform confidential computation, i.e., a secret program may process cleartext inputs, or a published program may process secret input data, or a combination of both. In a simple model, secret data can be accessed by DON nodes, which conceal intermediate results and disclose only processed and sanitized values to MAINCHAIN. It is also possible to conceal sensitive data from DONs themselves: DONs are meant to support approaches such as multi-party computation, e.g., [42, 157], and trusted execution environments (TEEs) [84, 133, 152, 229] for this purpose.6 6By extension, keeping executables themselves secret with respect to DON nodes is also possible, although this is only practical today for non-trivial executables using TEEs.

  1. Supporting role: An executable is meant to support smart contracts on a main chain, rather than replace them. An executable has several limitations that a smart contract does not: (a) Trust model: An executable operates within the trust model defined by the DON: Its correct execution relies on the honest behavior of O. (A main chain can, however, provide some guard rails against DON malfeasance, as discussed in Section 7.3.) (b) Asset access: A DON can control an account on a blockchain—and thus control assets on it through an adapter. But a DON cannot authoritatively represent assets created on a main chain, e.g., Ether or ERC20 tokens, since their native chain maintains the authoritative record of their ownership. (c) Lifecycle: DONs may be stood up intentionally with limited lifetimes, as defined by on-chain service level agreements between DONs and the owners of relying contracts. Blockchains, in contrast, are meant to function as permanent archival systems. See Appendix B.2 for further details on DON computation. 3.3 Storage As a committee-based system, a DON can store moderate amounts of data persistently on L at much lower cost than a permissionless blockchain. Additionally, via adapters, DONs can reference external decentralized systems for data storage, e.g., Filecoin [85], and can thereby connect such systems to smart contracts. This option is particularly attractive for bulk data as a means of addressing the pervasive problem of “bloat” in blockchain systems. DONs can thus store data locally or externally for use in their specifically supported services. A DON can additionally make use of such data in a confidential way, computing on data that is: (1) secret-shared across DON nodes or encrypted under a key managed by DON nodes in ways suitable for secure multi-party computation or partial or fully homomorphic encryption; or (2) protected using a trusted execution environment. We expect that DONs will adopt a simple memory-management model common to smart-contract systems: An executable may only write to its own memory. Executables may, however, read from the memory of other executables. See Appendix B.3 for further details on DON storage. 3.4 Transaction-Execution Framework (TEF) DONs are intended to support contracts on a main chain MAINCHAIN (or on multiple main chains). The Transaction-Execution Framework (TEF), discussed in detail

in Section 6, is a general-purpose approach to the efficient execution of a contract SC across MAINCHAIN and a DON. The TEF is intended to support FSS and layer-2 technologies—simultaneously, if desired. Indeed, it is likely to serve as the main vehicle for use of FSS (and for that reason, we do not further discuss FSS in this section). Briefly, in TEF an original target contract SC designed or developed for MAINCHAIN is refactored into a hybrid contract. This refactoring produces the two interoperating pieces of the hybrid contract: a MAINCHAIN contract SCa that we refer to for clarity in the context of TEFs as an anchor contract and an executable execs on a DON. The contract SCa custodies users’ assets, executes authoritative state transitions, and also provides guard rails (see Section 7.3) against failures in the DON. The executable execs sequences transactions and provides associated oracle data for them. It can bundle transactions for SCa in any of a number of ways—e.g., using validity-proof-based or optimistic rollups, confidential execution by the DON, etc. We expect to develop tools that make it easy for developers to partition a contract SC written in a high-level language into pieces of MAINCHAIN and DON logic, SCa and execs respectively, that compose securely and efficiently. Using TEF to integrate high-performance transaction schemes with high-performance oracles is integral to our oracle scaling approach. 3.5 Mempool Services An important application-layer feature that we intend to deploy on DONs in support of FSS and the TEF are Mempool Services (MS). MS may be viewed as an adapter, but one with first-class support. MS provides support for legacy-compatible transaction processing. In this use, MS ingests from a main chain’s mempool those transactions intended for a target contract SC on MAINCHAIN. MS then passes these transactions to an executable on the DON, where they are processed in the desired way. MS data can be used by the DON to compose transactions that can then be passed directly to SC from the DON or to another contract that calls SC. For example, the DON can forward transactions harvested via MS, or it can use MS data to set gas prices for transactions it sends to MAINCHAIN. Because it monitors the mempool, MS can obtain transactions from users interacting directly with SC. Thus users may continue to generate their transactions using legacy software, i.e., applications unaware of the existence of MS and MS-configured contracts. (In this case, SC must be changed to ignore the original transactions and accept only those processed by the MS, so as to avoid double-processing.) For use with a target contract SC, MS can be used with FSS and/or the TEF.

3.6 Stepping Stones: Existing Chainlink Capabilities 3.6.1 Off-Chain Reporting (OCR) Off-Chain Reporting (OCR) [60] is a mechanism in Chainlink for oracle report aggregation and transmission to a relying contract SC. Recently deployed for Chainlink price feed networks, it represents a first step along the path to full DONs. At its core, OCR is a BFT protocol designed to operate in a partially synchronous network. It ensures liveness and correctness in the presence of \(f < n/3\) arbitrarily faulty nodes, guaranteeing the properties of Byzantine reliable broadcast, but it is not a complete BFT consensus protocol. Nodes do not maintain message logs that are consistent in the sense of representing a ledger that is identical in all of their views, and the leader of the protocol may equivocate without violating safety. OCR is currently designed for a particular message type: medianized aggregation of (at least \(2f + 1\)) values reported by participating nodes. It provides a key assurance on the reports it outputs for SC, called attested reports: The median value in an attested report is equal to or lies between values reported by two honest nodes. This property is the key safety condition for OCR. The leader may have some influence on the median value in an attested report, but only subject to this correctness condition. OCR can be extended to message types that aggregate values in different ways. While the Chainlink network’s liveness and correctness goals today do not require OCR to be a full-blown consensus protocol, they do require OCR to provide some additional forms of functionality not present in conventional BFT protocols, most notably: 1. All-or-nothing off-chain report broadcast: OCR ensures that an attested report is made quickly available to all honest nodes or none of them. This is a fairness property that helps ensure that honest nodes have an opportunity to participate in attested report transmission. 2. Reliable transmission: OCR ensures, even in the presence of faulty or malicious nodes, that all OCR reports and messages are transmitted to SC within a certain, pre-defined interval of time. This is a liveness property. 3. Contract-based trust minimization: SC filters out potentially erroneous OCRgenerated reports, e.g., if their reported values deviate significantly from other recently received ones. This is a form of extra-protocol correctness enforcement. All three of these properties will play a natural role in DONs. All-or-nothing offchain (DON) broadcast is an important building block for cryptoeconomic assurances around reliable transmission, which is in turn an essential adapter property. Trust minimization in SC is a type of guard rail, as discussed in Section 7.3. OCR also provides a basis for operational deployment and refinement of BFT protocols in Chainlink’s oracle networks and thus, as noted above, a path to the full functionality of DONs.

3.6.2 DECO and Town Crier DECO [234] and Town Crier [233] are a pair of related technologies currently being developed in Chainlink networks. Most web servers today allow users to connect over a secure channel using a protocol called Transport Layer Security (TLS) [94]. (HTTPS indicates a variant of HTTP that is enabled with TLS, i.e., URLs prefixed with “https” denote use of TLS for security.) Most TLS-enabled servers have a notable limitation, though: They don’t digitally sign data. Consequently, a user or Prover cannot present the data she receives from a server to a third party or Verifier, such as an oracle or smart contract, in a way that ensures the data’s authenticity. Even if a server were to digitally sign data, there remains a problem of confidentiality. A Prover may wish to redact or modify sensitive data before presenting it to a Verifier. Digital signatures are designed specifically to invalidate modified data, however. They thus prevent a Prover from making confidentiality-preserving alterations to data. (See Section 7.1 for more discussion.) DECO and Town Crier are designed to allow a Prover to obtain data from a web server and present it to a Verifier in a way that ensures integrity and confidentiality. The two systems preserve integrity in the sense that they ensure that data presented by the Prover to the Verifier originates authentically from the target server. They support confidentiality in the sense of allowing the Prover to redact or modify data (while still preserving integrity). A key feature of both systems is that they do not require any modifications to a target web server. They can operate with any existing TLS-enabled server. In fact, they are transparent to the server: From the viewpoint of the server, the Prover is establishing an ordinary connection. The two systems have similar goals, but differ in their trust models and implementations as we now briefly explain. DECO makes fundamental use of cryptographic protocols to achieve its integrity and confidentiality properties. While establishing a session with a target server using DECO, the Prover engages at the same time in an interactive protocol with the Verifier. This protocol enables the Prover to prove to the Verifier that it has received a given piece of data D from the server during its current session. The Prover can alternatively present the Verifier with a zero-knowledge proof of some property of D and thus not reveal D directly. In a typical use of DECO, a user or a single node can export data D from a private session with a web server to all of the nodes in a DON. As a result, the full DON can attest to the authenticity of D (or a fact derived from D via a zero-knowledge proof). In addition to the example applications given later in the paper, this capability can be used to amplify high-integrity access to a data source by a DON. Even if only one node has direct access to a data source—due, for instance, to an exclusive arrangement with a data provider—it remains possible for the entire DON to attest to the correctness of

reports emitted by that node. Town Crier relies on the use of a trusted execution environment (TEE) such as Intel SGX. Briefly, a TEE functions as a kind of black box that executes applications in a tamperproof and confidential way. In principle, even the owner of the host on which the TEE is running can neither (undetectably) alter a TEE-protected application nor view the application’s state, which may include secret data. Town Crier can achieve all of the functionality of DECO and more. DECO constrains the Prover to interaction with a single Verifier. In contrast, Town Crier enables a Prover to generate a publicly verifiable proof on data D fetched from a target server, i.e., a proof that anyone, even a smart contract, can verify directly. Town Crier can also securely ingest and make use of secrets (e.g., user credentials). The main limitation of Town Crier is its reliance on TEEs. Production TEEs have recently been shown to have a number of serious vulnerabilities, although the technology is in its infancy and will undoubtedly mature. See Appendices B.2.1 and B.2.2 for further discussion of TEEs. For a few example applications of DECO and Town Crier, see Sections 4.3, 4.5 and 9.4.3 and Appendix C.1. 3.6.3 Existing On-Chain Chainlink Services Chainlink oracle networks provide a number of main services across a multiplicity of blockchains and other decentralized systems today. Further evolution as described in this whitepaper will endow these existing services with additional capabilities and reach. Three examples are: Data feeds: Today, the majority of Chainlink users relying on smart contracts make use of data feeds. These are reports on the current value of key pieces of data according to authoritative off-chain sources. For example, price feeds are feeds reporting the prices of assets—cryptocurrencies, commodities, forex, indexes, equities, etc.—according to exchanges or data-aggregation services. Such feeds today already help secure billions of dollars in on-chain value through their use in DeFi systems such as Aave [147] and Synthetix [208]. Other examples of Chainlink data feeds include weather data for parametric crop insurance [75] and election data [93], among a number of others. The deployment of DONs and other technologies described in this paper will enhance provision of data feeds in Chainlink networks in many ways, including: • Scaling: OCR and subsequently DONs aim to enable Chainlink services to scale dramatically across the many blockchains they support. For example, we expect that DONs will help increase the number of data feeds provided by nodes using Chainlink from 100s to 1000s and beyond. Such scaling will help the Chainlink ecosystem achieve its goal of furnishing data relevant to smart contracts comprehensively and both meeting and anticipating existing and future needs.

• Enhanced security: By storing intermediate reports, DONs will retain records of node behaviors for high-fidelity monitoring and measurement of their performance and accuracy, enabling strong empirical grounding of reputation systems for Chainlink nodes. FSS and the TEF will enable price feeds to be incorporated with transaction data in flexible ways that prevent attacks such as front-running. (Explicit) staking will bolster existing cryptoeconomic protection of the security of data feeds. • Feed agility: As blockchain-agnostic systems (indeed, more broadly, consumeragnostic systems), DONs can facilitate the provision of data feeds to a multiplicity of relying systems. A single DON can push a given feed simultaneously to a set of different blockchains, eliminating the need for per-chain oracle networks and enabling rapid deployment of existing feeds on new blockchains and of additional feeds across currently serviced blockchains. • Confidentiality: The ability to perform generalized computation in a DON enables computations on sensitive data to take place offchain, avoiding on-chain exposure. Additionally, using DECO or Town Crier, it is possible to achieve even stronger confidentiality, allowing report generation based on data that isn’t exposed even to DON nodes. See Section 4.3 and Section 4.5 for examples. Verifiable Random Functions (VRFs): Several types of DApps require a verifiably correct source of randomness to enable verification of their own fair operation. Non-Fungible Tokens (NFTs) are an example. The rarity of NFT features in Aavegotchi [23] and Axie Infinity [35] is determined by Chainlink VRF, as is the distribution of NFTs by means of ticket-based drawings in Ether Cards [102]; the wide variety of gaming DApps whose outcomes are randomized; and unconventional financial instruments, e.g., no-loss savings games such as PoolTogether [89], which allocate funds to random winners. Other blockchain and non-blockchain applications also require secure sources of randomness, including selection of decentralized-system committees and the execution of lotteries. While block hashes can serve as a source of unpredictable randomness, they are vulnerable to manipulation by adversarial miners (and to some extent by users submitting transactions). Chainlink VRF [78] offers a considerably more secure alternative. An oracle has an associated private / public key pair (sk, pk) whose private key is maintained offchain and whose public key pk is published. To output a random value, it applies sk to an unpredictable seed x furnished by a relying contract (e.g., a block hash and DApp-specific parameters) using a function F, yielding y = Fsk(x) along with a proof of correctness. (See [180] for the VRF available on Chainlink.) What makes a VRF verifiable is the fact that with knowledge of pk, it is possible to check the correctness of the proof and therefore of y. The value y is consequently unpredictable to an adversary that cannot predict x or learn sk and infeasible for the service to manipulate.

Chainlink VRF may be viewed as just one of a family of applications that involve custodianship of private keys offchain. More generally, DONs can offer secure, decentralized storage of individual keys for applications and/or users, and combine this capability with generalized computation. The result is a host of applications, of which we give some examples in this paper, including key management for Proof of Reserves (see Section 4.1) and for users’ decentralized credentials (and other digital assets) (see Section 4.3). Keepers: Chainlink Keepers [87] enable developers to write code for decentralized execution of off-chain jobs, generally to trigger execution of relying smart contracts. Before the advent of Keepers, it was common for developers to operate such off-chain logic themselves, creating centralized points of failure (as well as considerable duplicated development effort). Keepers instead provide an easy-to-use framework for decentralized outsourcing of these operations, enabling shorter development cycles and strong assurance of liveness and other security properties. Keepers can support any of a wide variety of triggering goals, including price-dependent liquidation of loans or execution of financial transactions, time-dependent initiation of airdrops or payments in systems with yield harvesting, and so forth. In the DON framework, initiators may be viewed as a generalization of Keepers in several senses. Initiators may make use of adapters, and thus can leverage a modularized library of interfaces to on-chain and off-chain systems, permitting rapid development of secure, sophisticated functionality. Initiators initiate computation in executables, which themselves offer the full versatility of DONs, permitting the wide range of decentralized services we present in this paper for on-chain and off-chain applications. 3.6.4 Node Reputation / Performance History The existing Chainlink ecosystem natively documents the performance histories of contributing nodes on chain. This feature has given rise to a collection of reputationoriented resources that ingest, filter, and visualize performance data on individual node operators and data feeds. Users can reference these resources to make informed decisions in their selection of nodes and to monitor the operation of existing networks. Similar capabilities will help users choose DONs. For example, permissionless marketplaces today such as market.link allow node operators to list their oracle services and attest to their off-chain identities through services such as Keybase [4], which bind the profile of a node in Chainlink to its owner’s existing domain names and social media accounts. Additionally, performance analytics tools, such as those available at market.link and reputation.link, allow users to view statistics on the historical performance of individual nodes, including their average response latency, the deviation of values in their reports from consensus values relayed on chain, revenue generated, jobs fulfilled, and more. These analytics tools also allow users to track the adoption of various oracle networks by other users, a form of

implicit endorsement of the nodes securing such networks. The result is a flat “web of trust” in which, by using particular nodes, high-value decentralized applications create a signal of their trust in those nodes that other users can observe and factor into their own node-selection decisions. With DONs (and initially with OCR) comes a shift in transaction processing and contract activity more generally offchain. A decentralized model for recording node performance remains possible within the DON itself. Indeed, the high performance and data capacity of DONs make it possible to construct records in a fine-grained way and also to perform decentralized computation on these records, yielding trustworthy summaries that can be consumed by reputation services and checkpointed on MAINCHAIN. While it is possible for a DON in principle to misrepresent the behavior of constituent nodes if a large fraction of nodes is corrupted, we note that the collective performance of a DON itself in delivering on-chain data is visible on MAINCHAIN and thus cannot be misrepresented. Additionally, we plan to explore mechanisms that incentivize accurate internal reporting of node behaviors in a DON. For example, by reporting the subset of high-performing nodes that most quickly return data contributing to a report relayed on chain, a DON creates an incentive for nodes to contest incorrect reports: Incorrectly including nodes in this subset means incorrectly excluding nodes that should have been included and therefore invalidly penalizing them. Repeated reporting failures by a DON would also create an incentive for honest nodes to leave the DON. Decentralized compilation of accurate performance histories and the consequent ability of users to identify high-performing nodes and for node operators to build reputations are important distinguishing features of the Chainlink ecosystem. We show in Section 9 how we can reason about them as a key piece of a rigorous and expansive view of the economic security provided by 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.

Decentralized Services Enabled by Decentralized

Decentralized Services Enabled by Decentralized

Oracle Networks To illustrate the versatility of DONs and how they enable a host of new services, we present five examples of DON-based applications in this section and describe the hybrid contracts that realize them: (1) Proof of Reserves, a form of cross-chain service; (2) Interfacing with enterprise / legacy systems, that is, creating a middleware-based abstraction layer that facilitates development of blockchain applications with minimal blockchain-specific code or expertise; (3) Decentralized identity, tools enabling users to obtain and manage their own identity documents and credentials; (4) Priority channels, a service that ensures timely inclusion of critical-infrastructure transactions (e.g., oracle reports) on a blockchain; and (5) Confidentiality-preserving DeFi, that is, financial smart contracts that conceal the sensitive data of participating parties. Here, we

use SC to denote the MAINCHAIN part of a hybrid contract and describe the DON component separately or in terms of an executable exec. 4.1 Proof of Reserves For many applications, it is useful to relay state between or among blockchains. A popular application of such services is cryptocurrency wrapping. Wrapped coins such as WBTC [15] are becoming a popular asset in Decentralized Finance (DeFi). They involve depositing the “wrapped” backing asset on its source blockchain MAINCHAIN(1) and creating a corresponding token on a different, target blockchain MAINCHAIN(2). For example, WBTC is an ERC20 token on the Ethereum blockchain that corresponds to BTC on the Bitcoin blockchain. Because contracts on MAINCHAIN(2) do not have direct visibility into MAINCHAIN(1), they must rely explicitly or implicitly on an oracle to report on deposits of the wrapped asset in a smart contract, producing what is sometimes called a Proof of Reserves. In WBTC [15], for example, custodian BitGo holds BTC and issues WBTC, with the Chainlink network providing Proofs of Reserve [76]. A DON can itself provide a Proof of Reserves. With a DON, however, it is possible to go further. A DON can manage secrets and, through use of appropriate adapters, can transact on any desired blockchain. Consequently, it is possible for the DON to act as one among a number of custodians—or even as a sole, decentralized custodian—for a wrapped asset. DONs can thereby serve as a platform to enhance the security of existing services that use Proofs of Reserves. For example, suppose that MAINCHAIN(1) is Bitcoin and MAINCHAIN(2) is Ethereum. On MAINCHAIN(2), a contract SC issues tokens representing wrapped BTC. The DON controls a BTC address addr(1) DON. To wrap BTC, then, a user U sends X BTC from addr(1) U to addr(1) DON along with a MAINCHAIN(2)-address addr(2) U . The DON monitors addr(1) DON via an adapter to MAINCHAIN(1). On observing U’s deposit, with sufficiently high-probability confirmation, it sends a message to SC via an adapter to MAINCHAIN(2). This message instructs SC to mint X tokens for addr(2) U . For U to release X tokens, the reverse happens. On MAINCHAIN(1), however, addr(1) DON sends X BTC to addr(1) U (or to another address, if thus requested by the user). These protocols can be adapted, of course, to work with exchanges, rather than directly with users. 4.2 Interfacing with Enterprise / Legacy Systems DONs can serve as bridges between and among blockchains, as in the example of Proof of Reserves, but another objective is for them to act as bidirectional bridges between blockchains and legacy systems [176] or blockchain-like systems such as central bank digital currencies [30]. Enterprises face a number of challenges in connecting their existing systems and processes to decentralized systems, including:

• Blockchain agility: Blockchain systems change rapidly. An enterprise may confront the rapid new appearance or rise in popularity of blockchains on which counterparties wish to conduct transactions, but for which the enterprise has no support in its existing infrastructure. In general, blockchains’ dynamism makes it difficult for individual enterprises to remain abreast of the full ecosystem. • Blockchain-specific development resources: For many organizations, hiring or incubating cutting-edge blockchain expertise is difficult, particularly in view of the challenge of agility. • Private-key management: Managing private keys for blockchains or cryptocurrencies requires operational expertise distinct from that of traditional cybersecurity practices and unavailable to many enterprises. • Confidentiality: Enterprises are leery of exposing their sensitive and proprietary data on chain. To address the first three of these difficulties, developers can simply use a DON as a secure middleware layer to enable enterprise systems to read from or write to blockchains. The DON can abstract away detailed technical considerations such as gas dynamics, chain reorganization, and so forth, for both developers and users. By presenting a streamlined blockchain interface to enterprise systems, a DON can thus considerably simplify the development of blockchain-aware enterprise applications, removing the burden from enterprises of acquiring or incubating blockchain-specific development resources. Such use of DONs is especially attractive in that it enables enterprise developers to create smart-contract applications that are largely blockchain agnostic. As a result, the larger the set of blockchains for which a DON is instrumented to act as middleware, the larger the set of blockchains to which enterprise users can gain easy access. Developers can port applications from existing blockchains to new ones with minimal modification to their internally developed applications. To address the additional problem of confidentiality, developers can appeal to the tools we introduce in this paper and expect to deploy in support of DON applications. These include DECO and Town Crier Section 3.6.2 as well as confidentiality-preserving API modifications discussed in Section 7.1.2 and a number of application-specific approaches covered in the remainder of this section. These DON systems can provide high-integrity, on-chain attestations about enterprise system state without revealing sensitive enterprise source data on chain. 4.3 Decentralized Identity Decentralized identity is a general term for the notion that users should be able to obtain and manage their own credentials, rather than relying on third parties to do so. Decentralized credentials are attestations to attributes or assertions of the holder,

which are often called claims. Credentials are digitally signed by entities, often called issuers, that can authoritatively associate claims with users. In most proposed schemes, claims are associated with a Decentralized Identifier (DID), a universal identifier for a given user. Credentials are bound to a public key whose private key the user holds. The user can thus prove possession of a claim using her private key. Visionary as decentralized identity is, existing and proposed schemes, e.g., [14, 92, 129, 216], have three severe limitations: • Lack of legacy compatibility: Existing decentralized identity systems rely on a community of authorities, called issuers, to produce DID credentials. Because existing web services do not generally digitally sign data, issuers must be launched as special-purpose systems. Because there is no incentive to do this without a decentralized-identity ecosystem, a chicken-and-the-egg problem results. In other words, it’s unclear how to bootstrap an issuer ecosystem. • Unworkable key management: Decentralized identity systems require users to manage private keys, something that experience with cryptocurrency has shown to be an unworkable onus. It is estimated that some 4,000,000 Bitcoin have been lost forever because of key management failures [194], and many users store their crypto assets with exchanges [193], thereby undermining decentralization. • Lack of privacy-preserving Sybil resistance: A basic security requirement of applications such as voting, fair allocation of tokens during token sales, etc. is that users be unable to assert multiple identities. Existing decentralized identity proposals require users to reveal their real-world identities in order to achieve such Sybil resistance, thereby undermining important privacy assurances. It is possible to address these problems using a combination of a committee of nodes performing distributed computation within a DON and the use of tools such as DECO or Town Crier, as shown in a system called CanDID [160]. DECO or Town Crier can by design turn existing web services without modification into confidentiality-preserving credential issuers. They enable a DON to export relevant data for this purpose into a credential while concealing sensitive data that should not appear in the credential. In addition, to facilitate key recovery for users, thus addressing the key-management problem, a DON can allow users to store private keys in secret-shared form. Users can recover their keys by proving to the nodes in the DON—similarly, using Town Crier or DECO—an ability to log into accounts with a set of predetermined web providers (e.g., Twitter, Google, Facebook). The benefit of using Town Crier or DECO, as opposed to OAUTH, is user privacy. Those two tools enable a user to avoid revealing to the DON a web provider identifier—from which real-world identities can often be derived. Finally, to provide Sybil resistance, as shown in [160], it is possible for a DON to perform a privacy-preserving transformation of unique real-world identifiers for users (e.g., Social Security Numbers (SSNs)) into on-chain identifiers upon user registration.

The system can thereby detect duplicate registrations without sensitive data such as SSNs being revealed to individual DON nodes.7 A DON can provide any of these services on behalf of external decentralized identity systems on permissionless or permissioned blockchains, e.g., instances of Hyperledger Indy [129]. Example application: KYC: Decentralized identity holds promise as a means to streamline requirements for financial applications on blockchains while improving user privacy. Two challenges it can help address are accreditation and compliance obligations under anti-money-laundering / know-your-customer (AML / KYC) regulations. AML regulations in many countries require financial institutions (and other businesses) to establish and verify the identities of individuals and businesses with which they perform transactions. KYC forms one component of a financial institution’s broader AML policy, which also typically involves monitoring user behaviors and watching fund flows, among other things. KYC typically involves user presentation of identity credentials in some form (e.g., entry into an online web form, holding up an identity document in front of a user’s face in a video session, etc.). Secure creation of and presentation of decentralized credentials could in principle be a beneficial alternative in several respects, namely by: (1) Making the KYC process more efficient for users and financial institutions, because once a credential is obtained, it could be presented seamlessly to any financial institution; (2) Reducing fraud by reducing opportunities for identity theft through compromise of personally identifiable information (PII) and spoofing during video verification; and (3) Reducing the risk of PII compromise in financial institutions, as users retain control of their own data. Given the multi-billion-dollar penalties paid by financial institutions for AML compliance failures, and the many financial institutions spending millions of dollars annually on KYC, improvements could yield considerable savings for financial institutions and, by extension, for consumers [196]. While the traditional financial sector is slow to adopt new compliance tools, DeFi systems are increasingly embracing it [43]. Example application: Under-collateralized loans: Most DeFi applications that support lending today originate only fully collateralized loans. These are loans made to borrowers who deposit cryptocurrency assets of value exceeding that of the loans. Interest has arisen recently in what the DeFi community generally refers to as undercollateralized loans. These, by contrast, are loans for which the corresponding collateral has value that is less than that of the principal of the loan. Under-collateralized loans resemble loans often made by traditional financial institutions. Rather than relying on deposited collateral as a guarantee of loan repayment, they instead base lending decisions on the credit histories of borrowers. 7This transformation relies on a distributed pseudorandom function (PRF).

Under-collateralized loans constitute a nascent but growing part of the DeFi lending market. They rely upon mechanisms like those employed by traditional financial institutions, such as legal contracts [91]. An essential requirement for their growth will be the ability to furnish data on user creditworthiness—a key factor in conventional lending decisions—to DeFi systems in a way that provides strong integrity, i.e., assurance of correct data. A DON-enabled decentralized identity system would enable would-be borrowers to generate high-assurance credentials attesting to their creditworthiness while preserving the confidentiality of sensitive information. Specifically, borrowers can generate these credentials based on records from authoritative online sources while exposing only the data attested to by the DON, without exposing other, potentially sensitive data. For example, a borrower can generate a credential indicating that her credit score with a set of credit bureaus exceeds a particular threshold (e.g., 750), without revealing her precise score or any other data in her records. Additionally, if desired, such credentials can be generated anonymously, i.e., the user’s name can be treated as sensitive data and itself not exposed to oracle nodes or in her decentralized credential. The credential itself can be used on chain or offchain, depending on the application. In summary, a borrower can provide essential information to lenders on their credit histories with strong integrity and without risk of exposure of unnecessary, sensitive data. A borrower can also provide a variety of other confidentiality-preserving credentials helpful in making lending decisions. For example, credentials can attest to a borrower’s possession of (off-chain) assets, as we show in our next example. Example application: Accreditation: Many jurisdictions limit the class of investor to which unregistered securities may be sold. For example, in the U.S., SEC Regulation D stipulates that to be accredited for such investment opportunities, an individual must possess a net worth of $1 million, meet certain minimum income requirements, or have certain professional qualifications [209, 210]. Current accreditation processes are cumbersome and inefficient, often requiring a letter of attestation from an accountant, or similar evidence. A decentralized identity system would enable users to generate credentials from existing online financial services accounts that prove compliance with accreditation regulations, facilitating a more efficient and privacy-preserving KYC process. The privacy-preserving properties of DECO and Town Crier, moreover, would allow these credentials to be generated with a strong assurance of integrity without directly revealing details of a user’s financial status. For example, a user could generate a credential proving that she has a net worth of at least $1 million without revealing any additional information about her financial status. 4.4 Priority Channels Priority channels are a useful new service that is easy to build using a DON. Their

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

goal is to deliver select, high-priority transactions in a timely way on MAINCHAIN during periods of network congestion. Priority channels may be viewed as a form of futures contract on block space and thus as a cryptocommodity, a term coined as part of Project Chicago [61, 136]. Priority channels are intended specifically for miners to enable infrastructure services, such as oracles, governance functions for contracts, etc.—not for ordinary userlevel activities such as financial transactions. In fact, as designed here, a priority channel implemented by less than 100% of the mining power in the network can only provide loose bounds on delivery times, preventing its use for highly speed-dependent goals such as front-running. Figure 10: A priority channel is a guarantee by a miner M—or, more generally, a set of miners M—to a user U that her transaction \(\tau\) will be mined within D blocks of inclusion in the mempool. A contract SC can use DON monitoring to enforce the service terms of the channel. A priority channel takes the form of an agreement between a miner or set of miners (or mining pools) M that provides the channel and a user U that pays a fee for access. M agrees that when U submits a transaction \(\tau\) to the mempool (with any gas price,

but a pre-agreed-upon gas limit), M will place it on chain within the next D blocks.8 The idea is depicted schematically in Fig. 10. Priority-channel contract description: A priority channel may be realized as a hybrid smart contract roughly as follows. We let SC denote the logic on MAINCHAIN and that on the DON by exec. SC accepts a deposit / stake \(d from M and an advance payment \)p from U. A DON executable exec monitors the mempool, triggering on placement of a transaction by U. It sends a success message to SC if U submits a transaction that M mines in a timely way and a failure message in case of a service failure. SC sends payment $p to M given a success message and sends all remaining funds, including $d, to U if it receives a failure message. Upon successful termination, it releases deposit $d to M. The miner M can of course provide priority channels simultaneously to multiple users and can open a priority channel with U for a pre-agreed-upon number of messages. 4.5 Confidentiality-Preserving DeFi / Mixicles Today, DeFi applications [1] provide little to no confidentiality for users: All transactions are visible on chain. Various zero-knowledge-based approaches, e.g., [149, 217], can provide transaction privacy, and the TEF is general enough to support them. But these approaches are not comprehensive, and do not, for example, typically conceal the asset on which a transaction is based. The broad set of computational tools we ultimately intend to support in DONs will enable privacy in a number of different ways that can plug such gaps, helping complement the privacy assurances of other systems. For example, Mixicles, a confidentialitypreserving DeFi instrument proposed by Chainlink Labs researchers [135], can conceal the asset type backing a financial instrument, and fit very naturally into the DON framework. Mixicles are most easily explained in terms of their use to realize a simple binary option. A binary option is a financial instrument in which two users, which we’ll refer to here for consistency with [135] as players, bet on an event with two possible outcomes, e.g., whether or not an asset exceeds a target price at a predesignated time. The following example illustrates the idea. Example 2. Alice and Bob are parties to a binary option based on the value of an asset called Carol’s Bubble Token (CBT). Alice bets that CBT will have a market price of at least 250 USD at time T = noon on 21 June 2025; Bob bets the reverse. Each player deposits 100 ETH by a prespecified deadline. The player with the winning position receives 200 ETH (i.e., gains 100 ETH). 8D must of course be large enough to ensure that M can comply with high probability. For instance, if M controls 20% of the mining power in the network, it might choose D = 100, ensuring a failure probability of ≈2 × 10−10, i.e., less than one in a billion.

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

Given an existing Chainlink oracle network O, it is easy to implement a smart contract SC that realizes the agreement in Example 2. The two players each deposit 100 ETH in SC. Sometime after T, a query q is sent to O requesting the price r of CBT at time T. O sends a report r of this price to SC. SC then sends money to Alice if \(r \geq 250\) and Bob if not. This approach, however, reveals \(r\) on chain—making it easy for an observer to deduce the asset underlying the binary option. In the terminology of Mixicles, it is helpful to think conceptually of the outcome of SC in terms of a Switch that transmits a binary value computed as a predicate switch(\(r\)). In our example, switch(\(r\)) = 0 if \(r \geq 250\); given this outcome, Alice wins. Otherwise switch(r) = 1 and Bob wins. A DON can realize a basic Mixicle as a hybrid contract by running an executable exec that computes switch(r) and reports it on chain to SC. We show this construction in Fig. 11. Figure 11: Diagram of basic Mixicle in Example 2. To provide on-chain secrecy for report r, and thus the asset underlying the binary option, the oracle sends to the contract SC via Switch only the binary value switch(r). We specify an adapter ConfSwitch in Appendix C.3 that makes it easy to achieve this goal in a DON. The basic idea behind ConfSwitch is quite simple. Instead of reporting the value r, ConfSwitch reports only the binary switch value switch(r). SC can be designed to make a correct payment based on switch(r) alone, and switch(r) by itself reveals no information about the underlying asset—CBT in our example. Additionally, by placing a ciphertext on (q, r) on the ledger encrypted under pkaud, the public key of an auditor, the adapter ConfSwitch creates a confidentiality-preserving audit trail. The basic Mixicle we’ve chosen for simplicity to describe here conceals only the asset and bet behind the binary option in our example. A full-blown Mixicle [135] can provide two forms of confidentiality. It conceals from observers: (1) What event the players bet on (i.e., q and r) but also (2) Which player won the bet. Since Mixicles are executed on MAINCHAIN, either one player would need to relay switch(r) from the DON to MAINCHAIN, or an executable exec could be created that

is triggered on output by ConfSwitch and calls another adapter to send switch(r) to MAINCHAIN. A third, subtle type of confidentiality is also worth considering. In a basic implementation of ConfSwitch, O is running the adapter on the DON and thus learns the asset—CBT in our example—and thus the nature of the binary option. As discussed in Appendix C.3, however, it is additionally possible to use DECO or Town Crier to conceal even this information from O. In this case, the O learns no more information than a public observer of SC. For further details on Mixicles, we refer readers to [135].

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].

Fair Sequencing Services

Fair Sequencing Services

One important service that we expect DONs will offer that leverages their networking, computation, and storage capabilities is called Fair Sequencing Services (FSS). Although FSS may be viewed simply as an application realized within the DON framework, we highlight it as a service that we believe will be in high demand across blockchains, and which we expect the Chainlink network to support actively. When executed on public blockchain networks, many of today’s DeFi applications reveal information that can be exploited by users to their own benefit, analogous to the kind of insider leaks and manipulation opportunities that are pervasive in existing markets [64, 155]. FSS instead paves the way toward a fair DeFi ecosystem. FSS helps developers to build DeFi contracts that are protected from market manipulation resulting from information leakage. Given the problems we highlight below, FSS is especially attractive for layer-2 services and fits within the framework for such services that we discuss in Section 6. The challenge: In existing permissionless systems, transactions are ordered entirely at the discretion of miners. In permissioned networks, the validator nodes may exert the same power. This is a form of largely unrecognized ephemeral centralization in otherwise decentralized systems. A miner can (temporarily) censor transactions for its own benefit [171] or reorder them to maximize its own gain, a notion called minerextractable value (MEV) [90]. The term MEV is slightly deceptive: It does not refer only to value that miners can capture: Some MEV can be captured by ordinary users. Because miners have more power than ordinary users, however, MEV represents an upper bound on the amount of value any entity can obtain through adversarial reordering and complementary transaction insertion. Even when miners order transactions simply based on fees (gas), without manipulation, users themselves can manipulate gas prices to advantage their transactions over those of less sophistication. Daian et al. [90] document and quantify ways in which bots (not miners) take advantage of gas dynamics in a way that harms users of DeFi systems today and how MEV even threatens the stability of the underlying consensus layer in a blockchain. Other examples of transaction-order manipulation surface regularly, e.g., [50, 154].

New transaction-processing methods such as rollups are a very promising approach to the scaling problems of high-throughput blockchains. They do not, however, address the problem of MEV. Instead, they shift it to the entity that generates the rollup. That entity, whether the operator of a smart contract or a user furnishing a (zk-)rollup with a validity proof, has the power to order and insert transactions. In other words, rollups swap MEV for REV: Rollup-Extractable Value. MEV affects upcoming transactions that have been submitted to the mempool but are not yet committed on chain. Information about such transactions is broadly available in the network. Miners, validators, and ordinary network participants can therefore exploit this knowledge and create dependent transactions. In addition, miners and validators may influence the order of those transactions that they commit themselves and exploit this to their advantage. The problem of undue influence by leaders on transaction ordering in consensus protocols has been known in the literature since the 1990s [71, 190], but no satisfying solutions have been realized in practice so far [97]. The main reason is that proposed solutions—at least until very recently—cannot readily be integrated with public blockchains, as they rely on the content of transactions remaining secret until after their ordering has been determined. Fair Sequencing Services (FSS) overview: DONs will provide tools to decentralize transaction ordering and implement it according to a policy specified by a relying contract creator, ideally one that is fair, and not advantaging actors who wish to manipulate transaction ordering. Collectively, these tools constitute FSS. FSS includes three components. The first is monitoring of transactions. In FSS, oracle nodes in O both monitor the mempool of MAINCHAIN and (if desired) permit off-chain submission of transactions through a specialized channel. The second is sequencing of transactions. The nodes in O order transactions for a relying contract according to a policy defined for that contract. The third is posting of transactions. After the transactions are ordered, the nodes in O jointly send the transactions to the main chain. The potential benefits of FSS include: • Order-fairness: FSS includes tools to help developers ensure that transactions input to a particular contract are ordered in a way that does not give an unfair advantage to well-resourced and/or technically savvy users. Ordering policies can be specified for this purpose. • Reduction or elimination of information leaks: By ensuring that network participants cannot exploit knowledge about upcoming transactions, FSS can abate or eliminate attacks like front-running that are based on information available in the network before transactions are committed. Preventing exploitation of such leakage ensures that adversarial transactions which depend on original pending transactions cannot enter the ledger before the original transactions are committed.

• Reduced transaction cost: By eliminating players’ need for speed in submitting their transactions to a smart contract, FSS can greatly reduce the cost of transaction processing. • Priority ordering: FSS can automatically give critical transactions special priority ordering. For example, in order to prevent front-running attacks against oracle reports, e.g., [79], FSS can insert an oracle report into a stream of transactions retroactively. An overarching goal of the FSS in DONs is to empower DeFi creators to realize fair financial systems, that is, systems that don’t advantage particular users (or miners) over others on the basis of speed, insider knowledge, or ability to perform technical manipulation. While a crisp, general notion of fairness is elusive, and perfect fairness in any reasonable sense is unachievable, FSS aims to provide developers with a powerful set of tools so that they can enforce policies that help meet their design goals for DeFi. We note that while the main goal of FSS is to act as a fair sequencing service for the MAINCHAIN that DONs target, some of the same fairness desiderata that FSS guarantees can also be appropriate for (decentralized) protocols that are run among DON parties. Thus, FSS can be viewed more broadly as a service provided by a subset of DON nodes to fairly sequence not only transactions sent by users of MAINCHAIN but also transactions (i.e., messages) shared among other DON nodes. In this section, we will focus primarily on the goal of sequencing MAINCHAIN transactions. Section organization: In Section 5.1, we describe two high-level applications that motivate the design of FSS: preventing front-running of oracle reports and preventing front-running of user transactions. We then provide more details on the design of FSS in Section 5.2. Section 5.3 describes examples of fair ordering guarantees and means to achieve them. Finally, Section 5.4 and Section 5.5 discuss network-level threats to such policies and means to address them, respectively for network flooding and Sybil attacks. 5.1 The Front-Running Problem To explain the goals and design of FSS, we describe two general forms of front-running attacks and the limitations of existing solutions. Front-running exemplifies a class of transaction-ordering attacks: There are a number of related attacks such as backrunning and sandwiching (front-running plus back-running) [237] that we don’t cover here, but which FSS also helps address. 5.1.1 Oracle Front-Running In their traditional role of providing off-chain data to blockchain applications, oracles become a natural target for front-running attacks.

Consider the common design pattern of using an oracle to supply various price feeds to an on-chain exchange: periodically (say every hour), the oracle collects price data for different assets and sends these to an exchange contract. These price-data transactions present obvious arbitrage opportunities: For example, if the newest oracle report lists a much higher price for some asset, an adversary could front-run the oracle report to buy up assets and immediately resell them once the oracle’s report is processed. Speed bumps and retroactive pricing: A natural solution to the oracle frontrunning problem is to give oracle reports special priority over other transactions. For example, oracle reports could be sent with high fees to encourage miners to process them first. But this will not prevent front-running if the arbitrage opportunity is high, nor can it prevent arbitrage by the miners themselves. Some exchanges have thus resorted to implementing more heavyweight “speedbumps,” such as queuing user transactions for a number of blocks before processing them, or retroactively adjusting prices when a new oracle report arrives. The disadvantages of these solutions are that they add complexity to the exchange implementation, increase storage requirements and thus transaction costs, and disrupt the user experience as asset exchanges are only confirmed after a significant time period. Piggybacking: Before moving on to FSS, we discuss piggybacking, a quite simple and elegant solution to the oracle front-running problem. It is not applicable to address front-running in other scenarios, however. In short, instead of periodically sending reports to the on-chain contract, oracles publish signed reports that users append to their transactions when buying or selling on-chain assets. The exchange then simply checks that the report is valid and fresh (e.g., the oracle can sign a range of blocks for which the report is valid), and extracts the relevant price feed from it. This simple approach has a number of advantages over the above “speed bump” approach: (1) The exchange contract need not keep state of price feeds, which should lead to lower transaction costs; (2) As oracle reports are posted on chain on a byneed basis, oracles can generate more frequent updates (e.g., every minute), thereby minimizing arbitrage opportunities from front-running a report9; (3) Transactions can be validated immediately, as they always include a fresh price feed. The approach is not perfect, however. First, this piggybacking solution puts the onus on the exchange’s users to fetch up-to-date oracle reports and attach them to their transactions. Second, while piggybacking minimizes arbitrage opportunities, it cannot fully prevent them without affecting the liveness of the on-chain contract. Indeed, if an oracle report is valid until some block number n, then a transaction submitted to block n + 1 would require a new valid report. Due to inherent delays in the propagation of reports from oracles to users, the new report that is valid for block n + 1 would have 9Arbitrage is only worthwhile if the exploitable difference in asset prices exceeds the extraneous fees required to buy and sell the assets, e.g., those collected by miners and the exchange.

to be publicized some period before block n + 1 is mined, say at block n −k, thereby creating a sequence of k blocks where a short-lived arbitrage opportunity exists. We now describe how FSS gets around these limitations. Prioritizing oracle reports with FSS: FSS can address the oracle front-running problem by building upon the above piggybacking solution, but pushing the additional work of augmenting transactions with oracle reports to the Decentralized Oracle Network. At a high level, oracle nodes collect transactions destined for an on-chain exchange, agree on a real-time price feed, and post the price feed along with the collected transactions to the main-chain contract. Conceptually, one can think of this approach as a “data-augmented transaction batching”, where the oracle ensures that an up-to-date price feed is always added to transactions. FSS solutions can be implemented transparently to the exchange’s users, and with minimal changes to contract logic, as we describe in more detail in Section 5.2. Ensuring that fresh oracle reports are always prioritized over user transactions is just one example of an ordering policy that FSS can adopt and enforce. Policies of FSS for ensuring order fairness are described more generally in Section 5.3. 5.1.2 Front-Running User Transactions We now turn to front-running in generic applications, where the defense method above does not work. The problem can be captured broadly through the following scenario: An adversary sees some user transaction tx1 sent into the P2P network and injects its own adversarial transaction tx2, so that tx2 is processed before tx1 (e.g., by paying a higher transaction fee). For instance, this kind of front-running is common among bots that exploit arbitrage opportunities in DeFi systems [90] and has affected users of various decentralized applications [101]. Imposing a fair order among the transactions processed on the blockchain addresses this problem. More fundamentally, seeing the details of tx1 is sometimes not even necessary and knowledge of its mere existence may allow an adversary to front-run tx1 through its own tx2 and defraud the innocent user that created tx1. For example, the user might be known to trade a particular asset at regular times. Preventing such attacks requires mitigations that avoid leakage of metadata as well [62]. Some solutions for this problem exist, but they introduce delays and usability concerns. From network-order to finalized-order with FSS: Opportunities for front-running arise because existing systems have no mechanisms to ensure that the order in which transactions appear on chain respects the order of events and the information flow outside the network. This represents a problem arising from deficiencies in the implementation of applications (e.g., trading platforms) on a blockchain. Ideally, one would ensure that transactions are committed on the blockchain in the same order as they were created and sent to the blockchain’s P2P network. But since the blockchain network

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

is distributed, no such order can be captured. FSS therefore introduces mechanisms to safeguard against violations of fairness, which arise only because of the distributed nature of the blockchain network. 5.2 FSS Details Figure 12: Order-fair mempool with two different transaction paths: direct and mempool-based. Fig. 12 shows a general schematic of the FSS. For ensuring fairness, the DON providing FSS must interfere with the flow of transactions as they enter MAINCHAIN. Adjustments to clients, to smart contracts on MAINCHAIN, or to both may be necessary. At a high level, processing of transactions by FSS can be decomposed into three phases, described below: (1) Transaction monitoring; (2) Transaction sequencing; and (3) Transaction posting. Depending on the ordering method used for transaction sequencing, additional protocol steps are needed, as described in the next section. 5.2.1 Transaction Processing Transaction monitoring: We envision two different approaches for FSS to monitor user transactions destined for a specific smart contract, direct and mempool-based: • Direct: The direct approach is conceptually simplest, but requires changes to user clients so that transactions are sent directly to the Decentralized Oracle

Network nodes, rather than to the nodes of the main chain. The DON collects user transactions destined to a specific smart contract SC and orders them based on some ordering policy. The DON then sends the ordered transactions to the smart contract on the main chain. Some ordering mechanisms also require the direct approach because the user that creates a transaction must cryptographically protect it before sending it to FSS. • Mempool-based: To facilitate the integration of FSS with legacy clients, the DON can use Mempool Services (MS) to monitor the main chain’s mempool and collect transactions. Direct transmission is likely to be the preferred implementation for many contracts, and we believe it should be fairly practical in many cases. We briefly discuss how existing DApps could be minimally modified to support direct transmission while preserving a good user experience. We describe approaches using Ethereum and MetaMask [6] since these are the most popular choices today, but the mentioned techniques should extend to other chains and wallets. A recent Ethereum Improvement Proposal, “EIP-3085: Wallet add Ethereum chain RPC method” [100], will make it easy to target custom Ethereum chains (using a different CHAIN ID than that of MAINCHAIN to prevent replay attacks) from MetaMask and other browserbased wallets. After implementation of this proposal, a DApp seeking to use a DON would simply add a single method call to their front-end to be able to directly transmit transactions to any DON exposing an Ethereum-compatible API. In the meantime, “EIP-712: Ethereum typed structured data hashing and signing” [49] provides a slightly more involved but already widely deployed alternative, where a DApp user can use MetaMask to sign structured data specifying a DON transaction. The DApp can send this signed structured data to the DON. Finally, we note that hybrid approaches are also possible. For example, legacy clients can continue to send transactions into the main chain’s mempool, but critical transactions (e.g., oracle reports) are sent to DON nodes directly (in particular, the set of nodes providing oracle reports such as price-feed updates and the set of nodes providing FSS may overlap or be identical). Transaction sequencing: The main purpose of FSS is to guarantee that user transactions are ordered according to a pre-defined policy. The nature of this policy will depend on the application’s needs and the types of unfair transaction orderings that it aims to prevent. Since FSS on the DON is capable of processing data and maintaining local state, they may impose an arbitrary sequencing policy based on the information that is available at the oracles. The particular ordering policies and their implementation are discussed subsequently in Section 5.3.

Transaction posting: After collecting and ordering user transactions, received either directly from users or collected from the mempool, the DON sends these transactions to the main chain. As such, a DON’s interactions with the main chain remain subject to (potentially unfair) transaction ordering governed by the main chain’s miners. To harness the benefits of decentralized transaction ordering, the target smart contract SC thus has to be designed to treat the DON as a “first-class” citizen. We distinguish two approaches: • DON-only contracts: The simplest design option is to have the main chain smart contract SC only accept transactions that have been processed by the DON. This ensures that the smart contract processes transactions in the order proposed by the DON, but de-facto restricts the smart contract to operating in a committeebased system (i.e., the DON committee now has ongoing power to determine the ordering and inclusion of transactions). • Dual-class contracts: A preferred, more granular design has the main chain smart contract SC accept transactions originating both from the DON and from legacy users,10 but places traditional “speed bumps” on transactions that were not processed by the DON. For example, transactions from the DON may be processed immediately, whereas legacy transactions get “buffered” by the smart contract for a fixed period of time. Other standard mechanisms for preventing front-running such as commit-reveal schemes or VDFs [53] could also be applied to legacy transactions. This ensures that DON-ordered transactions do get processed in the order agreed upon, without giving the DON the unwanted power to censor transactions. As the imposition of transaction ordering by FSS requires that transactions are aggregated “off-chain,” this solution is naturally combined with other aggregation techniques that aim to reduce on-chain processing costs. For example, after collecting and ordering transactions, the DON may send these transactions to the main chain as a single “batched transaction” (e.g., a rollup), thereby reducing the aggregate transaction fee. Enforcing the transaction order: Whether in a DON-only or dual-class design, the main chain smart contract SC and the DON have to be co-designed so as to guarantee that the DON’s transaction ordering is upheld. Here also, we envision different design options: • Sequence numbers: The DON can append a sequence number to each transaction, and send these transactions into the main chain’s mempool. The main 10If the DON’s transaction monitoring is based on the mempool, legacy transactions must be distinguishable from DON transactions so that they are not collected by the DON, e.g., via a special tag embedded in the transaction or by specifying a particular gas price, e.g. DON transactions have gas prices below a certain threshold.

chain smart contract SC ignores transactions that arrive “out-of-sequence.” We note that in this setting, the main-chain miners can decide to ignore the DON’s transaction ordering, thereby causing transactions to fail. It is possible by keeping (expensive) state for SC to enforce correct transaction ordering, somewhat analogously to how TCP buffers out-of-order packets until missing packets are received. • Transaction nonces: For many blockchains, and in particular for Ethereum, the above sequence-numbering approach can leverage built-in transaction nonces to enforce that the main-chain smart contract SC processes transactions in sequence. Here, the DON nodes send transactions to the main chain through a single mainchain account, protected with a key shared among the DON nodes. The account’s transaction nonce ensures that transactions are mined and processed in the correct order. • Aggregate transactions: The DON can aggregate multiple transactions in a rollup (or in a bundle similar to a rollup). The main-chain smart contract needs to be designed to handle such aggregate transactions. • Aggregate transactions with a main chain proxy: Here, the DON similarly bundles transactions into one “meta-transaction” for the main chain, but relies on a custom proxy smart contract to unpack the transactions and relay them to the target contract SC. This technique can be useful for legacy compatibility. Metatransactions act like rollups but differ in that they consist of an uncompressed list of transactions posted once to the main chain. The last design has the advantage of seamlessly supporting user transactions that are themselves proxied through a main chain contract before reaching the DON’s target contract SC. For example, consider a user who sends a transaction to some wallet contract, which in turn sends an internal transaction to SC. Assigning a sequence number to such a transaction would be tricky, unless the user’s wallet contract is specially designed to forward the sequence number with every internal transaction to SC. Similarly, such internal transactions cannot be easily aggregated into a metatransaction that is sent directly to SC. We discuss further design considerations for such proxied transactions below. 5.2.2 Transaction Atomicity Our discussion thus far has implicitly assumed that transactions interact with a single on-chain smart contract (e.g., a user sends a buy request to an exchange). Yet, in systems such as Ethereum, a single transaction can consist of multiple internal transactions, e.g., one smart contract calling a function in another contract. Below, we describe two high-level strategies for sequencing “multi-contract” transactions, while preserving the atomicity of the transaction (i.e., the sequence of actions prescribed by the transaction are all executed in the correct order, or not at all).

Strong atomicity: The simplest solution is to apply FSS, as described above, directly to entire “multi-contract” transactions. That is, users send their transactions into the network and FSS monitors, sequences, and posts these transactions to the main chain. This approach is technically simple, but has one potential limitation: If a user transaction interacts with two contracts SC1 and SC2 that both want to leverage fair sequencing services, then the sequencing policy of these two contracts has to be consistent. That is, given two different transactions tx1 and tx2 that each interacts with both SC1 and SC2, it must not be the case that the policy of SC1 orders tx1 before tx2 whereas the policy of SC2 prescribes the opposite order. For the vast majority of scenarios of interest, we envision that the sequencing policies adopted by different contracts will be consistent. For example, both SC1 and SC2 may want transactions to be ordered by their approximate arrival time in the mempool, and SC1 may further want certain oracle reports to always be delivered first. As the latter oracle report transactions do not interact with SC2, the policies are consistent. Weak atomicity: In its full generality, FSS could be applied at the level of individual internal transactions. Consider transactions of the form tx = { ˜txpre, ˜txSC, ˜txpost}, consisting of some initial transaction(s) ˜txpre, which results in an internal transaction ˜txSC to SC, which in turn issues internal transaction(s) ˜txpost. The sequencing policy of SC might determine how the internal transaction ˜txSC has to be ordered with respect to other transactions sent to SC, but leave open the sequencing order for ˜txpre and ˜txpost. Given the intrinsics of transaction processing in systems such as Ethereum, developing a sequencing service that targets specific internal transactions is not straightforward. With a specially designed contract SC, this may be realizable as follows: 1. The transaction tx is sent into the network and mined (without any sequencing performed by FSS). The initial ˜txpre is executed, and calls ˜txSC. 2. SC does not execute ˜txSC and returns. 3. FSS monitors internal transactions to SC, sequences them, and posts them back to SC (i.e., by sending transactions ˜txSC directly to SC). 4. SC processes the transactions ˜txSC received from FSS, and issues internal transactions ˜txpost that result from ˜txSC. With this approach, transactions are not executed fully atomically (i.e., the original transaction tx gets broken up into multiple on-chain transactions), but the ordering of internal transactions is preserved. This solution entails a number of design constraints. For example, ˜txpre cannot assume that ˜txSC and ˜txpost will be executed. Moreover, SC should be designed so as to execute transactions ˜txSC and ˜txpost on behalf of a certain user, even though they were

sent by FSS. For these reasons, the more coarse-grained “Strong Atomicity” solution above is likely preferable in practice. For respecting more complex dependencies, involving multiple transactions and their respective internal transactions, the transaction scheduler of FSS may contain elaborate functions that resemble those found in transaction managers of relational database managers. 5.3 Fair Transaction Sequencing Here we discuss two notions of fairness for transaction sequencing and the corresponding implementations, which may be realized by FSS: order-fairness based on a policy imposed by FSS and secure causality preservation, which requires additional cryptographic methods in FSS. Order-fairness: Order-fairness is a notion of temporal fairness in consensus protocols that has first been introduced formally by Kelkar et al. [144]. Kelkar et al. aim to achieve a form of natural policy in which transactions are ordered based on the time they are first received by the DON (or the P2P network, in the case of a mempool-based FSS). In a decentralized system, however, different nodes may see transactions arrive in a different order. Establishing a total order on all transactions is the very problem solved by the consensus protocol underlying MAINCHAIN. Kelkar et al. [144] therefore introduce a weaker notion that can be achieved with the help of a Decentralized Oracle Network, called “block-order fairness.” It groups the transactions that the DON has received during a time interval into a “block” and inserts all transactions of the block concurrently and at the same position (i.e., height) into MAINCHAIN. They are thus ordered together and must be executable in parallel, without creating any conflicts among them. Roughly speaking, orderfairness then states that if a large fraction of nodes see transaction \(\tau_1\) before \(\tau_2\), then \(\tau_1\) will be sequenced before or in the same block as \(\tau_2\). By imposing such a coarse granularity on transaction order, the opportunities for front-running and other orderrelated attacks are greatly reduced. Kelkar et al. propose a family of protocols called Aequitas [144], which address different deployment models, including synchronous, partially synchronous, and asynchronous network settings. Aequitas protocols impose significant communication overhead relative to basic BFT consensus and are therefore not ideal for practical use. We believe, however, that practical variants of Aequitas will emerge that can be used for transaction sequencing in FSS and other applications. Some related schemes have already been proposed that have less accompanying formalism and weaker properties, e.g., [36, 151, 236], but better practical performance. These schemes can be supported in FSS as well. It is also worth noting that the term “fairness” appears elsewhere in the blockchain literature with a different meaning, namely fairness in the sense of opportunity for

miners proportional to their committed resources [106, 181] or for validators in terms of equal opportunity [153]. Secure causality preservation: The most widely known approach to prevent frontrunning and other ordering violations in distributed platforms relies on cryptographic techniques. Their common feature is to hide the transaction data itself, waiting until the order at the consensus layer has been established, and to reveal the transaction data later for processing. This preserves the causal order among the transactions that are executed by the blockchain. The relevant security notions and cryptographic protocols have been developed considerably before the advent of blockchains [71, 190]. The security conditions of “input causality” [190] and “secure causality preservation” [71, 97] require formally that no information about a transaction becomes known before the position of this transaction in the global order has been determined. An adversary must not be able to infer any information until that time, in a cryptographically strong sense. One can distinguish four cryptographic techniques to preserve causality: • Commit-reveal protocols [29, 142, 145]: Instead of a transaction being announced in the clear, only a cryptographic commitment to the transaction is broadcast. After all committed but hidden transactions have been ordered (in early blockchain systems on MAINCHAIN itself, but here by FSS), the sender must open the commitment and reveal the transaction data within a predetermined time interval. The network then verifies that the opening satisfies the earlier commitment. The origins of this method date prior to the advent of blockchains. Although it is particularly simple, the approach introduces considerable drawbacks and is not easy to employ for two reasons. First, since only the commitment exists at the level of the ordering protocol, the semantics of the transaction cannot be validated during consensus. An additional round-trip to the client is required. More severely, though, weighs the possibility that no opening may ever arrive, which could amount to a denial-of-service attack. Furthermore, it is difficult to determine whether the opening is valid in a consistent, distributed manner because all participants must agree on whether the opening arrived in time. • Commit-reveal protocols with delayed recovery [145]: One challenge with the commit-reveal approach is that a client may commit to a transaction speculatively and reveal it later only if subsequent transactions make it profitable. A recent variant of the commit-reveal approach improves the resilience against this kind of misbehavior. In particular, the TEX protocol [145] addresses this problem using a clever approach in which encrypted transactions include a decryption key obtainable by computing a verifiable delay function (VDF) [53, 221]. If a client fails to decrypt her transaction in a timely way, others in the system will decrypt it on her behalf by solving a moderately hard cryptographic puzzle.

• Threshold encryption [71, 190]: This method exploits that the DON may perform threshold-cryptographic operations. Assume FSS maintains an encryption public key pkO and the oracles share the corresponding private key among themselves. Clients then encrypt transactions under pkO and send them to FSS. FSS orders transactions on the DON, then decrypts them, and finally injects them into MAINCHAIN in the fixed order. Encryption therefore ensures that ordering is not based on the transaction content, but that the data itself is available when needed. This method was originally proposed by Reiter and Birman [190] and later refined by Cachin et al. [71], where it was integrated with a permissioned consensus protocol. More recent work has explored the use of threshold cryptography as a consensus-level mechanism for generic messages [33, 97] and for general computations with shared data [41]. Compared to commit-reveal protocols, threshold encryption prevents simple denialof-service attacks (although care is required given the computational cost of decryption). It lets the DON proceed autonomously, at its own speed and without waiting for further client actions. Transactions may be validated immediately after they have been decrypted. Moreover, clients encrypt all transactions with one key for the DON and the communication pattern remains the same as with other transactions. Managing the threshold key securely and with changing nodes in O, however, may pose additional difficulties. • Committed secret sharing [97]: Instead of encrypting the transaction data under a key held by the DON, the client may also secret-share it for the nodes in O. Using a hybrid, computationally secure secret sharing scheme, the transaction is encrypted first using a symmetric cipher with a random key. Only the corresponding symmetric key is shared and the ciphertext is submitted to the DON. The client must send one key share to each node in O using a separately encrypted message. The remaining protocol steps are the same as with threshold encryption, except that the transaction data is decrypted with the symmetric algorithm after reconstructing the per-transaction key from its shares. This method does not require setup or management of a public-key cryptosystem associated with the DON. However, the clients must be aware of the nodes in O and communicate in a secure context with each one of them, which places additional burden on the clients. Although the cryptographic methods offer complete protection against information leaking from submitted transactions to the network, they do not conceal metadata. For example, an IP address or an Ethereum address of the sender could still be used by an adversary to perform front-running and other attacks. Various privacy-enhancing techniques deployed at the network layer, e.g., [52, 95, 107], or the transaction layer, e.g., [13, 65], would be needed to accomplish this goal. The impact of a particular piece of metadata, namely to which contract a transaction is sent, can be (partially) concealed

through multiplexing many contracts on the same DON. Cryptographic concealment of transactions per se also doesn’t prevent prioritization of transactions by corrupted DON nodes in collusion with transaction senders. Secure causality as guaranteed by cryptographic protocols complement the orderfairness guarantees for any policy, and we intend to explore a combination of the two methods, where this is possible. If an adversary cannot gain significant advantage from observing metadata, the secure causality-preservation protocols could be used alongside a na¨ıve ordering approach as well. For example, oracle nodes can write transactions to L as soon as they receive them, without duplication. Transactions would then be ordered according to their appearance on L and subsequently decrypted. We also plan to consider the use of TEEs as a way to help enforce fair ordering; for example, Tesseract [44] may be viewed as achieving a form of causal ordering, but one strengthened by the ability of the TEE to process transactions in explicit form while retaining their confidentiality. 5.4 Network-Layer Considerations So far, our description of FSS has mainly focused on the problem of enforcing that the finalized order of transactions matches their observed order in the network. Hereafter, we consider fairness issues that could arise at the network layer itself. High-frequency traders in conventional electronic marketplaces invest considerable resources to obtain superior network speed [64], and traders in cryptocurrency exchanges exhibit similar behavior [90]. Network speed confers an advantage both in observing the transactions of other parties and in submitting competing transactions. One remedy deployed in practice and popularized in the book Flash Boys [155] is the “speed bump” introduced initially in the IEX exchange [128] and later in other exchanges [179] (with mixed results [19]). This mechanism imposes a delay (350 microseconds in IEX) on access to the market, with the aim of neutralizing advantages in speed. Empirical evidence, e.g. [128], supports its efficacy in decreasing certain trading costs for ordinary investors. FSS can be used simply to implement an asymmetrical speed bump—one that delays incoming transactions. Budish, Cramton, and Shim [64] argue that exploitation of advantages in speed is inescapable in continuous-time markets, and argue for a structural remedy in the form of batch-auction-based markets. But this approach has not taken hold broadly in existing trading platforms. Conventional trading systems are centralized, typically receiving transactions through a single network connection. In a decentralized system, by contrast, it is possible to observe transaction propagation from multiple vantage points. Consequently, it is possible to observe behaviors such as network flooding in a P2P network. We intend to explore network-layer approaches to FSS that help developers to specify policies prohibiting such undesirable network behaviors.

5.5 Entity-Level Fairness Policies Order-fairness and secure causality aim at enforcing an ordering on transactions that respects the time when they were created and first submitted to the network. A limitation of this notion of fairness is that it does not prevent attacks in which an adversary gains an advantage by flooding a system with many transactions, a strategy observed in the wild as a way to perform effective transaction sniping in token sales [159] and to create congestion resulting in liquidation of collateralized debt positions (CDPs) [48]. In other words, order-fairness enforces fairness with respect to transactions, not players. As shown in the CanDID system [160], it is possible to use oracle tools such as DECO or Town Crier in conjunction with a committee of nodes (such as a DON) to achieve various forms of Sybil-resistance while protecting privacy. Users can register identities and provide evidence of their uniqueness without disclosing the identities themselves. Sybil-resistant credentials offer a possible approach to enriching transaction-ordering policies in a way that would limit opportunities for flooding attacks. For example, a token sale might permit only one transaction per registered user, where registration requires a proof of uniqueness of a national identifier, such as a Social Security Number. Such an approach isn’t foolproof, but may prove a useful policy to mitigate transactionflooding attacks.

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.

The DON Transaction-Execution Framework

The DON Transaction-Execution Framework

(DON-TEF) DONs will provide oracle and decentralized-resource support for layer-2 solutions within what we call the Decentralized Oracle Network Transaction-Execution Framework (DONTEF) or TEF for short. Today, the frequency of updates to DeFi contracts is limited by main chain latencies, e.g., the 10-15 second average block interval in Ethereum [104]—as well as the cost of pushing large amounts of data on chain and limited computational/tx throughput— motivating scaling approaches such as sharding [148, 158, 232] and layer-2 execution [5, 12, 121, 141, 169, 186, 187]. Even blockchains with much faster transaction times, e.g., [120], have proposed scaling strategies that involve off-chain computation [168]. TEF is meant to act as a layer-2 resource for any such layer-1 / MAINCHAIN systems. Using TEF, DONs can support faster updates in a MAINCHAIN contract while retaining the key trust assurances provided by the main chain. TEF can support any of a number of layer-2 execution techniques and paradigms, including rollups,11 optimistic rollups, Validium, etc., as well as a threshold trust model in which DON nodes execute transactions. The TEF is complementary to FSS and intended to support it. In other words, any application running in the TEF can use FSS. 11Often called “zk-rollups,” a misnomer, as they do not necessarily need zero-knowledge proofs.

6.1 TEF Overview The TEF is a design pattern for the construction and execution of a performant hybrid smart contract SC. In accordance with the main idea behind hybrid smart contracts, TEF involves a decomposition of SC into two pieces: (1) What we call in the TEF context an anchor contract SCa on MAINCHAIN and (2) DON logic exect that we call the TEF executable. We use SC here to denote the logical contract implemented by the combination of SCa and exect. (As noted above, we expect to develop compiler tools to decompose a contract SC automatically into these components.) The TEF executable exect is the engine that processes users’ transactions in SC. It can execute in a performant way, as it runs on the DON. It has several functions: • Transaction ingestion: exect receives or fetches users’ transactions. It can do so directly, i.e., through transaction submission on the DON, or via the MAINCHAIN mempool using MS. • Fast transaction execution: exect processes transactions involving assets within SC. It does so locally, i.e., on the DON. • Fast and low-cost oracle / adapter access: exect has native access to oracle reports and other adapter data leading to, e.g., faster, cheaper, and more accurate asset pricing than MAINCHAIN execution. Moreover, off-chain oracle access reduces the oracle’s operational cost, hence the cost of using the system, by avoiding expensive on-chain storage. • Syncing: exect periodically pushes updates from DON onto MAINCHAIN, updating SCa. The anchor contract is the MAINCHAIN front end of SC. As the higher-trust component of SC, it serves several purposes: • Asset custody: Users’ funds are deposited into, held in, and withdrawn from SCa. • Syncing verification: SCa may verify the correctness of state updates when exect syncs, e.g., SNARKs attached to rollups. • Guard rails: SCa may include provisions to protect against corruption or failures in exect. (See Section 7 for more details.) In TEF, users’ funds are custodied on MAINCHAIN, meaning the DON is itself noncustodial. Depending on the choice of syncing mechanism (see below), users may need to trust the DON only for accurate oracle reports and timely syncing with MAINCHAIN. The resulting trust model is very similar to that for order-book-based DEXes, e.g., [2], which today generally include an off-chain component for order matching and an onchain component for clearing and settlement.

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

To use the vocabulary of payment systems, one may think of exect as the component of SC responsible for clearing, while SCa handles settlement. See Fig. 13 for a schematic depiction of TEF. Figure 13: TEF schematic. In this example, transactions pass through the mempool of MAINCHAIN via MS to the DON. TEF benefits: TEF carries three main benefits: • High performance: SC inherits the DON’s much higher throughput than MAINCHAIN for both transactions and oracle reports. Additionally, exect can process transactions faster and respond to oracle reports in a more timely way than an implementation on MAINCHAIN alone. • Lower fees: The process of syncing is less time-sensitive than transaction processing, and transactions can be sent from the DON to MAINCHAIN in batches. Consequently, the per-transaction on-chain fees (e.g., gas costs) with this approach are much lower than for a contract that runs only on MAINCHAIN. • Confidentiality: The confidentiality mechanisms of the DON can be brought to bear on SC.

TEF limitations: One limitation of TEF is that it does not support instantaneous withdrawals, as they occur only on MAINCHAIN: Upon sending a withdrawal request to SCa, a user may need to wait for exect to perform a state update that includes the withdrawal transaction before it can be approved. We discuss some partial remedies, however, in Section 6.2. Another limitation of TEF is that it does not support atomic composition of DeFi contracts on MAINCHAIN, specifically the ability to route assets through multiple DeFi contracts in a single transaction. TEF can, however, support such atomicity among DeFi contracts running on the same DON. We also discuss some ways to address this problem in Section 6.2. 6.2 Transaction Routing Transactions for SC can be sent by users directly to the DON or can be routed through the mempool in MAINCHAIN (via FSS). There are four distinct transaction types, each of which requires different handling: Within-contract transactions: Because it sidesteps the complications of gas dynamics, TEF provides SC more flexibility in its handling of transactions than would be available in a layer-1 contract. For example, while a mempool transaction in Ethereum can be overwritten by a fresh transaction with a higher gas price, SC can treat a transaction that operates on assets within SC as authoritative as soon as it becomes visible in the mempool. Consequently, SC need not wait for a transaction to be confirmed within a block, resulting in considerably reduced latency. Proxying: A user may wish to send a transaction \(\tau\) to SC via a wallet contract or other contract on MAINCHAIN. It is possible for the DON to simulate execution of \(\tau\) on MAINCHAIN to determine whether it results in a follow-on transaction to SC. If so, \(\tau\) can be sequenced with other transactions for SC that do. There are a few possibilities for how the DON identifies such transactions: (1) The DON can simulate all transactions in the mempool (an expensive approach); (2) Certain contracts or contract types, e.g., wallets, can be listed for monitoring by the DON; or (3) Users can annotate transactions for DON inspection. Matters become more complicated when a single transaction interacts with two contracts, SC1 and SC2, both of which use Fair Sequencing Services and have incompatible ordering policies. The DON might, for example, sequence \(\tau\) at the latest time that is compatible with both. Deposits: A transaction depositing a MAINCHAIN asset into SC needs to be confirmed in a block before SC can treat it as valid. When it detects the mining of a transaction that sends assets (e.g., Ether) into SCa, exect can instantly confirm the

deposit. For example, it can apply a current oracle-reported price on the DON to the asset. Withdrawals: As noted above, a limitation of TEF is that withdrawals cannot always be executed instantaneously. In a rollup-type execution model, the withdrawal request must be sequenced with other transactions, i.e., rolled up, in order to be safely processed. There are, however, some partial remedies to this limitation. If the DON can quickly compute a rollup validity proof up to the withdrawal transaction, then observing a user's transaction \(\tau\) in the mempool exect can send a stateupdate transaction \(\tau'\) for \(\tau\) at a higher gas price, a kind of beneficial front-running. Provided that \(\tau\) isn't mined before \(\tau'\) reaches the mempool, \(\tau'\) will precede \(\tau\), and \(\tau\) will effect an approved withdrawal. In a TEF variant where the DON is relied upon to compute state updates (see the threshold signing variant below), the DON can alternatively determine off-chain whether \(\tau\) ought to be approved given the state of SC upon its execution. The DON can then send a transaction \(\tau'\) that approves withdrawal \(\tau\)—without effecting a full state update. If this approach isn’t possible, or in cases where it doesn’t succeed, a DON-initiated transaction \(\tau'\) can send funds to the user in response to \(\tau\) so that the user need not initiate an additional transaction. 6.3 Syncing The TEF executable exect periodically pushes updates from DON to MAINCHAIN, updating the state of SCa in a process we refer to as syncing. Syncing may be thought of as propagation of layer-2 transactions to layer-1, so TEF can draw on any of a number of existing techniques for this purpose, including rollups [5, 12, 16, 69], optimistic rollups [10, 11, 141], Validium [201], or basic threshold signing, e.g., threshold BLS, Schnorr, or ECDSA [24, 54, 116, 202]. In principle, trusted execution environments can also attest to the correctness of state changes, offering a much more performant alternative to rollups, but with a hardware-dependent trust model. (See, e.g., [80].) Below we compare these syncing options with respect to three key properties in TEF: • Data availability: Where is the state of SC stored? At least three options are available in TEF: on the MAINCHAIN, on a DON, or by some third-party storage providers such as IPFS. They achieve different security guarantees, availability levels, and performance profiles. Briefly, storing state on the MAINCHAIN enables on-chain auditability and eliminates reliance on any party for state availability; on the other hand, storing state off-chain can reduce storage cost and improve throughput, at the cost of trusting storage providers (DON or third parties) for data availability. Of course, flexible models that combine these options are also possible. We indicate the required form of data availability in Table 1.

• Correctness guarantees: How does SCa ascertain the correctness of the updates pushed by exect? This affects the computational load on exect and SCa and the syncing latency (see below). • Latency: Syncing latency has three contributing factors: (1) The time taken for exect to generate a syncing transaction \(\tau_{\text{sync}}\); (2) The time taken for \(\tau_{\text{sync}}\) to be confirmed on MAINCHAIN; and (3) The time for \(\tau_{\text{sync}}\) to take effect on SCa. In TEF, latency is particularly important for withdrawals (but less so for within-contract transactions) because withdrawals necessarily require an (at least partial) state sync. Syncing options Data availability Correctness guarantees Latency Rollup [5, 12, 16, 69] On-chain Validity proofs Time taken to generate validity proofs (e.g., minutes in current systems) Validium [201] Off-chain Validity proofs Same as above Optimistic rollup [10, 11, 141] On-chain Fraud proofs Length of the challenge period (e.g., days or weeks) Threshold signing [24, 54, 116, 202] Flexible Threshold signatures by DON Instantaneous Trusted execution environments [80] Flexible Hardware-based attestations Instantaneous Table 1: Various syncing options in TEF and their properties. Table 1 summarizes these properties in the five main syncing options in TEF. (Note that we do not intend to compare these technologies as standalone layer-2 scaling solutions. For that we refer readers to e.g., [121].) Now we discuss each syncing option. Rollups: A rollup [69] is a protocol in which the state transition effected by a batch of transactions is computed off-chain. The state change is then propagated onto MAINCHAIN. To implement rollups, the anchor smart contract SCa stores a compact representation Rstate (e.g., a Merkle root) of the actual state. To sync, exect sends \(\tau_{\text{sync}}\) = (T, R′ state) to SCa where T is the set of the transactions it processed since the last

sync and R′ state is the compact representation of the new state calculated by applying transactions in T to the previous state Rstate. There are two popular variants that differ in how SCa verifies state updates in \(\tau_{\text{sync}}\). The first, (zk-)rollups, attach a succinct argument of correctness, sometimes called a validity proof, for the transition Rstate →R′ state. To implement this variant, exect computes and submits the validity proof (e.g., a zk-SNARK proof) along with \(\tau_{\text{sync}}\), proving that R′ state is the result of applying T to the current state of SCa. The anchor contract accepts the state update only after it has verified the proof. Optimistic rollups do not include arguments of correctness, but have staking and challenge procedures that facilitate distributed verification of state transitions. For this rollup variant, SCa tentatively accepts \(\tau_{\text{sync}}\) assuming it is correct (hence the optimism) but \(\tau_{\text{sync}}\) does not take effect until after a challenge period, during which any party monitoring MAINCHAIN can identify erroneous state updates and inform SCa to take necessary actions (e.g., to rollback the state and inflict a penalty on exect.) Both rollup variants achieve on-chain data availability, as transactions are posted on-chain, from which the full state can be constructed. The latency of zk-rollups is dominated by the time needed to generate validity proofs, which typically is on the order of minutes in existing systems [16] and will likely see improvements over time. Optimistic rollups, on the other hand, have a higher latency (e.g., days or weeks) because the challenge period needs to be long enough for fraud proofs to work. The implication of slow confirmation is subtle and sometimes specific to the scheme, so that a thorough analysis is out of scope. For instance, certain schemes consider payment transactions as “trustless final” [109] before the state update is confirmed, since a regular user could verify a rollup much more quickly than the MAINCHAIN. Validium: Validium is a form of (zk-)rollup that makes data available off-chain only and does not maintain all data on MAINCHAIN. Specifically, exect sends only the new state and the proof but not transactions to SCa. With Validium-style syncing, exect and the DON that executes it are the only parties that store the complete state and that execute transactions. As with zk-rollups, syncing latency is dominated by validity proof generation time. Unlike zk-rollups, however, Validium style syncing reduces the storage cost and increases the throughput. Threshold signing by DON: Assuming a threshold of DON nodes is honest, a simple and fast syncing option is to have DON nodes collectively sign the new state. This approach can support both on-chain and off-chain data availability. Note that if users trust DON for oracle updates, they do not need to trust it more for accepting state updates, as they are already in a threshold trust model. Another benefit of threshold signing is low latency. Support for new transaction signature formats as proposed in EIP-2938 [70] and known as account abstraction would make threshold signing considerably easier to implement, as it would eliminate the need for threshold ECDSA, which involves considerably more complex protocols (e.g., [116, 117, 118])

than alternatives such as threshold Schnorr [202] or BLS [55] signatures. Trusted Execution Environments (TEEs): TEEs are isolated execution environments (usually realized by hardware) that aim to provide strong security protections for programs running inside. Some TEEs (e.g., Intel SGX [84]) can produce proofs, known as attestations, that an output is correctly computed by a specific program for a particular input12. A TEE-based variant of TEF syncing can be implemented by replacing proofs in (zk-)rollups or Validium with TEE attestations using techniques from [80]. Compared to zero-knowledge proofs used in rollups and Validium, TEEs are much more performant. Compared to threshold signing, TEEs remove the complexity of generating threshold ECDSA signatures as there need in principle be only one TEE involved. Using TEEs does, however, introduce extra hardware-dependent trust assumptions. One can also combine TEEs with threshold signing to create resilience against compromise of a fraction of TEE instances, although this protective measure reintroduces the complexity of generating threshold ECDSA signatures. Additional flexibility: These syncing options can be refined to provide more flexibility in the following ways. • Flexible triggering: TEF application can determine the conditions under which syncing is triggered. For example, syncing can be batch-based, e.g., occur after every N transactions, time-based, e.g., every 10 blocks, or event-based, e.g., occur whenever target asset prices move significantly. • Partial syncing: It is possible and in some cases desirable (e.g., with rollups, partial syncing can reduce latency) for exect to provide fast syncing of small amounts of state, performing full syncing perhaps only periodically. For example, exect can approve a withdrawal request by updating a user’s balance in SCa without otherwise updating MAINCHAIN state. 6.4 Reorgs Blockchain reorganizations resulting from network instability or even from 51%-attacks can pose a threat to the integrity of a main chain. In practice, adversaries have used them to mount double-spending attacks [34]. While such attacks on major chains are challenging to mount, they remain feasible for some chains [88]. Because it operates independently of MAINCHAIN, a DON offers the interesting possibility of observing and providing some protections against reorgs associated with attacks. For example, a DON can report to a relying contract SC on MAINCHAIN the existence of a competing fork of some threshold length \(\tau\). The DON can additionally 12Supplementary details can be found in Appendix B.2.1. They are not required for understanding.

provide proof—in either a PoW or PoS setting—of the existence of such a fork. The contract SC can implement suitable defensive actions, such as suspending further transaction execution for a period of time (e.g., to allow exchanges to blacklist double-spent assets). Note that although an adversary mounting a 51%-attack can seek to censor reports from a DON, a countermeasure in SC is to require periodic reports from the DON in order to process transactions (i.e., a heartbeat) or to require a fresh report to validate a high-value transaction. While such forking alerts are in principle a general service the DON can provide for any of a number of purposes, our plan is to incorporate them with the TEF.

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.

Trust Minimization

Trust Minimization

As a decentralized system with participation from a heterogeneous set of entities, the Chainlink network provides strong protection against failures in both liveness (availability) and safety (report integrity). Most decentralized systems, however, vary in the degree to which their constituent components are themselves decentralized. This is true even of large systems, where limited decentralization among miners [32] and intermediaries [51] has long been present. The goal of any decentralization effort is trust minimization: We seek to reduce the adverse effects of systemic corruption or failure within the Chainlink network, even that due to a malicious DON. Our guiding principle is the Principle of Least Privilege [197]. System components and actors within the system should have privileges strictly scoped to allow only for the successful completion of their assigned roles. Here we lay out several concrete mechanisms for Chainlink to adopt in its drive toward ever-greater trust minimization. We characterize these mechanisms in terms of the loci, i.e., system components, in which they are rooted, shown in Fig. 14. We address each locus in a respective subsection. 7.1 Data-Source Authentication Current operating models for oracles are constrained by the fact that few data sources digitally sign the data they omit, in large part because TLS does not natively sign data. TLS does make use of digital signatures in its “handshake” protocol (to establish a shared key between a server and client). HTTPS-enabled servers thus have certificates on public keys that can in principle serve to sign data, but they do not generally use these certificates to support data signing. Consequently, the security of a DON, as in today’s oracle networks, relies on oracle nodes faithfully relaying data from a data source to a contract. An important long-term component of our vision for trust minimization in Chainlink involves stronger data-source authentication through support of tools and standards for data signing. Data signing can help enforce end-to-end integrity guarantees. In principle, if a contract accepts as input a piece of data D signed directly by a data

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

Figure 14: Loci of trust-minimizing mechanisms discussed in this section. 1⃝Data sources provide data to the 2⃝DON, which relays a function of the data to a dependent 3⃝smart contract. Additionally, the DON or the oracle network includes 4⃝node management smart contracts on MAINCHAIN for, e.g., compensating nodes, guard rails, and so forth. source, then the oracle network cannot feasibly tamper with D. Various encouraging efforts to enable such signing of data have emerged, including OpenID Connect, which is designed primarily for user authentication [9], TLS-N, an academic project aiming to extend TLS [191] by repurposing TLS certificates, and TLS Evidence Extensions [63]. While OpenID Connect has seen some adoption, however, TLS Evidence Extensions and TLS-N have yet to see adoption. Another potential avenue of data-source authentication is to use publishers’ own Signed HTTP Exchanges (SXG) [230], which they can cache on content-delivery networks as part of the Accelerated Mobile Pages (AMP) protocol [225]. The Chrome mobile browser displays the content from AMP-cached SXGs as if they were served from their publishers’ own network domains instead of the cache-server domain. This branding incentive, coupled with the relative ease of enabling it using services like CloudFlare’s Real URL [83] and Google’s amppackager [124], may lead to widespread adoption of SXGs in cached news content, which would enable a simple, tamper-resistant way for Chainlink oracles to trigger on newsworthy events reported in valid SXGs. While AMP-cached SXGs from news publishers would not be useful for high-tempo applications like reports on trading data, they could be a secure source for custom contracts pertaining to real-world events like extreme weather or election outcomes. We believe that simple deployment, mature tools, and flexibility will be vital to accelerating data-source signing. Enabling data providers to use Chainlink nodes as an authenticated API front end seems a promising approach. We intend to create an

option for nodes to function in this mode, with or without participation in the network as a full-blown oracle. We refer to this capability as authenticated data origination (ADO). By using Chainlink nodes with ADO, data sources will be able to benefit from the experience and tools developed by the Chainlink community in adding digital signing capabilities to their existing suite of off-chain APIs. Should they choose to run their nodes as oracles, they can additionally open up potential new revenue streams under the same model as existing data providers, e.g., Kraken [28], Kaiko [140], and others, that run Chainlink nodes to sell API data on chain. 7.1.1 The Limitations of Authenticated Data Origination Digital signing by data sources, while it can help strengthen authentication, isn’t sufficient per se to accomplish all of the natural security or operational goals of an oracle network. To begin with, a given piece of data D must still be relayed in a robust and timely way from a data source to smart contract or other data consumer. That is, even in an ideal setting in which all data is signed using keys pre-programmed into dependent contracts, a DON would still be needed to communicate the data reliably from sources to contracts. Additionally, there are a number of cases in which contracts or other oracle-data consumers want access to authenticated output of various functions computed over source data for two main reasons: • Confidentiality: A data source API may provide sensitive or proprietary data that needs to be redacted or sanitized before it is made publicly visible on chain. Any modification to signed data, however, invalidated the signature. Put another way, na¨ıve ADO and data sanitization are incompatible. We show in Example 3 how the two can be reconciled through an enhanced form of ADO. • Data source faults: Both errors and failures can affect data sources, and digital signatures address neither problem. From its inception [98], Chainlink has already included a mechanism to remediate such faults: redundancy. The reports issued by oracle networks typically represent the combined data of multiple sources. We now discuss schemes we are exploring in the ADO setting to enhance the confidentiality of source data and to combine data from multiple sources securely. 7.1.2 Confidentiality Data sources may not anticipate and make available the full gamut of APIs desired by users. Specifically, users may wish to access pre-processed data to help ensure confidentiality. The following example illustrates the problem.

Example 3. Alice wishes to obtain a decentralized identity (DID) credential stating that she is over 18 years of age (and thus can, for instance, take out a loan). To do so, she needs to prove this fact about her age to a DID credential issuer. Alice hopes to use data from her state’s Department of Motor Vehicles (DMV) website for the purpose. The DMV has a record of her birthdate and will emit a digitally signed attestation A on it of the following form: A = {Name: Alice, DoB: 02/16/1999}. In this example, the attestation A may be sufficient for Alice to prove to the DID credential issuer that she’s over 18. But it needlessly leaks sensitive information: Alice’s exact DoB. Ideally, what Alice would like from the DMV instead is a signature on a simple statement A′ that “Alice is over 18 years of age.” In other words, she wants the output of a function G on her birthdate X, where (informally), A′ = G(X) = True if CurrentDate −X ≥18 years; otherwise, G(X) = False. To generalize, Alice would like to be able to request from the data source a signed attestation A′ of the form: A′ = {Name: Alice, Func:G(X), Result: True}, where G(X) denotes a specification of a function G and its input(s) X. We envision that a user should be able to provide a desired G(X) as input with her request for a corresponding attestation A′. Note that the data source’s attestation A′ must include the specification G(X) to ensure that A′ is correctly interpreted. In the above example, G(X) defines the meaning of the Boolean value in A′ and thus that True signifies the subject of the attestation is over 18 years of age. We refer to flexible queries in which a user can specify G(X) as functional queries. In order to support use cases like that in Example 3, as well as those involving queries directly from contracts, we intend to include support for functional queries involving simple functions G as part of ADO. 7.1.3 Combining Source Data To reduce on-chain costs, contracts are generally designed to consume combined data from multiple sources, as illustrated in the following example. Example 4 (Medianizing price data). To provide a price feed, i.e., the value of one asset (e.g., ETH) with respect to another (e.g., USD), an oracle network will generally obtain current prices from a number of sources, such as exchanges. The oracle network typically sends to a dependent contract SC the median of these values. In an environment with data signing, a correctly functioning oracle network obtains from data sources \(S = \{S_1, \ldots, S_{n_S}\}\) a sequence of values \(V = \{v_1, v_2, \ldots, v_{n_S}\}\) from \(n_S\) sources with accompanying source-specific signatures \(\Sigma = \{\sigma_1, \sigma_2, \ldots, \sigma_{n_S}\}\). Upon verifying the signatures, it transmits the price \(v = \text{median}(V)\) to SC.

Unfortunately, there is no simple way for an oracle network to transmit the median value \(v\) in Example 4 to SC along with a succinct proof \(\sigma^*\) that \(v\) was correctly computed over signed inputs. A na¨ıve approach would be to encode in SC the public keys of all \(n_S\) data sources. The oracle network would then relay \((V, \Sigma)\) and allow SC to compute the median of \(V\). This, however, would result in a proof \(\sigma\) of size \(O(n_S)\)—i.e., \(\sigma^*\) would not be succinct. It would also incur high gas costs for SC, which would need to verify all signatures in \(\Sigma\). Use of SNARKs, in contrast, enables a succinct proof of correctly combined authenticated source values. It may be workable in practice, but imposes fairly high computational costs on the prover, and somewhat high gas costs on chain. Use of Town Crier is also a possibility, but requires the use of TEEs, which does not suit all users’ trust models. A helpful concept in which to frame solutions to the general problem of signing combined data from sources is a cryptographic tool known as functional signatures [59, 132]. Briefly, functional signatures allow a signer to delegate signing capability, such that the delegatee can only sign messages in the range of a function F chosen by the signer. We show in Appendix D how this functional constraint can serve to bound the range of report values emitted by a DON as a function of the values signed by data sources. We also introduce a new primitive, called a discretized functional signature, that includes a relaxed requirement for accuracy, but is potentially much more performant than approaches such as SNARKs. The problem of combining data sources in a way that includes source authentication of outputs also applies to data aggregators, e.g., CoinCap, CoinMarketCap, CoinGecko, CryptoCompare, etc., which obtain data from a multiplicity of exchanges, which they weight based on volumes, using methodologies that they in some cases make public and are in other cases proprietary. An aggregator that wishes to publish a value with source authentication faces the same challenge as a collection of nodes aggregating source data. 7.1.4 Processing Source Data Sophisticated smart contracts are likely to depend on custom aggregate statistics over primary data sources, such as volatility in recent price history over many assets, or text and photographs from news about pertinent events. Because computation and bandwidth are relatively cheap in a DON, these statistics— even complex machine-learning models with many inputs—can be processed economically, as long as any output value destined for a blockchain is sufficiently concise. For computationally intensive jobs where DON participants may have differing views on complex inputs, extra rounds of communication between the DON participants may be required to establish consensus on the inputs before computing the result. As long as the final value is fully determined by the inputs, once input consensus is established each participant can simply compute the value and broadcast it to the other

participants with their partial signature, or send it to an aggregator. 7.2 DON Trust Minimization We envision two main ways of minimizing the trust placed in components of the DON: failover clients and minority reports. 7.2.1 Failover Clients Adversarial models in the cryptography and distributed systems literature typically consider an adversary capable of corrupting (i.e., compromising) a subset of nodes, e.g., fewer than one-third for many BFT protocols. It is commonly observed, however, that if all nodes run identical software, an adversary that identifies a fatal exploit could in principle compromise all nodes more or less simultaneously. This setting is often referred to as a software monoculture [47]. Various proposals for automatically diversifying software and software configurations have been put forth to address the problem, e.g., [47, 113]. As noted in [47], however, software diversity is a complex issue and requires careful consideration. Software diversification, for example, can result in worse security than a monoculture if it increases a system’s attack surface and thus its possible vectors of attack in excess of the security benefits it offers. We believe that support for robust failover clients—i.e., clients to which nodes can switch in the face of a catastrophic event—is an especially attractive form of software diversification. Failover clients do not increase the number of potential vectors of attack, as they are not deployed as mainline software. They offer clear benefits, however, as a second line of defense. We intend to support failover clients in DONs as a key means of reducing their dependence for security on a single client. Chainlink already has in place a robust system of failover clients. Our approach involves maintaining previous, battle-tested client versions. Today, for example, Chainlink nodes with Off-Chain Reporting (OCR) as their primary client include support for Chainlink’s previous FluxMonitor system if needed. Having been in use for some time, FluxMonitor has received security audits and field testing. It provides the same functionality as OCR, just at higher cost—a cost only incurred on an as-needed basis. 7.2.2 Minority Reports Given a sufficiently large minority set \(O_{\text{minority}}\)—a fraction of honest nodes that observe malfeasance by the majority—it can be helpful for them to generate a minority report. This is a parallel report or flag, relayed to a dependent contract SC on-chain by \(O_{\text{minority}}\). SC can make use of this flag according to its own contract-specific policy. For example, for a contract in which safety is more important than liveness or responsiveness, a minority report might cause the contract to request supplementary reports from another DON, or trigger a circuit breaker (see the next section).

Minority reports can play an important role even when the majority is honest, because any report-aggregation scheme, even if it uses functional signatures, must operate in a threshold manner, to ensure resilience against oracle or data failure. In other words, it must be possible to produce a valid report based on the inputs of \(k_S < n_S\) oracles, for some threshold \(k_S\). This means a corrupted DON has some latitude in manipulating report values by selecting its preferred \(k_S\) values among the \(n_S\) reported in \(V\) by the full set of oracles, even if all sources are honest. For example, suppose that nS = 10 and kS = 7 in a system that uses a functional signature to authenticate computation of median over V for the USD price of ETH. Suppose that five sources report a price of \(500, while the other five report \)1000. Then by medianizing the lowest 7 reports, the DON can output a valid value v = $500, and by medianizing the highest, it can output v = $1000. By enhancing the DON protocol so that all nodes are aware of which data was available, and which data was used to construct a report, nodes could detect and flag statistically significant tendencies to favor one set of reports over another, and produce a minority report as a result. 7.3 Guard Rails Our trust model for DONs treats MAINCHAIN as a higher-security, higher-privilege system than DONs. (While this trust model may not always hold true, it is easier to adapt the resulting mechanism to situations where the DON is the higher security platform than vice versa.) A natural trust minimization strategy thus involves the implementation of monitoring and failsafe mechanisms in smart contracts—either in a MAINCHAIN front end for a DON or directly in a dependent contract SC. We refer to these mechanisms as guard rails, and enumerate some of the most important here: • Circuit breakers: SC may pause or halt state updates as a function either of characteristics of the state updates themselves (e.g., large variance across sequential reports) or based on other inputs. For example, a circuit breaker might trip in cases where oracle reports vary implausibly over time. A circuit breaker might also be tripped by a minority report. Thus, circuit breakers can prevent DONs from making grossly erroneous reports. Circuit breakers can provide time for additional interventions to be considered or exercised. One such intervention is escape hatches. • Escape hatches: Under adverse circumstances, as identified by a set of custodians, community token holders, or other bodies of trustees, a contract may invoke an emergency facility sometimes called an escape hatch [163]. An escape hatch causes SC to shut down in some manner and/or terminates pending and possibly future transactions. For example, it may return custodied funds to users [17]),

may terminate contract terms [162], or may cancel pending and/or future transactions [173]. Escape hatches can be deployed in any type of contract, not just one that relies on a DON, but they are of interest as a potential buffer against DON malfeasance. • Failover: In systems where SC relies on the DON for essential services, it is possible for SC to provide failover mechanisms that ensure service continuation even in the case of DON failure or misbehavior. For example, in the TEF (Section 6), the anchor contract SCa may provide dual interfaces where both on-chain and off-chain execution interfaces are supported for certain critical operations (e.g., withdrawal), or for ordinary transactions, with a suitable delay to prevent frontrunning of DON transactions. In cases where data sources sign data, users could also furnish reports to SCa when the DON fails to do so. Fraud proofs, as proposed for various forms of optimistic rollup (see Section 6.3), are similar in flavor and complementary to the mechanisms we enumerate above. They too provide a form of on-chain monitoring and protection against potential failures in off-chain system components. 7.4 Trust-Minimized Governance Like all decentralized systems, the Chainlink network requires governance mechanisms to adjust parameters over time, respond to emergencies, and guide its evolution. Some of these mechanisms currently reside on MAINCHAIN, and may continue to do so even with the deployment of DONs. One example is the payment mechanism for oracle node providers (DON nodes). DON front end contracts on MAINCHAIN contain additional mechanisms, such as guard rails, that may be subject to periodic modification. We foresee two classes of governance mechanisms: evolutionary and emergency. Evolutionary governance: Many modifications to the Chainlink ecosystem are such that their implementation is not a matter of urgency: Performance improvements, feature enhancements, (non-urgent) security upgrades, and so forth. As Chainlink progressively moves toward even more participants in its governance, we expect many or most such changes to be ratified by the community of a specific DON affected by those changes. In the interim, and perhaps ultimately as a parallel mechanism, we believe that a notion of temporal least privilege can be a useful means of implementing evolutionary governance. Very simply, the idea is for changes to deploy gradually, ensuring the community an opportunity to respond to them. For example, migration to a new MAINCHAIN contract can be constrained so that the new contract must be deployed at least thirty days before activation.

Emergency governance: Exploitable or exploited vulnerabilities in MAINCHAIN contracts or other forms of liveness or safety failures may require immediate intervention to ensure against catastrophic outcomes. Our intention is to support a multisig intervention mechanism in which, to ensure against malfeasance by any organization, signers will be dispersed across organizations. Ensuring consistent availability of signers and timely access to appropriate chains of command for authorization of emergency changes will clearly require careful operational planning and regular review. These challenges are similar to those involved in testing other cybersecurity incident-response capabilities [134], with a similar need to combat common problems like vigilance decrement [223]. The governance of DONs differs from that of many decentralized systems in its potential degree of heterogeneity. Each DON may have distinct data sources, executables, service-level requirements such as uptime, and users. The Chainlink network’s governance mechanisms must be flexible enough to accommodate such variations in operational goals and parameters. We are actively exploring design ideas and plan to publish research on this topic in the future. 7.5 Public-Key Infrastructure With progressive decentralization will come the need for a robust identification of network participants, including DON nodes. In particular, Chainlink requires a strong Public-Key Infrastructure (PKI). A PKI is a system that binds keys to identities. For example, a PKI undergirds the Internet’s system of secure connections (TLS): When you connect to a website via HTTPS (e.g., https://www.chainlinklabs.com) and a lock appears in your browser, that means that the public key of the domain owner has been bound to that owner by an authority—specifically, through a digital signature in a so-called certificate. A hierarchical system of certificate authorities (CAs), whose toplevel root authorities are hardwired into popular browsers, helps ensure that certificates are issued only to the legitimate owners of domains. We expect that Chainlink will eventually make use of decentralized name services, initially the Ethereum Name Service (ENS) [22], as the foundation for our PKI. As its name suggests, ENS is analogous to DNS, the Domain Name System that maps (human-readable) domain names to IP addresses on the internet. ENS, however, instead maps human-readable Ethereum names to blockchain addresses. Because ENS operates on the Ethereum blockchain, barring key compromise, tampering with its namespace is in principle as difficult as tampering with the contract administering it and/or the underlying blockchain. (DNS, in contrast, has historically been vulnerable to spoofing, hijacking, and other attacks.) We have registered data.eth with ENS on the Ethereum mainnet, and intend to establish it as a root namespace under which the identities of oracle data services and other Chainlink network entities reside. Domains in ENS are hierarchical, meaning that each domain may contain references to other names under it. Subdomains in ENS can serve as a way to organize and

delegate trust. The main role of data.eth will be to serve as an on-chain directory service for data feeds. Traditionally, developers and users of oracles have used off-chain sources (e.g., websites like docs.chain.link or data.chain.link, or social networks such as Twitter) to publish and obtain oracle data feed addresses (such as the ETH-USD price feed). With a highly trustworthy root namespace such as data.eth, it is possible instead to establish a mapping of eth-usd.data.eth to, e.g., the smart contract address of an on-chain oracle network aggregator for the ETH-USD price feed. This would create a secure path for anyone to refer to the blockchain as the source of truth for that data feed of that price/name pair (ETH-USD). Consequently, such use of ENS realizes two benefits unavailable in off-chain data sources: • Strong security: All changes and updates to the domain are recorded immutably and secured cryptographically, as opposed to text addresses on a website, which enjoy neither of these two security properties. • Automated on-chain propagation: Updates to the underlying address of a datafeed’s smart contract can trigger notifications that propagate to dependent smart contracts and can, for example, automatically update dependent contracts with the new addresses.13 Namespaces like ENS, however, do not automatically validate legitimate ownership of asserted names. Thus, for example, if the namespace includes the entry ⟨“Acme Oracle Node Co.”, addr⟩, then a user obtains the assurance that addr belongs to the claimant of the name Acme Oracle Node Co. Without additional mechanisms around namespace administration, however, she does not obtain assurance that the name belongs to an entity legitimately called Acme Oracle Node Co. in a meaningful real world sense. Our approach to validation of names, i.e., ensuring their ownership by corresponding, legitimate real-world entities, relies on several components. Today, Chainlink Labs effectively acts as a CA for the Chainlink network. While Chainlink Labs will continue to validate names, our PKI will evolve into a more decentralized model in two ways: • Web-of-trust model: The decentralized counterpart of a hierarchical PKI is often referred to as a web-of-trust.14 Variants have been proposed since the 1990s, e.g., [98], and a number of researchers have observed that blockchains can facilitate use of the idea, e.g., [227] by recording certificates in a globally consistent ledger. We are exploring variants of this model to validate the identities of entities in the Chainlink network in a more decentralized way. 13A dependent contract can optionally include a predetermined delay to allow for manual inspection and intervention by dependent-contract administrators. 14A term coined by Phil Zimmermann for PGP [238].

• Linkage to validating data: Today, a substantial amount of oracle node performance data is visible on-chain, and thus archivally bound to node addresses. Such data may be viewed as enriching an identity in the PKI by providing historical evidence of its (reliable) participation in the network. Additionally, tools for decentralized identity based on DECO and Town Crier [160] enable nodes to accumulate credentials derived from real-world data. As just one example, a node operator can attach a credential to its PKI identity that proves possession of a Dun and Bradstreet rating. These supplementary forms of validation can supplement staking in creating assurance of the security of the network. An oracle node with an established real-world identity may be viewed as having stake in a system deriving from its reputation. (See Section 4.3 and Section 9.6.3.) A final requirement for the Chainlink PKI is secure bootstrapping, i.e., securely publishing the root name for the Chainlink network, currently data.eth (analogously to hardwiring of top-level domains in browsers). In other words, how do Chainlink users determine that data.eth is indeed the top-level domain associated with the Chainlink project? The solution to this problem for the Chainlink network is multi-pronged and may involve: • Adding a TXT record [224] to our domain record for chain.link that specifies data.eth as the root domain for the Chainlink ecosystem. (Chainlink thus implicitly leverages the PKI for internet domains to validate its root ENS domain.) • Linking to data.eth from Chainlink’s existing website, e.g., from https://docs.chain.link. (Another implicit use of the PKI for internet domains.) • Making the use of data.eth known via various documents, including this whitepaper. • Posting data.eth publicly on our social-media channels, such as Twitter, and the Chainlink blog [18]. • Placing a large quantity of LINK under the control of the same registrant address as data.eth.

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.

DON Deployment Considerations

DON Deployment Considerations

While not a part of our core design, there are several important technical considerations in the realization of DONs that deserve treatment here.

8.1 Rollout Approach This paper lays out an ambitious vision of advanced Chainlink functionality whose realization will require solutions to many challenges along the way. This whitepaper identifies some challenges, but unanticipated ones are sure to arise. We plan to implement elements of this vision in an incremental fashion over an extended period of time. Our expectation is that DONs will initially launch with support for specific pre-built components built collaboratively by teams within the Chainlink community. The intention is that broader uses of DONs, e.g., the ability to launch arbitrary executables, will see support at a later time. One reason for such caution is that composition of smart contracts can have complex, unintended, and dangerous side effects, as recent flash-loan-based attacks have for instance shown [127, 189]. Similarly, composition of smart contracts, adapters, and executables will require extreme care. In our initial deployment of DONs, we plan to include only a pre-built set of templatized executables and adapters. This will enable study of the compositional security of these functionalities using formal methods [46, 170] and other approaches. It will also simplify pricing: Functionality pricing can be established by DON nodes on a perfunctionality basis, rather than through generalized metering, an approach adopted in, e.g., [156]. We also expect the Chainlink community to take part in the creation of additional templates, combining various adapters and executables into increasingly useful decentralized services that can be run by hundreds, if not thousands of individual DONs. Additionally, this approach can help prevent state bloat, i.e., the need for DON nodes to retain an unworkable amount of state in working memory. This problem is already arising in permissionless blockchains, motivating approaches such as “stateless clients” (see, e.g., [206]). It can be more acute in higher throughput systems, motivating an approach in which a DON deploys only state-size-optimized executables. As DONs evolve and mature and include robust guard rails, as discussed in Section 7, cryptoeconomic and reputation-based security mechanisms as discussed in Section 9, and other features that provide a high degree of assurance for DON users, we also expect to develop a framework and tools to facilitate broader launch and use of DONs by the community. Ideally, these tools will enable a collection of node operators to come together as an oracle network and launch their own DONs in a permissionless or self-service manner, meaning that they can do so unilaterally. 8.2 Dynamic DON Membership The set of nodes running a given DON may change over time. There are two approaches to key management for skL given dynamic membership in O. The first is to update shares of skL held by the nodes upon changes in membership, while keeping pkL unchanged. This approach, explored in [41, 161, 198], has the merit of not requiring that relying parties update pkL.

The classical technique of share resharing, introduced in [122], provides a simple and efficient way of realizing such share updates. It enables a secret to be transferred between one set of nodes O(1) and a second, possibly intersecting one O(2). In this approach, each node O(1) i performs a (k(2), n(2)) secret sharing of its secret share across nodes in O(2) for n(2) = |O(2)| and desired (possibly new) threshold k(2). Various verifiable secret sharing (VSS) schemes [108] can provide security against an adversary that actively corrupts nodes, i.e., introduces malicious behavior into the protocol. Techniques in [161] aim to do so while reducing communication complexity and providing resilience against failures in cryptographic hardness assumptions. A second approach is to update the ledger key pkL. This has the benefit of forward security: Compromise of old shares of pkL (i.e., former committee nodes) would not result in compromise of the current key. Updates to pkL, however, carry two drawbacks: (1) Data encrypted under pkL needs to be re-encrypted during a key refresh and (2) Key updates need to be propagated to relying parties. We intend to explore both approaches, as well as hybridizations of the two. 8.3 DON Accountability As with existing Chainlink oracle networks, DONs will include mechanisms for accountability, i.e., recording, monitoring, and enforcing correct node behavior. DONs will have much more substantial data capacity than many existing permissionless blockchains, particularly given their ability to connect to external decentralized storage. Consequently, they will be able to record nodes’ performance history in detail, allowing for more fine-grained accountability mechanisms. For example, off-chain computation of asset prices may involve inputs that are discarded before a median result is sent on chain. In a DON, these intermediate results could be recorded. Misbehavior or performance lapses by individual nodes in a DON can thus be remedied or penalized on the DON in a fine-grained way. We have additionally discussed approaches to building guard rails in Section 7.3 that address the contract-specific impact of systemic failures. It is also important, however, to have failsafe mechanisms for DONs themselves, i.e., protections against systemic, potentially catastrophic DON failures, specifically forking / equivocation and service-level agreement (SLA) failures, as we now explain. Forking / equivocation: Given sufficiently many faulty nodes, a DON can fork or equivocate, producing two distinct, inconsistent blocks or sequences of blocks in L. Because a DON digitally signs the contents of L, however, it is possible to leverage a main chain MAINCHAIN to prevent and/or penalize equivocation. The DON can periodically checkpoint state from L in an audit contract on MAINCHAIN. If its future state deviates from a checkpointed state, a user / auditor can present proof of this misbehavior to the audit contract. Such proof can be used to generate an alert or penalize DON nodes via slashing in the contract. This latter approach introduces an incentive design problem similar to that for specific oracle feeds, and can build on our work outlined in Section 9.

Enforcing service-level agreements: While DONs are not necessarily meant to run indefinitely, it is important that they adhere to service level agreements (SLAs) with their users. Basic SLA enforcement is possible on a main chain. For example, DON nodes might commit to maintaining the DON until a certain date, or to providing advance notice of service termination (e.g., three months’ notice). A contract on MAINCHAIN can provide basic cryptoeconomic SLA enforcement. For example, the SLA contract can slash DON-deposited funds if checkpoints are not provided at required intervals. A user can deposit funds and challenge the DON to prove that a checkpoint correctly represents a sequence of valid blocks (in a manner analogous to, e.g. [141]). Of course, block production does not equate with transaction processing, but the SLA contract can also serve to enforce the latter. For example, in the legacy-compatible version of FSS in which transactions are fetched from the mempool (see Section 5.2), transactions are eventually mined and placed on chain. A user can prove DON malfeasance by furnishing the SLA contract with a transaction that was mined but wasn’t transmitted by the DON for processing by the target contract within the appropriate interval of time.15 It is also possible to prove the existence of and penalize more fine-grained SLA failures, including errors in computation using executables (via, e.g., the mechanisms for proving correct off-chain state transactions outlined in Section 6.3) or failure to run executables based on initiators visible on a DON, failure to relay data on the DON to MAINCHAIN in a timely way, and so forth.

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.

Economics and Cryptoeconomics

Economics and Cryptoeconomics

For the Chainlink network to achieve strong security within a decentralized trust model, it is essential that nodes collectively exhibit correct behavior, meaning that they adhere a majority of the time exactly to DON protocols. In this section, we discuss approaches to helping enforce such behavior by means of economic incentives, a.k.a. cryptoeconomic incentives. These incentives fall into two categories: explicit and implicit, realized respectively through staking and future fee opportunity (FFO). Staking: Staking in Chainlink, as in other blockchain systems, involves network participants, i.e., oracle nodes, depositing locked funds in the form of LINK tokens. These funds, which we also refer to as stake or explicit stake are an explicit incentive. They are subject to forfeiture upon node failure or malfeasance. In the blockchain context, this procedure is often called slashing. Staking by oracle nodes in Chainlink, however, differs fundamentally from staking by validators in permissionless blockchains. Validators can misbehave by equivocating or adversarially ordering transactions. The underlying consensus protocol in a 15As users can replace transactions in the mempool, care is required to ensure a correct correspondence between the mined and DON-submitted transactions.

permissionless blockchain, though, uses hard-and-fast block-validation rules and cryptographic primitives to prevent validators from generating invalid blocks. In contrast, programmatic protections cannot prevent a cheating oracle network from generating invalid reports. The reason is a key difference between the two types of system: transaction validation in blockchains is a property of internal consistency, while the correctness of oracle reports on a blockchain is a property of external, i.e., off-chain data. We have designed a preliminary staking mechanism for the Chainlink network based on an interactive protocol among oracle nodes that may make use of external data. This mechanism creates financial incentives for correct behavior using explicit rewards and penalties (slashing). As the mechanism is economic, it is designed to prevent node corruption by an adversary that uses financial resources to corrupt nodes by means of bribery. (Such an adversary is very general, and extends, e.g., to nodes cooperating to extract value from their collective misbehavior.) The Chainlink staking mechanism we have designed has some powerful and novel features.16 The main such feature is super-linear staking impact (specifically, quadratic). An adversary must have resources considerably in excess of nodes’ deposited funds in order to subvert the mechanism. Our staking mechanism additionally provides protection against a stronger adversary than previously considered in similar systems, namely an adversary that can create bribes conditioning on nodes’ future behavior. Additionally, we discuss how Chainlink tools such as DECO can help strengthen our staking mechanism by facilitating correct adjudication in the case of faulty node behavior. Future fee opportunity (FFO): Permissionless blockchains—of both the PoW and PoS variety—today rely critically on what we call implicit incentives. These are economic incentives for honest behavior that derive not from explicit rewards, but from platform participation itself. For example, the Bitcoin miner community is incentivized against mounting a 51% attack by the risk of undermining confidence in Bitcoin, depressing its value, and consequently eroding the value of their collective capital investments in mining infrastructure [150]. The Chainlink network benefits from a similar implicit incentive that we refer to as future fee opportunity (FFO). Oracle nodes with strong performance histories or reputations attract fees from users. Misbehavior by an oracle node jeopardizes future fee payments and thus penalizes the node with an opportunity cost in terms of potential revenue earned through participation in the network. By analogy with explicit stake, FFO may be viewed as a form of implicit stake, an incentive for honest behavior that derives from the shared benefit of maintaining confidence in the platform on which node operators’ business depends, i.e., the positive performance and reputation of the network. This incentive is inherent in but not explicitly expressed in Chainlink network protocols. In Bitcoin, maintaining the value of mining operations as mentioned above 16The staking mechanism we describe here currently aims only to enforce delivery of correct reports by oracle networks. We expect in future work to extend it to ensure correct execution of the many other functionalities DONs will provide.

may similarly be viewed as a form of implicit stake. We emphasize that FFO already exists in Chainlink and helps secure the network today. Our main contribution in the further development of Chainlink will be a principled, empirically driven approach to evaluating implicit incentives such as FFO through what we call the Implicit-Incentive Framework (IIF). To estimate quantities such as the future fee opportunity of nodes, the IIF will draw continuously on the comprehensive performance and payment data amassed by the Chainlink network. Such estimates will enable IIF-based parameterization of staking systems that reflects node incentives with greater accuracy than current heuristic and/or static models. To summarize, then, the two main economic incentives for correct oracle node behavior in the developing Chainlink network will be: • Staking (deposited stake) o Explicit incentive • Future fee opportunity (FFO) o Implicit incentive These two forms of incentive are complementary. Oracle nodes can simultaneously participate in the Chainlink staking protocol, enjoy an ongoing revenue stream from users, and collectively benefit from their continued good behavior. Thus both incentives contribute to the cryptoeconomic security provided by an oracle network. Additionally, the two incentives can reinforce and/or be traded offagainst one another. For example, a new oracle operator without a performance history and revenue stream can stake a large quantity of LINK as a guarantee of honest behavior, thereby attracting users and fees. Conversely, an established oracle operator with a long, relatively fault-free performance history can charge substantial fees from a large user base and thus rely more heavily on its FFO as a form of implicit incentive. In general, the approach we consider here aims for a given amount of oracle-network resource to create the greatest possible economic incentives in Chainlink for rational agents—i.e., nodes maximizing their financial utility—to behave honestly. Put another way, the goal is to maximize the financial resources required for an adversary to attack the network successfully. By formulating a staking protocol with mathematically well defined economic security and also using the IIF, we aim to measure the strength of Chainlink’s incentives as accurately as possible. The creators of relying contracts will then be able to determine with strong confidence whether an oracle network meets their required levels of cryptoeconomic security. The virtuous cycle of economic security: The incentives we discuss in this section, staking and FFO, have an impact beyond their reinforcement of the security of DONs. They promise to induce what we call a virtuous cycle of economic security. Super-linear staking impact (and other economies of scale) result in lower operational cost as a DON’s security grows. Lower cost attracts additional users to the DON,

boosting fee payments. A rise in fee payments continues to incentivize growth of the network, which perpetuates the virtuous cycle. We believe that the virtuous cycle of economic security is just one example of an economy of scale and network effect among others that we discuss later in this section. Section organization: Staking presents notable technical and conceptual challenges for which we have designed a mechanism with novel features. Staking will therefore be our main focus in this section. We give an overview of the staking approach we introduce in this paper in Section 9.1, followed by detailed discussion in Sections 9.2 to 9.5. We present the IFF in Section 9.6. We present a summary view of Chainlink network incentives in Section 9.7. In Section 9.8, we discuss the virtuous cycle of economic security our proposed staking approach can bring to oracle networks. Finally, we briefly describe other potential effects propelling growth of the Chainlink network in Section 9.9. 9.1 Staking Overview The staking mechanism design we introduce here, as noted above, involves an interactive protocol among oracle nodes allowing for resolution of inconsistencies in the reporting of external data. Staking aims to ensure honest behavior from rational oracle nodes. We can therefore model an adversary attacking a staking protocol as a briber: The adversary’s strategy is to corrupt oracle nodes using financial incentives. The adversary may derive financial resources prospectively from successfully tampering with an oracle report, e.g., offer to share the resulting profit with corrupted nodes. We aim in our staking mechanism design simultaneously at two ambitious goals: 1. Resisting a powerful adversary: The staking mechanism is designed to protect oracle networks against a broad class of adversaries that are capable of complex, conditional bribing strategies, including prospective bribery, which offers bribes to oracles whose identities are determined after the fact (e.g., offers bribes to oracles randomly selected for high-priority alerting). While other oracle designs have considered a narrow set of attacks without the full capabilities of a realistic adversary, to the best of our knowledge the adversarial mechanism we introduce here is the first to explicitly address a broad set of bribing strategies and show resistance in this model. Our model assumes that nodes besides the attacker are economically rational (as opposed to honest), and we assume the existence of a source of truth that is prohibitively expensive for typical usage but is available in case of disagreement (discussed further below). 2. Achieving super-linear staking impact: Our aim is to ensure that an oracle network composed of rational agents reports truthfully even in the presence of an attacker with a budget that is super-linear

in the total stake deposited by the entire network. In existing staking systems, if each of n nodes stakes $d, an attacker can issue a credible bribe which requests that nodes behave dishonestly in exchange for a payment of slightly more than \(d to each node, using a total budget of about \)dn. This is already a high bar as the attacker has to have a liquid budget on the order of the combined deposits of all stakers in the network. Our goal is a still stronger degree of economic security than this already substantial hurdle. We aim to design the first staking system that can achieve security for a general attacker with a budget super-linear in n. While practical considerations may achieve a lower impact, as we discuss below, our preliminary design achieves an adversarial budget requirement greater than $dn2/2, i.e., scaling quadratic in n, rendering bribery largely impractical even when nodes stake only moderate amounts. Reaching these two goals requires an innovative combination of incentive design and cryptography. Key ideas: Our staking approach hinges on an idea we call watchdog priority. A report generated by a Chainlink oracle network and sent to a relying contract (e.g., on an asset price) is aggregated from individual reports contributed by participating nodes (e.g., by taking the median). Typically a service-level agreement (SLA) specifies acceptable bounds of deviation for reports, i.e., how far a node’s report can deviate from the aggregate report and how far the aggregate should be permitted to deviate from the true value to be considered correct. In our staking system, for a given reporting round, each oracle node can act as a watchdog to raise an alert if it believes the aggregate report is incorrect. In each reporting round, each oracle node is assigned a public priority that determines the order in which its alert (if any) will be processed. Our mechanism aims at reward concentration, meaning that the highest-priority watchdog to raise an alert earns the entire reward yielded by confiscating the deposits of faulty nodes. Our staking system designs involve two tiers: the first, default tier, and the second, backstop tier. The first tier is the oracle network itself, a set of n nodes. (For simplicity, we assume n is odd.) If a majority of nodes report incorrect values, a watchdog in the first tier is strongly incentivized to raise an alert. If an alert is raised, the reporting decision of the network is then escalated to a second tier—a high-cost, maximumreliability system that can be user-specified in the network service-level agreement. This could be a system which, for example, is composed only of nodes with strong historical reliability scores, or one that has an order of magnitude more oracles than the first tier. Additionally, as discussed in Section 9.4.3, DECO or Town Crier can serve as powerful tools to help ensure efficient and conclusive adjudication in the second tier. For simplicity we thus assume that this second-tier system arrives at a correct report value. While it might seem attractive just to rely on the second tier to generate all reports, the benefit of our design is that it consistently achieves the security properties of the

second-tier system while only paying the operating cost, in the typical case, of the first-tier system. Watchdog priority results in super-linear staking impact in the following way: if the first-tier oracle network outputs an incorrect result and a number of watchdog nodes alert, the staking incentive mechanism rewards the highest-priority watchdog with more than $dn/2 drawn from the deposits of the (majority) misbehaving nodes. The total reward is thus concentrated in the hands of this single watchdog, which therefore determines the minimum that an adversary must promise a potential watchdog to incentivize it not to alert. Since our mechanism ensures that every oracle gets the chance to act as watchdog if the higher-priority watchdogs have accepted their bribes (and chosen not to alert), the adversary must therefore offer a bribe of more than $dn/2 to every node to prevent any alert being raised. Since there are n nodes, the adversary’s requisite budget for a successful bribe amounts to more than $dn2/2, which is quadratic in the number n of nodes in the network. 9.2 Background Our approach to staking draws on research in the fields of game theory and mechanism design (MD) (for a textbook reference, see [177]). Game theory is the mathematically formalized study of strategic interaction. In this context, a game is a model of such an interaction, typically in the real world, that codifies sets of actions available to participants in the game, known as players. A game also specifies the payoffs obtained by the individual players—rewards that depend on a player’s chosen actions and the actions of the other players. Perhaps the best known example of a game studied in game theory is the Prisoners’ Dilemma [178]. Game theorists generally aim to understand the equilibrium or equilibria (if any) represented in a given game. An equilibrium is a set of strategies (one for each player) such that no one player can obtain a higher payoffby unilaterally deviating from its strategy. Mechanism design, meanwhile, is the science of designing incentives such that the equilibrium of an interaction (and its associated game) has some desirable property. MD may be viewed as the inverse of game theory: The canonical question in game theory is, “given the incentives and model, what will the equilibrium be?” In MD, the question is instead, “what incentives will result in a game with a desirable equilibrium?” A typical goal of a mechanism designer is to create an ‘incentive compatible’ mechanism, meaning that participants in the mechanism (e.g., an auction or other information elicitation system [228]) are incentivized to report the truth on some matter (e.g., how much they value a particular item). The Vickrey (second-price) auction is perhaps the best known incentive compatible mechanism, in which participants submit sealed bids for an item and the highest bidder wins the item but pays the second-highest price [214]. Cryptoeconomics is a domain-specific form of MD that leverages cryptographic techniques to create desirable equilibria within decentralized systems. Bribery and collusion create significant challenges throughout the field of MD. Almost all mechanisms break in the presence of collusion, defined as side contracts be-

tween the parties participating in a mechanism [125, 130]. Bribery, in which an external party introduces novel incentives into the game, presents an even tougher problem than does collusion; collusion may be viewed as a special case of bribery among game participants. Blockchain systems can often be conceptualized as games with monetary (cryptocurrencybased) payoffs. A simple example is Proof-of-Work mining: miners have an action space in which they can choose the hashrate with which to mine for blocks. The payoffof mining is a guaranteed negative reward (cost of electricity and equipment) plus a stochastic positive reward (mining subsidy) that depends on the number of other active miners [106, 172] and transaction fees. Crowdsourced oracles like SchellingCoin [68] are another example: the action space is the set of possible reports an oracle may send, while the payoffis the reward specified by the oracle mechanism, e.g., payment might depend on how close an oracle’s report is to the median of the other reports [26, 68, 119, 185]. Blockchain games offer ripe opportunities for collusion and bribery attacks; indeed, smart contracts can even facilitate such attacks [96, 165]. Perhaps the best known bribery attack on crowdsourced oracles is the p-plus-epsilon attack [67]. This attack arises in the context of a SchellingCoin-like mechanism in which players submit booleanvalued reports (i.e., false or true) and are rewarded with p if they agree with the majority submission. In a p-plus-epsilon attack, the attacker credibly promises to, e.g., pay users $p + ϵ for voting false if and only if the majority submission is true. The result is an equilibrium, in which all players are incentivized to report false irrespective of what other players do; consequently, the briber can induce the nodes through its promised bribe to report false without actually paying the bribe (!). Exploration of other briber strategies in the context of oracles, however—and particularly oracles that are not crowdsourced—has been limited to fairly weak adversarial models. For example, in the PoW setting, researchers have studied outcome-contingent bribes, i.e., bribes paid only if a target message is successfully censored and does not appear in a block, irrespective of an individual miner’s action [96, 165]. In the case of oracles, however, other than the p-plus-epsilon attack, we are aware only of work in a strictly limited model of bribery in which a briber sends a bribe conditioned on an individual player’s action, not on the resulting outcome. Here we sketch designs of information-elicitation mechanisms that remain incentive compatible even in a strong adversarial model, as described in the next subsection. 9.3 Modeling Assumptions In this subsection, we explain how we model the behavior and capabilities of players in our system, specifically first-tier oracle nodes, nodes in the second-tier (adjudication) layer, and adversaries.

9.3.1 First-Tier Incentive Model: Rational Actors Many blockchain systems rely for security on the assumption of some number of honest participating nodes. Nodes are defined to be honest if they follow the protocol even when it is not in their financial interest to do so. Proof-of-Work systems typically require the majority of hash power to be honest, Proof-of-Stake systems typically require \(2/3\) or more of all participating stake to be honest, and even layer-2 systems like Arbitrum [141] require at least a single honest participant. In modeling for our staking mechanism, we make a much weaker assumption. (To be clear, weaker assumptions mean stronger security properties and are therefore preferable.) We assume that the adversary has corrupted, i.e., controls, some (minority) fraction of first-tier oracle nodes. We model the remaining nodes not as honest agents, but as rational expected-utility maximizers. These nodes act entirely according to selfinterested financial incentives, choosing actions that result in an expected financial gain. For example, if a node is offered a bribe larger than the reward resulting from honest behavior, it will accept the bribe. Note on adversarial nodes: In accordance with the trust modeling common for decentralized systems, we assume that all nodes are rational, i.e., seeking to maximize net revenue, rather than controlled by a malicious adversary. Our claims, however— specifically super-linear or quadratic staking impact—hold asymptotically provided that the set of adversarially controlled nodes is at most \((1/2 - c)n\), for some positive constant \(c\). 9.3.2 Second-Tier Adjudication Model: Correctness by Assumption Recall that a critical feature of our staking mechanism that helps achieve security against rational nodes is its second-tier system. In our proposed staking mechanism, any oracle may raise an alert indicating that it believes the output of the mechanism is incorrect. An alert results in a high-trust second-tier system activating and reporting the correct result. Thus, a key modeling requirement for our approach is correct adjudication, i.e., correct reporting by the second-tier system. Our staking model assumes a second-tier system that acts as an incorruptible, maximally reliable source of truth. Such a system is likely to be expensive and slow, and thus inappropriate for use for the typical case. In the equilibrium case, however, i.e., when the first-tier system functions correctly, the second-tier system will not be invoked. Instead, its existence boosts the security of the whole oracle system by providing a high-assurance backstop. The use of a high-trust, high-cost adjudication layer resembles the appeals process at the heart of most judicial systems. It is also already common in the design of oracle systems, e.g., [119, 185]. We briefly discuss approaches to realization of the second tier in our mechanism in Section 9.4.3.

Our staking protocol uses the assumed correct adjudication of the second-tier system as a credible threat to enforce correct reporting by oracle nodes. The protocol confiscates part or all of the stake of oracle nodes that generate reports identified by the second-tier system as incorrect. Oracle nodes are thus deterred from misbehaving by the resulting financial penalty. This approach is similar in flavor to that used in optimistic rollups, e.g., [141, 10]. 9.3.3 Adversarial Model Our staking mechanism is designed to elicit truthful information while achieving security against a broad, well-defined class of adversaries. It improves upon prior works, which either omit an explicit adversarial model or focus on narrow sub-classes of adversaries, e.g., the p-plus-epsilon adversary discussed above. Our goal is to design a staking mechanism with formally proven security against the full spectrum of adversaries likely to be encountered in practice. We model our adversary as having a fixed (parameterizable) budget, denoted by $B. The adversary can communicate individually and confidentially with each oracle in the network, and can secretly offer any individual oracle guaranteed payment of a bribe contingent on publicly observable outcomes of the mechanism. Outcomes determining bribes can include, for example, the value reported by the oracle, any public messages sent by any oracle to the mechanism (e.g., an alert), the values reported by other oracles, and the value output by the mechanism. No mechanism can secure against an attacker with unlimited capabilities. We therefore consider some behaviors as unrealistic or out-of-scope. We assume our attacker cannot break standard cryptographic primitives, and, as noted above, has a fixed (if potentially large) budget $B. We further assume that the adversary does not control communication in the oracle network, specifically that it cannot substantially delay traffic between first-tier and/or second-tier nodes. (Whether the adversary can observe such communication depends on the particular mechanism, as we explain below.) Informally, however, as noted above, we assume that the adversary can: (1) Corrupt a fraction of oracle nodes (\((1/2 - c)\)-fraction for some constant \(c\)), i.e., fully control them, and (2) Offer bribes to any desired nodes, with guaranteed payment contingent on outcomes specified by the adversary, as described above. While we don’t offer a formal model or complete taxonomy of the adversary’s full range of bribing capabilities in this whitepaper, here are examples of the kinds of bribers encompassed by our model. For simplicity, we assume that oracles emit Boolean reports whose correct value (w.l.o.g.) is true, and that a final outcome is computed as an aggregate of these reports to be used by a consuming smart contract. The briber’s aim is for the final outcome to be incorrect, i.e., false. • Unconditional briber: Briber offers bribe $b to any oracle that reports false. • Probabilistic briber: Briber offers bribe $b with some probability q to any oracle that reports false.

• false-outcome conditioned briber: Briber offers bribe $b to any oracle that reports false provided that the final outcome is false. • No-alert-conditioned briber: Briber offers bribe $b to any oracle that reports false as long as no alert is raised. • p-plus-epsilon Briber: Briber offers bribe $b to any oracle that reports false as long as the majority of oracles do not report false. • Prospective briber: Briber offers bribe $b in advance to whichever oracle is selected for a randomized role and reports false. In our proposed staking protocol, all nodes act as potential watchdogs, and we are able to show that randomization of watchdog priorities does not lend itself to prospective bribery. Many proofof-work, proof-of-stake, and permissioned systems are susceptible to prospective bribery, however, which shows the importance of considering it in our adversarial model and ensuring that our staking protocols are resilient to it. See Appendix E for more details. 9.3.4 How Much Cryptoeconomic Security Is Enough? A rational adversary will only spend money to attack a system if it can obtain a profit larger than its expenditure. Thus for our adversarial model and proposed staking mechanism, $B may be viewed as a measure of the potential profit an adversary is able to extract from relying smart contracts by corrupting an oracle network and causing it to generate an incorrect report or set of reports. In deciding whether an oracle network offers a sufficient degree of cryptoeconomic security for their purposes, a user should assess the network from this perspective. For plausible adversaries in practical settings, we expect that $B will generally be substantially smaller than the total assets in relying smart contracts. In most cases, it is infeasible for an adversary to extract these assets in their totality. 9.4 Staking Mechanism: Sketch Here we present the main ideas and general structure of the staking mechanism we are currently considering. For ease of presentation, we describe a simple but slow (multi-round) protocol in this subsection. We note, however, that this scheme is quite practical. Given the economic assurances provided by the mechanism, i.e., the penalization of and consequent incentive against faulty nodes, many users may be willing to accept reports optimistically. In other words, such users may accept reports prior to potential adjudication by the second tier. Users unwilling to accept reports optimistically can choose to wait until the protocol execution terminates, i.e., until any potential escalation to the second tier occurs. This, however, can substantially slow the confirmation time for reports. We therefore briefly

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

Figure 15: Schematic of staking scheme with alerting. In this example, 1⃝a majority of nodes are corrupted / bribed and emit an incorrect value ˜r, rather than the correct report value r. The watchdog node 2⃝sends an alert to the second-tier committee, which 3⃝determines and emits the correct report value r, resulting in corrupted nodes forfeiting their deposits—each $d to the watchdog node 4⃝. outline some optimizations that result in a faster (single-round) if somewhat more complex design in Section 9.5. Recall that the first tier in our staking mechanism consists of the basic oracle network itself. The main structure of our mechanism, as described above, is that in each round, each node can act as a “watchdog” with some priority, and it thus has the ability to raise an alert if the mechanism arrives at an incorrect output ˜r, rather than a correct one r. This alert causes second-tier resolution, which we assume arrives at a correct report. Nodes with incorrect reports are punished, in the sense that their stakes are slashed and awarded to watchdogs. This basic structure is common in oracle systems, as in, e.g., [119, 185]. The key innovation in our design, mentioned briefly above, is that every node is assigned a distinct priority in the ordering of potential watchdogs. That is, watchdogs are given opportunities to alert in priority sequence. Recall that if a node has the highest priority to raise an alert, it receives the slashed deposit $d of every misbehaving node, for a total of more than \(dn/2 = \)d × n/2, as an incorrect report implies a majority of bad nodes. Consequently, the adversary must pay at least this reward to bribe an arbitrary node. Thus, to bribe a majority of nodes, the adversary must pay a large bribe to a majority of nodes, namely, strictly more than $dn2/2. We show schematically how alerting and watchdog escalation works in Fig. 15.

9.4.1 Further Mechanism Details The bribery-resistant system we now describe in further detail is a simplified sketch of the two-tiered construction we intend to build. Most of our focus will be on describing the first-tier network (henceforth simply “network” where clear from context) along with its incentive mechanism and the procedure for escalation to the second tier. Consider a Chainlink network composed of n oracle nodes that are responsible for regularly (e.g., once a minute) reporting a boolean value (e.g., whether the market capitalization of BTC exceeds that of ETH). As part of the staking mechanism, nodes must provide two deposits: a deposit $d subject to slashing in the event of disagreement with the majority and a watchdog deposit $dw subject to slashing in the event of a faulty escalation. We assume that the nodes cannot copy the submissions of other nodes, e.g., through a commit-reveal scheme as discussed in Section 5.3. In each round, nodes first commit to their report, and once all nodes have committed (or a timeout has expired), nodes reveal their reports. For each report to be generated, every node is also given a watchdog priority between 1 and n chosen at random, with 1 being top priority. This priority enables the concentration of reward in the hands of one watchdog. After all reports are public, an alerting phase ensues. Over a sequence of n (synchronous) rounds, the node with priority i has the opportunity to alert in round i. Let us consider the possible outcomes for the mechanism after nodes have revealed their reports. Again assuming a binary report, suppose the correct value is true and the incorrect one is false. Suppose also that the first-tier mechanism outputs the majority value output by nodes as the final report r. There are three possible outcomes in the mechanism: • Complete agreement: In the best case, nodes are in complete agreement: all nodes are available and have provided a timely report of the same value r (either true or false). In this case, the network need only forward r to relying contracts and reward each node with a fixed per-round payment $p, which is much smaller than $d. • Partial agreement: It is possible that some nodes are offline or there is disagreement about which value is correct, but most nodes report true and only a minority reports false. This case is also straightforward. The majority value (true) is computed, resulting in a correct report r. All nodes that reported r are rewarded with $p while the oracles that reported incorrectly have their deposits slashed modestly, e.g., by $10p. • Alert: In the event that a watchdog believes the output of the network is incorrect, it publicly triggers an alert, escalating the mechanism to the second-tier network. There are then two possible results: – Correct alert: If the second-tier network confirms that the output of the

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

Figure 16: Amplifying briber’s cost through concentrated alerting rewards. A bribing adversary must bribe each node with more than the reward it stands to gain by alerting (shown as a red bar). If alerting rewards are shared, then this reward may be relatively small. Concentrated alerting rewards increase the reward that any single node may obtain (tall red bar). Consequently the total payout by the adversary for a viable bribe (gray regions) is much larger with concentrated than shared alerting rewards. first-tier network was incorrect, the alerting watchdog node receives a reward consisting of all slashed deposits, and thus more than $dn/2. – Faulty alert: If the second-tier and first-tier oracles agree, the escalation is deemed faulty and the alerting node loses its $dw deposit. In the case of optimistic acceptance of reports, watchdog alerts do not cause any change in execution of relying contracts. For contracts designed to await potential arbitration by the second-tier committee, watchdog alerts delay but do not freeze contract execution. It is also possible for contracts to designate a failover DON for periods of adjudication. 9.4.2 Quadratic Staking Impact The ability for every node to act as a watchdog, combined with strict node priority ensuring concentrated rewards, enables the mechanism to achieve quadratic staking impact for each kind of bribing attacker described in Section 9.3.3. Recall that this means specifically in our setting that, for a network with n nodes each with deposit $d, a successful briber (of any of the kinds above) must have a budget of bigger than $dn2/2. To be precise, the briber must corrupt at least (n+1)/2 nodes, since the briber must corrupt a majority of n nodes (for odd n, by assumption). Thus, a watchdog stands to earn a reward of $d(n + 1)/2. The briber consequently must pay this amount to every

node to ensure that none acts as a watchdog. We are working to show formally that if the briber has a budget of at most $d(n2 + n)/2, then the subgame perfect equilibrium of the game between the bribers and the oracles—in other words, the equilibrium at any point during the play of the game—is for the briber not to issue the bribe and for each oracle to report its true values honestly. We have explained above how it is possible that a successful briber could require a budget significantly larger than that of the sum of the node deposits. To illustrate this intuitive result, Fig. 16 shows the impact of concentrated alert rewards graphically. As we see there, if the reward for watchdog alerting—namely the deposits of bribed nodes reporting false)—were split among all potential alerting, the total amount that any individual alerting node could expect would be relatively small, on the order of $d. A briber, knowing that a payout of larger than $d was improbable, could use a false-outcome conditional bribe to bribe each of n nodes with slightly more than $d + ϵ. Counterintuitively, Fig. 16 shows that a system that distributes a reward broadly among nodes signaling an alert is far weaker than one that concentrates the reward in the hands of a single watchdog. Example parameters: Consider a (first-tier) network with n = 100 nodes, each depositing \(d = \)20K. This network would have a total of $2M deposited but would be protected against a briber with budget \(100M = \)dn2/2. Increasing the number of oracles is more effective than increasing $d, of course, and can have a dramatic effect: a network with n = 300 nodes and deposits \(d = \)20K would be protected against a briber with budget up to $900M. Note that a staking system can in many cases protect smart contracts representing more value than the offered level of bribery protection. This is because an adversary attacking these contracts cannot extract the full value in many cases. For example, a Chainlink-powered contract securing $1B in value may only require security against a briber with $100M in resource because such an adversary can feasibly extract a profit of only 10% of the value of the contract. Note: The idea that the value of a network can grow quadratically is expressed in the well known Metcalfe’s Law [167, 235], which states that the value of a network grows quadratically in the number of connected entities. Metcalfe’s Law, however, arises from growth in the number of potential pairwise network connections, a different phenomenon than that underlying quadratic staking impact in our incentive mechanism. 9.4.3 Realization of Second Tier Two operational features facilitate realization of a high-reliability second tier: (1) Second-tier adjudication should be a rare event in oracle networks and therefore can be significantly more costly than normal operation of the first tier and (2) Assuming

optimistically accepted reports—or contracts whose execution can await arbitration— the second tier need not execute in real time. These features result in a range of configuration options for the second tier to meet the requirements of particular DONs. As an example approach, a second tier committee can consist of nodes selected by a DON (i.e., first tier) from the longest-serving and most reliable nodes in the Chainlink network. In addition to considerable relevant operational experience, the operators of such nodes have a considerable implicit incentive in FFO that motivates a desire to ensure that the Chainlink network remains highly reliable. They also have publicly available performance histories that provide transparency into their reliability. Secondtier nodes, it is worth noting, need not be participants in the first-tier network, and may adjudicate faults across multiple first-tier networks. Nodes in a given DON can pre-designate and publicly commit to a set of n′ such nodes as constituting the second-tier committee for that DON. Additionally, DON nodes publish a parameter k′ ≤n′ that determines the number of second-tier votes required to penalize a first-tier node. When an alert is generated for a given report, the members of the second tier vote on the correctness of the values provided by each of the first-tier nodes. Any first-tier node that receives k′ negative votes forfeits its deposits to the watchdog node. Because of the rareness of adjudication and opportunity for extended-time execution noted above, in contrast to the first tier, nodes in the second tier can: 1. Be highly compensated for conducting adjudication. 2. Draw on additional data sources, beyond even the diverse set used by the firsttier. 3. Rely on manual and/or expert inspection and intervention, e.g., to identify and reconcile errors in source data and distinguish between an honest node relaying faulty data and a misbehaving node. We emphasize that the approach we have just described for selection of secondtier nodes and policy governing adjudication represents just a point within a large design space of possible realizations of the second tier. Our incentive mechanism offers complete flexibility as to how the second tier is realized. Individual DONs can thus constitute and set rules for their second tiers that meet the particular requirements and expectations of participating nodes and users. DECO and Town Crier as adjudication tools: It is essential for the second tier in our mechanism to be able to distinguish between adversarial first-tier nodes that intentionally produce incorrect reports and honest first-tier nodes that unintentionally relay data that is incorrect at the source. Only then can the second tier implement slashing to disincentivize cheating, the goal of our mechanism. DECO and Town Crier are powerful tools that can enable second-tier nodes to make this critical distinction reliably.

Second-tier nodes may in some cases be able to directly query the data source used by a first-tier node or use ADO Section 7.1 in order to check whether an incorrect report resulted from a faulty data source. In other cases, however, second tier nodes may lack direct access to a first-tier node’s data source. In such cases, correct adjudication would appear to be infeasible or require a reliance on subjective judgment. Previous oracle dispute systems have relied upon inefficient, escalating rounds of voting to address such challenges. Using DECO or Town Crier, however, a first tier node can prove correct behavior to second-tier nodes. (See Section 3.6.2 for details on the two systems.) Specifically, if the second tier node identifies a first-tier node as having output a faulty report value ˜r, the first-tier node can use DECO or Town Crier to generate tamperproof evidence for second-tier nodes that it is correctly relaying ˜r correctly from a (TLS-enabled) source recognized as authoritative by the DON. Critically, the first-tier node can do this without second-tier nodes requiring direct access to the data source.17 Consequently, correct adjudication is feasible in Chainlink for any desired data source. 9.4.4 Misreporting Insurance The strong bribery resistance achieved by our staking mechanism relies fundamentally on slashed funds being awarded to alerters. Without a monetary reward, alerters would have no direct incentive to reject bribes. As a result, however, slashed funds are not available to compensate users harmed by incorrect reports, e.g., users that lose money when incorrect price data is relayed to a smart contract. By assumption, incorrect reports don’t pose a problem if reports are accepted by a contract only after potential adjudication, i.e., action by the second tier. As explained above, though, to achieve the best possible performance, contracts may instead rely optimistically on the mechanism to enforce correct reporting, meaning that they accept reports before potential second-tier adjudication. Indeed, such optimistic behavior is safe in our model assuming rational adversaries whose budgets do not exceed the staking impact of the mechanism. Users concerned about the improbable event of a mechanism failure resulting from, e.g., adversaries with overwhelming financial resources, may wish to employ an additional layer of economic security in the form of misreporting insurance. We know of multiple insurers already intending to offer smart-contract-backed policies of this kind for Chainlink-secured protocols in the near future, including through innovative mechanisms such as DAOs, e.g., [7]. The existence of performance history for Chainlink nodes and other data about nodes such as their stake amounts provides an exceptionally strong basis for actuarial assessments of risk, making it possible to price policies in ways that are inexpensive for policyholders yet sustainable for insurers. 17With Town Crier, it is additionally possible for first-tier nodes to locally generate attestations of correctness for the reports they output and provide these attestations to second-tier nodes on an as-needed basis.

Basic forms of misreporting insurance can be implemented in a trustworthy and efficient manner using smart contracts. As a simple example, a parametric insurance contract SCins can compensate policyholders automatically if our incentive mechanism’s second tier identifies an error in a report generated in the first tier. A user U that wishes to purchase an insurance policy, e.g., the creator of a target contract SC, can submit a request to a decentralized insurer for an policy amount $M on the contract. On approving U, the insurer can set an ongoing (e.g., monthly) premium of $P in SCins. While U pays the premium, her policy remains active. If a reporting failure occurs in SC, the result will be the emission of a pair (r1, r2) of conflicting reports for SC, where r1 is signed by the first tier in our mechanism and r2, the corresponding corrected report, is signed by the second tier. If the U furnishes such a valid pair (r1, r2) to SCins, the contract automatically pays her $M, provided her premium payments are up-to-date. 9.5 Single-Round Variant The protocol described in the previous subsection requires that the second-tier committee wait n rounds to determine whether a watchdog has raised an alert. This requirement holds even in the optimistic case, i.e., when the first tier is functioning correctly. For users unwilling to accept reports optimistically, i.e., prior to potential adjudication, the delay associated with that approach would be unworkable. For this reason, we are also exploring alternative protocols that require just one round. In this approach, all oracle nodes submit secret bits indicating whether or not they wish to raise an alert. The second-tier committee then checks these values in priority order. To provide a rough sketch, such a scheme might involve the following steps: 1. Watchdog bit submission: Each node Oi secret-shares a one-bit watchdog value wi ∈{no alert, alert} among nodes in the second tier for every report it generates. 2. Anonymous tips: Any oracle node can submit an anonymous tip α to the secondtier committee in the same round that watchdog bits are submitted. This tip α is a message indicating that an alert has been raised for the current report. 3. Watchdog bit checking: The second-tier committee reveals oracle nodes’ watchdog bits in priority order. Note that nodes must send no alert watchdog bits when they don’t alert: otherwise, traffic analysis reveals all nodes’ bits. The protocol does reveal the no alert watchdog bits of nodes with higher priority than the highest-priority alerting watchdog. Observe that what is revealed is identical with that of our n-round protocol. Rewards are also distributed identically with that scheme, i.e., the first identified watchdog receives the slashed deposits of nodes that have submitted incorrect reports.

The use of anonymous tips enables the second-tier committee to remain noninteractive in cases where no alert has been raised, reducing communication complexity in the common case. Note that any watchdog that raises an alert has an economic incentive to submit an anonymous tip: If no tip is submitted, no reward is paid to any node. To ensure that the sender Oi of an anonymous tip α cannot be identified by the adversary based on network data, the anonymous tip can be sent over an anonymous channel, e.g, via Tor, or, more practically, proxied via a cloud service provider. To authenticate the tip as originating with O, Oi can sign α using a ring signature [39, 192]. Alternatively, to prevent unattributable denial-of-service attacks against the secondtier committee by a malicious oracle node, α can be an anonymous credential with revocable anonymity [73]. This protocol, while practically achievable, has somewhat heavyweight engineering requirements (which we are exploring ways to reduce). First-tier nodes, for instance, must communicate directly with second-tier nodes, requiring maintenance of a directory. The need for anonymous channels and ring signatures adds to the engineering complexity of the scheme. Finally, there is a special trust requirement briefly discussed in the note below. We are therefore also exploring simpler schemes that still achieve super-linear staking impact, but perhaps less than quadratic, in which a briber asymptotically needs resources of at least $n log n, for example. Some of the schemes under consideration involve random selection of a strict subset of nodes to act as watchdogs, in which case prospective bribery becomes an especially powerful attack. Remark: The security of this single-round staking mechanism requires untappable channels between oracle and second-tier nodes—a standard requirement in coercionresistant systems, e.g., voting [82, 138], and a reasonable one in practice. Additionally, however, a node Oi that seeks to cooperate with a briber can construct its secret shares in such a way as to show the briber that it has encoded a particular value. For example, if Oi does not know which nodes the briber controls, then Oi can submit 0-valued shares to all committee members. The briber can then verify Oi’s compliance probabilistically. To avoid this problem in any single-round protocol, we require that Oi know the identity of at least one honest second-tier node. With an interactive protocol in which each second-tier node adds a randomization factor to shares, the best the briber can do is enforce selection by Oi of a random watchdog bit. 9.6 Implicit-Incentive Framework (IIF) FFO is a form of implicit incentive for correct behavior in the Chainlink network. It functions like explicit stake, i.e., deposits, in that it helps enforce economic security for the network. In other words, FFO should be included as part of the (effective) deposit $d of a node in the network.

The question is: How do we measure FFO and other forms of implicit incentive within the Chainlink network? The Implicit-Incentive Framework (IIF) is a set of principles and techniques that we plan to develop for this purpose. Blockchain systems provide many forms of unprecedented transparency, and the high-trust records of node performance they create are a springboard for our vision of how the IIF will work. Here we very briefly sketch ideas on key elements of the IIF. The IIF itself will consist of a set of factors we identify as important in evaluating implicit incentives, along with mechanisms for publishing relevant data in a highassurance form for consumption by analytics algorithms. Different Chainlink users may wish to use the IIF in different ways, e.g., giving different weighting to different factors. We expect analytics services to arise in the community that help users apply the IIF according to their individual risk-evaluation preferences, and our goal is to facilitate such services by ensuring their access to high-assurance and timely supporting data, as we discuss below (Section 9.6.4). 9.6.1 Future Fee Opportunity Nodes participate in the Chainlink ecosystem to earn a share of the fees that the networks pay out for any of the various services we have described in this paper, from ordinary data feeds to advanced services such as decentralized identity, fair sequencing, and confidentiality-preserving DeFi. Fees in the Chainlink network support node operators’ costs for, e.g., running servers, acquiring necessary data licenses, and maintaining a global staffto ensure high uptime. FFO denotes the service fees, net of expenses, that a node stands to gain in the future—or lose should it demonstrate faulty behavior. FFO is a form of stake that helps secure the network. A helpful feature of FFO is the fact that on-chain data (supplemented by off-chain data) establish a high-trust record of a node’s history, enabling computation of FFO in a transparent, empirically driven manner. A simple, first-order measure of FFO can derive from the average net revenue of a node over a period of time (i.e., gross revenue minus operating expenses). FFO may then be calculated as, e.g., the net present value [114] of cumulative future net revenue, in other words, the time-discounted value of all future earnings. Node revenue can be volatile, however, as shown for example in Fig. 17. More importantly, node revenue may not follow a distribution that is stationary over time. Consequently, other factors we plan to explore in estimating FFO include: • Performance history: An operator’s performance history—including the correctness and timeliness of its reports, as well as its up time—provides an objective touchstone for users to evaluate its reliability. Performance history will thus provide a critical factor in users’ selection of oracle nodes (or, with the advent of DONs, their selection of DONs). A strong performance history is likely to correlate with high ongoing revenue.18 18An important research question we intend to address is detection of falsified service volumes.

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

Figure 17: Revenue earned by Chainlink nodes on a single data feed (ETH-USD) during a representative week in March 2021. • Data access: While oracles may obtain many forms of data from open APIs, certain forms of data or certain high-quality sources may be available only on a subscription basis or through contractual agreements. Privileged access to certain data sources can play a role in creating a stable revenue stream. • DON participation: With the advent of DONs, communities of nodes will come together to provide particular services. We expect that many DONs will include operators on a selective basis, establishing participation in reputable DONs as a privileged market position that helps ensure a consistent source of revenue. • Cross-platform activity: Some node operators may have well-established presences and performance track records in other contexts, e.g., as PoS validators or data providers in non-blockchain contexts. Their performance in these other systems (when data on it is available in a trustworthy form) can inform evaluation of their performance history. Similarly, faulty behavior in the Chainlink network can jeopardize revenue in these other systems by driving away users, i.e., FFO can extend across platforms. 9.6.2 Speculative FFO Node operators participate in the Chainlink network not just to generate revenue from operations, but to create and position themselves to take advantage of new opportunities to run jobs. In other words, expenditure by oracle nodes in the network is also a positive statement about the future of DeFi and other smart-contract application domains as well as emerging non-blockchain applications of oracle networks. Node operators today earn the fees available on existing Chainlink networks and simultaneously These are loosely analogous to fake reviews on internet sites, except that the problem is easier in the oracle setting because we have a definitive record of whether the goods, i.e., reports, were ordered and delivered—as opposed to, e.g., physical goods ordered in online shops. Put another way, in the oracle setting, performance can be validated, even if customer veracity can’t.

build a reputation, performance history, and operational expertise that will position them advantageously to earn fees available in future networks (contingent, of course, on honest behavior). The nodes operating in the Chainlink ecosystem today will in this sense have an advantage over newcomers in earning the fees as additional Chainlink services become available. This advantage applies to new operators, as well as technology companies with established reputations; for example, T-Systems, a traditional technology provider (subsidiary of Deutsche Telekom), and Kraken, a large centralized exchange, have established early presences in the Chainlink ecosystem [28, 143]. Such participation by oracle nodes in future opportunities may be regarded itself as a kind of speculative FFO, and thus constitutes a form of stake in the Chainlink network. 9.6.3 External Reputation The IIF as we have described it can operate in a network with strictly pseudonymous operators, i.e., without disclosure of the people or real-world entities involved. One potentially important factor for user selection of providers, however, is external reputation. By external reputation, we mean the perception of trustworthiness attaching to real-world identities, rather than pseudonyms. Reputational risk attaching to real-world identities can be viewed as a form of implicit incentive. We view reputation through the lens of the IIF, i.e., in a cryptoeconomic sense, as a means of establishing cross-platform activity that may be incorporated into FFO estimates. The benefit of using external reputation as a factor in estimates of FFO, as opposed to pseudonymous linkage, is that external reputation links performance not just to an operator’s existing activities, but also to future ones. If, for instance, a bad reputation attaches to an individual person, it can taint that person’s future enterprises. Put another way, external reputation can capture a broader swath of FFO than pseudonymous performance records, as the impact of malfeasance attaching to a person or established company is harder to escape than that associated with a pseudonymous operation. Chainlink is compatible with decentralized identity technologies (Section 4.3) that can provide support for the use of external reputation in the IIF. Such technologies can validate and thereby help ensure the veracity of operators’ asserted real-world identities.19 9.6.4 Open IIF Analytics The IIF, as we have noted, aims to provide reliable open-source data and tools for implicit-incentive analytics. The goal is to enable providers within the community to develop analytics tailored to the risk-assessment needs of different parts of the Chainlink user base. 19Decentralized identity credentials can also, where desired, embellish pseudonyms with validated supplementary information. For example, a node operator could in principle use such credentials to prove that it is a Fortune 500 company, without revealing which one.

A considerable amount of historical data regarding nodes’ revenue and performance resides on chain in a high-trust, immutable form. Our goal, however, is to provide the most comprehensive possible data, including data on behaviors that are visible only off chain, such as Off-Chain Reporting (OCR) or DON activity. Such data can potentially be voluminous. The best way to store it and ensure its integrity, i.e., protect it from tampering, we believe, will be with the help of DONs, using techniques discussed in Section 3.3. Some incentives lend themselves to direct forms of measurement, such as staking deposits and basic FFO. Others, such as speculative FFO and reputation, are harder to measure in an objective manner, but we believe that supporting forms of data, including historical growth of the Chainlink ecosystem, social-media metrics of reputation, etc., can support IIF analytics models even for these harder-to-quantify elements. We can imagine that dedicated DONs arise specifically to monitor, validate, and record data relating to off-chain performance records of nodes, as well as other data used in the IIF, such as validated identity information. These DONs can provide uniform, high-trust IIF data for any analytics providers serving the Chainlink community. They will also provide a golden record that makes the claims of analytics providers independently verifiable by the community. 9.7 Putting It All Together: Node Operator Incentives Synthesizing our discussions above on explicit and implicit incentives for node operators provides a holistic view of the ways that node operators participate in and benefit from the Chainlink network. As a conceptual guide, we can express the total assets at stake by a given Chainlink node operator $S in a rough, stylized form as: \(S ≈\)D + \(F + \)FS + $R, where: • $D is the aggregate of all explicitly deposited stake across all networks in which the operator participates; • $F is the net present value of the aggregate of all FFO across all networks in which the operator participates; • $FS is the net present value of the speculative FFO of the operator; and • $R is the reputational equity of the operator outside the Chainlink ecosystem that might be jeopardized by identified misbehavior in its oracle nodes. While largely conceptual, this rough equality helpfully shows that there is a multiplicity of economic factors favoring high-reliability performance by Chainlink nodes. All of these factors other than $D are present in today’s Chainlink networks.

9.8 The Virtuous Cycle of Economic Security The combination of super-linear staking impact with representation of fee payments as future fee opportunity (FFO) in the IIF can lead to what we call the virtuous cycle of economic security in an oracle network. This can be seen as a kind of economy of scale. As the total amount secured by a particular network rises, the amount of additional stake it takes to add a fixed amount of economic security decreases as does the average per-user cost. It’s therefore cheaper, in terms of fees, for a user to join an already-existing network than to achieve the same increase in network economic security by creating a new network. Importantly, the addition of each new user lowers the cost of the service for all previous users of that network. Given a particular fee structure (e.g. a particular yield rate on the amount staked), if the total fees earned by a network increases, this incentivizes the flow of additional stake into the network to secure it at a higher rate. Specifically, if the total stake an individual node may hold in the system is capped, then when new fee payments enter the system, raising its FFO, the number of nodes n will increase. Thanks to the super-linear staking impact of our incentive system design, the economic security of the system will rise faster than n, e.g., as n2 in the mechanism we sketch in Section 9.4. As a result, the average cost for economic security—i.e., amount of stake contributing a dollar of economic security—will drop. The network can therefore charge its users lower fees. Assuming that demand for oracle services is elastic (see, e.g., [31] for a brief explanation), demand will rise, generating additional fees and FFO. We illustrate this point with the following example. Example 5. Since the economic security of an oracle network with our incentive scheme is \(dn2 for stake \)dn, the economic security contributed by a dollar of stake is n and thus the average cost per dollar of economic security—i.e, amount of stake contributing to a dollar of economic security—is 1/n. Consider a network in which the economic incentives consist entirely of FFO, capped at \(d ≤\)10K per node. Suppose the network has n = 3 nodes. Then the average cost per dollar of economic security is about $0.33. Suppose that the total FFO of the network rises above \(30K (e.g., to \)31K). Given the cap on per-node FFO, the network grows to (at least) n = 4. Now the average cost per dollar of economic security drops to about $0.25. We illustrate the full virtuous cycle of economic security in oracle networks schematically in Fig. 18. We emphasize that the virtuous cycle of economic security derives from the effect of users pooling their fees. It is their collective FFO that works in favor of larger network sizes and thus greater collective security. We also note that the virtuous cycle of economic security works in favor of DONs achieving financial sustainability. Once created, DONs that address user needs should grow to and beyond the point at which revenue from fees exceed operational costs for oracle nodes.

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

Figure 18: Schematic of the virtuous cycle of Chainlink staking. A rise in user fee payments to an oracle network 1⃝causes it to grow, leading to growth in its economic security 2⃝. This super-linear growth realizes economies of scale in Chainlink networks 3⃝. Specifically, it means a reduction in the average cost of economic security , i.e., the per-dollar economic security arising from fee payments or other sources of stake increases. Lower costs, passed along to users, stimulate increased demand for oracle services 4⃝. 9.9 Additional Factors Driving Network Growth As the Chainlink ecosystem continues to expand, we believe that its attractiveness to users and importance as infrastructure for the blockchain economy will accelerate. The value provided by oracle networks is super-linear, meaning that it grows faster

than the size of the networks themselves. This growth in value derives from both economies of scale—greater per-user cost efficiency as service volumes increase—and network effects—an increase of network utility as users adopt DONs more widely. As existing smart contracts continue to see more value secured and entirely new smart contract applications are made possible by more decentralized services, the total use of and aggregate fees paid to DONs should grow. Increasing pools of fees in turn translate into the means and incentive to create even more decentralized services, resulting in a virtuous cycle. This virtuous cycle solves a critical chicken-and-egg problem in the hybrid smart contract ecosystem: Innovative smart contract features often require decentralized services that don’t yet exist (e.g., new DeFi markets often require new data feeds) yet need sufficient economic demand to come into existence. The pooling of fees by various smart contracts for existing DONs will signal demand for additional decentralized services from a growing user base, giving rise to their creation by DONs and an ongoing enablement of new and varied hybrid smart contracts. In summary, we believe that the growth in network security driven by virtuous cycles in the Chainlink staking mechanism exemplifies larger patterns of growth that the Chainlink network can help bring about in an on-chain economy for decentralized services.

É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

Conclusion

Conclusion

In this paper, we have set forth a vision for Chainlink’s evolution. The main theme in this vision is oracle networks’ ability to provide a much broader range of service for smart contracts than mere data delivery. Using DONs as a foundation for the decentralized services of the future, Chainlink will aim to provide performant, confidentialityenhanced oracle functionality. Its oracle networks will offer strong trust minimization through a combination of principled cryptoeconomic mechanisms such as staking and carefully conceived guard rails and service-level enforcement on relying main chains. DONs will also help layer-2 systems enforce flexible, fair ordering policies on transactions, as well as reduced gas costs for mempool-routed transactions. Taken together, these capabilities all drive in the direction of secure and richly functional hybrid smart contracts. The flexibility of DONs will enhance existing Chainlink services and give rise to many additional smart contract features and applications. Among these are seamless connection to a wide variety of off-chain systems, decentralized identity creation from existing data, priority channels to help ensure timely delivery of infrastructure-critical transactions, and confidentiality-preserving DeFi instruments. The vision we’ve set forth here is ambitious. In the short term, we seek to empower hybrid contracts to accomplish goals beyond the reach of smart contracts today, while in the long term we aim to realize a decentralized metalayer. Happily we can draw on new tools and ideas—ranging from consensus algorithms to zero-knowledge proof systems—that the community is developing as the fruit of rapidly evolving research.

Similarly, we expect to prioritize implementation of the ideas in this paper in response to the needs of Chainlink’s community of users. We look forward to the next stage in our quest to empower smart contracts through universal connectivity and establish decentralized technologies as the backbone of the world’s next generation of financial and legal systems. Acknowledgements Thanks to Julian Alterini and Shawn Lee for rendering the figures in this paper.

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.