Chainlink: децентрализованная сеть Oracle

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

Oleh Steve Ellis, Ari Juels and Sergey Nazarov · 2017

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.

Аннотация

В этом техническом документе мы формулируем видение развития Chainlink за пределами его первоначальной концепции, изложенной в оригинальном техническом документе Chainlink. Мы предвидим все более расширяющаяся роль сетей oracle, в которой они дополняют и улучшают существующие и новые blockchain, обеспечивая быструю, надежную и универсальная связь с сохранением конфиденциальности и автономные вычисления для smart contractс. Основой нашего плана является то, что мы называем децентрализованными сетями Oracle, или Для краткости DONs. DON — это сеть, поддерживаемая комитетом Chainlink. узлы. Он поддерживает любую из неограниченного диапазона oracle функций, выбранных для размещение комитетом. Таким образом, DON действует как мощный уровень абстракции, предлагая интерфейсы для smart contracts с обширными оффчейн-ресурсами и высокоэффективными эффективные, но децентрализованные вычислительные ресурсы вне сети внутри самого DON. Используя DONs в качестве трамплина, Chainlink планирует сосредоточиться на достижениях в семи ключевые направления: • Гибридные smart contracts: предложение мощной общей структуры для расширения существующих возможностей smart contract путем безопасного создания цепочки. и автономные вычислительные ресурсы в то, что мы называем гибридными smart contract. • Абстрагирование сложности: предоставление разработчикам и пользователям простых функциональность устраняет необходимость знакомства со сложными базовыми протоколы и границы системы. • Масштабирование: обеспечение того, чтобы службы oracle обеспечивали требуемые задержки и пропускную способность. востребованы высокопроизводительными децентрализованными системами. • Конфиденциальность: создание систем нового поколения, объединяющих blockchains’ врожденная прозрачность с новой надежной защитой конфиденциальности для чувствительных данные. • Справедливость заказов для транзакций: поддержка последовательности транзакций разными способами. которые являются справедливыми для конечных пользователей и предотвращают опережающие и другие атаки со стороны боты и майнеры-эксплуататоры. • Минимизация доверия: создание высоконадежного уровня поддержки smart contracts и другие oracle-зависимые системы посредством децентрализации, сильной привязки к высокозащищенным blockchains, криптографическим технологии и криптоэкономические гарантии. • Криптоэкономическая безопасность, основанная на стимулах: тщательное проектирование и активное развертывание механизмов, которые гарантируют, что узлы в DONs имеют сильные экономические стимулы вести себя надежно и правильно, даже перед лицом хорошо обеспеченных ресурсами противников. Представляем предварительные и текущие инновации сообщества Chainlink. в каждой из этих областей, давая картину расширяющегося и все более мощные возможности, запланированные для сети 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.

Введение

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

Блокчейн oracle сегодня часто рассматривается как децентрализованный сервис с одной целью: для пересылки данных из ресурсов вне сети на blockchains. Хотя это короткий шаг, от пересылки данных до их обработки, хранения или двунаправленной передачи. Это наблюдение оправдывает гораздо более широкое представление о функциональности oracles. И тоже выполнять растущие и все более многогранные требования к обслуживанию smart contracts технологии, основанные на сетях oracle. Короче говоря, oracle может и понадобится быть двунаправленным интерфейсом общего назначения с поддержкой вычислений между ончейн- и офчейн-системами. Роль оракулов в экосистеме blockchain заключается в улучшении производительность, функциональность и совместимость smart contract, чтобы они могли принести новые модели доверия и прозрачности во множество отраслей. Эта трансформация произойдет за счет более широкого использования гибридных smart contracts, которые объединяют Особые свойства blockchains с уникальными возможностями автономных систем, таких как oracle сетей и тем самым достичь гораздо большего охвата и мощности, чем ончейн-системы. в изоляции. В этом техническом документе мы формулируем видение того, что мы называем Chainlink 2.0, развитием Chainlink за пределами его первоначальной концепции, изложенной в исходном Chainlink техническом документе [98]. Мы прогнозируем возрастающую роль сетей oracle, в которых они дополняют и улучшают существующие и новые blockchain, обеспечивая быстрое, надежное и сохраняющее конфиденциальность универсальное соединение и вычисления для гибридных smart contractс. Мы считаем, что сети oracle даже превратятся в коммунальные услуги. для экспорта данных высокой степени целостности blockchain в системы за пределами blockchain экосистема. Сегодня узлы Chainlink, управляемые разнообразным набором объектов, объединяются в сети oracle для передачи данных на smart contract в так называемых отчетах. Мы можем просмотреть такие oracle узлов как комитет, аналогичный таковому в классическом консенсусе blockchain [72], но с целью поддержки существующих blockchain, а не предоставления автономной функциональности. С проверяемыми случайными функциями (VRF) и отчетами вне цепочки (OCR), Chainlink уже развивается в сторону универсальной структуры и инфраструктуры для предоставления вычислительных ресурсов, необходимых smart contract для расширенный функционал. Основой нашего плана для Chainlink 2.0 является то, что мы называем децентрализованным Oracle. Сети, или сокращенно DONs. Поскольку мы ввели термин «сеть oracle» в оригинальный Chainlink технический документ [98], oracle имеют еще более богатую функциональность и широта применения. В данной статье мы предлагаем новое определение этого термина, согласно нашему будущему видению экосистемы Chainlink. С этой точки зрения DON представляет собой сеть поддерживается комитетом из Chainlink узлов. Основанный на консенсусном протоколе, он поддерживает любую из неограниченного диапазона функций oracle, выбранных для развертывания комитет. Таким образом, DON действует как уровень абстракции blockchain, предоставляя интерфейсы. для отключения ресурсов как для smart contracts, так и для других систем. Он также обеспечивает доступ к высокоэффективным, но децентрализованным вычислительным ресурсам вне цепочки. В общем, DON поддерживает операции в основной цепочке. Его цель – обеспечить безопасное и гибкоеble гибридные smart contracts, которые сочетают в себе вычисления внутри и вне цепочки с подключение к внешним ресурсам. Подчеркнем, что даже при использовании комитетов в DONs, сам Chainlink остается по своей сути неразрешимым. DONs выступают в качестве основы несанкционированного доступа. структуру, в которой узлы могут объединяться для реализации пользовательских сетей oracle с свои собственные режимы включения узлов, которые могут быть разрешенными или неразрешенными. Взяв за основу DONs, мы планируем в Chainlink 2.0 сосредоточиться на достижениях в семи Ключевые области: гибридные smart contracts, абстрагирование сложности, масштабирование, конфиденциальность, справедливость порядка транзакций, минимизация доверия и основанная на стимулах (криптоэкономическая) безопасность. Во введении к этой статье мы представляем обзор децентрализованных систем. Oracle Networks в разделе 1.1, а затем наши семь ключевых областей инноваций в разделе 1.2. Мы описываем организацию остальной части этой статьи в разделе 1.3. 1.1 Децентрализованные сети Oracle Децентрализованные сети Oracle предназначены для улучшения и расширения возможностей из smart contracts в целевой blockchain или основной цепочке с помощью функций, которые не доступен изначально. Они делают это, предоставляя три основных ресурса, найденных в вычислительные системы: сети, хранение и вычисления. DON призван предложить эти ресурсы с высокими характеристиками конфиденциальности, целостности и доступности1, поскольку а также ответственность. DON формируются комитетами узлов oracle, которые сотрудничают для выполнения определенного работу или решите установить долгосрочные отношения, чтобы предоставлять постоянные услуги клиентам. DON разработаны независимо от blockchain. Они обещают служить мощный и гибкий инструмент для разработчиков приложений, позволяющий создавать автономную поддержку свои smart contract в любой поддерживаемой основной цепочке. Два типа функций реализуют возможности DON: исполняемые файлы и адаптеры. Исполняемые файлы — это программы, которые выполняются непрерывно и децентрализованно на компьютере DON. Хотя они не хранят активы основной цепи напрямую, у них есть важные преимущества, в том числе высокая производительность и способность выполнять конфиденциальные операции. расчет. Исполняемые файлы запускаются автономно на DON и работают детерминированно. операции. Они работают совместно с адаптерами, которые связывают DON с внешними ресурсами. и может вызываться исполняемыми файлами. Адаптеры, какими мы их представляем для DONs, представляют собой обобщение внешних адаптеров в Chainlink сегодня. Хотя существующие адаптеры обычно данные извлекаются только из источников данных, адаптеры могут работать в двунаправленном режиме; в DONs, они могут дополнительно использовать совместные вычисления узлов DON для достижения дополнительные функции, такие как шифрование отчетов для сохранения конфиденциальности исполняемый файл. Чтобы дать представление об основных операциях DON, на рис. 1 концептуально показано, как DON можно использовать для отправки отчетов на blockchain и, таким образом, реализовать традиционную существующую функциональность oracle. Однако DONs могут предоставлять множество дополнительных функций, помимо 1 «ЦРУ-триада» информационной безопасности [123, с. 26, §2.3.5].Существующие сети Chainlink. Например, в общей структуре рис. 1: исполняемый файл может записывать полученные данные о ценах активов на DON, используя эти данные для вычислить, например, скользящее среднее значение для своих отчетов. Рисунок 1. Концептуальный рисунок, показывающий в качестве примера, как децентрализованная сеть Oracle может реализовать базовую функциональность oracle, т. е. передавать данные вне цепочки в контракт. Ан исполняемый файл использует адаптеры для извлечения данных вне цепочки, на которых он вычисляет, отправляя выходные данные через другой адаптер к цели blockchain. (Адаптеры инициируются кодом в DON, представленный маленькими синими прямоугольниками; стрелки показывают направление потока данных для этого конкретный пример.) Исполняемый файл может дополнительно читать и записывать в локальный DON. хранилище для хранения состояния и/или связи с другими исполняемыми файлами. Гибкие сети, вычисления и хранение в DON, представленные здесь, открывают множество новых возможностей. приложения. Основным преимуществом DON является их способность запускать новые службы blockchain. DONс являются средством, с помощью которого существующие сети oracle могут быстро поддерживать сервисные приложения. сегодня для этого потребуется создание специально построенных сетей. Мы даем ряд примеры таких приложений в разделе 4. В разделе 3 мы предоставим более подробную информацию о DON, описывая их возможности в с точки зрения интерфейса, который они представляют разработчикам и пользователям. 1.2 Семь ключевых целей дизайна Здесь мы кратко рассмотрим семь ключевых направлений, перечисленных выше, для эволюции Chainlink, а именно:Гибридные smart contracts: Центральное место в нашем видении Chainlink занимает идея безопасного объединение ончейн и офчейн компонентов в smart contracts. Мы ссылаемся на контракты реализуя эту идею в виде гибридных smart contract или гибридных контрактов.2 Блокчейны играют и будут продолжать играть две критически важные роли в децентрализованном обслуживании. экосистемы: они оба являются локусами, где представлена собственность на криптовалюту. и надежные якоря для децентрализованных услуг. Поэтому смарт-контракты должны быть представлены или исполнены в цепочке, но их возможности в цепочке строго ограничены. Чисто Код ончейн-контракта медленный, дорогой и изолированный, неспособный извлечь выгоду из реального мира. данные и различные функциональные возможности, которые по своей сути недостижимы в цепочке, включая различные формы конфиденциальных вычислений, безопасную генерацию (псевдо)случайности против майнерских / validator манипуляций и т. д. Поэтому, чтобы smart contracts полностью реализовали свой потенциал, требуется smart contracts. быть спроектирован с двумя частями: частью цепочки (которую мы обычно обозначаем SC) и часть вне цепочки, исполняемый файл, работающий на DON (который мы обычно обозначаем как исполнительный). Цель состоит в том, чтобы достичь безопасного сочетания функциональных возможностей сети с помощью множество офчейн-сервисов, которые стремятся предоставить DONs. Вместе две части составить гибридный договор. Концептуально эту идею мы представляем на рис. 2. Уже сегодня Chainlink сервисы3, такие как каналы данных и VRF, позволяют сделать невозможное другим способом smart contract приложений, от DeFi до справедливо сгенерированных NFT и децентрализованного страхования, как первые шаги на пути к более общей структуре. В качестве услуг Chainlink расширяться и становиться более производительными в соответствии с нашим видением, изложенным в этом техническом документе, а также будет ли мощь систем smart contract во всех blockchain. Остальные шесть наших ключевых направлений в этом документе можно рассматривать как действие в сфере обслуживания. первого, всеобъемлющего гибридного контракта. Эти фокусы включают удаление видимых сложности из-за гибридных контрактов, создавая дополнительные офчейн-сервисы, которые позволяют создание все более эффективных гибридных контрактов и, в случае минимизации доверия, усиление свойств безопасности, достигаемых гибридными контрактами. Мы оставляем идею гибридных контрактов, подразумеваемых на протяжении большей части статьи, но любая комбинация Логику MAINCHAIN с DON можно рассматривать как гибридный контракт. Абстрагируем сложность: DON предназначены для использования децентрализованных системы удобны для разработчиков и пользователей за счет абстрагирования часто сложных механизмов за мощным и гибким набором услуг DONs. Существующие услуги Chainlink уже есть эта функция. Например, потоки данных в Chainlink сегодня представляют собой интерфейсы цепочки, которые не требуют от разработчиков интересоваться деталями уровня протокола, такими как средства, с помощью которых OCR обеспечивает согласованную отчетность между 2Идея составления контрактов ончейн/оффчейн возникала ранее в различных ограниченных формы, например системы уровня 2, blockchains [80] на базе TEE и т. д. Наша цель — поддержать и обобщить эти подходы и гарантировать, что они могут включать доступ к данным вне цепочки и другие ключевые oracle услуги. 3Chainlink услуги включают в себя множество децентрализованных услуг и функций, доступных через сеть. Их предлагают многочисленные операторы узлов, входящие в различные сети oracle. по всей экосистеме.Рисунок 2. Концептуальная схема, показывающая состав контракта внутри и вне цепочки. А гибрид smart contract 3⃝состоит из двух взаимодополняющих компонентов: цепочки компонент SC 1⃝, резидентный на blockchain, и исполнительный компонент оффчейна 2⃝, который выполняется на DON. DON также служит мостом между двумя компонентами. как соединение гибридного контракта с ресурсами вне сети, такими как веб-сервисы и другие blockchains, децентрализованное хранилище и т. д. децентрализованный набор узлов. DONs идут на шаг дальше в том смысле, что они расширяют диапазон сервисов, для которых Chainlink может предложить разработчикам уровень абстракции с сопровождающие оптимизированные интерфейсы для сервисов высокого уровня. В разделе 4 мы представляем несколько примеров применения, которые подчеркивают этот подход. Мы предполагаем, что предприятия, например, будут использовать DONs как форму безопасного промежуточного программного обеспечения для подключить свои устаревшие системы к blockchain. (См. раздел 4.2.) Такое использование DON абстрагирует сложность общей динамики blockchain (комиссии, реорганизации и т. д.). Это также абстрагирует особенности конкретных blockchain, тем самым позволяя предприятиям подключать свои существующие системы к постоянно расширяющемуся набору систем blockchain без потребность в специализированных знаниях в этих системах или, в более общем плане, в разработке децентрализованных систем. В конечном счете, наша цель — повысить степень абстракции, достигнутую Chainlink. вплоть до реализации того, что мы называем децентрализованным метаслоем. Такой слой абстрагировало бы различие между цепочкой и оффчейном для всех классов разработчиков. и пользователей DApps, что позволяет беспрепятственно создавать и использовать децентрализованные сервисы.Чтобы упростить процесс разработки, разработчики могли указать функциональность DApp на метауровне как виртуальное приложение в единой модели машины. Они могли бы затем используйте компилятор децентрализованного метаслоя для автоматического создания экземпляра DApp как набор взаимодействующих децентрализованных функций, охватывающий blockchains, DONs и внешние услуги. (Одним из этих внешних сервисов может быть корпоративная система, что делает метауровень полезным для приложений, использующих устаревшие корпоративные системы.) Такие компиляция сродни тому, как современные компиляторы и комплекты средств разработки программного обеспечения (SDK) поддерживать программистов широкого профиля в использовании всего потенциала гетерогенного оборудования. архитектуры, состоящие из процессора общего назначения и специализированного оборудования, такого как графические процессоры, ускорители машинного обучения или доверенные анклавы. Рис. 3 представляет эту идею на концептуальном уровне. Гибридные smart contract — это первый шаг на пути к этому видению и к концепции, которую мы называем метаконтрактами. Метаконтракты — это приложения, написанные на децентрализованной метаслой и неявно охватывают логику внутри цепочки (smart contracts), а также вычисления и связь вне цепочки между различными blockchain и существующими вне цепочки услуги. Учитывая необходимость поддержки языка и компилятора, новых моделей безопасности и концептуальное и техническое согласование разрозненных технологий, однако реализация создания настоящего децентрализованного метаслоя — это амбициозная цель, к которой мы стремимся на протяжении длительного времени. временной горизонт. Тем не менее, это полезная идеальная модель, о которой следует помнить при чтении. эта статья, здесь не подробно описана, но мы планируем сосредоточиться на ней в нашей будущей работе над Chainlink. Масштабирование: Целью первостепенной важности в наших развивающихся проектах является обеспечение возможности Сеть Chainlink для удовлетворения растущих потребностей в масштабировании экосистемы blockchain. Поскольку перегрузка сети становится постоянной проблемой в существующих blockchains [86], в использование вступают новые и более производительные конструкции blockchain, например, [103, 120, 203], а также дополнительные технологии масштабирования уровня 2, например, [5, 12, 121, 141, 169, 186, 187]. Сервисы Oracle должны обеспечивать задержки и пропускную способность. которые отвечают требованиям производительности этих систем при минимизации внутрисетевых комиссий. (например, стоимость газа) как для контрактных операторов, так и для обычных пользователей. С DONs, Chainlink Функциональность призвана пойти дальше и обеспечить достаточно высокую производительность для чисто веб-систем. DON получают большую часть своего прироста производительности за счет использования быстрых, комитетных или не требующих разрешения протоколов консенсуса, которые они комбинируют с blockchain. они поддерживают. Мы ожидаем, что множество DON с разными конфигурациями будут работать параллельно; различные DApps и пользователи могут находить компромиссы в базовых консенсусных решениях в соответствии с требованиями их применения. DONs фактически можно рассматривать как технологии уровня 2. Мы ожидаем, что среди другие службы, DONs будут поддерживать инфраструктуру выполнения транзакций (TEF), которая облегчает эффективную интеграцию DON и, следовательно, oracle с другими высокопроизводительными системы уровня 2, например rollups, системы, которые объединяют транзакции вне цепочки для достижения улучшения производительности. Мы представляем TEF в разделе 6.

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

Рисунок 3: Концептуальная фигура, показывающая идеальную реализацию децентрализованного метаслоя. Для простота разработки, разработчик указывает децентрализованное приложение, выделенное розовым, как виртуальное применение в единой модели машины. Компилятор децентрализованного метаслоя автоматически генерирует соответствующие взаимодействующие функции: smart contracts (обозначаемые SC), логика (обозначенная exec) на DONs, адаптеры, подключающиеся к целевым внешним службам, и т. д., как показано желтым цветом. На рис. 4 концептуально показано, как DON улучшает масштабирование blockchain (smart contract). концентрируя обработку транзакций и oracle-отчетов вне цепочки, а не на цепь. Этот сдвиг в основном месте вычислений снижает задержку транзакций и комиссий при одновременном повышении пропускной способности транзакций. Конфиденциальность: Блокчейны обеспечивают беспрецедентную прозрачность smart contract и реализуемых ими приложений. Но существует основное противоречие между прозрачностью и конфиденциальностью. Сегодня, например, децентрализованные обменные транзакции пользователейРисунок 4. Концептуальный рисунок, показывающий, как децентрализованные сети Oracle улучшают масштабирование blockchain smart contracts. Рисунок А ⃝показывает обычный oracle архитектура. Транзакции отправляются непосредственно в blockchain, как и отчеты oracle. Таким образом, blockchain, выделенный желтым цветом, является основным местом обработки транзакций. На рисунке B⃝ показано использование DON для поддержки контрактов на blockchain. А DON исполняемые процессы обрабатывают транзакции вместе с данными из внешних систем и пересылают их результаты — например, объединенные транзакции или изменения состояния контракта в результате эффектов транзакций — в blockchain. Таким образом, DON, выделенный желтым цветом, является основным место обработки транзакций. действия записываются в цепочке, что позволяет легко отслеживать поведение обмена, а также сделать финансовые транзакции пользователей общедоступными. Аналогично, данные передаются на интеллектуальные контракты остаются в цепочке. Это делает такие данные удобными для проверки, но действует как является препятствием для поставщиков данных, желающих предоставить smart contract конфиденциальные или собственные данные. Мы считаем, что сети oracle будут играть ключевую роль в стимулировании следующего поколения системы, которые сочетают в себе природную прозрачность blockchains с новой защитой конфиденциальности. В этой статье мы покажем, как они это сделают, используя три основных подхода: • Адаптеры, сохраняющие конфиденциальность: две технологии с запланированным развертыванием. в сетях Chainlink, DECO [234] и Town Crier [233], включите узлы oracle для извлекать данные из автономных систем способами, обеспечивающими защиту конфиденциальности и данных пользователей. конфиденциальность. Они сыграют ключевую роль в разработке адаптеров для DONs. (Подробную информацию об этих двух технологиях см. в разделе 3.6.2.) • Конфиденциальные вычисления: DONs могут просто скрыть свои вычисления от доверия blockchains. Используя безопасные многосторонние вычисления и/или доверенные среды выполнения, также возможна более строгая конфиденциальность, в которой узлы DON вычислять данные, которые они сами не видят.

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

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

• Поддержка конфиденциальных систем уровня 2: TEF предназначен для поддержки различных систем уровня 2, многие из которых используют доказательства с нулевым разглашением для обеспечения различные формы конфиденциальности транзакций. Мы обсудим эти подходы в разделе 3 (дополнительную информацию см. в разделе 6, приложении B.1 и приложении B.2). На рис. 5 представлено концептуальное представление того, как конфиденциальные данные могут передаваться из внешних источников на smart contract с помощью адаптеров, сохраняющих конфиденциальность, и конфиденциальные вычисления в DON. Рисунок 5. Концептуальная схема операций по сохранению конфиденциальности в DON на конфиденциальные данные (выделены желтым цветом). Конфиденциальные исходные данные (черные кружки) в сети серверов извлекается в DON с помощью адаптеров, сохраняющих конфиденциальность (синие линии с двойной стрелкой). DON получает производные данные (полые кружки) от этих адаптеров: результат применения функции или, например, раскрытия секрета к конфиденциальному источнику данные. Исполняемый файл на DON может применять конфиденциальные вычисления к производным данным. для создания отчета (двойной круг), который он отправляет через адаптер на blockchain. Мы считаем, что мощные инструменты для работы с конфиденциальными данными откроют целый мир спектр приложений. Среди них частные децентрализованные (и централизованные) финансы, децентрализованная идентичность, кредитное онлайн-кредитование, а также более эффективные и удобные для пользователя протоколы «знай своего клиента» и аккредитации, о которых мы поговорим в разделе 4. Справедливость заказов для транзакций: Сегодняшние дизайны blockchain имеют немного грязного секрет полишинеля: они эфемерно централизованы. Майнеры и validators могут заказать транс-действия, как бы они ни выбрали. Пользователи также могут манипулировать порядком транзакций, как является функцией сетевой платы, которую они платят (например, цены на газ в Ethereum), а некоторым степени, используя преимущества быстрых сетевых подключений. Подобные манипуляции могут, например, Например, возьмем форму опережающего действия, при котором стратегический игрок, такой как шахтер, наблюдает за транзакцией пользователя и вставляет свою собственную эксплуатирующую транзакцию в более раннюю позицию в том же блоке — фактически крадет деньги у пользователя, используя предварительную информацию о транзакции пользователя. Например, бот может разместить заказ на покупку. перед пользователем. Затем он может воспользоваться ростом цен на активы, вызванным торговля пользователя. Опережающее выступление некоторых ботов, наносящее вред обычным пользователям — аналогично высокочастотному торговля на Уолл-стрит — уже широко распространена и хорошо документирована [90], что связано с такие атаки, как резервное выполнение [159] и автоматическое копирование транзакций [195]. Недавно даже появились предложения по систематизации эксплуатации ордеров майнерами [110]. Технологии уровня 2, такие как rollups, не решают проблему, а лишь рецентрализуют заказывая, передавая его в руки сущности, создающей rollup. Одна из наших целей — внедрить в Chainlink сервис под названием Fair Sequencing. Услуги (ФСС) [137]. FSS помогает дизайнерам smart contract обеспечить справедливый заказ своих проектов. транзакций и избегать опережающих, обратных и связанных с ними атак на пользовательские транзакции, а также другие типы транзакций, такие как передача отчетов oracle. ФСС позволяет DON реализовать такие идеи, как строгое, временное понятие справедливости порядка, представленное в [144]. В качестве дополнительной выгоды FSS может также снизить нагрузку на сеть пользователей. сборы (например, расходы на газ). Вкратце, в FSS транзакции проходят через DON, а не распространяются непосредственно на целевой объект smart contract. DON заказывает транзакции, а затем пересылает их. их к контракту. Рисунок 6: Пример преимуществ FSS. Рис. А ⃝показано, как майнер, эксплуатирующий свою централизованное право распоряжаться транзакциями, может поменять пару транзакций: транзакция 1⃝ поступает до 2⃝, но вместо этого майнер размещает его после 2⃝. Напротив, на рис. B⃝ показано как DON децентрализует процесс заказа между узлами DON. Если кворум честные узлы получают 1⃝перед 2⃝, FSS заставляет 1⃝появляться перед 2⃝в цепочке — предотвращение изменения порядка майнеров путем прикрепления порядковых номеров, предусмотренных контрактом. На рис. 6 сравнивается стандартный майнинг с FSS. Он показывает, как при стандартном майнингепроцесс заказа транзакций централизован у майнера и, следовательно, подлежит манипуляции, такие как изменение порядка пары транзакций относительно их прибытия раз. Напротив, в FSS процесс децентрализован между узлами DON. Предполагая кворум честных узлов, FSS помогает применять такие политики, как временное упорядочение транзакций, уменьшая возможности для манипулирования со стороны майнеров и других лиц. Кроме того, поскольку пользователям не нужно конкурировать за льготный заказ на основе цены на газ, они могут платить относительно низкие цены на газ (в то время как транзакции из DON можно группировать для экономии газа). Минимизация доверия: Наша общая цель при разработке DONs состоит в том, чтобы облегчить надежный уровень поддержки для smart contracts и других oracle-зависимых систем посредством децентрализации, криптографических инструментов и криптоэкономических гарантий. DON сам по себе децентрализован, и пользователи могут выбирать любой доступный DON, который поддерживает основную цепочку, в которой они хотят работать, или создает дополнительные DON с комитетами узлов, которым они доверяют. Однако для некоторых приложений, особенно smart contracts, Chainlink пользователи могут отдайте предпочтение модели доверия, которая рассматривает основную цепочку, поддерживаемую DON, как более надежную. чем сам DON. Для таких пользователей мы уже имеем или планируем включить в архитектура сети Chainlink ряд механизмов, обеспечивающих контракты в основной цепочке для усиления гарантий безопасности, предоставляемых DONs, в то время как на в то же время также обеспечивается защита от возможности повреждения источников данных. например веб-серверы, с которых DON получает данные. Мы описываем эти механизмы в разделе 7. Они подразделяются на пять основных заголовков: • Аутентификация источника данных: инструменты, позволяющие поставщикам данных ставить цифровую подпись. свои данные и тем самым укрепить цепочку сохранности между источником и полагающийся договор. • DON отчеты меньшинства: флаги, выдаваемые меньшинством узлов DON, которые наблюдает должностные преступления большинства в DON. • Ограждения: логика главной цепи обнаруживает аномальные условия и приостанавливает работу. или останавливает выполнение контракта (или требует других мер по исправлению ситуации). • Управление с минимальным доверием: использование обновлений, выпускаемых постепенно, для облегчения проверки сообщества, а также децентрализованное экстренное вмешательство для быстрого реагирование на системные сбои. • Децентрализованная аутентификация объекта: использование инфраструктуры открытых ключей (PKI) для идентифицировать объекты в сети Chainlink. На рис. 7 представлена ​​концептуальная схема наших целей по минимизации доверия. Стимулирующая (криптоэкономическая) безопасность: Децентрализация формирования отчетов по узлам oracle помогает обеспечить безопасность даже в случае повреждения некоторых узлов.

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

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

Рисунок 7: Концептуальное изображение цели Chainlink по минимизации доверия, которая заключается в свести к минимуму потребность пользователей в правильном поведении DON и источников данных, таких как Интернет. серверы. Желтые блики на рисунке обозначают локусы минимизации доверия: DON и отдельные или меньшие наборы веб-серверов. Розовые блики обозначают компоненты системы. которые по предположению заслуживают большого доверия: контракты на blockchain и большинство веб-серверов, то есть веб-серверов в совокупности. Не менее важно, однако, обеспечить, чтобы узлы имели финансовый стимул вести себя правильно. Стейкинг, т. е. требование от узлов предоставить депозиты LINK и слэшинг. (конфискация) этих депозитов в случае ненадлежащего поведения сыграет ключевую роль в Chainlink. Это важная система стимулирования, которая уже использовалась в ряде blockchains, например, [81, 103, 120, 204]. Однако размещение в Chainlink сильно отличается от staking в автономном режиме. blockchainс. Ставка на blockchains направлена ​​на предотвращение атак на консенсус. У него есть другая цель в Chainlink: обеспечить своевременную доставку правильных отчетов oracle. Хорошо спроектированная система staking для сети oracle должна отражать такие атаки, как взяточничество. невыгодно противнику, даже если целью является smart contract с высоким денежная стоимость. В этой статье мы представляем общий подход к staking в Chainlink с тремя ключевыми инновации:1. Мощная состязательная модель, охватывающая атаки, упущенные из виду в существующих подходы. Одним из примеров является то, что мы называем предполагаемым взяточничеством. Это форма взяточничество, которое определяет, какие узлы получают взятки на условной основе, например, заранее предлагает гарантированные взятки узлам, которые выбирает механизм staking в случайным образом для определенных ролей (например, инициирование вынесения решения по отчету). 2. Суперлинейное воздействие staking, неформально означающее, что для успеха противник должен иметь бюджет B, превышающий совокупные вклады всех oracle. узлы. Точнее, мы имеем в виду, что в зависимости от n \(B(n) ≫\)dn в сеть из n oracle узлов, каждый с фиксированной суммой депозита $d (более формально, \(B(n) is asymptotically larger in n than \)дн). На рис. 8 представлено концептуальное представление это свойство. 3. Система неявных стимулов (IIF), модель стимулирования, которую мы разработали для охватывать эмпирически измеримые стимулы помимо явно депонированных staking средства, включая возможности будущих комиссий узлов. IIF расширяет понятие ставка выходит за рамки явных депозитов узлов. Рис. 8. Концептуальная диаграмма, изображающая суперлинейное масштабирование в Chainlink staking. взятка $B(n), требуемая противником, растет в n быстрее, чем совокупные депозиты $dn всех узлов oracle. Мы показываем, как IIF и суперлинейное воздействие staking вместе вызывают то, что мы назвать благотворный цикл экономической безопасности для сетей oracle. Когда приходят новые пользователи

системы, увеличивая потенциальные будущие доходы от запуска узлов Chainlink, предельные издержки экономической безопасности падают для нынешних и будущих пользователей. В режиме эластичный спрос, это снижение затрат стимулирует дополнительных пользователей использовать сети, постоянно поддерживая внедрение в непрерывном благотворном цикле. Примечание. Хотя в этом документе излагаются важные элементы нашего видения развития Chainlink, он носит неформальный характер и включает несколько подробных технических характеристик. Мы планируем выпускать технические документы, посвященные дополнительным функциям и подходам по мере их развития. Кроме того, важно подчеркнуть, что многие элементы представленного видения здесь (улучшения масштабирования, технологии конфиденциальности, ФСС и т. д.) могут и будут развернут в предварительной форме еще до того, как расширенные DON станут базовой функцией Chainlink. 1.3 Организация данного документа Мы представляем нашу модель безопасности и обозначения в разделе 2 и обрисовываем децентрализованную систему безопасности. Oracle Network API в разделе 3. В разделе 4 мы представляем ряд примеров приложения, для которых DONs предоставляют привлекательную платформу развертывания. Читатели могут изучите большинство ключевых концепций статьи, дочитав ее до этого момента. Оставшаяся часть документа содержит дополнительную информацию. Мы описываем справедливую последовательность Службы (FSS) в разделе 5 и структура выполнения транзакций (TEF) в разделе 6. Мы описываем наш подход к минимизации доверия в разделе 7. Мы рассматриваем некоторые важные требования DON к развертыванию, а именно постепенное развертывание функций, динамическое членство в реестре и подотчетность в Разделе 8. Наконец, в Разделе 9 мы приводим обзор нашего развивающегося подхода к разработке стимулов. Подведем итоги в разделе 10. Чтобы помочь читателям, которые ограниченно знакомы с концепциями этой статьи, мы предоставить глоссарий в Приложении A. Мы представляем дополнительную информацию об интерфейсе DON. и функциональность в Приложении B, а примеры адаптеров представлены в Приложении C. В приложении D мы описываем криптографический примитив для источника данных с минимизированным доверием. аутентификацию, называемую функциональными сигнатурами, и представить новый вариант, называемый дискретными функциональными сигнатурами. Мы обсуждаем некоторые соображения, имеющие отношение к комитету. выбор для DONs в Приложении F.

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

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

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.

Модель безопасности и цели

Децентрализованная сеть Oracle — это отдельная распределенная система, которая, как мы ожидаем, будет первоначально реализовываться обычно (хотя и не обязательно) комитетом на базе комитета. протокол консенсуса и выполняется набором узлов oracle. DON предназначен в первую очередь расширить возможности smart contract в основной цепочке с помощью отчетов oracle и другие услуги, но он может предоставлять те же вспомогательные услуги другим системам, отличным от blockchain, и поэтому не обязательно должен быть связан с конкретной основной цепочкой.

Поэтому модель и свойства, которые мы рассматриваем, в значительной степени независимы от использования конкретные применения DON. 2.1 Текущая архитектурная модель Важно подчеркнуть, что Chainlink сегодня представляет собой не монолитный сервис, а скорее не требующая разрешения структура, в которой можно запускать отдельные, независимые сети из oracle узлов [77]. Сети имеют разнородные наборы операторов узлов и конструкции. Они также могут различаться по видам предоставляемых услуг, что может включают, например, потоки данных, подтверждение резервов, проверяемую случайность и т. д. Другое различия могут включать степень децентрализации, размер сети с точки зрения поддерживаемое заблокированное значение и различные параметры уровня обслуживания, такие как частота передачи данных. и точность. Модель Chainlink без разрешений способствует развитию экосистемы, в которой Поставщики услуг специализируются на услугах, которые они лучше всего могут предоставить обществу. Это модель, вероятно, приведет к снижению затрат для пользователей и более высокому качеству обслуживания, чем модель который требует, чтобы все узлы и сети предоставляли полный спектр услуг, подход которые могут легко перерасти в общесистемное внедрение услуг, представляющих наименее общий знаменатель ресурсов, доступных узлам. По мере того как Chainlink развивается в сторону проектов на основе DON в Chainlink 2.0, мы продолжаем поддерживать модель не требующей разрешения открытой структуры, принимая во внимание цель предоставление пользователям широкого выбора услуг, которые во всем мире приводят к наилучшему совпадению с особыми требованиями к применению. 2.2 Консенсусные предположения Мы используем термин «децентрализованная сеть Oracle», чтобы охватить полную функциональность описываемая нами система oracle: как структура данных, которую поддерживают узлы oracle, так и основной API, наложенный поверх него. Мы используем термин «регистр» (строчная буква), обозначаемый буквой L, для обозначения базовых данных. структура, поддерживаемая DON и используемая для поддержки конкретных услуг, которые он предоставляет. Мы подчеркиваем, что наша структура DON не рассматривает L как автономную систему, такую как a blockchain: его целью является поддержка blockchain и других систем. Блокчейны — это, конечно, это один из способов создания надежного реестра, но есть и другие. Мы ожидаем DONs во многих случаях для реализации своих базовых реестров с использованием Byzantine Fault Tolerant (BFT), которые значительно предшествуют blockchain, таким как Bitcoin [174]. Мы используем Для удобства в статье введите обозначения и свойства BFT, хотя мы подчеркните, что DON могут быть реализованы с использованием протоколов консенсуса без разрешения. Концептуально реестр L представляет собой доску объявлений, на которой данные упорядочены линейно. Мы рассматриваем реестр в целом как имеющий несколько ключевых свойств, обычно приписываемых ему. blockchains [115]. Регистр – это: • Только добавление: Добавленные данные невозможно удалить или изменить.• Общественный: Любой может прочитать его содержимое, которое не меняется во времени. просмотр всех пользователей.4 • Доступен: авторизованные авторы всегда могут записать в реестр и прочитать его. кем-либо своевременно. Альтернативные свойства возможны в реестре для DON, если они реализованы комитет. Например, доступ к записи в реестр может быть ограничен определенными пользователями, как может иметь доступ на чтение для некоторых приложений, т. е. реестр не обязательно должен быть общедоступным, как определено выше. Аналогично, правила реестра могут разрешать изменение или редактирование данных. Мы не Однако подробно рассмотрим такие варианты в этой статье. Модульная конструкция DONs может поддерживать любые современные BFT. протоколы, например Hotstuff[231]. Точный выбор будет зависеть от предположений о доверии и характеристики сети среди узлов oracle. DON в принципе может альтернативно использовать высокопроизводительный blockchain без разрешений для своего реестра в роли поддержки одинаково масштабируемая система уровня 2 или blockchain. Аналогичным образом возможна и гибридизация: DON в принципе может состоять из узлов, которые являются validator в существующем blockchain, например, в системах Proof-of-Stake, в которых комитеты выбираются для выполнения транзакции, например, [8, 81, 120, 146, 204]. Этот конкретный режим работы требует, чтобы узлы работают двойного назначения, т. е. работают как узлы blockchain и DON. узлы. (См. раздел 8.2, где обсуждаются методы обеспечения непрерывности изменения комитетов и Приложение F, где приведены некоторые предостережения относительно случайного выбора комитетов.) На практике в современных алгоритмах BFT узлы подписывают сообщения в реестре цифровой подписью. Для удобства мы предполагаем, что L имеет связанный с ним открытый ключ pkL и что его содержимое подписаны соответствующим секретным ключом. Это общее обозначение применимо даже тогда, когда данные на L подписываются с использованием пороговых подписей.5 Пороговые подписи удобны, поскольку они обеспечивают постоянную идентификацию для DON даже при изменении членства в узлы, на которых он работает. (См. Приложение B.1.3.) Таким образом, мы предполагаем, что skL имеет общий секрет. (k, n)-пороговым образом для некоторого параметра безопасности k, например, k = 2f + 1 и n = 3f + 1, где f — количество потенциально неисправных узлов. (Выбирая k в этом Таким образом, мы гарантируем, что неисправные узлы не смогут ни изучить skL, ни смонтировать отказ в обслуживании. атака, препятствующая его использованию.) Сообщение на L принимает форму M = (m, z), где m — строка, а z — уникальная строка. порядковый индексный номер. Там, где это применимо, мы пишем сообщения в виде m = ⟨Тип сообщения: полезная нагрузка⟩. Тип сообщения MessageType — это синтаксический сахар, указывающий функцию конкретного сообщения. 4В случаях, когда blockchain без окончательности реализует реестр, несогласованность обычно абстрагируется. проигнорировав недостаточно глубокие блоки или «обрезая» [115]. 5На практике некоторые базы кода, например, LibraBFT [205], вариант Hotstuff, в настоящее время мультиподписи, а не пороговые подписи, в обмен на снижение сложности связи для более простая инженерия. За дополнительную плату узлы oracle могут добавлять к сообщениям пороговые подписи. записываются в L, даже если протокол консенсуса, используемый для L, их не использует.2.3 Обозначения Обозначим набор из n oracle узлов, управляющих реестром, через O = {Oi}n. я = 1. Такой набор узлов часто называют комитетом. Для простоты будем считать, что множество oracles, реализующие функциональность DON, т. е. службы поверх L, идентичны с что сохраняет L, но они могут быть различны. Мы обозначим pki открытый ключ игроку Oi, и лыжите соответствующий приватный ключ. Для большинства алгоритмов BFT требуется как минимум n = 3f + 1 узлов, где f — количество узлов. потенциально неисправные узлы; остальные узлы честны в том смысле, что они следуют Протокол точно такой, как указано. Мы называем комитет О честным, если он соответствует этому требованию. требование, т. е. имеет более 2/3 доли честных узлов. Если иное Как указано выше, мы предполагаем, что O честен (и является статической моделью коррупции). Мы используем пкО/ skO взаимозаменяемо с pkL/skL, в зависимости от контекста. Обозначим через σ = Sigpk[m] подпись сообщения m относительно pk, т. е. используя соответствующий закрытый ключ ск. Пусть Verify(pk, σ, m) → {false, true} обозначает соответствующий алгоритм проверки подписи. (Мы оставляем генерацию ключей неявной на протяжении всей статьи.) Мы используем обозначение S для обозначения источника данных и S для обозначения полного набора источники нс в данном контексте. Мы обозначаем MAINCHAIN включенный смарт-контракт. blockchain поддерживается DON. Мы используем термин «полагающийся контракт» для обозначения любого умного контракта. контракт на MAINCHAIN, который взаимодействует с DON, и используйте обозначение SC для обозначим такой договор. Обычно мы предполагаем, что DON поддерживает одну основную цепочку MAINCHAIN, хотя он может поддерживать несколько таких цепочек, как мы показываем в примерах в разделе 4. DON может и обычно будет поддерживать несколько зависимых контрактов на MAINCHAIN. (Как как отмечалось выше, DON альтернативно может поддерживать службы, отличные от blockchain.) 2.4 Примечание о моделях доверия Как отмечалось выше, DON могут быть построены на основе протоколов консенсуса на основе комитетов, и мы ожидайте, что они будут обычно использовать такие протоколы. Существует много веских аргументов в пользу того, что одна из двух альтернатив, основанная на комитете или не требующая разрешения blockchain, обеспечивает более сильная безопасность, чем другая. Важно признать, что безопасность комитетов по сравнению с несанкционированными децентрализованные системы несоизмеримы. Компрометация PoW или PoS blockchain Атака 51% требует, чтобы противник получил большинство ресурсов эфемерно и потенциально анонимно, например, арендуя hash мощность в системе PoW. такой На практике атаки уже затронули несколько blockchain [200, 34]. Напротив, компрометация системы, основанной на комитетах, означает повреждение порогового числа (обычно одной трети) ее узлов, при этом узлы могут быть общеизвестны, хорошо обеспечены ресурсами, и заслуживающие доверия субъекты. С другой стороны, системы на основе комитетов (а также «гибридные» системы без разрешения) системы, поддерживающие комитеты) могут поддерживать больше функций, чем строго предусмотренобеспредметные системы. Это включает в себя способность сохранять постоянные секреты, такие как ключи подписи и/или шифрования — одна из возможностей в наших разработках. Мы подчеркиваем, что DON в принципе могут быть построены на базе комитетов или протокол консенсуса без разрешений, и развертыватели DON могут в конечном итоге принять решение любой подход. Укрепление моделей доверия: Ключевой особенностью Chainlink сегодня является возможность пользователей выбирать узлы на основе децентрализованных записей их истории производительности, как обсуждалось. в разделе 3.6.4. Механизм staking и структура неявного стимулирования, которые мы представляем в разделе 9, вместе представляют собой широкомасштабный и строгий механизм проектирования. фреймворк, который предоставит пользователям значительно расширенные возможности для оценки безопасности DONs. Эта же структура позволит и самим DONs для обеспечения соблюдения различных требований безопасности на участвующих узлах и обеспечения работы в рамках моделей сильного доверия. Также возможно использовать инструменты, описанные в этом документе для DONs, для обеспечения соблюдения особых требований модели доверия, таких как соответствие нормативным требованиям. Для Например, используя методы, описанные в разделе 4.3, узлы могут предоставить доказательства характеристики узла-оператора, например, территория деятельности, которые можно использовать, чтобы помочь обеспечить соблюдение, например, статьи 3 Общего регламента защиты данных (GDPR) («Территориальный охват») [105]. В противном случае такое соблюдение может быть затруднено. встречаются в децентрализованных системах [45]. Кроме того, в разделе 7 мы обсуждаем планы по повышению устойчивости DONs. посредством механизмов минимизации доверия в основных цепочках, которые они поддерживают.

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.

Децентрализованный сетевой интерфейс Oracle и Ca-

возможности Здесь мы кратко описываем возможности DONs с точки зрения простого, но мощного интерфейс, который они призваны реализовать. Приложения на DON состоят из исполняемых файлов и адаптеров. Исполняемый файл — это программа, основная логика которой представляет собой детерминированную программу, аналогичную smart contract. Исполняемый файл также имеет ряд сопутствующих инициаторов — программ, вызывающих вход. точки в логике исполняемого файла, когда происходят заранее определенные события, например, в определенное время (как задание cron), когда цена пересекает пороговое значение и т. д. — очень похоже на Keepers (см. раздел 3.6.3). Адаптеры предоставляют интерфейсы для ресурсов вне цепочки и могут вызываться либо инициаторы, либо основная логика в исполняемых файлах. Поскольку их поведение может зависеть от этого внешних ресурсов инициаторы и адаптеры могут вести себя недетерминировано. Мы описываем интерфейс разработчика DON и функционирование исполняемых файлов и адаптеры с точки зрения трех ресурсов, которые обычно используются для характеристики вычислительных систем: сети, вычислений и хранения. Мы даем краткий обзор каждого из них ресурсы ниже и предоставьте более подробную информацию в Приложении B.

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

3.1 сеть Адаптеры — это интерфейсы, через которые исполняемые файлы, работающие на DON, могут отправлять и получать данные от офф-DON систем. Адаптеры можно рассматривать как обобщение адаптеры, используемые в Chainlink сегодня [20]. Адаптеры могут быть двунаправленными, т.е. не может просто извлекать, но и отправлять данные с DON на веб-сервер. Они также могут использовать распределенные протоколы, а также криптографические функции, такие как безопасная многосторонняя расчет. Рис. 9. Адаптеры, соединяющие DON, обозначенный DON1, с рядом различных ресурсов, включая еще один DON, обозначенный DON2, blockchain (основная цепочка) и его мемпул, внешнее хранилище, веб-сервер и устройства IoT (через веб-сервер). Показаны примеры внешних ресурсов, для которых можно создать адаптеры. на рис. 9. К ним относятся: • Блокчейны: адаптер может определить, как отправлять транзакции на blockchain и как читать из него блоки, отдельные транзакции или другое состояние. Адаптер также может быть определен для мемпула blockchain. (См. раздел 3.5.) • Веб-серверы: адаптеры могут определять API, через которые можно получать данные. с веб-серверов, включая устаревшие системы, специально не адаптированные для взаимодействие с DONs. Такие адаптеры также могут включать API для отправки данных. такие серверы. Веб-серверы, к которым подключается DON, могут служить шлюзами. к дополнительным ресурсам, таким как устройства Интернета вещей (IoT).• Внешнее хранилище: адаптер может определять методы чтения и записи в хранилище. сервисы за пределами DON, такие как децентрализованная файловая система [40, 188] или облачная хранилище. • Другие DON: адаптеры могут получать и передавать данные между DON. Мы ожидаем, что первоначальные развертывания DONs будут включать в себя набор строительных блоков. адаптеры для таких часто используемых внешних ресурсов и в дальнейшем позволят DON-специфичным адаптеры, которые будут опубликованы узлами DON. Как пишут адаптеры разработчики smart contract сегодня мы ожидаем, что они создадут еще более мощные адаптеры, используя эту передовую технологию. функциональность. Мы ожидаем, что в конечном итоге пользователи смогут создавать новые адаптеры в без разрешения. Некоторые адаптеры должны быть сконструированы таким образом, чтобы гарантировать постоянство и доступность внешних ресурсов, управляемых DON. Например, облачное хранилище может требуют обслуживания учетной записи облачных служб. Кроме того, DON может выполнять децентрализованное управление закрытыми ключами от имени пользователей (например, [160]) и/или исполняемые файлы. Следовательно, DON способен контролировать ресурсы, такие как криптовалюта, которые могут использоваться, например, для отправки транзакций по цели blockchain. Дополнительную информацию об адаптерах DON см. в Приложении B.1, а некоторые — в Приложении C. примеры адаптеров. 3.2 Вычисление Исполняемый файл — это базовая единица кода на DON. Исполняемый файл представляет собой пару exec = (логика, инициализация). Здесь логика представляет собой детерминированную программу с рядом обозначенных записей. точки (логика1, логика2,..., логикаℓ), а init — набор соответствующих инициаторов (инициал1, инит2,..., инит). Чтобы обеспечить полную проверяемость DON, логика исполняемого файла использует базовый регистр L для всех входов и выходов. Так, например, любой адаптер данные, служащие входными данными для исполняемого файла, должны быть сначала сохранены в L. Инициаторы: Инициаторы в Chainlink сегодня вызывают выполнение зависимых от событий заданий на Chainlink узлы [21]. Инициаторы в DONs действуют примерно таким же образом. Однако инициатор DON конкретно связан с исполняемым файлом. Инициатор может зависеть по внешнему событию или состоянию, по текущему времени или по предикату состояния DON. Учитывая свою зависимость от событий, инициаторы, конечно, могут вести себя недетерминировано. (как и адаптеры, конечно). Инициатор может выполняться внутри отдельных узлов DON. и поэтому не нужно полагаться на адаптер. (См. пример 1 ниже.) Инициаторы — важная особенность, отличающая исполняемые файлы от smart contract. Поскольку исполняемый файл может запускаться в ответ на инициатор, он может эффективно работать. автономно, как и, конечно, в расширении гибридного контракта, включающего исполняемый файл. Сегодня одной из форм инициаторов являются Chainlink Keepers, которые обеспечивают транзакцию.услуги автоматизации, инициирующие исполнение smart contract — например, ликвидацию кредитов с недостаточным обеспечением и исполнение сделок с лимитными ордерами — на основе отчетов oracle. Удобно, что инициаторы в DONs также можно рассматривать как способ указания соглашения об обслуживании, применимые к исполняемому файлу, поскольку они определяют обстоятельства, который DON должен назвать. Следующий пример иллюстрирует, как инициаторы работают внутри исполняемого файла: Пример 1 (Ценовой поток, вызванный отклонением). Для smart contract SC может потребоваться свежий данные ценового потока (см. раздел 3.6.3) всякий раз, когда происходит существенное изменение, например, 1%, в обменный курс между парой активов, например, ETH-USD. Чувствительная к волатильности цена каналы сегодня поддерживаются в Chainlink, но поучительно посмотреть, как их можно реализовано на DON с помощью исполняемого файла execfeed. Исполняемый файл execfeed поддерживает самую последнюю цену ETH-USD r на L в форме последовательности записей ⟨NewPrice : j, r⟩, где j — индекс, увеличенный на каждое обновление цен. Инициатор init1 заставляет каждый узел Oi отслеживать текущую цену ETH-USD для отклонения не менее 1% от последней сохраненной цены r с индексом j. После обнаружения такого отклонения, Oi записывает свое текущее представление ri о новой цене в L, используя запись вида ⟨PriceView: i, j + 1, ri⟩. Второй инициатор init2 срабатывает, когда по крайней мере k таких записей PriceView с новой ценой значения индекса j + 1, созданные разными узлами, накопились на L. Затем init2 вызывает логику точки входа2 для вычисления медианы ρ первых k свежих действительных значений PriceView и записывает свежее значение ⟨NewPrice : j + 1, ρ⟩ в L . (В оперативном режиме узлы могут по очереди выступать в качестве назначенных авторов.) Третий инициатор init3 отслеживает записи NewPrice на L. Всякий раз, когда появляется новый отчет ⟨NewPrice : там появляется j, r⟩, он вызывает логику точки входа3, которая отправляет (j, r) в SC с помощью адаптера. Как мы уже отмечали, исполняемый файл по своим возможностям аналогичен smart contract. Однако, помимо более высокой производительности, он отличается от типичного контракта основной цепи. двумя основными способами: 1. Конфиденциальность. Исполняемый файл может выполнять конфиденциальные вычисления, т. е. секретная программа может обрабатывать входные данные в виде открытого текста, а опубликованная программа может обрабатывать секретные входные данные или их комбинация. В простой модели секретные данные могут доступ к узлам DON, которые скрывают промежуточные результаты и раскрывают только обработанные и очищенные значения в MAINCHAIN. Также возможно скрыть конфиденциальные данные от самих DON: DON предназначены для поддержки таких подходов. как многосторонние вычисления, например [42, 157], и доверенные среды выполнения. (TEE) [84, 133, 152, 229] для этой цели.6 6Кроме того, также возможно сохранение секретности самих исполняемых файлов по отношению к узлам DON, хотя сегодня это практично только для нетривиальных исполняемых файлов, использующих TEE.2. Вспомогательная роль: исполняемый файл предназначен для поддержки smart contract на главном сервере. цепи, а не заменять их. Исполняемый файл имеет несколько ограничений, которые smart contract не: (a) Модель доверия: исполняемый файл работает в рамках модели доверия, определенной DON: Правильное выполнение зависит от честного поведения О. (Основной однако цепочка может обеспечить некоторую защиту от неправомерных действий DON, поскольку обсуждается в разделе 7.3.) (б) Доступ к активам: DON может контролировать учетную запись на blockchain — и, таким образом, управлять активами на нем через адаптер. Но DON не может авторитетно представляют активы, созданные в основной цепочке, например, Ether или ERC20 tokens, поскольку их родная сеть ведет авторитетную запись о своей собственности. (c) Жизненный цикл: DON могут быть намеренно установлены с ограниченным сроком службы, поскольку определяется внутрисетевыми соглашениями об уровне обслуживания между DONs и владельцами опирающихся контрактов. Блокчейны, напротив, призваны функционировать как постоянные архивные системы. См. Приложение B.2 для получения дополнительной информации о вычислении DON. 3.3 Хранение Как система, основанная на комитетах, DON может постоянно хранить умеренные объемы данных. на L по гораздо более низкой цене, чем несанкционированный blockchain. Кроме того, через адаптеры DON могут ссылаться на внешние децентрализованные системы для хранения данных, например Filecoin [85], и таким образом может подключать такие системы к smart contracts. Этот вариант особенно привлекательным для больших объемов данных как средство решения широко распространенной проблемы «раздувания» blockchain систем. Таким образом, DON могут хранить данные локально или внешне для использования в своих специально поддерживаемых службах. DON может дополнительно использовать такие данные конфиденциальным способом, вычисления с данными, которые: (1) секретно разделены между узлами DON или зашифрованы под ключ, управляемый узлами DON способами, подходящими для безопасных многосторонних вычислений или частичное или полностью гомоморфное шифрование; или (2) защищено с использованием доверенного выполнения окружающая среда. Мы ожидаем, что DONs примут простую модель управления памятью, общую для системы смарт-контрактов: исполняемый файл может записывать только в свою память. Исполняемые файлы однако может читать из памяти другие исполняемые файлы. Дополнительную информацию о хранилище DON см. в Приложении B.3. 3.4 Структура выполнения транзакций (TEF) DON предназначены для поддержки контрактов в основной цепочке MAINCHAIN (или в нескольких основных цепочках). Структура выполнения транзакций (TEF), подробно обсужденнаяв разделе 6 – это универсальный подход к эффективному исполнению контракта. SC через MAINCHAIN и DON. TEF предназначен для поддержки FSS и уровня 2. технологии — одновременно, при желании. Действительно, он, вероятно, будет служить основным транспортным средством. для использования FSS (по этой причине мы не обсуждаем FSS в этом разделе). Вкратце, в TEF исходный целевой контракт SC, спроектированный или разработанный для MAINCHAIN. реорганизован в гибридный контракт. Этот рефакторинг создает два взаимодействующих части гибридного контракта: контракт MAINCHAIN SCa, на который мы ссылаемся для ясности. в контексте TEF в качестве якорного контракта и исполняемого файла на DON. Контракт SCa хранит активы пользователей, выполняет авторитетные переходы между состояниями, а также обеспечивает ограждение (см. раздел 7.3) от сбоев в DON. Исполняемые исполнители упорядочивает транзакции и предоставляет для них связанные oracle данные. Он может объединять транзакции для SCa любым из нескольких способов, например, используя проверку достоверности или оптимистичные rollups, конфиденциальное исполнение DON и т. д. Мы планируем разработать инструменты, которые облегчат разработчикам разделение контракта. SC написан на языке высокого уровня на части логики MAINCHAIN и DON, SCa и соответственно, которые создают безопасно и эффективно. Использование TEF для интеграции высокопроизводительных схем транзакций с высокопроизводительными oracles является неотъемлемой частью нашего подхода к масштабированию oracle. 3,5 Услуги мемпула Важная функция прикладного уровня, которую мы намерены развернуть на DON в рамках поддержки. FSS и TEF являются службами мемпула (MS). MS можно рассматривать как адаптер, но с первоклассной поддержкой. MS обеспечивает поддержку обработки транзакций, совместимой с устаревшими версиями. В этом случае MS принимает из мемпула основной цепочки те транзакции, которые предназначены для целевого контракта SC на ГЛАВНОЙ ЦЕПИ. Затем MS передает эти транзакции исполняемому файлу на DON, где они обрабатываются нужным образом. Данные MS могут использоваться DON для составления транзакций, которые затем можно будет передать непосредственно в SC из DON или к другому контракту, который вызывает SC. Например, DON может пересылать транзакции. собираются через MS, или он может использовать данные MS для установки цен на газ для транзакций, которые он отправляет ГЛАВНАЯ ЦЕПЬ. Поскольку MS контролирует мемпул, MS может получать транзакции от пользователей, напрямую взаимодействующих с SC. Таким образом, пользователи могут продолжать генерировать свои транзакции, используя устаревшее программное обеспечение, то есть приложения, не знающие о существовании MS и сконфигурированных под MS. контракты. (В этом случае необходимо изменить SC, чтобы он игнорировал исходные транзакции и принимать только те, которые обрабатываются MS, чтобы избежать двойной обработки.) Для использования с целевым контрактом SC MS может использоваться с FSS и/или TEF.3.6 Шаги: существующие возможности Chainlink 3.6.1 Внесетевая отчетность (OCR) Отчеты вне цепочки (OCR) [60] — это механизм в Chainlink для агрегации отчетов oracle и их передачи в опорный контрактный SC. Недавно развернуто по цене Chainlink. кормовых сетей, это представляет собой первый шаг на пути к полноценным DONs. По своей сути OCR представляет собой протокол BFT, предназначенный для работы в частично синхронном режиме. сеть. Это обеспечивает живучесть и корректность при наличии f < n/3 произвольно. неисправные узлы, гарантирующие византийские свойства надежного вещания, но это не полный протокол консенсуса BFT. Узлы не ведут журналы сообщений, которые последовательным в смысле представления реестра, идентичного во всех их представлениях, и ведущий протокола может уклоняться от ответа, не нарушая безопасности. В настоящее время OCR предназначен для определенного типа сообщений: медианного агрегирования (не менее 2f +1) значений, сообщаемых участвующими узлами. Это обеспечивает ключевую гарантию отчеты, которые он выводит для SC, называемые аттестованными отчетами: медианное значение в аттестованном отчете. report равен или находится между значениями, сообщенными двумя честными узлами. Это свойство ключевое условие безопасности для OCR. Лидер может иметь некоторое влияние на медианное значение. значение в заверенном отчете, но только при условии соблюдения этого условия правильности. OCR может быть распространено на типы сообщений, которые агрегируют значения различными способами. Хотя сегодня цели жизнеспособности и корректности сети Chainlink не требуют Поскольку OCR является полноценным консенсусным протоколом, они требуют, чтобы OCR предоставлял некоторые дополнительные формы функциональности, отсутствующие в обычных протоколах BFT, в первую очередь: 1. Трансляция отчета вне сети по принципу «все или ничего»: OCR гарантирует, что заверенный отчет быстро становится доступным для всех честных узлов или ни для одного из них. Это справедливость свойство, которое помогает гарантировать, что честные узлы имеют возможность участвовать при заверенной передаче отчета. 2. Надежная передача: распознавание символов обеспечивает распознавание даже при наличии ошибочных или вредоносных сообщений. узлов, что все отчеты и сообщения OCR передаются в SC в течение определенного, заранее заданный интервал времени. Это свойство живости. 3. Минимизация доверия на основе контракта: SC отфильтровывает потенциально ошибочные отчеты, созданные OCR, например, если их сообщаемые значения значительно отклоняются от других недавно полученные. Это форма внепротокольного обеспечения корректности. Все три свойства будут играть естественную роль в DONs. Офчейн-трансляция по принципу «все или ничего» (DON) является важным строительным блоком криптоэкономических гарантий. вокруг надежной передачи, что, в свою очередь, является важным свойством адаптера. Доверие Минимизация в SC — это своего рода ограждение, как обсуждалось в разделе 7.3. OCR также обеспечивает основу для оперативного развертывания и доработки протоколов BFT в сетях oracle Chainlink и, таким образом, как отмечалось выше, открывает путь к полной функциональность DONs.3.6.2 ДЕКО и городской глашатай DECO [234] и Town Crier [233] — это пара связанных технологий, которые в настоящее время разрабатываются. разработано в сетях Chainlink. Большинство веб-серверов сегодня позволяют пользователям подключаться по защищенному каналу с использованием протокола. называется Transport Layer Security (TLS) [94]. (HTTPS указывает на вариант HTTP, который включен с помощью TLS, т. е. URL-адреса с префиксом «https» означают использование TLS для безопасности.) Однако у большинства серверов с поддержкой TLS есть заметное ограничение: они не подписывают цифровую подпись. данные. Следовательно, пользователь или проверяющий не может представить данные, которые он получает с сервера. третьей стороне или проверяющей стороне, например oracle или smart contract, таким образом, чтобы гарантировать достоверность данных. Даже если сервер подписывает данные цифровой подписью, остается проблема конфиденциальности. Испытатель может пожелать отредактировать или изменить конфиденциальные данные перед представлением их проверяющему. Верификатор. Однако цифровые подписи созданы специально для признания недействительными измененных данных. Таким образом, они не позволяют проверяющему вносить изменения, сохраняющие конфиденциальность. к данным. (Для более подробной информации см. раздел 7.1.) DECO и Town Crier предназначены для того, чтобы позволить испытателю получать данные из Интернета. сервер и представить его проверяющему лицу таким образом, чтобы обеспечить целостность и конфиденциальность. Обе системы сохраняют целостность в том смысле, что они гарантируют, что данные, представленные Доказывающее устройство проверяющему исходит аутентично с целевого сервера. Они поддерживают конфиденциальность в том смысле, что проверяющему разрешено редактировать или изменять данные (при этом все еще сохраняя целостность). Ключевой особенностью обеих систем является то, что они не требуют каких-либо модификаций целевой веб-сервер. Они могут работать с любым существующим сервером с поддержкой TLS. Фактически, они прозрачны для сервера. С точки зрения сервера Доказывающее устройство установление обычного соединения. Обе системы преследуют схожие цели, но различаются моделями доверия и реализациями, как мы сейчас кратко объясним. DECO фундаментально использует криптографические протоколы для достижения целостности. и свойства конфиденциальности. Устанавливая сеанс с целевым сервером с помощью DECO, Prover одновременно участвует в интерактивном протоколе с Верификатор. Этот протокол позволяет проверяющему доказать проверяющему, что он получил данный фрагмент данных D с сервера во время его текущего сеанса. Испытатель может в качестве альтернативы предоставьте проверяющему доказательство с нулевым разглашением некоторого свойства D и, таким образом, не раскрывать D напрямую. При типичном использовании DECO пользователь или отдельный узел может экспортировать данные D из частного сеанс с веб-сервером для всех узлов в DON. В результате полный DON может подтвердить подлинность D (или факта, полученного из D посредством доказательства с нулевым разглашением). В дополнение к примерам приложений, приведенным далее в статье, эта возможность может быть реализована. используется для усиления доступа к источнику данных с высокой степенью целостности с помощью DON. Даже если только один узел имеет прямой доступ к источнику данных — например, благодаря эксклюзивному соглашению с поставщиком данных — для всего DON остается возможность подтвердить правильностьотчеты, отправленные этим узлом. Town Crier полагается на использование доверенной среды выполнения (TEE), такой как Intel. СГХ. Коротко говоря, TEE функционирует как своего рода «черный ящик», который выполняет приложения в защищенный от несанкционированного доступа и конфиденциальный способ. В принципе, даже владелец хоста, на котором запущенный TEE не может ни (необнаружимо) изменить приложение, защищенное TEE, ни просмотреть состояние приложения, которое может включать секретные данные. Town Crier может реализовать все функции DECO и многое другое. DECO ограничивает взаимодействие Доказывающего с одним Верификатором. Напротив, Town Crier позволяет Доказывающее устройство для создания публично проверяемого доказательства на основе данных D, полученных с целевого сервера, то есть доказательство, которое любой, даже smart contract, может проверить напрямую. Городской глашатай может также безопасно получать и использовать секреты (например, учетные данные пользователя). Основным ограничением Town Crier является его зависимость от TEE. Производственные ТЭО имеют недавно было показано, что он имеет ряд серьезных уязвимостей, хотя технология находится в зачаточном состоянии и, несомненно, созреет. См. Приложения B.2.1 и B.2.2. дальнейшее обсуждение TEE. Несколько примеров применения DECO и Town Crier см. в разделах 4.3, 4.5. и 9.4.3 и Приложение C.1. 3.6.3 Существующие внутрисетевые Chainlink сервисы Сети Chainlink oracle предоставляют ряд основных услуг на множестве blockchains и другие децентрализованные системы сегодня. Дальнейшая эволюция, как описано в этом документе наделит существующие службы дополнительными возможностями и достичь. Три примера: Фиды данных: Сегодня большинство пользователей Chainlink, использующих smart contract, делают использование каналов данных. Это отчеты о текущей стоимости ключевых фрагментов данных в соответствии с авторитетным оффчейн источникам. Например, каналы цен — это каналы, сообщающие цены. активов — криптовалюты, сырьевые товары, форекс, индексы, акции и т. д. — согласно услуги обмена или агрегирования данных. Такие каналы сегодня уже помогают защитить миллиарды долларов внутрисетевой стоимости за счет их использования в системах DeFi, таких как Aave [147] и Синтетикс [208]. Другие примеры фидов данных Chainlink включают данные о погоде для параметрическое страхование урожая [75] и данные выборов [93], среди ряда других. Развертывание DONs и других технологий, описанных в этом документе, улучшит предоставление потоков данных в сетях Chainlink во многих отношениях, в том числе: • Масштабирование: OCR, а затем DONs, направлены на обеспечение возможности масштабирования сервисов Chainlink. существенно во многих blockchain, которые они поддерживают. Например, мы ожидаем что DONs поможет увеличить количество каналов данных, предоставляемых узлами с помощью Chainlink от 100 до 1000 и выше. Такое масштабирование поможет Chainlink экосистема достигает своей цели по предоставлению данных, имеющих отношение к smart contracts, в комплексном виде, одновременно удовлетворяя и предвидя существующие и будущие потребности.• Повышенная безопасность: сохраняя промежуточные отчеты, DONs сохраняет записи. поведения узлов для высокоточного мониторинга и измерения их производительности и точности, что обеспечивает прочное эмпирическое обоснование систем репутации. для узлов Chainlink. FSS и TEF позволят включать ценовые потоки с данными транзакций гибкими способами, которые предотвращают такие атаки, как опережающие действия. (Явное) staking укрепит существующую криптоэкономическую защиту безопасности. каналов данных. • Гибкость подачи данных: как blockchain-агностические системы (в более широком смысле, потребительско-независимые системы), DON могут облегчить предоставление потоков данных множеству доверяющих систем. Один DON может одновременно отправить данный канал в набор различных blockchain, что устраняет необходимость в сетях oracle для каждой цепочки и обеспечивая быстрое развертывание существующих каналов на новых blockchain и дополнительных каналы через обслуживаемые в настоящее время blockchain. • Конфиденциальность: возможность выполнять обобщенные вычисления в DON позволяет выполнять вычисления с конфиденциальными данными вне цепочки, избегая внутрицепных операций. экспозиция. Кроме того, используя DECO или Town Crier, можно добиться еще более строгая конфиденциальность, позволяющая создавать отчеты на основе данных, которые не доступен даже узлам DON. См. примеры в разделах 4.3 и 4.5. Верифицируемые случайные функции (VRF): Некоторым типам DApps требуется проверяемый источник случайных данных, чтобы обеспечить возможность проверки их собственной честной работы. Примером могут служить невзаимозаменяемые токены (NFTs). Редкость NFT функций в Aavegotchi [23] и Axie Infinity [35] определяется Chainlink VRF, как и распределение NFTs посредством розыгрышей билетов на Ether Cards [102]; широкий выбор игровые DApps, результаты которых рандомизированы; и нетрадиционные финансовые инструменты, например, сберегательные игры без потерь, такие как PoolTogether [89], в которых средства распределяются между случайные победители. Другие приложения blockchain и не blockchain также требуют безопасного источники случайности, включая выбор комитетов децентрализованной системы и проведение лотерей. Хотя блок hashes может служить источником непредсказуемой случайности, он уязвим для манипуляций со стороны состязательных майнеров (и в некоторой степени со стороны пользователей, отправляющих транзакции). Chainlink VRF [78] предлагает значительно более безопасную альтернативу. Ан oracle имеет связанную пару частного/открытого ключей (sk, pk), личный ключ которой хранится в автономном режиме, а открытый ключ pk публикуется. Чтобы вывести случайное значение, необходимо применяет sk к непредсказуемому начальному числу x, предоставленному зависимым контрактом (например, блоку hash и параметры, специфичные для DApp) с помощью функции F, что дает y = Fsk(x) вместе с доказательство правильности. (Информацию о VRF, доступном на Chainlink, см. в [180].) Что делает Верифицируемым VRF является тот факт, что, зная pk, можно проверить правильность доказательства и, следовательно, y. Следовательно, значение y непредсказуемо для злоумышленник, который не может предсказать x или изучить sk, и сервису невозможно манипулировать им.Chainlink VRF можно рассматривать как всего лишь одно из семейства приложений, предполагающих хранение закрытых ключей вне цепочки. В более общем плане DONs могут предлагать безопасные, децентрализованное хранение индивидуальных ключей для приложений и/или пользователей и объединение эту возможность с помощью обобщенных вычислений. Результатом является множество приложений, некоторые примеры которых мы приводим в этой статье, включая управление ключами для доказательства Резервы (см. раздел 4.1) и децентрализованные учетные данные пользователей (и другие цифровые активы) (см. раздел 4.3). Хранители: Chainlink Keepers [87] позволяют разработчикам писать код для децентрализованных выполнение заданий вне цепочки, как правило, для запуска выполнения зависимых __PH_0003__s. До появления Keepers разработчики обычно использовали такие офчейн-серверы. логику, создавая централизованные точки отказа (а также значительное дублирование усилий по разработке). Вместо этого Keepers предоставляют простую в использовании структуру для децентрализованный аутсорсинг этих операций, что позволяет сократить циклы разработки и надежная гарантия жизнеспособности и других свойств безопасности. Хранители могут поддержать любого широкого спектра триггерных целей, включая ценозависимую ликвидацию кредитов или выполнение финансовых транзакций, зависящее от времени инициирование аирдропов или платежей в системах с уборкой урожая и т.д. В рамках DON инициаторов можно рассматривать как обобщение Хранителей в нескольких смыслах. Инициаторы могут использовать адаптеры и, таким образом, могут использовать модульная библиотека интерфейсов к ончейн и оффчейн системам, позволяющая быстро разработка безопасного, сложного функционала. Инициаторы инициируют вычисления в исполняемые файлы, которые сами по себе предлагают полную универсальность DON, позволяя широко спектр децентрализованных услуг, которые мы представляем в этой статье для приложений внутри и снаружи сети. 3.6.4 Репутация узла / История производительности Существующая экосистема Chainlink изначально документирует историю производительности содействующие узлы в цепи. Эта функция привела к созданию коллекции ресурсов, ориентированных на репутацию, которые собирают, фильтруют и визуализируют данные о производительности отдельных пользователей. операторы узлов и каналы данных. Пользователи могут ссылаться на эти ресурсы, чтобы получать информацию. решения по выбору узлов и мониторингу работы существующих сетей. Подобные возможности помогут пользователям выбрать DONs. Например, сегодня открытые торговые площадки, такие как market.link, позволяют узлу операторы перечислить свои услуги oracle и подтвердить свою личность вне сети через такие сервисы, как Keybase [4], которые привязывают профиль узла в Chainlink к его существующие доменные имена владельца и учетные записи в социальных сетях. Кроме того, производительность инструменты аналитики, например, доступные на сайтах market.link и Reputation.link, позволяют пользователи могут просматривать статистику исторической производительности отдельных узлов, включая их средняя задержка ответа, отклонение значений в их отчетах от консенсусных значений передается по цепочке, генерируется доход, выполняются рабочие места и многое другое. Эти аналитические инструменты также позволяют пользователям отслеживать принятие различных сетей oracle другими пользователями, это форманеявное одобрение узлов, обеспечивающих безопасность таких сетей. В результате получается плоская «паутина доверия», в котором, используя определенные узлы, ценные децентрализованные приложения создают сигнал их доверия к тем узлам, которые другие пользователи могут наблюдать и учитывать в своих собственные решения по выбору узла. С появлением DONs (и первоначально с OCR) произошел сдвиг в обработке транзакций и контрактная деятельность в более общем смысле оффчейн. Децентрализованная модель узла записи производительность остается возможной внутри самого DON. Действительно, высокая производительность и емкость данных DONs позволяют создавать записи в мелкозернистом виде. способ, а также выполнять децентрализованные вычисления над этими записями, получая достоверные сводные данные, которые могут использоваться службами репутации и проверяться на контрольных точках. ГЛАВНАЯ ЦЕПЬ. Хотя в принципе DON может искажать поведение составляющих узлов, если большая часть узлов повреждена, мы отмечаем, что коллектив производительность самого DON при доставке данных в цепочке видна на MAINCHAIN и поэтому не может быть искажено. Кроме того, мы планируем изучить механизмы, которые стимулировать точные внутренние отчеты о поведении узлов в DON. Например, сообщая о подмножестве высокопроизводительных узлов, которые быстрее всего возвращают данные, способствующие в отчете, передаваемом по цепочке, DON создает стимул для узлов оспаривать неправильные отчеты: неправильное включение узлов в это подмножество означает неправильное исключение узлов это должно было быть включено и, следовательно, неправомерно наказывать их. Повторные неудачные отчеты со стороны DON также создадут стимул для честных узлов покинуть сеть. DON. Децентрализованное составление точных историй производительности и последующее способность пользователей определять высокопроизводительные узлы, а операторам узлов создавать Репутация — важная отличительная черта экосистемы Chainlink. Мы покажите в разделе 9, как мы можем рассуждать о них как о ключевом элементе строгого и расширенный взгляд на экономическую безопасность, обеспечиваемую DONs.

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

Децентрализованные услуги, предоставляемые децентрализованными

Сети Oracle Чтобы проиллюстрировать универсальность DON и то, как они обеспечивают множество новых сервисов, в этом разделе мы представляем пять примеров приложений на основе DON и описываем гибридные контракты, которые их реализуют: (1) «Доказательство резервов», форма межсетевого сервиса; (2) Взаимодействие с корпоративными/устаревшими системами, то есть создание промежуточного программного обеспечения. уровень абстракции, который облегчает разработку приложений blockchain с минимальными затратами. blockchain — конкретный код или специализация; (3) Децентрализованная идентификация, инструменты, позволяющие пользователям получать и управлять своими собственными документами, удостоверяющими личность и учетными данными; (4) Приоритетные каналы, сервис, который обеспечивает своевременное включение транзакций критической инфраструктуры (например, oracle отчеты) на blockchain; и (5) сохраняющий конфиденциальность DeFi, то есть финансовый smart contracts, которые скрывают конфиденциальные данные участвующих сторон. Здесь мы

используйте SC для обозначения части MAINCHAIN гибридного контракта и опишите DON компонент отдельно или в виде исполняемого файла exec. 4.1 Доказательство резервов Для многих приложений полезно передавать состояние между или между blockchain. А Популярное применение таких сервисов — накрутка криптовалют. Завернутые монеты такие поскольку WBTC [15] становятся популярным активом в децентрализованных финансах (DeFi). Они включает размещение «завернутого» резервного актива в его источнике blockchain MAINCHAIN(1) и создание соответствующего token в другом целевом объекте blockchain MAINCHAIN(2). Например, WBTC — это ERC20 token на Ethereum blockchain, который соответствует в BTC на Bitcoin blockchain. Поскольку контракты на MAINCHAIN(2) не имеют прямой видимости в MAINCHAIN(1), они должны явно или неявно полагаться на oracle, чтобы сообщать об отложениях обернутых актив в smart contract, создавая то, что иногда называют доказательством резервов. В Например, WBTC [15], хранитель BitGo хранит BTC и выпускает WBTC с Сеть Chainlink, предоставляющая доказательства резерва [76]. DON сам по себе может предоставить подтверждение резервов. Однако с DON это возможно. идти дальше. DON может управлять секретами и, используя соответствующие адаптеры, может совершать транзакции по любому желаемому blockchain. Следовательно, DON может действовать в качестве одного из множества хранителей — или даже как единственного децентрализованного хранителя — для завернутый актив. Таким образом, DON могут служить платформой для повышения безопасности существующие сервисы, использующие доказательства резервов. Например, предположим, что MAINCHAIN(1) — это Bitcoin, а MAINCHAIN(2) — Ethereum. В MAINCHAIN(2) контрактный SC выдает token, представляющие упакованные BTC. DON управляет адресом BTC addr(1) DON. Чтобы обернуть BTC, пользователь U отправляет X BTC из адрес(1) ты в адрес(1) DON вместе с адресом MAINCHAIN(2) addr(2) У. Мониторы DON адрес(1) DON через адаптер к MAINCHAIN(1). При наблюдении месторождения U, с достаточно высокой вероятностью подтверждения, он отправляет сообщение в SC через адаптер на ГЛАВНАЯ ЦЕПЬ(2). Это сообщение инструктирует SC создать X tokens для addr(2). У. Чтобы U выпустил X PH_0006__s, происходит обратное. Однако в MAINCHAIN(1) адрес(1) DON отправляет X BTC на адрес(1) U (или на другой адрес, если этого требует пользователь). Эти протоколы можно адаптировать, конечно, для работы с биржами, а не напрямую. с пользователями. 4.2 Взаимодействие с корпоративными/устаревшими системами DON могут служить мостами между blockchain, как в примере Доказательства. резервов, но другая цель состоит в том, чтобы они действовали как двунаправленные мосты между blockchains и устаревшие системы [176] или blockchain, такие как центральный банк цифровые валюты [30]. Предприятия сталкиваются с рядом проблем при подключении существующих систем и процессов в децентрализованные системы, включая:• Гибкость блокчейна. Системы блокчейна быстро меняются. Предприятие может столкнуться с быстрым появлением или ростом популярности blockchain, на которых контрагенты желают совершить операции, но для которых у предприятия нет поддержка существующей инфраструктуры. В целом, динамичность blockchains делает отдельным предприятиям трудно оставаться в курсе всей экосистемы. • Ресурсы для разработки, специфичные для блокчейна. Для многих организаций наем или развитие передовых blockchain специалистов является затруднительным, особенно с учетом вызов ловкости. • Управление закрытыми ключами. Управление закрытыми ключами для blockchain или криптовалют требует операционного опыта, отличного от опыта традиционной кибербезопасности. практики и недоступны для многих предприятий. • Конфиденциальность: предприятия опасаются раскрывать свою конфиденциальную и частную информацию. данные по цепочке. Чтобы решить первые три из этих трудностей, разработчики могут просто использовать DON в качестве безопасного промежуточного уровня, позволяющего корпоративным системам читать или записывать данные. blockchainс. DON может абстрагироваться от детальных технических соображений, таких как газовая динамика, реорганизация цепочки и т.д., как для разработчиков, так и для пользователей. Автор представляя оптимизированный интерфейс blockchain для корпоративных систем, DON может, таким образом, значительно упростить разработку корпоративных приложений, поддерживающих blockchain, снимая с предприятий нагрузку по приобретению или инкубированию ресурсов разработки, специфичных для blockchain. Такое использование DONs особенно привлекательно, поскольку оно позволяет корпоративным разработчикам создавать приложения со смарт-контрактами, которые в значительной степени не зависят от blockchain. В результате больше набор blockchain, для которых DON используется в качестве промежуточного программного обеспечения, увеличить набор blockchain, к которым корпоративные пользователи могут получить легкий доступ. Разработчики может переносить приложения с существующих blockchain на новые с минимальными модификациями. к своим собственным разработанным приложениям. Чтобы решить дополнительную проблему конфиденциальности, разработчики могут обратиться к инструменты, которые мы представляем в этой статье и планируем использовать для поддержки приложений DON. К ним относятся раздел 3.6.2 DECO и Town Crier, а также правила сохранения конфиденциальности. Модификации API, обсуждаемые в разделе 7.1.2, а также ряд подходов для конкретных приложений, описанных в оставшейся части этого раздела. Эти DON системы могут обеспечить высоконадежные онлайн-аттестации состояния корпоративной системы без раскрытия конфиденциальные исходные данные предприятия в цепочке. 4.3 Децентрализованная идентичность Децентрализованная идентификация — это общий термин, обозначающий идею о том, что пользователи должны иметь возможность получать и управлять своими собственными учетными данными, а не полагаться на третьих лиц так. Децентрализованные учетные данные — это подтверждения атрибутов или утверждений владельца.которые часто называют претензиями. Учетные данные подписываются цифровой подписью субъектами, часто называемыми эмитенты, которые могут авторитетно связывать претензии с пользователями. В большинстве предлагаемых схем претензии связаны с децентрализованным идентификатором (DID), универсальным идентификатором для данного пользователя. Учетные данные привязаны к открытому ключу, закрытый ключ которого имеет пользователь. Таким образом, пользователь может доказать владение заявкой, используя свой закрытый ключ. Какими бы дальновидными ни была децентрализованная идентичность, существующие и предлагаемые схемы, например, [14, 92, 129, 216], имеют три серьезных ограничения: • Отсутствие совместимости с предыдущими версиями. Существующие децентрализованные системы идентификации полагаются на сообщество органов власти, называемых эмитентами, для создания учетных данных DID. Потому что существующие веб-сервисы обычно не подписывают данные цифровой подписью, эмитенты должны быть запущены как системы специального назначения. Потому что нет стимула делать это без В результате экосистемы децентрализованной идентификации возникает проблема курицы и яйца. В другом Другими словами, неясно, как запустить экосистему эмитента. • Неработоспособное управление ключами. Децентрализованные системы идентификации требуют от пользователей управлять закрытыми ключами, как показал опыт работы с криптовалютой быть непосильным бременем. По оценкам, около 4 000 000 __PH_0005 были потеряны навсегда из-за сбоев управления ключами [194], и многие пользователи сохраняют свои криптоактивы с биржами [193], тем самым подрывая децентрализацию. • Отсутствие защиты от Сивиллы, обеспечивающей сохранение конфиденциальности. Основное требование безопасности таких приложений, как голосование, справедливое распределение token во время продаж token и т. д., заключается в том, что пользователи не смогут подтвердить несколько удостоверений личности. Существующие предложения по децентрализованной идентификации требуют от пользователей раскрытия своей реальной личности для достижения такой цели. Сопротивление Сивиллы, тем самым подрывая важные гарантии конфиденциальности. Эти проблемы можно решить, используя комбинацию комитета узлов. выполнение распределенных вычислений внутри DON и использование таких инструментов, как DECO или Town Crier, как показано в системе под названием CanDID [160]. DECO или Town Crier могут по замыслу превратить существующие веб-сервисы без изменений. на эмитентов учетных данных, сохраняющих конфиденциальность. Они позволяют DON экспортировать соответствующие данные для этой цели в учетные данные, скрывая при этом конфиденциальные данные, которые не должны появляются в учетных данных. Кроме того, чтобы облегчить восстановление ключей для пользователей, тем самым решая проблему управления ключами. Проблема, DON может позволить пользователям хранить закрытые ключи в секретной форме. Пользователи могут восстановить свои ключи, доказав узлам в DON — аналогично, используя Town Crier или DECO — возможность входа в учетные записи с набором заранее определенных веб-провайдеров (например, Твиттер, Гугл, Фейсбук). Преимущество использования Town Crier или DECO по сравнению с OAUTH — это конфиденциальность пользователя. Эти два инструмента позволяют пользователю избежать раскрытия информации DON. идентификатор веб-провайдера, из которого часто можно получить реальные идентификаторы. Наконец, чтобы обеспечить сопротивление Сивилле, как показано в [160], DON может выполнить преобразование уникальных реальных идентификаторов пользователей с сохранением конфиденциальности (например, номера социального страхования (SSN)) в идентификаторы в цепочке при регистрации пользователя.Таким образом, система может обнаруживать дублирующиеся регистрации без конфиденциальных данных, таких как SSN раскрываются отдельным узлам DON.7 DON может предоставлять любые из этих услуг от имени внешнего децентрализованного удостоверения. системы на защищенных или разрешенных blockchain, например, экземпляры Hyperledger Инди [129]. Пример приложения: KYC: Децентрализованная идентичность обещает стать средством оптимизировать требования к финансовым приложениям на blockchains, одновременно улучшая конфиденциальность. Две проблемы, которые он может помочь решить, — это обязательства по аккредитации и соблюдению требований в соответствии с правилами борьбы с отмыванием денег и правилами «знай своего клиента» (AML / KYC). Правила ПОД во многих странах требуют, чтобы финансовые учреждения (и другие предприятия) устанавливали и проверяли личности физических и юридических лиц, с которыми они совершают транзакции. KYC является одним из компонентов системы финансового учреждения. более широкая политика ПОД, которая, как правило, также включает в себя, среди прочего, мониторинг поведения пользователей и наблюдение за потоками средств. KYC обычно предполагает предоставление пользователю учетных данных в той или иной форме (например, вход в онлайн-форму, поднесение документа, удостоверяющего личность, перед лицом пользователя в видеосеансе и т. д.). Безопасное создание и представление децентрализованных учетных данных в принципе может быть выгодной альтернативой в нескольких отношениях, а именно: (1) Создание процесс KYC более эффективен для пользователей и финансовых учреждений, поскольку однажды если сертификат получен, его можно беспрепятственно представить в любое финансовое учреждение; (2) Сокращение мошенничества за счет уменьшения возможностей кражи личных данных путем компрометации. информации, позволяющей установить личность (PII), и подделки во время видеоверификации; и (3) Снижение риска компрометации личных данных в финансовых учреждениях, поскольку пользователи сохраняют контроль. своих собственных данных. Учитывая многомиллиардные штрафы, выплачиваемые финансовыми учреждениями за несоблюдение требований AML, а также то, что многие финансовые учреждения ежегодно тратят миллионы долларов на KYC, улучшения могут принести значительную экономию для финансовых учреждений. и, как следствие, для потребителей [196]. В то время как традиционный финансовый сектор работает медленно Чтобы внедрить новые инструменты обеспечения соответствия, DeFi системы все чаще используют их [43]. Пример применения: Кредиты с недостаточным обеспечением: Большинство DeFi приложений, которые Поддержка кредитования сегодня вытекает только из полностью обеспеченных кредитов. Это кредиты, выданные заемщикам, которые вносят криптовалютные активы, стоимость которых превышает стоимость кредитов. Недавно возник интерес к тому, что сообщество DeFi обычно называет кредитами с недостаточным обеспечением. Это, напротив, кредиты, по которым соответствующее обеспечение имеет стоимость, меньшую, чем основная сумма кредита. Недообеспеченные кредиты напоминают кредиты, часто предоставляемые традиционными финансовыми учреждениями. Вместо того, чтобы полагаться на внесенном залоге в качестве гарантии погашения кредита они вместо этого основывают кредитование решения по кредитным историям заемщиков. 7Это преобразование основано на распределенной псевдослучайной функции (PRF).Кредиты с недостаточным обеспечением представляют собой зарождающуюся, но растущую часть кредитного рынка DeFi. Они полагаются на механизмы, подобные тем, которые используются в традиционных финансовых системах. учреждения, такие как юридические контракты [91]. Обязательное условие для их роста. будет возможность предоставлять данные о кредитоспособности пользователей — ключевом факторе при принятии традиционных решений о кредитовании — в системы DeFi таким образом, чтобы обеспечить надежную целостность, т. е. гарантия корректности данных. Децентрализованная система идентификации с поддержкой DON позволит потенциальным заемщикам генерировать надежные учетные данные, подтверждающие их кредитоспособность, сохраняя при этом конфиденциальность чувствительной информации. В частности, заемщики могут создавать такие учетные данные, основанные на записях из авторитетных онлайн-источников, раскрывая при этом только данные, подтвержденные DON, без раскрытия других потенциально конфиденциальных данных. Для Например, заемщик может создать учетные данные, указывающие, что ее кредитный рейтинг с набора кредитных бюро превышает определенный порог (например, 750), не раскрывая ее точный счет или любые другие данные в ее записях. Кроме того, при желании такие учетные данные может быть сгенерировано анонимно, т. е. имя пользователя можно рассматривать как конфиденциальные данные и сам не доступен узлам oracle или ее децентрализованным учетным данным. Полномочия сам по себе может использоваться как в цепочке, так и в автономном режиме, в зависимости от приложения. Таким образом, заемщик может предоставить кредиторам важную информацию о своем кредите. истории с высокой достоверностью и без риска раскрытия ненужных, чувствительных данные. Заемщик также может предоставить ряд других документов, подтверждающих конфиденциальность. помогает принимать решения о кредитовании. Например, учетные данные могут подтвердить личность заемщика. владение активами (вне сети), как мы покажем в нашем следующем примере. Пример заявки: Аккредитация: Многие юрисдикции ограничивают класс инвесторов, которым могут быть проданы незарегистрированные ценные бумаги. Например, в США SEC Положение D предусматривает, что для получения аккредитации для таких инвестиционных возможностей необходимо человек должен обладать собственным капиталом в 1 миллион долларов, соответствовать определенным требованиям к минимальному доходу или иметь определенную профессиональную квалификацию [209, 210]. Текущая аккредитация процессы являются громоздкими и неэффективными, часто требующими аттестационного письма от бухгалтера или аналогичные доказательства. Децентрализованная система идентификации позволит пользователям генерировать учетные данные из существующие учетные записи онлайн-финансовых услуг, подтверждающие соответствие аккредитации нормативных актов, что способствует более эффективному и сохраняющему конфиденциальность процессу KYC.

Более того, свойства DECO и Town Crier, сохраняющие конфиденциальность, позволят этим учетные данные должны генерироваться с надежной гарантией целостности без прямого раскрытия подробностей финансового статуса пользователя. Например, пользователь может создать учетные данные доказав, что ее собственный капитал составляет не менее 1 миллиона долларов, не раскрывая никаких дополнительных сведений. информация о ее финансовом положении. 4.4 Приоритетные каналы Приоритетные каналы — это новый полезный сервис, который легко создать с помощью DON. Их

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

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

Цель состоит в том, чтобы своевременно доставлять избранные высокоприоритетные транзакции на MAINCHAIN. в периоды перегрузки сети. Приоритетные каналы можно рассматривать как форму фьючерсный контракт на пространстве блоков и, следовательно, как криптотовар, термин, придуманный как часть проекта «Чикаго» [61, 136]. Приоритетные каналы предназначены специально для майнеров для включения инфраструктурных сервисов, таких как oracle, функции управления контрактами и т. д., а не для обычных действий на уровне пользователя, таких как финансовые транзакции. Фактически, как задумано здесь, приоритетом канал, реализованный менее чем на 100% мощности майнинга в сети, может только обеспечить свободные ограничения на сроки доставки, предотвращая их использование для сильно зависящих от скорости такие цели, как опережение. Рисунок 10. Приоритетный канал — это гарантия майнера M или, в более общем смысле, набор майнеров M — пользователю U, что ее транзакция τ будет добыта в блоках D включения в мемпул. Контрактный SC может использовать мониторинг DON для обеспечения соблюдения условия обслуживания канала. Приоритетный канал принимает форму соглашения между майнером или группой майнеров. (или пулы майнинга) M, предоставляющий канал, и пользователь U, который платит комиссию за доступ. M согласен, что когда U отправляет транзакцию τ в мемпул (с любой ценой на газ,но заранее согласованный лимит газа), M поместит его в цепочку в следующих блоках D.8 Схематически идея изображена на рис. 10. Описание контракта приоритетного канала: Приоритетный канал может быть реализован как гибрид smart contract примерно следующим образом. Обозначим через SC логику в MAINCHAIN. и это на DON от exec. СК принимает депозит/долю \(d from M and an advance payment \)p от U.A. DON исполняемый файл exec контролирует мемпул, срабатывая при размещении транзакции пользователем U. Он отправляет сообщение об успехе в SC, если U отправляет транзакцию, которую M майнит в своевременный способ и сообщение об ошибке в случае сбоя службы. SC отправляет платеж $p в адрес M, получив сообщение об успехе, и отправляет все оставшиеся средства. включая $d, в U, если он получает сообщение об ошибке. В случае успешного завершения освобождает депозит $d М. Майнер М, конечно, может предоставлять приоритетные каналы одновременно нескольким пользователей и может открыть приоритетный канал с U для заранее оговоренного количества сообщений. 4,5 Сохранение конфиденциальности DeFi / Mixicles Сегодня приложения DeFi [1] практически не обеспечивают конфиденциальности для пользователей: все транзакции видны в цепочке. Различные подходы с нулевым разглашением, например, [149, 217], может обеспечить конфиденциальность транзакций, и TEF достаточно универсален, чтобы их поддерживать. Но эти подходы не являются всеобъемлющими и, например, обычно не скрывают актив, на котором основана сделка. Широкий набор вычислительных инструментов, которые мы в конечном итоге намерены поддерживать в DONs, будет обеспечить конфиденциальность различными способами, которые могут устранить такие пробелы, помогая дополнить гарантии конфиденциальности других систем. Например, Mixicles, инструмент сохранения конфиденциальности DeFi, предложенный исследователями Chainlink лаборатории [135], может скрывать тип актива, поддерживающего финансовый инструмент, и очень естественно вписывается в DON рамки. Миксикли легче всего объяснить с точки зрения их использования для реализации простого двоичного кода. вариант. Бинарный опцион — это финансовый инструмент, в котором два пользователя, которых мы будем см. здесь для согласованности с [135] в качестве игроков, сделайте ставку на событие с двумя возможными результаты, например, превысит ли актив целевую цену в заранее назначенное время или нет. Следующий пример иллюстрирует эту идею. Пример 2. Алиса и Боб являются участниками бинарного опциона, основанного на стоимости актива. называется «Пузырь Кэрол» (CBT). Алиса делает ставку на то, что рыночная цена CBT составит минимум 250 долларов США во время Т = полдень 21 июня 2025 года; Боб делает ставку на обратное. Каждый игрок вносит 100 ETH в заранее оговоренный срок. Игрок с выигрышной позицией получает 200 ETH (т. е. получает 100 ETH). 8D, конечно, должен быть достаточно большим, чтобы гарантировать, что M может соответствовать с высокой вероятностью. Для Например, если M контролирует 20% мощности майнинга в сети, он может выбрать D = 100, гарантируя вероятность отказа ≈2 × 10−10, т. е. менее одного на миллиард.Учитывая существующую сеть Chainlink oracle O, легко реализовать интеллектуальную контракт SC, который реализует соглашение в примере 2. Каждый из двух игроков вносит депозит 100 ETH в СЦ. Через некоторое время после T запрос q отправляется в O с запросом цены r CBT в момент времени T.O отправляет отчет об этой цене в SC. Затем SC отправляет деньги Алисе. если r ≥250, и Боб, если нет. Однако этот подход раскрывает r в цепочке, что упрощает задачу чтобы наблюдатель мог определить актив, лежащий в основе бинарного опциона. В терминологии Mixicles полезно концептуально подумать о результате. SC в терминах коммутатора, который передает двоичное значение, вычисленное как предикат переключатель (р). В нашем примере переключатель(r) = 0, если r ≥250; учитывая такой результат, Алиса побеждает. В противном случае switch(r) = 1, и Боб выигрывает. DON может реализовать базовый Mixicle как гибридный контракт, запустив исполняемый файл. exec, который вычисляет переключатель (r) и передает его по цепочке в SC. Мы показываем эту конструкцию на рис. 11. Рисунок 11: Схема базового Mixicle в примере 2. Чтобы обеспечить внутрисетевую секретность для отчет r и, следовательно, актив, лежащий в основе бинарного опциона, oracle отправляет в заключить контракт SC через переключатель Switch только двоичного значения (r). В Приложении C.3 мы указываем адаптер ConfSwitch, который позволяет легко добиться этого. гол в DON. Основная идея ConfSwitch довольно проста. Вместо того, чтобы отчитываться значение r, ConfSwitch сообщает только значение двоичного переключателя switch(r). СК может быть предназначен для осуществления правильного платежа только на основе переключателя (r) и отдельного переключателя (r) не раскрывает никакой информации о базовом активе — в нашем примере CBT. Кроме того, поместив зашифрованный текст в (q, r) в реестре, зашифрованном с помощью pkaud, открытого ключа В качестве аудитора адаптер ConfSwitch создает контрольный журнал, сохраняющий конфиденциальность. Базовый Mixicle, который мы выбрали для простоты описания, скрывает только актив и ставка на бинарный опцион в нашем примере. Полноценный Mixicle [135] может обеспечить две формы конфиденциальности. Оно скрывает от наблюдателей: (1) Какое событие произошло игроки делают ставки (т. е. на q и r), но также (2) какой игрок выиграл ставку. Поскольку Mixicles выполняются на MAINCHAIN, любому игроку потребуется ретранслировать переключите(r) с DON на MAINCHAIN, иначе можно создать исполняемый файл exec, который

запускается на выходе ConfSwitch и вызывает другой адаптер для отправки переключателя (r) в ГЛАВНАЯ ЦЕПЬ. Стоит также рассмотреть третий, тонкий тип конфиденциальности. В базовой реализации ConfSwitch O запускает адаптер на DON и таким образом изучает актив — в нашем примере CBT — и, следовательно, природу бинарного опциона. Как обсуждалось в Приложении C.3, однако, дополнительно можно использовать DECO или Town Crier для скрыть даже эту информацию от О. В этом случае О больше не узнает никакой информации. чем общественный наблюдатель ВС. Для получения более подробной информации о Mixicles мы отсылаем читателей по адресу [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.

Услуги честного секвенирования

Одна важная услуга, которую, как мы ожидаем, будут предлагать DONs, которая использует их сетевые, вычислительные и запоминающие возможности, называется Fair Sequencing Services (FSS). Хотя FSS можно рассматривать просто как приложение, реализованное в рамках DON, мы выделяем его как услугу, которая, по нашему мнению, будет пользоваться большим спросом во всем мире. blockchains, и мы ожидаем, что сеть Chainlink будет активно поддерживать. При выполнении в общедоступных сетях blockchain многие из современных приложений DeFi раскрывать информацию, которая может быть использована пользователями в своих целях, аналогично виды инсайдерских утечек и возможностей манипулирования, которые широко распространены в существующих рынки [64, 155]. Вместо этого FSS прокладывает путь к справедливой DeFi экосистеме. ФСС помогает разработчикам создавать DeFi контракты, защищенные от манипулирования рынком в результате утечки информации. Учитывая проблемы, которые мы подчеркиваем ниже, ФСС особенно привлекателен для услуг уровня 2 и вписывается в структуру таких услуг. которые мы обсуждаем в разделе 6. Задача: В существующих системах без разрешений транзакции полностью упорядочены. на усмотрение майнеров. В разрешенных сетях узлы validator могут оказывать та же самая сила. Это форма в значительной степени непризнанной эфемерной централизации в в противном случае децентрализованные системы. Майнер может (временно) подвергать цензуре транзакции для своих собственную выгоду [171] или переупорядочить их, чтобы максимизировать собственную выгоду. Это понятие называется извлекаемой ценностью (MEV) [90]. Термин MEV немного обманчив: он не относится к только для того, чтобы оценить то, что могут захватить майнеры: некоторые MEV могут быть захвачены обычными пользователями. Однако, поскольку майнеры обладают большей властью, чем обычные пользователи, MEV представляет собой верхнюю границу суммы ценности, которую любой субъект может получить посредством состязательного переупорядочения. и вставка дополнительных транзакций. Даже когда майнеры просто заказывают транзакции на основе платы (газ), без манипуляций, пользователи сами могут манипулировать ценами на газ чтобы получить преимущество своих транзакций перед менее сложными. Даян и др. [90] документировать и количественно определять способы, которыми боты (не майнеры) получают преимущество газовой динамики в способе, который вредит пользователям систем DeFi сегодня и как MEV даже угрожает стабильности базового уровня консенсуса в blockchain. Регулярно появляются и другие примеры манипулирования порядками транзакций, например, [50, 154].Новые методы обработки транзакций, такие как rollups, являются очень многообещающим подходом. к проблемам масштабирования высокопроизводительных blockchains. Однако они не затрагивают проблема МЭВ. Вместо этого они передают его сущности, которая генерирует rollup. Это объект, будь то оператор smart contract или пользователь, предоставляющий (zk-)rollup доказательство действительности, имеет право упорядочивать и вставлять транзакции. Другими словами, rollups замените MEV на REV: извлекаемая ценность. MEV влияет на предстоящие транзакции, отправленные в мемпул. но еще не зафиксированы в цепочке. Информация о таких сделках широко распространена. доступен в сети. Майнеры, validators и обычные участники сети могут поэтому используйте эти знания и создавайте зависимые транзакции. Кроме того, майнеры и validator могут влиять на порядок тех транзакций, которые они совершают. себя и использовать это в своих интересах. Проблема неправомерного влияния лидеров на порядок транзакций в условиях консенсуса протоколы известны в литературе с 1990-х годов [71, 190], но удовлетворительных результатов не получили. решения реализованы на практике на данный момент [97]. Основная причина заключается в том, что предлагаемые решения – по крайней мере, до недавнего времени – не могут быть легко интегрированы в общественную систему. blockchains, поскольку они полагаются на то, что содержимое транзакций остается секретным до тех пор, пока их порядок определен. Обзор услуг честного секвенирования (FSS): DONs предоставит инструменты для децентрализации порядка транзакций и реализации его в соответствии с политикой, указанной проверяющей организацией. создатель контракта, в идеале справедливый и не приносящий выгоды субъектам, желающим манипулировать порядком транзакций. В совокупности эти инструменты составляют FSS. ФСС включает в себя три компонента. Первое – это мониторинг транзакций. В ФСС, oracle узлы в O контролируют мемпул MAINCHAIN и (при желании) разрешают внесетевое представление транзакций через специализированный канал. Второе — это последовательность транзакций. Узлы в транзакциях порядка O для зависимого контракта в соответствии с политикой, определенной для этого контракта. Третий — проводка транзакций. После того, как транзакции упорядочены, узлы в O совместно отправляют транзакции в основная цепь. Потенциальные преимущества FSS включают в себя: • Справедливость заказов: FSS включает инструменты, помогающие разработчикам гарантировать, что транзакции входные данные для конкретного контракта упорядочены таким образом, чтобы не создавать несправедливых преимущество для хорошо обеспеченных ресурсами и/или технически подкованных пользователей. Политика заказа для этой цели можно указать. • Сокращение или устранение утечек информации: гарантируя, что участники сети не смогут использовать знания о предстоящих транзакциях, FSS может уменьшить или устранить такие атаки, как опережение, основанные на информации, доступной в сети до совершения транзакций. Предотвращение эксплуатации таких утечка гарантирует, что состязательные транзакции, которые зависят от исходных ожидающих транзакции не могут попасть в реестр до того, как будут зафиксированы исходные транзакции.• Снижение транзакционных издержек: устранение потребности игроков в скорости отправки свои транзакции на smart contract, FSS может значительно снизить стоимость обработки транзакций. • Порядок приоритетов: FSS может автоматически придавать критическим транзакциям особый приоритет. заказ. Например, чтобы предотвратить быстрые атаки на oracle. отчеты, например [79], FSS может вставить отчет oracle в поток транзакций задним числом. Основная цель FSS в DONs – предоставить авторам DeFi возможность реализовывать справедливые финансовые системы, то есть системы, которые не приносят пользы конкретным пользователям (или майнерам) над другими на основе скорости, инсайдерских знаний или способности выполнять технические манипуляция. Хотя четкое общее представление о справедливости является неуловимым, а идеальная справедливость в любой разумный смысл недостижим, FSS стремится предоставить разработчикам мощную набор инструментов, позволяющих применять политики, помогающие достичь целей проектирования DeFi. Мы отмечаем, что, хотя основная цель FSS — выступать в качестве справедливой службы секвенирования для ГЛАВНАЯ ЦЕПЬ, на которую нацелен DON, некоторые из тех же требований справедливости, что и FSS гарантии также могут быть подходящими для (децентрализованных) протоколов, которые выполняются между DON вечеринки. Таким образом, FSS можно рассматривать в более широком смысле как услугу, предоставляемую подмножеством узлов DON для справедливой последовательности не только транзакций, отправленных пользователями MAINCHAIN но также транзакции (т. е. сообщения), совместно используемые другими узлами DON. В этом разделе мы сосредоточимся в первую очередь на цели упорядочения транзакций MAINCHAIN. Организация раздела: В разделе 5.1 мы описываем два приложения высокого уровня, которые мотивируют разработку FSS: предотвращение предварительного запуска отчетов oracle и предотвращение опережающее выполнение пользовательских транзакций. Затем мы предоставим более подробную информацию о конструкции FSS. в разделе 5.2. В разделе 5.3 описаны примеры справедливых гарантий и средств заказа. чтобы достичь их. Наконец, в разделах 5.4 и 5.5 обсуждаются угрозы сетевого уровня для такие политики и средства их решения, соответственно, для сетевого флуда и Сибиллы. атаки. 5.1 Проблема опережающего движения Чтобы объяснить цели и структуру FSS, мы опишем две общие формы опережающего развития. атаки и ограничения существующих решений. Опережающее движение иллюстрирует класс атак с упорядочиванием транзакций: существует ряд связанных атак, таких как обратное выполнение и сэндвичирование (переднее и обратное выполнение) [237], которые мы не рассматриваем. здесь, но в решении которых также помогает ФСС. 5.1.1 Oracle на опережение Выполняя свою традиционную роль по предоставлению данных вне сети приложениям blockchain, oracles стать естественной мишенью для лобовых атак.Рассмотрим распространенный шаблон проектирования с использованием oracle для предоставления различных ценовых каналов. на внутрисетевую биржу: периодически (скажем, каждый час) oracle собирает данные о ценах на различные активы и отправляет их на контракт обмена. Эти транзакции ценовых данных представляют очевидные возможности арбитража: например, если в новейшем отчете oracle указаны гораздо более высокую цену за какой-либо актив, злоумышленник может заранее подготовить отчет oracle, чтобы скупайте активы и немедленно перепродавайте их после обработки отчета oracle. Лежачие полицейские и ретроактивное ценообразование: Естественным решением проблемы опережающего выполнения oracle является предоставление отчетам oracle особого приоритета над другими транзакциями. Для Например, отчеты oracle могут отправляться с высокой комиссией, чтобы побудить майнеров обрабатывать они в первую очередь. Но это не помешает опережению, если арбитражные возможности высоки. и при этом он не может предотвратить арбитраж со стороны самих майнеров. Поэтому некоторые биржи прибегли к внедрению более тяжелых «лежачих полицейских», таких как постановка пользовательских транзакций в очередь для нескольких блоков перед обработкой. их или задним числом корректировать цены при поступлении нового отчета oracle. Недостатками этих решений являются то, что они усложняют реализацию обмена, увеличивают требования к хранению и, следовательно, транзакционные издержки, а также нарушают работу пользователей, поскольку обмен активами подтверждается только по истечении значительного периода времени. Совмещение: Прежде чем перейти к FSS, мы обсудим контрейлерную перевозку, довольно простой и элегантное решение проблемы опережения oracle. Не применимо к адресу однако в других сценариях он опережает других. Короче говоря, вместо периодической отправки отчетов в ончейн-контракт, oracles публиковать подписанные отчеты, которые пользователи добавляют к своим транзакциям при покупке или продаже внутрисетевые активы. Затем биржа просто проверяет, что отчет действителен и актуален. (например, oracle может подписывать диапазон блоков, для которых отчет действителен) и извлекает соответствующая цена будет получена из него. Этот простой подход имеет ряд преимуществ перед вышеописанным «лежачим полицейским». подход: (1) Биржевой контракт не должен сохранять состояние ценовых потоков, которые должны привести к снижению транзакционных издержек; (2) Поскольку отчеты oracle публикуются в цепочке по мере необходимости, oracle могут генерировать более частые обновления (например, каждую минуту), тем самым минимизация арбитражных возможностей при предварительном составлении отчета9; (3) Транзакции могут быть проверены немедленно, поскольку они всегда включают в себя свежий поток цен. Однако этот подход не идеален. Во-первых, это комбинационное решение ставит обязанность пользователей биржи получать актуальные oracle отчеты и прикреплять их к своим транзакции. Во-вторых, хотя использование контрейлерных услуг сводит к минимуму арбитражные возможности, оно не может полностью предотвратить их, не влияя на работоспособность ончейн-контракта. Действительно, если Отчет oracle действителен до некоторого блока номер n, после чего транзакция отправляется в блокировку. n + 1 потребует нового действительного отчета. Из-за присущих задержек в распространении сообщает пользователям oracles, новый отчет, действительный для блока n + 1, будет иметь 9Арбитраж имеет смысл только в том случае, если используемая разница в ценах на активы превышает внешнюю разницу. комиссии, необходимые для покупки и продажи активов, например, взимаемые майнерами и биржей.быть опубликованным за какой-то период до того, как будет добыт блок n + 1, скажем, в блоке n -k, тем самым создание последовательности из k блоков, в которой существует краткосрочная возможность арбитража. Мы теперь опишите, как FSS обходит эти ограничения. Приоритизация отчетов oracle с помощью FSS: FSS может решить проблему oracle с опережением проблемы, опираясь на вышеупомянутое комбинационное решение, но добавляя дополнительные работа по дополнению транзакций отчетами oracle в децентрализованной сети Oracle. На высоком уровне узлы oracle собирают транзакции, предназначенные для внутрисетевого обмена. согласовать поток цен в реальном времени и опубликовать этот поток вместе с собранными транзакциями в контракте основной цепи. Концептуально этот подход можно рассматривать как «пакетная обработка транзакций с дополненными данными», где oracle гарантирует, что актуальная Ценовой поток всегда добавляется к транзакциям. Решения FSS могут быть реализованы прозрачно для пользователей биржи и с минимальные изменения в логике контракта, как мы описываем более подробно в разделе 5.2. Обеспечение свежие отчеты oracle всегда имеют приоритет над транзакциями пользователей — это лишь один пример политики заказов, которую FSS может принять и обеспечить соблюдение. Политика ФСБ по обеспечению порядка более общее описание справедливости представлено в разделе 5.3. 5.1.2 Оперативные пользовательские транзакции Теперь мы обратимся к опережающему запуску в общих приложениях, где описанный выше метод защиты не работает. В общих чертах проблему можно охватить с помощью следующего сценария: Злоумышленник видит некоторую пользовательскую транзакцию tx1, отправленную в сеть P2P, и внедряет свою собственную состязательную транзакцию tx2, так что tx2 обрабатывается до tx1 (например, путем оплаты более высокая комиссия за транзакцию). Например, такой вид опережения распространен среди боты, которые используют возможности арбитража в DeFi системах [90] и затронули пользователей различные децентрализованные приложения [101]. Установление справедливого порядка среди транзакций обработка на blockchain решает эту проблему. Более фундаментально, просмотр деталей tx1 иногда даже не нужен. знание о его простом существовании может позволить противнику опередить tx1 через свой завладеть tx2 и обмануть невиновного пользователя, создавшего tx1. Например, пользователь может известно, что он регулярно торгует определенным активом. Для предотвращения подобных атак необходимо меры по смягчению последствий, которые также позволяют избежать утечки метаданных [62]. Некоторые решения этой проблемы существуют, но они приводят к задержкам и проблемам с удобством использования. От сетевого заказа к окончательному заказу с FSS: Возможности для продвижения вперед возникают потому, что существующие системы не имеют механизмов, гарантирующих соблюдение порядка, в котором транзакции появляются в цепочке, соблюдая порядок событий и поток информации вне сети. Это представляет собой проблему, возникающую из-за недостатков в реализации приложений (например, торговых платформ) на blockchain. В идеале можно было бы убедитесь, что транзакции фиксируются на blockchain в том же порядке, в котором они были создается и отправляется в P2P-сеть blockchain. Но поскольку сеть blockchain

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

распределен, такой порядок не может быть зафиксирован. Поэтому ФСС вводит механизмы для защиты от нарушений справедливости, которые возникают только из-за распределенного природа сети blockchain. 5.2 Детали ФСС Рисунок 12: Мемпул ярмарки заказов с двумя разными путями транзакций: прямой и на основе мемпула. На рис. 12 представлена ​​общая схема ФСС. Для обеспечения справедливости DON, предоставляющий FSS, должен вмешиваться в поток транзакций при их входе в MAINCHAIN. Могут потребоваться корректировки клиентов, smart contract в MAINCHAIN ​​или того и другого. На высоком уровне обработку транзакций ФСС можно разбить на три этапы, описанные ниже: (1) Мониторинг транзакций; (2) Последовательность транзакций; и (3) Проводка транзакции. В зависимости от метода упорядочивания, используемого для упорядочивания транзакций, необходимы дополнительные шаги протокола, как описано в следующем разделе. 5.2.1 Обработка транзакций Мониторинг транзакций: Мы видим два разных подхода к мониторингу ФСС. пользовательские транзакции, предназначенные для конкретного smart contract, прямые и на основе мемпула: • Прямой: Прямой подход концептуально самый простой, но требует изменений в пользовательских клиентов, чтобы транзакции отправлялись непосредственно в децентрализованный Oracleузлам сети, а не узлам основной цепи. DON собирает пользовательские транзакции, предназначенные для конкретного smart contract SC, и упорядочивает их на основе о какой-то политике заказа. Затем DON отправляет заказанные транзакции в smart contract в основной цепочке. Некоторые механизмы упорядочивания также требуют прямого подхода, поскольку пользователь, создающий транзакцию, должен криптографически защитите его перед отправкой в ФСС. • На основе мемпула: для облегчения интеграции FSS с устаревшими клиентами, DON может использовать Mempool Services (MS) для мониторинга мемпула основной цепочки и сбора транзакции. Прямая передача, вероятно, будет предпочтительной реализацией для многих контрактов. и мы считаем, что во многих случаях это должно быть достаточно практично. Мы кратко обсудим, как существующие DApps могут быть минимально модифицированы для поддержки прямая передача, сохраняя при этом хороший пользовательский опыт. Описываем подходы используя Ethereum и MetaMask [6], поскольку на сегодняшний день это наиболее популярный выбор, но упомянутые методы должны распространяться на другие сети и кошельки. Недавний Ethereum Предложение по улучшению, «EIP-3085: Кошелек добавляет метод цепочки RPC Ethereum» [100], упростит выбор пользовательских цепочек Ethereum (с использованием идентификатора CHAIN ID, отличного от MAINCHAIN для предотвращения повторных атак) из MetaMask и других браузерных кошельков. После реализации этого предложения децентрализованное приложение, стремящееся использовать DON просто добавили бы один вызов метода в свой интерфейс, чтобы иметь возможность напрямую передавать транзакции к любому DON, предоставляющему API-интерфейс, совместимый с Ethereum. Тем временем, «EIP-712: Ethereum типизированные структурированные данные hash и подписание» [49] обеспечивает небольшое более сложная, но уже широко распространенная альтернатива, где пользователь DApp может использовать MetaMask для подписи структурированных данных, определяющих транзакцию DON. DApp может отправлять эти подписанные структурированные данные в DON. Наконец, отметим, что возможны и гибридные подходы. Например, наследие клиенты могут продолжать отправлять транзакции в мемпул основной цепочки, но это критично. транзакции (например, отчеты oracle) отправляются непосредственно на узлы DON (в частности, набор узлов, предоставляющих oracle отчеты, такие как обновления цен, и набор узлов обеспечение FSS может перекрываться или быть идентичным). Последовательность транзакций: Основная цель FSS — гарантировать, что пользовательские транзакции упорядочиваются в соответствии с заранее определенной политикой. Характер этой политики будет зависят от потребностей приложения и типов несправедливых транзакций, которые оно стремится предотвратить. Поскольку FSS на DON способен обрабатывать данные и поддерживать локальное состояние, они могут навязать произвольную политику последовательности, основанную на информации, которая доступен по адресу oracles. Конкретные политики заказа и их реализация обсуждаются далее в разделе 5.3.Проводка транзакции: После сбора и упорядочения пользовательских транзакций, полученных либо напрямую от пользователей, либо собранных из мемпула, DON отправляет эти транзакции в основную цепочку. Таким образом, взаимодействие DON с основной цепью остается подчиняется (потенциально несправедливому) упорядочению транзакций, регулируемому майнерами основной цепи. Чтобы воспользоваться преимуществами децентрализованного заказа транзакций, целевой умный Таким образом, контракт SC должен быть разработан так, чтобы относиться к DON как к «первосортному» гражданину. Мы выделяют два подхода: • Контракты только для DON: Самый простой вариант дизайна — сделать основную цепочку умной. контракт SC принимает только транзакции, обработанные DON. Это гарантирует, что smart contract обрабатывает транзакции в порядке, предложенном DON, но де-факто ограничивает smart contract работой в системе, основанной на комитетах (т. е. комитет DON теперь имеет постоянные полномочия определять упорядочивание и включение транзакций). • Контракты двойного класса. Предпочтительный, более детализированный дизайн предполагает умную основную цепочку. контракт SC принимает транзакции, исходящие как от DON, так и от устаревшего пользователей10, но создает традиционные «лежачие полицейские» для транзакций, которые не были обработаны DON. Например, транзакции из DON могут обрабатываться немедленно, тогда как устаревшие транзакции «буферизируются» smart contract для фиксированный период времени. Другие стандартные механизмы предотвращения опережающего движения такие как схемы фиксации-раскрытия или VDF [53], также могут быть применены к устаревшим транзакции. Это гарантирует, что транзакции, заказанные по DON, будут обработаны в приказ согласован, не давая DON нежелательной власти цензуры транзакции. Поскольку введение порядка транзакций со стороны FSS требует, чтобы транзакции агрегировались «вне цепочки», это решение естественным образом сочетается с другими методами агрегации, которые направлены на снижение затрат на обработку в цепочке. Например, после сбора и заказывая транзакции, DON может отправлять эти транзакции в основную цепочку как одна «пакетная транзакция» (например, rollup), тем самым уменьшая совокупную транзакцию плата. Обеспечение выполнения порядка транзакции: Независимо от того, используется ли только DON или двухклассовая конструкция, основная цепочка smart contract SC и DON должны быть разработаны совместно, чтобы гарантировать соблюдение порядка транзакций DON. Здесь мы также представляем себе разные варианты дизайна: • Порядковые номера: DON может добавлять порядковый номер к каждой транзакции и отправлять эти транзакции в мемпул основной цепочки. Главный 10Если мониторинг транзакций DON основан на мемпуле, устаревшие транзакции должны отличаться от транзакций DON, чтобы они не собирались DON, например, с помощью специального тега. встроено в транзакцию или путем указания конкретной цены на газ, например. В DON транзакциях есть газ цены ниже определенного порога.цепочка smart contract SC игнорирует транзакции, поступающие «вне очереди». Мы обратите внимание, что в этом случае майнеры основной цепи могут решить игнорировать DON упорядочивание транзакций, что приводит к сбою транзакций. Сохраняя (дорогое) состояние SC можно обеспечить правильный порядок транзакций, в некоторой степени аналогично тому, как TCP буферизует неупорядоченные пакеты до тех пор, пока недостающие пакеты не будут устранены. получил. • Транзакция nonces: для многих blockchain, и в частности для Ethereum, Приведенный выше подход к последовательной нумерации может использовать встроенную транзакцию nonces для обеспечить, чтобы основной блокчейн smart contract SC обрабатывал транзакции последовательно. Здесь узлы DON отправляют транзакции в основную цепочку через одну учетную запись основной цепочки, защищенную ключом, общим для узлов DON. Счет Транзакция nonce гарантирует, что транзакции будут обнаружены и обработаны в правильном порядке. • Объединение транзакций: DON может объединять несколько транзакций в rollup. (или в комплекте, похожем на rollup). Основная цепь smart contract должна быть предназначен для обработки таких совокупных транзакций. • Агрегированные транзакции с прокси-сервером основной цепочки. Здесь DON аналогичным образом объединяет транзакции в одну «метатранзакцию» для основной цепочки, но полагается на собственный прокси smart contract для распаковки транзакций и ретрансляции их в целевой контракт СК. Этот метод может быть полезен для совместимости с устаревшими версиями. Метатранзакции действуют как rollup, но отличаются тем, что состоят из несжатого список транзакций, опубликованных один раз в основной цепочке. Преимущество последней конструкции заключается в беспрепятственной поддержке пользовательских транзакций, которые сами проксируются через контракт основной цепи до достижения цели DON договор СК. Например, рассмотрим пользователя, который отправляет транзакцию на некоторый кошелек. контракт, который, в свою очередь, отправляет внутреннюю транзакцию в SC. Назначение последовательности номер такой транзакции будет сложным, если только контракт кошелька пользователя не специально разработан для пересылки порядкового номера с каждой внутренней транзакцией в СК. Аналогичным образом, такие внутренние транзакции нелегко объединить в метатранзакцию, которая отправляется непосредственно в SC. Мы обсуждаем дальнейшие соображения по проектированию такие прокси-транзакции ниже. 5.2.2 Атомарность транзакции До сих пор в нашем обсуждении неявно предполагалось, что транзакции взаимодействуют с одним внутрисетевой smart contract (например, пользователь отправляет запрос на покупку на биржу). Тем не менее, в в таких системах, как Ethereum, одна транзакция может состоять из нескольких внутренних транзакций, например, одна smart contract вызывает функцию в другом контракте. Ниже мы описать две стратегии высокого уровня для упорядочения «многоконтрактных» транзакций, в то время как сохранение атомарности транзакции (т.е. последовательности действий, предписанной все транзакции выполняются в правильном порядке или не выполняются вообще).Сильная атомарность: Самым простым решением является применение FSS, как описано выше, непосредственно ко всем «мультиконтрактным» сделкам. То есть пользователи отправляют свои транзакции в сеть, а FSS отслеживает, упорядочивает и отправляет эти транзакции в основная цепь. Этот подход технически прост, но имеет одно потенциальное ограничение: если пользователь транзакция взаимодействует с двумя контрактами SC1 и SC2, оба из которых хотят использовать справедливое услуг по упорядочению, то политика последовательности этих двух контрактов должна быть согласованной. То есть, учитывая две разные транзакции tx1 и tx2, каждая из которых взаимодействует с как для SC1, так и для SC2, не должно быть так, чтобы политика SC1 заказывала tx1 раньше tx2. тогда как политика SC2 предписывает противоположный порядок. Мы предполагаем, что для подавляющего большинства представляющих интерес сценариев политика последовательности, принятая в разных контрактах, будет последовательной. Например, и SC1, и SC2. может потребоваться, чтобы транзакции были упорядочены по приблизительному времени их прибытия в мемпул, и SC1 может также захотеть, чтобы определенные отчеты oracle всегда доставлялись первыми. Как последние транзакции отчета oracle не взаимодействуют с SC2, политики согласованы. Слабая атомарность: В полной мере FSS может применяться на уровне отдельных лиц. внутренние транзакции. Рассмотрим транзакции вида tx = { ˜txpre, ˜txSC, ˜txpost}, состоящие из некоторых начальных транзакция(и) ˜txpre, которая приводит к внутренней транзакции ˜txSC к SC, которая, в свою очередь, выдает внутреннюю транзакцию(и) ˜txpost. Политика секвенирования SC может определять, как внутренняя транзакция ˜txSC должна быть упорядочена относительно других отправленных транзакций в SC, но оставьте открытым порядок последовательности для ˜txpre и ˜txpost. Учитывая особенности обработки транзакций в таких системах, как Ethereum, разработка службы упорядочения, предназначенной для конкретных внутренних транзакций, является непростой задачей. При наличии специально разработанного контракта СК это может быть реализовано следующим образом: 1. Транзакция отправляется в сеть и обрабатывается (без какой-либо последовательности). в исполнении ФСС). Начальный ˜txpre выполняется и вызывает ˜txSC. 2. SC не выполняет ˜txSC и завершает работу. 3. FSS отслеживает внутренние транзакции в SC, определяет их последовательность и отправляет обратно. в SC (т. е. путем отправки транзакций ˜txSC непосредственно в SC). 4. SC обрабатывает транзакции ˜txSC, полученные от FSS, и выдает внутренние транзакции ˜txpost, которые являются результатом ˜txSC. При таком подходе транзакции не выполняются полностью атомарно (т. е. исходный транзакция tx разбивается на несколько транзакций в цепочке), но порядок внутренние транзакции сохраняются. Это решение влечет за собой ряд конструктивных ограничений. Например, ˜txpre не может предположим, что ˜txSC и ˜txpost будут выполнены. Более того, СК должен быть спроектирован таким образом, чтобы выполнять транзакции ˜txSC и ˜txpost от имени определенного пользователя, даже если они былиотправлено ФСС. По этим причинам более грубое решение «Сильная атомарность» выше, вероятно, предпочтительнее на практике. Для соблюдения более сложных зависимостей, включающих несколько транзакций и их соответствующие внутренние транзакции, планировщик транзакций FSS может содержать сложные функции, напоминающие те, которые можно найти в менеджерах транзакций реляционных систем. менеджеры баз данных. 5.3 Честная последовательность транзакций Здесь мы обсуждаем два понятия справедливости для последовательности транзакций и соответствующие реализации, которые могут быть реализованы FSS: справедливость заказов, основанная на политике налагаемые ФСС, и надежное сохранение причинно-следственной связи, что требует дополнительных криптографических методов в ФСС. Порядок-справедливость: Справедливость порядка — это понятие временной справедливости в протоколах консенсуса. это впервые было формально введено Келкаром и соавт. [144]. Келкар и др. целью достижения такой формы естественной политики, при которой транзакции упорядочены в зависимости от времени их первого получения DON (или P2P-сетью, в случае FSS на основе мемпула). Однако в децентрализованной системе все по-другому. узлы могут видеть, что транзакции приходят в другом порядке. Наведение общего порядка по всем транзакциям — это та самая проблема, которую решает протокол консенсуса, лежащий в основе ГЛАВНАЯ ЦЕПЬ. Келкар и др. [144] поэтому введем более слабое понятие, которое можно достигается с помощью децентрализованной сети Oracle, называемой «справедливостью порядка блоков». Он группирует транзакции, которые DON получил за определенный интервал времени, в «блокировать» и вставлять все транзакции блока одновременно и в одну и ту же позицию. (т. е. высоту) в MAINCHAIN. Таким образом, они упорядочены вместе и должны быть исполняемыми. параллельно, не создавая между ними никаких конфликтов. Грубо говоря, справедливость порядка утверждает, что если большая часть узлов видит транзакцию τ1 до τ2, то τ1 будет упорядочен перед τ2 или в том же блоке, что и τ2. Навязывая такую грубую Благодаря детализации порядка транзакций возможности опережающего выполнения и других атак, связанных с порядком, значительно сокращаются. Келкар и др. предложить семейство протоколов под названием Aequitas [144], которые адресуют различные модели развертывания, включая синхронные, частично синхронные и асинхронные сетевые настройки. Протоколы Aequitas накладывают значительные коммуникационные издержки по сравнению с базовым консенсусом BFT и поэтому не идеальны для практического использования. Однако мы считаем, что появятся практические варианты Aequitas, которые можно будет использовать. для упорядочения транзакций в FSS и других приложениях. Некоторые связанные схемы имеют уже были предложены, которые имеют меньше сопутствующего формализма и более слабые свойства, например, [36, 151, 236], но лучшая практическая производительность. Эти схемы могут поддерживаться в ФСС тоже. Также стоит отметить, что термин «справедливость» встречается и в другом месте в blockchain. литература с другим смыслом, а именно: справедливость в смысле возможности длямайнеров пропорционально выделенным им ресурсам [106, 181] или за validators в терминах равных возможностей [153]. Надежное сохранение причинно-следственной связи: Наиболее широко известный подход к предотвращению опережающего запуска и других нарушений порядка на распределенных платформах основан на криптографическом подходе. техники. Их общая особенность — скрывать сами данные транзакции, ожидая, пока порядок на уровне консенсуса был установлен и раскрыть данные транзакции позже для обработки. Это сохраняет причинно-следственную связь между транзакциями, которые выполнен blockchain. Соответствующие понятия безопасности и криптографические протоколы. были разработаны значительно до появления blockchains [71, 190]. Условия безопасности «входной причинности» [190] и «надежного сохранения причинности» [71, 97] формально требуют, чтобы никакая информация о транзакции не стала известна. до того, как будет определено положение этой транзакции в глобальном порядке. До этого момента противник не должен иметь возможности вывести какую-либо информацию в криптографическом виде. сильное чувство. Можно выделить четыре криптографических метода сохранения причинности: • Протоколы фиксации-раскрытия [29, 142, 145]: вместо объявления транзакции в открытом виде передается только криптографическое обязательство по транзакции. После заказа всех зафиксированных, но скрытых транзакций (в начале blockchain системах на самой MAINCHAIN, но здесь с помощью FSS), отправитель должен открыть коммит и раскрыть данные транзакции в течение заранее определенного интервала времени. Затем сеть проверяет, что открытие соответствует предыдущему обязательству. Истоки этого метода датируются до появления blockchains. Хотя этот подход особенно прост, он имеет значительные недостатки, и его нелегко использовать по двум причинам. Во-первых, поскольку на уровне протокола заказа существует только обязательство, семантика транзакции не могут быть подтверждены в ходе консенсуса. Дополнительный выезд к клиенту требуется. Однако более серьезно оценивается возможность того, что никакое отверстие не может когда-либо прибудут, что может быть равносильно атаке типа «отказ в обслуживании». Кроме того, это трудно определить, действительно ли открытие допустимо в последовательном, распределенном таким образом, потому что все участники должны договориться о том, прибыло ли открытие в время. • Протоколы фиксации-раскрытия с отложенным восстановлением [145]: одна проблема с Подход «фиксация-раскрытие» заключается в том, что клиент может совершить спекулятивную транзакцию и раскрыть ее позже только в том случае, если последующие транзакции сделают ее прибыльной. А недавний вариант подхода «фиксация-раскрытие» повышает устойчивость к этому своего рода неправильное поведение. В частности, протокол TEX [145] решает эту проблему. использование умного подхода, при котором зашифрованные транзакции включают ключ дешифрования можно получить путем вычисления проверяемой функции задержки (VDF) [53, 221]. Если клиент не сможет своевременно расшифровать свою транзакцию, другие в системе будут расшифровывать это от ее имени, решив криптографическую головоломку средней сложности.• Пороговое шифрование [71, 190]: этот метод использует то, что DON может выполнять порогово-криптографические операции. Предположим, что FSS поддерживает общедоступное шифрование. key pkO и oracles используют между собой соответствующий закрытый ключ. Затем клиенты шифруют транзакции под PkO и отправляют их в FSS. Приказы ФСС транзакции на DON, затем расшифровывает их и, наконец, внедряет в MAINCHAIN в фиксированном порядке. Таким образом, шифрование гарантирует, что упорядочение не на основе содержания транзакции, а на том, что сами данные доступны, когда необходимо. Этот метод был первоначально предложен Рейтером и Бирманом [190] и позже усовершенствован Качином и др. [71], где он был интегрирован с разрешенным консенсусом протокол. В более поздних работах изучалось использование пороговой криптографии в качестве механизм уровня консенсуса для общих сообщений [33, 97] и для общих вычислений с общими данными [41]. По сравнению с протоколами фиксации-раскрытия пороговое шифрование предотвращает простые атаки типа «отказ в обслуживании» (хотя требуется осторожность, учитывая вычислительные затраты на расшифровку). Это позволяет DON двигаться автономно, на своей скорости и без ждем дальнейших действий клиента. Транзакции могут быть подтверждены сразу после их расшифровки. Более того, клиенты шифруют все транзакции одним ключ для DON, и схема связи остается такой же, как и для других транзакции. Безопасное управление пороговым ключом и смена узлов в Однако О может создать дополнительные трудности. • Обязательный обмен секретом [97]: вместо шифрования данных транзакции в ключ, хранящийся в DON, клиент также может секретно передать его узлам в O. Используя гибридную, вычислительно безопасную схему совместного использования секретов, транзакция сначала шифруется с использованием симметричного шифра со случайным ключом. Распространяется только соответствующий симметричный ключ, а зашифрованный текст передается в DON. Клиент должен отправить одну долю ключа каждому узлу в O, используя отдельно зашифрованное сообщение. Остальные шаги протокола такие же, как и для порогового значения. шифрование, за исключением того, что данные транзакции расшифровываются с помощью симметричного алгоритм после восстановления ключа каждой транзакции из его долей. Этот метод не требует настройки или управления криптосистемой с открытым ключом. связанный с DON. Однако клиенты должны знать об узлах в O и общаться в безопасном контексте с каждым из них, что ставит дополнительная нагрузка на клиентов. Хотя криптографические методы обеспечивают полную защиту от информации просачиваясь из отправленных транзакций в сеть, они не скрывают метаданные. Для например, IP-адрес или Ethereum адрес отправителя по-прежнему может использоваться противник для выполнения опережающих и других атак. Различные улучшения конфиденциальности методы, развернутые на сетевом уровне, например, [52, 95, 107] или на уровне транзакций, например, [13, 65] потребуются для достижения этой цели. Влияние конкретного произведения метаданных, а именно, на какой контракт отправляется транзакция, можно (частично) скрытьпутем мультиплексирования множества контрактов на одном и том же DON. Криптографическое сокрытие транзакций сами по себе также не предотвращает приоритезацию транзакций поврежденными DON узлов в сговоре с отправителями транзакций. Надежная причинно-следственная связь, гарантированная криптографическими протоколами, дополняет гарантии справедливости порядка для любой политики, и мы намерены изучить комбинацию этих двух. методы, где это возможно. Если противник не может получить существенное преимущество от наблюдая метаданные, безопасные протоколы сохранения причинно-следственной связи могут использоваться наряду с также наивный подход к упорядочению. Например, узлы oracle могут записывать транзакции. в L, как только они их получат, без дублирования. Тогда транзакции будут упорядочены по их появлению на L и впоследствии расшифрованы. Мы также планируем рассмотреть возможность использования TEE как способа обеспечения справедливого порядка; для Например, Тессеракт [44] можно рассматривать как достижение формы причинного упорядочения, но один усилена способностью TEE обрабатывать транзакции в явной форме, в то время как сохраняя свою конфиденциальность. 5.4 Вопросы сетевого уровня До сих пор наше описание FSS в основном фокусировалось на проблеме обеспечения соблюдения того, что Окончательный порядок транзакций соответствует их наблюдаемому порядку в сети. В дальнейшем мы рассматриваем проблемы справедливости, которые могут возникнуть на самом сетевом уровне. Высокочастотные трейдеры на обычных электронных торговых площадках вкладывают значительные средства ресурсы для получения превосходной скорости сети [64], а трейдеры на криптовалютных биржах демонстрируют аналогичное поведение [90]. Скорость сети дает преимущество как в наблюдение за сделками других сторон и представление конкурирующих сделок. Одним из средств, примененных на практике и популяризированных в книге Flash Boys [155], является «лежачий полицейский», впервые представленный на бирже IEX [128], а затем и на других обменивает [179] (со смешанными результатами [19]). Этот механизм налагает задержку (350 микросекунд в IEX) на доступ к рынку с целью нейтрализации преимуществ в скорость. Эмпирические данные, например [128], подтверждает свою эффективность в сокращении определенных торговых операций. затраты для обычных инвесторов. FSS можно использовать просто для реализации асимметричного «лежачий полицейский» — тот, который задерживает входящие транзакции. Будиш, Крамтон и Шим [64] утверждают, что использование преимуществ скорости неизбежно на рынках с непрерывным временем, и приводят доводы в пользу структурного решения проблемы Форма рынков, основанных на пакетных аукционах. Но этот подход не получил широкого распространения на существующих торговых площадках. Обычные торговые системы централизованы и обычно принимают транзакции через одно сетевое соединение. В децентрализованной системе, напротив, можно наблюдать за распространением транзакций с нескольких точек зрения. Следовательно, в P2P-сети можно наблюдать такое поведение, как переполнение сети. Мы намерены изучить подходы к FSS на сетевом уровне, которые помогают разработчикам определять политику запрещая такое нежелательное поведение сети.5,5 Политика справедливости на уровне организации Справедливость порядка и надежная причинность направлены на обеспечение порядка в транзакциях, которые уважает время, когда они были созданы и впервые представлены в сети. Ограничением этого понятия справедливости является то, что оно не предотвращает нападения, в которых противник получает преимущество, наводняя систему множеством транзакций, стратегия, наблюдаемая в дикой природе как способ эффективного отслеживания транзакций в token продажах [159] и создать перегрузку, приводящую к ликвидации обеспеченных долговых позиций (CDP) [48]. Другими словами, справедливость порядка обеспечивает справедливость в отношении транзакций, а не игроков. Как показано в системе CanDID [160], можно использовать инструменты oracle, такие как DECO. или Town Crier в сочетании с комитетом узлов (например, DON) для достижения различные формы сопротивления Сивилле при сохранении конфиденциальности. Пользователи могут регистрировать личности и предоставить доказательства их уникальности, не раскрывая самих личностей. Учетные данные, устойчивые к Сивилле, предлагают возможный подход к усовершенствованию порядка транзакций. политики таким образом, чтобы ограничить возможности для наводнений. Например, Продажа token может разрешать только одну транзакцию для зарегистрированного пользователя, если регистрация требуется подтверждение уникальности национального идентификатора, например номера социального страхования. Такой подход не является надежным, но может оказаться полезной политикой для смягчения атак с перенасыщением транзакциями.

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.

DON Платформа выполнения транзакций

(DON-TEF) DONs обеспечит oracle и поддержку децентрализованных ресурсов для решений уровня 2 в рамках то, что мы называем децентрализованной структурой выполнения сетевых транзакций Oracle (DONTEF) или сокращенно TEF. Сегодня частота обновлений контрактов DeFi ограничена задержками основной цепи. например, средний интервал блока 10–15 секунд в Ethereum [104], а также стоимость передача больших объемов данных по цепочке и ограниченная пропускная способность вычислений/передачи — мотивирующие подходы масштабирования, такие как сегментирование [148, 158, 232] и выполнение уровня 2 [5, 12, 121, 141, 169, 186, 187]. Даже blockchain с гораздо более быстрым временем транзакции, например, [120], предложили стратегии масштабирования, включающие вычисления вне цепочки [168]. TEF предназначен для работы в качестве ресурса уровня 2 для любых таких систем уровня 1/MAINCHAIN. Используя TEF, DONs могут поддерживать более быстрые обновления в контракте MAINCHAIN, в то время как сохранение ключевых гарантий доверия, предоставляемых основной цепочкой. ТЭФ может поддержать любой из множества методов и парадигм выполнения уровня 2, включая rollups,11 оптимистичные rollups, Validium и т. д., а также модель порогового доверия, в которой DON узлы выполняют транзакции. TEF дополняет FSS и предназначен для его поддержки. Другими словами, любой приложение, работающее в TEF, может использовать FSS. 11Именно их часто называют «zk-rollups», это неправильное название, поскольку они не обязательно требуют доказательств с нулевым разглашением.

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

6.1 Обзор ТЭФ TEF — это шаблон проектирования для создания и реализации высокопроизводительного гибрида. smart contract СК. В соответствии с основной идеей гибридных smart contracts, TEF включает в себя разложение SC на две части: (1) То, что мы называем в контексте TEF якорем контракт SCa на MAINCHAIN и (2) логика DON предполагает, что мы вызываем исполняемый файл TEF. Мы используем здесь SC для обозначения логического контракта, реализуемого комбинацией SCa и ожидать. (Как отмечалось выше, мы планируем разработать инструменты компиляции для декомпозиции автоматически контракт SC на эти компоненты.) Исполняемый файл TEF exect — это механизм, обрабатывающий транзакции пользователей в SC. Это может выполняться высокопроизводительно, поскольку он работает на DON. Он имеет несколько функций: • Прием транзакций: exect получает или извлекает транзакции пользователей. Он может это сделать напрямую, т. е. посредством отправки транзакции на DON или через MAINCHAIN. мемпул с использованием MS. • Быстрое выполнение транзакций: exect обрабатывает транзакции с активами внутри СК. Это происходит локально, т. е. на DON. • Быстрый и недорогой доступ к oracle / адаптеру: exect имеет встроенный доступ к отчетам oracle. и другие данные адаптера, что приводит, например, к более быстрому, дешевому и точному активу. цены, чем исполнение MAINCHAIN. Более того, доступ к oracle вне сети снижает эксплуатационные расходы oracle и, следовательно, стоимость использования системы, избегая дорогое on-chain хранилище. • Синхронизация: exect периодически отправляет обновления из DON в MAINCHAIN, обновляя SCa. Якорный контракт — это передняя часть SC MAINCHAIN. Будучи компонентом SC с более высоким уровнем доверия, он служит нескольким целям: • Хранение активов: средства пользователей вносятся, хранятся и выводятся из SCa. • Проверка синхронизации: SCa может проверять правильность обновлений состояния при необходимости. синхронизируется, например, SNARK, прикрепленные к rollup. • Ограждения: SCa может включать положения по защите от коррупции или сбоев. в искл. (Более подробную информацию см. в разделе 7.) В TEF средства пользователей хранятся на MAINCHAIN, то есть DON сам по себе не является хранителем. В зависимости от выбора механизма синхронизации (см. ниже) пользователям может потребоваться доверять DON только для точных отчетов oracle и своевременной синхронизации с MAINCHAIN. Полученная модель доверия очень похожа на модель для DEX на основе книги заказов, например, [2], которые сегодня обычно включают в себя оффчейн-компонент для сопоставления заказов и ончейн-компонент для клиринга и расчетов.Используя словарь платежных систем, можно рассматривать exect как компонент SC отвечает за клиринг, а SCa занимается расчетами. Схематическое изображение см. на рис. 13. изображение ТЭФ. Рисунок 13: Схема TEF. В этом примере транзакции проходят через мемпул. MAINCHAIN через MS на DON. Преимущества ТЭФ: TEF имеет три основных преимущества: • Высокая производительность: SC унаследовал гораздо более высокую пропускную способность DON, чем MAINCHAIN. как для транзакций, так и для отчетов oracle. Кроме того, exect может обрабатывать транзакции быстрее и реагировать на отчеты oracle более своевременно, чем реализация только на MAINCHAIN. • Более низкие комиссии: процесс синхронизации требует меньше времени, чем обработка транзакций, и транзакции можно отправлять с DON на MAINCHAIN ​​пакетами. Следовательно, внутрисетевые комиссии за транзакцию (например, затраты на газ) при таком подходе намного ниже, чем для контракта, который работает только на MAINCHAIN. • Конфиденциальность: Механизмы конфиденциальности DON могут быть использованы для медведь на СЦ.

Ограничения ТЭФ: Одним из ограничений TEF является то, что он не поддерживает мгновенную Выводы, так как они происходят только на MAINCHAIN: При отправке запроса на вывод для SCa, пользователю может потребоваться дождаться exect, чтобы выполнить обновление состояния, включающее транзакция вывода средств до того, как она будет одобрена. Мы обсуждаем некоторые частичные средства правовой защиты, однако в разделе 6.2. Еще одним ограничением TEF является то, что он не поддерживает атомный состав DeFi. контракты на MAINCHAIN, в частности возможность маршрутизации активов через несколько DeFi контракты в рамках одной сделки. Однако TEF может поддержать такую атомарность среди Контракты DeFi выполняются на одном и том же DON. Мы также обсудим некоторые способы решения этой проблемы. задача в разделе 6.2. 6.2 Маршрутизация транзакций Транзакции для SC могут отправляться пользователями непосредственно на DON или маршрутизироваться через мемпул в MAINCHAIN (через FSS). Существует четыре различных типа транзакций, каждый из которых из которых требуется различное обращение: Внутриконтрактные сделки: Поскольку TEF позволяет избежать сложностей газовой динамики, он обеспечивает SC большую гибкость в обработке транзакций, чем это было бы возможно. доступен в контракте уровня 1. Например, в то время как транзакция мемпула в Ethereum может быть перезаписан новой транзакцией с более высокой ценой на газ, SC может считать транзакцию, которая работает с активами внутри SC, авторитетной, как только она станет видимой в мемпуле. Следовательно, SC не нужно ждать подтверждения транзакции. внутри блока, что приводит к значительному снижению задержки. Проксирование: Пользователь может пожелать отправить транзакцию τ в SC через контракт кошелька или другой контракт на MAINCHAIN. DON может имитировать выполнение τ на MAINCHAIN, чтобы определить, приведет ли это к последующей транзакции в SC. Если да, то τ можно упорядочить с другими транзакциями для SC, которые это делают. Есть несколько возможности того, как DON идентифицирует такие транзакции: (1) DON может имитировать все транзакции в мемпуле (дорогой подход); (2) Определенные контракты или типы контрактов, например кошельки, могут быть перечислены для мониторинга с помощью DON; или (3) Пользователи могут аннотировать транзакции для проверки DON. Ситуация усложняется, когда одна транзакция взаимодействует с двумя контракты, SC1 и SC2, оба из которых используют услуги справедливого упорядочения и имеют несовместимые политики заказа. DON может, например, последовательность τ в самое позднее время. это совместимо с обоими. Депозиты: Транзакция, передающая актив MAINCHAIN в SC, должна быть подтверждена в блоке, прежде чем SC сможет считать ее действительной. Когда он обнаруживает добычу транзакция, которая отправляет активы (например, эфир) в SCa, exect может мгновенно подтвердитьдепозит. Например, он может применить текущую цену, сообщаемую oracle, на DON к актив. Вывод средств: Как отмечалось выше, ограничением TEF является то, что снятие средств не всегда может быть выполнено мгновенно. В модели исполнения типа rollup снятие средств запрос должен быть упорядочен с другими транзакциями, т. е. объединен, чтобы быть безопасным. обработано. Однако существуют некоторые частичные средства устранения этого ограничения. Если DON может быстро вычислить подтверждение достоверности rollup вплоть до транзакции вывода средств, то наблюдение за транзакцией пользователя τ в exect мемпула может отправить транзакцию обновления состояния τ ′ для τ по более высокой цене газа, что является своего рода выгодным опережением. При условии, что τ не будет добыт до того, как τ ′ достигнет мемпула, τ ′ будет предшествовать τ, а τ приведет к утвержденному выводу средств. В варианте TEF, где DON используется для вычисления обновлений состояния (см. вариант пороговой подписи ниже), DON альтернативно может определять оффчейн следует ли утверждать τ, учитывая состояние SC при его выполнении. DON затем может отправить транзакцию τ ′, подтверждающую снятие τ, не выполняя при этом полного обновление состояния. Если этот подход невозможен или в случаях, когда он не увенчался успехом, инициируется DON. транзакция τ ′ может отправить средства пользователю в ответ на τ, так что пользователю не нужно инициировать дополнительную транзакцию. 6.3 Синхронизация Исполняемый файл TEF exect периодически отправляет обновления с DON в MAINCHAIN. обновление состояния SCa в процессе, который мы называем синхронизацией. Можно подумать о синхронизации как распространение транзакций уровня 2 на уровень 1, поэтому TEF может использовать любое число существующих методик для этой цели, в том числе rollups [5, 12, 16, 69], оптимистичный rollups [10, 11, 141], Validium [201] или базовое пороговое подписание, например пороговое BLS, Шнорра, или ECDSA [24, 54, 116, 202]. В принципе, доверенные среды выполнения также может подтвердить правильность изменений состояния, предлагая гораздо более производительную работу. альтернатива rollups, но с аппаратно-зависимой моделью доверия. (См., например, [80].) Ниже мы сравниваем эти параметры синхронизации по трем ключевым свойствам в ТЭФ: • Доступность данных: Где хранится состояние SC? Как минимум три варианта доступен в TEF: в MAINCHAIN, на DON или в стороннем хранилище. провайдеры, такие как IPFS. Они обеспечивают различные гарантии безопасности, доступности уровни и профили производительности. Короче говоря, сохранение состояния в MAINCHAIN позволяет внутрисетевая возможность аудита и исключает зависимость от какой-либо стороны в плане доступности состояния; с другой стороны, хранение состояния вне цепочки может снизить стоимость хранения и улучшить пропускная способность за счет доверия к поставщикам хранилищ (DON или третьим лицам) для доступность данных. Конечно, гибкие модели, сочетающие в себе эти возможности, также возможно. Требуемую форму предоставления данных мы указываем в таблице 1.• Гарантии правильности: как SCa проверяет правильность обновлений. подтолкнул exect? Это влияет на вычислительную нагрузку на exect и SCa, а также на задержка синхронизации (см. ниже). • Задержка. На задержку синхронизации влияют три фактора: (1) Затраченное время. for exect для создания транзакции синхронизации τsync; (2) Время, необходимое для τsync должно быть подтверждено на MAINCHAIN; и (3) Время, в течение которого τsync вступит в силу СКа. В TEF задержка особенно важна для вывода средств (но в меньшей степени для внутриконтрактные транзакции), поскольку снятие средств обязательно требует (по крайней мере частичная) синхронизация состояния. Синхронизация варианты Данные доступность Корректность гарантии Задержка Свернуть [5, 12, 16, 69] Ончейн Доказательства действительности Время, затраченное на создание доказательства действительности (например, минуты в существующих системах) Валидиум [201] Офчейн Доказательства действительности То же, что и выше Оптимистичный rollup [10, 11, 141] Ончейн Доказательства мошенничества Продолжительность испытания период (например, дни или недели) Пороговое подписание [24, 54, 116, 202] Гибкий Пороговые подписи от DON Мгновенный Доверенные среды выполнения [80] Гибкий Аппаратное обеспечение аттестации Мгновенный Таблица 1. Различные параметры синхронизации в TEF и их свойства. В таблице 1 суммированы эти свойства пяти основных вариантов синхронизации в TEF. (Примечание что мы не намерены сравнивать эти технологии с автономным масштабированием уровня 2. решения. Для этого мы отсылаем читателей, например, к [121].) Теперь мы обсудим каждый вариант синхронизации. Свертывания: rollup [69] — это протокол, в котором переход состояния, выполняемый Пакет транзакций вычисляется вне цепочки. Затем изменение состояния распространяется на MAINCHAIN. Для реализации rollups якорь smart contract SCa хранит компактное представление Rstate (например, корень Меркла) фактического состояния. Для синхронизации exect отправляет τsync = (Т, Р' состояние) в SCa, где T — набор транзакций, обработанных с момента последнегосинхронизация и R' состояние — это компактное представление нового состояния, рассчитанное путем применения транзакции в T в предыдущее состояние Rstate. Существует два популярных варианта, которые различаются тем, как SCa проверяет обновления состояния в τsync. Первые, (zk-)rollups, содержат краткий аргумент правильности, иногда называемый доказательство правильности перехода Rstate →R′ государство. Чтобы реализовать этот вариант, выполните вычисляет и отправляет доказательство достоверности (например, доказательство zk-SNARK) вместе с τsync, доказывая, что R' состояние является результатом применения T к текущему состоянию SCa. Якорь контракт принимает обновление состояния только после проверки доказательства. Оптимистические rollup не включают аргументы правильности, но имеют staking и Процедуры вызова, которые облегчают распределенную проверку переходов состояний. Для этого Вариант rollup, SCa предварительно принимает τsync, предполагая, что это правильно (отсюда и оптимизм) но τsync вступает в силу только после периода вызова, в течение которого любая сторона мониторинг MAINCHAIN может выявлять ошибочные обновления состояния и информировать SCa о необходимости принятия необходимые действия (например, откат состояния и наложение штрафа в случае необходимости). Оба варианта rollup обеспечивают доступность данных в цепочке, поскольку транзакции публикуются. on-chain, из которого можно построить полное состояние. Задержка zk-rollups составляет преобладает время, необходимое для создания доказательств достоверности, которое обычно находится на этапе порядка минут в существующих системах [16] и, вероятно, со временем будут улучшаться. С другой стороны, оптимистичные rollup имеют более высокую задержку (например, дни или недели). потому что период оспаривания должен быть достаточно длительным, чтобы доказательства мошенничества сработали. Значение медленного подтверждения является тонким и иногда специфичным для схемы, так что тщательный анализ выходит за рамки. Например, некоторые схемы предусматривают оплату транзакции как «доверительные финальные» [109] до подтверждения обновления состояния, поскольку обычный пользователь может проверить rollup гораздо быстрее, чем MAINCHAIN. Валидиум: Validium — это форма (zk-)rollup, которая делает данные доступными только вне сети. и не хранит все данные в MAINCHAIN. В частности, exect отправляет только новые состояние и доказательства, а не транзакции в SCa. При синхронизации в стиле Validium, кроме и DON, который его выполняет, являются единственными сторонами, которые сохраняют полное состояние и которые выполняют транзакции. Как и в случае с zk-rollups, задержка синхронизации зависит от достоверности. время генерации доказательства. Однако, в отличие от zk-rollups, синхронизация в стиле Validium снижает стоимость хранения и увеличивает пропускную способность. Пороговая подпись DON: Предполагая, что порог в DON узлов является честным, Простой и быстрый вариант синхронизации заключается в том, чтобы узлы DON коллективно подписывали новое состояние. Этот подход может поддерживать доступность данных как внутри, так и вне цепочки. Обратите внимание, что если пользователи доверяют DON для обновлений oracle, им не нужно больше доверять ему для принятия обновления состояния, так как они уже находятся в модели порогового доверия. Еще одно преимущество пороговое подписание имеет низкую задержку. Поддержка новых форматов подписей транзакций, таких как предложенный в EIP-2938 [70] и известный как абстракция учетной записи, составит пороговое значение подписание значительно проще реализовать, поскольку оно устранит необходимость в пороговом значении ECDSA, который использует значительно более сложные протоколы (например, [116, 117, 118]).чем альтернативы, такие как пороговые подписи Шнорра [202] или BLS [55]. Доверенные среды выполнения (TEE): TEE — это изолированные среды выполнения (обычно реализуемые аппаратно), целью которых является обеспечение надежной защиты. для программ, работающих внутри. Некоторые TEE (например, Intel SGX [84]) могут предоставлять доказательства, известные как аттестации, подтверждающие, что результат правильно вычислен специальной программой для конкретный вход12. Вариант синхронизации TEF на основе TEE может быть реализован с помощью замена доказательств в (zk-)rollups или Validium аттестациями TEE с использованием методов с [80]. По сравнению с доказательствами с нулевым разглашением, используемыми в rollups и Validium, TEE намного более производительный. По сравнению с подписанием порогов, TEE устраняют сложность создание пороговых подписей ECDSA, поскольку в принципе должен быть только один TEE участвует. Однако использование TEE вводит дополнительные предположения о доверии, зависящие от оборудования. Можно также объединить TEE с пороговой подписью для повышения устойчивости. от компрометации части случаев TEE, хотя эта защитная мера вновь усложняет создание пороговых подписей ECDSA. Дополнительная гибкость: Эти параметры синхронизации можно усовершенствовать, чтобы обеспечить большую гибкость следующими способами. • Гибкий запуск: приложение TEF может определять условия, при которых синхронизация срабатывает. Например, синхронизация может быть пакетной, например, происходить после каждые N транзакций, основанных на времени, например, каждые 10 блоков, или на основе событий, например, происходят всякий раз, когда целевые цены на активы значительно меняются. • Частичная синхронизация: это возможно, а в некоторых случаях желательно (например, с rollups, частичная синхронизация может уменьшить задержку) для обеспечения быстрой синхронизации небольших объемы состояния, полная синхронизация выполняется, возможно, только периодически. Например, Exect может одобрить запрос на вывод средств, обновив баланс пользователя в SCa. без обновления состояния MAINCHAIN иным образом. 6.4 реорганизации Реорганизации блокчейна в результате нестабильности сети или даже атак 51% может представлять угрозу целостности основной цепи. На практике противники использовали им организовать атаки двойного расходования [34]. Хотя такие атаки на крупные сети их сложно установить, но для некоторых цепочек [88] они все же возможны. Поскольку DON работает независимо от MAINCHAIN, он предлагает интересные возможности. возможность наблюдения и обеспечения некоторой защиты от реорганизаций, связанных с атаки. Например, DON может сообщить опорному контракту SC на MAINCHAIN ​​о существовании конкурирующего форка некоторой пороговой длины τ. DON может дополнительно 12Дополнительную информацию можно найти в Приложении B.2.1. Они не нужны для понимания.

предоставить доказательства (в рамках PoW или PoS) существования такого форка. контрактный SC может реализовать подходящие защитные действия, такие как приостановка дальнейшего выполнения транзакций на определенный период времени (например, чтобы разрешить биржам вносить в черный список двойное расходование). активы). Обратите внимание: хотя противник, проводящий атаку 51%, может попытаться подвергнуть цензуре сообщений от DON, контрмерой в SC является требование периодических отчетов от DON для обработки транзакций (т. е. контрольного сигнала) или для запроса нового отчета для подтвердить транзакцию на большую сумму. Хотя такие оповещения о разветвлении в принципе являются общей услугой, DON может предоставить для любой из ряда целей мы планируем включить их в 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.

Минимизация доверия

Будучи децентрализованной системой с участием разнородного набора субъектов, Сеть Chainlink обеспечивает надежную защиту от сбоев как в работоспособности (доступности), так и в безопасности (целостность отчета). Однако большинство децентрализованных систем различаются по степень, в которой их составляющие компоненты сами по себе децентрализованы. Это справедливо даже для больших систем, где ограниченная децентрализация среди майнеров [32] и посредники [51] уже давно присутствуют. Целью любых усилий по децентрализации является минимизация доверия. неблагоприятные последствия системного повреждения или сбоя в сети Chainlink, даже если из-за вредоносного DON. Нашим руководящим принципом является принцип наименьших привилегий [197]. Системные компоненты и участники внутри системы должны иметь строго ограниченные привилегии. разрешать только успешное выполнение назначенных им ролей. Здесь мы излагаем несколько конкретных механизмов, которые Chainlink может использовать в своей работе. к все большей минимизации доверия. Мы характеризуем эти механизмы с точки зрения локусов, т.е. компонентов системы, в которых они укоренены, показаны на рис. 14. Мы обратиться к каждому локусу в соответствующем подразделе. 7.1 Аутентификация источника данных Текущие операционные модели для oracles ограничены тем фактом, что мало источников данных подписывают цифровую подпись для данных, которые они пропускают, во многом потому, что TLS изначально не подписывает данные. TLS использует цифровые подписи в своем протоколе «рукопожатия» (для установления общий ключ между сервером и клиентом). Таким образом, серверы с поддержкой HTTPS имеют сертификаты. на открытых ключах, которые в принципе могут служить для подписи данных, но обычно не используются эти сертификаты поддерживают подпись данных. Следовательно, безопасность DON, как в современных сетях oracle полагается на узлы oracle, добросовестно передающие данные из источник к контракту. Важным долгосрочным компонентом нашего видения минимизации доверия в Chainlink является более строгая аутентификация источника данных посредством поддержки инструментов и стандартов подписи данных. Подписание данных может помочь обеспечить гарантии сквозной целостности. В принципе, если контракт принимает в качестве входных данных часть данных D, подписанную непосредственно пользователем данных

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

Рисунок 14: Локусы механизмов минимизации доверия, обсуждаемых в этом разделе. 1⃝Данные источники предоставляют данные 2⃝DON, который передает функцию данных зависимому 3⃝smart contract. Кроме того, сеть DON или oracle включает в себя 4⃝узла. управление smart contracts на MAINCHAIN, например, для компенсирующих узлов, защиты рельсы и так далее. источник, то сеть oracle не сможет вмешаться в D. Различные обнадеживающие появились попытки обеспечить такое подписание данных, включая OpenID Connect, который предназначен в первую очередь для аутентификации пользователей [9], TLS-N, академический проект, направленный на расширить TLS [191], переназначив сертификаты TLS и расширения доказательств TLS [63]. Однако хотя OpenID Connect получил некоторое распространение, расширения TLS Evidence Extensions и TLS-N еще не получили широкого распространения. Еще одним потенциальным способом аутентификации источника данных является использование собственных средств издателей. Подписанные обмены HTTP (SXG) [230], которые они могут кэшировать в сетях доставки контента как часть протокола ускоренных мобильных страниц (AMP) [225]. Мобильный браузер Chrome отображает контент из SXG-файлов, кэшированных в AMP, как если бы они были получены из собственные сетевые домены их издателей вместо домена кэш-сервера. Этот стимул для брендинга в сочетании с относительной простотой его включения с использованием таких сервисов, как Real URL [83] от CloudFlare и amppackager [124] от Google, может привести к широкому распространению SXG в кэшированном новостном контенте, что позволит создать простой, защищенный от несанкционированного доступа файл. способ срабатывания Chainlink oracles при заслуживающих внимания событиях, о которых сообщается в действительных файлах SXG. Хотя SXG-файлы с кэшированием AMP от издателей новостей не будут полезны для высокоскоростных приложения, такие как отчеты о торговых данных, они могут быть безопасным источником пользовательских контракты, относящиеся к реальным событиям, таким как экстремальные погодные условия или результаты выборов. Мы считаем, что простое развертывание, зрелые инструменты и гибкость будут иметь жизненно важное значение для ускорение подписания источников данных. Разрешение поставщикам данных использовать узлы Chainlink в качестве аутентифицированный интерфейс API кажется многообещающим подходом. Мы намерены создатьвозможность работы узлов в этом режиме, с участием в сети или без него как полноценный oracle. Мы называем эту возможность аутентифицированным источником данных. (АДО). Используя узлы Chainlink с ADO, источники данных смогут получить выгоду. на основе опыта и инструментов, разработанных сообществом Chainlink по добавлению цифровых возможности подписи в существующем наборе API-интерфейсов вне цепочки. Если они решат бежать свои узлы как oracles, они могут дополнительно открыть потенциальные новые потоки доходов по той же модели, что и существующие поставщики данных, например Kraken [28], Kaiko [140] и другие, которые запускают узлы Chainlink для продажи данных API в цепочке. 7.1.1 Ограничения создания аутентифицированных данных Цифровая подпись источников данных, хотя и может помочь усилить аутентификацию, сама по себе недостаточна для достижения всех естественных целей безопасности или эксплуатационных целей oracle. сеть. Начнем с того, что данный фрагмент данных D должен быть передан надежно и своевременно. путь от источника данных до smart contract или другого потребителя данных. То есть даже в идеальная настройка, в которой все данные подписываются с использованием ключей, предварительно запрограммированных в зависимые контрактов, DON все равно потребуется для надежной передачи данных из источников к контрактам. Кроме того, в ряде случаев контракты или другие oracle-данные потребители хотят получить доступ к аутентифицированным выводам различных функций, вычисляемых исходные данные по двум основным причинам: • Конфиденциальность: API источника данных может предоставлять конфиденциальные или собственные данные. его необходимо отредактировать или очистить, прежде чем он станет общедоступным в цепочке. Однако любое изменение подписанных данных делало подпись недействительной. Поставь другой Кстати, наивный ADO и очистка данных несовместимы. Покажем в примере 3 как эти два процесса можно согласовать с помощью расширенной формы ADO. • Неисправности источников данных. Как ошибки, так и сбои могут повлиять на источники данных, а цифровые подписи не решают ни одной проблемы. С момента своего создания [98], Chainlink имеет уже включен механизм устранения таких ошибок: избыточность. Отчеты, выпускаемые сетями oracle, обычно представляют собой объединенные данные нескольких источники. Теперь мы обсуждаем схемы, которые изучаем в условиях ADO, чтобы повысить конфиденциальность исходных данных и безопасно объединить данные из нескольких источников. 7.1.2 Конфиденциальность Источники данных могут не предвидеть и не предоставлять полный спектр желаемых API. пользователями. В частности, пользователи могут захотеть получить доступ к предварительно обработанным данным, чтобы гарантировать конфиденциальность. Следующий пример иллюстрирует проблему.Пример 3. Алиса желает получить учетные данные децентрализованной идентификации (DID), указывающие что ей больше 18 лет (и, следовательно, она может, например, взять кредит). Делать поэтому ей необходимо доказать факт своего возраста органу, выдавшему удостоверения DID. Алиса надеется использовать данные Департамента транспортных средств своего штата (DMV). сайт для этой цели. DMV имеет запись о ее дате рождения и выдаст заверение А, подписанное цифровой подписью, следующего вида: A = {Имя: Алиса, дата рождения: 16.02.1999}. В этом примере свидетельства A может быть достаточно для Алисы, чтобы доказать DID. эмитенту учетных данных, что ей больше 18 лет. Но из-за этого происходит бесполезная утечка конфиденциальной информации: точная дата рождения. В идеале Алисе хотелось бы получить от DMV подпись на простое утверждение А' о том, что «Алисе больше 18 лет». Другими словами, она хочет, чтобы вывод функции G в дату ее рождения X, где (неформально) A′ = G(X) = True, если ТекущаяДата −X ≥18 лет; в противном случае G(X) = Ложь. Обобщая, Алиса хотела бы иметь возможность запрашивать у источника данных подписанный свидетельство А' формы: A' = {Имя: Алиса, Func:G(X), Результат: True}, где G(X) обозначает спецификацию функции G и ее входа(ов) X. Мы представляем себе что пользователь должен иметь возможность предоставить желаемый G(X) в качестве входных данных с ее запросом на соответствующее свидетельство A'. Обратите внимание, что подтверждение источника данных A' должно включать спецификацию G(X), чтобы убедитесь, что A' правильно интерпретируется. В приведенном выше примере G(X) определяет значение логического значения в A', и, таким образом, True означает предмет аттестации. возраст старше 18 лет. Мы говорим о гибких запросах, в которых пользователь может указать G(X) как о функциональных запросах. Чтобы поддерживать варианты использования, подобные приведенному в примере 3, а также те, которые связаны с запросами непосредственно из контрактов, мы намерены включить поддержку функциональных запросов, включающих простые функции G как часть ADO. 7.1.3 Объединение исходных данных Чтобы снизить затраты на цепочку, контракты обычно разрабатываются для использования объединенных данных. из нескольких источников, как показано в следующем примере. Пример 4 (Медианизация ценовых данных). Чтобы предоставить ценовой поток, т. е. стоимость одного актива (например, ETH) по отношению к другому (например, доллару США), сеть oracle обычно получать текущие цены из ряда источников, таких как биржи. Сеть oracle обычно отправляет зависимому контракту SC медиану этих значений. В среде с подписанием данных правильно функционирующая сеть oracle получает из источников данных S = {S1, . . . , SnS} последовательность значений V = {v1, v2, . . . , vnS} из nS-источники с сопровождающими специфичными для источника сигнатурами Σ = {σ1, σ2, . . . , σnS}. После проверяя подписи, он передает цену v = median(V ) в SC.К сожалению, для сети oracle не существует простого способа передать медианное значение. значение v в примере 4 для SC вместе с кратким доказательством σ∗ того, что v было правильно вычислено. над подписанными входами. Наивным подходом было бы закодировать в SC открытые ключи всех источников данных NS. Затем сеть oracle будет ретранслировать (V, Σ) и позволит SC вычислить медиану V . Однако это привело бы к доказательству σ размера O(nS), т. е. σ∗ не было бы кратким. Это также повлечет за собой высокие затраты на газ для SC, которому необходимо будет проверять все подписи в Σ. Использование SNARK, напротив, позволяет кратко доказать правильность объединения значений аутентифицированного источника. На практике это может быть осуществимо, но требует довольно высоких затрат. вычислительные затраты на прувер и довольно высокие затраты на газ в цепочке. Использование Town Crier тоже возможен, но требует использования TEE, что подходит не всем модели доверия пользователей. Полезной концепцией для решения общей проблемы подписания объединенных данных из источников является криптографический инструмент, известный как функциональные подписи [59, 132]. Коротко говоря, функциональные подписи позволяют подписывающему лицу делегировать возможность подписания, например делегат может подписывать сообщения только в диапазоне функции F, выбранной подписывающим лицом. В Приложении D мы покажем, как это функциональное ограничение может служить для ограничения диапазона значений отчета, выдаваемых DON, в зависимости от значений, подписанных источниками данных. Мы также вводим новый примитив, называемый дискретизированной функциональной сигнатурой, который включает в себя смягченные требования к точности, но потенциально гораздо более эффективен. чем такие подходы, как SNARK. Проблема объединения источников данных, включающая аутентификацию источника. выходных данных также применимо к агрегаторам данных, например, CoinCap, CoinMarketCap, CoinGecko, CryptoCompare и т. д., которые получают данные от множества бирж, которые они вес на основе объемов с использованием методологий, которые они в некоторых случаях обнародуют и в других случаях являются собственностью. Агрегатор, желающий опубликовать значение с аутентификация источника сталкивается с той же проблемой, что и набор узлов, агрегирующих исходные данные. 7.1.4 Обработка исходных данных Сложные smart contract, скорее всего, будут зависеть от пользовательской статистической статистики. первичные источники данных, такие как волатильность недавней истории цен на многие активы, или текст и фотографии из новостей о соответствующих событиях. Поскольку вычисления и пропускная способность относительно дешевы в DON, эта статистика… даже сложные модели машинного обучения со многими входными данными могут обрабатываться экономично, если любое выходное значение, предназначенное для blockchain, является достаточно кратким. Для задач с интенсивными вычислениями, где участники DON могут иметь разные просмотров сложных входных данных, могут потребоваться дополнительные раунды общения между участниками DON для достижения консенсуса по входным данным перед вычислением результата. Пока окончательное значение полностью определяется входными данными, как только будет достигнут консенсус по входным данным, каждый участник может просто вычислить значение и передать его другому.участников с их частичной подписью или отправить агрегатору. 7.2 DON Минимизация доверия Мы видим два основных способа минимизировать доверие к компонентам DON: клиенты аварийного восстановления и отчеты меньшинства. 7.2.1 Отказоустойчивые клиенты Состязательные модели в литературе по криптографии и распределенным системам обычно рассмотрим противника, способного повредить (т. е. скомпрометировать) подмножество узлов, например, менее одной трети для многих протоколов BFT. Однако обычно наблюдают, что если на всех узлах установлено идентичное программное обеспечение, злоумышленник, обнаруживший фатальную эксплойт, может в принципе компрометируют все узлы более или менее одновременно. Эта настройка часто называется программной монокультурой [47]. Для решения этой проблемы были выдвинуты различные предложения по автоматической диверсификации программного обеспечения и конфигураций программного обеспечения, например, [47, 113]. Как отмечено в [47], однако разнообразие программного обеспечения является сложной проблемой и требует тщательного рассмотрения. Например, диверсификация программного обеспечения может привести к худшему уровню безопасности, чем монокультура, если она увеличивает поверхность атаки системы и, следовательно, ее возможные векторы атаки, превышающие преимущества безопасности, которые он предлагает. Мы считаем, что поддержка надежных клиентов аварийного переключения, т. е. клиентов, к которым узлы может измениться перед лицом катастрофического события — это особенно привлекательная форма диверсификация программного обеспечения. Клиенты аварийного переключения не увеличивают количество потенциальных векторов атак, поскольку они не развертываются в качестве основного программного обеспечения. Они предлагают явные преимущества, однако, как вторая линия защиты. Мы намерены поддерживать отказоустойчивые клиенты в DONs, поскольку ключевое средство снижения их зависимости в плане безопасности от одного клиента. Chainlink уже имеет надежную систему резервных клиентов. Наш подход предполагает поддержание предыдущих, проверенных в бою версий клиента. Сегодня, например, узлы Chainlink с отчетами вне цепочки (OCR) в качестве основного клиента включают поддержку для предыдущей системы FluxMonitor Chainlink, если необходимо. Был в использовании некоторое время Со временем FluxMonitor прошел аудит безопасности и полевые испытания. Он обеспечивает то же самое функциональность как OCR, только за более высокую цену — затраты, которые возникают только по мере необходимости. 7.2.2 Отчеты меньшинства При достаточно большом наборе меньшинства Ominority (доля честных узлов, которые наблюдают за должностными преступлениями со стороны большинства) для них может быть полезно создать меньшинство. отчет. Это параллельный отчет или флаг, передаваемый зависимому контракту SC в сети. по всеобщему меньшинству. SC может использовать этот флаг в соответствии со своей собственной политикой, специфичной для контракта. Например, для контракта, в котором безопасность важнее, чем работоспособность или оперативность, отчет меньшинства может привести к тому, что контракт запросит дополнительные отчеты. от другого DON или активируйте автоматический выключатель (см. следующий раздел).Отчеты меньшинства могут сыграть важную роль, даже если большинство честно. потому что любая схема агрегирования отчетов, даже если она использует функциональные сигнатуры, должна работать пороговым образом, чтобы обеспечить устойчивость к oracle или сбою данных. В Другими словами, должна быть возможность составить действительный отчет на основе входных данных kS < nS __PH_0009__s, для некоторого порога kS. Это означает, что поврежденный DON имеет некоторые широта манипулирования значениями отчета путем выбора предпочтительных значений kS среди ns сообщил в V полный набор oracles, даже если все источники честны. Например, предположим, что nS = 10 и kS = 7 в системе, использующей функционал подпись для аутентификации вычисления медианы по V для цены ETH в долларах США. Предположим, что пять источников сообщают о цене \(500, while the other five report \)1000. Затем, усреднив 7 самых низких отчетов, DON может вывести допустимое значение v = 500 долларов США, и, усреднив наибольшую величину, он может вывести v = 1000 долларов. Улучшив протокол DON, чтобы все узлы знали, какие данные были доступны и какие данные использовались для построения отчета, узлы могут обнаружить и пометить статистически значимые тенденции отдавать предпочтение одному набору отчетов перед другим и производить в результате отчет меньшинства. 7.3 Ограждения Рельсы Наша модель доверия для DONs рассматривает MAINCHAIN как объект с более высоким уровнем безопасности и привилегиями. системе, чем DONs. (Хотя эта модель доверия не всегда верна, ее проще адаптировать полученный механизм к ситуациям, где DON имеет более высокий уровень безопасности платформа, чем наоборот.) Таким образом, естественная стратегия минимизации доверия предполагает реализацию механизмов мониторинга и отказоустойчивости в smart contracts — либо во внешнем интерфейсе MAINCHAIN. для DON или непосредственно в зависимом договоре SC. Мы называем эти механизмы ограждения и перечислим некоторые из наиболее важных здесь: • Автоматические выключатели: SC может приостановить или остановить обновление состояния в зависимости от характеристик самих обновлений состояния (например, большая разница между последовательными отчеты) или на основе других исходных данных. Например, автоматический выключатель может сработать случаи, когда отчеты oracle неправдоподобно меняются с течением времени. Автоматический выключатель может также быть сбиты с толку отчетом меньшинства. Таким образом, автоматические выключатели могут предотвратить DONs. от составления грубо ошибочных отчетов. Автоматические выключатели могут дать время для рассмотрения дополнительных мер. или тренировался. Одним из таких вмешательств являются аварийные люки. • Аварийные люки: при неблагоприятных обстоятельствах, выявленных группой хранителей, держателями token сообщества или другими органами попечителей, контракт может ссылаться на аварийное сооружение, которое иногда называют аварийным люком [163]. Аварийный люк заставляет SC каким-то образом завершить работу и/или завершить работу в ожидании и, возможно, будущие сделки. Например, он может вернуть хранящиеся средства пользователям [17]),может расторгнуть условия договора [162] или отменить ожидающие и/или будущие транзакции [173]. Аварийные люки можно использовать в контрактах любого типа, а не только тот, который опирается на DON, но они представляют интерес как потенциальный буфер против DON должностное преступление. • Аварийное переключение: в системах, где SC использует DON для основных услуг, SC может предоставить механизмы аварийного переключения, которые гарантируют продолжение обслуживания даже при отказе. в случае DON сбоя или ненадлежащего поведения. Например, в ТЭФ (раздел 6) якорный контракт SCa может предоставлять двойные интерфейсы, как внутри цепочки, так и внутри сети. Интерфейсы выполнения вне цепочки поддерживаются для определенных критических операций (например, вывод средств) или для обычных транзакций с подходящей задержкой, чтобы предотвратить опережающее выполнение транзакций DON. В случаях, когда источники данных подписывают данные, пользователи могут также предоставлять отчеты в SCa, если DON не может этого сделать. Доказательства мошенничества, предложенные для различных форм оптимистического rollup (см. раздел 6.3), схожи по своему характеру и дополняют механизмы, которые мы перечислили выше. Они также обеспечивают форму внутрисетевого мониторинга и защиты от потенциальных сбоев в компоненты системы вне цепочки. 7.4 Управление, минимизированное доверием Как и все децентрализованные системы, сеть Chainlink требует механизмов управления. корректировать параметры с течением времени, реагировать на чрезвычайные ситуации и направлять ее развитие. Некоторые из этих механизмов в настоящее время находятся в MAINCHAIN и могут продолжать работать. делайте это даже при развертывании DONs. Одним из примеров является механизм оплаты. для поставщиков узлов oracle (узлы DON). DON внешние контракты на MAINCHAIN содержат дополнительные механизмы, такие как ограждения, которые могут периодически подвергаться модификация. Мы предвидим два класса механизмов управления: эволюционные и чрезвычайные. Эволюционное управление: Многие модификации экосистемы Chainlink так, что их внедрение не является вопросом срочности: Улучшение производительности, улучшения функций, (несрочные) обновления безопасности и т. д. Поскольку Chainlink постепенно приближается к еще большему числу участников своего управления, мы ожидаем, что многие или большинство таких изменений должны быть ратифицированы сообществом конкретного DON, затронутого этими изменения. Тем временем и, возможно, в конечном итоге, в качестве параллельного механизма, мы считаем, что идея временных наименьших привилегий может быть полезным средством реализации эволюционного управления. Очень просто: идея заключается в том, чтобы изменения внедрялись постепенно, обеспечивая сообществу возможность ответить на них. Например, миграция на новый Контракт MAINCHAIN может быть ограничен, чтобы необходимо было развернуть новый контракт. не менее чем за тридцать дней до активации.Чрезвычайное управление: Эксплуатируемые или эксплуатируемые уязвимости в MAINCHAIN контракты или другие формы нарушений работоспособности или безопасности могут потребовать немедленного вмешательства во избежание катастрофических последствий. Нашим намерением является поддержка мультиподписи. механизм вмешательства, в котором для предотвращения должностных преступлений со стороны любой организации, подписанты будут рассредоточены по организациям. Обеспечение постоянной доступности подписывающих лиц и своевременный доступ к соответствующим инстанциям для получения разрешения на чрезвычайную ситуацию. изменения, очевидно, потребуют тщательного оперативного планирования и регулярного анализа. Эти проблемы аналогичны тем, которые возникают при тестировании других мер реагирования на инциденты кибербезопасности. возможности [134], с аналогичной необходимостью борьбы с распространенными проблемами, такими как снижение бдительности [223]. Управление DON отличается от управления многими децентрализованными системами своим потенциальная степень неоднородности. Каждый DON может иметь отдельные источники данных, исполняемые файлы, требования к уровню обслуживания, такие как время безотказной работы и пользователей. Сеть Chainlink Механизмы управления должны быть достаточно гибкими, чтобы приспособиться к таким изменениям в Операционные цели и параметры. Мы активно изучаем дизайнерские идеи и планируем опубликовать исследование по этой теме в будущем. 7,5 Инфраструктура открытых ключей С прогрессивной децентрализацией возникнет необходимость в четком выявлении участники сети, включая узлы DON. В частности, Chainlink требует сильного Инфраструктура открытых ключей (PKI). PKI — это система, которая связывает ключи с идентификаторами. Для Например, PKI поддерживает систему безопасных соединений Интернета (TLS): когда вы подключаетесь к веб-сайту через HTTPS (например, https://www.chainlinklabs.com) и в вашем браузере появится блокировка, это означает, что открытый ключ владельца домена был связан с этим владельцем органом власти, в частности, посредством цифровой подписи в так называемый сертификат. Иерархическая система центров сертификации (ЦС), чьи корневые центры верхнего уровня встроены в популярные браузеры, помогает гарантировать, что сертификаты выдаются только законным владельцам доменов. Мы ожидаем, что Chainlink в конечном итоге будет использовать децентрализованные службы имен. первоначально служба имен Ethereum (ENS) [22] в качестве основы для нашей PKI. Как как следует из названия, ENS аналогичен DNS, системе доменных имен, которая отображает (удобочитаемые) доменные имена на IP-адреса в Интернете. Однако вместо этого ENS сопоставляет удобочитаемые имена Ethereum с адресами blockchain. Потому что ЭНС работает на Ethereum blockchain, исключая компрометацию ключа и подделку его пространство имен в принципе так же сложно, как и подделать контракт, управляющий им. и/или базовый blockchain. (DNS, напротив, исторически был уязвим спуфингу, перехвату информации и другим атакам.) Мы зарегистрировали data.eth в ENS в основной сети Ethereum и намерены установить его как корневое пространство имен, в котором будут идентифицированы службы данных oracle и находятся другие Chainlink сетевые объекты. Домены в ENS иерархичны, то есть каждый домен может содержать ссылки. на другие имена под ним. Субдомены в ENS могут служить способом организации иделегировать доверие. Основная роль data.eth будет заключаться в том, чтобы служить внутрисетевой службой каталогов для каналы данных. Традиционно разработчики и пользователи oracles использовали источники вне цепочки. (например, веб-сайты, такие как docs.chain.link или data.chain.link, или социальные сети, такие как Twitter) для публикации и получения oracle адресов каналов данных (например, цены ETH-USD). корм). Используя заслуживающее доверия корневое пространство имен, такое как data.eth, вместо этого можно установить сопоставление eth-usd.data.eth, например, с адресом smart contract. сетевого агрегатора oracle для потока цен ETH-USD. Это бы создайте безопасный путь, чтобы каждый мог обращаться к blockchain как к источнику истины для этот поток данных этой пары цена/имя (ETH-USD). Следовательно, такое использование ENS реализует два преимущества, недоступных в источниках данных вне сети: • Надежная безопасность: все изменения и обновления домена записываются неизменяемо. и защищены криптографически, в отличие от текстовых адресов на веб-сайте, которые не пользоваться ни одним из этих двух свойств безопасности. • Автоматическое распространение по цепочке: обновления базового адреса smart contract канала данных могут вызывать уведомления, которые распространяются на зависимые интеллектуальные устройства. контракты и может, например, автоматически обновлять зависимые контракты с помощью новые адреса.13 Однако пространства имен, такие как ENS, не подтверждают автоматически законное право собственности. утвержденных имён. Так, например, если пространство имен включает запись ⟨ «Acme Oracle Node Co.», адрес ⟩, тогда пользователь получает уверенность в том, что адрес принадлежит истцу с именем Acme Oracle Node Co. Без дополнительных механизмов администрирования пространства имен однако она не получает уверенности в том, что имя принадлежит организации на законных основаниях. называется Acme Oracle Node Co. в значимом смысле реального мира. Наш подход к проверке имен, то есть к обеспечению их владения соответствующими законными объектами реального мира, опирается на несколько компонентов. Сегодня Chainlink лаборатории эффективно действует как центр сертификации для сети Chainlink. Пока Chainlink Лаборатория будет продолжаться для проверки имен наша PKI превратится в более децентрализованную модель двумя способами: • Модель сети доверия. Децентрализованный аналог иерархической PKI часто называют сетью доверия.14 Варианты предлагались с 1990-х годов. например, [98], и ряд исследователей заметили, что blockchain могут облегчить использование этой идеи, например, [227], записывая сертификаты в глобально согласованном виде. бухгалтерская книга. Мы изучаем варианты этой модели для проверки личности сущностей. в сети Chainlink более децентрализованным способом. 13Зависимый контракт может факультативно включать заранее определенную задержку, позволяющую провести проверку вручную. и вмешательство администраторов зависимых контрактов. 14Термин, придуманный Филом Циммерманом для PGP [238].• Связь с проверочными данными: сегодня значительный объем данных о производительности узла oracle виден в цепочке и, таким образом, архивно привязан к адресам узлов. Такие данные можно рассматривать как дополняющие идентификацию PKI, предоставляя исторические свидетельства ее (надежного) участия в сети. Кроме того, инструменты для децентрализованной идентификации на основе узлов DECO и Town Crier [160] включения для накопления учетных данных, полученных на основе реальных данных. В качестве одного из примеров: оператор узла может прикрепить к своему идентификатору PKI учетные данные, подтверждающие владение рейтинга Дана и Брэдстрита. Эти дополнительные формы валидации могут дополните staking для обеспечения безопасности сети. Узел oracle с установленной реальной идентичностью может рассматриваться как имеющий долю в системе, вытекающей из ее репутации. (См. раздел 4.3 и раздел 9.6.3.) Последним требованием к Chainlink PKI является безопасная начальная загрузка, т. е. публикация корневого имени сети Chainlink, в настоящее время data.eth (аналогично к жесткой прошивке доменов верхнего уровня в браузерах). Другими словами, как пользователи Chainlink определить, что data.eth действительно является доменом верхнего уровня, связанным с Chainlink проект? Решение этой проблемы для сети Chainlink многостороннее и может включать: • Добавление записи TXT [224] в запись нашего домена для Chain.link, которая определяет data.eth как корневой домен экосистемы Chainlink. (Chainlink таким образом неявно использует PKI для интернет-доменов для проверки своего корневого домена ENS.) • Ссылка на data.eth с существующего веб-сайта Chainlink, например, с https://docs.chain.link. (Еще одно неявное использование PKI для интернет-доменов.) • Распространение информации об использовании data.eth через различные документы, включая этот технический документ. • Публикация data.eth в наших социальных сетях, таких как Twitter, и блог Chainlink [18]. • Размещение большого количества LINK под контролем одного и того же адреса регистранта. как 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 Рекомендации по развертыванию

Хотя это не является частью нашего основного проекта, существует несколько важных технических соображений. в реализации DONs, которые заслуживают лечения здесь.

8.1 Подход к развертыванию В этой статье изложена амбициозная концепция расширенной функциональности Chainlink, реализация потребует решения многих проблем на этом пути. Этот технический документ выявляет некоторые проблемы, но непредвиденные из них обязательно возникнут. Мы планируем реализовать элементы этого видения постепенно в течение продолжительный период времени. Мы ожидаем, что DON первоначально будут запущены с поддержка конкретных готовых компонентов, созданных совместно командами внутри Chainlink сообщество. Цель состоит в том, чтобы более широкое использование DONs, например, способность запускать произвольные исполняемые файлы, поддержка появится позже. Одной из причин такой осторожности является то, что композиция smart contract может иметь сложные, непреднамеренные и опасные побочные эффекты, как это произошло в недавних атаках на основе срочных кредитов. например показано [127, 189]. Аналогично состав smart contracts, адаптеров и исполняемые файлы потребуют особой осторожности. В наше первоначальное развертывание DONs мы планируем включить только предварительно созданный набор шаблонизированных исполняемых файлов и адаптеров. Это позволит изучить композиционную безопасность этих функций с использованием формальных методов [46, 170] и других подходов. Это будет также упростить ценообразование: цены на функциональность могут устанавливаться узлами DON на основе каждой функциональности, а не посредством обобщенного измерения, принятый подход. например, [156]. Мы также ожидаем, что сообщество Chainlink примет участие в создании дополнительных шаблонов, объединяющих различные адаптеры и исполняемые файлы во все более полезные децентрализованные сервисы, которыми могут управлять сотни, если не тысячи отдельных пользователей. DONс. Кроме того, этот подход может помочь предотвратить раздувание состояния, т. е. необходимость в DON. узлы, чтобы сохранить неработоспособное количество состояний в рабочей памяти. Эта проблема уже возникающие в неразрешенных blockchains, мотивирующие подходы, такие как «безгражданство клиентов» (см., например, [206]). Это может быть более острым в системах с более высокой пропускной способностью, что мотивирует подход, при котором DON развертывает только исполняемые файлы с оптимизированным размером состояния. По мере того как DON развивается и совершенствуется и включает в себя надежные защитные ограждения, как обсуждалось в разделе 7, криптоэкономические и основанные на репутации механизмы безопасности, как описано в разделе 9, а также другие функции, которые обеспечивают высокую степень уверенности для пользователей DON, мы также рассчитываем разработать структуру и инструменты для облегчения более широкого запуска и использования DONs от сообщества. В идеале эти инструменты позволят создать набор операторов узлов. объединиться в сеть oracle и запустить свои собственные DON в закрытой или методом самообслуживания, что означает, что они могут сделать это в одностороннем порядке. 8.2 Динамическое членство DON Набор узлов, на которых работает данный DON, может со временем меняться. Есть два подхода ключевому руководству skL при условии динамического членства в O. Первый — обновить доли skL, принадлежащие узлам, при изменении членства. сохраняя при этом pkL неизменным. Этот подход, исследованный в [41, 161, 198], имеет то достоинство, не требовать от проверяющих сторон обновления pkL.Классический метод совместного использования акций, представленный в [122], обеспечивает простой и эффективный способ реализации таких обновлений общих ресурсов. Это позволяет передать секрет между одним набором узлов O(1) и вторым, возможно, пересекающим один O(2). В этом подход, каждый узел O(1) я выполняет (k(2), n(2)) секретное разделение своей секретной доли между узлы в O(2) для n(2) = |O(2)| и желаемый (возможно, новый) порог k(2). Различные схемы совместного использования проверяемого секрета (VSS) [108] могут обеспечить защиту от злоумышленника, который активно повреждает узлы, т. е. вносит в протокол вредоносное поведение. Техники в [161] направлены на это, одновременно снижая сложность коммуникации и обеспечивая устойчивость к сбоям в предположениях криптографической стойкости. Второй подход заключается в обновлении ключа реестра pkL. Это имеет преимущество безопасность: компрометация старых акций pkL (т. е. бывших узлов комитета) не будет привести к компрометации текущего ключа. Однако обновления pkL имеют два недостатка: (1) Данные, зашифрованные с помощью pkL, необходимо повторно зашифровать во время обновления ключа и (2) Ключевые обновления необходимо распространять среди проверяющих сторон. Мы намерены изучить оба подхода, а также их гибридизацию. 8.3 DON Ответственность Как и в существующих сетях Chainlink oracle, DON будут включать в себя механизмы подотчетности, т. е. записи, мониторинга и обеспечения правильного поведения узлов. DON будут иметь гораздо более существенная емкость данных, чем у многих существующих blockchain без разрешений, особенно с учетом их способности подключаться к внешнему децентрализованному хранилищу. Следовательно, они смогут подробно записывать историю производительности узлов, что позволяет более детальные механизмы подотчетности. Например, вычисление вне цепочки цены на активы могут включать в себя входные данные, которые отбрасываются до отправки медианного результата. цепь. Эти промежуточные результаты можно записать в DON. Таким образом, неправильное поведение или снижение производительности отдельных узлов в DON можно исправить или наказать. DON более детально. Мы дополнительно обсудили подходы к построению ограждения в разделе 7.3, которые касаются влияния системных сбоев на конкретный контракт. Однако также важно иметь отказоустойчивые механизмы для самих DON, т. е. защита от системных, потенциально катастрофических DON сбоев, в частности сбои разветвления/двусмысленности и соглашения об уровне обслуживания (SLA), как мы сейчас объясним. Разветвление/эквивокация: При наличии достаточного количества неисправных узлов DON может разветвиться. или двусмысленным, создавая два различных, противоречивых блока или последовательности блоков в L. Однако, поскольку DON подписывает содержимое L цифровой подписью, можно использовать основная цепочка MAINCHAIN для предотвращения и/или наказания за двусмысленность. DON может периодически проверять состояние точки L в контракте аудита на MAINCHAIN. Если его будущее состояние отклоняется от состояния контрольной точки, пользователь/аудитор может предоставить доказательства. данного нарушения в договоре на проведение аудита. Такое доказательство может быть использовано для генерации оповещения. или оштрафовать DON узлов, убрав в контракте косую черту. Этот последний подход вводит проблема разработки стимулов аналогична проблеме для конкретных фидов oracle и может основываться на Наша работа описана в разделе 9.Обеспечение соблюдения соглашений об уровне обслуживания: Хотя DON не обязательно предназначены для работать бессрочно, важно, чтобы они придерживались соглашений об уровне обслуживания (SLA). со своими пользователями. Базовое соблюдение SLA возможно в основной цепочке. Например, Узлы DON могут взять на себя обязательство поддерживать DON до определенной даты или предоставить предварительное уведомление о прекращении обслуживания (например, уведомление за три месяца). Контракт на MAINCHAIN может обеспечить соблюдение базового криптоэкономического соглашения об уровне обслуживания. Например, договор SLA может сократить внесенные на счет DON средства, если контрольные точки не предоставляются с необходимой периодичностью. Пользователь может внести средства и оспорить DON чтобы доказать, что контрольная точка правильно представляет последовательность допустимых блоков (в некотором смысле аналог, напр. [141]). Конечно, производство блоков не равносильно транзакции. обработки, но договор SLA также может служить для обеспечения соблюдения последнего. Например, в совместимая с устаревшими версиями FSS, в которой транзакции извлекаются из мемпула (см. раздел 5.2), транзакции в конечном итоге извлекаются и помещаются в цепочку. Пользователь может доказать DON должностное преступление, предоставив в договор SLA транзакцию, которая был добыт, но не передан DON для обработки целевым контрактом в течение соответствующего интервала времени.15 Также возможно доказать существование и наказать более детальные SLA. сбои, в том числе ошибки в вычислениях с использованием исполняемых файлов (например, с помощью механизмов для доказательства правильности транзакций состояния вне сети, описанных в разделе 6.3) или невозможности запуска исполняемые файлы на основе инициаторов, видимых на DON, невозможность передачи данных на DON на MAINCHAIN своевременно и так далее.

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.

Экономика и криптоэкономика

Чтобы сеть Chainlink обеспечила надежную безопасность в рамках децентрализованной модели доверия, важно, чтобы узлы в совокупности демонстрировали правильное поведение, то есть они придерживались в большинстве случаев именно по протоколам DON. В этом разделе мы обсуждаем подходы помочь принудить к такому поведению посредством экономических стимулов, то есть криптоэкономических стимулы. Эти стимулы делятся на две категории: явные и неявные, реализуемые соответственно через staking и возможность будущих комиссий (FFO). Ставки: В размещении ставок в Chainlink, как и в других системах blockchain, участвуют участники сети, то есть узлы oracle, которые вносят заблокированные средства в форме LINK token. Эти средства, которые мы также называем долей или явной долей, являются явным стимулом. Они подлежат конфискации в случае отказа узла или должностного преступления. В контексте blockchain эту процедуру часто называют слэшингом. Однако размещение по узлам oracle в Chainlink принципиально отличается от staking. validators в запрещенных blockchains. Валидаторы могут вести себя неправильно, искажая или состязательно заказывая транзакции. Базовый протокол консенсуса в 15Поскольку пользователи могут заменять транзакции в мемпуле, необходимо позаботиться о том, чтобы обеспечить правильное соответствие между добытыми и отправленными DON транзакциями.Однако без разрешения blockchain используются строгие правила проверки блоков и криптографические примитивы, чтобы предотвратить validator от генерации недействительных блоков. Напротив, программная защита не может предотвратить создание мошеннической сети oracle недействительные отчеты. Причина в ключевом различии между двумя типами систем: проверка транзакций в blockchains является свойством внутренней согласованности, а корректность отчетов oracle по blockchain является свойством внешних, т. е. данных вне сети. Мы разработали предварительный механизм staking для сети Chainlink на основе по интерактивному протоколу между узлами oracle, которые могут использовать внешние данные. Это Механизм создает финансовые стимулы для правильного поведения, используя явные вознаграждения и штрафы (резкая мера). Поскольку механизм является экономичным, он предназначен для предотвращения коррупция со стороны противника, который использует финансовые ресурсы для повреждения узлов посредством взяточничество. (Такой противник носит очень общий характер и распространяется, например, на узлы, сотрудничающие извлечь пользу из их коллективного плохого поведения.) Разработанный нами механизм Chainlink staking обладает некоторыми мощными и новыми возможностями. функции.16 Основной такой особенностью является суперлинейное staking воздействие (в частности, квадратичное). Противник должен иметь ресурсы, значительно превышающие депонированные средства узлов в чтобы разрушить механизм. Наш механизм staking дополнительно обеспечивает защиту от более сильного противника, чем считалось ранее в аналогичных системах, а именно: противник, который может создавать взятки, обусловливающие будущее поведение узлов. Кроме того, мы обсудим, как Chainlink такие инструменты, как DECO, могут помочь укрепить нашу staking механизм, способствующий правильному вынесению решений в случае неправильного поведения узла. Возможность будущих комиссий (FFO): Несанкционированные blockchains — как PoW и разнообразие PoS — сегодня критически полагаются на то, что мы называем неявными стимулами. Это экономические стимулы для честного поведения, которые вытекают не из явного вознаграждения, а из от самого участия в платформе. Например, сообщество майнеров Bitcoin не заинтересовано в организации атаки 51% из-за риска подорвать доверие к Bitcoin, снижая его ценность и, как следствие, подрывая ценность их коллектива. капитальные вложения в горнодобывающую инфраструктуру [150]. Сеть Chainlink извлекает выгоду из аналогичного неявного стимула, который мы называем как возможность будущей платы (FFO). Узлы Oracle с хорошей историей производительности или репутация привлекает комиссию от пользователей. Неправильное поведение узла oracle ставит под угрозу будущее комиссий и, таким образом, наказывает узел альтернативными издержками с точки зрения потенциальных доход, полученный за счет участия в сети. По аналогии с явной ставкой, FFO можно рассматривать как форму скрытой заинтересованности, стимула к честному поведению, которое исходит из общей выгоды от поддержания доверия к платформе, на которой зависит бизнес операторов узлов, т. е. положительная производительность и репутация сеть. Этот стимул присущ сети Chainlink, но не выражен явно. протоколы. В Bitcoin поддержание стоимости операций по добыче полезных ископаемых, как указано выше. 16Описываемый здесь механизм staking в настоящее время предназначен только для обеспечения доставки правильных отчетов. по сетям oracle. Мы ожидаем, что в будущей работе мы расширим его, чтобы обеспечить правильное выполнение многих другие функции, которые предоставит DONs.аналогичным образом можно рассматривать как форму неявной ставки. Подчеркиваем, что FFO уже существует в Chainlink и помогает защитить сеть. сегодня. Нашим основным вкладом в дальнейшее развитие Chainlink будет принципиальный, эмпирически обоснованный подход к оценке неявных стимулов, таких как FFO, через то, что мы называем системой неявных стимулов (IIF). Чтобы оценить такие величины, как возможность будущих комиссий узлов, IIF будет постоянно опираться на комплексную данные о производительности и платежах, собранные сетью Chainlink. Такие оценки позволит параметризовать системы staking на основе IIF, что отражает стимулы узлов с большей точностью, чем текущие эвристические и/или статические модели. Итак, подведем итог: два основных экономических стимула для правильного узла oracle. поведение в развивающейся сети Chainlink будет: • Стейкинг (депонированная ставка) о Явный стимул • Возможность будущих комиссий (FFO) о Неявный стимул Эти две формы стимулирования дополняют друг друга. Узлы Oracle могут одновременно участвуйте в протоколе Chainlink staking, получайте постоянный доход от пользователей и коллективно извлекать выгоду из их постоянного хорошего поведения. Таким образом, оба стимула способствовать криптоэкономической безопасности, обеспечиваемой сетью oracle. Кроме того, эти два стимула могут усиливать и/или компенсировать друг друга. Например, новый оператор oracle без истории работы и потока доходов может сделать ставку большое количество ССЫЛОК как гарантия честного поведения, тем самым привлекая пользователей и сборы. И наоборот, устоявшийся оператор oracle с длинным, относительно безошибочным история производительности может взимать значительную плату с большой базы пользователей и, таким образом, полагаться на в большей степени влияет на FFO как на форму скрытого стимула. В общем, подход, который мы здесь рассматриваем, нацелен на определенное количество oracle-сети. ресурс для создания максимально возможных экономических стимулов в Chainlink для рационального агенты — то есть узлы, максимизирующие свою финансовую полезность — вести себя честно. Поставь другой Таким образом, цель состоит в том, чтобы максимизировать финансовые ресурсы, необходимые противнику для нападения. сеть успешно. Сформулировав протокол staking математически хорошо определяемую экономическую безопасность, а также используя IIF, мы стремимся измерить силу Стимулы Chainlink как можно точнее. Создатели полагающихся контрактов будут затем сможете с большой уверенностью определить, соответствует ли сеть oracle требуемые уровни криптоэкономической безопасности. Благотворный цикл экономической безопасности: Стимулы, которые мы обсуждаем в этом разделе, staking и FFO, имеют влияние, выходящее за рамки укрепления безопасности DONс. Они обещают создать то, что мы называем благотворным циклом экономической безопасности. Суперлинейное staking воздействие (и другие эффекты масштаба) приводят к снижению эксплуатационных расходов. стоимость по мере роста безопасности DON. Более низкая стоимость привлекает к DON дополнительных пользователей,повышение пошлин. Рост комиссий продолжает стимулировать рост сеть, которая увековечивает благотворный цикл. Мы считаем, что благотворный цикл экономической безопасности является лишь одним из примеров экономия масштаба и сетевой эффект, среди прочего, которые мы обсудим позже в этом разделе. Организация раздела: Стейкинг представляет собой заметные технические и концептуальные проблемы для мы разработали механизм с новыми функциями. Таким образом, ставка будет наше основное внимание в этом разделе. Мы даем обзор подхода staking, который мы представляем в этой статье, в разделе 9.1, а затем подробно обсуждаем его в разделах с 9.2 по 9.5. Представляем МКФ в разделе 9.6. Мы представляем сводный обзор сетевых стимулов Chainlink в разделе 9.7. В разделе 9.8 мы обсуждаем благотворный цикл экономической безопасности, который предлагаемый нами подход staking может принести в сети oracle. Наконец, мы кратко опишем другие потенциальные возможности. влияет на рост сети Chainlink в разделе 9.9. 9.1 Обзор ставок Как отмечалось выше, конструкция механизма staking, которую мы здесь представляем, включает интерактивный протокол между узлами oracle, позволяющий разрешать несоответствия в представление внешних данных. Целью стейкинга является обеспечение честного поведения рациональных узлов oracle. Таким образом, мы можем смоделировать атаку противника на протокол staking как взяточник: стратегия злоумышленника состоит в том, чтобы повредить узлы oracle, используя финансовые стимулы. Злоумышленник может в перспективе получить финансовые ресурсы от успешного взлома с отчетом oracle, например, предложить разделить полученную прибыль с поврежденными узлами. При разработке механизма staking мы преследуем одновременно две амбициозные цели: 1. Сопротивление сильному противнику. Механизм staking предназначен для защиты oracle сети против широкого класса противников, способных на сложные, стратегии условного подкупа, включая предполагаемое взяточничество, в рамках которого предлагаются взятки oracle лицам, личность которых устанавливается постфактум (например, предлагает взятки oracle выбраны случайным образом для оповещения с высоким приоритетом). В то время как другие конструкции oracle рассмотрели узкий набор атак без полных возможностей реалистичного противник, насколько нам известно, состязательный механизм, который мы вводим здесь впервые подробно рассмотрен широкий набор стратегий взяточничества и показано сопротивление в этой модели. Наша модель предполагает, что узлы, помимо атакующего, экономически рациональны (в отличие от честных), и мы предполагаем существование источник истины, который непомерно дорог для обычного использования, но доступен в случае разногласий (подробнее обсуждается ниже). 2. Достижение сверхлинейного воздействия staking: Наша цель — обеспечить, чтобы сеть oracle, состоящая из рациональных агентов, сообщала честно даже при наличии злоумышленника с суперлинейным бюджетомв общей ставке, внесенной всей сетью. В существующих системах staking, если каждый из n узлов ставит $d, злоумышленник может дать надежную взятку, требующую что узлы ведут себя нечестно в обмен на оплату чуть более \(d to each node, using a total budget of about \)дн. Это уже высокая планка, так как злоумышленник должен иметь ликвидный бюджет порядка совокупных депозитов все участники сети. Наша цель – еще более высокая степень экономической безопасности. чем это уже существенное препятствие. Мы стремимся разработать первую систему staking. который может обеспечить безопасность для обычного злоумышленника с суперлинейным бюджетом в n. Хотя практические соображения могут привести к меньшему воздействию, как мы обсудим ниже, наш предварительный проект обеспечивает состязательное требование к бюджету, превышающее $dn2/2, т. е. квадратичное по n масштабирование, что делает взяточничество практически непрактичным даже когда узлы ставят лишь умеренные суммы. Достижение этих двух целей требует инновационного сочетания системы стимулирования. и криптография. Ключевые идеи: Наш staking подход основан на идее, которую мы называем сторожевым приоритетом. Отчет, созданный сетью Chainlink oracle и отправленный проверяющему контракту. (например, о цене актива) агрегируется из отдельных отчетов, предоставленных участвующими узлами (например, путем взятия медианы). Обычно соглашение об уровне обслуживания (SLA). определяет допустимые границы отклонения для отчетов, т. е. насколько отчет узла может отклоняться от сводного отчета и насколько далеко следует разрешить совокупному отчету отклоняться от истинного значения и считаться правильным. В нашей системе staking для данного раунда отчетности каждый узел oracle может действовать как сторожевой таймер, который подает предупреждение, если считает, что сводный отчет неверен. В каждом отчетном раунде, каждому узлу oracle назначается общедоступный приоритет, который определяет порядок, в котором будет обрабатываться его предупреждение (если таковое имеется). Наш механизм нацелен на вознаграждение концентрация, а это означает, что сторожевой таймер с наивысшим приоритетом, поднявший тревогу, получает вся награда получена за счет конфискации депозитов неисправных узлов. Наша система staking включает два уровня: первый, уровень по умолчанию, и второй, стопорный ярус. Первый уровень — это сама сеть oracle, набор из n узлов. (Для простоты мы предполагаем, что n нечетно.) Если большинство узлов сообщают о неверных значениях, сторожевой таймер в Первый уровень сильно заинтересован в поднятии тревоги. Если возникает предупреждение, отчетность Решение сети затем передается на второй уровень — дорогостоящую систему максимальной надежности, которая может быть указана пользователем в соглашении об уровне обслуживания сети. Это может быть система, состоящая, например, только из узлов с сильными исторические оценки надежности или тот, который имеет на порядок больше oracles, чем первый ярус. Кроме того, как обсуждалось в разделе 9.4.3, DECO или Town Crier могут служить в качестве мощных инструментов, помогающих обеспечить эффективное и убедительное судебное решение на втором уровне. Таким образом, для простоты мы предполагаем, что эта система второго уровня дает правильный отчет. ценность. Хотя может показаться привлекательным просто полагаться на второй уровень для создания всех отчетов, Преимущество нашей конструкции заключается в том, что она последовательно обеспечивает свойства безопасности, присущиесистемы второго уровня, при этом в типичном случае оплачиваются только эксплуатационные расходы система первого уровня. Приоритет сторожевого таймера приводит к сверхлинейному воздействию staking следующим образом: если сеть первого уровня oracle выдает неверный результат и несколько сторожевых узлов предупреждение, механизм стимулирования staking вознаграждает сторожевого таймера с наивысшим приоритетом более $dn/2 было получено из депозитов (большинства) неправильно работающих узлов. таким образом, вся награда концентрируется в руках этого единственного сторожевого пса, который, следовательно, определяет минимум, который противник должен пообещать потенциальному сторожевому псу стимулировать его не предупреждать. Поскольку наш механизм гарантирует, что каждый oracle получит шанс действовать в качестве сторожевого пса, если сторожевые псы с более высоким приоритетом приняли взятки (и решил не предупреждать), поэтому противник должен предложить взятку в размере, превышающем $dn/2 для каждого узла, чтобы предотвратить появление каких-либо предупреждений. Поскольку имеется n узлов, то необходимый бюджет противника для успешной взятки составляет более 2/2 долларов США, что квадратичен по числу n узлов в сети. 9.2 Фон Наш подход к staking основан на исследованиях в области теории игр и механизмов. дизайн (MD) (ссылку на учебник см. [177]). Теория игр – это математически формализованное исследование стратегического взаимодействия. В этом контексте игра является моделью такого взаимодействие, обычно в реальном мире, которое кодифицирует набор действий, доступных участники игры, называемые игроками. В игре также определяются выигрыши, получаемые отдельными игроками — награды, которые зависят от выбранных игроком действий и действия других игроков. Пожалуй, самый известный пример игры, изучаемой в игре. теория – это «Дилемма заключённого» [178]. Теоретики игр обычно стремятся понять равновесие или равновесия (если таковые имеются), представленные в данной игре. Равновесие – это набор стратегий (по одной для каждого игрока), при котором ни один игрок не может получить более высокую выгоду за счет одностороннего отклонения от своей стратегии. Между тем, проектирование механизмов — это наука о разработке стимулов, позволяющих равновесие взаимодействия (и связанной с ним игры) обладает некоторым желательным свойством. MD можно рассматривать как обратную теорию игр: канонический вопрос в игре. Теория такова: «Каким будет равновесие при наличии стимулов и модели?» В МД, вместо этого возникает вопрос: «Какие стимулы приведут к игре с желаемым равновесием?» Типичная цель разработчика механизма — создать механизм, «совместимый со стимулами», то есть, чтобы участники механизма (например, аукциона или другой информации) система сбора информации [228]) стимулируются сообщать правду по какому-либо вопросу (например, как насколько они ценят тот или иной предмет). Аукцион Викри (вторичная цена), возможно, является самый известный механизм, совместимый со стимулами, при котором участники подают запечатанные заявки за предмет, и участник, предложивший самую высокую цену, выигрывает этот предмет, но платит вторую по величине цену [214]. Криптоэкономика – это предметно-ориентированная форма MD, в которой используются криптографические методы. методы создания желаемого равновесия в децентрализованных системах. Взяточничество и сговор создают серьезные проблемы во всей области медицины. Почти все механизмы нарушаются при наличии сговора, определяемого как побочные контракты.между сторонами, участвующими в механизме [125, 130]. Взяточничество, при котором внешняя сторона вводит в игру новые стимулы, представляет собой еще более серьезную проблему. чем сговор; сговор можно рассматривать как частный случай взяточничества среди диких животных. участники. Системы блокчейн часто можно представить как игры с денежными (криптовалютными) выигрышами. Простой пример — майнинг Proof-of-Work: у майнеров есть пространство действий. в котором они могут выбрать hashскорость добычи блоков. Выигрыш от майнинга — это гарантированное отрицательное вознаграждение (стоимость электроэнергии и оборудования) плюс стохастический доход. положительное вознаграждение (субсидия майнингу), которое зависит от количества других активных майнеров [106, 172] и комиссии за транзакции. Краудсорсинговые oracle, такие как SchellingCoin [68], являются еще одним примером: пространство действий представляет собой набор возможных отчетов, которые oracle может отправить, в то время как выплата — это вознаграждение, определенное механизмом oracle, например, оплата может зависеть о том, насколько отчет oracle близок к медиане других отчетов [26, 68, 119, 185]. Игры на блокчейне открывают широкие возможности для сговора и взяточничества; действительно, smart contracts могут даже способствовать таким атакам [96, 165]. Пожалуй, самый известный Атака со взяточничеством на краудсорсинговые oracles — это атака p-plus-epsilon [67]. Эта атака возникает в контексте механизма, подобного SchellingCoin, в котором игроки отправляют отчеты с логическими значениями (т. е. ложные или истинные) и получают вознаграждение p, если они согласны с представление большинства. При атаке p-plus-epsilon злоумышленник достоверно обещает: например, платить пользователям $p + ϵ за ложное голосование тогда и только тогда, когда мнение большинства верно. Результатом является равновесие, в котором все игроки заинтересованы сообщать ложные сведения. независимо от того, что делают другие игроки; следовательно, взяткодатель может побудить узлы через обещанную взятку сообщить ложь, фактически не уплатив взятку (!). Однако изучение других стратегий взяточничества в контексте oracle, особенно oracle, которые не являются краудсорсинговыми, ограничивалось довольно слабыми состязательными действиями. модели. Например, в рамках PoW исследователи изучили зависящие от результата результаты. взятки, то есть взятки выплачиваются только в том случае, если целевое сообщение успешно подвергается цензуре и не появляются в блоке независимо от действий отдельного майнера [96, 165]. В случае из oracles, однако, кроме атаки p-plus-epsilon, нам известны только работы в строго ограниченная модель взяточничества, при которой взяткодатель передает взятку при условии действие отдельного игрока, а не конечный результат. Здесь мы набросаем схемы механизмов сбора информации, которые остаются стимулирующими. совместимы даже в модели сильного состязания, как описано в следующем подразделе. 9.3 Допущения моделирования В этом подразделе мы объясним, как мы моделируем поведение и возможности игроков в наша система, в частности узлы первого уровня oracle, узлы второго уровня (решение) слой и противники.9.3.1 Модель стимулирования первого уровня: рациональные участники Многие blockchain системы полагаются на безопасность, предполагая некоторое количество честных участвующие узлы. Узлы считаются честными, даже если они следуют протоколу. когда это не в их финансовых интересах. Обычно системы Proof-of-Work для честности требуется большая часть мощности hash, для честности системы Proof-of-Stake обычно требуют 2/3 или более всей участвующей доли, и даже системы уровня 2, такие как Для арбитража [141] требуется хотя бы один честный участник. При моделировании нашего механизма staking мы делаем гораздо более слабое предположение. (Быть ясные, более слабые предположения означают более сильные свойства безопасности и поэтому предпочтительнее.) Мы предполагаем, что злоумышленник испортил, то есть контролирует, некоторые (меньшинство) доля узлов первого уровня oracle. Остальные узлы мы моделируем не как честных агентов, а как рациональные максимизаторы ожидаемой полезности. Эти узлы действуют исключительно в соответствии с корыстными финансовыми стимулами, выбирая действия, которые приводят к ожидаемому финансовому результату. выигрыш. Например, если узлу предлагается взятка, превышающая вознаграждение, полученное в результате честное поведение, он возьмет взятку. Примечание о состязательных узлах: В соответствии с общепринятым для в децентрализованных системах мы предполагаем, что все узлы рациональны, т.е. стремятся максимизировать чистый доход, а не контролироваться злонамеренным противником. Наши претензии, однако… в частности, суперлинейное или квадратичное staking воздействие — сохраняется асимптотически при условии что набор узлов, управляемых состязательно, не превышает (1/2 −c)n для некоторых положительных постоянный в. 9.3.2 Модель принятия решений второго уровня: правильность по предположению Напомним, что важная функция нашего механизма staking, помогающая обеспечить безопасность против рациональных узлов — это его система второго уровня. В предлагаемом нами механизме staking любой oracle может выдать предупреждение, указывающее, что он считает, что выходные данные механизма неверны. Оповещение приводит к высокому доверию система второго уровня активирует и сообщает правильный результат. Таким образом, ключевое моделирование Требованием нашего подхода является правильное вынесение решения, т. е. правильная отчетность со стороны система второго уровня. Наша модель staking предполагает систему второго уровня, которая действует как неподкупный и максимально надежный источник истины. Такая система, скорее всего, будет дорогой и медленной, и, следовательно, не подходит для использования в типичном случае. Однако в равновесном случае, т. е. когда система первого уровня работает правильно, система второго уровня не будет задействована. Вместо этого его существование повышает безопасность всей системы oracle, предоставляя высоконадежный стопор обратного хода. Использование высоконадежного и дорогостоящего уровня принятия решений напоминает процесс апелляции. в основе большинства судебных систем. Это также уже распространено в дизайне oracle. системы, например, [119, 185]. Кратко обсудим подходы к реализации второго эшелона. в нашем механизме в разделе 9.4.3.Наш протокол staking использует предполагаемое правильное решение системы второго уровня как реальную угрозу для обеспечения правильной отчетности узлов oracle. Протокол конфискует часть или всю долю узлов oracle, которые генерируют отчеты, идентифицированные систему второго уровня как неправильную. Таким образом, узлы Oracle удерживаются от неправильного поведения. в результате финансового штрафа. Этот подход по своей сути аналогичен тому, который используется в оптимистичные rollups, например, [141, 10]. 9.3.3 Состязательная модель Наш механизм staking предназначен для получения правдивой информации и обеспечения безопасности от широкого, четко определенного класса злоумышленников. Это улучшает предыдущие работы, которые либо опускают явную модель состязания, либо фокусируются на узких подклассах противников, например, противнике p-плюс-эпсилон, обсуждаемом выше. Наша цель — разработать staking механизм с формально доказанной безопасностью против всего спектра возможных противников. придется столкнуться на практике. Мы моделируем нашего противника как имеющего фиксированный (параметрируемый) бюджет, обозначаемый $Б. Злоумышленник может индивидуально и конфиденциально общаться с каждым oracle в сети и может тайно предложить любому лицу oracle гарантированную выплату взятки зависит от публично наблюдаемых результатов работы механизма. Результаты, определяющие взятки могут включать, например, сумму, сообщенную oracle, любые публичные сообщения отправленное любым oracle механизму (например, предупреждение), значения, сообщаемые другими oracles и значение, выводимое механизмом. Ни один механизм не может защитить от злоумышленника с неограниченными возможностями. Поэтому мы считаем некоторые виды поведения нереалистичными или выходящими за рамки рассмотрения. Мы предполагаем, что наш злоумышленник не может взломать стандартные криптографические примитивы и, как отмечалось выше, имеет фиксированный (если потенциально большой) бюджет $B. Далее мы предполагаем, что противник не контролирует связь в сети oracle, в частности, что она не может существенно задерживать трафик между узлами первого и/или второго уровня. (Может ли противник наблюдать такое общение, зависит от конкретного механизма, как мы объясним ниже.) Однако неформально, как отмечалось выше, мы предполагаем, что злоумышленник может: (1) Коррумпировать часть oracle узлов ((1/2 -c)-доля для некоторой константы c), т.е. полностью контролировать им, и (2) предлагать взятки любым желаемым узлам с гарантированным условием выплаты. на исходы, указанные противником, как описано выше. Хотя мы не предлагаем формальную модель или полную классификацию всех сил противника, широкий спектр возможностей взяточничества, описанный в этом документе, здесь приведены примеры видов взяточники, охваченные нашей моделью. Для простоты мы предполагаем, что oracles выдают логические значения. отчеты, правильное значение которых (w.l.o.g.) истинно, и конечный результат рассчитывается как совокупность этих отчетов, которая будет использоваться получателем smart contract. Взяткодателя цель состоит в том, чтобы конечный результат был неверным, т. е. ложным. • Безусловный взяткодатель: Взяткодатель предлагает взятку $b любому oracle, сообщившему ложь. • Вероятностный взяткодатель: Взяткодатель предлагает взятку $b с некоторой вероятностью q любому oracle. это сообщает ложь.• Взяткодатель, обусловленный ложным результатом: Взяткодатель предлагает взятку $b любому oracle, сообщившему ложный результат, при условии, что конечный результат окажется ложным. • Взяткодатель без предупреждения: Взяткодатель предлагает взятку $b любому oracle, который сообщает false, пока не будет выдано предупреждение. • Взяткодатель p-plus-epsilon: Взяткодатель предлагает взятку $b любому oracle, который сообщает ложную информацию как пока большинство oracle не сообщают ложных сведений. • Потенциальный взяткодатель: Взяткодатель предлагает взятку в размере b долларов заранее тому, кто будет выбран oracle. для рандомизированной роли и сообщает ложь. В предложенном нами протоколе staking все узлы действуют как потенциальные сторожевые псы, и мы можем показать, что рандомизация Приоритеты надзорных органов не способствуют возможному взяточничеству. Многие системы проверки работоспособности, proof-of-stake и разрешенные системы подвержены потенциальному взяточничество, однако, что показывает важность рассмотрения его в нашей враждебной борьбе. модель и обеспечение устойчивости наших протоколов staking к ней. См. Приложение E. для более подробной информации. 9.3.4 Насколько достаточно криптоэкономической безопасности? Рациональный противник будет тратить деньги на атаку системы только в том случае, если он сможет получить прибыль. превышает его расходы. Таким образом, для нашей состязательной модели и предлагаемого staking $B можно рассматривать как меру потенциальной прибыли, которую может получить противник. извлечь выгоду из использования smart contracts, повредив сеть oracle и вызвав ее для создания неправильного отчета или набора отчетов. При принятии решения о том, будет ли сеть oracle предлагает достаточную степень криптоэкономической безопасности для своих целей, пользователь должен оценить сеть с этой точки зрения. Мы ожидаем, что для вероятных противников в практических условиях $B обычно будет существенно меньше, чем общая сумма активов в доверительном управлении smart contracts. В большинстве случаев это противнику невозможно извлечь эти активы в их совокупности. 9.4 Механизм ставок: эскиз Здесь мы представляем основные идеи и общую структуру механизма staking, который мы в настоящее время рассматривают. Для простоты изложения мы опишем простой, но медленный процесс. (многораундовый) протокол в этом подразделе. Заметим, однако, что эта схема вполне практичный. Учитывая экономические гарантии, обеспечиваемые этим механизмом, т. е. штрафы и, как следствие, стимулы против неисправных узлов, многие пользователи могут захотеть принимайте отчеты оптимистично. Другими словами, такие пользователи могут принимать отчеты до потенциальное судебное решение второго уровня. Пользователи, не желающие оптимистично принимать отчеты, могут подождать, пока протокол выполнение прекращается, т. е. до тех пор, пока не произойдет потенциальная эскалация на второй уровень. Это, однако может существенно замедлить время подтверждения отчетов. Поэтому мы краткоРисунок 15: Схема схемы staking с оповещением. В этом примере 1⃝большинство узлов повреждены/подкуплены и выдают неправильное значение ˜r, а не правильное отчетное значение р. Сторожевой узел 2⃝ отправляет предупреждение комитету второго уровня, который 3⃝определяет и выдает правильное значение отчета r, что приводит к повреждению узлов конфисковывая свои депозиты — каждый $d передается сторожевому узлу 4⃝. обрисовать некоторые оптимизации, которые приводят к более быстрому (за один раунд), хотя и несколько большему комплексное проектирование в разделе 9.5. Напомним, что первый уровень нашего механизма staking состоит из базового oracle сама сеть. Основная структура нашего механизма, как описано выше, заключается в том, что в каждом раунде каждый узел может действовать как «сторожевой таймер» с некоторым приоритетом и, таким образом, иметь возможность поднять предупреждение, если механизм получает неправильный выходной сигнал ˜r, а не правильный один р. Это предупреждение приводит к разрешению второго уровня, которое, как мы предполагаем, приводит к правильному результату. отчет. Узлы с неправильными отчетами наказываются в том смысле, что их ставки разрезан и вручен сторожевым собакам. Эта базовая структура распространена в системах oracle, как, например, в [119, 185]. Ключевое нововведение в нашей конструкции, кратко упомянутое выше, заключается в том, что каждый узел уделил особое внимание при выборе потенциальных наблюдателей. То есть сторожевые псы предоставляются возможности для оповещения в приоритетной последовательности. Напомним, что если узел имеет наивысший приоритет для поднятия тревоги, он получает сокращенный депозит $d за каждое некорректное поведение узла, в общей сложности более \(dn/2 = \)d × n/2, поскольку неправильный отчет подразумевает большинство неисправных узлов. Следовательно, противник должен выплатить хотя бы эту награду подкупить произвольный узел. Таким образом, чтобы подкупить большинство узлов, противник должен заплатить крупная взятка большинству узлов, а именно строго более $dn2/2. Схематически показано, как работает оповещение и эскалация сторожевого таймера, на рис. 15.9.4.1 Дополнительные сведения о механизме Система противодействия взяточничеству, которую мы сейчас опишем более подробно, представляет собой упрощенную схему двухъярусную конструкцию, которую мы собираемся построить. Основное внимание мы уделим описанию сеть первого уровня (далее просто «сеть», если это ясно из контекста) вдоль со своим механизмом стимулирования и процедурой перехода на второй уровень. Рассмотрим сеть Chainlink, состоящую из n узлов oracle, которые отвечают за регулярно (например, раз в минуту), сообщая логическое значение (например, капитализация BTC превышает капитализацию ETH). В рамках механизма staking узлы должен внести два залога: залог $d, который может быть сокращен в случае разногласий. с большинством и сторожевым депозитом в размере $dw, подлежащим сокращению в случае неисправности эскалация. Мы предполагаем, что узлы не могут копировать материалы других узлов, например, посредством схемы фиксации-раскрытия, как описано в разделе 5.3. В каждом раунде сначала узлы зафиксировать свой отчет, и как только все узлы зафиксируют (или истечет тайм-аут), узлы раскрывают свои отчеты. Для каждого создаваемого отчета каждому узлу также назначается сторожевой приоритет от 1 до n, выбираемый случайным образом, причем 1 является высшим приоритетом. Этот приоритет позволяет концентрация вознаграждения в руках одного сторожевого пса. После того, как все отчеты станут публичными, наступает фаза оповещения. В течение последовательности из n (синхронных) раундов узел с приоритет i имеет возможность предупредить в раунде i. Рассмотрим возможные исходы работы механизма после выявления узлов. их отчеты. Опять же, предполагая двоичный отчет, предположим, что правильное значение равно true и неправильный — ложный. Предположим также, что механизм первого уровня выводит вывод значений большинства по узлам в качестве итогового отчета r. В этом механизме возможны три возможных результата: • Полное согласие. В лучшем случае узлы находятся в полном согласии: все узлы доступны и предоставили своевременный отчет с тем же значением r (либо истинное или ложь). В этом случае сети нужно только перенаправить r на соответствующие контракты. и вознаградить каждый узел фиксированной выплатой за раунд $p, которая намного меньше чем $d. • Частичное согласие: возможно, что некоторые узлы отключены или существуют разногласия по поводу того, какое значение является правильным, но большинство узлов сообщают истинное значение и только меньшинство сообщает ложь. Этот случай также прост. Значение большинства (true) вычисляется, в результате чего формируется правильный отчет r. Все узлы, сообщившие r, являются вознаграждены $p, в то время как oracles, которые сообщили неправильно, получили свои депозиты незначительно снижена, например, на 10 пенсов. • Оповещение: если сторожевой таймер считает, что выходные данные сети неверны, он публично запускает оповещение, передавая механизм в сеть второго уровня. Тогда возможны два результата: – Правильное предупреждение: если сеть второго уровня подтверждает, что выходные данныеРисунок 16. Увеличение затрат взяткодателей за счет концентрированных вознаграждений за оповещение. Подкуп противник должен подкупить каждый узел большей наградой, чем он может получить, предупредив (отображается красной полосой). Если вознаграждения за оповещения являются общими, то это вознаграждение может быть относительно маленький. Вознаграждения за концентрированные оповещения увеличивают вознаграждение, которое может получить любой отдельный узел. получить (высокая красная полоса). Следовательно, общая сумма выплаты противником за реальную взятку (серые области) намного больше при концентрированных, чем при общих вознаграждениях за оповещения. сеть первого уровня была неправильной, сторожевой узел, оповещающий о тревоге, получает вознаграждение состоит из всех сокращенных депозитов и, следовательно, превышает $dn/2. – Ошибочное предупреждение: если oracle второго и первого уровней согласны, эскалация считается неисправным, и узел оповещения теряет свой депозит в размере $dw. В случае оптимистического принятия отчетов сторожевые оповещения не вызывают любые изменения в исполнении полагающихся контрактов. Для контрактов, рассчитанных на ожидание потенциальный арбитраж со стороны комитета второго уровня, оповещения наблюдателя задерживаются, но не замораживать исполнение контракта. В контрактах также возможно указать аварийное переключение DON на периоды вынесения решения. 9.4.2 Влияние квадратичного стейкинга Возможность каждого узла действовать в качестве сторожевого таймера в сочетании со строгим приоритетом узла. обеспечение концентрированного вознаграждения позволяет механизму достигать квадратичного staking воздействие для каждого вида злоумышленника-подкупа, описанного в разделе 9.3.3. Напомним, что это конкретно в наших условиях означает, что для сети из n узлов, каждый из которых имеет депозит $d, успешный взяткодатель (любого из перечисленных выше типов) должен иметь бюджет, превышающий $дн2/2. Точнее, взяткодатель должен испортить как минимум (n+1)/2 узлов, поскольку взяткодатель должен испортить большинство из n узлов (по предположению, для нечетных n). Таким образом, сторожевой пес стоит на страже получите вознаграждение в размере $d(n + 1)/2. Следовательно, взяткодатель должен выплатить эту сумму каждомуузел, чтобы гарантировать, что ни один из них не действует как сторожевой таймер. Мы работаем над тем, чтобы формально показать, что если бюджет взяткодателя не превышает $d(n2 + n)/2, то идеальное равновесие в подыгре игры между взяточниками и oracles — другими словами, равновесие в любой момент во время игры – взяткодатель не дает взятку и каждый oracle честно сообщать о своих истинных значениях. Выше мы объяснили, как возможно, что успешный взяткодатель может потребовать бюджет значительно больше, чем сумма узловых депозитов. Чтобы проиллюстрировать это интуитивно понятный результат. На рис. 16 графически показано влияние вознаграждений за концентрированные оповещения. Как мы видим, если вознаграждение за предупреждение сторожевого пса, а именно депозиты подкупленных узлы, сообщающие ложь) — были разделены между всеми потенциальными оповещениями, общая сумма, любой отдельный узел оповещения, который мог ожидать, будет относительно небольшим, порядка $д. Взяткодатель, зная, что выплата на сумму более $d маловероятна, мог бы использовать условная взятка с ложным исходом, чтобы подкупить каждый из n узлов чуть более чем $d + ϵ. Как ни странно, на рис. 16 показано, что система, широко распределяющая вознаграждение, среди узлов, сигнализирующих об оповещении, гораздо слабее, чем тот, который концентрирует вознаграждение в в руках одного сторожевого пса. Пример параметров: Рассмотрим сеть (первого уровня) с n = 100 узлами, каждый из которых внесение \(d = \)20K. В эту сеть будет внесено в общей сложности 2 миллиона долларов, но быть защищен от взяточника с бюджетом \(100M = \)dn2/2. Увеличение количества oracles, конечно, более эффективно, чем увеличение $d, и может иметь драматический эффект: сеть с n = 300 узлами и депозитами \(d = \)20K будет защищена от взяточник с бюджетом до $900 млн. Обратите внимание, что система staking во многих случаях может защитить smart contract, представляющие большую ценность, чем предлагаемый уровень защиты от взяточничества. Это потому, что противник атака на эти контракты во многих случаях не может извлечь полную выгоду. Например, Контракт на основе Chainlink, обеспечивающий стоимость в 1 миллиард долларов США, может требовать только обеспечения от взяточник с ресурсами в 100 миллионов долларов, потому что такой противник может реально получить прибыль всего 10% от стоимости контракта. Примечание: Идея о том, что ценность сети может расти квадратично, выражена в широко известный закон Меткалфа [167, 235], который гласит, что ценность сети растет квадратично по числу связанных объектов. Однако закон Меткалфа возникает из-за роста числа потенциальных парных сетевых соединений, а это явление, отличное от того, которое лежит в основе квадратичного staking воздействия в нашем стимуле. механизм. 9.4.3 Реализация второго уровня Две эксплуатационные особенности облегчают реализацию второго уровня высокой надежности: (1) Вынесение решения второго уровня должно быть редким событием в сетях oracle и, следовательно, может быть значительно более затратным, чем нормальная эксплуатация первого уровня и (2) при условии, чтооптимистично принятые отчеты — или контракты, исполнение которых может ожидать арбитража — второй уровень не обязательно должен выполняться в реальном времени. Эти особенности приводят к появлению целого ряда варианты конфигурации второго уровня для удовлетворения требований конкретных DONs. В качестве примера подхода комитет второго уровня может состоять из узлов, выбранных DON (т. е. первого уровня) из самых долговечных и надежных узлов в Chainlink. сеть. Помимо значительного соответствующего опыта эксплуатации, операторы таких узлов имеют значительный неявный стимул в FFO, который мотивирует желание чтобы обеспечить высокую надежность сети Chainlink. Они также публично доступные истории производительности, которые обеспечивают прозрачность их надежности. Стоит отметить, что узлы второго уровня не обязательно должны быть участниками сети первого уровня. может выносить решения о неисправностях в нескольких сетях первого уровня. Узлы в данном DON могут заранее назначить и публично принять набор из n' таких узлы как составляющие комитет второго уровня для этого DON. Кроме того, DON узлы публикуют параметр k′ ≤n′, который определяет количество голосов второго уровня. требуется наказать узел первого уровня. Когда для данного отчета создается оповещение, члены второго уровня голосуют за правильность значений, предоставленных каждым узлов первого уровня. Любой узел первого уровня, получивший k' отрицательных голосов, теряет свой статус. депозиты на сторожевой узел. Из-за редкости вынесения судебного решения и возможности продления срока исполнения Как отмечалось выше, в отличие от первого уровня узлы второго уровня могут: 1. Получать высокую компенсацию за проведение судебного разбирательства. 2. Использовать дополнительные источники данных, помимо разнообразного набора, используемого первыми. 3. Полагаться на ручную и/или экспертную проверку и вмешательство, например, для выявления и согласовать ошибки в исходных данных и отличить честную ретрансляцию узла ошибочные данные и неправильно работающий узел. Мы подчеркиваем, что подход, который мы только что описали для выбора узлов второго уровня и политики, регулирующей вынесение решений, представляет собой лишь точку в большом проектное пространство возможных реализаций второго яруса. Наш механизм стимулирования предлагает полная гибкость в отношении реализации второго уровня. Таким образом, отдельные DON могут составляют и устанавливают правила для своих вторых уровней, отвечающие конкретным требованиям и ожидания участвующих узлов и пользователей. DECO и Town Crier как инструменты вынесения решения: Это важно для второго уровня. в нашем механизме, чтобы иметь возможность различать враждебные узлы первого уровня, которые намеренно создавать неверные отчеты и честные узлы первого уровня, которые непреднамеренно ретранслируйте данные, которые неверны в источнике. Только тогда второй уровень сможет реализовать сокращение, чтобы дестимулировать мошенничество, цель нашего механизма. ДЕКО и городской глашатай — это мощные инструменты, которые позволяют узлам второго уровня проводить это важное различие. надежно.Узлы второго уровня в некоторых случаях могут иметь возможность напрямую запрашивать используемый источник данных. узлом первого уровня или используйте раздел 7.1 ADO, чтобы проверить, является ли неправильный отчет возникло из-за неверного источника данных. Однако в других случаях узлы второго уровня могут отсутствовать. прямой доступ к источнику данных узла первого уровня. В таких случаях правильное решение будет кажутся невозможными или требуют полагаться на субъективное суждение. Предыдущий oracle системы разрешения споров полагались на неэффективные, увеличивающиеся раунды голосования для решения таких проблем. вызовы. Однако, используя DECO или Town Crier, узел первого уровня может доказать правильное поведение. к узлам второго уровня. (Подробную информацию об этих двух системах см. в разделе 3.6.2.) В частности, если узел второго уровня идентифицирует узел первого уровня как выдавший ошибочное значение отчета ˜r, узел первого уровня может использовать DECO или Town Crier для создания защищенных от несанкционированного доступа доказательств узлы второго уровня, которые правильно ретранслируют ˜r из источника (с поддержкой TLS). признан авторитетным DON. Крайне важно, что узел первого уровня может это сделать. без узлов второго уровня, требующих прямого доступа к источнику данных.17 Следовательно, правильное решение возможно в Chainlink для любого желаемого источника данных. 9.4.4 Неправильная отчетность о страховании Сильная устойчивость к взяточничеству, достигаемая с помощью нашего механизма staking, фундаментально опирается о сокращении средств, выделяемых оповещениям. Без денежного вознаграждения оповещения не имеют прямых стимулов отказываться от взяток. В результате, однако, сокращенные средства не доступен для компенсации пользователям, пострадавшим от неправильных отчетов, например, пользователям, которые теряют деньги когда неверные данные о цене передаются на smart contract. Предполагается, что неверные отчеты не представляют проблемы, если отчеты принимаются контракт только после потенциального судебного решения, т. е. действия второй инстанции. Как объяснено однако для достижения наилучших результатов контракты могут вместо этого полагаться на оптимистично относятся к механизму обеспечения правильной отчетности, а это означает, что они принимают отчеты до возможного вынесения судебного решения второго уровня. Действительно, такое оптимистичное поведение безопасно в нашей модели, предполагающей наличие рациональных противников, чьи бюджеты не превышают staking воздействие механизма. Пользователи, обеспокоенные маловероятным событием отказа механизма в результате: например, противники, обладающие огромными финансовыми ресурсами, могут захотеть использовать дополнительный уровень экономической безопасности в виде страхования от искажения информации. Мы знаем о несколько страховщиков уже намерены предлагать полисы такого типа, подкрепленные смарт-контрактами. для протоколов, защищенных Chainlink, в ближайшем будущем, в том числе с помощью инновационных механизмов, таких как DAOs, например, [7]. Наличие истории производительности для Chainlink узлы и другие данные об узлах, такие как суммы их долей, обеспечивают исключительно прочную основу для актуарной оценки риска, что позволяет определять ценовую политику. способами, которые недороги для держателей полисов, но устойчивы для страховщиков. 17С помощью Town Crier узлы первого уровня дополнительно могут локально генерировать аттестации. правильности отчетов, которые они выдают, и предоставляют эти подтверждения узлам второго уровня на по мере необходимости.Основные формы страхования от предоставления ложной информации могут быть реализованы надежным и эффективным способом с использованием smart contracts. Простой пример: параметрическое страхование. контрактные SCins могут автоматически компенсировать страхователям, если наш механизм стимулирования второй уровень идентифицирует ошибку в отчете, созданном на первом уровне. Пользователь U, желающий приобрести страховой полис, например создатель цели. договор SC, может подать запрос децентрализованному страховщику на сумму полиса миллион долларов по контракту. При утверждении U страховщик может установить постоянный (например, ежемесячный) премия в размере P в SCins. Пока U платит премию, ее полис остается активным. Если в SC произойдет сбой отчетности, результатом будет эмиссия пары (r1, r2) конфликтующих отчетов для SC, где r1 подписан первым уровнем нашего механизма и r2, соответствующий исправленный отчет, подписывается вторым уровнем. Если U предоставляет такую действительную пару (r1, r2) для SCins, контракт автоматически выплачивает ей миллион долларов при условии, что ее страховые взносы актуальны. 9,5 Однораундный вариант Протокол, описанный в предыдущем подразделе, требует, чтобы комитет второго уровня ждал n раундов, чтобы определить, подал ли сторожевой таймер предупреждение. Это Требование выполняется даже в оптимистическом случае, т. е. когда первый уровень функционирует. правильно. Для пользователей, не желающих принимать отчеты оптимистично, т.е. до потенциального вынесения судебного решения, задержка, связанная с таким подходом, будет недопустимой. По этой причине мы также изучаем альтернативные протоколы, требующие всего одного круглый. При таком подходе все узлы oracle отправляют секретные биты, указывающие, есть ли они хотят поднять тревогу. Затем комитет второго уровня проверяет эти значения в приоритетный порядок. В качестве грубого наброска такая схема может включать в себя следующее: шаги: 1. Отправка бита сторожевого таймера: каждый узел Oi секретно разделяет однобитовое значение сторожевого таймера. wi ∈{no alert, alert} среди узлов второго уровня для каждого генерируемого им отчета. 2. Анонимные подсказки. Любой узел oracle может отправить анонимную подсказку α в комитет второго уровня в том же раунде, в котором передаются биты сторожевого таймера. Этот наконечник α — это сообщение, указывающее, что для текущего отчета было создано предупреждение. 3. Проверка битов сторожевого таймера: комитет второго уровня выявляет сторожевой таймер узлов oracle. биты в порядке приоритета. Обратите внимание, что узлы не должны отправлять биты сторожевого таймера предупреждений, если они не предупреждают: в противном случае анализ трафика выявляет биты всех узлов. Протокол не показывает отсутствие предупреждения биты сторожевого таймера узлов с более высоким приоритетом, чем сторожевой таймер оповещения с наивысшим приоритетом. Обратите внимание: то, что обнаружено, идентично нашему протоколу n-раундов. Вознаграждения также распределяются идентично этой схеме, т. е. первый выявленный сторожевой таймер получает сокращенные депозиты узлов, представивших неверные отчеты.Использование анонимных подсказок позволяет комитету второго уровня оставаться неинтерактивным в тех случаях, когда не было подано никаких предупреждений, что снижает сложность коммуникации. в общем случае. Обратите внимание, что любой наблюдатель, который поднимает тревогу, имеет экономический стимул отправлять анонимную информацию: если информация не отправлена, вознаграждение не выплачивается никому. узел. Чтобы гарантировать, что отправитель Oi анонимной подсказки α не может быть идентифицирован с помощью злоумышленника на основе сетевых данных, анонимная подсказка может быть отправлена по анонимному канал, например, через Tor или, что более практично, через прокси через поставщика облачных услуг. Чтобы аутентифицировать подсказку как исходящую от O, Oi может подписать α, используя кольцевую подпись [39, 192]. В качестве альтернативы, чтобы предотвратить необъяснимые атаки типа «отказ в обслуживании» против комитета второго уровня со стороны вредоносного узла oracle, α может быть анонимным идентификатором с отзывная анонимность [73]. Этот протокол, хотя и практически достижим, имеет несколько сложную конструкцию. требования (которые мы изучаем пути снижения). Узлы первого уровня, например, должен напрямую взаимодействовать с узлами второго уровня, что требует ведения каталога. Необходимость в анонимных каналах и кольцевых подписях усложняет разработку. сложность схемы. Наконец, существует специальное требование доверия, которое кратко обсуждается. в примечании ниже. Поэтому мы также изучаем более простые схемы, которые все же достигают суперлинейное staking воздействие, но, возможно, меньше квадратичного, при котором, например, взяткодателю асимптотически необходимы ресурсы, по крайней мере, $n log n. Некоторые из схем ниже рассмотрение предполагает случайный выбор строгого подмножества узлов, которые будут действовать в качестве сторожевых таймеров, в этом случае предполагаемое взяточничество становится особенно мощным нападением. Примечание: Для обеспечения безопасности этого однораундового механизма staking требуется неиспользуемый каналы между oracle и узлами второго уровня — стандартное требование в системах, устойчивых к принуждению, например, голосовании [82, 138], и разумное на практике. Кроме того, однако, узел Oi, который стремится сотрудничать со взяткодателем, может построить передает свою тайну таким образом, чтобы показать взяткодателю, что она закодировала определенный ценность. Например, если Oi не знает, какие узлы контролирует взяткодатель, то Oi может представить акции с нулевой стоимостью всем членам комитета. Затем взяткодатель может проверить данные Ои. соответствие вероятностно. Чтобы избежать этой проблемы в любом однораундном протоколе, мы потребовать, чтобы Oi знал личность хотя бы одного честного узла второго уровня. С интерактивным протоколом, в котором каждый узел второго уровня добавляет рандомизацию фактор акций, лучшее, что может сделать взяткодатель, — это заставить Oi выбрать случайную сторожевой бит. 9,6 Система неявных стимулов (IIF) FFO — это форма неявного стимула за правильное поведение в сети Chainlink. Это выполняет такие же функции, как явная доля, то есть депозиты, поскольку помогает обеспечить экономическую безопасность для сеть. Другими словами, FFO следует включать в состав (эффективного) депозита. $d узла в сети.Вопрос в том, как измерить FFO и другие формы неявного стимулирования. в сети Chainlink? Система неявных стимулов (IIF) представляет собой набор принципы и методы, которые мы планируем разработать для этой цели. Блокчейн-системы обеспечивают множество форм беспрецедентной прозрачности и записи узлов с высоким уровнем доверия. Результаты, которые они создают, являются трамплином для нашего видения того, как будет работать IIF. Здесь мы очень кратко обрисуем идеи по ключевым элементам IIF. Сам IIF будет состоять из набора факторов, которые мы считаем важными при оценке неявные стимулы, а также механизмы публикации соответствующих данных в высоконадежной форме для использования аналитическими алгоритмами. Разные пользователи Chainlink могут хотят использовать IIF по-разному, например, придавая разное значение разным факторам. Мы ожидаем, что в сообществе появятся аналитические сервисы, которые помогут пользователям применять IIF. в соответствии с их индивидуальными предпочтениями в оценке рисков, и наша цель — облегчить такие услуги, обеспечивая им доступ к надежным и своевременным вспомогательным данным, как мы обсудим ниже (раздел 9.6.4). 9.6.1 Возможность будущих комиссий Узлы участвуют в экосистеме Chainlink, чтобы получать долю от комиссий, которые сети выплачивают за любую из различных услуг, которые мы описали в этой статье, от обычные данные передаются в расширенные службы, такие как децентрализованная идентификация, справедливая последовательность, и сохраняющий конфиденциальность DeFi. Плата за Chainlink расходы операторов узлов поддержки сети, например, за эксплуатацию серверов, приобретение необходимых лицензий на передачу данных и обслуживание международный персонал для обеспечения высокой продолжительности безотказной работы. FFO обозначает плату за услуги за вычетом расходов, что узел выиграет в будущем или проиграет, если продемонстрирует ошибочное поведение. FFO — это форма ставки, которая помогает защитить сеть. Полезной особенностью FFO является тот факт, что данные внутри цепочки (дополненные данными вне цепочки) data) создают запись истории узла с высоким уровнем доверия, что позволяет вычислять FFO. прозрачным, эмпирически обоснованным образом. Простой показатель FFO первого порядка может быть получен на основе средней чистой выручки компании. узла за определенный период времени (т. е. валовой доход минус операционные расходы). ФФО может затем рассчитывается, например, как чистая приведенная стоимость [114] совокупного будущего чистого дохода, другими словами, дисконтированная во времени стоимость всех будущих доходов. Однако доход узла может быть нестабильным, как показано, например, на рис. 17. Что еще более важно, доход узла может не соответствовать стационарному распределению. со временем. Следовательно, другие факторы, которые мы планируем изучить при оценке FFO, включают: • История производительности. История производительности оператора, включая правильность и своевременность его отчетов, а также время его бесперебойной работы, дает объективную информацию. пробный камень, позволяющий пользователям оценить его надежность. Таким образом, история производительности будет обеспечивают решающий фактор при выборе пользователями узлов oracle (или, с появлением из DONs, их выбор DONs). Хорошая история производительности, вероятно, коррелируют с высоким текущим доходом.18 18Важным исследовательским вопросом, который мы намерены решить, является выявление фальсифицированных объемов услуг.Рисунок 17. Доход, полученный узлами Chainlink на одном канале данных (ETH-USD) в течение представительная неделя в марте 2021 года. • Доступ к данным. Хотя oracle могут получать множество форм данных из открытых API, определенные формы данных или определенные высококачественные источники могут быть доступны только на на основе подписки или посредством договорных соглашений. Привилегированный доступ к определенным источники данных могут сыграть роль в создании стабильного потока доходов. • Участие DON: С появлением DONs появятся сообщества узлов. вместе для предоставления конкретных услуг. Мы ожидаем, что многие DON будут включать операторов на выборочной основе, устанавливая участие в авторитетных DONs в качестве привилегированное положение на рынке, которое помогает обеспечить постоянный источник дохода. • Межплатформенная деятельность: некоторые операторы узлов могут иметь хорошо зарекомендовавшее себя присутствие и репутацию в других контекстах, например, в качестве PoS validator или поставщики данных в контекстах, отличных от blockchain. Их эффективность в других системах (когда данные о них доступны в достоверной форме) может дать информацию для оценки. истории их выступлений. Аналогично, ошибочное поведение в сети Chainlink может поставить под угрозу доходы в этих других системах, отпугивая пользователей, т. е. FFO может распространяться на разные платформы. 9.6.2 Спекулятивный FFO Операторы узлов участвуют в сети Chainlink не только для получения дохода от операции, а создавать и позиционировать себя, чтобы воспользоваться новыми возможностями для выполнения рабочих мест. Другими словами, расходы oracle узлов сети также равны позитивное заявление о будущем DeFi и других приложений смарт-контрактов домены, а также новые приложения сетей oracle, не относящиеся к blockchain. Сегодня операторы узлов получают комиссию, доступную в существующих сетях Chainlink, и одновременно Это во многом аналогично фальшивым отзывам на интернет-сайтах, за исключением того, что проблема проще в oracle, поскольку у нас есть точная запись о том, были ли заказаны товары, т. е. отчеты, и доставлены — в отличие, например, от физических товаров, заказанных в интернет-магазинах. Другими словами, в oracle При настройке производительность может быть проверена, даже если достоверность клиента невозможна.создать репутацию, историю деятельности и операционный опыт, которые будут позиционировать им выгодно получать комиссионные, доступные в будущих сетях (при условии, конечно, о честном поведении). Узлы, работающие сегодня в экосистеме Chainlink, будут в этом смысле имеют преимущество перед новичками в получении дополнительных комиссионных Chainlink услуги становятся доступными. Это преимущество распространяется на новых операторов, а также технологические компании с устоявшейся репутацией; например, T-Systems, традиционная поставщик технологий (дочерняя компания Deutsche Telekom) и Kraken, крупная централизованная обменом, установили раннее присутствие в экосистеме Chainlink [28, 143]. Такое участие узлов oracle в будущих возможностях можно рассматривать само по себе. как своего рода спекулятивный FFO и, таким образом, представляет собой форму доли в Chainlink сеть. 9.6.3 Внешняя репутация IIF, как мы его описали, может работать в сети строго под псевдонимом. операторов, то есть без раскрытия вовлеченных людей или реальных объектов. Однако одним из потенциально важных факторов при выборе провайдеров пользователями является внешний фактор. репутация. Под внешней репутацией мы подразумеваем восприятие надежности, связанное с реальными личностями, а не с псевдонимами. Репутационный риск, связанный с Реальные идентичности можно рассматривать как форму скрытого стимула. Смотрим на репутацию через призму IIF, то есть в криптоэкономическом смысле, как средство установления межплатформенная деятельность, которая может быть включена в оценки FFO. Выгода от использования внешней репутации как фактора оценки FFO, в отличие от псевдонимной связи, заключается в том, что внешняя репутация связывает производительность не только с существующей деятельности оператора, но и будущей. Если, например, плохая репутация привязывается к отдельному человеку, оно может испортить будущие предприятия этого человека. Иными словами, внешняя репутация может охватывать более широкий спектр FFO, чем псевдонимная репутация. записи о производительности, как последствия должностных преступлений, причастных к лицу или установленных от компании сложнее сбежать, чем от компании, связанной с псевдонимной операцией. Chainlink совместим с децентрализованными технологиями идентификации (раздел 4.3), которые может оказать поддержку при использовании внешней репутации в IIF. Такие технологии может подтвердить и тем самым помочь обеспечить достоверность утверждений операторов в реальном мире. личности.19 9.6.4 Открытая аналитика IIF Как мы уже отмечали, IIF стремится предоставлять надежные данные и инструменты с открытым исходным кодом для неявно-стимулирующая аналитика. Цель состоит в том, чтобы дать возможность поставщикам услуг в сообществе разработать аналитику, адаптированную к потребностям оценки рисков различных частей Chainlink база пользователей. 19Децентрализованные учетные данные также могут, при желании, дополнять псевдонимы проверенными дополнительная информация. Например, оператор узла в принципе может использовать такие учетные данные для доказать, что это компания из списка Fortune 500, не раскрывая, какая именно.Значительный объем исторических данных о доходах и производительности узлов. находится в цепочке в неизменяемой форме с высоким уровнем доверия. Наша цель, однако, состоит в том, чтобы предоставить наиболее полные возможные данные, включая данные о поведении, которое видно только в выключенном состоянии. цепочке, например, отчетность вне цепочки (OCR) или активность DON. Такие данные потенциально могут быть объемным. Лучший способ его хранения и обеспечения его целостности, т. е. защиты от мы полагаем, что вмешательство будет осуществлено с помощью DONs с использованием обсуждаемых методов. в разделе 3.3. Некоторые стимулы поддаются прямому измерению, например staking. депозиты и базовый FFO. Другие, такие как спекулятивный FFO и репутация, труднее оценить. объективным образом, но мы считаем, что поддерживающие формы данных, в том числе исторический рост экосистемы Chainlink, показатели репутации в социальных сетях и т. д., может поддерживать аналитические модели IIF даже для этих трудно поддающихся количественной оценке элементов. Мы можем представить, что специальные DON возникают специально для мониторинга, проверки и записывать данные, относящиеся к записям производительности узлов вне сети, а также другие данные используемые в IIF, например, проверенная идентификационная информация. Эти DON могут предоставлять унифицированные, надежные данные IIF для любых поставщиков аналитики, обслуживающих сообщество Chainlink. Они также предоставят золотой рекорд, подтверждающий заявления поставщиков аналитики. независимо проверяемые сообществом. 9,7 Собираем все вместе: стимулы для операторов узлов Обобщая приведенные выше обсуждения явных и неявных стимулов для операторов узлов. обеспечивает целостное представление о том, как операторы узлов участвуют и получают от этого выгоду. сеть Chainlink. В качестве концептуального руководства мы можем выразить общую сумму активов, поставленных на карту, с помощью заданного Chainlink. оператор узла $S в грубой, стилизованной форме: \(S ≈\)D + \(F + \)FS + $R, где: • $D — это совокупность всех явно внесенных ставок во всех сетях, в которых участвует оператор; • $F — это чистая приведенная стоимость совокупности всех FFO во всех сетях в в которых участвует оператор; • $FS – чистая приведенная стоимость спекулятивного FFO оператора; и • $R — репутационный капитал оператора за пределами экосистемы Chainlink. это может быть поставлено под угрозу из-за выявленного неправильного поведения в его узлах oracle. Хотя это грубое равенство в значительной степени концептуально, оно показывает, что существует множество экономических факторов, благоприятствующих высокой надежности работы узлов Chainlink. Все эти факторы, кроме $D, присутствуют в сегодняшних сетях Chainlink.9,8 Благотворный цикл экономической безопасности Сочетание суперлинейного staking воздействия с представлением выплат комиссионных поскольку возможность будущих комиссий (FFO) в IIF может привести к тому, что мы называем благотворным циклом экономической безопасности в сети oracle. Это можно рассматривать как своего рода экономику. масштаба. По мере того как общая сумма, обеспеченная конкретной сетью, увеличивается, сумма дополнительная ставка, необходимая для добавления фиксированной суммы экономической безопасности, уменьшается, как и средняя стоимость на пользователя. Таким образом, с точки зрения комиссии пользователю дешевле присоединиться. уже существующей сети, чем добиться такого же роста сетевой экономики. безопасность путем создания новой сети. Важно отметить, что добавление каждого нового пользователя снижает стоимость услуги для всех предыдущих пользователей этой сети. Учитывая конкретную структуру комиссий (например, конкретную ставку доходности от поставленной суммы), если общая сумма комиссий, получаемых сетью, увеличивается, это стимулирует приток дополнительных сделайте ставку в сети, чтобы обеспечить ее более высокую скорость. В частности, если общая ставка отдельный узел, который может удерживаться в системе, ограничен, а затем при новых выплатах комиссионных войдут в систему, повысив ее FFO, число узлов n увеличится. Благодаря суперлинейное staking влияние нашей системы стимулирования, экономическая безопасность система будет расти быстрее, чем n, например, как n2 в механизме, который мы обрисовали в разделе 9.4. В результате средние затраты на экономическую безопасность, т. е. размер доли, вносящей вклад, доллар экономической безопасности — упадет. Таким образом, сеть может взимать плату со своих пользователей более низкие комиссии. Предполагая, что спрос на услуги oracle эластичен (краткое описание см., например, в [31]). объяснение), спрос вырастет, что приведет к появлению дополнительных комиссий и FFO. Проиллюстрируем это положение следующим примером. Пример 5. Поскольку экономическая безопасность сети oracle с нашим стимулом схема \(dn2 for stake \)dn, экономическая безопасность обеспечивается долларом доли является n и, следовательно, средняя стоимость доллара экономической безопасности, т. е. сумма ставки вклад в доллар экономической безопасности — равен 1/n. Рассмотрим сеть, в которой экономические стимулы полностью состоят из FFO, ограниченного по \(d ≤\)10K на узел. Предположим, что в сети n = 3 узла. Тогда средняя стоимость на доллар экономической безопасности составляет около $0,33. Предположим, что общий FFO сети превышает \(30K (e.g., to \)31K). Учитывая ограничение FFO на узел, сеть вырастает (как минимум) до n = 4. Теперь средняя стоимость на доллар экономической безопасности падает примерно до 0,25 доллара. Полный благотворный цикл экономической безопасности в сетях oracle мы схематически иллюстрируем на рис. 18. Мы подчеркиваем, что благотворный цикл экономической безопасности возникает из-за эффекта пользователей объединяют свои сборы. Именно их коллективный FFO работает в пользу более крупных размеры сети и, следовательно, большая коллективная безопасность. Мы также отмечаем, что благотворный цикл Экономическая безопасность способствует достижению DON финансовой устойчивости. Однажды созданные DON, отвечающие потребностям пользователей, должны вырасти до точки, в которой доходы от комиссий превышают эксплуатационные расходы для oracle узлов.

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

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

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

Рисунок 18: Схема благотворного цикла Chainlink staking. Повышение абонентской платы платежи в сеть oracle 1⃝вызывают ее рост, что приводит к росту ее экономической безопасность 2⃝. Этот сверхлинейный рост обеспечивает эффект масштаба в сетях Chainlink. 3⃝. В частности, это означает снижение средней стоимости экономической безопасности, т.е. экономическая безопасность в расчете на доллар, возникающая в результате выплат комиссий или других источников участия увеличивается. Снижение затрат, ложащихся на плечи пользователей, стимулирует рост спроса на oracle. услуги 4⃝. 9,9 Дополнительные факторы, способствующие росту сети Поскольку экосистема Chainlink продолжает расширяться, мы считаем, что ее привлекательность для пользователей и важность инфраструктуры для экономики blockchain будет возрастать. Значение, предоставляемое сетями oracle, является суперлинейным, то есть оно растет быстрее.чем размер самих сетей. Этот рост стоимости обусловлен как экономия на масштабе — более высокая эффективность затрат на пользователя по мере увеличения объемов услуг — и сетевой эффект — повышение полезности сети по мере более широкого внедрения пользователями DONs. Поскольку существующие smart contract продолжают видеть большую ценность и совершенно новые smart contract приложений стало возможным благодаря более децентрализованным службам, общее количество использование и совокупные сборы, выплачиваемые DONs, должны вырасти. Увеличение пулов сборов в превратиться в средства и стимул для создания еще более децентрализованных услуг, что приводит к созданию добродетельного цикла. Этот благотворный цикл решает важнейшую проблему курицы и яйца. проблема в гибридной экосистеме smart contract: инновационные функции smart contract часто требуются децентрализованные услуги, которых еще не существует (например, новые рынки DeFi часто требуются новые потоки данных), но для их существования необходим достаточный экономический спрос. Объединение комиссий различных smart contract за существующие DON будет сигнализировать о спросе на дополнительные децентрализованные услуги от растущей базы пользователей, что приводит к их созданию авторами DONs и постоянным внедрением новых и разнообразных гибридных smart contracts. Подводя итог, мы считаем, что рост сетевой безопасности, обусловленный добродетельными циклы в механизме Chainlink staking иллюстрируют более крупные модели роста, которые Сеть Chainlink может помочь создать ончейн-экономику для децентрализованных услуги.

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

Conclusion

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.

Заключение

В этой статье мы изложили видение эволюции Chainlink. Основная тема в этом видении речь идет о способности сетей oracle предоставлять гораздо более широкий спектр услуг для smart contracts, чем просто доставка данных. Используя DON в качестве основы для децентрализованных сервисов будущего, Chainlink будет стремиться обеспечить производительную функциональность oracle с повышенной конфиденциальностью. Его сети oracle будут обеспечивать строгую минимизацию доверия. посредством комбинации принципиальных криптоэкономических механизмов, таких как staking и тщательно продуманные защитные ограждения и контроль уровня обслуживания в основных цепочках. DONs также поможет системам уровня 2 обеспечить гибкую и справедливую политику упорядочения транзакций, а также снизить затраты на газ для транзакций, маршрутизируемых мемпулом. Взятые вместе, все эти возможности ведут к созданию безопасных и богато функциональных гибридных интеллектуальных систем. контракты. Гибкость DONs улучшит существующие услуги Chainlink и приведет к появлению множество дополнительных smart contract функций и приложений. Среди них бесшовные подключение к широкому спектру автономных систем, децентрализованное создание личности из существующие данные, приоритетные каналы, которые помогут обеспечить своевременную доставку критически важных для инфраструктуры транзакции и инструменты, сохраняющие конфиденциальность DeFi. Видение, которое мы здесь изложили, амбициозно. В краткосрочной перспективе мы стремимся расширить возможности гибридные контракты для достижения целей, недоступных сегодня smart contracts, в то время как в долгосрочной перспективе мы стремимся реализовать децентрализованный метауровень. К счастью, мы можем рисовать о новых инструментах и идеях — от алгоритмов консенсуса до доказательства с нулевым разглашением системы — что сообщество развивается как результат быстро развивающихся исследований.

Аналогичным образом, мы рассчитываем уделить приоритетное внимание реализации идей, изложенных в этой статье, в ответ на это. потребностям сообщества пользователей Chainlink. Ждём следующего этапа в нашем стремлении расширить возможности smart contracts посредством универсального подключения и создать децентрализованные технологии как основа следующего поколения мировой финансовой системы. и правовые системы. Благодарности Спасибо Джулиану Альтерини и Шону Ли за визуализацию рисунков в этой статье.