Chainlink:去中心化的预言机网络
초록
이 백서에서 우리는 원본 Chainlink 백서의 초기 개념을 넘어 Chainlink의 진화에 대한 비전을 명확히 설명합니다. 우리는 예측한다 oracle 네트워크의 역할이 점차 확대되고 있으며, 빠르고 안정적이며 기밀성을 유지하는 범용 연결 및 오프체인 계산 smart contracts. 우리 계획의 기초는 분산형 Oracle 네트워크라고 부르는 것입니다. 줄여서 DONs입니다. DON은 Chainlink 위원회에서 유지 관리하는 네트워크입니다. 노드. 선택한 oracle 기능을 무제한으로 지원합니다. 위원회에 의한 배치. 따라서 DON은 강력한 추상화 계층 역할을 합니다. 광범위한 오프체인 리소스에 대한 smart contracts에 대한 인터페이스를 제공하고 DON 자체 내 효율적이면서도 분산된 오프체인 컴퓨팅 리소스입니다. DONs를 발판으로 Chainlink은 7개 분야의 발전에 집중할 계획입니다. 주요 분야: • 하이브리드 smart contracts: 온체인을 안전하게 구성하여 기존 smart contract 기능을 강화하기 위한 강력하고 일반적인 프레임워크 제공 그리고 오프체인 컴퓨팅 리소스를 우리가 하이브리드 smart contract라고 부르는 것으로 만들었습니다. • 복잡성 추상화: 개발자와 사용자에게 간단한 설명을 제공합니다. 기능을 사용하면 복잡한 기본 기능에 익숙할 필요가 없습니다. 프로토콜 및 시스템 경계. • 확장: oracle 서비스가 지연 시간 및 처리량을 달성하도록 보장 고성능 분산 시스템이 요구하는 것입니다. • 기밀성: blockchains'를 결합한 차세대 시스템 구현 민감한 정보에 대한 강력한 새 기밀 보호 기능을 갖춘 타고난 투명성 데이터. • 거래에 대한 주문 공정성: 다양한 방식으로 거래 순서 지원 최종 사용자에게 공정하고 선행 공격 및 기타 공격을 방지합니다. 봇과 착취적인 광부. • 신뢰 최소화: 매우 신뢰할 수 있는 지원 계층 생성 smart contracts 및 기타 oracle 종속 시스템은 분산화, 높은 보안 수준의 강력한 고정 blockchains, 암호화를 통해 기술 및 암호화폐 경제 보장. • 인센티브 기반(암호경제적) 보안: DONs의 노드가 자원이 풍부한 적들 앞에서도 안정적이고 올바르게 행동할 수 있는 강력한 경제적 인센티브를 갖도록 하는 메커니즘을 엄격하게 설계하고 강력하게 배포합니다. 우리는 Chainlink 커뮤니티의 예비적이고 지속적인 혁신을 제시합니다. 각 영역에서 확장되고 점점 더 커지는 그림을 제공합니다. Chainlink 네트워크에 강력한 기능이 계획되어 있습니다.
摘要
在本白皮书中,我们阐述了 Chainlink 的演变愿景,超越了原始 Chainlink 白皮书中的最初构想。 我们预见 oracle 网络的作用日益扩大,通过提供快速、可靠和可靠的服务来补充和增强现有和新的 blockchain 保密性通用连接和链外计算 smart contracts。 我们计划的基础是我们所说的去中心化预言机网络,或者 简称 DONs。 DON 是由 Chainlink 委员会维护的网络 节点。 它支持任何无限范围的 oracle 函数选择 由委员会部署。因此 DON 充当强大的抽象层, 为 smart contract 提供广泛的链下资源和高度的接口 DON 本身内高效且去中心化的链外计算资源。 以 DONs 作为跳板,Chainlink 计划重点关注七个方面的进展 关键领域: • 混合smart contracts:提供一个强大的通用框架,通过安全地在链上组合来增强现有的smart contract功能 和链下计算资源进入我们所说的混合smart contract。 • 抽象化复杂性:向开发人员和用户提供简单的 功能消除了熟悉复杂底层的需要 协议和系统边界。 • 扩展:确保oracle 服务实现延迟和吞吐量 高性能去中心化系统的需求。 • 保密性:支持结合blockchains’的下一代系统 与生俱来的透明度,为敏感信息提供强大的新保密保护 数据。 • 交易的顺序公平性:以多种方式支持交易排序 这对最终用户来说是公平的,并防止抢先交易和其他攻击 机器人和剥削性矿工。 • 信任最小化:创建高度值得信赖的支持层 smart contracts 和其他 oracle 依赖系统,通过去中心化、强锚定于高安全性 blockchains、加密 技术和加密经济保证。 • 基于激励的(加密经济)安全性:严格设计和稳健部署机制,确保 DON 中的节点具有强大的经济激励,即使面对资源充足的对手,也能可靠、正确地行事。 我们展示 Chainlink 社区的初步和持续创新 在每个领域,提供了一幅不断扩大和日益增长的图景 为 Chainlink 网络规划的强大功能。
소개

블록체인 oracle은 오늘날 한 가지 목표를 가진 분산형 서비스로 간주되는 경우가 많습니다. 오프체인 리소스의 데이터를 blockchains로 전달합니다. 짧은 걸음이지만, 데이터 전달부터 컴퓨팅, 저장, 양방향 전송까지. 이러한 관찰은 oracles의 기능에 대한 훨씬 더 광범위한 개념을 정당화합니다. 너무도 smart contracts의 증가하는 서비스 요구 사항을 수행하고 점점 더 다각화됩니다. oracle 네트워크에 의존하는 기술. 간단히 말해서, oracle는 다음을 수행할 수 있고 필요합니다. 온체인 시스템과 오프체인 시스템 간의 범용, 양방향, 컴퓨팅 지원 인터페이스입니다. blockchain 생태계에서 오라클의 역할은 smart contract의 성능, 기능 및 상호 운용성을 다양한 산업에 새로운 신뢰 모델과 투명성을 제공합니다. 이러한 변화는 하이브리드 smart contract의 사용 확대를 통해 이루어질 것입니다. blockchains의 특별한 속성은 다음과 같은 오프체인 시스템의 고유한 기능을 갖추고 있습니다. oracle 네트워크를 구축하여 온체인 시스템보다 훨씬 더 큰 도달 범위와 성능을 달성합니다. 고립되어 있습니다. 이 백서에서 우리는 원래 Chainlink 백서 [98]의 초기 개념을 뛰어넘는 Chainlink의 진화인 Chainlink 2.0에 대한 비전을 명확히 설명합니다. 우리는 oracle 네트워크의 역할이 점점 더 확장될 것으로 예상합니다. 하이브리드를 위한 빠르고 안정적이며 기밀성을 유지하는 범용 연결 및 계산을 제공하여 기존 및 새로운 blockchain을 보완하고 향상합니다. smart contracts. 우리는 oracle 네트워크가 유틸리티로 발전할 것이라고 믿습니다. 높은 무결성의 blockchain급 데이터를 blockchain 이상의 시스템으로 내보내는 데 사용됩니다. 생태계. 오늘날 다양한 개체 집합이 운영하는 Chainlink 노드는 oracle 네트워크에 모여 보고서라고 알려진 데이터를 smart contract에 전달합니다. 우리는 그러한 것을 볼 수 있습니다 oracle 노드는 고전적 합의 blockchain [72]과 유사한 위원회로서, 그러나 독립된 기능을 제공하기보다는 기존 blockchain을 지원하는 것이 목표입니다. 검증 가능한 무작위 함수(VRF) 및 오프체인 보고 (OCR), Chainlink은(는) smart contract에 필요한 계산 리소스를 제공하기 위한 범용 프레임워크 및 인프라로 이미 발전하고 있습니다. 고급 기능. Chainlink 2.0에 대한 우리 계획의 기초는 우리가 분산형 Oracle이라고 부르는 것입니다. 네트워크, 줄여서 DON입니다. "oracle 네트워크"라는 용어를 도입한 이후 원본 Chainlink 백서 [98], oracles는 더욱 풍부한 기능과 적용 범위가 넓습니다. 본 논문에서는 다음과 같은 용어에 대한 새로운 정의를 제공합니다. Chainlink 생태계에 대한 미래 비전을 소개합니다. 이 보기에서 DON은 네트워크입니다. Chainlink 노드로 구성된 위원회에서 유지관리합니다. 합의 프로토콜에 뿌리를 두고 있으며, 배포를 위해 선택한 oracle 기능을 무제한으로 지원합니다. 위원회. 따라서 DON는 blockchain 추상화 계층 역할을 하여 인터페이스를 제공합니다. smart contracts 및 기타 시스템 모두에 대한 오프체인 리소스에 연결됩니다. 그것은 또한 제공합니다 매우 효율적이면서도 분산화된 오프체인 컴퓨팅 리소스에 액세스할 수 있습니다. 일반적으로, DON은 메인 체인에서의 작업을 지원합니다. 그 목표는 안전하고 유연한 서비스를 제공하는 것입니다.온체인 및 오프체인 계산을 결합한 하이브리드 smart contracts 외부 리소스에 대한 연결. 우리는 DONs에서 위원회를 사용하더라도 Chainlink 자체가 본질적으로 허가가 없는 상태로 유지됩니다. DONs는 무허가형의 기초 역할을 합니다. 노드가 함께 모여 사용자 정의 oracle 네트워크를 구현할 수 있는 프레임워크 허가되거나 허가되지 않을 수 있는 노드 포함에 대한 자체 체제. DONs를 기반으로 Chainlink 2.0에서는 7개 분야의 발전에 집중할 계획입니다. 핵심 영역: 하이브리드 smart contracts, 복잡성 추상화, 확장성, 기밀성, 거래 주문 공정성, 신뢰 최소화 및 인센티브 기반(암호경제적) 보안. 이 백서 소개에서는 분산화의 개요를 제시합니다. 섹션 1.1의 Oracle Networks와 섹션 1.2의 7가지 주요 혁신 영역. 섹션 1.3에서 이 문서의 나머지 부분의 구성을 설명합니다. 1.1 분산형 오라클 네트워크 분산형 Oracle 네트워크는 기능을 향상하고 확장하도록 설계되었습니다. 대상 blockchain 또는 다음 기능을 통한 메인 체인의 smart contract 기본적으로 사용할 수 없습니다. 그들은 다음의 세 가지 기본 리소스를 제공하여 이를 수행합니다. 컴퓨팅 시스템: 네트워킹, 저장 및 계산. DON은(는) 다음을 제공하는 것을 목표로 합니다. 강력한 기밀성, 무결성 및 가용성 속성을 지닌 이러한 리소스는1 책임감도 그렇고. DONs는 특정 목적을 달성하기 위해 협력하는 oracle 노드 위원회로 구성됩니다. 직업을 갖거나 지속적인 서비스를 제공하기 위해 장기적인 관계 구축을 선택합니다. 클라이언트에게. DON은 blockchain에 구애받지 않는 방식으로 설계되었습니다. 그들은 다음과 같은 역할을 할 것을 약속합니다. 애플리케이션 개발자가 오프체인 지원을 생성할 수 있는 강력하고 유연한 도구입니다. 지원되는 메인 체인의 smart contracts. DON의 기능을 실현하는 두 가지 유형의 기능: 실행 파일 및 어댑터. 실행 파일은 DON에서 분산 방식으로 지속적으로 실행되는 프로그램입니다. 메인체인 자산을 직접 저장하지는 않지만 고성능 및 기밀 수행 능력을 포함한 중요한 이점이 있습니다. 계산. 실행 파일은 DON에서 자율적으로 실행되며 결정론적 수행을 수행합니다. 운영. DON을 외부 리소스에 연결하는 어댑터와 함께 작동합니다. 실행 파일에 의해 호출될 수 있습니다. DONs에 대해 우리가 구상한 어댑터는 오늘 Chainlink의 외부 어댑터 일반화. 기존 어댑터 중 일반적으로 데이터 소스에서만 데이터를 가져오며 어댑터는 양방향으로 작동할 수 있습니다. 안으로 DONs, 그들은 추가로 DON 노드의 공동 계산을 활용하여 다음을 달성할 수 있습니다. 개인 정보 보호 소비를 위한 보고서 암호화와 같은 추가 기능 실행 파일. DON의 기본 작동에 대한 이해를 제공하기 위해 그림 1은 개념적으로 DON은(는) blockchain에 보고서를 보내는 데 사용되어 기존의 oracle 기능을 달성할 수 있습니다. DONs는 그 이상의 많은 추가 기능을 제공할 수 있습니다. 1정보 보안의 "CIA 3대 요소" [123, p. 26, §2.3.5].Chainlink의 기존 네트워크. 예를 들어, 그림 1의 일반적인 구조 내에서, 실행 파일은 가져온 자산 가격 데이터를 DON에 기록할 수 있습니다. 예를 들어 보고서의 후행 평균을 계산합니다. 그림 1: 분산형 Oracle 네트워크가 기본 oracle 기능(예: 오프체인 데이터를 계약서에 전달)을 실현하는 방법을 예로 보여주는 개념적 그림. 안 실행 파일은 어댑터를 사용하여 오프체인 데이터를 가져와서 계산하고 출력을 보냅니다. 다른 어댑터를 통해 대상 blockchain에 연결합니다. (어댑터는 DON, 작은 파란색 상자로 표시됩니다. 화살표는 이에 대한 데이터 흐름 방향을 나타냅니다. 특정 예.) 실행 파일은 추가로 로컬 DON을 읽고 쓸 수 있습니다. 상태를 유지하고/하거나 다른 실행 파일과 통신하기 위한 저장소입니다. 여기에 제시된 DONs의 유연한 네트워킹, 계산 및 저장 기능을 통해 다양한 새로운 기능을 사용할 수 있습니다. 응용 프로그램. DONs의 주요 이점은 새로운 blockchain 서비스를 부트스트랩하는 기능입니다. DONs 기존 oracle 네트워크가 서비스 애플리케이션을 신속하게 구축할 수 있는 수단입니다. 이를 위해서는 오늘날 특수 목적으로 구축된 네트워크를 구축해야 합니다. 우리는 여러 가지를 제공합니다 섹션 4에 그러한 적용 사례가 나와 있습니다. 섹션 3에서는 DON에 대한 자세한 내용을 제공하고 해당 기능을 설명합니다. 개발자와 사용자에게 제공되는 인터페이스의 용어입니다. 1.2 7가지 주요 설계 목표 여기서는 위에서 열거한 7가지 핵심 초점을 간략하게 검토해 보겠습니다. Chainlink, 즉:하이브리드 smart contracts: Chainlink에 대한 우리 비전의 핵심은 보안이라는 아이디어입니다. smart contracts에서 온체인 및 오프체인 구성 요소를 결합합니다. 우리는 계약을 참조 이 아이디어를 하이브리드 smart contract 또는 하이브리드 계약으로 실현합니다.2 블록체인은 분산형 서비스에서 두 가지 중요한 역할을 수행하고 있으며 앞으로도 계속 그럴 것입니다. 생태계: 둘 다 암호화폐 소유권이 표현되는 장소입니다. 분산형 서비스를 위한 강력한 기반입니다. 따라서 스마트 계약은 체인에서 표현되거나 실행되어야 하지만 온체인 기능은 심각하게 제한됩니다. 순전히 온체인 계약 코드는 느리고, 비용이 많이 들고, 고립되어 있어 실제 세계의 이점을 누릴 수 없습니다. 다양한 형태의 기밀 계산, (의사)무작위성 생성 등 체인에서 본질적으로 달성할 수 없는 다양한 기능과 데이터 광부 / validator 조작 등에 대한 반대 따라서 smart contracts가 잠재력을 최대한 실현하려면 smart contracts가 필요합니다. 온체인 부분(일반적으로 SC로 표시)의 두 부분으로 구성됩니다. 그리고 DON에서 실행되는 실행 파일인 오프체인 부분(일반적으로 실행). 목표는 다음과 같은 온체인 기능의 안전한 구성을 달성하는 것입니다. DONs가 제공하고자 하는 다양한 오프체인 서비스. 두 부분이 함께 하이브리드 계약을 맺습니다. 우리는 그림 2에 개념적으로 아이디어를 제시합니다. 이미 오늘, Chainlink 데이터 피드 및 VRF와 같은 서비스3는 다른 방법으로는 달성할 수 없는 기능을 제공합니다. smart contract 애플리케이션은 DeFi에서 공정하게 생성된 NFT에 이르기까지 분산형 보험에 이르기까지 보다 일반적인 프레임워크를 향한 첫 번째 단계입니다. Chainlink 서비스로 이 백서의 비전에 따라 더 많은 성능을 확장하고 성장시킵니다. 모든 blockchain에 걸쳐 smart contract 시스템의 성능을 발휘하게 됩니다. 이 백서에 있는 다른 6가지 주요 초점은 서비스에서 작동하는 것으로 볼 수 있습니다. 첫째, 하이브리드 계약 중 가장 중요한 것 중 하나입니다. 이러한 초점에는 가시적인 제거가 포함됩니다. 하이브리드 계약으로 인한 복잡성으로 인해 추가적인 오프체인 서비스가 생성됩니다. 더욱 강력한 하이브리드 계약을 구축하고, 신뢰 최소화의 경우 하이브리드 계약을 통해 달성된 보안 속성을 강화합니다. 우리는 아이디어를 떠난다 논문의 대부분에 걸쳐 암묵적으로 혼합 계약이 존재하지만, DON이 포함된 MAINCHAIN 로직은 하이브리드 계약으로 볼 수 있습니다. 복잡성 추상화: DON은 분산화를 사용하도록 설계되었습니다. 종종 복잡한 기계를 추상화하여 개발자와 사용자가 쉽게 사용할 수 있는 시스템 DONs의 강력하고 유연한 서비스를 지원합니다. 기존 Chainlink 서비스 이미 이 기능이 있습니다. 예를 들어, 오늘날 Chainlink의 데이터 피드는 개발자가 프로토콜 수준의 세부 사항에 대해 걱정할 필요가 없는 온체인 인터페이스를 제공합니다. 2온체인/오프체인 계약 구성에 대한 아이디어는 이전에 다양한 제약 조건에서 나타났습니다. 양식(예: 레이어 2 시스템, TEE 기반 blockchains [80] 등)을 지원하고 일반화하는 것이 우리의 목표입니다. 이러한 접근 방식을 통해 오프체인 데이터 액세스 및 기타 키를 포괄할 수 있는지 확인합니다. oracle 서비스. 3Chainlink 서비스는 다음을 통해 제공되는 다양한 분산형 서비스와 기능으로 구성됩니다. 네트워크. 다양한 oracle 네트워크로 구성된 수많은 노드 운영자가 제공합니다. 생태계 전반에 걸쳐.그림 2: 온체인/오프체인 계약 구성을 나타내는 개념적 그림. 에이 하이브리드 smart contract 3⃝은 두 가지 보완적인 구성 요소, 즉 온체인으로 구성됩니다. blockchain에 상주하는 구성 요소 SC 1⃝ 및 오프 체인 구성 요소 exec 2⃝ DON에서 실행됩니다. DON은 두 구성요소 사이의 브리지 역할도 합니다. 웹 서비스 등 오프체인 리소스와 하이브리드 컨트랙트를 연결하는 등 blockchains, 분산형 저장소 등 분산된 노드 세트. DONs는 Chainlink이 개발자에게 추상화 계층을 제공할 수 있는 서비스 범위 높은 수준의 서비스를 위한 간소화된 인터페이스를 제공합니다. 이 접근 방식을 강조하는 몇 가지 응용 사례를 섹션 4에 제시합니다. 예를 들어 우리는 DONs를 보안 미들웨어의 한 형태로 사용하는 기업을 구상합니다. 레거시 시스템을 blockchain에 연결하세요. (섹션 4.2 참조) DON을 사용하면 일반적인 blockchain 역학(수수료, 재구성 등)의 복잡성이 추상화됩니다. 그것은 또한 특정 blockchain의 기능을 추상화하여 기업이 기존 시스템을 계속 확장되는 blockchain 시스템 어레이에 연결할 수 있도록 합니다. 이러한 시스템 또는 더 일반적으로는 분산형 시스템 개발에 대한 전문 지식이 필요합니다. 궁극적으로 우리의 목표는 Chainlink에 의해 달성된 추상화 수준을 높이는 것입니다. 우리가 분산형 메타레이어라고 부르는 것을 구현하는 지점까지 말이죠. 그러한 층 모든 계층의 개발자에 대한 온체인/오프체인 구분을 추상화합니다. 및 DApp 사용자를 통해 분산형 서비스를 원활하게 생성하고 사용할 수 있습니다.개발 프로세스를 단순화하기 위해 개발자는 메타 레이어의 DApp 기능을 통합 머신 모델의 가상 애플리케이션으로 지정할 수 있습니다. 그들은 할 수 있었다 그런 다음 분산형 금속층 컴파일러를 사용하여 DApp을 자동으로 인스턴스화합니다. blockchains, DONs에 걸쳐 상호 운용되는 분산 기능 세트 및 외부 서비스. (이러한 외부 서비스 중 하나는 엔터프라이즈 시스템일 수 있으므로 레거시 엔터프라이즈 시스템과 관련된 애플리케이션에 메타레이어를 유용하게 만듭니다.) 컴파일은 최신 컴파일러 및 소프트웨어 개발 키트(SDK)와 유사합니다. 이기종 하드웨어의 잠재력을 최대한 활용하는 일반 프로그래머 지원 범용 CPU와 GPU와 같은 특수 하드웨어로 구성된 아키텍처, 기계 학습 가속기 또는 신뢰할 수 있는 엔클레이브. 그림 3은 이 아이디어를 개념적 수준으로 제시합니다. 하이브리드 smart contract는 이 비전과 메타 계약이라고 부르는 개념을 향한 첫 번째 단계입니다. 메타 계약은 분산형 시스템에 코딩된 애플리케이션입니다. 메타레이어는 온체인 로직(smart contracts)뿐만 아니라 오프체인 계산 및 다양한 blockchains와 기존 오프체인 간의 연결을 암시적으로 포함합니다. 서비스. 언어 및 컴파일러 지원의 필요성을 고려하여 새로운 보안 모델 및 서로 다른 기술의 개념적, 기술적 조화는 실현되지만, 진정한 분산형 금속층을 구축하는 것은 우리가 오랫동안 열망해 온 야심찬 목표입니다. 시간 지평선. 그럼에도 불구하고 읽는 동안 명심해야 할 유용한 이상적인 모델입니다. 이 문서는 여기에 자세히 설명되어 있지 않지만 향후 작업에서 집중할 계획입니다. Chainlink. 스케일링: 진화하는 디자인에서 가장 중요한 목표는 Chainlink 네트워크는 blockchain 생태계의 증가하는 확장 요구 사항을 충족합니다. 기존 무허가형 환경에서는 네트워크 정체가 반복적으로 문제가 되면서 blockchains [86], 새롭고 더 성능이 뛰어난 blockchain 디자인이 사용되기 시작했습니다. 예를 들어 [103, 120, 203]과 보완적인 레이어 2 스케일링 기술(예: [5, 12, 121, 141, 169, 186, 187]. Oracle 서비스는 지연 시간과 처리량을 달성해야 합니다. 온체인 수수료를 최소화하면서 이러한 시스템의 성능 요구 사항을 충족합니다. (예: 가스 비용) 계약 운영자와 일반 사용자 모두에게 적용됩니다. DONs, Chainlink 사용 기능은 더 나아가 순수한 웹 기반 시스템에 충분히 높은 성능을 제공하는 것을 목표로 합니다. DONs는 blockchains와 결합된 빠른 위원회 기반 또는 무허가 합의 프로토콜을 사용하여 많은 성능 향상을 얻습니다. 그들은 지원합니다. 우리는 서로 다른 구성을 가진 많은 DON이 병렬로 실행될 것으로 예상합니다. 다양한 DApp과 사용자는 기본 합의 선택에서 트레이드오프를 탐색할 수 있습니다. 그들의 신청 요구 사항에 따라. DON은 사실상 레이어 2 기술로 볼 수 있습니다. 우리는 그 중에서 다른 서비스에서는 DONs가 TEF(Transaction Execution Framework)를 지원합니다. DON 및 oracle을 다른 고성능 제품과 효율적으로 통합할 수 있습니다. 레이어 2 시스템(예: rollups, 달성하기 위해 오프체인 트랜잭션을 번들로 묶는 시스템) 성능 개선. 섹션 6에서 TEF를 소개합니다.

그림 3: 분산형 금속층의 이상적인 구현을 보여주는 개념적 그림. 에 대한 개발의 용이성을 위해 개발자는 분홍색으로 강조된 DApp을 가상 애플리케이션으로 지정합니다. 통합 기계 모델에 적용. 분산형 메탈레이어 컴파일러는 해당 상호 운용 기능을 자동으로 생성합니다: smart contracts(표시됨) SC별), DONs의 논리(exec로 표시됨), 대상 외부 서비스에 연결하는 어댑터 등은 노란색으로 강조 표시됩니다. 그림 4는 DONs가 blockchain(smart contract) 스케일링을 어떻게 개선하는지 개념적으로 보여줍니다. 거래 및 oracle-보고서 처리를 온체인이 아닌 오프체인에 집중함으로써 체인. 계산의 주요 위치가 바뀌면 트랜잭션 대기 시간이 줄어들고 거래 처리량을 높이는 동시에 수수료를 부과합니다. 기밀성: 블록체인은 smart contracts 및 그들이 실현하는 애플리케이션에 대해 전례 없는 투명성을 제공합니다. 그러나 투명성과 기밀성 사이에는 기본적인 긴장이 있습니다. 예를 들어, 오늘날 사용자의 분산형 교환 거래는그림 4: 분산형 Oracle 네트워크가 어떻게 성능을 향상시키는지를 보여주는 개념적 그림 blockchain 활성화된 smart contract의 크기 조정. 그림 A ⃝는 기존의 oracle을 보여줍니다. 건축. 거래는 oracle 보고서와 마찬가지로 blockchain로 직접 전송됩니다. 따라서 노란색으로 강조 표시된 blockchain은 트랜잭션 처리의 주요 위치입니다. 그림 B⃝는 blockchain에 대한 계약을 지원하기 위해 DON을 사용하는 것을 보여줍니다. A DON 실행 파일은 외부 시스템의 데이터와 함께 트랜잭션을 처리하고 전달합니다. 결과(예: 번들 트랜잭션 또는 트랜잭션 효과로 인한 계약 상태 변경)를 blockchain에 보냅니다. 따라서 노란색으로 강조 표시된 DON가 주요 트랜잭션 처리를 위한 위치입니다. 활동은 체인에 기록되므로 교환 활동을 쉽게 모니터링할 수 있을 뿐만 아니라 사용자의 금융 거래를 공개적으로 표시합니다. 마찬가지로 데이터가 스마트로 전달됩니다. 계약은 체인에 남아 있습니다. 이를 통해 이러한 데이터를 편리하게 감사할 수 있지만 다음과 같은 역할을 합니다. smart contract에 민감하거나 민감한 데이터를 제공하려는 데이터 제공자에게는 방해가 됩니다. 독점 데이터. 우리는 oracle 네트워크가 차세대 촉매 역할을 할 것이라고 믿습니다. blockchains의 타고난 투명성과 새로운 기밀 보호 기능을 결합한 시스템입니다. 이 문서에서는 세 가지 주요 접근 방식을 사용하여 이를 수행하는 방법을 보여줍니다. • 기밀 유지 어댑터: 계획된 배포가 포함된 두 가지 기술 Chainlink의 네트워크 DECO [234] 및 Town Crier [233]에서 oracle 노드를 활성화합니다. 사용자 개인정보와 데이터를 보호하는 방식으로 오프체인 시스템에서 데이터를 검색합니다. 기밀성. 이는 DONs용 어댑터 설계에서 중요한 역할을 합니다. (이 두 기술에 대한 자세한 내용은 섹션 3.6.2를 참조하세요.) • 기밀 계산: DONs는 blockchains에 의존하지 않도록 자신의 계산을 숨길 수 있습니다. 안전한 다자간 계산 및/또는 신뢰할 수 있는 실행 환경을 사용하면 DON 노드에서 더 강력한 기밀성이 가능합니다. 자신이 볼 수 없는 데이터에 대해 계산합니다.


• 기밀 레이어 2 시스템 지원: TEF는 다양한 레이어 2 시스템을 지원하도록 설계되었으며, 그 중 다수는 영지식 증명을 사용하여 다음을 제공합니다. 다양한 형태의 거래 기밀성. 섹션 3에서 이러한 접근 방식을 논의합니다(섹션 6, 부록 B.1 및 부록 B.2의 추가 세부정보 포함). 그림 5는 기밀 유지 어댑터를 통해 민감한 데이터가 외부 소스에서 smart contract로 어떻게 흐를 수 있는지에 대한 개념적 보기를 제공합니다. DON의 기밀 계산. 그림 5: DON의 기밀 유지 작업에 대한 개념 다이어그램 민감한 데이터(노란색으로 강조 표시됨) 웹의 민감한 소스 데이터(검은색 원) 서버는 기밀 유지 어댑터(파란색, 이중 화살표 선)를 사용하여 DON로 추출됩니다. DON는 이러한 어댑터로부터 파생된 데이터(빈 원)를 수신합니다. 민감한 소스에 기능이나 비밀 공유 등을 적용한 결과 데이터. DON의 실행 파일은 파생된 데이터에 기밀 계산을 적용할 수 있습니다. 보고서(이중 원)를 구성하여 어댑터를 통해 blockchain로 보냅니다. 우리는 기밀 데이터를 처리하는 강력한 도구가 전체를 열어줄 것이라고 믿습니다. 응용 범위. 그 중에는 민간 분산형(및 중앙집중형) 금융, 분산형 신원, 신용 기반 온체인 대출, 보다 효율적이고 섹션 4에서 논의한 바와 같이 사용자 친화적인 고객 파악 및 인증 프로토콜. 거래의 주문 공정성: 오늘의 blockchain 디자인에는 약간 더러운 부분이 있습니다. 공개 비밀: 일시적으로 중앙 집중화되어 있습니다. 광부와 validators는 거래를 주문할 수 있습니다.그들이 선택한 행동. 거래 순서는 다음과 같이 사용자가 조작할 수도 있습니다. 그들이 지불하는 네트워크 수수료의 함수(예: Ethereum의 가스 가격) 및 일부 빠른 네트워크 연결을 활용하여 확장합니다. 그러한 조작은 다음과 같은 경우에 발생할 수 있습니다. 예를 들어, 채굴자와 같은 전략적 행위자가 참여하는 선행 실행(front-running) 형태를 취합니다. 사용자의 거래를 관찰하고 자신의 악용 거래를 이전 거래에 삽입합니다. 동일한 블록에 위치 - 사용자 거래에 대한 사전 지식을 활용하여 사용자로부터 효과적으로 돈을 훔칩니다. 예를 들어, 봇이 구매 주문을 할 수 있습니다. 사용자 앞에. 그러면 이는 다음으로 인한 자산 가격 상승을 활용할 수 있습니다. 사용자의 거래. 일반 사용자에게 해를 끼치는 일부 봇의 선행 실행(고빈도와 유사) 월스트리트에서의 거래는 이미 널리 퍼져 있으며 관련 내용이 잘 문서화되어 있습니다 [90] 백러닝 [159] 및 [195]을 모방한 자동 트랜잭션과 같은 공격. 채굴자들의 주문 착취를 체계화하려는 제안도 최근에 표면화되었습니다([110]). rollups와 같은 레이어 2 기술은 문제를 해결하지 못하고 단지 재중앙화만 합니다. 주문하여 rollup을 생성하는 개체의 손에 넘겨줍니다. 우리의 목표 중 하나는 Chainlink에 Fair Sequencing이라는 서비스를 도입하는 것입니다. 서비스 (FSS) [137]. FSS는 smart contract 디자이너가 공정한 주문을 보장하도록 돕습니다. 트랜잭션을 방지하고 사용자 트랜잭션은 물론 oracle 보고서 전송과 같은 기타 유형의 트랜잭션에 대한 선행 실행, 역실행 및 관련 공격을 방지합니다. FSS [144]에 도입된 엄격하고 일시적인 질서 공정성 개념과 같은 아이디어를 DON에서 구현할 수 있습니다. 부수적인 이점으로 FSS는 사용자의 네트워크 수준을 낮출 수도 있습니다. 수수료(예: 가스비). 간단히 말해서, FSS에서 트랜잭션은 대상 smart contract에 직접 전파되지 않고 DON을 통해 전달됩니다. DON은 거래를 주문한 다음 전달합니다. 계약에 그들을. 그림 6: FSS가 어떻게 유익한지에 대한 예. 그림A ⃝ 채굴자가 이를 활용하는 방법을 보여줍니다. 거래를 주문할 수 있는 중앙 집중식 전력, 한 쌍의 거래를 교환할 수 있음: 거래 1⃝ 2⃝ 이전에 도착하지만 광부는 대신 2⃝ 이후에 시퀀스를 지정합니다. 대조적으로, 그림 B⃝는 DON이 DON 노드 사이에서 주문 프로세스를 분산시키는 방법. 만약 정족수가 정직한 노드는 2⃝ 이전에 1⃝을 수신하고, FSS는 체인에서 1⃝이 2⃝ 이전에 나타나도록 합니다. 계약에 따라 시행 가능한 일련 번호를 첨부하여 채굴자 재정렬을 방지합니다. 그림 6은 표준 채굴과 FSS를 비교합니다. 이는 표준 채굴이 어떻게 이루어지는지 보여줍니다.거래 주문 프로세스는 채굴자에게 중앙 집중화되어 있으므로 도착과 관련하여 한 쌍의 거래를 재정렬하는 등의 조작 시간. 대조적으로, FSS에서는 프로세스가 DON 노드 간에 분산되어 있습니다. 가정 정직한 노드의 정족수인 FSS는 임시 순서 지정과 같은 정책을 시행하는 데 도움을 줍니다. 거래를 통해 채굴자 및 기타 주체의 조작 기회를 줄입니다. 또한, 사용자들은 가스 가격을 기준으로 우선 주문 경쟁을 할 필요가 없으므로, 상대적으로 낮은 가스 가격을 지불할 수 있습니다(DON의 거래는 일괄 처리될 수 있습니다). 가스 절약을 위해). 신뢰 최소화: DONs 설계의 일반적인 목표는 smart contracts 및 기타 oracle 종속 시스템에 대한 신뢰할 수 있는 지원 계층 분산화, 암호화 도구 및 암호화 경제 보장을 통해. DON 자체는 분산되어 있으며 사용자는 사용 가능한 DON 중에서 선택할 수 있습니다. 추가 DON을 운영하거나 생성하려는 메인 체인을 지원합니다. 그들이 신뢰하는 노드 위원회를 통해. 그러나 일부 애플리케이션, 특히 smart contracts, Chainlink 사용자의 경우 DON이 지원하는 메인 체인을 더 신뢰할 수 있는 것으로 취급하는 신뢰 모델을 선호합니다. DON 자체보다. 그러한 사용자를 위해 우리는 이미 Chainlink 네트워크의 아키텍처 계약을 가능하게 하는 다양한 메커니즘 DONs가 제공하는 보안 보증을 강화하기 위해 메인 체인에 동시에 데이터 소스가 손상될 가능성에 대비한 보호 조치도 시행합니다. DON이 데이터를 얻는 웹 서버와 같은 것입니다. 우리는 섹션 7에서 이러한 메커니즘을 설명합니다. 이는 다섯 가지 주요 제목으로 분류됩니다. • 데이터 소스 인증: 데이터 공급자가 디지털 서명을 할 수 있게 해주는 도구 데이터를 수집하여 원산지와 원산지 간의 관리 사슬을 강화합니다. 의존 계약. • DON 소수 보고서: DON 노드의 소수 하위 집합에서 발행한 플래그입니다. DON에서 대부분의 불법 행위를 관찰했습니다. • 가드레일: 비정상적인 조건을 감지하고 일시 중지하는 메인 체인의 로직 또는 계약 실행을 중단합니다(또는 다른 수정 조치를 호출합니다). • 신뢰가 최소화된 거버넌스: 점진적인 릴리스 업데이트를 사용하여 커뮤니티 검사를 촉진하고 분산형 긴급 개입을 통해 신속한 조치를 취합니다. 시스템 장애에 대한 대응. • 분산형 엔터티 인증: 공개 키 인프라(PKI)를 사용하여 다음을 수행합니다. Chainlink 네트워크의 엔터티를 식별합니다. 그림 7은 신뢰 최소화 목표의 개념적 개략도를 나타냅니다. 인센티브 기반(암호경제적) 보안: oracle 노드 전반에 걸쳐 보고서 생성을 분산화하면 일부 노드가 손상된 경우에도 보안을 보장할 수 있습니다.


그림 7: Chainlink의 신뢰 최소화 목표에 대한 개념적 묘사 DON 및 웹과 같은 데이터 소스의 올바른 동작에 대한 사용자의 요구를 최소화합니다. 서버. 그림의 노란색 강조 표시는 신뢰 최소화 위치를 나타냅니다: DON 및 개별 또는 소수의 웹 서버 세트. 분홍색 강조 표시는 시스템 구성 요소를 나타냅니다. 가정에 의해 매우 신뢰할 수 있는 것: blockchain에 대한 계약 및 대다수 웹 서버의 수, 즉 웹 서버 전체를 의미합니다. 하지만 마찬가지로 중요한 것은 노드가 올바르게 행동할 수 있는 재정적 인센티브를 갖도록 보장하는 것입니다. 스테이킹, 즉 노드가 LINK 예치금을 제공하고 슬래싱하도록 요구 (압수) 잘못된 행동이 있을 경우 이러한 예금은 Chainlink에서 핵심적인 역할을 할 것입니다. 이미 다수의 blockchain에서 사용되고 있는 중요한 인센티브 디자인입니다. 예를 들어 [81, 103, 120, 204]. 그러나 Chainlink에 스테이킹하는 것은 독립 실행형의 staking과 매우 다르게 보입니다. blockchains. blockchains에 스테이킹하는 것은 합의에 대한 공격을 방지하는 것을 목표로 합니다. 그것은 Chainlink의 다른 목표: 올바른 oracle 보고서를 적시에 전달하는 것입니다. oracle 네트워크를 위해 잘 설계된 staking 시스템은 뇌물 수수와 같은 공격을 렌더링해야 합니다. 목표가 높은 smart contract인 경우에도 적에게는 이익이 되지 않습니다. 금전적 가치. 본 논문에서는 세 가지 핵심을 통해 Chainlink의 staking에 대한 일반적인 접근 방식을 제시합니다. 혁신:1. 기존에서 간과된 공격을 포괄하는 강력한 적대 모델 접근합니다. 한 가지 예는 우리가 장래 뇌물 수수라고 부르는 것입니다. 이것은 다음과 같은 형태입니다. 어떤 노드가 조건부로 뇌물을 받는지 결정하는 뇌물 수수. staking 메커니즘이 선택한 노드에 미리 보장된 뇌물을 제공합니다. 특정 역할에 대해 무작위입니다(예: 보고서 심사 실행). 2. 초선형 staking 영향, 즉 성공하려면 적의 예산이 모든 oracle의 예금을 합친 것보다 $B 더 커야 함을 비공식적으로 의미합니다. 노드. 보다 정확하게는 n의 함수로서 \(B(n) ≫\)dn이 각각 고정 입금액 $d를 갖는 n oracle 노드의 네트워크(보다 공식적으로는 \(B(n) is asymptotically larger in n than \)dn). 그림 8은 이 속성. 3. 우리가 고안한 인센티브 모델인 암시적 인센티브 프레임워크(IIF) 명시적으로 예치된 것 이상으로 경험적으로 측정 가능한 인센티브를 포함합니다. staking 노드의 향후 수수료 기회를 포함한 자금. IIF는 다음의 개념을 확장합니다. 명시적인 노드 예금 이상의 지분을 보유합니다. 그림 8: Chainlink staking의 초선형 스케일링을 설명하는 개념 다이어그램. 는 적에게 요구되는 뇌물 $B(n)는 예금을 합친 것보다 n에서 더 빠르게 증가합니다. 모든 oracle 노드의 $dn. 우리는 IIF와 초선형 staking 영향이 어떻게 함께 우리가 원하는 것을 유도하는지 보여줍니다. oracle 네트워크에 대한 경제적 안정의 선순환을 불러옵니다. 신규유저가 들어오면
Chainlink 노드를 실행하여 잠재적인 미래 수익을 늘리는 시스템입니다. 현재 및 미래 사용자의 경제적 보안 한계 비용이 감소합니다. 정권에서는 탄력적인 수요로 인해 비용이 감소하면 추가 사용자가 네트워크를 통해 지속적인 선순환을 통해 지속적으로 채택을 영속화합니다. 참고: 이 백서는 Chainlink의 발전을 위한 우리 비전의 중요한 요소를 간략하게 설명하지만 비공식적이며 자세한 기술 사양이 거의 포함되어 있지 않습니다. 우리는 추가 기능과 접근 방식이 발전함에 따라 집중적으로 기술 문서를 발표합니다. 또한, 제시된 비전의 많은 요소를 강조하는 것이 중요합니다. 여기(확장 개선, 기밀성 기술, FSS 등)가 가능하며 앞으로도 그렇게 될 것입니다. 고급 DON이 기본 기능이 되기 전에도 예비 형태로 배포되었습니다. Chainlink. 1.3 본 논문의 구성 우리는 섹션 2에서 보안 모델과 표기법을 제시하고 분산형 보안의 개요를 설명합니다. 섹션 3의 Oracle Network API. 섹션 4에서는 다음과 같은 여러 가지 예를 제시합니다. DONs가 매력적인 배포 플랫폼을 제공하는 애플리케이션입니다. 독자는 다음을 수행할 수 있습니다. 지금까지 읽으면 논문의 주요 개념 대부분을 배울 수 있습니다. 문서의 나머지 부분에는 더 자세한 내용이 포함되어 있습니다. 우리는 공정한 순서를 설명합니다 섹션 5의 서비스(FSS) 및 섹션 6의 거래 실행 프레임워크(TEF). 섹션 7에서는 신뢰 최소화에 대한 접근 방식을 설명합니다. 중요한 DON 배포 요구 사항, 즉 기능의 점진적 출시, 동적 원장 멤버십 및 섹션 8의 책임. 마지막으로 섹션 9에서 다음을 제공합니다. 인센티브 디자인에 대한 우리의 개발 접근 방식에 대한 개요입니다. 섹션 10에서 결론을 내린다. 이 문서의 개념에 익숙하지 않은 독자를 돕기 위해 우리는 부록 A에 용어집을 제공합니다. DON 인터페이스에 대한 자세한 내용을 제시합니다. 및 기능은 부록 B에 나와 있으며 부록 C에는 몇 가지 어댑터 예시가 나와 있습니다. 부록 D에서는 신뢰가 최소화된 데이터 소스에 대한 암호화 기본 요소를 설명합니다. 기능 서명이라는 인증을 도입하고 이산화된 기능 서명이라는 새로운 변형을 도입합니다. 우리는 위원회와 관련된 몇 가지 고려 사항을 논의합니다. 부록 F의 DON에 대한 선택


介绍


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

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


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


图 7:Chainlink 信任最小化目标的概念描述,即 最大限度地减少用户对 DON 和数据源(例如网络)正确行为的需求 服务器。图中的黄色突出显示表示信任最小化位点:DON 和 单个或少数网络服务器组。粉色高亮显示系统组件 假设高度可信:blockchain 上的合同和大多数 Web 服务器的数量,即 Web 服务器的总数。 然而,同样重要的是确保节点有正确行为的经济激励。质押,即要求节点提供 LINK 押金和削减 如果出现不当行为,(没收)这些存款将在 Chainlink 中发挥关键作用。这是一个重要的激励设计,已在许多 blockchain 中使用, 例如,[81、103、120、204]。 然而,在 Chainlink 中的质押看起来与独立的 staking 有很大不同 blockchains。质押 blockchains 的目的是防止对共识的攻击。它有一个 Chainlink 中的不同目标:确保及时交付正确的 oracle 报告。用于 oracle 网络的精心设计的 staking 系统应该会引发诸如贿赂之类的攻击 即使目标是具有高值的 smart contract,对对手来说也是无利可图的 货币价值。 在本文中,我们提出了 Chainlink 中 staking 的通用方法,具有三个关键 创新点:1. 强大的对抗模型,涵盖现有技术中被忽视的攻击 接近。一个例子就是我们所说的潜在贿赂。这是一种形式 贿赂,确定哪些节点有条件地接受贿赂,例如, 提前向 staking 机制选择的节点提供有保证的贿赂 对于特定角色是随机的(例如触发报告裁决)。 2. 超线性 staking 影响,非正式地意味着要成功,对手的预算 B 美元必须大于所有 oracle 存款的总和 节点。 更准确地说,我们的意思是,作为 n 的函数, \(B(n) ≫\)dn 在 由 n 个 oracle 节点组成的网络,每个节点都有固定的存款金额 $d(更正式地说, \(B(n) is asymptotically larger in n than \)dn)。图8给出了概念图 此属性。 3. 隐性激励框架(IIF),我们设计的激励模型 除了明确存入staking之外,还包括根据经验可衡量的激励措施 资金,包括节点未来的费用机会。 IIF 扩展了以下概念: 超出明确节点存款的权益。 图 8:描述 Chainlink staking 中超线性缩放的概念图。的 对手所需的贿赂 $B(n) 在 n 中的增长速度快于存款总额的增长速度 所有 oracle 节点的 $dn。 我们展示了 IIF 和超线性 staking 共同影响如何导致我们 称之为 oracle 网络经济安全的良性循环。当新用户进入时
系统,增加运行 Chainlink 节点的未来潜在收入, 当前和未来用户的经济安全边际成本下降。在一个政权 需求弹性,成本的降低会激励更多用户使用 网络,在持续的良性循环中持续不断地采用。 注意:虽然本白皮书概述了我们对 Chainlink 发展愿景的重要元素,但它是非正式的,并且包含一些详细的技术细节。我们计划 随着其他功能和方法的发展,发布重点技术论文。 此外,必须强调的是,所提出的愿景的许多要素 这里(扩展改进、保密技术、FSS 等)可以而且将会 甚至在高级 DON 成为基本功能之前就以初步形式部署 Chainlink。 1.3 本文的组织 我们在第 2 节中介绍了我们的安全模型和符号,并概述了去中心化 Oracle Network API 在第 3 节中。在第 4 节中,我们提供了一些示例 DONs 为其提供有吸引力的部署平台的应用程序。读者可以 通过阅读到目前为止,您可以了解本文的大部分关键概念。 本文的其余部分包含更多详细信息。我们描述公平排序 第 5 节中的服务 (FSS) 和第 6 节中的事务执行框架 (TEF)。我们在第 7 节中描述了我们的信任最小化方法。我们考虑了一些 重要的 DON 部署要求,即第 8 节中的功能增量推出、动态账本成员资格和问责制。最后,在第 9 节中,我们给出 我们正在开发的激励设计方法的概述。我们在第 10 节中得出结论。 为了帮助对本文概念了解有限的读者,我们 附录 A 中提供了术语表。我们提供了有关 DON 接口的更多详细信息 和功能见附录 B,并在附录 C 中介绍一些示例适配器。 在附录 D 中,我们描述了信任最小化数据源的加密原语 身份验证称为功能签名,并引入一种称为离散功能签名的新变体。我们讨论与委员会有关的一些考虑因素 附录 F 中 DONs 的选择。

보안 모델 및 목표
분산형 오라클 네트워크는 우리가 기대하는 독특한 분산 시스템입니다. 처음에는 반드시 그런 것은 아니지만 일반적으로 위원회 기반의 합의 프로토콜이며 oracle 노드 세트에 의해 실행됩니다. DON은 주로 설계되었습니다. oracle 보고서를 사용하여 메인 체인에서 smart contract의 기능을 강화합니다. 그러나 다른 비blockchain 시스템에 동일한 지원 서비스를 제공할 수 있으므로 특정 메인 체인과 연결될 필요가 없습니다.
따라서 우리가 고려하는 모델과 속성은 다음의 사용과 크게 무관합니다. DON의 특정 응용 프로그램. 2.1 현재 아키텍처 모델 오늘날 Chainlink은 단일 서비스가 아니라 오히려 뚜렷하고 독립적인 실행이 가능한 무허가 프레임워크 oracle 노드 [77]의 네트워크. 네트워크에는 이기종 노드 운영자 세트가 있으며 디자인. 또한 제공하는 서비스 유형이 다를 수 있습니다. 예를 들어 데이터 피드, 보유량 증명, 검증 가능한 무작위성 등이 포함됩니다. 기타 차이점에는 분산 정도, 네트워크 규모 등이 포함될 수 있습니다. 지원하는 고정된 값, 데이터 빈도와 같은 다양한 서비스 수준 매개변수 그리고 정확성. Chainlink의 무허가형 모델은 생태계의 성장을 장려합니다. 서비스 제공자는 지역사회에 가장 잘 제공할 수 있는 서비스를 전문적으로 제공합니다. 이 모델은 모델보다 사용자에게 더 낮은 비용과 더 높은 서비스 품질을 제공할 가능성이 높습니다. 모든 노드와 네트워크가 모든 범위의 서비스를 제공해야 하는 접근 방식 최소한의 서비스를 시스템 전체에 채택하는 것으로 쉽게 전환될 수 있습니다. 노드에서 사용할 수 있는 리소스의 공통 분모입니다. Chainlink이 Chainlink 2.0에서 DON 기반 디자인으로 발전함에 따라 우리는 계속해서 무허가형 개방형 프레임워크 모델을 지원하며, 사용자에게 전 세계적으로 가장 적합한 서비스를 선택할 수 있는 다양한 서비스 제공 특정 응용 프로그램 요구 사항이 있습니다. 2.2 합의된 가정 우리는 분산형 Oracle 네트워크라는 용어를 사용하여 다음의 모든 기능을 포괄합니다. 우리가 설명하는 oracle 시스템: oracle 노드가 유지 관리하는 데이터 구조와 그 위에 핵심 API가 계층화되어 있습니다. 우리는 기본 데이터를 의미하기 위해 L로 표시되는 원장(소문자)이라는 용어를 사용합니다. DON에 의해 유지 관리되고 제공되는 특정 서비스를 지원하는 데 사용되는 구조입니다. 우리는 DON 프레임워크가 L을 다음과 같은 독립 시스템으로 취급하지 않는다는 점을 강조합니다. a blockchain: 그 목적은 blockchain 및 기타 시스템을 지원하는 것입니다. 블록체인은, 물론 신뢰할 수 있는 원장을 실현하는 한 가지 방법이지만 다른 방법도 있습니다. 우리는 기대한다 DONs는 많은 경우 비잔틴 내결함성을 사용하여 기본 원장을 실현합니다. (BFT) 시스템은 Bitcoin [174]과 같은 blockchain보다 훨씬 이전 버전입니다. 우리는 BFT-유형 표기 및 속성은 편의를 위해 논문 전반에 걸쳐 표시됩니다. DONs는 무허가 합의 프로토콜을 사용하여 실현될 수 있음을 강조합니다. 개념적으로 원장 L은 데이터가 선형적으로 정렬되어 있는 게시판입니다. 우리는 일반적으로 원장에 다음과 같은 몇 가지 주요 속성이 있다고 봅니다. blockchains [115]. 원장은 다음과 같습니다. • 추가 전용: 데이터는 한 번 추가되면 제거하거나 수정할 수 없습니다.• 공개: 누구든지 내용을 읽을 수 있으며, 시간이 지나도 일관된 내용을 담고 있습니다. 모든 사용자의 보기.4 • 사용 가능: 원장은 승인된 작성자가 언제든지 쓸 수 있고 읽을 수 있습니다. 누구든지 시기적절하게. DON에 의해 실현되면 원장에서 대체 속성이 가능합니다. 위원회. 예를 들어, 원장 쓰기 액세스는 다음과 같이 특정 사용자로 제한될 수 있습니다. 일부 애플리케이션에 대한 읽기 액세스가 있을 수 있습니다. 즉, 원장은 정의된 대로 공개될 필요가 없습니다. 위. 마찬가지로 원장 규칙은 데이터 수정 또는 편집을 허용할 수 있습니다. 우리는 그렇지 않습니다 그러나 이 문서에서는 이러한 변형을 명시적으로 고려합니다. DON의 모듈식 설계는 다양한 최신 BFT을 지원할 수 있습니다. 프로토콜(예: Hotstuff[231]). 정확한 선택은 신뢰 가정과 oracle 노드 간의 네트워크 특성. DON은 원칙적으로 대안으로 사용할 수 있습니다. 지원하는 역할의 원장에 고성능 무허가 blockchain을 사용합니다. 동일하게 확장 가능한 레이어 2 또는 blockchain 시스템. 마찬가지로 하이브리드화도 가능합니다. DON은 원칙적으로 기존 노드에서 validator인 노드로 구성될 수 있습니다. blockchain(예: 실행을 위해 위원회가 선택되는 지분 증명 시스템) 거래(예: [8, 81, 120, 146, 204]). 이 특정 작동 모드에는 다음이 필요합니다. 노드는 이중 용도 방식으로 작동합니다. 즉, blockchain 노드와 DON로 작동합니다. 노드. (변경의 연속성을 보장하기 위한 기술에 대한 논의는 섹션 8.2를 참조하십시오. 무작위 위원회 선정에 대한 몇 가지 주의 사항은 위원회 및 부록 F를 참조하세요.) 실제로 최신 BFT 알고리즘에서 노드는 원장의 메시지에 디지털 방식으로 서명합니다. 편의상 L에는 관련 공개 키 pkL이 있고 그 내용은 다음과 같다고 가정합니다. 해당 개인 키로 서명됩니다. 이 일반적인 표기법은 다음 경우에도 적용됩니다. L의 데이터는 임계값 서명을 사용하여 서명됩니다.5 임계값 서명은 편리합니다. 멤버십이 변경된 경우에도 DON에 대한 지속적인 ID를 활성화하므로 그것을 실행하는 노드. (부록 B.1.3 참조) 따라서 skL은 비밀 공유라고 가정합니다. 일부 보안 매개변수 k에 대해 (k, n)-임계값 방식(예: k = 2f + 1) n = 3f + 1, 여기서 f는 잠재적으로 결함이 있는 노드의 수입니다. (여기서 k를 선택함으로써 방식으로 결함이 있는 노드가 SKL을 학습하거나 서비스 거부를 마운트할 수 없도록 보장합니다. 공격을 통해 사용을 방해합니다.) L의 메시지는 M = (m, z) 형식을 취합니다. 여기서 m은 문자열이고 z는 고유합니다. 순차 인덱스 번호. 해당되는 경우 m = 형식으로 메시지를 작성합니다. ⟨메시지 유형 : 페이로드⟩. 메시지 유형 MessageType은 특정 메시지의 기능을 나타내는 구문 설탕입니다. 4최종성이 없는 blockchain이 원장을 실현하는 경우 일반적으로 불일치가 추상화됩니다. 충분하지 않은 깊이의 블록을 무시하거나 [115]을 "가지치기"하여 제거합니다. 5실제로 Hotstuff의 변형인 LibraBFT [205]와 같은 일부 코드 기반이 현재 채택되었습니다. 임계값 서명 대신 다중 서명을 사용하여 통신 복잡성을 줄였습니다. 더 간단한 엔지니어링. 약간의 비용을 추가하면 oracle 노드가 메시지에 임계값 서명을 추가할 수 있습니다. L에 사용되는 합의 프로토콜이 L을 사용하지 않더라도 L에 기록됩니다.2.3 표기법 원장을 실행하는 n oracle 노드 집합을 O = {Oi}n으로 나타냅니다. 나는 = 1입니다. 그러한 노드 집합을 흔히 위원회라고 합니다. 단순화를 위해 우리는 다음과 같은 집합을 가정합니다. oracles는 DON 기능, 즉 L 위에 서비스를 구현하는 것과 동일합니다. L을 유지하지만 서로 구별될 수 있습니다. pki를 공개 키로 지정하겠습니다. 플레이어 Oi를 선택하고 해당 개인 키를 스키로 이동하세요. 대부분의 BFT 알고리즘에는 최소한 n = 3f + 1개의 노드가 필요합니다. 여기서 f는 노드 수입니다. 잠재적으로 결함이 있는 노드; 나머지 노드는 정직합니다. 프로토콜은 지정된 대로 정확하게 수행됩니다. 우리는 위원회 O가 이 기준을 충족한다면 정직하다고 언급합니다. 즉, 정직한 노드의 비율이 2/3보다 큽니다. 달리 그렇지 않은 한 언급된 바와 같이, 우리는 O가 정직하다고 가정합니다(그리고 부패의 정적 모델). 우리는 pkO/를 사용합니다. skO는 상황에 따라 pkL / skL과 같은 의미로 사용됩니다. σ = Sigpk[m]이 pk와 관련하여 메시지 m의 서명을 표시하도록 합니다. 즉, 다음을 사용합니다. 해당 개인 키 sk. verify(pk, σ, m) →{false, true}는 해당 서명 검증 알고리즘을 나타냅니다. (우리는 문서 전반에 걸쳐 키 생성을 암묵적으로 남겨 둡니다.) 우리는 데이터 소스를 나타내기 위해 표기법 S를 사용하고 전체 집합을 나타내기 위해 S를 사용합니다. 특정 컨텍스트의 nS 소스. 우리는 MAINCHAIN을 통해 스마트 계약이 가능함을 나타냅니다. blockchain은 DON에서 지원됩니다. 우리는 스마트한 모든 것을 나타내기 위해 의존 계약이라는 용어를 사용합니다. DON과 통신하는 MAINCHAIN에 대한 계약을 맺고 SC 표기법을 사용하여 다음을 수행합니다. 그러한 계약을 나타냅니다. 우리는 일반적으로 DON이 단일 메인 체인 MAINCHAIN을 지원한다고 가정하지만, 섹션 4의 예에서 볼 수 있듯이 여러 체인을 지원할 수 있습니다. A DON은 MAINCHAIN에서 여러 의존 계약을 지원할 수 있으며 일반적으로 지원할 것입니다. ( 위에서 언급했듯이 DON은 blockchain이 아닌 서비스를 대안으로 지원할 수 있습니다.) 2.4 신뢰 모델에 대한 참고 사항 위에서 언급했듯이 DON은 위원회 기반 합의 프로토콜 위에 구축될 수 있으며, 그들은 일반적으로 그러한 프로토콜을 사용할 것으로 예상합니다. 강력한 주장이 많다. 위원회 기반 또는 무허가 blockchains의 두 가지 대안 중 하나는 다음을 제공합니다. 다른 것보다 보안이 더 강력합니다. 위원회 기반 보안과 무허가 보안의 보안을 인식하는 것이 중요합니다. 분산형 시스템은 비교할 수 없습니다. PoW 또는 PoS 침해 blockchain 51% 공격을 통해 적이 일시적으로 대부분의 자원을 획득해야 하며 예를 들어 PoW 시스템에서 hash 전력을 임대함으로써 잠재적으로 익명으로 가능합니다. 그러한 실제로 공격은 이미 여러 blockchains [200, 34]에 영향을 미쳤습니다. 대조적으로, 위원회 기반 시스템을 손상시키는 것은 노드의 임계값(일반적으로 1/3)을 손상시키는 것을 의미합니다. 여기서 노드는 공개적으로 알려지고 리소스가 풍부하며 그리고 신뢰할 수 있는 실체. 반면에 위원회 기반 시스템(및 무허가형 "하이브리드") 위원회를 지원하는 시스템)은 엄격하게 규정된 것보다 더 많은 기능을 지원할 수 있습니다.미션리스 시스템. 여기에는 다음과 같은 지속적인 비밀을 유지하는 기능이 포함됩니다. 서명 및/또는 암호화 키는 우리 설계의 한 가지 가능성입니다. 우리는 DON이 원칙적으로 위원회 기반 또는 무허가 합의 프로토콜 및 DON 배포자는 궁극적으로 채택을 선택할 수 있습니다. 어느 쪽이든 접근합니다. 신뢰 모델 강화: 오늘날 Chainlink의 주요 기능은 사용자가 다음을 수행할 수 있다는 것입니다. 논의된 대로 성능 기록의 분산된 기록을 기반으로 노드를 선택합니다. 섹션 3.6.4. 섹션 9에서 소개하는 staking 메커니즘과 암시적 인센티브 프레임워크는 함께 광범위하고 엄격한 메커니즘 설계를 구성합니다. DONs의 보안을 측정할 수 있는 크게 확장된 기능을 사용자에게 제공하는 프레임워크입니다. 이 동일한 프레임워크를 통해 DONs 자체도 가능해집니다. 참여 노드에 다양한 보안 요구 사항을 적용하고 운영을 보장합니다. 강력한 신뢰 모델 내에서. DONs에 대해 이 문서에 설명된 도구를 사용하여 규제 요구 사항 준수와 같은 특별한 신뢰 모델 요구 사항을 적용하는 것도 가능합니다. 에 대한 예를 들어, 섹션 4.3에서 논의된 기술을 사용하여 노드는 다음의 증거를 제시할 수 있습니다. 노드-운영자 특성(예: 작업 영역)을 돕는 데 사용할 수 있습니다. 예를 들어 일반 데이터 보호 규정(GDPR) 제3조(“지역 범위”) [105] 준수를 시행합니다. 그렇지 않으면 그러한 준수가 어려울 수 있습니다. 분산형 시스템에서 만나세요 [45]. 또한 섹션 7에서는 DON의 견고성을 강화하기 위한 계획에 대해 논의합니다. 그들이 지원하는 메인 체인의 신뢰 최소화 메커니즘을 통해.
安全模型和目标
去中心化预言机网络是一个独特的分布式系统,我们预计它将 最初通常(尽管不一定)由以委员会为基础的委员会实施 共识协议并由一组 oracle 节点运行。 DON 主要设计为 使用 oracle 报告增强主链上 smart contract 的功能 和其他服务,但它可以为其他非blockchain系统提供相同的支持服务,因此不需要与特定的主链相关联。
因此,我们考虑的模型和属性在很大程度上独立于 DON 的特定应用。 2.1 当前的建筑模型 需要强调的是,今天的 Chainlink 不是一个单一的服务,而是 一个无需许可的框架,可以在其中启动独特的、独立的 oracle 节点 [77] 的网络。网络具有异构的节点运营商集, 设计。他们提供的服务类型也可能有所不同,这可以 包括例如数据馈送、储备证明、可验证的随机性等。其他 差异可能包括去中心化程度、网络规模 它支持的锁定值以及各种服务级别参数,例如数据频率 和准确性。 Chainlink 的无需许可模式鼓励生态系统的发展,其中 提供商专注于他们最有能力为社区提供的服务。这个 与模型相比,模型可能会降低用户成本并提高服务质量 要求所有节点和网络提供全方位的服务,一种方法 这可以很容易地转变为全系统采用代表最少的服务 节点可用资源的共同点。 随着 Chainlink 在 Chainlink 2.0 中向基于 DON 的设计发展,我们继续 支持无需许可的开放框架模型,同时考虑到以下目标: 为用户提供一系列服务选择,在全球范围内实现最佳匹配 具有特定的应用要求。 2.2 共识假设 我们使用术语“去中心化预言机网络”来涵盖 我们描述的 oracle 系统: oracle 节点维护的数据结构和 核心 API 位于其之上。 我们使用术语“账本”(小写),用 L 表示,表示基础数据 由 DON 维护的结构,用于支持它提供的特定服务。 我们强调,我们的 DON 框架并不将 L 视为独立系统,例如 a blockchain:其目的是支持blockchains和其他系统。区块链是, 当然,这是实现可信账本的一种方法,但还有其他方法。我们期望 在许多情况下,DONs 使用拜占庭容错来实现其底层账本 (BFT) 系统,其大大早于 blockchain,例如 Bitcoin [174]。我们使用 为了方便起见,尽管我们在整篇论文中使用了 BFT 类型符号和属性 强调 DONs 可以使用无需许可的共识协议来实现。 从概念上讲,账本 L 是一个公告板,上面的数据是线性排序的。 我们通常认为分类账具有一些通常归因于的关键属性 blockchains [115]。账本是: • 仅附加: 数据一旦添加就无法删除或修改。• 公共: 任何人都可以阅读其内容,这些内容在时间上是一致的 所有用户的视图.4 • 可用:账本始终可以由授权写入者写入和读取 任何人及时。 当由 DON 实现时,分类帐中可能存在替代属性 委员会。例如,分类账写访问可能仅限于某些用户,如 可能会读取某些应用程序的访问权限,即分类帐不需要按照定义公开 上面。同样,分类账规则可能允许修改或编辑数据。我们不 然而,本文明确考虑了此类变体。 DONs 的模块化设计可以支持任何多种现代 BFT 协议,例如 Hotstuff[231]。确切的选择将取决于信任假设和 oracle 节点之间的网络特征。原则上 DON 也可以 使用高性能的无许可 blockchain 为其分类帐提供支持 同样可扩展的第 2 层或 blockchain 系统。同样,杂交也是可能的: DON 原则上可以由现有节点中的 validator 节点组成。 blockchain,例如,在选择委员会执行的权益证明系统中 交易,例如 [8, 81, 120, 146, 204]。这种特殊的操作模式要求 节点以双重用途方式运行,即既作为 blockchain 节点又作为 DON 运行 节点。 (参见第 8.2 节,了解确保变革连续性的技术讨论 委员会和附录 F 有关随机委员会选择的一些注意事项。) 实际上,在现代 BFT 算法中,节点对账本上的消息进行数字签名。 为了方便起见,我们假设 L 有一个关联的公钥 pkL 并且其内容 由相应的私钥签名。即使当 L 上的数据使用门限签名进行签名。5 门限签名很方便, 因为即使会员资格发生变化,它们也可以为 DON 提供持久的身份 运行它的节点。 (参见附录 B.1.3。)因此我们假设 skL 是秘密共享的 对于某些安全参数 k,以 (k, n) 阈值方式,例如 k = 2f + 1 且 n = 3f + 1,其中 f 是潜在故障节点的数量。 (通过在此选择 k 这样,我们确保故障节点既无法学习 skL,也无法发起拒绝服务攻击 攻击阻止其使用。) L 上的消息采用 M = (m, z) 的形式,其中 m 是字符串,z 是唯一的 顺序索引号。 在适用的情况下,我们以 m = 的形式编写消息 ⟨消息类型:有效负载⟩。消息类型MessageType是指示特定消息的功能的语法糖。 4在没有最终性的 blockchain 实现账本的情况下,通常会抽象出不一致性 通过忽略深度不足的块或“修剪”[115] 来消除。 5在实践中,一些代码库,例如 LibraBFT [205](Hotstuff 的一个变体)目前已采用 多重签名,而不是阈值签名,以降低通信复杂性为代价 更简单的工程。通过一些额外的成本,oracle 节点可以将阈值签名附加到消息中 写入 L,即使用于 L 的共识协议不使用它们。2.3 符号 我们将运行账本的 n 个 oracle 节点集表示为 O = {Oi}n 我=1。 这样一个 节点集通常称为委员会。为了简单起见,我们假设集合 oracles 实现 DON 功能,即 L 之上的服务,与 保持 L,但它们可以是不同的。我们让 pki 表示公钥 玩家Oi,并ski相应的私钥。 大多数 BFT 算法至少需要 n = 3f + 1 个节点,其中 f 是节点数 潜在的故障节点;其余节点是诚实的,因为它们遵循 协议完全按照规定。如果委员会 O 符合此要求,我们称其为诚实的 要求,即诚实节点的比例大于 2/3。除非另有说明 如上所述,我们假设 O 是诚实的(并且是腐败的静态模型)。我们使用 pkO / skO 与 pkL / skL 可以互换,具体取决于上下文。 我们让 σ = Sigpk[m] 表示消息 m 相对于 pk 的签名,即使用 对应的私钥sk.令 verify(pk, σ, m) →{false, true} 表示相应的签名验证算法。 (我们在整篇论文中都隐含了密钥生成。) 我们使用符号 S 来表示数据源,并使用 S 来表示完整的数据集 给定上下文中的 nS 源。我们用 MAINCHAIN 表示启用了智能合约的 blockchain 由 DON 支持。我们使用术语依赖合约来表示任何智能合约 与 DON 通信的主链上的合约,并使用符号 SC 来 表示这样的合同。 我们通常假设 DON 支持单个主链 MAINCHAIN,尽管它可以支持多个这样的链,如我们在第 4 节的示例中所示。 DON 可以并且通常会支持主链上的多个依赖合约。 (如 如上所述,DON 也可以支持非 blockchain 服务。) 2.4 关于信任模型的说明 如上所述,DONs 可以构建在基于委员会的共识协议之上,并且我们 预计他们会普遍使用此类协议。有许多有力的论据表明 两种选择之一(基于委员会的或无需许可的 blockchains)提供 比其他的安全性更强。 重要的是要认识到基于委员会与未经许可的安全性 去中心化系统是不可通约的。危害 PoW 或 PoS blockchain 通过 51% 攻击,要求对手暂时获得多数资源,并且 可能是匿名的,例如通过在 PoW 系统中租用 hash 电力。这样的 实践中的攻击已经影响了几个 blockchain [200, 34]。相比之下, 损害基于委员会的系统意味着破坏其阈值数量(通常是三分之一)的节点,其中节点可能是公开的、资源丰富的、 和值得信赖的实体。 另一方面,基于委员会的系统(以及“混合”未经许可的系统) 支持委员会的系统)可以支持比严格要求更多的功能无任务系统。这包括维护持久秘密的能力,例如 签名和/或加密密钥——我们设计中的一种可能性。 我们强调 DON 原则上可以建立在基于委员会或 无许可共识协议和 DON 部署者最终可能选择采用 任一方法。 支持信任模型: 如今 Chainlink 的一个关键功能是用户能够 如所讨论的,根据节点性能历史记录的分散记录来选择节点 在第 3.6.4 节中。我们在第 9 节中介绍的 staking 机制和隐性激励框架共同构成了范围广泛且严格的机制设计 该框架将使用户能够极大地扩展衡量 DONs 安全性的能力。同样的框架也将使 DONs 本身成为可能 对参与节点执行各种安全要求并确保运行 在强大的信任模型中。 还可以使用本文中为 DON 描述的工具来强制实施特殊的信任模型要求,例如遵守监管要求。对于 例如,使用第 4.3 节中讨论的技术,节点可以提供以下证据: 节点运营商特征,例如运营区域,可用于帮助 强制遵守《通用数据保护条例》(GDPR) 第 3 条(“领土范围”)[105] 等规定。否则,这种合规性可能会对 在去中心化系统[45]中见面。 此外,在第 7 节中,我们讨论了加强 DONs 稳健性的计划 通过他们支持的主链上的信任最小化机制。
분산형 Oracle 네트워크 인터페이스 및 Ca-
능력 여기에서는 간단하지만 강력한 측면에서 DON의 기능을 간략하게 설명합니다. 인터페이스를 실현하도록 설계되었습니다. DON의 애플리케이션은 실행 파일과 어댑터로 구성됩니다. 실행 파일은 핵심 논리가 smart contract과 유사한 결정론적 프로그램인 프로그램입니다. 실행 파일에는 항목을 호출하는 프로그램과 함께 제공되는 여러 시작 프로그램도 있습니다. 미리 결정된 이벤트가 발생할 때 실행 파일 논리의 지점(예: 특정 시간) (크론 작업과 같은), 가격이 임계값을 초과하는 경우 등 - 키퍼와 매우 유사합니다(섹션 3.6.3 참조). 어댑터는 오프체인 리소스에 대한 인터페이스를 제공하며 다음에 의해 호출될 수 있습니다. 실행 파일의 개시자 또는 핵심 논리입니다. 그들의 행동은 그것에 달려 있을 수 있기 때문에 외부 리소스의 경우 개시자 및 어댑터가 비결정적으로 동작할 수 있습니다. 우리는 DON 개발자 인터페이스와 실행 파일의 기능을 설명하고 컴퓨팅 시스템을 특성화하는 데 일반적으로 사용되는 세 가지 리소스인 네트워킹, 컴퓨팅, 스토리지 측면에서 어댑터를 설명합니다. 우리는 이들 각각에 대한 간략한 개요를 제공합니다 아래 리소스를 참조하고 부록 B에 자세한 내용을 제공하세요.

3.1 네트워킹 어댑터는 DON에서 실행되는 실행 파일을 보내고 전송할 수 있는 인터페이스입니다. off-DON 시스템에서 데이터를 수신합니다. 어댑터는 다음의 일반화로 볼 수 있습니다. 현재 Chainlink에서 사용되는 어댑터 [20]. 어댑터는 양방향일 수 있습니다. 그냥 끌어올 수는 없지만 DON에서 웹 서버로 데이터를 푸시할 수 있습니다. 그들은 또한 활용할 수도 있습니다 분산 프로토콜 및 보안 다자간 보안과 같은 암호화 기능 계산. 그림 9: DON1로 표시되는 DON을 DON2로 표시되는 또 다른 DON, blockchain(메인 체인) 및 해당 리소스를 포함한 다양한 리소스와 연결하는 어댑터 멤풀, 외부 저장소, 웹 서버 및 IoT 장치(웹 서버를 통해). 어댑터가 생성될 수 있는 외부 리소스의 예가 표시됩니다. 그림 9에서. 여기에는 다음이 포함됩니다. • 블록체인: 어댑터는 blockchain에 트랜잭션을 보내는 방법을 정의할 수 있으며 블록, 개별 트랜잭션 또는 기타 상태를 읽는 방법. 어댑터 blockchain의 mempool에 대해서도 정의할 수 있습니다. (섹션 3.5 참조) • 웹 서버: 어댑터는 데이터를 검색할 수 있는 API를 정의할 수 있습니다. 특별히 적합하지 않은 레거시 시스템을 포함한 웹 서버에서 DONs와 인터페이스합니다. 이러한 어댑터에는 데이터를 전송하는 API도 포함될 수 있습니다. 그런 서버. DON이 연결되는 웹 서버는 게이트웨이 역할을 할 수 있습니다. IoT(사물 인터넷) 장치와 같은 추가 리소스에 연결됩니다.• 외부 저장소: 어댑터는 저장소를 읽고 쓰는 방법을 정의할 수 있습니다. 분산 파일 시스템[40, 188] 또는 클라우드와 같은 DON 외부 서비스 저장. • 기타 DONs: 어댑터는 DONs 간에 데이터를 검색하고 전송할 수 있습니다. DONs의 초기 배포에는 일련의 빌딩 블록이 포함될 것으로 예상됩니다. 일반적으로 사용되는 외부 리소스에 대한 어댑터를 추가로 허용하고 DON 특정 DON 노드에서 게시할 어댑터입니다. smart contract 개발자가 어댑터를 작성함에 따라 오늘 우리는 그들이 이 고급 기술을 사용하여 훨씬 더 강력한 어댑터를 구축할 것으로 기대합니다. 기능. 우리는 궁극적으로 사용자가 새로운 어댑터를 생성하는 것이 가능할 것으로 기대합니다. 무허가 방식. 일부 어댑터는 DON에 의해 제어되는 외부 리소스의 지속성과 가용성을 보장하는 방식으로 구성되어야 합니다. 예를 들어 클라우드 스토리지는 다음과 같습니다. 클라우드 서비스 계정의 유지 관리가 필요합니다. 또한 DON는 다음을 수행할 수 있습니다. 사용자를 대신하여 개인 키의 분산 관리(예: [160]) 및/또는 실행 파일. 결과적으로 DON은(예: blockchain 대상에서 트랜잭션을 보내는 데 사용될 수 있는) 암호화폐와 같은 리소스를 제어할 수 있습니다. DON 어댑터에 대한 자세한 내용은 부록 B.1을 참조하세요. 예시 어댑터. 3.2 계산 실행 파일은 DON의 기본 코드 단위입니다. 실행 파일은 exec = 쌍입니다. (논리, 초기화). 여기서 로직은 다수의 지정된 항목이 있는 결정론적 프로그램입니다. points (logic1, logic2, ..., logicℓ) 및 init는 해당 개시자의 집합입니다. (init1, init2, ..., inite). 실행 파일의 논리인 DON의 전체 감사 가능성을 보장하려면 모든 입력과 출력에 기본 원장 L을 사용합니다. 따라서 예를 들어 모든 어댑터는 실행 파일에 대한 입력으로 사용되는 데이터는 먼저 L에 저장되어야 합니다. 개시자: 현재 Chainlink의 개시자는 이벤트에 따른 작업 실행을 유발합니다. Chainlink 노드 [21]. DONs의 개시자는 거의 동일한 방식으로 작동합니다. 그러나 DON 개시자는 실행 파일과 구체적으로 연결됩니다. 개시자는 의존할 수 있습니다 외부 사건이나 상태, 현재 시간, 또는 DON 상태에 대한 술어. 이벤트에 대한 의존성으로 인해 개시자는 물론 비결정적으로 동작할 수도 있습니다. (물론 어댑터도 마찬가지입니다). 개시자는 개별 DON 노드 내에서 실행할 수 있습니다. 따라서 어댑터에 의존할 필요가 없습니다. (아래 예 1을 참조하세요.) 개시자는 실행 파일을 smart contract과 구별하는 중요한 기능입니다. 실행 파일은 개시자에 대한 응답으로 실행될 수 있으므로 효과적으로 작동할 수 있습니다. 물론 확장을 통해 실행 파일을 통합하는 하이브리드 계약이 자율적으로 가능합니다. 오늘날 개시자의 한 형태는 거래를 제공하는 Chainlink Keeper입니다.oracle 보고서를 기반으로 과소담보 대출 청산 및 지정가 주문 거래 실행과 같은 smart contract 실행을 실행하는 자동화 서비스입니다. 편리하게도 DONs의 개시자를 지정하는 방법으로 볼 수도 있습니다. 실행 파일에 적용되는 서비스 계약(아래 상황을 정의함) DON에서 호출해야 합니다. 다음 예에서는 실행 파일 내에서 개시자가 작동하는 방식을 보여줍니다. 예시 1(편차로 인한 가격 피드) smart contract SC에는 새로운 것이 필요할 수 있습니다. 예를 들어 1%와 같이 상당한 변화가 있을 때마다 가격 피드 데이터(섹션 3.6.3 참조) 한 쌍의 자산(예: ETH-USD) 간의 환율. 변동성에 민감한 가격 피드는 현재 Chainlink에서 지원되지만 어떻게 지원되는지 살펴보는 것이 좋습니다. 실행 가능한 execfeed를 통해 DON에서 실현되었습니다. 실행 가능한 execfeed는 L의 가장 최근 ETH-USD 가격 r을 유지합니다. ⟨NewPrice : j, r⟩항목의 시퀀스 형태. 여기서 j는 다음과 같이 증가하는 인덱스입니다. 각 가격 업데이트. 개시자 init1은 각 노드 Oi가 현재 ETH-USD 가격을 모니터링하도록 합니다. 인덱스 j를 사용하여 가장 최근에 저장한 가격 r에서 최소 1%의 편차. 시 이러한 편차를 감지한 Oi는 다음을 사용하여 새 가격의 현재 보기 ri를 L에 기록합니다. ⟨PriceView : i, j + 1, ri⟩ 형식의 항목. 두 번째 개시자 init2는 새 가격이 포함된 PriceView 항목이 k개 이상 있을 때 발생합니다. 개별 노드에서 생성된 인덱스 j + 1의 값이 L에 누적됩니다. 그러면 init2 첫 번째 k개의 유효한 유효한 가격 보기 값 k개의 중앙값 ρ를 계산하기 위해 진입점 logic2를 호출하고 새로운 값 ⟨NewPrice : j + 1, ρ⟩을 L에 씁니다. (운영상 노드 교대로 지정작가가 될 수 있다.) 세 번째 개시자 init3은 L의 NewPrice 항목을 감시합니다. 새 보고서가 나올 때마다 ⟨NewPrice : j, r⟩가 거기에 나타나며 (j, r)을 SC에 푸시하는 진입점 logic3을 호출합니다. 어댑터를 사용하여. 앞서 언급했듯이 실행 파일은 기능 면에서 smart contract과 유사합니다. 그러나 더 높은 성능 외에도 일반적인 메인 체인 계약과 다릅니다. 두 가지 중요한 방법으로: 1. 기밀성: 실행 파일은 기밀 계산을 수행할 수 있습니다. 즉, 비밀 프로그램이 일반 텍스트 입력을 처리하거나 게시된 프로그램이 처리할 수 있습니다. 비밀 입력 데이터 또는 둘의 조합. 간단한 모델에서는 비밀 데이터가 중간 결과를 숨기고만 공개하는 DON 노드에서 액세스할 수 있습니다. MAINCHAIN에 처리 및 삭제된 값. DONs 자체에서 민감한 데이터를 숨기는 것도 가능합니다. DONs는 다음과 같은 접근 방식을 지원하기 위한 것입니다. 다자간 계산(예: [42, 157]) 및 신뢰할 수 있는 실행 환경 (TEE) [84, 133, 152, 229] 이 목적을 위해.6 6더 나아가 DON 노드와 관련하여 실행 파일 자체를 비밀로 유지하는 것도 가능합니다. 이는 오늘날 TEE를 사용하는 중요하지 않은 실행 파일에만 실용적입니다.2. 지원 역할: 실행 파일은 기본에서 smart contract을 지원하기 위한 것입니다. 체인을 교체하는 대신 실행 파일에는 다음과 같은 몇 가지 제한 사항이 있습니다. smart contract은(는) 다음을 수행하지 않습니다. (a) 신뢰 모델: 실행 파일은 다음에 의해 정의된 신뢰 모델 내에서 작동합니다. DON: 올바른 실행은 O의 정직한 행동에 달려 있습니다. (메인 그러나 체인은 DON 불법 행위에 대한 일부 가드 레일을 제공할 수 있습니다. 섹션 7.3에서 논의됨) (b) 자산 액세스: DON은 blockchain의 계정을 제어할 수 있으므로 어댑터를 통해 자산을 제어합니다. 하지만 DON은 정식으로 사용할 수 없습니다. Ether 또는 ERC20 tokens와 같은 메인 체인에서 생성된 자산을 나타냅니다. 그들의 네이티브 체인은 소유권에 대한 권위 있는 기록을 유지합니다. (c) 수명 주기: DONs는 다음과 같이 제한된 수명으로 의도적으로 유지될 수 있습니다. DONs와 소유자 간의 온체인 서비스 수준 계약에 의해 정의됩니다. 의존 계약의. 대조적으로, 블록체인은 다음과 같이 기능하도록 되어 있습니다. 영구 보관 시스템. DON 계산에 대한 자세한 내용은 부록 B.2를 참조하세요. 3.3 저장 위원회 기반 시스템인 DON은 적당한 양의 데이터를 지속적으로 저장할 수 있습니다. L에서는 무허가 blockchain보다 훨씬 저렴한 비용으로 사용할 수 있습니다. 또한 어댑터를 통해 DONs는 데이터 저장을 위해 외부 분산 시스템을 참조할 수 있습니다(예: Filecoin [85], 이를 통해 해당 시스템을 smart contract에 연결할 수 있습니다. 이 옵션은 특히 "부풀음"이라는 만연한 문제를 해결하는 수단으로 대량 데이터에 적합합니다. blockchain 시스템. 따라서 DONs는 특별히 지원되는 서비스에 사용하기 위해 데이터를 로컬 또는 외부에 저장할 수 있습니다. DON은(는) 이러한 데이터를 기밀 방식으로 추가로 사용할 수 있습니다. (1) DON 노드 전체에서 비밀 공유되거나 암호화된 데이터에 대한 컴퓨팅 안전한 다자간 계산에 적합한 방식으로 DON 노드에서 관리하는 키 또는 부분적 또는 완전 동형 암호화; 또는 (2) 신뢰할 수 있는 실행을 사용하여 보호됨 환경. 우리는 DONs가 일반적인 간단한 메모리 관리 모델을 채택할 것으로 기대합니다. 스마트 계약 시스템: 실행 파일은 자체 메모리에만 쓸 수 있습니다. 실행 파일 그러나 다른 실행 파일의 메모리에서는 읽을 수 있습니다. DON 저장소에 대한 자세한 내용은 부록 B.3을 참조하세요. 3.4 트랜잭션 실행 프레임워크(TEF) DONs는 메인 체인 MAINCHAIN(또는 여러 메인 체인)의 계약을 지원하기 위한 것입니다. TEF(Transaction-Execution Framework)에 대해 자세히 설명합니다.섹션 6에서는 효율적인 계약 실행에 대한 일반적인 목적의 접근 방식을 설명합니다. MAINCHAIN 및 DON 전반의 SC. TEF는 FSS 및 레이어-2를 지원하도록 고안되었습니다. 원하는 경우 기술을 동시에 사용할 수 있습니다. 사실상 주력 차량이 될 가능성이 크다. FSS 사용에 대한 것입니다(그러한 이유로 이 섹션에서는 FSS에 대해 더 이상 논의하지 않습니다). 간단히 말해서, TEF에서는 MAINCHAIN을 위해 설계되거나 개발된 원래 대상 계약 SC입니다. 하이브리드 계약으로 리팩토링됩니다. 이 리팩토링은 두 가지 상호 운용성을 생성합니다. 하이브리드 계약의 일부: 명확성을 위해 우리가 언급하는 MAINCHAIN 계약 SCa TEF의 맥락에서 앵커 계약 및 DON의 실행 파일 실행 파일입니다. 는 계약 SCa는 사용자의 자산을 관리하고 권위 있는 상태 전환을 실행하며 DON의 오류에 대비한 보호 레일(섹션 7.3 참조)을 제공합니다. 실행 파일 exec 트랜잭션을 순서대로 나열하고 관련 oracle 데이터를 제공합니다. 묶을 수 있다 다양한 방법(예: 유효성 증명 기반 또는 낙관적인 rollups, DON에 의한 기밀 실행 등 우리는 개발자가 계약을 쉽게 분할할 수 있는 도구를 개발할 것으로 기대합니다. 고급 언어로 작성된 SC는 MAINCHAIN 및 DON 로직, SCa 및 안전하고 효율적으로 구성되는 각각의 임원입니다. TEF를 사용하여 고성능 트랜잭션 체계를 고성능과 통합 oracles는 oracle 확장 접근 방식의 핵심입니다. 3.5 멤풀 서비스 지원을 위해 DON에 배포하려는 중요한 애플리케이션 계층 기능 FSS와 TEF는 Mempool Services(MS)입니다. MS는 어댑터로 볼 수도 있지만, 그러나 최고 수준의 지원을 제공합니다. MS는 레거시 호환 트랜잭션 처리를 지원합니다. 이 용도에서는 MS 대상 계약을 위해 의도된 트랜잭션을 메인 체인의 멤풀에서 수집합니다. 메인체인의 SC. 그런 다음 MS는 이러한 트랜잭션을 DON의 실행 파일에 전달합니다. 원하는 방식으로 처리되는 곳입니다. MS 데이터는 DON에서 사용할 수 있습니다. DON에서 SC로 직접 전달될 수 있는 트랜잭션을 작성하거나 SC를 호출하는 다른 계약으로. 예를 들어 DON은 트랜잭션을 전달할 수 있습니다. MS를 통해 수집하거나 MS 데이터를 사용하여 보내는 거래에 대한 가스 가격을 설정할 수 있습니다. 메인체인. MS는 mempool을 모니터링하기 때문에 SC와 직접 상호 작용하는 사용자로부터 트랜잭션을 얻을 수 있습니다. 따라서 사용자는 다음을 사용하여 계속해서 거래를 생성할 수 있습니다. 레거시 소프트웨어, 즉 MS 및 MS 구성의 존재를 인식하지 못하는 애플리케이션 계약. (이 경우 원래 거래를 무시하고 SC를 변경해야 합니다. 이중 처리를 피하기 위해 MS에서 처리한 것만 허용합니다.) 대상 계약 SC와 함께 사용하기 위해 MS는 FSS 및/또는 TEF와 함께 사용될 수 있습니다.3.6 디딤돌: 기존 Chainlink 기능 3.6.1 오프체인 보고(OCR) OCR(오프체인 보고) [60]은 oracle 보고서 집계 및 의존 계약 SC로의 전송을 위한 Chainlink의 메커니즘입니다. Chainlink 가격으로 최근 배포됨 피드 네트워크에서는 전체 DON을 향한 첫 번째 단계를 나타냅니다. 핵심적으로 OCR은 부분적으로 동기식으로 작동하도록 설계된 BFT 프로토콜입니다. 네트워크. f < n/3이 존재할 때 임의로 활성도와 정확성을 보장합니다. 결함이 있는 노드는 비잔틴의 안정적인 방송 속성을 보장하지만 그렇지 않습니다. 완전한 BFT 합의 프로토콜. 노드는 다음과 같은 메시지 로그를 유지하지 않습니다. 모든 관점에서 동일한 원장을 나타낸다는 점에서 일관성이 있으며, 프로토콜의 리더는 안전을 위반하지 않고 모호하게 말할 수 있습니다. OCR은 현재 특정 메시지 유형(중간화된 집계)을 위해 설계되었습니다. (최소 2f +1) 값은 참여 노드에서 보고됩니다. 이는 다음에 대한 주요 보증을 제공합니다. SC에 대해 출력하는 보고서(증명된 보고서라고 함): 증명된 보고서의 중앙값 보고서는 두 정직한 노드가 보고한 값과 같거나 그 사이에 있습니다. 이 속성은 OCR의 주요 안전 조건입니다. 리더는 중앙값에 어느 정도 영향을 미칠 수 있습니다. 입증된 보고서의 가치는 이 정확성 조건에만 적용됩니다. OCR은 다양한 방식으로 값을 집계하는 메시지 유형으로 확장됩니다. Chainlink 네트워크의 활성 및 정확성 목표는 오늘날 필요하지 않지만 OCR이 완전한 합의 프로토콜이 되려면 기존 BFT 프로토콜에는 없는 몇 가지 추가 기능 형태를 제공하기 위해 OCR이 필요합니다. 특히 다음과 같습니다. 1. 전부 아니면 전무의 오프체인 보고서 방송: OCR은 증명된 보고서를 보장합니다. 모든 정직한 노드가 신속하게 사용할 수 있게 되거나 그 중 누구도 사용할 수 없게 됩니다. 이것이 공정성이다 정직한 노드가 참여할 기회를 갖도록 보장하는 재산 증명된 보고서 전송 시. 2. 안정적인 전송: OCR은 결함이 있거나 악의적인 경우에도 보장합니다. 모든 OCR 보고서와 메시지가 특정 내에서 SC로 전송되는 노드, 미리 정의된 시간 간격. 이는 활성 속성입니다. 3. 계약 기반 신뢰 최소화: SC는 잠재적으로 잘못된 OCR 생성 보고서를 필터링합니다(예: 보고된 값이 다른 값과 크게 벗어나는 경우). 최근에 받은 것. 이는 추가 프로토콜 정확성 적용의 한 형태입니다. 이 세 가지 속성은 모두 DONs에서 자연스러운 역할을 합니다. 전부 아니면 전무 오프체인(DON) 방송은 암호화폐 경제 보장을 위한 중요한 구성 요소입니다. 안정적인 전송을 중심으로 이는 결국 필수적인 어댑터 속성입니다. 신뢰 SC의 최소화는 섹션 7.3에서 논의된 바와 같이 일종의 가드레일입니다. OCR은 또한 Chainlink의 oracle 네트워크에서 BFT 프로토콜의 운영 배포 및 개선을 위한 기반을 제공합니다. DONs의 기능.3.6.2 DECO와 타운 크라이어 DECO [234] 및 Town Crier [233]은 현재 진행 중인 관련 기술 쌍입니다. Chainlink 네트워크에서 개발되었습니다. 오늘날 대부분의 웹 서버에서는 사용자가 프로토콜을 사용하여 보안 채널을 통해 연결할 수 있습니다. TLS(전송 계층 보안) [94]이라고 합니다. (HTTPS는 HTTP의 변형을 나타냅니다. TLS를 사용하여 활성화됩니다. 즉, "https" 접두사가 붙은 URL은 보안을 위해 TLS를 사용함을 나타냅니다.) 하지만 대부분의 TLS 지원 서버에는 눈에 띄는 제한 사항이 있습니다. 즉, 디지털 서명을 하지 않습니다. 데이터. 결과적으로, 사용자나 증명자는 서버로부터 받은 데이터를 제시할 수 없습니다. 다음을 보장하는 방식으로 oracle 또는 smart contract와 같은 제3자 또는 검증자에게 데이터의 신뢰성. 서버가 데이터에 디지털 서명을 하더라도 기밀성 문제가 남아 있습니다. 증명자는 중요한 데이터를 제출하기 전에 수정하거나 수정하기를 원할 수 있습니다. 검증자. 그러나 디지털 서명은 수정된 데이터를 무효화하기 위해 특별히 설계되었습니다. 따라서 증명자가 기밀성을 유지하면서 변경하는 것을 방지합니다. 데이터에. (자세한 내용은 섹션 7.1을 참조하세요.) DECO와 Town Crier는 증명자가 웹에서 데이터를 얻을 수 있도록 설계되었습니다. 무결성과 기밀성을 보장하는 방식으로 검증자에게 제공합니다. 두 시스템은 다음에 의해 제공되는 데이터를 보장한다는 의미에서 무결성을 유지합니다. 검증자에 대한 증명자는 대상 서버에서 인증됩니다. 그들은 지원한다 증명자가 데이터를 수정하거나 수정할 수 있도록 허용한다는 의미의 기밀성(여전히 무결성 유지). 두 시스템의 주요 특징은 어떤 수정도 필요하지 않다는 것입니다. 대상 웹 서버. 기존 TLS 지원 서버와 함께 작동할 수 있습니다. 사실, 서버에 투명합니다. 서버의 관점에서 증명자는 일반적인 연결을 설정합니다. 두 시스템은 비슷한 목표를 가지고 있지만 지금 간략하게 설명하는 것처럼 신뢰 모델과 구현이 다릅니다. DECO는 무결성을 달성하기 위해 암호화 프로토콜을 기본적으로 사용합니다. 및 기밀성 속성. DECO를 사용하여 대상 서버와 세션을 설정하는 동안 Prover는 동시에 대화형 프로토콜에 참여합니다. 검증자. 이 프로토콜을 통해 증명자는 검증자에게 수신했음을 증명할 수 있습니다. 현재 세션 동안 서버에서 주어진 데이터 D 조각. 증명자는 할 수 있다 대안으로 검증자에게 D의 일부 속성에 대한 영지식 증명을 제시합니다. 따라서 D를 직접적으로 공개하지 않습니다. DECO의 일반적인 사용에서 사용자 또는 단일 노드는 개인 데이터베이스에서 데이터 D를 내보낼 수 있습니다. DON의 모든 노드에 대한 웹 서버와의 세션. 결과적으로 전체 DON은(는) D의 진위(또는 영지식 증명을 통해 D에서 파생된 사실)를 증명합니다. 이 문서의 뒷부분에 나오는 예제 애플리케이션 외에도 이 기능을 사용할 수 있습니다. DON을 통해 데이터 소스에 대한 높은 무결성 액세스를 증폭하는 데 사용됩니다. 노드가 1개만 있어도 예를 들어 다음과의 독점 계약으로 인해 데이터 소스에 직접 액세스할 수 있습니다. 데이터 제공자—전체 DON가해당 노드에서 내보내는 보고서입니다. Town Crier는 Intel과 같은 TEE(신뢰할 수 있는 실행 환경)를 사용합니다. SGX. 간단히 말해서, TEE는 애플리케이션을 실행하는 일종의 블랙박스 역할을 합니다. 변조 방지 및 기밀 방식. 원칙적으로 해당 호스트의 소유자라도 실행 중인 TEE는 TEE로 보호되는 애플리케이션을 (감지 불가능하게) 변경할 수 없으며, 비밀 데이터가 포함될 수 있는 애플리케이션 상태를 봅니다. Town Crier는 DECO 등의 모든 기능을 구현할 수 있습니다. DECO는 증명자가 단일 검증자와 상호 작용하도록 제한합니다. 대조적으로, Town Crier는 다음을 가능하게 합니다. 대상 서버에서 가져온 데이터 D에 대해 공개적으로 검증 가능한 증거를 생성하는 증명자, 즉, smart contract이라도 누구나 직접 확인할 수 있는 증거입니다. 마을 외치는 사람은 할 수 있습니다 또한 보안 비밀(예: 사용자 자격 증명)을 안전하게 수집하고 활용합니다. Town Crier의 주요 제한 사항은 TEE에 대한 의존성입니다. 생산 TEE에는 기술은 초기 단계에 있으며 의심할 여지 없이 성숙해질 것이지만 최근에 여러 가지 심각한 취약점이 있는 것으로 나타났습니다. 자세한 내용은 부록 B.2.1 및 B.2.2를 참조하세요. TEE에 대한 추가 논의. DECO 및 Town Crier의 몇 가지 적용 예는 섹션 4.3, 4.5를 참조하세요. 9.4.3 및 부록 C.1. 3.6.3 기존 온체인 Chainlink 서비스 Chainlink oracle 네트워크는 다양한 분야에서 다양한 주요 서비스를 제공합니다. blockchains 및 오늘날의 기타 분산형 시스템. 설명 된대로 추가 진화 이 백서에서는 이러한 기존 서비스에 추가 기능을 부여하고 도달하다. 세 가지 예는 다음과 같습니다. 데이터 피드: 오늘날 smart contract에 의존하는 대부분의 Chainlink 사용자는 데이터 피드 사용. 이는 주요 데이터의 현재 가치에 대한 보고서입니다. 신뢰할 수 있는 오프체인 소스에. 예를 들어 가격 피드는 가격을 보고하는 피드입니다. 자산(암호화폐, 원자재, 외환, 지수, 주식 등)에 따라 교환 또는 데이터 수집 서비스. 오늘날 이러한 피드는 이미 수십억 달러의 보안을 확보하는 데 도움이 됩니다. Aave [147]와 같은 DeFi 시스템에서의 사용을 통한 온체인 가치의 달러 신세틱스 [208]. Chainlink 데이터 피드의 다른 예로는 다음의 날씨 데이터가 있습니다. 매개변수적 작물 보험 [75] 및 선거 데이터 [93] 등이 있습니다. 이 백서에 설명된 DON 및 기타 기술의 배포는 다음을 포함하여 여러 가지 방법으로 Chainlink 네트워크의 데이터 피드 제공을 향상시킵니다. • 확장: OCR 이후 DON은 Chainlink 서비스 확장을 목표로 합니다. 그들이 지원하는 많은 blockchain에 걸쳐 극적으로. 예를 들어, 우리는 DONs는 다음을 사용하여 노드에서 제공하는 데이터 피드 수를 늘리는 데 도움이 됩니다. Chainlink 100년대부터 1000년대 그리고 그 이상까지. 이러한 확장은 Chainlink에 도움이 될 것입니다. 생태계는 smart contracts와 관련된 데이터를 포괄적으로 제공하고 기존 및 미래의 요구 사항을 충족하고 예상한다는 목표를 달성합니다.• 보안 강화: 중간 보고서를 저장하면 DONs에서 기록을 유지합니다. 충실도가 높은 모니터링과 성능 및 정확성 측정을 위한 노드 동작을 통해 평판 시스템에 대한 강력한 경험적 기반을 제공합니다. Chainlink 노드의 경우. FSS와 TEF를 통해 가격 피드를 통합할 수 있습니다. 프론트 런(front-running)과 같은 공격을 방지하는 유연한 방식으로 거래 데이터를 사용합니다. (명시적) staking은 보안의 기존 암호경제적 보호를 강화합니다. 데이터 피드의 • 피드 민첩성: blockchain-agnostic 시스템(실제로 더 광범위하게는 소비자 독립적 시스템)으로서 DONs는 다양한 사용자에게 데이터 피드 제공을 용이하게 할 수 있습니다. 의존 시스템의. 단일 DON는 주어진 피드를 동시에 세트로 푸시할 수 있습니다. 다양한 blockchain을 사용하여 체인별 oracle 네트워크가 필요하지 않으며 새로운 blockchain에 대한 기존 피드와 추가 피드를 빠르게 배포할 수 있습니다. 현재 서비스되는 blockchain에 대한 피드입니다. • 기밀성: DON에서 일반화된 계산을 수행하는 기능을 통해 민감한 데이터에 대한 계산이 온체인을 피하고 오프체인에서 수행될 수 있습니다. 노출. 추가적으로 DECO나 Town Crier를 사용하면 기밀성이 더욱 강화되어 공개되지 않은 데이터를 기반으로 보고서를 생성할 수 있습니다. DON 노드에도 노출됩니다. 예시는 섹션 4.3 및 섹션 4.5를 참조하세요. 검증 가능한 무작위 함수(VRF): 여러 유형의 DApp에는 자체 공정한 운영을 검증할 수 있도록 검증 가능한 올바른 무작위성 소스가 필요합니다. 대체 불가능한 토큰(NFTs)이 그 예입니다. Aavegotchi [23] 및 Axie Infinity [35]의 NFT 기능의 희귀성은 Chainlink VRF에 의해 결정되며 분포도 마찬가지입니다. Ether 카드 [102]의 티켓 기반 추첨을 통해 NFTs; 다양한 결과가 무작위로 결정되는 게임 DApp 비전통적인 금융 수단(예: PoolTogether [89]과 같은 무손실 저축 게임) 무작위 우승자. 기타 blockchain 및 blockchain이 아닌 애플리케이션에도 보안이 필요합니다. 분산 시스템 위원회의 선택과 복권 실행. hashes 블록은 예측할 수 없는 무작위성의 소스 역할을 할 수 있지만, 적대적인 채굴자(및 어느 정도 제출한 사용자)의 조작에 취약합니다. 거래). Chainlink VRF [78]은 훨씬 더 안전한 대안을 제공합니다. 안 oracle에는 개인 키가 오프체인으로 유지되고 공개 키 pk가 게시되는 연결된 개인/공개 키 쌍(sk, pk)이 있습니다. 임의의 값을 출력하려면 의존 계약에 의해 제공되는 예측할 수 없는 시드 x에 sk를 적용합니다(예: hash 블록) 및 DApp별 매개변수) 함수 F를 사용하여 y = Fsk(x)를 산출합니다. 정확성의 증거. (Chainlink에서 사용할 수 있는 VRF는 [180]을 참조하세요.) VRF 검증 가능은 pk에 대한 지식을 바탕으로 증명의 정확성, 즉 y의 정확성을 확인할 수 있다는 사실입니다. 결과적으로 y 값은 예측할 수 없습니다. x를 예측하거나 sk를 학습할 수 없고 서비스가 조작할 수 없는 적입니다.Chainlink VRF는 오프체인 개인 키의 관리와 관련된 애플리케이션 제품군 중 하나로 볼 수 있습니다. 보다 일반적으로 DONs는 보안을 제공할 수 있습니다. 애플리케이션 및/또는 사용자를 위한 개별 키의 분산형 저장 및 결합 일반화된 계산을 통해 이 기능을 사용할 수 있습니다. 그 결과 수많은 응용 프로그램이 탄생했습니다. 이 문서에서는 Proof of Key 관리를 포함하여 몇 가지 예를 제공합니다. 예비금(섹션 4.1 참조) 및 사용자의 분산 자격 증명(및 기타 디지털 자산)(섹션 4.3 참조). 키퍼: Chainlink 키퍼 [87]는 개발자가 분산형 코드를 작성할 수 있도록 해줍니다. 일반적으로 의존하는 smart contract의 실행을 트리거하기 위한 오프체인 작업 실행. Keeper가 등장하기 전에는 개발자가 이러한 오프체인을 운영하는 것이 일반적이었습니다. 논리 자체가 중앙 집중화된 실패 지점을 생성합니다(상당한 중복 개발 노력도 포함). 대신 Keeper는 사용하기 쉬운 프레임워크를 제공합니다. 이러한 작업을 분산 아웃소싱하여 개발 주기를 단축하고 활성 및 기타 보안 속성에 대한 강력한 보증. 키퍼는 무엇이든 지원할 수 있습니다 가격에 따른 대출 청산 또는 금융 거래 실행, 시간에 따른 에어드롭 또는 결제 시작 수확량 수확 등을 갖춘 시스템에서. DON 프레임워크에서 개시자는 여러 의미에서 Keeper의 일반화로 볼 수 있습니다. 개시자는 어댑터를 사용할 수 있으므로 온체인 및 오프체인 시스템에 대한 모듈화된 인터페이스 라이브러리를 통해 신속한 안전하고 정교한 기능 개발. 개시자는 다음에서 계산을 시작합니다. DONs의 완전한 다양성을 제공하는 실행 파일입니다. 온체인 및 오프체인 애플리케이션을 위해 이 백서에서 제시하는 다양한 분산형 서비스입니다. 3.6.4 노드 평판 / 성능 내역 기존 Chainlink 생태계는 기본적으로 다음의 성능 기록을 문서화합니다. 체인에 노드를 기여합니다. 이 기능을 통해 개인에 대한 성과 데이터를 수집, 필터링 및 시각화하는 평판 지향 리소스 모음이 탄생했습니다. 노드 운영자 및 데이터 피드. 사용자는 이러한 리소스를 참조하여 정보를 얻을 수 있습니다. 노드 선택에 대한 결정을 내리고 기존 네트워크의 작동을 모니터링합니다. 유사한 기능은 사용자가 DON을 선택하는 데 도움이 됩니다. 예를 들어 오늘날 market.link와 같은 무허가 마켓플레이스는 노드를 허용합니다. 운영자는 자신의 oracle 서비스를 나열하고 다음을 통해 오프체인 신원을 증명합니다. Chainlink에 있는 노드의 프로필을 해당 노드에 바인딩하는 Keybase [4]와 같은 서비스 소유자의 기존 도메인 이름 및 소셜 미디어 계정. 추가적으로 성능 market.link 및 Reputation.link에서 제공되는 것과 같은 분석 도구를 사용하면 사용자는 다음을 포함하여 개별 노드의 과거 성능에 대한 통계를 볼 수 있습니다. 평균 응답 대기 시간, 보고서 값과 합의 값의 편차 체인을 통해 중계되고, 수익이 창출되고, 작업이 완료되는 등의 일이 발생합니다. 이러한 분석 도구는 또한 사용자는 다른 사용자의 다양한 oracle 네트워크 채택을 추적할 수 있습니다.그러한 네트워크를 보호하는 노드에 대한 암묵적인 보증. 그 결과는 평평한 "웹"입니다. 특정 노드를 사용하여 고부가가치 분산 애플리케이션을 생성하는 신뢰” 다른 사용자가 관찰하고 고려할 수 있는 노드에 대한 신뢰의 신호입니다. 자신의 노드 선택 결정. DONs(및 처음에는 OCR 사용)를 사용하면 트랜잭션 처리 및 계약 활동은 더 일반적으로 오프체인입니다. 기록 노드를 위한 분산형 모델 DON 자체 내에서는 성능이 유지됩니다. 과연 고성능 DONs의 데이터 용량으로 세분화된 기록 구축이 가능합니다. 또한 이러한 기록에 대해 분산형 계산을 수행하여 평판 서비스에서 사용하고 검사할 수 있는 신뢰할 수 있는 요약을 생성합니다. 메인체인. 원칙적으로 DON는 노드의 상당 부분이 손상된 경우 구성 노드의 동작을 잘못 나타낼 수 있지만 집단적 온체인 데이터를 전달하는 DON 자체의 성능은 MAINCHAIN에서 볼 수 있습니다. 따라서 잘못 표현될 수 없습니다. 추가적으로 우리는 다음과 같은 메커니즘을 탐색할 계획입니다. DON에서 노드 동작에 대한 정확한 내부 보고를 장려합니다. 예를 들어, 데이터를 가장 빠르게 반환하는 고성능 노드의 하위 집합을 보고하면 기여도가 높아집니다. 체인에 전달된 보고서에 대해 DON은 노드가 잘못된 것에 대해 이의를 제기하도록 인센티브를 생성합니다. 보고서: 이 하위 집합에 노드를 잘못 포함한다는 것은 노드를 잘못 제외한다는 의미입니다. 포함되어야 하므로 무효한 불이익을 줍니다. DON에 의한 반복적인 보고 실패는 또한 정직한 노드가 DON. 정확한 성과 이력의 분산화된 편집과 그에 따른 결과 사용자가 고성능 노드를 식별하고 노드 운영자가 구축할 수 있는 능력 평판은 Chainlink 생태계를 구별하는 중요한 특징입니다. 우리 섹션 9에서 우리가 그것들을 엄격하고 이해하기 쉬운 핵심 부분으로 추론할 수 있는 방법을 보여줍니다. DONs가 제공하는 경제적 안정에 대한 광범위한 관점.
去中心化的 Oracle 网络接口和 Ca-
能力 在这里,我们简单地描述了 DONs 的功能,简单但强大 它们旨在实现的接口。 DON 上的应用程序由可执行文件和适配器组成。可执行文件是 其核心逻辑是确定性程序的程序,类似于 smart contract。 可执行文件还具有许多附带的启动程序,即调用入口的程序 当预定事件发生时(例如,在某些时间),可执行文件逻辑中的点 (就像 cron 作业),当价格超过阈值时,等等——很像 Keepers(参见第 3.6.3 节)。适配器提供链下资源的接口,可以被调用 可执行文件中的发起者或核心逻辑。因为他们的行为可能取决于此 外部资源、启动器和适配器的行为可能是不确定的。 我们描述了 DON 开发者界面以及可执行文件的功能和 适配器通常用于表征计算系统的三种资源:网络、计算和存储。我们对其中每一个进行简要概述 以下资源并在附录 B 中提供更多详细信息。

3.1 网络 适配器是在 DON 上运行的可执行文件可以通过其发送和接收信息的接口。 从off-DON系统接收数据。适配器可以被视为泛化 今天 Chainlink 使用的适配器 [20]。适配器可以是双向的,即它们 不能只是从 DON 拉取数据,而是将数据推送到 Web 服务器。他们还可以利用 分布式协议以及加密功能,例如安全多方 计算。 图 9:适配器连接 DON(表示为 DON1)与一系列不同的资源,包括另一个 DON(表示为 DON2)、一条 blockchain(主链)及其 mempool、外部存储、Web 服务器和 IoT 设备(通过 Web 服务器)。 显示了可以为其创建适配器的外部资源的示例 如图 9 所示。它们包括: • 区块链:适配器可以定义如何将交易发送到 blockchain 并 如何从中读取区块、单个交易或其他状态。适配器一个 也可以为 blockchain 的内存池定义。 (参见第 3.5 节。) • Web 服务器:适配器可以定义可检索数据的 API 来自网络服务器,包括不专门适应的遗留系统 与 DONs 连接。此类适配器还可以包含用于将数据发送到的 API 这样的服务器。 DON 连接的 Web 服务器可以充当网关 其他资源,例如物联网 (IoT) 设备。• 外部存储:适配器可以定义读取和写入存储的方法 DON 之外的服务,例如去中心化文件系统 [40, 188] 或云 存储。 • 其他DON:适配器可以在DON 之间检索和传输数据。 我们预计 DONs 的初始部署将包括一组构建块 此类常用外部资源的适配器,并将进一步允许 DON 特定的 由 DON 节点发布的适配器。作为 smart contract 开发人员编写适配器 今天,我们预计他们将使用这种先进的技术构建更强大的适配器 功能。 我们期望用户最终能够在一个新的适配器中创建新的适配器。 未经许可的方式。 某些适配器的构造方式必须确保由 DON 控制的外部资源的持久性和可用性。例如,云存储可以 需要维护云服务帐户。此外,DON 可以执行 代表用户对私钥进行去中心化管理(例如 [160])和/或 可执行文件。因此,DON能够控制可用于例如在目标blockchain上发送交易的资源,例如加密货币。 有关 DON 适配器的更多详细信息,请参阅附录 B.1,一些适配器的详细信息请参阅附录 C。 示例适配器。 3.2 计算 可执行文件是 DON 上的基本代码单元。可执行文件是一对 exec = (逻辑,初始化)。这里,逻辑是一个具有多个指定入口的确定性程序 点 (logic1,logic2,...,logicℓ) 和 init 是一组相应的启动器 (初始化1、初始化2、……、初始化)。确保可执行文件逻辑 DON 的完全可审计性 使用底层账本 L 来处理所有输入和输出。因此,例如,任何适配器 作为可执行文件输入的数据必须首先存储在 L 上。 发起人: 今天 Chainlink 中的启动器会导致事件相关的作业执行 Chainlink 节点 [21]。 DONs 中的启动器的功能大致相同。然而,DON 启动器与可执行文件特定关联。发起者可能取决于 基于外部事件或状态、当前时间或 DON 状态的谓词。 由于对事件的依赖,发起者的行为当然可能是不确定的 (当然也可以是适配器)。启动器可以在各个 DON 节点内执行 因此不需要依赖适配器。 (参见下面的示例 1。) 启动器是区分可执行文件和 smart contract 的一个重要特征。 因为可执行文件可以响应启动器而运行,所以它可以有效地操作 自主地,当然通过扩展可以包含可执行文件的混合合同。如今发起者的一种形式是 Chainlink 守护者,它提供交易自动化服务,根据 oracle 报告触发 smart contract 执行,例如清算抵押不足的贷款和执行限价订单交易。 方便地,DONs 中的启动器也可以被视为指定 适用于可执行文件的服务协议,因为它们定义了以下情况 DON 必须调用它。 以下示例说明启动器如何在可执行文件中工作: 示例 1(偏差触发的喂价)。 smart contract SC 可能需要新鲜的 每当价格发生重大变化(例如 1%)时,喂价数据(参见第 3.6.3 节) 一对资产之间的汇率,例如 ETH-USD。波动敏感的价格 今天 Chainlink 支持提要,但了解它们如何实现是有启发性的 通过可执行的 execfeed 在 DON 上实现。 可执行文件 execfeed 在 L 上维护最新的 ETH-USD 价格 r,在 ⟨NewPrice : j, r⟩entries 序列的形式,其中 j 是递增的索引 每次价格更新。 发起者 init1 使每个节点 Oi 监控当前 ETH-USD 价格 与索引 j 的最近存储的价格 r 的偏差至少为 1%。之上 检测到这种偏差,Oi 将新价格的当前视图 ri 写入 L 使用 ⟨PriceView : i, j + 1, ri⟩ 形式的条目。 当至少 k 个这样的 PriceView 条目具有新价格时,第二个启动器 init2 就会触发 由不同节点创建的索引 j + 1 的值已累积在 L 上。然后,init2 调用入口点逻辑 2 来计算前 k 个新的有效价格视图值的中位数 ρ 并将新值 ⟨NewPrice : j + 1, ρ⟩ 写入 L 。 (操作上,节点 可以轮流担任指定撰稿人。) 第三个发起者 init3 监视 L 上的 NewPrice 条目。每当有新报告时 ⟨NewPrice : j, r⟩出现在那里,它调用一个入口点逻辑 3,将 (j, r) 推送到 SC 使用适配器。 正如我们所指出的,可执行文件的功能与 smart contract 类似。 然而,除了其更高的性能之外,它与典型的主链合约不同 以两种基本方式: 1. 机密性:可执行文件可以执行机密计算,即秘密程序可以处理明文输入,或者发布的程序可以处理 秘密输入数据,或两者的组合。在一个简单的模型中,秘密数据可以 由 DON 节点访问,隐藏中间结果并仅公开 处理和清理的值到主链。也可以从 DON 本身隐藏敏感数据:DON 旨在支持此类方法 作为多方计算,例如 [42, 157] 和可信执行环境 (TEE) [84, 133, 152, 229] 为此目的。6 6通过扩展,也可以对 DON 节点保持可执行文件本身的秘密, 尽管这在今天仅适用于使用 TEE 的重要可执行文件。2. 支持角色:可执行文件旨在支持主系统上的 smart contracts 链,而不是取代它们。可执行文件有几个限制: smart contract 不: (a) 信任模型:可执行文件在由 DON:其正确执行依赖于 O 的诚实行为。(主要 然而,链条可以提供一些防范 DON 渎职行为的防护措施,如 第 7.3 节中讨论。) (b) 资产访问:DON 可以控制 blockchain 上的帐户,因此 通过适配器控制其上的资产。但 DON 不能权威地 代表在主链上创建的资产,例如以太坊或 ERC20 tokens,因为 他们的本地链维护其所有权的权威记录。 (c) 生命周期:DONs 可能会故意以有限的生命周期建立起来,因为 由 DON 和所有者之间的链上服务水平协议定义 依赖合同。 相比之下,区块链的作用是 永久档案系统。 有关 DON 计算的更多详细信息,请参阅附录 B.2。 3.3 存储 作为基于委员会的系统,DON 可以持久存储适量的数据 在 L 上的成本比未经许可的 blockchain 低得多。此外,通过适配器, DONs 可以引用外部去中心化系统进行数据存储,例如 Filecoin [85], 从而可以将此类系统连接到 smart contracts。这个选项特别 作为解决普遍存在的“膨胀”问题的一种手段,对大量数据很有吸引力 blockchain 系统。 因此,DONs 可以在本地或外部存储数据,以便在其特定支持的服务中使用。 DON 还可以以保密的方式使用此类数据, 计算以下数据:(1) 在 DON 节点之间秘密共享或在以下情况下加密 由 DON 节点以适合安全多方计算的方式管理的密钥 或部分或完全同态加密;或 (2) 使用可信执行进行保护 环境。 我们预计 DONs 将采用常见的简单内存管理模型 智能合约系统:可执行文件只能写入自己的内存。可执行文件 但是,可以从其他可执行文件的内存中读取。 有关 DON 存储的更多详细信息,请参阅附录 B.3。 3.4 交易执行框架 (TEF) DON 旨在支持主链 MAINCHAIN (或多个主链)上的合约。详细讨论事务执行框架 (TEF)第 6 节中的内容是有效执行合同的通用方法 SC 跨主链和 DON。 TEF 旨在支持 FSS 和第 2 层 技术——如果需要的话,可以同时进行。事实上,它很可能作为主要车辆 FSS 的使用(因此,我们在本节中不再进一步讨论 FSS)。 简而言之,在 TEF 中,有一个为 MAINCHAIN 设计或开发的原始目标合约 SC 被重构为混合合约。这种重构产生了两个互操作的 混合合约的组成部分:为了清楚起见,我们将其称为主链合约 SCa 在 TEF 的背景下,作为锚定合约和 DON 上的可执行执行程序。的 合约SCa托管用户的资产,执行权威的状态转换,还 提供防护栏(参见第 7.3 节)以防止 DON 中的故障。可执行的 exec 对交易进行排序并为其提供关联的 oracle 数据。可以捆绑 通过多种方式进行 SCa 交易——例如,使用基于有效性证明的或 乐观 rollups,由 DON 保密执行,等等。 我们希望开发出使开发人员能够轻松分割合约的工具 SC 用高级语言编写成 MAINCHAIN 和 DON 逻辑块,SCa 和 分别执行,安全高效地组合。 使用TEF将高性能交易方案与高性能相结合 oracles 是我们的 oracle 缩放方法的组成部分。 3.5 内存池服务 我们打算在 DON 上部署一项重要的应用程序层功能以提供支持 FSS 和 TEF 的核心是 Mempool Services(MS)。 MS 可以被视为一个适配器, 但拥有一流的支持。 MS 提供对传统兼容事务处理的支持。在此用途中,MS 从主链的内存池中摄取那些用于目标合约的交易 主链上的 SC。然后,MS 将这些事务传递给 DON 上的可执行文件, 它们以所需的方式进行处理。 MS 数据可由 DON 使用 组成交易,然后可以直接从 DON 传递到 SC 或 到另一个名为 SC 的合约。例如,DON可以转发交易 通过 MS 收集,或者它可以使用 MS 数据为其发送到的交易设置 Gas 价格 主链。 由于它监控内存池,MS 可以从直接与 SC 交互的用户获取交易。因此,用户可以继续使用以下方式生成交易 遗留软件,即不知道 MS 和 MS 配置的存在的应用程序 合同。 (在这种情况下,必须更改 SC 以忽略原始交易并 仅接受MS处理过的内容,以避免双重处理。) 为了与目标合同 SC 一起使用,MS 可以与 FSS 和/或 TEF 一起使用。3.6 垫脚石:现有 Chainlink 功能 3.6.1 链下报告(OCR) 链外报告 (OCR) [60] 是 Chainlink 中的一种机制,用于 oracle 报告聚合和传输到依赖合约 SC。最近以 Chainlink 价格部署 馈送网络,它代表了通往完整 DON 之路的第一步。 OCR 的核心是 BFT 协议,旨在以部分同步的方式运行 网络。它确保任意存在 f < n/3 时的活性和正确性 故障节点,保证了拜占庭可靠广播的特性,但事实并非如此 完整的 BFT 共识协议。节点不维护消息日志 一致的意思是代表一个在所有观点上都相同的账本, 协议的领导者可以在不违反安全的情况下含糊其辞。 OCR 目前是为特定消息类型设计的: 参与节点报告的(至少 2f +1)个值。它提供了关键保证 它为 SC 输出的报告称为经过验证的报告:经过验证的报告中的中值 报告等于或位于两个诚实节点报告的值之间。此属性是 OCR 的关键安全条件。领导者可能对中位数有一定影响 经证明的报告中的值,但仅受此正确性条件的限制。光学字符识别可以 可以扩展到以不同方式聚合值的消息类型。 虽然 Chainlink 网络今天的活跃度和正确性目标不需要 OCR 是一个成熟的共识协议,它们确实需要 OCR 提供传统 BFT 协议中不存在的一些附加形式的功能,最值得注意的是: 1. 全有或全无的链下报告广播:OCR 确保经过验证的报告 快速可供所有诚实节点使用,或者不可供任何节点使用。这是一种公平 有助于确保诚实节点有机会参与的属性 在经过验证的报告传输中。 2. 可靠传输:OCR 确保即使存在错误或恶意 节点,所有OCR报告和消息在一定时间内传输到SC, 预先定义的时间间隔。这是一个活跃的属性。 3. 基于合同的信任最小化:SC 过滤掉潜在错误的 OCR 生成的报告,例如,如果它们报告的值与其他值显着偏差 最近收到的。这是协议外正确性强制的一种形式。 所有这三个属性都将在 DONs 中发挥自然作用。全有或全无链下 (DON) 广播是加密经济保证的重要组成部分 围绕可靠的传输,这又是适配器的一个重要属性。信任 SC 中的最小化是一种护栏,如第 7.3 节所述。 OCR 还为 Chainlink 的 oracle 网络中的 BFT 协议的操作部署和细化提供了基础,因此,如上所述,这是一条通往完整的路径。 DONs 的功能。3.6.2 德科和城市公告员 DECO [234] 和 Town Crier [233] 是目前正在开发的一对相关技术 在 Chainlink 网络中开发。 如今,大多数 Web 服务器允许用户使用协议通过安全通道进行连接 称为传输层安全 (TLS) [94]。 (HTTPS 表示 HTTP 的一个变体, 启用了 TLS,即以“https”为前缀的 URL 表示使用 TLS 来确保安全。) 不过,大多数启用 TLS 的服务器都有一个显着的限制:它们不进行数字签名 数据。因此,用户或证明者无法呈现她从服务器接收的数据 向第三方或验证者,例如 oracle 或 smart contract,以确保 数据的真实性。 即使服务器对数据进行数字签名,仍然存在保密问题。证明者可能希望在将敏感数据呈现给证明者之前对其进行编辑或修改 验证者。然而,数字签名是专门为使修改后的数据失效而设计的。因此,它们阻止证明者进行保密性的更改 到数据。 (更多讨论请参见第 7.1 节。) DECO 和 Town Crier 旨在允许证明者从网络获取数据 服务器并以确保完整性和机密性的方式将其呈现给验证者。 这两个系统在确保数据呈现的意义上保持完整性 证明者到验证者确实源自目标服务器。他们支持 机密性是指允许证明者编辑或修改数据(同时仍然 保持完整性)。 这两个系统的一个关键特点是它们不需要对系统进行任何修改 目标网络服务器。它们可以与任何现有的启用 TLS 的服务器一起运行。事实上, 它们对服务器是透明的:从服务器的角度来看,证明者是 建立普通连接。 这两个系统具有相似的目标,但在信任模型和实现方面有所不同,正如我们现在简要解释的那样。 DECO 从根本上利用加密协议来实现其完整性 和保密性。在使用 DECO 与目标服务器建立会话时,证明者同时与目标服务器建立交互协议 验证者。该协议使证明者能够向验证者证明它已收到 在当前会话期间来自服务器的给定数据 D。证明者可以 或者向验证者提供 D 的某些属性的零知识证明 因此不直接揭示 D。 在 DECO 的典型使用中,用户或单个节点可以从私有节点导出数据 D。 与 Web 服务器的会话到 DON 中的所有节点。因此,完整的 DON 可以 证明 D 的真实性(或通过零知识证明从 D 导出的事实)。 除了本文后面给出的示例应用程序之外,此功能还可以 用于通过 DON 放大对数据源的高完整性访问。即使只有一个节点 可以直接访问数据源——例如,由于与 数据提供者——整个 DON 仍然有可能证明以下内容的正确性该节点发出的报告。 Town Crier 依赖于使用可信执行环境 (TEE),例如 Intel 新交所。简而言之,TEE 的功能就像一种黑匣子,在特定环境中执行应用程序 防篡改和保密的方式。原则上,即使是主机的所有者 TEE 正在运行既不能(无法检测地)改变受 TEE 保护的应用程序,也不能 查看应用程序的状态,其中可能包括秘密数据。 Town Crier 可以实现 DECO 的所有功能以及更多功能。 DECO 将证明者限制为与单个验证者交互。相比之下,Town Crier 能够 证明者对从目标服务器获取的数据 D 生成可公开验证的证明, 即任何人,甚至 smart contract,都可以直接验证的证明。城镇公告员可以 还可以安全地获取和使用秘密(例如用户凭据)。 Town Crier 的主要限制是它对 TEE 的依赖。生产 TEE 具有 最近被证明存在许多严重的漏洞,尽管该技术还处于起步阶段,并且无疑会成熟。参见附录 B.2.1 和 B.2.2 TEE 的进一步讨论。 有关 DECO 和 Town Crier 的一些示例应用程序,请参阅第 4.3、4.5 节 9.4.3 和附录 C.1。 3.6.3 现有链上 Chainlink 服务 Chainlink oracle 网络提供多种主要服务 blockchains 和当今的其他去中心化系统。 如所描述的进一步演变 在本白皮书中,将赋予这些现有服务额外的功能和 达到。三个例子是: 数据源: 今天,大多数 Chainlink 用户依赖 smart contracts 使用数据源。这些是根据关键数据的当前价值的报告 权威的链下来源。例如,价格源是报告价格的源 资产——加密货币、商品、外汇、指数、股票等——根据 交换或数据聚合服务。如今,此类信息流已经帮助确保了数十亿美元的安全 通过在 DeFi 系统(如 Aave [147] 和)中使用美元来实现链上价值 Synthetix [208]。 Chainlink 数据源的其他示例包括以下天气数据 参数农作物保险 [75] 和选举数据 [93] 等。 本文中描述的 DON 和其他技术的部署将以多种方式增强 Chainlink 网络中数据馈送的提供,包括: • 扩展:OCR 和随后的 DON 旨在使 Chainlink 服务能够扩展 他们支持的许多 blockchain 都具有显着的差异。例如,我们期望 DONs 将有助于增加节点提供的数据馈送数量 Chainlink 从 100 到 1000 甚至更长。这种缩放将有助于 Chainlink 生态系统实现了全面提供与 smart contract 相关的数据并满足和预测现有和未来需求的目标。• 增强安全性:通过存储中间报告,DONs 将保留记录 节点行为的高保真监控和测量其性能和准确性,为声誉系统提供强有力的经验基础 对于 Chainlink 节点。 FSS 和 TEF 将纳入价格反馈 以灵活的方式处理交易数据,防止抢先交易等攻击。 (明确)staking 将加强现有的加密经济安全保护 数据源。 • 馈送敏捷性:作为与 blockchain 无关的系统(实际上,更广泛地说,与消费者无关的系统),DON 可以促进向多重性提供数据馈送 依赖系统。单个 DON 可以将给定的 feed 同时推送到一组 不同的 blockchain ,消除了对每链 oracle 网络的需求, 能够在新的 blockchain 和其他设备上快速部署现有源 为当前服务的 blockchain 提供数据。 • 保密性:在 DON 中执行广义计算的能力使得敏感数据的计算能够在链外进行,避免在链上进行 曝光。 此外,使用 DECO 或 Town Crier,可以实现 更强的保密性,允许基于非公开数据生成报告 甚至暴露于 DON 节点。示例请参见第 4.3 节和第 4.5 节。 可验证随机函数(VRF): 几种类型的 DApp 需要可验证的正确随机源,以验证其自身的公平运行。 不可替代代币 (NFTs) 就是一个例子。 Aavegotchi [23] 和 Axie Infinity [35] 中 NFT 特征的稀有度由 Chainlink VRF 决定,分布也是如此 通过以太卡 [102] 中基于票证的抽奖方式获得 NFT 份;种类繁多的 结果随机的游戏 DApp;以及非常规金融工具,例如 PoolTogether [89] 等无损储蓄游戏,它将资金分配给 随机获胜者。其他 blockchain 和非 blockchain 应用程序也需要安全 随机性的来源,包括去中心化系统委员会的选择和 彩票的执行。 虽然区块 hashes 可以作为不可预测的随机性来源,但它们很容易受到敌对矿工的操纵(在某种程度上,用户提交 交易)。 Chainlink VRF [78] 提供了一种更安全的替代方案。安 oracle 有一个关联的私钥/公钥对(sk,pk),其私钥在链外维护,其公钥 pk 已发布。为了输出一个随机值,它 将 sk 应用于由依赖合约提供的不可预测的种子 x(例如,区块 hash 和 DApp 特定参数)使用函数 F,产生 y = Fsk(x) 以及 正确性证明。 (有关 Chainlink 上提供的 VRF,请参阅 [180]。) VRF 可验证的事实是,有了 pk 的知识,就可以检查证明的正确性,从而检查 y 的正确性。因此,y 值对于 对手无法预测 x 或学习 sk 并且服务无法操纵。Chainlink VRF 可能被视为涉及链下私钥托管的一系列应用程序之一。更一般地说,DONs 可以提供安全、 应用程序和/或用户的单个密钥的分散存储,并结合 这种能力具有广义计算。结果是大量的应用程序, 我们在本文中给出了一些示例,包括证明的密钥管理 储备金(参见第 4.1 节)和用户的去中心化凭证(以及其他数字 资产)(参见第 4.3 节)。 饲养员: Chainlink Keepers [87] 使开发人员能够为去中心化编写代码 链外作业的执行,通常会触发依赖smart contracts的执行。 在 Keepers 出现之前,开发者进行此类链下操作是很常见的 逻辑本身,造成集中的故障点(以及大量的重复开发工作)。相反,Keeper 提供了一个易于使用的框架 这些业务的分散外包,缩短了开发周期 活性和其他安全属性的有力保证。守护者可以支持任何 各种各样的触发目标,包括依赖于价格的贷款清算或 金融交易的执行、空投或付款的时间依赖启动 在具有产量收获的系统中,等等。 在 DON 框架中,发起者可以被视为多种意义上的守护者的概括。发起者可以使用适配器,因此可以利用 链上和链下系统的模块化接口库,允许快速 开发安全、复杂的功能。发起者发起计算 可执行文件,它们本身提供 DON 的全部多功能性,允许广泛的 我们在本文中为链上和链下应用程序提供了一系列去中心化服务。 3.6.4 节点声誉/性能历史记录 现有的 Chainlink 生态系统本身记录了性能历史记录 链上贡献节点。这一功能催生了一系列以声誉为导向的资源,这些资源可以摄取、过滤和可视化个人的绩效数据。 节点操作员和数据源。用户可以参考这些资源来获取信息 决定节点选择并监控现有网络的运行。 类似的功能将帮助用户选择DONs。 例如,当今的无许可市场(例如 market.link)允许节点 运营商列出他们的 oracle 服务并通过以下方式证明他们的链外身份 诸如 Keybase [4] 之类的服务,它将 Chainlink 中的节点的配置文件绑定到其 所有者现有的域名和社交媒体帐户。此外,性能 分析工具,例如 market.link 和reputation.link 上提供的工具,允许 用户可以查看各个节点的历史性能统计数据,包括其 平均响应延迟,报告中的值与共识值的偏差 在链上传递、产生收入、实现就业等等。这些分析工具还 允许用户跟踪其他用户对各种 oracle 网络的采用情况,这是一种形式保护此类网络的节点的隐式认可。结果是一个扁平的“网络” 信任”,其中通过使用特定节点,高价值的去中心化应用程序创建 他们对这些节点的信任信号,其他用户可以观察并纳入他们的考虑因素 自己的节点选择决策。 随着 DONs(最初是 OCR)带来了交易处理和 合同活动更普遍地是链下的。记录节点的去中心化模型 DON 本身的性能仍然是可能的。确实,高性能 DONs 的数据容量使得以细粒度构造记录成为可能 方式,并对这些记录执行去中心化计算,产生可信的摘要,可供信誉服务使用并在其上设置检查点 主链。 虽然原则上 DON 有可能在大部分节点损坏的情况下歪曲组成节点的行为,但我们注意到集体 DON 本身在传递链上数据方面的性能在主链上可见 因此不能被歪曲。此外,我们计划探索以下机制: 激励 DON 中节点行为的准确内部报告。例如,通过报告最快返回数据贡献的高性能节点的子集 对于链上转发的报告,DON 会激励节点对不正确的内容提出异议 报告:错误地在此子集中包含节点意味着错误地排除节点 这应该被包括在内,因此对他们的惩罚是无效的。 DON 重复报告失败也会激励诚实节点离开 DON。 准确的绩效历史记录和后续结果的分散编制 用户识别高性能节点以及节点运营商构建的能力 声誉是 Chainlink 生态系统的重要区别特征。 我们 第 9 节展示了我们如何将它们推理为严格且可靠的模型的关键部分。 对 DONs 提供的经济安全的广阔视野。
Decentralized가 구현하는 분산형 서비스
오라클 네트웍스 DON의 다양성과 이를 통해 다양한 새로운 서비스를 활성화하는 방법을 설명하기 위해, 이 섹션에서는 DON 기반 애플리케이션의 다섯 가지 예를 제시하고 이를 실현하는 하이브리드 계약: (1) 크로스체인 서비스의 한 형태인 보유량 증명; (2) 기업/레거시 시스템과의 인터페이스, 즉 미들웨어 기반의 구축 최소한의 비용으로 blockchain 애플리케이션 개발을 용이하게 하는 추상화 계층 blockchain-특정 코드 또는 전문 지식; (3) 분산형 ID, 사용자가 다음을 수행할 수 있는 도구 자신의 신분 증명서와 자격 증명을 획득하고 관리합니다. (4) 우선순위 채널, 중요한 인프라 트랜잭션을 적시에 포함하도록 보장하는 서비스(예: oracle 보고서) blockchain; (5) 기밀 유지 DeFi, 즉 금융 참여 당사자의 민감한 데이터를 숨기는 smart contracts. 여기서 우리는
SC를 사용하여 하이브리드 계약의 MAINCHAIN 부분을 나타내고 DON을 설명합니다. 구성 요소를 별도로 또는 실행 가능한 exec 측면에서 사용합니다. 4.1 예비금 증명 많은 애플리케이션의 경우 blockchain 사이에서 상태를 중계하는 것이 유용합니다. 에이 이러한 서비스의 인기 있는 응용 프로그램은 암호화폐 래핑입니다. 포장된 동전 등 WBTC [15]은 분산 금융(DeFi)에서 인기 있는 자산이 되고 있습니다. 그들은 소스 blockchain MAINCHAIN(1)에 "래핑된" 지원 자산을 예치하는 것이 포함됩니다. 다른 대상 blockchain MAINCHAIN(2)에 해당 token을 생성합니다. 예를 들어, WBTC는 해당하는 Ethereum blockchain의 ERC20 token입니다. Bitcoin blockchain에서 BTC로. MAINCHAIN(2)에 대한 계약은 MAINCHAIN(1)에 대한 직접적인 가시성을 가지지 않기 때문에, 그들은 포장된 예금에 대해 보고하기 위해 명시적으로 또는 암시적으로 oracle에 의존해야 합니다. smart contract의 자산으로 적립금 증명이라고도 불리는 것을 생성합니다. 에서 WBTC [15], 예를 들어 관리인 BitGo는 BTC를 보유하고 WBTC를 발행합니다. Chainlink 예약금 증명을 제공하는 네트워크 [76]. DON 자체가 보유량 증명을 제공할 수 있습니다. 그러나 DON을 사용하면 가능합니다. 더 나아가려고. DON은 적절한 어댑터를 사용하여 비밀을 관리할 수 있습니다. 원하는 blockchain에서 거래할 수 있습니다. 결과적으로 DON가 작동하는 것이 가능합니다. 여러 관리인 중 한 명으로서, 심지어는 유일한 분산형 관리인으로서 래핑된 자산. DONs는 보안을 강화하는 플랫폼 역할을 할 수 있습니다. 보유금 증명을 사용하는 기존 서비스. 예를 들어 MAINCHAIN(1)이 Bitcoin이고 MAINCHAIN(2)이 Ethereum이라고 가정합니다. MAINCHAIN(2)에서 계약 SC는 래핑된 BTC를 나타내는 token을 발행합니다. DON BTC 주소 주소를 제어합니다(1) DON. BTC를 래핑하기 위해 사용자 U는 다음에서 X BTC를 보냅니다. 주소(1) 유 추가하기(1) DON MAINCHAIN(2)-주소 주소(2)와 함께 유. DON 모니터 주소(1) DON MAINCHAIN(1)에 대한 어댑터를 통해. U의 예금을 관찰하면 충분히 높은 확률로 확인된 후 어댑터를 통해 SC로 메시지를 보냅니다. 메인체인(2). 이 메시지는 SC에게 addr(2)에 대해 X tokens를 생성하도록 지시합니다. 유. U가 X tokens를 해제하려면 그 반대가 발생합니다. 그러나 MAINCHAIN(1)에서는 주소(1) DON는 X BTC를 addr(1)로 보냅니다. U(또는 사용자가 요청한 경우 다른 주소로). 물론 이러한 프로토콜은 직접적으로 작동하기보다는 교환과 함께 작동하도록 조정될 수 있습니다. 사용자와 함께. 4.2 엔터프라이즈/레거시 시스템과의 인터페이스 DON은 증명의 예에서와 같이 blockchain 사이에서 브리지 역할을 할 수 있습니다. 하지만 또 다른 목표는 예비군 사이의 양방향 다리 역할을 하는 것입니다. blockchains 및 레거시 시스템 [176] 또는 중앙 은행과 같은 blockchain 유사 시스템 디지털 통화 [30]. 기업은 기존 시스템과 시스템을 연결하는 데 있어 여러 가지 과제에 직면해 있습니다. 다음을 포함하는 분산형 시스템에 대한 프로세스:• 블록체인 민첩성: 블록체인 시스템은 빠르게 변화합니다. 기업은 blockchain의 급속한 새로운 등장이나 인기 상승에 직면할 수 있습니다. 상대방이 거래를 원하지만 기업이 이를 수행할 수 없는 경우 기존 인프라를 지원합니다. 일반적으로 blockchains의 역동성은 개별 기업이 전체 생태계를 따라가는 것은 어렵습니다. • 블록체인 관련 개발 리소스: 많은 조직의 경우, 특히 다음과 같은 관점에서 최첨단 blockchain 전문 지식을 고용하거나 육성하는 것이 어렵습니다. 민첩성에 도전합니다. • 개인 키 관리: blockchains 또는 암호화폐에 대한 개인 키를 관리하려면 기존 사이버 보안과 다른 운영 전문 지식이 필요합니다. 많은 기업에서는 사용할 수 없습니다. • 기밀성: 기업은 자신의 민감하고 독점적인 정보를 노출하는 것을 꺼립니다. 체인의 데이터. 이러한 어려움 중 처음 세 가지를 해결하기 위해 개발자는 DON를 사용하면 됩니다. 엔터프라이즈 시스템에서 읽거나 쓸 수 있도록 하는 보안 미들웨어 계층 blockchains. DON는 다음과 같은 자세한 기술적 고려 사항을 추상화할 수 있습니다. 개발자와 사용자 모두를 위한 가스 역학, 체인 재구성 등. 작성자: 엔터프라이즈 시스템에 간소화된 blockchain 인터페이스를 제공함으로써 DON은(는) 다음을 수행할 수 있습니다. blockchain 인식 엔터프라이즈 애플리케이션의 개발을 상당히 단순화하여 기업이 blockchain 특정 개발 리소스를 획득하거나 육성해야 하는 부담을 제거합니다. DONs의 이러한 사용은 엔터프라이즈 개발자가 다음을 수행할 수 있다는 점에서 특히 매력적입니다. 대체로 blockchain 불가지론적인 스마트 계약 애플리케이션을 만듭니다. 그 결과, DON이 미들웨어 역할을 하도록 계측된 blockchain 세트가 더 크면 기업 사용자가 쉽게 액세스할 수 있는 blockchain 세트가 더 커졌습니다. 개발자 최소한의 수정만으로 기존 blockchain의 애플리케이션을 새로운 애플리케이션으로 포팅할 수 있습니다. 내부적으로 개발된 애플리케이션에 적용됩니다. 추가적인 기밀성 문제를 해결하기 위해 개발자는 이 문서에서 소개하고 DON 애플리케이션을 지원하기 위해 배포할 예정인 도구입니다. 여기에는 DECO 및 Town Crier 섹션 3.6.2와 기밀 유지가 포함됩니다. 섹션 7.1.2에서 논의된 API 수정과 이 섹션의 나머지 부분에서 다루는 다양한 애플리케이션별 접근 방식. 이 DON 시스템은 다음을 제공할 수 있습니다. 공개하지 않고 엔터프라이즈 시스템 상태에 대한 높은 무결성, 온체인 증명 체인에 있는 민감한 기업 소스 데이터. 4.3 분산형 신원 분산형 ID는 사용자가 다음을 수행할 수 있어야 한다는 개념에 대한 일반적인 용어입니다. 제3자에게 의존하기보다는 자신의 자격 증명을 획득하고 관리합니다. 그래서. 분산형 자격 증명은 보유자의 속성이나 주장에 대한 증명입니다.흔히 클레임이라고 불리는 것입니다. 자격 증명은 엔터티에 의해 디지털 서명됩니다. 클레임을 사용자와 정식으로 연결할 수 있는 발급자입니다. 대부분의 제안된 계획에서는 클레임은 범용 식별자인 분산 식별자(DID)와 연결됩니다. 특정 사용자. 자격 증명은 사용자가 보유한 개인 키의 공개 키에 바인딩됩니다. 따라서 사용자는 개인 키를 사용하여 소유권 주장을 증명할 수 있습니다. 분산형 신원으로서의 비전은 기존 및 제안된 계획입니다(예: [14, 92, 129, 216]에는 세 가지 심각한 제한이 있습니다. • 레거시 호환성 부족: 기존 분산형 ID 시스템은 발급자라고 불리는 당국 커뮤니티가 DID 자격 증명을 생성합니다. 왜냐하면 기존 웹 서비스는 일반적으로 데이터에 디지털 서명을 하지 않으므로 발급자가 시작되어야 합니다. 특수 목적 시스템으로. 왜냐하면 아무런 인센티브도 없이는 이 일을 할 동기가 없기 때문입니다. 탈중앙화된 신원 생태계에서는 닭과 달걀의 문제가 발생합니다. 다른 곳에서는 즉, 발급자 생태계를 부트스트랩하는 방법이 불분명합니다. • 작동하지 않는 키 관리: 분산형 ID 시스템에서는 사용자가 다음을 수행해야 합니다. 개인 키 관리, 암호화폐 경험을 통해 알 수 있는 사실 실행 불가능한 부담이 되는 것입니다. 약 4,000,000 Bitcoin이(가) 발생한 것으로 추산됩니다. 키 관리 실패로 인해 영구적으로 손실되었으며 [194] 많은 사용자가 [193] 거래소의 암호화폐 자산으로 인해 분산화가 약화됩니다. • 개인 정보 보호 Sybil 저항 부족: 투표, token 판매 중 token의 공정한 할당 등과 같은 애플리케이션의 기본 보안 요구 사항은 다음과 같습니다. 사용자는 여러 ID를 주장할 수 없습니다. 기존의 분산형 신원 제안에서는 사용자가 이를 달성하기 위해 실제 신원을 공개해야 합니다. Sybil 저항으로 인해 중요한 개인 정보 보호 보장이 약화됩니다. 노드 위원회의 조합을 사용하여 이러한 문제를 해결하는 것이 가능합니다. DON 내에서 분산 계산을 수행하고 DECO와 같은 도구를 사용합니다. 또는 CanDID [160]이라는 시스템에 표시된 것처럼 Town Crier입니다. DECO 또는 Town Crier는 설계에 따라 수정 없이 기존 웹 서비스를 전환할 수 있습니다. 기밀 유지 자격 증명 발급자로 변경됩니다. DON을 사용하여 관련 항목을 내보낼 수 있습니다. 이러한 목적으로 데이터를 자격 증명으로 변환하고, 민감한 데이터를 숨겨서는 안 됩니다. 자격 증명에 나타납니다. 또한 사용자의 키 복구를 용이하게 하여 키 관리 문제를 해결합니다. 문제가 발생하면 DON을 사용하면 사용자가 개인 키를 비밀 공유 형식으로 저장할 수 있습니다. 사용자는 다음을 수행할 수 있습니다. DON의 노드에 증명하여 키를 복구합니다. 마찬가지로 Town Crier를 사용하거나 DECO—미리 결정된 웹 제공업체 집합의 계정에 로그인하는 기능(예: 트위터, 구글, 페이스북). Town Crier 또는 DECO를 사용하는 것의 이점은 다음과 같습니다. OAUTH는 사용자 개인정보 보호입니다. 이 두 도구를 사용하면 사용자가 DON에 공개되는 것을 피할 수 있습니다. 실제 신원을 파생할 수 있는 웹 제공자 식별자. 마지막으로 [160]에 표시된 것처럼 Sybil 저항을 제공하려면 DON이 다음을 수행할 수 있습니다. 사용자를 위한 고유한 실제 식별자의 개인 정보 보호 변환을 수행합니다. (예: 사회보장번호(SSN))를 사용자 등록 시 온체인 식별자로 변환합니다.이를 통해 시스템은 다음과 같은 민감한 데이터 없이 중복 등록을 감지할 수 있습니다. SSN은 개별 DON 노드에 공개됩니다.7 DON은 외부 분산 ID를 대신하여 이러한 서비스를 제공할 수 있습니다. 허가가 없거나 허가된 blockchain의 시스템(예: Hyperledger 인스턴스) 인디 [129]. 적용 예: KYC: 분산형 신원은 다음을 위한 수단으로 유망합니다. 사용자를 개선하는 동시에 blockchains의 금융 애플리케이션에 대한 요구 사항을 간소화합니다. 프라이버시. 해결하는 데 도움이 될 수 있는 두 가지 과제는 자금 세탁 방지/고객 파악(AML/KYC) 규정에 따른 인증 및 규정 준수 의무입니다. 많은 국가의 AML 규정에 따라 금융 기관(및 기타 기업)은 거래하는 개인 및 기업의 신원을 확인하고 확인해야 합니다. 그들은 거래를 수행합니다. KYC는 금융 기관의 한 구성 요소를 형성합니다. 일반적으로 사용자 행동을 모니터링하고 자금 흐름을 관찰하는 등 광범위한 AML 정책이 포함됩니다. KYC에는 일반적으로 사용자에게 어떤 형태로든 신원 자격 증명을 제시하는 과정이 포함됩니다(예: 사용자의 얼굴 앞에 신분증을 들고 온라인 웹 양식에 입력 비디오 세션 등). 분산형 자격 증명의 안전한 생성 및 제시 원칙적으로 다음과 같은 여러 측면에서 유익한 대안이 될 수 있습니다. (1) KYC 프로세스는 사용자와 금융 기관 모두에게 더 효율적입니다. 자격 증명을 취득하면 모든 금융 기관에 원활하게 제시될 수 있습니다. (2) 타협을 통한 신원 도용 기회를 줄여 사기를 줄입니다. 개인 식별 정보(PII) 및 영상 확인 중 스푸핑 그리고 (3) 사용자가 통제권을 유지함에 따라 금융 기관의 PII 손상 위험을 줄입니다. 자신의 데이터. AML 규정 준수 실패로 인해 금융 기관이 수십억 달러의 벌금을 지불하고 많은 금융 기관이 KYC에 매년 수백만 달러를 지출한다는 점을 고려하면 개선을 통해 금융 기관에 상당한 비용 절감 효과를 가져올 수 있습니다. 그리고 더 나아가 소비자를 위한 [196]. 전통적인 금융 부문은 부진하지만 새로운 규정 준수 도구를 채택하기 위해 DeFi 시스템에서는 이를 점점 더 많이 수용하고 있습니다 [43]. 적용 예: 과소담보 대출: 대부분의 DeFi 애플리케이션은 오늘날 지원 대출은 완전 담보 대출로만 이루어집니다. 대출을 받은 것들이에요 대출금을 초과하는 가치의 암호화폐 자산을 예치하는 차용자. 최근 DeFi 커뮤니티에서 일반적으로 과소담보 대출이라고 부르는 것에 대한 관심이 높아졌습니다. 이와 대조적으로 이는 해당 담보가 제공되는 대출입니다. 대출 원금보다 가치가 낮은 경우. 과소담보 대출 전통적인 금융 기관에서 흔히 제공하는 대출과 유사합니다. 의지하기보다는 대출 상환을 보장하기 위해 예치된 담보를 기반으로 대출을 제공합니다. 차용인의 신용 기록에 대한 결정. 7이 변환은 분산 의사 난수 함수(PRF)를 사용합니다.담보가 부족한 대출은 DeFi 대출 시장의 초기 단계이지만 성장하고 있는 부분을 구성합니다. 그들은 전통적인 금융 기관에서 사용하는 것과 같은 메커니즘에 의존합니다. 법적 계약과 같은 기관 [91]. 성장을 위한 필수 요구 사항 기존 대출 결정의 핵심 요소인 사용자 신용도에 대한 데이터를 강력한 무결성을 제공하는 방식으로 시스템에 제공할 수 있는 능력이 될 것입니다. 올바른 데이터 보장. DON 지원 분산형 신원 시스템을 통해 차용자가 될 수 있습니다. 보존하면서 신용도를 증명하는 높은 보증 자격 증명을 생성합니다. 민감한 정보의 기밀성. 특히 차용인은 다음을 생성할 수 있습니다. 신뢰할 수 있는 온라인 소스의 기록을 기반으로 한 자격 증명만 노출합니다. 잠재적으로 민감한 다른 데이터를 노출하지 않고 DON에 의해 증명된 데이터입니다. 에 대한 예를 들어, 차용인은 자신의 신용 점수를 나타내는 자격 증명을 생성할 수 있습니다. 일련의 신용 조사 기관이 자신을 공개하지 않고 특정 기준점(예: 750)을 초과합니다. 정확한 점수 또는 그녀의 기록에 있는 기타 데이터. 또한 원하는 경우 해당 자격 증명 익명으로 생성될 수 있습니다. 즉, 사용자 이름이 민감한 데이터로 취급될 수 있습니다. oracle 노드나 분산 자격 증명에 노출되지 않습니다. 자격 증명 애플리케이션에 따라 온체인 또는 오프체인으로 사용될 수 있습니다. 요약하자면, 차용인은 자신의 신용에 대해 대출 기관에 필수 정보를 제공할 수 있습니다. 강력하고 진실성이 있고 불필요하고 민감한 정보가 노출될 위험이 없는 역사 데이터. 차용인은 기타 다양한 기밀 유지 자격 증명을 제공할 수도 있습니다. 대출 결정에 도움이 됩니다. 예를 들어 자격 증명은 차용인의 다음 예에서 볼 수 있듯이 (오프체인) 자산을 소유합니다. 적용 예: 인증: 많은 관할권에서는 미등록 증권을 판매할 수 있는 투자자 등급을 제한합니다. 예를 들어 미국의 경우 SEC 규정 D는 그러한 투자 기회에 대해 인증을 받도록 규정하고 있습니다. 개인은 100만 달러의 순자산을 보유해야 하고, 특정 최소 소득 요건을 충족하거나 특정 전문 자격을 갖추어야 합니다[209, 210]. 현재 인증 프로세스가 번거롭고 비효율적이며 종종 증명서가 필요합니다. 회계사 또는 이와 유사한 증거. 분산형 신원 시스템을 통해 사용자는 다음에서 자격 증명을 생성할 수 있습니다. 인증 준수를 입증하는 기존 온라인 금융 서비스 계정 규정을 준수하여 보다 효율적이고 개인 정보를 보호하는 KYC 프로세스를 촉진합니다. 는 또한 DECO와 Town Crier의 개인 정보 보호 속성을 통해 다음이 가능해집니다. 사용자의 재정 상태에 대한 세부 정보를 직접 공개하지 않고 무결성을 강력하게 보장하여 자격 증명을 생성합니다. 예를 들어, 사용자는 자격 증명을 생성할 수 있습니다. 추가 정보를 공개하지 않고 그녀의 순자산이 최소 100만 달러임을 증명합니다. 그녀의 재정 상태에 대한 정보. 4.4 우선순위 채널 우선순위 채널은 DON을 사용하여 쉽게 구축할 수 있는 유용한 새 서비스입니다. 그들의


목표는 MAINCHAIN에서 적시에 선택되고 우선순위가 높은 거래를 제공하는 것입니다. 네트워크 정체 기간 동안. 우선순위 채널은 다음과 같은 형태로 볼 수 있습니다. 블록 공간에 대한 선물 계약 및 암호화폐 상품으로서 일부로 만들어진 용어입니다. 프로젝트 시카고 [61, 136]. 우선순위 채널은 특히 금융 거래와 같은 일반적인 사용자 수준 활동이 아닌 채굴자가 oracles, 계약에 대한 거버넌스 기능 등과 같은 인프라 서비스를 활성화할 수 있도록 고안되었습니다. 실제로 여기에서 설계된 대로 우선순위는 네트워크 내 채굴력의 100% 미만으로 구현된 채널은 오직 배송 시간에 대한 느슨한 경계를 제공하여 속도 의존도가 높은 용도로 사용하는 것을 방지합니다. 선두 달리기와 같은 목표. 그림 10: 우선순위 채널은 채굴자 M, 또는 더 일반적으로는 채굴자 M 세트 - 사용자 U에게 그녀의 거래 τ가 D 블록 내에서 채굴될 것임을 알립니다. mempool에 포함됩니다. 계약 SC는 DON 모니터링을 사용하여 채널의 서비스 약관. 우선순위 채널은 광부 또는 광부 그룹 간의 합의 형태를 취합니다. (또는 마이닝 풀) 채널을 제공하는 M과 접속에 대한 수수료를 지불하는 사용자 U입니다. M은 U가 트랜잭션 τ를 멤풀에 제출할 때(가스 가격에 상관없이,그러나 사전 합의된 가스 한도), M은 이를 다음 D 블록 내의 체인에 배치합니다.8 이 아이디어는 그림 10에 개략적으로 설명되어 있습니다. 우선 채널 계약 설명: 우선순위 채널은 다음과 같이 구현될 수 있습니다. 하이브리드 smart contract 대략 다음과 같습니다. SC는 MAINCHAIN의 로직을 나타냅니다. 그리고 그것은 exec의 DON에 있습니다. SC는 U.A로부터 예금/스테이크 \(d from M and an advance payment \)p를 수락합니다. DON 실행 가능한 exec는 mempool을 모니터링하여 트랜잭션 배치 시 트리거됩니다. M이 채굴한 거래를 U가 제출하면 SC에 성공 메시지를 보냅니다. 시기적절한 방법과 서비스 장애 발생 시 장애 메시지를 제공합니다. SC는 성공 메시지를 받고 M에게 $p 지불금을 보내고 남은 자금을 모두 보냅니다. 실패 메시지를 받으면 $d를 포함하여 U로 보냅니다. 성공적으로 종료되면 M에게 예금 $d를 해제합니다. 채굴자 M은 물론 여러 사용자에게 우선순위 채널을 동시에 제공할 수 있습니다. 사용자는 미리 합의된 수의 메시지에 대해 U를 사용하여 우선순위 채널을 열 수 있습니다. 4.5 기밀 유지 DeFi / Mixicles 오늘날 DeFi 애플리케이션 [1]은 사용자에게 기밀성을 거의 또는 전혀 제공하지 않습니다. 모든 거래는 체인에서 볼 수 있습니다. 다양한 영지식 기반 접근 방식(예: [149, 217]), 거래 프라이버시를 제공할 수 있으며 TEF는 이를 지원할 만큼 충분히 일반적입니다. 하지만 이러한 접근 방식은 포괄적이지 않으며, 예를 들어 일반적으로 다음 사항을 숨기지 않습니다. 거래의 기반이 되는 자산. DONs에서 궁극적으로 지원하려는 광범위한 계산 도구 세트는 이러한 격차를 메울 수 있는 다양한 방법으로 개인 정보 보호를 활성화하여 다른 시스템의 개인 정보 보호 보장을 보완합니다. 예를 들어, Chainlink 연구소 연구원 [135]이 제안한 기밀 유지 DeFi 도구인 Mixicles는 금융 상품을 뒷받침하는 자산 유형이며 DON에 매우 자연스럽게 들어맞습니다. 프레임워크. Mixicle은 간단한 바이너리를 구현하는 용도로 가장 쉽게 설명됩니다. 옵션. 바이너리 옵션은 두 명의 사용자가 참여하는 금융 상품입니다. 플레이어로서 [135]과의 일관성을 위해 여기를 참조하십시오. 가능한 두 가지 이벤트에 베팅하세요. 결과(예: 자산이 미리 지정된 시간에 목표 가격을 초과하는지 여부) 다음 예에서는 아이디어를 보여줍니다. 예시 2. Alice와 Bob은 자산 가치를 기반으로 한 바이너리 옵션의 당사자입니다. 캐롤의 버블 토큰(CBT)이라고 합니다. Alice는 CBT의 시장 가격이 다음과 같을 것이라고 베팅했습니다. 2025년 6월 21일 정오 T 시간에 최소 250 USD; Bob은 그 반대로 베팅했습니다. 각 플레이어 미리 지정된 기한까지 100 ETH를 입금합니다. 승리하는 위치에 있는 플레이어 200 ETH를 받습니다(즉, 100 ETH를 얻습니다). 물론 8D는 M이 높은 확률을 준수할 수 있을 만큼 충분히 커야 합니다. 에 대한 예를 들어 M이 네트워크 마이닝 파워의 20%를 제어하는 경우 D = 100을 선택할 수 있습니다. 실패 확률은 2 × 10−10, 즉 10억분의 1 미만입니다.기존 Chainlink oracle 네트워크 O를 고려하면 스마트한 구현이 쉽습니다. 예시 2의 합의를 실현한 SC 계약. 두 플레이어가 각각 예치 SC에서는 100 ETH. T 이후에, 가격 r을 요청하는 쿼리 q가 O로 전송됩니다. T.O 시점의 CBT는 이 가격에 대한 보고서 r을 SC에 보냅니다. SC는 Alice에게 돈을 보냅니다. r ≥250이면 Bob이고, 그렇지 않으면 Bob입니다. 그러나 이 접근법은 체인상의 r을 드러냅니다. 관찰자가 바이너리 옵션의 기본 자산을 추론할 수 있도록 합니다. Mixicles라는 용어에서는 결과를 개념적으로 생각하는 것이 도움이 됩니다. 조건자로 계산된 이진 값을 전송하는 스위치 측면에서 SC의 스위치(r). 이 예에서는 r ≥250이면 switch(r) = 0입니다. 이 결과가 주어지면 Alice가 승리합니다. 그렇지 않으면 switch(r) = 1이고 Bob이 승리합니다. DON은 실행 파일을 실행하여 기본 Mixicle을 하이브리드 계약으로 실현할 수 있습니다. 스위치(r)를 계산하고 이를 SC에 체인으로 보고하는 exec입니다. 이 구조를 보여드리겠습니다 그림 11에서. 그림 11: 예제 2의 기본 Mixicle 다이어그램. r을 보고하고 바이너리 옵션의 기본 자산인 oracle은 이진 값 스위치(r)만 전환하여 SC를 계약합니다. 이를 쉽게 달성할 수 있도록 부록 C.3에 어댑터 ConfSwitch를 지정합니다. DON의 목표입니다. ConfSwitch의 기본 아이디어는 매우 간단합니다. 신고하는 대신 r 값, ConfSwitch는 바이너리 스위치 값 switch(r)만 보고합니다. SC는 가능하다 스위치(r)만 기반으로 정확한 결제를 하고 스위치(r) 자체는 올바르게 결제하도록 설계되었습니다. 기본 자산(이 예에서는 CBT)에 대한 정보를 공개하지 않습니다. 추가적으로, 공개 키인 pkaud로 암호화된 원장의 (q, r)에 암호문을 배치하여 감사자인 어댑터 ConfSwitch는 기밀성을 유지하는 감사 추적을 생성합니다. 여기서 설명하기 위해 단순화를 위해 선택한 기본 Mixicle은 우리 예에서는 바이너리 옵션 뒤에 자산과 베팅이 있습니다. 본격적인 Mixicle [135]은(는) 두 가지 형태의 기밀성을 제공합니다. (1) 어떤 사건이 관찰자에게 숨겨지나요? 플레이어는 (즉, q와 r)에 베팅할 뿐만 아니라 (2) 어느 플레이어가 베팅에서 승리했는지에도 베팅합니다. Mixicles는 MAINCHAIN에서 실행되므로 한 플레이어 중 한 명이 릴레이해야 합니다. DON에서 MAINCHAIN으로 전환(r)하거나 실행 가능한 exec를 생성할 수 있습니다.
ConfSwitch의 출력에서 트리거되고 다른 어댑터를 호출하여 스위치(r)를 메인체인. 세 번째로 미묘한 유형의 기밀성도 고려해 볼 가치가 있습니다. ConfSwitch의 기본 구현에서 O는 DON에서 어댑터를 실행하므로 다음을 학습합니다. 자산(이 예에서는 CBT) 및 바이너리 옵션의 성격입니다. 논의한대로 그러나 부록 C.3에서는 DECO 또는 Town Crier를 사용하여 추가로 사용할 수 있습니다. 이 정보조차 O에게 숨깁니다. 이 경우 O는 더 이상 정보를 배우지 않습니다. SC의 공개 관찰자보다. Mixicles에 대한 자세한 내용은 독자들에게 [135]을 참조하세요.
去中心化支持的去中心化服务
甲骨文网络 为了说明 DON 的多功能性以及它们如何启用大量新服务, 我们在本节中介绍了五个基于 DON 的应用程序示例,并描述了 实现它们的混合合约:(1)储备证明,一种跨链服务形式; (2)与企业/遗留系统对接,即创建基于中间件的 抽象层,有助于以最少的成本开发 blockchain 应用程序 blockchain-特定代码或专业知识; (3) 去中心化的身份,使用户能够 获取并管理自己的身份证件和凭证; (4) 优先通道, 确保及时纳入关键基础设施交易的服务(例如 oracle 报告)在 blockchain 上; (5) 保密DeFi,即财务信息 smart contract 隐藏参与方的敏感数据。 在这里,我们
使用 SC 表示混合合约的主链部分并描述 DON 组件单独或作为可执行文件执行。 4.1 储备金证明 对于许多应用程序来说,在 blockchain 之间中继状态非常有用。一个 此类服务的流行应用是加密货币包装。包裹硬币之类的 随着 WBTC [15] 正在成为去中心化金融 (DeFi) 中的流行资产。他们 涉及将“包装”的支持资产存入其源 blockchain MAINCHAIN(1) 并在不同的目标 blockchain MAINCHAIN(2) 上创建相应的 token。 例如,WBTC 是 Ethereum blockchain 上的 ERC20 token 对应的 至 Bitcoin blockchain 上的 BTC。 由于 MAINCHAIN(2) 上的合约无法直接查看 MAINCHAIN(1), 他们必须显式或隐式依赖 oracle 来报告已包装的存款 smart contract 中的资产,产生有时称为储备证明的东西。在 WBTC [15],例如托管人 BitGo 持有 BTC 并发行 WBTC, Chainlink 网络提供储备证明 [76]。 DON 本身可以提供储备证明。但是,使用 DON 是可能的 走得更远。 DON 可以管理机密,并通过使用适当的适配器, 可以在任何所需的 blockchain 上进行交易。因此,DON 可以采取行动 作为众多托管人之一,甚至作为唯一的去中心化托管人 打包的资产。 DONs 因此可以作为增强安全性的平台 使用储备证明的现有服务。 例如,假设 MAINCHAIN(1) 为 Bitcoin,MAINCHAIN(2) 为 Ethereum。 在 MAINCHAIN(2) 上,合约 SC 发行代表打包 BTC 的 tokens。 DON 控制BTC地址addr(1) DON。为了包装 BTC,用户 U 从 地址(1) U 至地址(1) DON 以及 MAINCHAIN(2)-地址 addr(2) 乌。 DON 监视器 地址(1) DON 通过 MAINCHAIN(1) 的适配器。 在观察到 U 的存款后,以足够高的概率确认,它通过适配器向 SC 发送一条消息 主链(2)。该消息指示 SC 为 addr(2) 铸造 X tokens 乌。 当 U 释放 X tokens 时,会发生相反的情况。 然而,在 MAINCHAIN(1) 上, 地址(1) DON 发送 X BTC 到 addr(1) U(或另一个地址,如果用户如此请求)。 当然,这些协议可以进行调整,以便与交易所合作,而不是直接 与用户。 4.2 与企业/遗留系统接口 DONs 可以充当 blockchains 之间的桥梁,如证明的示例所示 储备金,但另一个目标是让它们充当储备金之间的双向桥梁 blockchain 和旧系统 [176] 或 blockchain 类似系统,例如中央银行 数字货币[30]。 企业在连接现有系统和 去中心化系统的流程,包括:• 区块链敏捷性:区块链系统变化迅速。企业可能会遇到 blockchain 的快速新出现或流行度上升,其中 交易对手有意愿进行交易,但企业无能力进行交易 现有基础设施的支持。一般来说,blockchains 的活力使得 单个企业很难跟上整个生态系统的步伐。 • 区块链特定的开发资源:对于许多组织来说,雇用或孵化尖端的blockchain 专业知识是很困难的,特别是考虑到 敏捷性的挑战。 • 私钥管理:管理 blockchain 或加密货币的私钥需要不同于传统网络安全的运营专业知识 实践中,很多企业都无法做到这一点。 • 保密性:企业对于暴露其敏感和专有信息持谨慎态度。 数据上链。 为了解决前三个困难,开发人员可以简单地使用 DON 作为安全的中间件层,使企业系统能够读取或写入 blockchains。 DON 可以抽象出详细的技术考虑因素,例如 为开发者和用户提供气体动力学、链重组等。由 为企业系统提供简化的 blockchain 接口,因此 DON 可以 大大简化了 blockchain 感知企业应用程序的开发,消除了企业获取或孵化 blockchain 特定开发资源的负担。 DONs 的这种使用特别有吸引力,因为它使企业开发人员能够 创建很大程度上与 blockchain 无关的智能合约应用程序。结果, 较大的 blockchain 集(其中 DON 被检测为充当中间件), 企业用户可以轻松访问的更大的 blockchain 集合。开发商 可以通过最少的修改将应用程序从现有的 blockchain 移植到新的应用程序 到他们内部开发的应用程序。 为了解决额外的保密问题,开发人员可以向 我们在本文中介绍并期望部署以支持 DON 应用程序的工具。 其中包括 DECO 和 Town Crier 第 3.6.2 节以及保密性 第 7.1.2 节讨论了 API 修改,本节其余部分介绍了一些特定于应用程序的方法。这些 DON 系统可以提供 关于企业系统状态的高完整性、链上证明而不泄露 敏感企业源数据上链。 4.3 去中心化身份 去中心化身份是用户应该能够 获取并管理自己的凭证,而不是依赖第三方来做 所以。去中心化凭证是对持有者属性或主张的证明,这通常称为索赔。凭证由实体进行数字签名,通常称为 发行者,可以权威地将声明与用户关联起来。在大多数提议的方案中, 声明与去中心化标识符(DID)相关联,这是一个通用标识符 给定用户。凭证绑定到用户持有其私钥的公钥。 因此,用户可以使用她的私钥证明拥有索赔。 去中心化身份是有远见的,现有的和拟议的方案,例如,[14, 92, 129, 216],具有三个严重的局限性: • 缺乏遗留兼容性:现有的去中心化身份系统依赖于 由称为发行者的权威机构组成的社区,负责生成 DID 凭证。因为 现有的网络服务通常不会对数据进行数字签名,必须启动发行者 作为特殊用途的系统。因为没有动力就没有动力这样做 去中心化的身份生态系统,就会出现先有鸡还是先有蛋的问题。在其他方面 换句话说,目前还不清楚如何引导发行人生态系统。 • 密钥管理不可行:去中心化身份系统要求用户 管理私钥,加密货币的经验已经证明了这一点 成为一个不可行的责任。据估计,大约有 4,000,000 个 Bitcoin 已被 由于密钥管理故障 [194] 而永远丢失,并且许多用户存储了他们的 加密资产与交易所[193],从而破坏权力下放。 • 缺乏保护隐私的女巫抵抗:投票、token 销售期间公平分配 token 等应用程序的基本安全要求是: 用户无法断言多个身份。现有的去中心化身份提案要求用户透露他们的现实世界身份才能实现这一目标 女巫抵抗,从而破坏重要的隐私保证。 可以使用节点委员会的组合来解决这些问题 在 DON 中执行分布式计算并使用 DECO 等工具 或 Town Crier,如名为 CanDID [160] 的系统中所示。 DECO 或 Town Crier 可以通过设计将现有的 Web 服务转变为无需修改 成为保密凭证颁发者。它们使 DON 能够导出相关的 为此目的的数据到凭证中,同时隐藏不应该的敏感数据 出现在凭证中。 另外,为了方便用户恢复密钥,从而解决密钥管理问题 问题,DON 可以允许用户以秘密共享的形式存储私钥。用户可以 通过向 DON 中的节点证明来恢复其密钥——类似地,使用 Town Crier 或 DECO——通过一组预先确定的网络提供商(例如, 推特、谷歌、脸书)。相对于使用 Town Crier 或 DECO 的好处 OAUTH,是用户隐私。这两个工具使用户能够避免向 DON 泄露信息 网络提供商标识符——通常可以从中导出现实世界的身份。 最后,为了提供 Sybil 抵抗,如 [160] 所示,DON 可以 为用户执行独特的现实世界标识符的隐私保护转换 (例如,社会安全号码(SSN))在用户注册时添加到链上标识符中。因此,系统可以检测重复注册,而无需敏感数据,例如 SSN 被泄露给各个 DON 节点。7 DON 可以代表外部去中心化身份提供任何这些服务 未经许可或经过许可的 blockchain 上的系统,例如 Hyperledger 的实例 印地[129]。 应用示例:KYC: 去中心化身份有望作为一种手段 简化 blockchains 上金融应用程序的要求,同时提高用户体验 隐私。它可以帮助解决两个挑战,即反洗钱/了解你的客户 (AML / KYC) 法规下的认证和合规义务。 许多国家的反洗钱法规要求金融机构(和其他企业)建立并验证与其进行交易的个人和企业的身份。 他们执行交易。 KYC 是金融机构的一个组成部分 更广泛的反洗钱政策,通常还涉及监控用户行为和资金流动等。 KYC 通常涉及用户以某种形式呈现身份凭证(例如, 进入在线网络表单,在用户面前举起身份证件 在视频会议等)。安全创建和呈现去中心化凭证 原则上在几个方面可能是一个有益的替代方案,即:(1) KYC 流程对于用户和金融机构来说更加高效,因为一旦 获得证书后,可以无缝地向任何金融机构出示; (2) 通过妥协减少身份盗窃的机会,从而减少欺诈 个人身份信息 (PII) 和视频验证过程中的欺骗;和 (3) 由于用户保留控制权,降低金融机构 PII 泄露的风险 他们自己的数据。 考虑到金融机构因 AML 合规失败而支付的数十亿美元罚款,以及许多金融机构每年在 KYC 上花费数百万美元,改进措施可以为金融机构带来可观的节省 并且,推而广之,对于消费者[196]。虽然传统金融业发展缓慢 为了采用新的合规工具,DeFi 系统越来越多地采用它 [43]。 应用示例: 抵押贷款不足: 大多数 DeFi 应用程序 如今的支持贷款仅源自完全抵押贷款。这些是贷款 对于存入价值超过贷款价值的加密货币资产的借款人。 最近,人们对 DeFi 社区通常所说的抵押不足贷款产生了兴趣。相比之下,这些贷款需要相应的抵押品 其价值小于贷款本金的价值。抵押贷款不足 类似于传统金融机构通常发放的贷款。而不是依靠 他们以存入的抵押品作为贷款偿还的保证,而是以贷款为基础 对借款人信用记录的决定。 7 此转换依赖于分布式伪随机函数 (PRF)。抵押不足的贷款是 DeFi 贷款市场的一个新兴但不断增长的部分。他们依赖于传统金融所采用的机制 机构,例如法律合同 [91]。是他们成长的必备条件 将能够以提供强大完整性的方式向 DeFi 系统提供有关用户信用度的数据(传统贷款决策的关键因素),即 保证数据正确。 启用 DON 的去中心化身份系统将使潜在借款人能够 生成高保证的凭证,证明其信誉度,同时保留 敏感信息的机密性。具体来说,借款人可以生成这些 基于权威在线来源记录的凭据,同时仅公开 数据由 DON 证明,而不暴露其他潜在敏感数据。对于 例如,借款人可以生成一个凭证,表明她的信用评分 信用局集合超过特定阈值(例如 750),但未透露她的信息 精确的分数或她记录中的任何其他数据。此外,如果需要,此类凭证 可以匿名生成,即用户名可以被视为敏感数据 并且其本身不会暴露于 oracle 节点或她的去中心化凭证中。凭证 它本身可以在链上或链下使用,具体取决于应用程序。 总之,借款人可以向贷方提供有关其信用的重要信息 历史具有很强的完整性,并且没有暴露不必要的敏感信息的风险 数据。 借款人还可以提供各种其他保密凭证 有助于做出贷款决策。例如,凭证可以证明借款人的 拥有(链下)资产,正如我们在下一个示例中所示。 应用示例: 认证: 许多司法管辖区限制可以出售未注册证券的投资者类别。例如,在美国,SEC D 条例规定,要获得此类投资机会的认可, 个人必须拥有 100 万美元的净资产,满足某些最低收入要求,或具有某些专业资格 [209, 210]。目前的认证 流程繁琐且低效,通常需要来自以下机构的证明信 会计师或类似的证据。 去中心化的身份系统将使用户能够从以下位置生成凭证 证明符合认可的现有在线金融服务账户 法规,促进更高效和保护隐私的 KYC 流程。 的 此外,DECO 和 Town Crier 的隐私保护特性将允许这些 生成的凭证具有强有力的完整性保证,而不会直接泄露用户财务状况的详细信息。例如,用户可以生成凭证 证明她的净资产至少为 100 万美元,且无需透露任何其他信息 有关她的财务状况的信息。 4.4 优先频道 优先通道是一项有用的新服务,可以使用 DON 轻松构建。他们的


目标是在主链上及时交付精选的高优先级交易 在网络拥塞期间。优先通道可以被视为一种形式 区块空间上的期货合约,因此作为一种加密商品,这个术语是作为一部分创造的 芝加哥项目 [61, 136]。 优先通道专门用于矿工启用基础设施服务,例如 oracles、合约的治理功能等,而不是用于金融交易等普通用户级活动。 事实上,按照这里的设计,优先 网络中不到100%的算力实施的通道只能 对交货时间提供宽松的限制,防止其用于高度依赖速度的 目标,例如抢先交易。 图 10:优先通道是矿工 M 的保证,或者更一般地说,是矿工 M 的保证 一组矿工 M——向用户 U 表示她的交易 τ 将在 D 块内被开采 包含在内存池中。合约 SC 可以使用 DON 监控来强制执行 频道的服务条款。 优先通道采用一个或一组矿工之间协议的形式 提供通道的(或矿池)M和支付访问费用的用户U。 M 同意当 U 向内存池提交交易 τ 时(无论 Gas 价格如何,但预先商定的 Gas 限制),M 会将其放在接下来的 D 区块内的链上。8 图 10 示意性地描述了这个想法。 优先通道合约说明: 优先级信道可以被实现为 混合 smart contract 大致如下。我们让 SC 表示 MAINCHAIN 上的逻辑 以及 exec 的 DON 上的内容。 SC 接受来自 U. A 的存款/股份 \(d from M and an advance payment \)p DON 可执行文件 exec 监视内存池,在交易放置时触发 如果U提交了M挖矿的交易,它会向SC发送成功消息 服务失败时的及时方式和失败消息。 SC 在收到成功消息后将付款 $p 发送给 M,并发送所有剩余资金, 包括 $d,如果收到失败消息,则发送给 U。成功终止后, 将存款 $d 释放给 M。 矿工M当然可以同时向多个矿工提供优先通道 用户可以与 U 打开优先通道以接收预先商定数量的消息。 4.5 保密 DeFi / Mixicles 如今,DeFi 应用程序 [1] 为用户提供的保密性几乎为零:所有交易在链上都是可见的。各种基于零知识的方法,例如[149, 217], 可以提供交易隐私,并且 TEF 足够通用来支持它们。但是 这些方法并不全面,例如,通常不会隐藏 交易所基于的资产。 我们最终打算在 DONs 中支持的广泛计算工具将 通过多种不同方式实现隐私保护,可以弥补此类差距,有助于补充其他系统的隐私保证。例如,Mixicles,一种由 Chainlink 实验室研究人员 [135] 提出的保密 DeFi 工具,可以隐藏 支持金融工具的资产类型,非常自然地适合 DON 框架。 Mixicles 最容易解释为它们用于实现简单的二进制文件 选项。 二元期权是一种有两个用户的金融工具,我们将 请参阅此处以与 [135] 作为玩家保持一致,对有两种可能的赛事进行投注 结果,例如资产是否在预先指定的时间超过目标价格。 下面的例子说明了这个想法。 示例 2. Alice 和 Bob 是基于资产价值的二元期权的参与方 称为卡罗尔的泡沫代币(CBT)。 Alice 打赌 CBT 的市场价格为 时间 T = 2025 年 6 月 21 日中午至少 250 美元;鲍勃打赌相反。每个玩家 在预定期限内存入 100 ETH。获胜位置的玩家 收到 200 ETH(即收益 100 ETH)。 8D当然必须足够大,以保证M能够符合高概率。 对于 例如,如果M控制网络中20%的算力,它可能会选择D = 100,确保 失效概率为 ≈2 × 10−10,即小于十亿分之一。给定现有的 Chainlink oracle 网络 O,很容易实现智能 实现例2协议的合约SC,两个玩家各自存款 100 ETH 为 SC。 T 之后的某个时间,查询 q 被发送到 O 请求价格 r CBT 在 T.O 时间向 SC 发送该价格的报告 r。 SC然后将钱发送给Alice 如果 r ≥250,则 Bob 如果不是。然而,这种方法揭示了链上的 r——使其变得容易 让观察者推断出二元期权背后的资产。 在 Mixicles 的术语中,从概念上思考结果是有帮助的 SC 就 Switch 而言,它传输作为谓词计算的二进制值 开关(r)。在我们的示例中,如果 r ≥250,则 switch(r) = 0;鉴于此结果,爱丽丝获胜。 否则 switch(r) = 1 并且 Bob 获胜。 DON 可以通过运行可执行文件将基本 Mixicle 实现为混合合约 exec 计算 switch(r) 并将其在链上报告给 SC。我们展示这个结构 如图 11 所示。 图 11:示例 2 中的基本 Mixicle 图表。为以下内容提供链上保密性: 报告 r,因此二元期权的基础资产 oracle 发送到 仅通过 Switch 签订二进制值 switch(r) 合约 SC。 我们在附录 C.3 中指定了一个适配器 ConfSwitch,可以轻松实现这一点 DON 的目标。 ConfSwitch 背后的基本思想非常简单。而不是报告 r 值,ConfSwitch 仅报告二进制开关值 switch(r)。 SC 可以 旨在仅基于 switch(r) 和 switch(r) 本身进行正确支付 没有透露有关标的资产(在我们的示例中为 CBT)的信息。另外, 通过将密文放在账本上的 (q, r) 上,并使用 pkaud 的公钥进行加密 作为审计员,适配器 ConfSwitch 创建保密审计跟踪。 为了简单起见,我们在这里选择的基本 Mixicle 只隐藏了 在我们的示例中,二元期权背后的资产和赌注。一个成熟的 Mixicle [135] 可以 提供两种形式的保密性。它向观察者隐瞒了:(1)发生了什么事件 玩家对(即 q 和 r)下注,还对 (2) 哪位玩家赢得了赌注。 由于 Mixicles 是在主链上执行的,因此任一玩家都需要中继 switch(r) 从 DON 到 MAINCHAIN,或者可以创建一个可执行的 exec
由 ConfSwitch 输出触发并调用另一个适配器将 switch(r) 发送到 主链。 第三种微妙的保密方式也值得考虑。在 ConfSwitch 的基本实现中,O 在 DON 上运行适配器,从而学习 资产——在我们的例子中是 CBT——以及二元期权的本质。正如所讨论的 然而,在附录 C.3 中,还可以使用 DECO 或 Town Crier 来 甚至向 O 隐瞒此信息。在这种情况下,O 不会了解更多信息 而非 SC 的公共观察员。 有关 Mixicles 的更多详细信息,我们建议读者参阅 [135]。
공정한 순서 서비스
DONs가 네트워킹, 컴퓨팅 및 스토리지 기능을 활용하여 제공할 것으로 예상되는 중요한 서비스 중 하나는 FSS(Fair Sequencing Services)입니다. FSS는 단순히 DON 프레임워크 내에서 구현된 애플리케이션으로 볼 수 있지만, 우리는 이를 전 세계적으로 높은 수요가 있을 것으로 믿는 서비스로 강조합니다. blockchains이며 Chainlink 네트워크가 이를 적극적으로 지원할 것으로 기대합니다. 공용 blockchain 네트워크에서 실행되면 오늘날의 많은 DeFi 애플리케이션이 사용자가 자신의 이익을 위해 활용할 수 있는 정보를 공개합니다. 기존 시스템에 만연해 있는 일종의 내부 정보 유출 및 조작 기회 시장 [64, 155]. 대신 FSS는 공정한 DeFi 생태계를 향한 길을 열어줍니다. FSS 개발자가 시장 조작으로부터 보호되는 DeFi 계약을 구축하는 데 도움이 됩니다. 정보 유출로 인해 발생합니다. 아래에서 강조하는 문제를 고려하면 FSS는 레이어 2 서비스에 특히 매력적이며 그러한 서비스의 프레임워크 내에 적합합니다. 이에 대해서는 섹션 6에서 논의합니다. 과제: 기존 무허가 시스템에서는 트랜잭션이 전적으로 주문됩니다. 광부의 재량에 따라. 허가된 네트워크에서는 validator 노드가 같은 힘. 이는 대체로 인식되지 않는 임시 중앙 집중화의 한 형태입니다. 그렇지 않으면 분산 시스템. 채굴자는 거래를 (일시적으로) 검열할 수 있습니다. 자신의 이익을 [171]하거나 자신의 이익을 극대화하기 위해 순서를 변경합니다. 이를 광산 추출 가능 가치(MEV) [90]이라고 합니다. MEV라는 용어는 약간 기만적입니다. 채굴자가 포착할 수 있는 가치에만 적용: 일부 MEV는 일반 사용자가 포착할 수 있습니다. 그러나 채굴자는 일반 사용자보다 더 많은 권한을 갖기 때문에 MEV는 모든 개체가 적대적 재정렬을 통해 얻을 수 있는 가치의 상한선을 나타냅니다. 그리고 보완적인 거래 삽입. 채굴자가 단순히 거래를 주문하는 경우에도 수수료(가스)를 기준으로 조작 없이 사용자가 직접 가스 가격을 조작할 수 있습니다. 덜 정교한 거래에 비해 거래를 유리하게 만듭니다. Daianet al. [90] 봇(채굴자가 아님)이 가져오는 방식을 문서화하고 수량화합니다. 오늘날 DeFi 시스템 사용자에게 해를 끼치는 방식으로 가스 역학의 이점과 방법 MEV는 심지어 blockchain의 기본 합의 계층의 안정성을 위협합니다. 거래 주문 조작의 다른 예는 [50, 154]와 같이 정기적으로 나타납니다.rollups와 같은 새로운 트랜잭션 처리 방법은 매우 유망한 접근 방식입니다. 처리량이 많은 blockchains의 확장 문제. 그러나 그들은 다루지 않습니다 MEV의 문제. 대신 rollup을 생성하는 엔터티로 이동합니다. 그 smart contract의 운영자이든 (zk-)rollup을 제공하는 사용자이든 상관없이 엔터티 유효성 증명은 거래를 주문하고 삽입할 수 있는 권한을 갖습니다. 즉, rollups MEV를 REV: 롤업 추출 가능 값으로 교체합니다. MEV는 멤풀에 제출된 향후 거래에 영향을 미칩니다. 하지만 아직 체인에 커밋되지는 않았습니다. 그러한 거래에 관한 정보는 광범위하게 네트워크에서 사용 가능합니다. 채굴자, validators 및 일반 네트워크 참가자는 따라서 이 지식을 활용하고 종속 트랜잭션을 생성합니다. 또한, 채굴자와 validator은 자신이 수행하는 거래의 순서에 영향을 미칠 수 있습니다. 스스로를 이용하고 이를 자신들에게 유리하게 활용합니다. 합의에 따른 거래 주문에 대한 리더의 과도한 영향력 문제 프로토콜은 1990년대 이후 문헌에 알려져 있지만[71, 190] 만족스럽지 않습니다. 솔루션은 지금까지 실제로 실현되었습니다 [97]. 주된 이유는 제안된 솔루션이 적어도 아주 최근까지는 대중과 쉽게 통합될 수 없다는 것입니다. blockchains, 이후까지 비밀로 유지되는 거래 내용에 의존하기 때문입니다. 그들의 순서가 결정되었습니다. 공정한 시퀀싱 서비스(FSS) 개요: DONs는 트랜잭션 주문을 분산화하고 의존자가 지정한 정책에 따라 이를 구현하는 도구를 제공합니다. 계약 작성자, 이상적으로는 공정하고 유리한 행위자를 원하는 사람이 아닌 사람 거래 순서를 조작합니다. 이러한 도구는 집합적으로 FSS를 구성합니다. FSS에는 세 가지 구성 요소가 포함됩니다. 첫 번째는 거래 모니터링이다. FSS에서는 O의 oracle 노드는 MAINCHAIN의 mempool을 모니터링하고 (원하는 경우) 허용합니다. 전문 채널을 통한 오프체인 거래 제출. 두 번째는 거래 순서입니다. 의존 계약에 대한 O 주문 거래의 노드 해당 계약에 대해 정의된 정책에 따라. 세 번째는 거래 게시입니다. 트랜잭션이 주문된 후 O의 노드는 트랜잭션을 공동으로 보냅니다. 메인 체인. FSS의 잠재적 이점은 다음과 같습니다. • 주문 공정성: FSS에는 개발자가 거래를 보장하는 데 도움이 되는 도구가 포함되어 있습니다. 특정 계약에 대한 입력은 불공정하지 않은 방식으로 주문됩니다. 자원이 풍부하고 기술적으로 정통한 사용자에게 유리합니다. 주문 정책 이 목적으로 지정될 수 있습니다. • 정보 유출의 감소 또는 제거: 네트워크 참가자가 향후 거래에 대한 지식을 이용할 수 없도록 보장함으로써 FSS는 이를 완화하거나 제거할 수 있습니다. 이용 가능한 정보를 기반으로 하는 선행 실행과 같은 공격을 제거합니다. 트랜잭션이 커밋되기 전의 네트워크. 그러한 악용 방지 누출은 원래 보류에 의존하는 적대적 거래를 보장합니다. 원래 거래가 커밋되기 전에는 거래가 원장에 들어갈 수 없습니다.• 거래 비용 절감: 제출 속도에 대한 플레이어의 요구 사항 제거 smart contract에 대한 거래를 통해 FSS는 거래 처리 비용을 크게 줄일 수 있습니다. • 우선순위 지정: FSS는 중요한 거래에 자동으로 특별한 우선순위를 부여할 수 있습니다. 주문. 예를 들어 oracle에 대한 선행 공격을 방지하기 위해 보고서(예: [79]), FSS는 oracle 보고서를 거래 흐름에 삽입할 수 있습니다. 소급하여. DONs에서 FSS의 가장 중요한 목표는 DeFi 제작자가 공정한 실현을 실현할 수 있도록 권한을 부여하는 것입니다. 금융 시스템, 즉 특정 사용자(또는 채굴자)에게 이익을 주지 않는 시스템 속도, 내부 지식 또는 기술 수행 능력을 기준으로 다른 사람보다 우수합니다. 조작. 명확하고 일반적인 공정성 개념은 파악하기 어렵고 완벽한 공정성은 합리적인 감각은 달성할 수 없습니다. FSS는 개발자에게 강력한 기능을 제공하는 것을 목표로 합니다. DeFi에 대한 설계 목표를 달성하는 데 도움이 되는 정책을 시행할 수 있는 도구 세트입니다. FSS의 주요 목표는 공정한 시퀀싱 서비스 역할을 하는 것이지만 DON의 목표인 MAINCHAIN은 FSS가 원하는 것과 동일한 공정성 중 일부입니다. 보장은 또한 실행되는 (분산형) 프로토콜에도 적합할 수 있습니다. DON 파티. 따라서 FSS는 하위 집합이 제공하는 서비스로 더 광범위하게 볼 수 있습니다. DON 노드는 MAINCHAIN 사용자가 보낸 트랜잭션뿐만 아니라 공정한 순서를 지정합니다. 또한 다른 DON 노드 간에 공유되는 트랜잭션(즉, 메시지)도 있습니다. 이 섹션에서는 우리는 주로 MAINCHAIN 거래 순서를 정하는 목표에 중점을 둘 것입니다. 섹션 구성: 섹션 5.1에서는 FSS 설계에 동기를 부여하는 두 가지 상위 수준 애플리케이션, 즉 oracle 보고서의 전면 실행 방지 및 방지를 설명합니다. 사용자 트랜잭션의 선행 실행. 그런 다음 FSS 설계에 대한 자세한 내용을 제공합니다. 섹션 5.2에서. 섹션 5.3에서는 공정한 주문 보장 및 수단의 예를 설명합니다. 그것을 달성하기 위해. 마지막으로 섹션 5.4와 섹션 5.5에서는 네트워크 수준의 위협에 대해 논의합니다. 네트워크 플러딩과 Sybil에 대해 각각 이러한 정책과 이를 해결하는 수단 공격. 5.1 전면 실행 문제 FSS의 목표와 설계를 설명하기 위해 우리는 프론트러닝의 두 가지 일반적인 형태를 설명합니다. 공격과 기존 솔루션의 한계. 프론트 런닝은 클래스를 예시합니다. 트랜잭션 주문 공격: 우리가 다루지 않는 백런 및 샌드위치(프론트 러닝 및 백 런) [237]과 같은 관련 공격이 많이 있습니다. 여기에 있지만 FSS도 해결하는 데 도움이 됩니다. 5.1.1 Oracle 선두 실행 blockchain 애플리케이션에 오프체인 데이터를 제공하는 전통적인 역할에서 oracles 전방 공격의 자연스러운 표적이 됩니다.다양한 가격 피드를 제공하기 위해 oracle을 사용하는 일반적인 디자인 패턴을 고려하십시오. 온체인 거래소로: 주기적으로(매시간) oracle은 가격 데이터를 수집합니다. 다른 자산을 교환 계약으로 보냅니다. 이러한 가격 데이터 거래 명백한 차익 거래 기회 제공: 예를 들어 최신 oracle 보고서에 일부 자산의 가격이 훨씬 높을 경우, 적이 oracle 보고서를 미리 실행할 수 있습니다. 자산을 매입하고 oracle의 신고가 처리되면 즉시 재판매하세요. 과속방지턱 및 소급 가격: oracle 선점 문제에 대한 자연스러운 해결책은 oracle 보고서에 다른 거래보다 특별한 우선순위를 부여하는 것입니다. 에 대한 예를 들어, oracle 보고서는 채굴자가 처리하도록 장려하기 위해 높은 수수료로 전송될 수 있습니다. 먼저 그들. 그러나 차익거래 기회가 높다면 선행매매를 막을 수는 없습니다. 또한 채굴자 자신의 차익 거래를 막을 수도 없습니다. 따라서 일부 거래소는 처리하기 전에 여러 블록에 대해 사용자 트랜잭션을 대기열에 넣는 등 보다 무거운 "속도 향상"을 구현하는 데 의존했습니다. 또는 새로운 oracle 보고서가 도착하면 가격을 소급하여 조정합니다. 이러한 솔루션의 단점은 교환 구현에 복잡성을 추가한다는 것입니다. 저장 요구 사항이 증가하여 거래 비용이 증가하고 자산 교환이 상당한 기간이 지난 후에만 확인되므로 사용자 경험이 중단됩니다. 편승: FSS로 넘어가기 전에 우리는 매우 간단하고 간단한 피기백(piggybacking)에 대해 논의합니다. oracle 전면 실행 문제에 대한 우아한 솔루션입니다. 주소에는 해당되지 않습니다. 그러나 다른 시나리오에서는 선행 실행됩니다. 즉, 온체인 컨트랙트에 정기적으로 보고서를 보내는 대신 oracles 사용자가 구매 또는 판매 시 거래에 추가하는 서명된 보고서를 게시합니다. 온체인 자산. 그런 다음 거래소는 보고서가 유효하고 최신인지 확인합니다. (예: oracle은 보고서가 유효한 블록 범위에 서명할 수 있음) 그것으로부터 관련 가격 피드. 이 간단한 접근 방식은 위의 "과속 방지턱"에 비해 여러 가지 장점이 있습니다. 접근 방식: (1) 교환 계약은 가격 피드 상태를 유지할 필요가 없습니다. 거래 비용이 낮아집니다. (2) oracle 보고서는 필요에 따라 체인에 게시되므로 oracle은 더 자주(예: 매분) 업데이트를 생성할 수 있습니다. 보고서 선행 실행으로 인한 차익거래 기회 최소화9; (3) 거래는 다음과 같습니다. 항상 새로운 가격 피드가 포함되어 있으므로 즉시 검증됩니다. 그러나 접근 방식이 완벽하지는 않습니다. 첫째, 이 피기백 솔루션은 거래소 사용자는 최신 oracle 보고서를 가져와서 첨부할 책임이 있습니다. 거래. 둘째, 편승은 차익거래 기회를 최소화하지만, 온체인 계약의 활성 상태에 영향을 주지 않고 이를 완전히 방지합니다. 실제로 만약에 oracle 보고서는 일부 블록 번호 n까지 유효하며 이후 거래가 블록에 제출됩니다. n + 1에는 새로운 유효한 보고서가 필요합니다. 본질적인 전파 지연으로 인해 oracles에서 사용자에게 보고하는 경우 블록 n + 1에 유효한 새 보고서는 9차익거래는 자산 가격의 활용 가능한 차이가 외부 차익을 초과하는 경우에만 가치가 있습니다. 자산을 사고 파는 데 필요한 수수료(예: 채굴자와 거래소가 수집한 자산)블록 n + 1이 채굴되기 전 일정 기간(예: 블록 n −k)에 공개됩니다. 단기 차익거래 기회가 존재하는 일련의 k개 블록을 생성합니다. 우리 이제 FSS가 이러한 제한 사항을 어떻게 해결하는지 설명합니다. FSS를 통해 oracle 보고서의 우선순위 지정: FSS는 oracle 전면 실행 문제를 해결할 수 있습니다. 위의 피기백 솔루션을 기반으로 구축했지만 추가 솔루션을 추진하여 문제가 발생했습니다. oracle을 통한 트랜잭션 증가 작업은 분산형 오라클 네트워크에 보고됩니다. 높은 수준에서 oracle 노드는 온체인 교환을 위한 트랜잭션을 수집합니다. 실시간 가격 피드에 동의하고 수집된 거래와 함께 가격 피드를 메인 체인 계약에 게시합니다. 개념적으로는 이 접근 방식을 다음과 같이 생각할 수 있습니다. oracle이 최신 상태를 보장하는 "데이터 증강 트랜잭션 일괄 처리" 가격 피드는 항상 거래에 추가됩니다. FSS 솔루션은 거래소 사용자에게 투명하게 구현될 수 있으며, 섹션 5.2에서 자세히 설명하는 것처럼 계약 논리에 대한 최소한의 변경입니다. 보장 새로운 oracle 보고서가 항상 사용자 거래보다 우선시된다는 점은 단지 하나의 예일 뿐입니다. FSS가 채택하고 시행할 수 있는 주문 정책입니다. 질서 보장을 위한 금감원의 정책 공정성은 섹션 5.3에서 더 일반적으로 설명됩니다. 5.1.2 선행 사용자 트랜잭션 이제 위의 방어 방법이 사용되는 일반 애플리케이션에서 전면 실행으로 전환합니다. 작동하지 않습니다. 이 문제는 다음 시나리오를 통해 광범위하게 파악할 수 있습니다. 공격자는 P2P 네트워크로 전송된 일부 사용자 트랜잭션 tx1을 보고 주입합니다. 자신의 적대적 트랜잭션 tx2를 사용하여 tx2가 tx1보다 먼저 처리되도록 합니다(예: 더 높은 거래 수수료). 예를 들어, 이런 종류의 선행 실행은 다음 중 일반적입니다. DeFi 시스템 [90]에서 재정 거래 기회를 이용하고 사용자에게 영향을 미치는 봇 다양한 분산 애플리케이션 [101]. 거래간의 공정한 질서를 확립한다 blockchain에서 처리되면 이 문제가 해결됩니다. 더 근본적으로, tx1의 세부 사항을 보는 것이 때로는 필요하지도 않으며 단순한 존재에 대한 지식으로 인해 적이 tx1을 통해 tx1을 앞지르게 할 수 있습니다. tx2를 소유하고 tx1을 생성한 무고한 사용자를 속이세요. 예를 들어, 사용자는 정기적으로 특정 자산을 거래하는 것으로 알려져 있습니다. 그러한 공격을 예방하려면 다음이 필요합니다. 메타데이터 유출도 방지하는 완화 [62]. 이 문제에 대한 몇 가지 해결책 존재하지만 지연과 유용성 문제가 발생합니다. FSS를 사용하여 네트워크 순서에서 최종 순서까지: 선두주자의 기회 기존 시스템에는 순서를 보장하는 메커니즘이 없기 때문에 발생합니다. 거래는 사건의 순서와 정보 흐름을 존중하여 체인에 나타납니다. 네트워크 외부. 이는 blockchain에서 애플리케이션(예: 거래 플랫폼) 구현의 결함으로 인해 발생하는 문제를 나타냅니다. 이상적으로는 트랜잭션이 blockchain에서 동일한 순서로 커밋되었는지 확인하세요. 생성되어 blockchain의 P2P 네트워크로 전송됩니다. 하지만 blockchain 네트워크 이후

분산되어 있으면 그러한 주문을 캡처할 수 없습니다. 따라서 FSS는 메커니즘을 도입합니다. 분배로 인해 발생하는 공정성 위반으로부터 보호하기 위해 blockchain 네트워크의 성격. 5.2 FSS 세부정보 그림 12: 두 가지 다른 트랜잭션 경로를 갖춘 주문 공정 멤풀: 직접적이고 멤풀 기반. 그림 12는 FSS의 일반적인 개략도를 보여줍니다. 공정성을 보장하기 위해 FSS를 제공하는 DON은 MAINCHAIN에 진입할 때 거래 흐름을 방해해야 합니다. 클라이언트, MAINCHAIN의 smart contracts 또는 둘 다에 대한 조정이 필요할 수 있습니다. 높은 수준에서 FSS의 거래 처리는 세 가지로 분해될 수 있습니다. 아래에 설명된 단계: (1) 거래 모니터링; (2) 거래 순서; 그리고 (3) 거래 게시. 트랜잭션 순서 지정에 사용되는 주문 방법에 따라 다음 섹션에 설명된 대로 추가 프로토콜 단계가 필요합니다. 5.2.1 거래 처리 거래 모니터링: 우리는 FSS가 모니터링할 수 있는 두 가지 접근 방식을 구상합니다. 특정 smart contract을 대상으로 하는 사용자 트랜잭션, 직접 및 mempool 기반: • 직접: 직접 접근 방식은 개념적으로 가장 간단하지만 다음 사항에 대한 변경이 필요합니다. 트랜잭션이 분산형 Oracle로 직접 전송되도록 사용자 클라이언트메인 체인의 노드가 아닌 네트워크 노드. DON는 수집합니다 특정 smart contract SC로 향하는 사용자 트랜잭션을 기반으로 주문합니다. 일부 주문 정책에 대해 그런 다음 DON은 주문된 트랜잭션을 다음으로 보냅니다. smart contract 메인 체인에 있습니다. 일부 주문 메커니즘에는 트랜잭션을 생성하는 사용자가 암호화 방식을 사용해야 하므로 직접적인 접근 방식도 필요합니다. FSS로 보내기 전에 보호하십시오. • Mempool 기반: FSS와 레거시 클라이언트의 통합을 용이하게 하기 위해 DON Mempool Services(MS)를 사용하여 메인 체인의 mempool을 모니터링하고 수집할 수 있습니다. 거래. 직접 전송은 많은 계약에서 선호되는 구현일 가능성이 높습니다. 그리고 우리는 이것이 많은 경우 상당히 실용적일 것이라고 믿습니다. 우리는 기존 DApp을 최소한으로 수정하여 지원하는 방법에 대해 간략하게 논의합니다. 좋은 사용자 경험을 유지하면서 직접 전송합니다. 우리는 접근 방식을 설명합니다 오늘날 가장 인기 있는 선택이기 때문에 Ethereum 및 MetaMask [6]을 사용하지만 언급된 기술은 다른 체인과 지갑으로 확장되어야 합니다. 최근 Ethereum 개선 제안, “EIP-3085: 지갑 추가 Ethereum 체인 RPC 방법” [100], 사용자 정의 Ethereum 체인을 쉽게 타겟팅할 수 있습니다(다른 체인 ID 사용). MetaMask 및 기타 브라우저 기반 지갑의 재생 공격을 방지하기 위한 MAINCHAIN의 것입니다. 이 제안을 구현한 후 DON를 사용하려는 DApp은 직접 전송할 수 있도록 프런트 엔드에 단일 메서드 호출을 추가하기만 하면 됩니다. Ethereum 호환 API를 노출하는 DON에 대한 트랜잭션입니다. 그동안, "EIP-712: Ethereum 유형화된 구조화된 데이터 hash생성 및 서명" [49]은 약간의 정보를 제공합니다. DApp 사용자가 사용할 수 있는 더 복잡하지만 이미 널리 배포된 대안 DON 트랜잭션을 지정하는 구조화된 데이터에 서명하는 MetaMask입니다. DApp은 보낼 수 있습니다 이 서명된 구조화된 데이터를 DON에 보냅니다. 마지막으로 하이브리드 접근 방식도 가능하다는 점에 주목합니다. 예를 들어, 유산 클라이언트는 계속해서 메인 체인의 멤풀로 트랜잭션을 보낼 수 있지만 매우 중요합니다. 거래(예: oracle 보고서)는 DON 노드로 직접 전송됩니다(특히 가격 피드 업데이트와 같은 oracle 보고서를 제공하는 노드 세트 및 노드 세트 FSS 제공은 중복되거나 동일할 수 있습니다). 거래 순서: FSS의 주요 목적은 사용자 트랜잭션이 미리 정의된 정책에 따라 정렬되도록 보장하는 것입니다. 이 정책의 성격은 다음과 같습니다. 애플리케이션의 요구와 불공정 거래 명령 유형에 따라 다릅니다. 예방하는 것을 목표로 합니다. DON의 FSS는 데이터를 처리하고 로컬 상태를 유지할 수 있으므로, 그들은 정보를 기반으로 임의의 순서 지정 정책을 부과할 수 있습니다. 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은 각 트랜잭션에 시퀀스 번호를 추가하고 이러한 트랜잭션을 메인 체인의 멤풀로 보낼 수 있습니다. 주요 10DON의 트랜잭션 모니터링이 멤풀을 기반으로 하는 경우 레거시 트랜잭션은 DON 트랜잭션과 구별되어야 DON에 의해 수집되지 않습니다(예: 특수 태그를 통해). 거래에 포함되거나 특정 가스 가격을 지정함으로써 가능합니다. DON 거래에 가스가 있습니다 특정 기준점 이하의 가격.체인 smart contract SC는 "순서가 맞지 않게" 도착하는 트랜잭션을 무시합니다. 우리 이 설정에서 메인 체인 채굴자는 DON을 무시하기로 결정할 수 있습니다. 트랜잭션 주문으로 인해 트랜잭션이 실패하게 됩니다. SC가 올바른 트랜잭션 순서를 강제하도록 (비싼) 상태를 유지함으로써 어느 정도 가능합니다. TCP가 누락된 패킷이 발견될 때까지 순서가 잘못된 패킷을 버퍼링하는 방법과 유사합니다. 받았습니다. • 거래 nonces: 많은 blockchains, 특히 Ethereum의 경우 위의 일련 번호 지정 방식은 내장된 트랜잭션 nonce을 활용하여 다음을 수행할 수 있습니다. 메인 체인 smart contract SC가 트랜잭션을 순서대로 처리하도록 강제합니다. 여기서 DON 노드는 DON 노드 간에 공유되는 키로 보호되는 단일 메인체인 계정을 통해 메인체인에 트랜잭션을 보냅니다. 계정의 transaction nonce은 거래가 올바른 순서로 채굴되고 처리되도록 보장합니다. • 집계 트랜잭션: DON은 rollup에서 여러 트랜잭션을 집계할 수 있습니다. (또는 rollup과 유사한 번들). 메인 체인 smart contract은 다음과 같아야 합니다. 이러한 집계 트랜잭션을 처리하도록 설계되었습니다. • 메인 체인 프록시를 사용한 집계 트랜잭션: 여기서 DON은 마찬가지로 트랜잭션을 메인 체인에 대한 하나의 "메타 트랜잭션"으로 묶지만 사용자 정의 프록시 smart contract를 사용하여 트랜잭션의 압축을 풀고 이를 대상 계약 SC. 이 기술은 레거시 호환성에 유용할 수 있습니다. 메타트랜잭션은 rollup과 유사하게 작동하지만 압축되지 않은 트랜잭션으로 구성된다는 점에서 다릅니다. 메인 체인에 한 번 게시된 거래 목록입니다. 마지막 디자인은 사용자 트랜잭션을 원활하게 지원한다는 장점이 있습니다. DON의 목표에 도달하기 전에 메인 체인 계약을 통해 스스로 프록시됩니다. SC와 계약을 맺다 예를 들어, 어떤 지갑에 거래를 보내는 사용자를 생각해 보세요. 계약은 내부 트랜잭션을 SC로 보냅니다. 시퀀스 할당 사용자의 지갑 계약이 그렇지 않은 경우를 제외하고 그러한 거래에 대한 번호는 까다로울 수 있습니다. 모든 내부 트랜잭션과 함께 시퀀스 번호를 전달하도록 특별히 설계되었습니다. SC. 마찬가지로 이러한 내부 트랜잭션은 SC로 직접 전송되는 메타트랜잭션으로 쉽게 집계될 수 없습니다. 우리는 다음에 대한 추가 설계 고려 사항에 대해 논의합니다. 아래의 프록시 거래. 5.2.2 트랜잭션 원자성 지금까지의 논의에서는 트랜잭션이 단일 개체와 상호작용한다고 암묵적으로 가정했습니다. 온체인 smart contract(예: 사용자가 교환소에 구매 요청을 보냅니다). 그러나 에서는 Ethereum와 같은 시스템에서 단일 트랜잭션은 여러 내부 트랜잭션으로 구성될 수 있습니다. 예를 들어 하나의 smart contract은 다른 계약의 함수를 호출합니다. 아래에서 우리는 "다중 계약" 거래 순서를 지정하기 위한 두 가지 고급 전략을 설명합니다. 트랜잭션의 원자성(즉, 다음에 의해 규정된 일련의 작업)을 보존합니다. 트랜잭션은 모두 올바른 순서로 실행되거나 전혀 실행되지 않습니다.강력한 원자성: 가장 간단한 해결책은 위에서 설명한 대로 FSS를 전체 "다중 계약" 거래에 직접 적용하는 것입니다. 즉, 사용자는 거래를 보냅니다. 네트워크에 들어가고 FSS는 이러한 거래를 모니터링하고 순서를 정하고 게시합니다. 메인 체인. 이 접근 방식은 기술적으로 간단하지만 한 가지 잠재적인 제한 사항이 있습니다. 거래는 공정한 활용을 원하는 두 계약 SC1 및 SC2와 상호 작용합니다. 시퀀싱 서비스를 사용하려면 이 두 계약의 시퀀싱 정책이 일관되어야 합니다. 즉, 각각 상호작용하는 두 개의 서로 다른 트랜잭션 tx1 및 tx2가 있는 경우 SC1과 SC2 모두 SC1의 정책이 tx2보다 먼저 tx1을 주문하는 경우가 있어서는 안 됩니다. SC2의 정책은 반대 순서를 규정합니다. 관심 있는 대부분의 시나리오에 대해 우리는 다양한 계약에서 채택한 순서 정책이 일관될 것이라고 생각합니다. 예를 들어 SC1과 SC2 모두 mempool에 대략적인 도착 시간을 기준으로 트랜잭션을 정렬하기를 원할 수 있습니다. SC1은 특정 oracle 보고서가 항상 먼저 전달되기를 원할 수도 있습니다. 다음과 같이 후자의 oracle 보고서 트랜잭션은 SC2와 상호 작용하지 않으며 정책은 일관됩니다. 약한 원자성: 일반적으로 FSS는 개인 수준에서 적용될 수 있습니다. 내부 거래. 일부 초기 항목으로 구성된 tx = { ~txpre, ~txSC, ~txpost} 형식의 트랜잭션을 고려하십시오. 트랜잭션 ~txpre, 이는 SC에서 내부 트랜잭션 ~txSC로 이어지며, 이는 차례로 내부 트랜잭션 ~txpost를 발행합니다. SC의 시퀀싱 정책에 따라 방법이 결정될 수 있습니다. 내부 트랜잭션 ~txSC는 전송된 다른 트랜잭션과 관련하여 주문되어야 합니다. SC로 이동하되 ~txpre 및 ~txpost에 대한 시퀀스 순서는 열어 둡니다. Ethereum과 같은 시스템에서 트랜잭션 처리의 본질적인 특성을 고려할 때 특정 내부 트랜잭션을 대상으로 하는 시퀀싱 서비스를 개발하는 것은 간단하지 않습니다. 특별히 설계된 계약 SC를 사용하면 다음과 같이 실현할 수 있습니다. 1. 트랜잭션 tx가 네트워크로 전송되어 채굴됩니다(시퀀싱 없이). FSS에서 수행). 초기 ~txpre가 실행되고 ~txSC를 호출합니다. 2. SC는 ~txSC를 실행하지 않고 반환됩니다. 3. FSS는 SC에 대한 내부 거래를 모니터링하고 순서를 정한 후 다시 게시합니다. SC로(즉, 트랜잭션 ~txSC를 SC로 직접 보냄) 4. SC는 FSS로부터 받은 트랜잭션 ~txSC를 처리하고, ~txSC의 결과인 내부 트랜잭션 ~txpost를 발행합니다. 이 접근 방식을 사용하면 트랜잭션이 완전히 원자적으로 실행되지 않습니다(즉, 원본 트랜잭션 tx는 여러 개의 온체인 트랜잭션으로 분할되지만 순서는 내부 거래는 보존됩니다. 이 솔루션에는 여러 가지 설계 제약이 따릅니다. 예를 들어 ~txpre는 다음을 수행할 수 없습니다. ~txSC 및 ~txpost가 실행될 것이라고 가정합니다. 더욱이 SC는 다음과 같이 설계되어야 한다. 특정 사용자를 대신하여 ~txSC 및 ~txpost 트랜잭션을 실행합니다.FSS에서 보냈습니다. 이러한 이유로 보다 세분화된 "Strong Atomicity" 솔루션 실제로는 위의 내용이 바람직할 수 있습니다. 여러 트랜잭션과 관련된 보다 복잡한 종속성을 존중하기 위해 각각의 내부 거래에는 FSS의 거래 스케줄러가 포함될 수 있습니다. 관계형 트랜잭션 관리자에서 볼 수 있는 것과 유사한 정교한 기능 데이터베이스 관리자. 5.3 공정한 거래 순서 여기에서는 FSS에 의해 실현될 수 있는 거래 순서 결정 및 해당 구현에 대한 두 가지 공정성 개념에 대해 논의합니다. 정책 기반 주문 공정성 FSS에 의해 부과되며 인과관계 보존을 보장하므로 FSS에 추가적인 암호화 방법이 필요합니다. 주문 공정성: 질서 공정성은 합의 프로토콜에서 시간적 공정성에 대한 개념입니다. Kelkar et al.에 의해 처음으로 공식적으로 소개되었습니다. [144]. Kelkaret al. 거래가 이루어지는 자연정책의 형태를 달성하는 것을 목표로 합니다. DON(또는 P2P 네트워크, mempool 기반 FSS의 경우). 그러나 분산형 시스템에서는 다릅니다. 노드는 트랜잭션이 다른 순서로 도착하는 것을 볼 수 있습니다. 전체 주문 설정 모든 거래에 대한 문제는 기반이 되는 합의 프로토콜에 의해 해결되는 바로 그 문제입니다. 메인체인. Kelkaret al. [144] 따라서 다음과 같은 약한 개념을 도입합니다. 이는 "블록 주문 공정성"이라고 불리는 분산형 Oracle 네트워크의 도움으로 달성됩니다. DON이(가) 일정 시간 간격 동안 수신한 트랜잭션을 다음과 같이 그룹화합니다. 블록을 생성하고 해당 블록의 모든 트랜잭션을 동시에 동일한 위치에 삽입합니다. (즉, 높이)를 MAINCHAIN에 넣습니다. 따라서 이들은 함께 주문되며 실행 가능해야 합니다. 동시에, 그들 사이에 어떤 갈등도 일으키지 않습니다. 대략적으로 말하자면, 주문 공정성은 많은 노드가 τ2 이전에 트랜잭션 τ1을 본다면 다음과 같이 말합니다. τ1은 τ2 이전 또는 동일한 블록에서 시퀀스됩니다. 이런 거친 짓을 해서 거래 주문을 세분화하면 선행 실행 및 기타 주문 관련 공격 기회가 크게 줄어듭니다. Kelkaret al. Aequitas [144]라는 프로토콜 제품군을 제안합니다. 동기식, 부분 동기식, 비동기식 네트워크 설정을 포함한 다양한 배포 모델. Aequitas 프로토콜은 기본 BFT 합의에 비해 상당한 통신 오버헤드를 부과하므로 실제 사용에는 적합하지 않습니다. 그러나 우리는 사용할 수 있는 Aequitas의 실용적인 변형이 나타날 것이라고 믿습니다. FSS 및 기타 애플리케이션의 트랜잭션 순서 지정을 위한 것입니다. 일부 관련 계획에는 형식주의와 속성이 덜 수반되는 방식이 이미 제안되었습니다. 예를 들어 [36, 151, 236]이지만 실제 성능이 더 좋습니다. 이러한 구성표가 지원될 수 있습니다. FSS에서도요. "공정성"이라는 용어가 blockchain의 다른 곳에 나타난다는 점도 주목할 가치가 있습니다. 다른 의미를 지닌 문학, 즉 기회라는 의미에서의 공정성헌신된 자원 [106, 181] 또는 validators에 비례하는 광부 평등한 기회 [153]. 안전한 인과관계 보존: 분산 플랫폼에서 선행 실행 및 기타 주문 위반을 방지하는 가장 널리 알려진 접근 방식은 암호화에 의존합니다. 기술. 그들의 일반적인 특징은 거래 데이터 자체를 숨기고 합의 계층의 순서가 확립되었으며 거래 데이터를 공개합니다. 나중에 처리를 위해. 이는 거래 간의 인과적 순서를 보존합니다. blockchain에 의해 실행됩니다. 관련 보안 개념 및 암호화 프로토콜 blockchains [71, 190]이 출현하기 전에 상당히 개발되었습니다. "입력 인과성" [190] 및 "안전한 인과성 보존"[71, 97]의 보안 조건은 거래에 대한 정보가 알려지지 않도록 공식적으로 요구합니다. 글로벌 순서에서 이 거래의 위치가 결정되기 전에. 공격자는 그때까지 암호화된 방식으로 어떤 정보도 추론할 수 없어야 합니다. 강한 감각. 인과관계를 보존하기 위해 네 가지 암호화 기술을 구별할 수 있습니다. • 커밋-공개 프로토콜 [29, 142, 145]: 트랜잭션이 발표되는 대신 명확하게는 거래에 대한 암호화된 약속만 공개됩니다. 모든 커밋되었지만 숨겨진 트랜잭션이 주문된 후(blockchain 초기에) MAINCHAIN 자체의 시스템(여기서는 FSS에 의한 시스템)에서 보낸 사람은 미리 결정된 시간 간격 내에 약속을 열고 거래 데이터를 공개해야 합니다. 그런 다음 네트워크는 개시가 이전 약속을 충족하는지 확인합니다. 는 이 방법의 기원은 blockchains 출현 이전입니다. 비록 매우 간단하지만 이 접근 방식은 상당한 단점을 가져오고 두 가지 이유로 사용하기 쉽지 않습니다. 첫째, 주문 프로토콜 수준에서는 커밋만 존재하므로 트랜잭션의 의미는 다음과 같습니다. 합의 중에는 검증할 수 없습니다. 클라이언트까지의 추가 왕복 필요합니다. 그러나 더 심각한 것은 개봉이 불가능할 가능성에 무게를 두고 있습니다. 이는 서비스 거부 공격에 해당할 수 있습니다. 게다가, 그것은 일관되고 분산된 방식으로 오프닝이 유효한지 여부를 결정하는 것은 어렵습니다. 왜냐하면 모든 참가자는 오프닝이 도착했는지 여부에 동의해야 하기 때문입니다. 시간. • 지연된 복구가 포함된 커밋-공개 프로토콜 [145]: 커밋-공개 접근 방식은 클라이언트가 추측에 따라 트랜잭션을 커밋하고 후속 트랜잭션으로 인해 수익성이 있는 경우에만 이를 공개할 수 있다는 것입니다. 에이 커밋-공개 접근 방식의 최근 변형은 이에 대한 탄력성을 향상시킵니다. 일종의 잘못된 행동. 특히 TEX 프로토콜 [145]은 이 문제를 해결합니다. 암호화된 트랜잭션에 암호 해독 키가 포함되는 영리한 접근 방식을 사용합니다. 검증 가능한 지연 함수(VDF)를 계산하여 얻을 수 있습니다[53, 221]. 클라이언트인 경우 적시에 그녀의 거래를 해독하지 못하면 시스템의 다른 사람들이 해독합니다. 그녀를 대신하여 적당히 어려운 암호화 퍼즐을 해결합니다.• 임계값 암호화 [71, 190]: 이 방법은 DON이 수행할 수 있는 기능을 활용합니다. 임계값 암호화 작업. FSS가 공개 암호화를 유지한다고 가정합니다. 키 pkO와 oracle은 해당 개인 키를 서로 공유합니다. 그런 다음 클라이언트는 pkO에서 거래를 암호화하여 FSS로 보냅니다. FSS 주문 DON의 트랜잭션을 해독한 후 마지막으로 DON에 삽입합니다. MAINCHAIN은 고정된 순서로 진행됩니다. 따라서 암호화는 주문이 거래 내용을 기반으로 하는 것이 아니라 데이터 자체를 다음과 같은 경우에 사용할 수 있습니다. 필요합니다. 이 방법은 원래 Reiter와 Birman([190])에 의해 제안되었으며 나중에 Cachin 등에 의해 개선되었습니다. [71], 허가된 합의와 통합되었습니다. 프로토콜. 보다 최근의 연구에서는 임계값 암호화를 다음과 같이 사용하는 방법을 연구했습니다. 일반 메시지 [33, 97] 및 공유 데이터 [41]를 사용한 일반 계산을 위한 합의 수준 메커니즘. 커밋 공개 프로토콜과 비교하여 임계값 암호화는 단순한 서비스 거부 공격을 방지합니다(암호 해독에 드는 계산 비용을 고려할 때 주의가 필요함). DON이(가) 자체 속도로 자동으로 진행되도록 합니다. 추가 클라이언트 작업을 기다리고 있습니다. 거래는 해독된 후 즉시 검증될 수 있습니다. 또한 클라이언트는 모든 거래를 하나로 암호화합니다. DON의 키이며 통신 패턴은 다른 키와 동일하게 유지됩니다. 거래. 임계값 키를 안전하게 관리하고 노드를 변경하여 그러나 O는 추가적인 어려움을 초래할 수 있습니다. • 커밋된 비밀 공유 [97]: 거래 데이터를 암호화하는 대신 DON이 보유한 키인 경우 클라이언트는 이를 O의 노드에 대해 비밀 공유할 수도 있습니다. 하이브리드, 계산적으로 안전한 비밀 공유 방식을 사용하여 트랜잭션 먼저 임의의 키가 있는 대칭 암호를 사용하여 암호화됩니다. 해당 대칭 키만 공유되고 암호문은 DON에 제출됩니다. 클라이언트는 별도로 암호화된 메시지를 사용하여 O의 각 노드에 하나의 키 공유를 보내야 합니다. 나머지 프로토콜 단계는 임계값과 동일합니다. 단, 거래 데이터는 대칭형으로 해독됩니다. 공유에서 트랜잭션별 키를 재구성한 후 알고리즘을 사용합니다. 이 방법에는 공개 키 암호화 시스템의 설정이나 관리가 필요하지 않습니다. DON과 연결되어 있습니다. 그러나 클라이언트는 다음 노드에 대해 알고 있어야 합니다. O 그리고 그들 각각과 안전한 상황에서 통신합니다. 고객의 추가 부담. 암호화 방법은 정보로부터 완전한 보호를 제공하지만 제출된 트랜잭션에서 네트워크로 유출되는 경우 메타데이터를 숨기지 않습니다. 에 대한 예를 들어, 발신자의 IP 주소 또는 Ethereum 주소는 계속해서 사용될 수 있습니다. 전방 공격 및 기타 공격을 수행하는 적입니다. 다양한 프라이버시 강화 네트워크 계층(예: [52, 95, 107]) 또는 트랜잭션 계층에 배포된 기술, 예를 들어, [13, 65]는 이 목표를 달성하는 데 필요할 것입니다. 특정 작품의 영향 즉, 거래가 전송되는 계약에 대한 메타데이터를 (부분적으로) 숨길 수 있습니다.동일한 DON에서 많은 계약을 다중화함으로써. 암호화 은폐 거래 자체도 손상된 거래의 우선순위를 방해하지 않습니다. DON 노드가 거래 발신자와 공모하고 있습니다. 암호화 프로토콜에 의해 보장되는 안전한 인과관계는 모든 정책에 대한 질서 공정성 보장을 보완하며, 우리는 이 두 가지의 조합을 탐색할 계획입니다. 가능한 경우 방법. 상대방이 상당한 이점을 얻을 수 없는 경우 메타데이터를 관찰하면서 안전한 인과관계 보존 프로토콜을 함께 사용할 수 있습니다. 순진한 주문 방식도 마찬가지입니다. 예를 들어 oracle 노드는 트랜잭션을 작성할 수 있습니다. 중복 없이 L에게 수신 즉시 전달됩니다. 그러면 거래는 다음과 같습니다. L에 나타나는 순서에 따라 주문한 후 해독됩니다. 우리는 또한 공정한 주문을 집행하는 데 도움이 되는 방법으로 TEE 사용을 고려할 계획입니다. 에 대한 예를 들어, Tesseract [44]는 인과적 순서의 형태를 달성하는 것으로 볼 수 있지만 명시적인 형식으로 거래를 처리하는 TEE의 능력으로 강화되었습니다. 기밀을 유지합니다. 5.4 네트워크 계층 고려 사항 지금까지 FSS에 대한 설명은 주로 다음 사항을 집행하는 문제에 중점을 두었습니다. 최종 거래 순서는 네트워크에서 관찰된 순서와 일치합니다. 이후, 네트워크 계층 자체에서 발생할 수 있는 공정성 문제를 고려합니다. 기존 전자 시장의 고주파 거래자는 상당한 투자를 합니다. 우수한 네트워크 속도를 얻기 위한 리소스 [64], 암호화폐 거래소의 거래자는 유사한 행동 [90]을 나타냅니다. 네트워크 속도는 두 측면 모두에서 이점을 제공합니다. 다른 당사자의 거래를 관찰하고 경쟁 거래를 제출하는 행위. Flash Boys [155] 책에서 실제로 배포되고 대중화된 한 가지 치료법은 다음과 같습니다. IEX 거래소 [128]에서 처음 도입된 "과속 방지턱"은 나중에 다른 거래소에서도 도입되었습니다. [179]을 교환합니다(혼합된 결과 [19] 포함). 이 메커니즘은 시장 접근에 지연(IEX의 경우 350마이크로초)을 부과합니다. 속도. 경험적 증거. [128], 특정 거래 감소에 대한 효율성을 지원합니다. 일반 투자자의 비용. FSS는 단순히 비대칭을 구현하는 데 사용될 수 있습니다. 과속방지턱 - 들어오는 거래를 지연시키는 것입니다. Budish, Cramton 및 Shim [64]은 속도 이점을 활용한다고 주장합니다. 연속시장에서는 피할 수 없으며, 구조적 해결책을 주장합니다. 일괄 경매 기반 시장의 형태. 그러나 이 접근 방식은 널리 받아들여지지 않았습니다. 기존 거래 플랫폼에서. 기존 거래 시스템은 중앙 집중화되어 있으며 일반적으로 다음을 통해 거래를 받습니다. 단일 네트워크 연결. 대조적으로, 분산형 시스템에서는 다음이 가능합니다. 여러 유리한 지점에서 트랜잭션 전파를 관찰합니다. 결과적으로, P2P 네트워크에서는 네트워크 플러딩과 같은 행위를 관찰할 수 있습니다. 우리는 의도한다 개발자가 정책을 지정하는 데 도움이 되는 FSS에 대한 네트워크 계층 접근 방식을 탐색합니다. 그러한 바람직하지 않은 네트워크 행위를 금지합니다.5.5 엔터티 수준의 공정성 정책 주문 공정성과 안전한 인과성은 다음과 같은 거래에 대한 주문을 시행하는 것을 목표로 합니다. 생성되어 네트워크에 처음 제출된 시간을 존중합니다. 이러한 공정성 개념의 한계는 상대방이 공격하는 것을 방지하지 못한다는 것입니다. 거래가 많은 시스템이 넘쳐 이점을 얻는다. token 판매 [159]에서 효과적인 거래 저격을 수행하는 방법으로 야생에서 CDP(부채담보포지션) 청산으로 인한 혼잡 발생 [48]. 즉, 주문 공정성은 플레이어가 아닌 거래에 대한 공정성을 강화합니다. CanDID 시스템 [160]에 나와 있듯이 DECO와 같은 oracle 도구를 사용할 수 있습니다. 또는 노드 위원회(예: DON)와 함께 Town Crier를 통해 달성할 수 있습니다. 개인 정보를 보호하면서 다양한 형태의 Sybil 저항을 제공합니다. 사용자는 신원을 등록할 수 있습니다. 신원 자체를 공개하지 않고 고유성에 대한 증거를 제공합니다. 시빌 방지 자격 증명은 트랜잭션 주문을 강화하는 가능한 접근 방식을 제공합니다. 홍수 공격의 기회를 제한하는 방식으로 정책을 시행합니다. 예를 들어, token 판매는 등록된 사용자당 하나의 거래만 허용할 수 있습니다. 사회보장번호와 같은 국가 식별자의 고유성 증명이 필요합니다. 이러한 접근 방식이 완벽하지는 않지만 트랜잭션 플러딩 공격을 완화하는 데 유용한 정책이 될 수 있습니다.
公平测序服务
我们期望 DONs 将提供一项利用其网络、计算和存储功能的重要服务,称为公平排序服务 (FSS)。 尽管 FSS 可能被简单地视为在 DON 框架内实现的应用程序,但我们强调它是一项我们相信在各个领域都有很高需求的服务。 blockchains,我们希望 Chainlink 网络积极支持。 当在公共 blockchain 网络上执行时,当今的许多 DeFi 应用程序 揭示可以被用户利用以谋取自身利益的信息,类似于 现有的内幕泄密和操纵机会普遍存在 市场 [64, 155]。相反,FSS 为公平的 DeFi 生态系统铺平了道路。 FSS 帮助开发人员构建免受市场操纵的DeFi合约 因信息泄露而造成的。鉴于我们在下面强调的问题,FSS 是 对于第 2 层服务特别有吸引力,并且适合此类服务的框架 我们将在第 6 节中讨论。 挑战: 在现有的无需许可的系统中,交易是完全有序的 由矿工自行决定。在许可网络中,validator 节点可能会施加 相同的力量。这是一种在很大程度上未被认识到的短暂集中化形式。 否则分散的系统。矿工可以(暂时)审查其交易 自己的利益[171]或重新排序以最大化自己的收益,这一概念称为可开采价值(MEV)[90]。 MEV 这个术语有一点欺骗性:它并不指代 只考虑矿工可以捕获的价值:一些MEV可以被普通用户捕获。 然而,由于矿工比普通用户拥有更多的权力,MEV 代表了任何实体通过对抗性重新排序可以获得的价值上限 和补充交易插入。即使矿工简单地下令交易 基于费用(gas),无需操纵,用户自己可以操纵gas价格 使他们的交易比那些不太复杂的交易更有优势。 戴安等人。 [90] 记录并量化机器人(而非矿工)采取的方式 利用气体动力学的方式损害当今 DeFi 系统的用户以及如何 MEV 甚至威胁到 blockchain 中底层共识层的稳定性。 交易订单操纵的其他例子也经常出现,例如[50, 154]。新的事务处理方法(例如 rollups)是一种非常有前途的方法 解决高吞吐量 blockchains 的扩展问题。然而,他们并没有解决 MEV的问题。相反,他们将其转移到生成 rollup 的实体。那 实体,无论是 smart contract 的操作员还是提供 (zk-)rollup 的用户 有效性证明,有权订购和插入交易。换句话说,rollups 将 MEV 替换为 REV:汇总可提取值。 MEV 影响即将提交到内存池的交易 但尚未在链上承诺。有关此类交易的信息广泛 在网络中可用。矿工、validators和普通网络参与者可以 因此,利用这些知识并创建相关交易。此外,矿工和 validators 可能会影响他们提交的交易的顺序 并利用这一点为自己谋利。 领导者对共识交易排序施加不当影响的问题 自 20 世纪 90 年代以来,协议在文献中就已为人所知 [71, 190],但还没有令人满意的 到目前为止,解决方案已在实践中实现[97]。 主要原因是所提出的解决方案(至少直到最近)无法轻易地与公众整合 blockchains,因为它们依赖于交易内容在之后仍然保密 他们的顺序已经确定。 公平测序服务 (FSS) 概述: DONs 将提供去中心化交易排序的工具,并根据依赖项指定的策略来实施它 合同创建者,理想情况下是公平的,而不是让那些希望这样做的参与者受益 操纵交易顺序。这些工具共同构成了 FSS。 FSS 包括三个组成部分。首先是交易监控。在FSS中, O 中的 oracle 节点都监视 MAINCHAIN 的内存池并(如果需要)允许 通过专门的渠道在链下提交交易。二是交易顺序。依赖合约的 O 订单交易中的节点 根据为该合同定义的策略。第三是交易记录。 交易排序后,O中的节点共同将交易发送到 主链。 FSS 的潜在好处包括: • 订单公平性:FSS 包含帮助开发人员确保交易的工具 对特定合同的输入以不会产生不公平的方式排序 对于资源丰富和/或技术精湛的用户来说是有优势的。订购政策 可以为此目的指定网络。 • 减少或消除信息泄漏:通过确保网络参与者无法利用有关即将进行的交易的知识,FSS 可以减少或消除信息泄漏。 消除基于现有信息的抢先交易等攻击 提交交易之前的网络。防止利用此类 泄漏确保依赖于原始未决的对抗性交易 在原始交易提交之前,交易无法进入账本。• 降低交易成本:消除玩家对提交速度的要求 他们的交易为smart contract,FSS可以大大降低交易处理的成本。 • 优先排序:FSS 可以自动给予关键事务特殊优先级 订购。例如,为了防止针对 oracle 的抢先交易攻击 报告,例如 [79],FSS 可以将 oracle 报告插入交易流中 追溯性地。 FSS 在 DON 中的首要目标是帮助 DeFi 创作者实现公平 金融系统,即不利于特定用户(或矿工)的系统 基于速度、内部知识或执行技术的能力优于其他人 操纵。虽然公平的明确、普遍的概念是难以捉摸的,但完美的公平在 任何合理的感觉都是无法实现的,FSS旨在为开发者提供强大的 一套工具,以便他们能够执行有助于实现 DeFi 设计目标的策略。 我们注意到,虽然 FSS 的主要目标是充当公平排序服务 DON 的目标主链,某些与 FSS 相同的公平性需求 保证也适用于在其中运行的(去中心化)协议 DON 派对。因此,FSS 可以更广泛地视为由子集提供的服务 DON 节点不仅可以对主链用户发送的交易进行公平排序 还包括其他 DON 节点之间共享的事务(即消息)。在本节中, 我们将主要关注对主链交易进行排序的目标。 章节组织:在第 5.1 节中,我们描述了推动 FSS 设计的两个高级应用程序:防止 oracle 报告的抢先交易和防止 用户交易的抢先交易。然后我们提供有关 FSS 设计的更多细节 在第 5.2 节中。第 5.3 节描述了公平排序保证和手段的示例 来实现它们。最后,第 5.4 节和第 5.5 节讨论了网络级威胁 分别针对网络洪水和女巫攻击的此类政策和解决方法 攻击。 5.1 抢先交易问题 为了解释 FSS 的目标和设计,我们描述了两种常见的抢先交易形式 攻击和现有解决方案的局限性。 抢先交易是一个类的例子 交易排序攻击:有许多相关的攻击,例如我们没有涵盖的反向运行和夹心(前端运行加反向运行)[237] 在这里,但 FSS 也可以帮助解决这个问题。 5.1.1 Oracle抢先交易 oracles 的传统角色是向 blockchain 应用程序提供链下数据 成为抢先交易攻击的天然目标。考虑使用 oracle 提供各种价格源的常见设计模式 到链上交易所:oracle 定期(例如每小时)收集价格数据 不同的资产并将它们发送到交换合约。这些价格数据交易 呈现明显的套利机会:例如,如果最新的 oracle 报告列出 某些资产的价格要高得多,对手可能会抢先发送 oracle 报告给 购买资产并在 oracle 的报告处理完毕后立即转售。 减速带和追溯定价: oracle 抢先交易问题的自然解决方案是给予 oracle 报告高于其他交易的特殊优先级。对于 例如,可以以高额费用发送 oracle 报告,以鼓励矿工处理 首先是他们。但如果套利机会很高,这并不能阻止抢先交易, 也无法阻止矿工自己套利。 因此,一些交易所采取了更重量级的“减速带”,例如在处理之前将用户交易排队等待多个区块 或在新的 oracle 报告到达时追溯调整价格。这些解决方案的缺点是它们增加了交换实现的复杂性, 增加存储需求,从而增加交易成本,并破坏用户体验,因为资产交换只有在相当长的一段时间后才会得到确认。 捎带: 在继续讨论 FSS 之前,我们先讨论搭载,这是一种非常简单且 oracle 抢先交易问题的优雅解决方案。不适用于地址 然而,在其他情况下却是抢先交易。 简而言之,不是定期向链上合约发送报告,而是 oracles 发布用户在购买或出售时附加到其交易中的签名报告 链上资产。然后交易所只需检查报告是否有效且最新 (例如,oracle 可以签署报告有效的一系列区块),并提取 从中获取相关价格。 与上述“减速带”相比,这种简单的方法具有许多优点 方法:(1)交易合约不需要保存喂价状态,这应该 导致交易成本降低; (2) 由于 oracle 报告是根据需要发布到链上的,因此 oracle 可以生成更频繁的更新(例如每分钟),从而 最大限度地减少抢先报告带来的套利机会9; (3)交易可以 立即得到验证,因为它们始终包含新鲜的价格信息。 然而,这种方法并不完美。首先,这个搭载解决方案将 交易所用户有责任获取最新的 oracle 报告并将其附加到他们的 交易。其次,虽然捎带交易最大限度地减少了套利机会,但它不能 在不影响链上合约活跃性的情况下完全防止它们。确实,如果一个 oracle 报告在某个区块号 n 之前有效,然后将交易提交到区块 n + 1 将需要新的有效报告。由于传播的固有延迟 从 oracles 向用户报告,对块 n + 1 有效的新报告将具有 9只有当资产价格的可利用差异超过无关的资产价格差异时,套利才有价值。 买卖资产所需的费用,例如矿工和交易所收取的费用。在区块 n + 1 被开采之前的某个时期(例如在区块 n −k 处)公布,从而 创建一个包含 k 个区块的序列,其中存在短暂的套利机会。我们 现在描述 FSS 如何克服这些限制。 通过 FSS 对 oracle 报告进行优先级排序: FSS 可以解决 oracle 抢先交易问题 通过构建上述捎带解决方案来解决问题,但推动额外的 使用 oracle 向去中心化预言机网络报告增强交易的工作。 在较高层面上,oracle 节点收集用于链上交换的交易, 就实时价格反馈达成一致,并将价格反馈连同收集的交易一起发布到主链合约中。从概念上讲,人们可以将这种方法视为一种 “数据增强事务批处理”,其中 oracle 确保最新的 喂价总是添加到交易中。 FSS 解决方案可以对交易所用户透明地实施,并且 正如我们在第 5.2 节中更详细描述的那样,对合约逻辑的更改最小。确保 新的 oracle 报告始终优先于用户交易只是一个例子 FSS 可以采用和执行的订购政策。社会保障基金秩序保障政策 第 5.3 节更概括地描述了公平性。 5.1.2 抢先交易的用户交易 我们现在转向通用应用程序中的抢先交易,其中上述防御方法 不起作用。可以通过以下场景概括地捕获该问题: 对手看到一些用户交易 tx1 发送到 P2P 网络并注入 它自己的对抗性交易 tx2,以便 tx2 在 tx1 之前被处理(例如,通过支付 更高的交易费用)。例如,这种抢先交易在 利用 DeFi 系统 [90] 中的套利机会的机器人,并影响了 各种去中心化应用程序[101]。建立公平的交易秩序 在 blockchain 上处理可以解决此问题。 更根本的是,有时甚至没有必要查看 tx1 的详细信息,并且 仅仅知道 tx1 的存在就可能让对手通过其抢先交易 tx1 拥有 tx2 并欺骗创建 tx1 的无辜用户。例如,用户可能 众所周知会定期交易特定资产。防止此类攻击需要 还可以避免元数据泄漏的缓解措施[62]。这个问题的一些解决方案 存在,但它们会带来延迟和可用性问题。 通过 FSS 从网络订单到最终订单: 抢先交易的机会 出现的原因是现有系统没有机制来确保执行的顺序 链上出现的交易尊重事件顺序和信息流 网络之外。这代表了由于在 blockchain 上实施应用程序(例如交易平台)的缺陷而产生的问题。理想情况下,人们会 确保事务按照原来的顺序在 blockchain 上提交 创建并发送到 blockchain 的 P2P 网络。但自从 blockchain 网络

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

6.1 TEF 개요 TEF는 고성능 하이브리드의 구축 및 실행을 위한 설계 패턴입니다. smart contract SC. 하이브리드 smart contracts의 기본 아이디어에 따라 TEF에는 다음이 포함됩니다. SC를 두 부분으로 분해: (1) TEF 맥락에서 앵커라고 부르는 것 MAINCHAIN에서 SCa를 계약하고 (2) DON 로직은 TEF 실행 파일을 호출하도록 선택합니다. 여기서는 SCa의 조합으로 구현된 논리적 계약을 나타내기 위해 SC를 사용합니다. 그리고 실행하십시오. (위에서 언급했듯이 우리는 SC를 자동으로 이러한 구성 요소로 변환합니다.) TEF 실행 파일 exect는 SC에서 사용자의 트랜잭션을 처리하는 엔진입니다. 그것 DON에서 실행되므로 성능이 뛰어난 방식으로 실행될 수 있습니다. 여기에는 여러 가지 기능이 있습니다. • 트랜잭션 수집: Exect는 사용자의 트랜잭션을 수신하거나 가져옵니다. 그렇게 할 수 있다 직접, 즉 DON에 대한 거래 제출을 통해 또는 MAINCHAIN을 통해 MS를 이용한 멤풀. • 빠른 거래 실행: Exect는 자산과 관련된 거래를 처리합니다. SC. 즉, DON에서 로컬로 수행됩니다. • 빠르고 저렴한 oracle / 어댑터 액세스: exect는 oracle 보고서에 대한 기본 액세스 권한을 가집니다. 예를 들어 더 빠르고 저렴하며 더 정확한 자산으로 이어지는 기타 어댑터 데이터 MAINCHAIN 실행보다 가격이 책정됩니다. 게다가 오프체인 oracle 액세스가 감소합니다. oracle의 운영 비용, 즉 시스템 사용 비용 값비싼 온체인 스토리지. • 동기화: Exect는 주기적으로 DON의 업데이트를 MAINCHAIN에 푸시하여 SCa를 업데이트합니다. 앵커 계약은 SC의 MAINCHAIN 프런트 엔드입니다. SC의 신뢰도가 높은 구성 요소로서 다음과 같은 여러 목적을 수행합니다. • 자산 보관: 사용자의 자금은 SCa에 예치, 보관 및 인출됩니다. • 동기화 확인: SCa는 실행 시 상태 업데이트의 정확성을 확인할 수 있습니다. 동기화(예: rollups에 연결된 SNARK). • 가드레일: SCa에는 손상이나 고장으로부터 보호하기 위한 조항이 포함될 수 있습니다. 예를 들어. (자세한 내용은 섹션 7을 참조하세요.) TEF에서 사용자의 자금은 MAINCHAIN에 관리됩니다. 즉, DON 자체는 비관리적입니다. 선택한 동기화 메커니즘(아래 참조)에 따라 사용자는 다음이 필요할 수 있습니다. 정확한 oracle 보고서와 MAINCHAIN과의 적시 동기화를 위해서만 DON을 신뢰하십시오. 결과적인 신뢰 모델은 주문서 기반 DEX(예: [2])의 모델과 매우 유사합니다. 오늘날 여기에는 일반적으로 주문 매칭을 위한 오프체인 구성요소와 청산 및 결제를 위한 온체인 구성요소가 포함됩니다.지불 시스템의 용어를 사용하려면 exec를 구성 요소로 생각할 수 있습니다. SC는 청산을 담당하고 SCa는 결제를 담당합니다. 회로도는 그림 13을 참조하세요. TEF의 묘사. 그림 13: TEF 회로도. 이 예에서 트랜잭션은 mempool을 통과합니다. MS를 통해 MAINCHAIN을 DON로 보냅니다. TEF 혜택: TEF는 세 가지 주요 이점을 제공합니다. • 고성능: SC는 MAINCHAIN보다 DON의 훨씬 높은 처리량을 상속합니다. 거래 및 oracle 보고서 모두에 대해. 또한 Exect는 MAINCHAIN 단독 구현보다 트랜잭션을 더 빠르게 처리하고 oracle 보고서에 적시에 응답할 수 있습니다. • 낮은 수수료: 동기화 프로세스는 트랜잭션 처리보다 시간에 덜 민감하며 트랜잭션은 DON에서 MAINCHAIN으로 일괄적으로 전송될 수 있습니다. 결과적으로, 이 접근 방식을 사용하면 트랜잭션당 온체인 수수료(예: 가스 비용)가 MAINCHAIN에서만 실행되는 계약보다 훨씬 낮습니다. • 기밀성: DON의 기밀성 메커니즘을 가져올 수 있습니다. SC에 곰.
TEF 제한사항: TEF의 한 가지 제한 사항은 순간적인 기능을 지원하지 않는다는 것입니다. MAINCHAIN에서만 발생하는 출금: 출금 요청을 보낼 때 SCa에 대해 사용자는 exec가 포함된 상태 업데이트를 수행할 때까지 기다려야 할 수도 있습니다. 인출 거래가 승인되기 전에. 우리는 부분적인 해결 방법을 논의합니다. 그러나 섹션 6.2. TEF의 또 다른 제한 사항은 DeFi의 원자 구성을 지원하지 않는다는 것입니다. MAINCHAIN 계약, 특히 여러 DeFi을 통해 자산을 라우팅하는 기능 단일 거래로 계약을 체결합니다. 그러나 TEF는 이러한 원자성을 지원할 수 있습니다. DeFi 계약은 동일한 DON에서 실행됩니다. 또한 이 문제를 해결하는 몇 가지 방법에 대해서도 논의합니다. 6.2절의 문제. 6.2 거래 라우팅 SC에 대한 거래는 사용자가 DON로 직접 보내거나 다음을 통해 라우팅될 수 있습니다. MAINCHAIN의 멤풀(FSS를 통해). 4가지의 서로 다른 거래 유형이 있으며, 각각 그 중 다른 처리가 필요합니다. 계약 내 거래: TEF는 가스 역학의 복잡성을 회피하기 때문에 SC에 트랜잭션 처리에 있어 다른 것보다 더 많은 유연성을 제공합니다. 레이어-1 계약에서 사용 가능합니다. 예를 들어, Ethereum의 mempool 트랜잭션이 있는 동안 가스 가격이 더 높은 새로운 거래로 덮어쓸 수 있으며, SC는 SC 내 자산에서 운영되는 거래가 눈에 보이는 즉시 권위 있는 거래로 처리할 수 있습니다. 멤풀에서. 결과적으로 SC는 거래가 확인될 때까지 기다릴 필요가 없습니다. 블록 내에서 지연 시간이 크게 단축됩니다. 프록시: 사용자는 지갑 계약을 통해 SC에 거래 τ를 보내거나 MAINCHAIN의 다른 계약. DON에서 실행을 시뮬레이션하는 것이 가능합니다. MAINCHAIN에서 τ를 수행하여 SC에 대한 후속 트랜잭션이 발생하는지 여부를 결정합니다. 그렇다면 τ는 SC에 대한 다른 트랜잭션과 순서를 지정할 수 있습니다. 몇 가지가 있습니다 DON이 그러한 거래를 식별하는 방법에 대한 가능성: (1) DON은 시뮬레이션할 수 있습니다 mempool의 모든 트랜잭션(비용이 많이 드는 접근 방식) (2) 특정 계약 또는 지갑과 같은 계약 유형은 DON에 의해 모니터링을 위해 나열될 수 있습니다. 또는 (3) 사용자는 다음을 수행할 수 있습니다. DON 검사를 위해 거래에 주석을 답니다. 단일 거래가 두 거래와 상호 작용할 때 문제는 더욱 복잡해집니다. SC1 및 SC2 계약은 둘 다 Fair Sequencing Services를 사용하고 호환되지 않는 주문 정책을 가지고 있습니다. 예를 들어 DON은 가장 최근에 τ를 시퀀스할 수 있습니다. 그것은 둘 다와 호환됩니다. 예금: MAINCHAIN 자산을 SC에 예치하는 거래는 SC가 이를 유효한 것으로 처리하기 전에 블록에서 확인되어야 합니다. 채굴이 감지되면 자산(예: Ether)을 SCa로 보내는 거래는 즉시 확인할 수 있습니다.보증금. 예를 들어, DON에 대해 현재 oracle 보고된 가격을 적용할 수 있습니다. 자산. 인출: 위에서 언급했듯이 TEF의 한계는 인출이 항상 즉시 실행될 수 없다는 것입니다. rollup 유형 실행 모델에서는 철회가 요청은 안전하게 처리되기 위해 다른 트랜잭션과 순서대로 처리되어야 합니다. 즉, 롤업되어야 합니다. 처리됨. 그러나 이 제한 사항에 대한 몇 가지 부분적인 해결 방법이 있습니다. DON이 인출 트랜잭션까지 rollup 유효성 증명을 신속하게 계산할 수 있다면 mempool exect에서 사용자의 트랜잭션 τ를 관찰하면 일종의 유익한 선행 실행인 더 높은 가스 가격으로 τ에 대한 상태 업데이트 트랜잭션 τ'를 보낼 수 있습니다. τ'가 멤풀에 도달하기 전에 τ가 채굴되지 않으면 τ'가 τ보다 먼저 발생하고 τ가 채굴됩니다. 승인된 철회에 영향을 미칩니다. 상태 업데이트를 계산하기 위해 DON을 사용하는 TEF 변형에서(참조: 아래의 임계값 서명 변형), DON는 대안으로 오프체인을 결정할 수 있습니다. 실행 시 SC의 상태를 고려하여 τ를 승인해야 하는지 여부. DON 그러면 전체 금액에 영향을 주지 않고 인출 τ를 승인하는 거래 τ'를 보낼 수 있습니다. 상태 업데이트. 이 접근 방식이 불가능하거나 성공하지 못하는 경우 DON에서 시작된 거래 τ'는 τ에 대한 응답으로 사용자에게 자금을 보낼 수 있으므로 사용자는 그럴 필요가 없습니다. 추가 거래를 시작합니다. 6.3 동기화 중 TEF 실행 파일 exect는 주기적으로 DON에서 MAINCHAIN으로 업데이트를 푸시합니다. 동기화라고 하는 프로세스에서 SCa 상태를 업데이트합니다. 동기화를 생각해 볼 수 있습니다. 레이어 2 트랜잭션을 레이어 1로 전파하므로 TEF는 다음 중 하나를 활용할 수 있습니다. rollups [5, 12, 16, 69]를 포함하여 이 목적을 위한 기존 기술의 낙관적 rollups [10, 11, 141], Validium [201] 또는 기본 임계값 서명(예: 임계값 BLS, Schnorr, 또는 ECDSA [24, 54, 116, 202]. 원칙적으로 신뢰할 수 있는 실행 환경 또한 상태 변경의 정확성을 증명할 수 있어 훨씬 더 나은 성능을 제공합니다. rollups를 대체하지만 하드웨어 종속 신뢰 모델을 사용합니다. (예: [80] 참조) 아래에서는 세 가지 주요 속성과 관련하여 이러한 동기화 옵션을 비교합니다. TEF: • 데이터 가용성: SC의 상태는 어디에 저장됩니까? 최소한 세 가지 옵션이 있습니다. TEF에서 사용 가능: MAINCHAIN, DON 또는 일부 타사 저장소에서 사용 가능 IPFS와 같은 공급자. 그들은 다양한 보안 보장, 가용성을 달성합니다. 수준 및 성능 프로필. 간략하게, MAINCHAIN에 상태를 저장하면 온체인 감사 가능성을 제공하고 상태 가용성에 대한 모든 당사자에 대한 의존성을 제거합니다. 반면에 상태를 오프체인에 저장하면 저장 비용을 줄이고 성능을 향상할 수 있습니다. 처리량은 신뢰할 수 있는 스토리지 제공업체(DON 또는 제3자)의 비용으로 데이터 가용성. 물론 이러한 옵션을 결합한 유연한 모델도 있습니다. 가능합니다. 표 1에는 필요한 데이터 가용성 형식이 나와 있습니다.• 정확성 보장: SCa는 업데이트의 정확성을 어떻게 확인합니까? exect에 의해 밀렸나요? 이는 Exect 및 SCa의 계산 부하에 영향을 미치며 동기화 대기 시간(아래 참조) • 지연 시간: 동기화 지연 시간에는 세 가지 요인이 있습니다. (1) 소요 시간 동기화 트랜잭션 τsync를 생성하기 위해; (2) τsync에 걸리는 시간 MAINCHAIN에서 확인됩니다. (3) τsync가 효과를 발휘하는 데 걸리는 시간 SCa. TEF에서 지연 시간은 인출에 특히 중요합니다(그러나 인출의 경우에는 덜 중요함). 계약 내 거래) 인출에는 필연적으로 (적어도 부분) 상태 동기화. 동기화 중 옵션 데이터 가용성 정확성 보증 대기 시간 롤업 [5, 12, 16, 69] 온체인 유효성 증명 생성하는데 걸리는 시간 유효성 증명(예: 현재 시스템의 분) 유효성 검사 [201] 오프체인 유효성 증명 위와 동일 낙관적 rollup [10, 11, 141] 온체인 사기 증명 도전의 길이 기간 (예: 일 또는 주) 임계값 서명 [24, 54, 116, 202] 유연한 DON의 임계값 서명 순간적인 신뢰할 수 있는 실행 환경 [80] 유연한 하드웨어 기반 증명 순간적인 표 1: TEF 및 해당 속성의 다양한 동기화 옵션. 표 1에는 TEF의 5가지 주요 동기화 옵션에 대한 이러한 속성이 요약되어 있습니다. (참고 이러한 기술을 독립형 레이어 2 확장과 비교하려는 의도는 없습니다. 솔루션. 이를 위해 독자들에게 [121]을 참조하라고 합니다.) 이제 각 동기화 옵션에 대해 설명합니다. 롤업: rollup [69]은 상태 전환이 다음에 의해 영향을 받는 프로토콜입니다. 일괄 거래는 오프체인으로 계산됩니다. 그런 다음 상태 변경이 전파됩니다. MAINCHAIN에. rollups를 구현하기 위해 앵커 smart contract SCa는 실제 상태의 압축 표현 Rstate(예: Merkle 루트)를 저장합니다. 동기화하려면 Exec가 τsync =를 보냅니다. (티, R' 상태)를 SCa로 변환합니다. 여기서 T는 마지막 이후 처리한 트랜잭션 집합입니다.동기화 및 R' 상태는 다음을 적용하여 계산된 새 상태의 간략한 표현입니다. T의 이전 상태 Rstate로의 트랜잭션. SCa가 τsync에서 상태 업데이트를 확인하는 방법에는 두 가지 인기 있는 변형이 있습니다. 첫 번째 (zk-)rollups는 정확성에 대한 간결한 주장을 첨부합니다. Rstate →R′ 전이에 대한 유효성 증명 상태. 이 변형을 구현하려면 다음을 실행하세요. τsync와 함께 유효성 증명(예: zk-SNARK 증명)을 계산하고 제출합니다. R′을 증명하는 것 state는 SCa의 현재 상태에 T를 적용한 결과입니다. 앵커 계약은 증명을 확인한 후에만 상태 업데이트를 수락합니다. 낙관적 rollup에는 정확성 인수가 포함되지 않지만 staking 및 상태 전환의 분산 검증을 용이하게 하는 챌린지 절차. 이를 위해 rollup 변형, SCa는 그것이 정확하다고 가정하여 잠정적으로 τsync를 받아들입니다(따라서 낙관적입니다). 그러나 τsync는 챌린지 기간 이후까지 적용되지 않습니다. MAINCHAIN을 모니터링하면 잘못된 상태 업데이트를 식별하고 SCa에게 이를 수행하도록 알릴 수 있습니다. 필요한 조치(예: 상태를 롤백하고 실행 시 페널티를 적용하는 등) rollup 두 변종 모두 트랜잭션이 게시됨에 따라 온체인 데이터 가용성을 달성합니다. 전체 상태를 구성할 수 있는 온체인입니다. zk-rollups의 대기 시간은 다음과 같습니다. 일반적으로 타당성 증명을 생성하는 데 필요한 시간이 지배적입니다. 기존 시스템에서는 몇 분 정도 소요되며 [16] 시간이 지남에 따라 개선될 가능성이 높습니다. 반면 낙관적인 rollup은 지연 시간이 더 깁니다(예: 며칠 또는 몇 주). 사기 증명이 작동하려면 챌린지 기간이 충분히 길어야 하기 때문입니다. 는 느린 확인의 의미는 미묘하고 때로는 계획에 따라 구체적입니다. 철저한 분석은 범위를 벗어납니다. 예를 들어, 특정 계획에서는 지불을 고려합니다. 상태 업데이트가 확인되기 전에 트랜잭션을 "무신뢰 최종"으로 [109] 일반 사용자는 MAINCHAIN보다 훨씬 빠르게 rollup을 확인할 수 있습니다. 유효성: Validium은 데이터를 오프체인에서만 사용할 수 있도록 하는 (zk-)rollup의 한 형태입니다. MAINCHAIN의 모든 데이터를 유지하지 않습니다. 구체적으로 exec는 새 항목만 보냅니다. 상태 및 증거는 있지만 SCa에 대한 거래는 아닙니다. Validium 스타일 동기화를 사용하면 다음과 같습니다. 이를 실행하는 DON은 완전한 상태를 저장하는 유일한 당사자입니다. 트랜잭션을 실행하는 것입니다. zk-rollups와 마찬가지로 동기화 대기 시간은 유효성에 의해 좌우됩니다. 증명 생성 시간. 그러나 zk-rollups와 달리 Validium 스타일 동기화는 스토리지 비용이 증가하고 처리량이 증가합니다. DON에 의한 임계값 서명: DON 노드의 임계값이 정직하다고 가정하면, 간단하고 빠른 동기화 옵션은 DON 노드가 새로운 상태에 집합적으로 서명하도록 하는 것입니다. 이 접근 방식은 온체인 및 오프체인 데이터 가용성을 모두 지원할 수 있습니다. 만약에 참고하세요 사용자는 oracle 업데이트에 대해 DON을 신뢰하므로 수락하기 위해 더 이상 신뢰할 필요가 없습니다. 상태 업데이트는 이미 임계값 신뢰 모델에 있기 때문입니다. 또 다른 이점 임계값 서명은 대기 시간이 짧습니다. 새로운 거래 서명 형식 지원 EIP-2938 [70]에서 제안되었으며 계정 추상화로 알려진 임계값이 설정됩니다. 임계값이 필요하지 않으므로 서명을 구현하기가 훨씬 더 쉽습니다. 훨씬 더 복잡한 프로토콜을 포함하는 ECDSA(예: [116, 117, 118])임계값 Schnorr [202] 또는 BLS [55] 서명과 같은 대안보다. 신뢰할 수 있는 실행 환경(TEE): TEE는 강력한 보안 보호를 제공하는 것을 목표로 하는 격리된 실행 환경(일반적으로 하드웨어에 의해 실현됨)입니다. 내부에서 실행되는 프로그램의 경우. 일부 TEE(예: Intel SGX [84])는 증거를 생성할 수 있습니다. 증명이라고 알려진, 출력이 특정 프로그램에 의해 올바르게 계산되었음을 나타냅니다. 특정 입력12. TEF 동기화의 TEE 기반 변형은 다음을 통해 구현할 수 있습니다. 기술을 사용하여 (zk-)rollups 또는 Validium의 증명을 TEE 증명으로 대체합니다. [80]에서. rollups 및 Validium에서 사용되는 영지식 증명과 비교할 때 TEE는 더 성능이 좋습니다. 임계값 서명과 비교하여 TEE는 다음의 복잡성을 제거합니다. 원칙적으로 단 하나의 TEE만 필요하므로 임계값 ECDSA 서명을 생성합니다. 참여. 그러나 TEE를 사용하면 추가 하드웨어 종속 신뢰 가정이 도입됩니다. TEE를 임계값 서명과 결합하여 복원력을 생성할 수도 있습니다. 이 보호 조치는 TEE 인스턴스의 일부가 손상되는 것을 방지합니다. 임계값 ECDSA 서명 생성의 복잡성이 다시 도입되었습니다. 추가적인 유연성: 이러한 동기화 옵션은 다음과 같은 방법으로 더 많은 유연성을 제공하도록 구체화될 수 있습니다. • 유연한 트리거링: TEF 애플리케이션은 다음 조건을 결정할 수 있습니다. 동기화가 트리거됩니다. 예를 들어 동기화는 배치 기반일 수 있습니다. N개의 트랜잭션마다, 시간 기반(예: 10개 블록마다) 또는 이벤트 기반(예: 발생) 목표 자산 가격이 크게 움직일 때마다. • 부분 동기화: 가능하며 어떤 경우에는 바람직합니다(예: rollups, 부분 동기화는 대기 시간을 줄일 수 있음) 작은 것의 빠른 동기화를 제공하기 위해 상태 양, 아마도 주기적으로만 전체 동기화를 수행합니다. 예를 들어, exect는 SCa에서 사용자 잔액을 업데이트하여 출금 요청을 승인할 수 있습니다. MAINCHAIN 상태를 별도로 업데이트하지 않고. 6.4 재구성 네트워크 불안정 또는 51% 공격으로 인한 블록체인 재구성 메인체인의 무결성에 위협이 될 수 있습니다. 실제로, 적들은 다음과 같은 방법을 사용했습니다. 이중 지출 공격을 가하기 위해 [34]. 주요 체인에 대한 이러한 공격은 장착이 까다로우나 일부 체인에서는 여전히 실행 가능합니다([88]). MAINCHAIN과 독립적으로 작동하기 때문에 DON는 흥미로운 이점을 제공합니다. 다음과 관련된 재구성에 대한 일부 보호를 관찰하고 제공할 가능성 공격. 예를 들어, DON는 MAINCHAIN의 의존 계약 SC에 일부 임계 길이 τ의 경쟁 포크의 존재를 보고할 수 있습니다. DON은 추가적으로 가능합니다. 12보충 세부 정보는 부록 B.2.1에서 확인할 수 있습니다. 이해하는 데에는 필요하지 않습니다.
PoW 또는 PoS 설정에서 그러한 포크가 존재한다는 증거를 제공합니다. 는 계약 SC는 일정 기간 동안 추가 거래 실행을 중단하는 등 적절한 방어 조치를 구현할 수 있습니다(예: 거래가 이중 지출을 블랙리스트에 올리도록 허용). 자산). 51% 공격을 가하는 상대는 검열을 시도할 수 있지만 DON의 보고에 따라 SC의 대책은 정기적인 보고를 요구하는 것입니다. DON 트랜잭션(예: 하트비트)을 처리하거나 새로운 보고서를 요구하기 위해 고가치 거래를 검증합니다. 이러한 분기 경고는 원칙적으로 DON가 제공할 수 있는 일반 서비스이지만 다양한 목적을 위해 우리의 계획은 이를 TEF와 통합하는 것입니다.
DON 事务执行框架
(DON-TEF) DONs 将为 oracle 内的第 2 层解决方案提供 oracle 和去中心化资源支持 我们称之为去中心化 Oracle 网络交易执行框架 (DONTEF) 或简称 TEF。 如今,DeFi 合约的更新频率受到主链延迟的限制, 例如,Ethereum [104] 中 10-15 秒的平均区块间隔,以及 在链上推送大量数据和有限的计算/交易吞吐量—— 激励扩展方法,例如分片 [148、158、232] 和第 2 层执行 [5、 12、121、141、169、186、187]。即使 blockchains 的交易时间要快得多, 例如,[120],提出了涉及链外计算[168]的扩容策略。 TEF 旨在充当任何此类第 1 层/主链系统的第 2 层资源。 使用 TEF,DONs 可以支持主链合约中更快的更新,同时 保留主链提供的关键信任保证。 TEF可以支持 许多第 2 层执行技术和范例中的任何一种,包括 rollups,11 乐观的rollups、Validium等,以及阈值信任模型,其中DON 节点执行交易。 TEF 是 FSS 的补充,旨在为其提供支持。换句话说,任何 在 TEF 中运行的应用程序可以使用 FSS。 11通常称为“zk-rollups”,这是用词不当,因为它们不一定需要零知识证明。

6.1 TEF 概述 TEF 是一种用于构建和执行高性能混合体的设计模式 smart contract SC。 根据混合 smart contract 背后的主要思想,TEF 涉及 将 SC 分解为两部分: (1) 我们在 TEF 上下文中称之为锚点 MAINCHAIN 上的合约 SCa 和 (2) DON 逻辑要求我们调用 TEF 可执行文件。 我们这里用SC来表示SCa组合实现的逻辑合约 并执行。 (如上所述,我们期望开发编译器工具来分解 SC 自动收缩到这些组件中。) TEF可执行exec是SC中处理用户交易的引擎。它 可以以高性能的方式执行,因为它在 DON 上运行。它有几个功能: • 交易摄取:exec 接收或获取用户的交易。它可以这样做 直接,即通过 DON 上的交易提交,或通过主链 使用 MS 的内存池。 • 快速交易执行:exec 处理涉及以下资产的交易 SC。它在本地执行此操作,即在 DON 上。 • 快速且低成本的oracle /适配器访问:exec 具有对 oracle 报告的本机访问权限 和其他适配器数据,例如更快、更便宜和更准确的资产 定价高于主链执行。此外,链下 oracle 访问减少了 oracle 的运营成本,即使用该系统的成本,通过避免 昂贵的链上存储。 • 同步:exec 定期将更新从DON 推送到主链,更新SCa。 锚定合约是SC的主链前端。作为 SC 的更高信任组件,它有几个用途: • 资产托管:用户的资金存入、持有和提取于SCa。 • 同步验证:SCa 可以在执行时验证状态更新的正确性 同步,例如附加到 rollups 的 SNARK。 • 护栏:SCa 可能包括防止腐败或故障的规定 期待中。 (更多详情请参见第 7 节。) 在 TEF 中,用户的资金托管在主链上,这意味着 DON 本身是非托管的。根据同步机制的选择(见下文),用户可能需要 仅信任 DON 以获得准确的 oracle 报告并及时与主链同步。 由此产生的信任模型与基于订单簿的 DEX 非常相似,例如 [2], 如今,它通常包括用于订单匹配的链下组件和用于清算和结算的链上组件。要使用支付系统的词汇,人们可能会认为 exct 是一个组件 SC负责清算,SCa负责结算。原理图见图 13 TEF 的描述。 图 13:TEF 原理图。在此示例中,交易通过内存池 通过 MS 到 DON 的主链。 TEF的好处: TEF 具有三个主要优势: • 高性能:SC 继承了DON 比 MAINCHAIN 高得多的吞吐量 对于交易和 oracle 报告。此外,与单独在 MAINCHAIN 上实现相比,exec 可以更快地处理交易并更及时地响应 oracle 报告。 • 费用更低:同步过程对时间的敏感性低于交易处理,并且交易可以批量从DON 发送到MAINCHAIN。 因此,这种方法的每笔交易链上费用(例如,gas 成本)比仅在主链上运行的合约低得多。 • 保密性:DON 的保密机制可用于 承担SC。
TEF 限制: TEF 的一个限制是它不支持瞬时 提款,因为它们仅发生在主链上:发送提款请求后 对于SCa,用户可能需要等待execute来执行状态更新,其中包括 在获得批准之前提款交易。我们讨论一些部分补救措施, 然而,在第 6.2 节中。 TEF 的另一个限制是它不支持 DeFi 的原子组合 主链上的合约,特别是通过多个 DeFi 路由资产的能力 单一交易中的合同。然而,TEF 可以支持这种原子性 DeFi 合约在同一个 DON 上运行。我们还讨论了一些解决这个问题的方法 6.2 节中的问题。 6.2 交易路由 SC 的交易可以由用户直接发送到 DON 或可以通过 MAINCHAIN 中的内存池(通过 FSS)。有四种不同的交易类型,每种类型 其中需要不同的处理: 合约内交易: 因为它回避了气体动力学的复杂性,TEF 为 SC 在处理交易方面提供了比普通 SC 更大的灵活性。 在第 1 层合约中可用。例如,当 Ethereum 中的内存池交易时 可以被更高 Gas 价格的新交易覆盖,SC 可以在 SC 内的资产上操作的交易一旦变得可见就视为权威交易 在内存池中。因此,SC不需要等待交易被确认 在一个块内,从而大大减少延迟。 代理: 用户可能希望通过钱包合约向 SC 发送交易 τ 或 主链上的其他合约。 DON 可以模拟执行 MAINCHAIN 上的 τ 来确定是否会导致 SC 的后续交易。 如果是这样,τ 可以与 SC 的其他交易一起排序。有几个 DON 如何识别此类交易的可能性: (1) DON 可以模拟 内存池中的所有交易(一种昂贵的方法); (2) 某些合同或 可以列出合约类型,例如钱包,以供 DON 监控;或 (3) 用户可以 注释交易以供 DON 检查。 当单个事务与两个事务交互时,事情变得更加复杂 合约 SC1 和 SC2,两者都使用公平排序服务并且具有不兼容的排序策略。例如,DON 可能会在最晚的时间对 τ 进行排序 两者兼容。 存款: 将主链资产存入 SC 的交易需要在区块中得到确认,然后 SC 才能将其视为有效。当它检测到采矿 将资产(例如以太币)发送到SCa的交易,exec可以立即确认订金。例如,它可以将 DON 的当前 oracle 报告价格应用于 资产。 提款: 如上所述,TEF 的局限性在于提款不能总是立即执行。在 rollup 类型的执行模型中,提款 请求必须与其他事务一起排序,即汇总,以便安全地进行 已处理。然而,有一些针对此限制的部分补救措施。 如果 DON 可以快速计算出 rollup 的有效性证明直到提款交易,那么观察内存池中的用户交易 τ 可以以更高的 Gas 价格发送 τ 的状态更新交易 τ ′,这是一种有益的抢先交易。 假设 τ 在 τ ′ 到达内存池之前未被开采,则 τ ′ 将先于 τ,并且 τ 将影响批准的提款。 在 TEF 变体中,依赖 DON 来计算状态更新(请参阅 下面的阈值签名变体),DON 也可以确定链下 考虑到 SC 执行时的状态,是否应该批准 τ。 DON 然后可以发送一个交易 τ ′ 来批准提款 τ,而不影响完整的交易 状态更新。 如果此方法不可行,或者在不成功的情况下,则由 DON 启动 交易 τ ′ 可以响应 τ 向用户发送资金,这样用户就不需要 发起额外交易。 6.3 正在同步 TEF 可执行文件 exec 定期将更新从 DON 推送到 MAINCHAIN, 在我们称为同步的过程中更新 SCa 的状态。可以考虑同步 作为第 2 层交易到第 1 层的传播,因此 TEF 可以利用任意数字 用于此目的的现有技术,包括 rollups [5, 12, 16, 69],乐观 rollups [10, 11, 141],Validium [201],或基本阈值签名,例如阈值 BLS, Schnorr,或 ECDSA [24,54,116,202]。原则上,可信执行环境 还可以证明状态更改的正确性,提供更高性能的 rollups 的替代方案,但具有依赖于硬件的信任模型。 (例如,参见 [80]。) 下面我们比较这些同步选项的三个关键属性 技术教育框架: • 数据可用性:SC 的状态存储在哪里?至少三个选项是 在 TEF 中可用:在主链上、在 DON 上或通过某些第三方存储 IPFS 等提供商。他们实现了不同的安全保证、可用性 级别和性能概况。简而言之,在主链上存储状态可以实现 链上可审计性并消除对任何一方的状态可用性的依赖; 另一方面,链下存储状态可以降低存储成本并提高 吞吐量,以信任存储提供商(DON 或第三方)为代价 数据可用性。当然,结合这些选项的灵活模型也可以 可能的。我们在表 1 中指出了所需的数据可用性形式。• 正确性保证:SCa 如何确定更新的正确性 由exec 推动?这会影响 exect 和 SCa 的计算负载以及 同步延迟(见下文)。 • 延迟:同步延迟有三个影响因素: (1) 所花费的时间 用于生成同步交易τsync; (2) τsync 所花费的时间 待主链确认; (3) τsync 生效的时间 SC。在 TEF 中,延迟对于提款尤为重要(但对于提款来说则不那么重要) 合约内交易)因为提款必然需要(至少 部分)状态同步。 正在同步 选项 数据 可用性 正确性 保证 延迟 汇总 [5, 12, 16, 69] 链上 有效性证明 生成所需时间 有效性证明(例如当前系统中的分钟数) 维迪乌姆 [201] 链下 有效性证明 与上面相同 乐观rollup [10, 11, 141] 链上 欺诈证明 挑战时长 期间 (例如, 天 或 周) 门槛签名 [24, 54、116、202] 灵活 DON 的阈值签名 瞬时 可信执行环境 [80] 灵活 基于硬件 证明 瞬时 表 1:TEF 中的各种同步选项及其属性。 表 1 总结了 TEF 中五个主要同步选项的这些属性。 (注 我们不打算将这些技术与独立的第 2 层扩展进行比较 解决方案。为此,我们建议读者参考 [121]。) 现在我们讨论每个同步选项。 汇总: rollup [69] 是一个协议,其中状态转换由 一批交易是在链外计算的。 然后传播状态变化 到主链上。 为了实现 rollups,锚点 smart contract SCa 存储实际状态的紧凑表示 Rstate(例如 Merkle 根)。要同步,exec 发送 τsync = (T,R′ 状态)到 SCa,其中 T 是自上次以来处理的事务集同步和R′ state 是通过应用计算出的新状态的紧凑表示 T 中的交易到先前状态 Rstate。 有两种流行的变体,它们在 SCa 验证 τsync 中状态更新的方式上有所不同。 第一个,(zk-)rollups,附加一个简洁的正确性论证,有时称为 有效性证明,用于转换 Rstate →R′ 状态。要实现此变体,请执行 计算并提交有效性证明(例如,zk-SNARK 证明)以及 τsync, 证明R′ state 是将 T 应用到 SCa 当前状态的结果。锚 合约仅在验证证明后才接受状态更新。 乐观的 rollup 不包括正确性的论点,但有 staking 和 促进状态转换的分布式验证的挑战程序。为此 rollup 变体,SCa 暂时接受 τsync 假设它是正确的(因此乐观) 但 τsync 直到挑战期结束后才生效,在此期间任何一方 监控 MAINCHAIN 可以识别错误的状态更新并通知 SCa 采取措施 必要的行动(例如,回滚状态并对exec施加惩罚。) 随着交易的发布,两个 rollup 变体都实现了链上数据可用性 链上,可以从中构建完整的状态。 zk-rollups 的延迟为 主要由生成有效性证明所需的时间决定,这通常是在 现有系统 [16] 中的分钟顺序,并且随着时间的推移可能会得到改进。 另一方面,乐观的 rollups 具有更高的延迟(例如,几天或几周) 因为挑战期需要足够长才能使欺诈证明发挥作用。的 缓慢确认的含义是微妙的,有时特定于该方案,因此 彻底的分析超出了范围。例如,某些计划考虑付款 在确认状态更新之前,交易作为“无信任最终”[109],因为 普通用户可以比主链更快地验证 rollup。 有效: Validium 是 (zk-)rollup 的一种形式,使数据仅在链外可用 并且不维护主链上的所有数据。具体来说,exec 只发送新的 状态和证明,但不向 SCa 发送交易。使用 Validium 风格的同步,执行 并且执行它的 DON 是唯一存储完整状态和 执行交易。与 zk-rollups 一样,同步延迟主要由有效性决定 证明生成时间。然而,与 zk-rollups 不同的是,Validium 风格的同步减少了 存储成本并增加吞吐量。 DON 的阈值签名: 假设 DON 个节点的阈值是诚实的, 简单而快速的同步选项是让 DON 节点共同签署新状态。 这种方法可以支持链上和链下数据的可用性。请注意,如果 用户信任 DON 的 oracle 更新,他们不需要更信任它来接受 状态更新,因为它们已经处于阈值信任模型中。 另一个好处是 阈值签名是低延迟的。支持新的交易签名格式 EIP-2938 [70] 中提出并称为帐户抽象将产生阈值 签名更容易实施,因为它将消除门槛的需要 ECDSA,涉及相当复杂的协议(例如,[116,117,118])比阈值 Schnorr [202] 或 BLS [55] 签名等替代方案更好。 可信执行环境 (TEE): TEE是隔离的执行环境(通常由硬件实现),旨在提供强大的安全保护 用于内部运行的程序。一些 TEE(例如 Intel SGX [84])可以生成证明, 称为证明,输出是由特定程序正确计算的 特定的输入12。 TEF 同步的基于 TEE 的变体可以通过以下方式实现 使用技术将 (zk-)rollups 或 Validium 中的证明替换为 TEE 证明 来自 [80]。 与 rollups 和 Validium 中使用的零知识证明相比,TEE 更 性能更高。与阈值签名相比,TEE 消除了以下复杂性: 生成阈值 ECDSA 签名,因为原则上只需要一个 TEE 参与。然而,使用 TEE 确实会引入额外的依赖于硬件的信任假设。人们还可以将 TEE 与阈值签名结合起来以创建弹性 防止一小部分 TEE 实例受到损害,尽管这种保护措施 重新引入了生成阈值 ECDSA 签名的复杂性。 额外的灵活性: 可以通过以下方式改进这些同步选项以提供更大的灵活性。 • 灵活的触发:TEF 应用程序可以确定触发条件 同步被触发。例如,同步可以是基于批处理的,例如,在 每 N 个交易、基于时间的交易(例如每 10 个区块)或基于事件的交易(例如)发生 每当目标资产价格大幅变动时。 • 部分同步:这是可能的,并且在某些情况下是可取的(例如,对于 rollups, 部分同步可以减少延迟)以提供小数据的快速同步 状态量,可能仅定期执行完全同步。例如, exect 可以通过更新 SCa 中用户的余额来批准提款请求 无需另外更新 MAINCHAIN 状态。 6.4 重组 由于网络不稳定甚至 51% 攻击而导致的区块链重组 可能对主链的完整性构成威胁。在实践中,对手已经使用了 他们发起双花攻击[34]。虽然此类针对主要区块链的攻击 安装具有挑战性,但它们对于某些链条 [88] 仍然可行。 因为它独立于主链运行,所以 DON 提供了有趣的功能 观察并提供一些针对与相关重组相关的保护的可能性 攻击。 例如,DON 可以向主链上的依赖合约 SC 报告某个阈值长度 τ 的竞争分叉的存在。 DON 还可以 12 补充细节可见附录 B.2.1。他们不需要理解。
在 PoW 或 PoS 设置中提供此类分叉存在的证据。的 合约 SC 可以实施适当的防御行动,例如在一段时间内暂停进一步的交易执行(例如,允许交易所将双花列入黑名单) 资产)。请注意,尽管对手发起 51% 攻击可以寻求审查 来自 DON 的报告,SC 的一项对策是要求来自 DON 的定期报告 DON 为了处理交易(即心跳)或需要新的报告 验证高价值交易。 虽然此类分叉警报原则上是 DON 可以提供的一般服务 出于多种目的中的任何一个,我们的计划是将它们纳入 TEF。
신뢰 최소화
이질적인 개체 집합이 참여하는 분산형 시스템으로서, Chainlink 네트워크는 활성(가용성)과 안전성(보고 무결성) 모두에서 오류에 대한 강력한 보호를 제공합니다. 그러나 대부분의 분산형 시스템은 다음과 같이 다양합니다. 구성 요소 자체가 분산되어 있는 정도. 이 이는 채굴자 간의 분산화가 제한적인 대규모 시스템에서도 마찬가지이며 [32] 중개자 [51]는 오랫동안 존재해 왔습니다. 모든 탈중앙화 노력의 목표는 신뢰 최소화입니다. Chainlink 네트워크 내 시스템 손상이나 장애로 인한 부작용, 악의적인 DON로 인해. 우리의 기본 원칙은 최소 권한 원칙 [197]입니다. 시스템 구성 요소와 시스템 내의 행위자는 엄격하게 범위가 지정된 권한을 가져야 합니다. 할당된 역할을 성공적으로 완료하는 것만 허용합니다. 여기에서는 Chainlink이 드라이브에 채택할 수 있는 몇 가지 구체적인 메커니즘을 제시합니다. 더욱 큰 신뢰 최소화를 지향합니다. 우리는 이러한 메커니즘을 다음과 같이 특성화합니다. 그림 14에 표시된 유전자좌, 즉 뿌리가 있는 시스템 구성 요소의 각 하위 섹션의 각 위치를 다룹니다. 7.1 데이터 소스 인증 oracles의 현재 운영 모델은 데이터 소스가 거의 없다는 사실로 인해 제약을 받습니다. TLS가 기본적으로 서명하지 않기 때문에 생략한 데이터에 디지털 서명을 합니다. 데이터. TLS는 "핸드셰이크" 프로토콜에서 디지털 서명을 사용합니다. 서버와 클라이언트 사이의 공유 키). 따라서 HTTPS 지원 서버에는 인증서가 있습니다. 원칙적으로 데이터 서명에 사용할 수 있는 공개 키에 대해 일반적으로 사용하지는 않습니다. 데이터 서명을 지원하는 인증서입니다. 결과적으로 DON의 보안은 다음과 같습니다. 오늘날의 oracle 네트워크에서는 데이터에서 데이터를 충실하게 중계하는 oracle 노드에 의존합니다. 계약에 대한 소스입니다. Chainlink의 신뢰 최소화를 위한 우리 비전의 중요한 장기 구성 요소에는 데이터 서명을 위한 도구 및 표준 지원을 통한 더욱 강력한 데이터 소스 인증이 포함됩니다. 데이터 서명은 엔드투엔드 무결성 보장을 강화하는 데 도움이 될 수 있습니다. 원칙적으로 계약이 데이터가 직접 서명한 데이터 D 조각을 입력으로 수락하는 경우

그림 14: 이 섹션에서 논의된 신뢰 최소화 메커니즘의 위치. 1⃝데이터 소스는 데이터의 기능을 종속 항목에 전달하는 2⃝DON에 데이터를 제공합니다. 3⃝smart contract. 또한 DON 또는 oracle 네트워크에는 4⃝노드가 포함되어 있습니다. 보상 노드, 가드 등을 위한 MAINCHAIN의 smart contract 관리 레일 등. 소스가 있으면 oracle 네트워크는 D를 실질적으로 변조할 수 없습니다. 다양한 격려 OpenID Connect를 포함하여 이러한 데이터 서명을 활성화하려는 노력이 나타났습니다. 주로 사용자 인증을 위해 설계되었습니다. [9], TLS-N, 학술 프로젝트 TLS 인증서 및 TLS 증거 확장 [63]을 용도 변경하여 TLS [191]을 확장합니다. OpenID Connect가 일부 채택되었지만 TLS Evidence Extensions는 TLS-N은 아직 채택되지 않았습니다. 데이터 소스 인증의 또 다른 잠재적인 방법은 게시자의 자체 인증을 사용하는 것입니다. AMP(Accelerated Mobile Pages) 프로토콜 [225]의 일부로 콘텐츠 전달 네트워크에서 캐시할 수 있는 서명된 HTTP 교환(SXG) [230]. Chrome 모바일 브라우저는 AMP 캐시된 SXG의 콘텐츠를 마치 AMP에서 제공되는 것처럼 표시합니다. 캐시 서버 도메인 대신 게시자의 자체 네트워크 도메인. 이러한 브랜딩 인센티브는 CloudFlare의 실제 URL [83] 및 Google의 amppackager [124]과 같은 서비스를 사용하여 상대적으로 쉽게 활성화할 수 있다는 점과 결합되어 캐시된 뉴스 콘텐츠에 SXG를 널리 채택하게 할 수 있습니다. Chainlink oracles가 유효한 SXG에 보고된 뉴스 가치가 있는 이벤트에서 트리거되는 방법입니다. 뉴스 게시자의 AMP 캐시 SXG는 빠른 템포에는 유용하지 않습니다. 거래 데이터에 대한 보고서와 같은 애플리케이션은 사용자 정의를 위한 안전한 소스가 될 수 있습니다. 기상 이변이나 선거 결과와 같은 실제 사건과 관련된 계약. 우리는 간단한 배포, 성숙한 도구, 유연성이 핵심이라고 믿습니다. 데이터 소스 서명 가속화. 데이터 공급자가 Chainlink 노드를 다음과 같이 사용할 수 있도록 설정 인증된 API 프런트 엔드는 유망한 접근 방식으로 보입니다. 우리는네트워크 참여 여부에 관계없이 노드가 이 모드에서 작동하는 옵션 본격적인 oracle로. 우리는 이 기능을 인증된 데이터 생성이라고 부릅니다. (ADO). ADO와 함께 Chainlink 노드를 사용하면 데이터 소스가 이점을 얻을 수 있습니다. Chainlink 커뮤니티에서 개발한 경험과 도구를 통해 디지털 기능을 추가했습니다. 기존 오프체인 API 제품군에 서명 기능을 제공합니다. 그들은 달리기를 선택해야 할까요? 노드를 oracles로 사용하면 잠재적인 새로운 수익원을 추가로 열 수 있습니다. 기존 데이터 제공자와 동일한 모델(예: Kraken [28], Kaiko [140]) 다른 것들은 Chainlink 노드를 실행하여 체인에서 API 데이터를 판매합니다. 7.1.1 인증된 데이터 생성의 한계 데이터 소스에 의한 디지털 서명은 인증을 강화하는 데 도움이 될 수 있지만 그 자체로는 oracle의 모든 자연스러운 보안 또는 운영 목표를 달성하는 데 충분하지 않습니다. 네트워크. 우선, 주어진 데이터 D 조각은 여전히 강력하고 시기적절하게 전달되어야 합니다. 데이터 소스에서 smart contract 또는 다른 데이터 소비자로 가는 방법. 즉, 에서도 종속 항목에 사전 프로그래밍된 키를 사용하여 모든 데이터가 서명되는 이상적인 설정 계약을 체결하더라도 소스로부터 데이터를 안정적으로 전달하려면 DON이 여전히 필요합니다. 계약에. 또한 계약이나 기타 oracle-데이터가 소비자는 계산된 다양한 기능의 인증된 출력에 액세스하기를 원합니다. 두 가지 주요 이유는 소스 데이터입니다. • 기밀성: 데이터 소스 API는 민감하거나 독점적인 데이터를 제공할 수 있습니다. 체인에 공개되기 전에 수정하거나 정리해야 합니다. 그러나 서명된 데이터를 수정하면 서명이 무효화됩니다. 다른 것을 넣어 그런데 순진한 ADO와 데이터 삭제는 호환되지 않습니다. 예제 3에 나와 있습니다. 향상된 형태의 ADO를 통해 이 둘을 어떻게 조화시킬 수 있는지 알아보세요. • 데이터 소스 오류: 오류와 실패 모두 데이터 소스에 영향을 미칠 수 있으며 디지털 서명은 두 가지 문제를 모두 해결하지 못합니다. [98], Chainlink은 처음부터 이러한 결함을 해결하기 위한 메커니즘인 중복성이 이미 포함되어 있습니다. oracle 네트워크에서 발행한 보고서는 일반적으로 여러 네트워크의 결합된 데이터를 나타냅니다. 소스. 이제 소스 데이터의 기밀성을 강화하고 여러 소스의 데이터를 안전하게 결합하기 위해 ADO 설정에서 탐색 중인 구성표에 대해 논의합니다. 7.1.2 기밀성 데이터 소스는 원하는 API의 전체 영역을 예상하고 제공하지 못할 수 있습니다. 사용자에 의해. 특히 사용자는 사전 처리된 데이터에 액세스하여 다음을 보장할 수 있습니다. 기밀성. 다음 예에서는 문제를 보여줍니다.예시 3. Alice는 다음과 같은 DID(분산 신원) 자격 증명을 얻고 싶어합니다. 그녀는 18세 이상이어야 합니다(예를 들어 대출을 받을 수 있음). 해야 할 일 따라서 그녀는 자신의 나이에 대한 사실을 DID 자격 증명 발급자에게 증명해야 합니다. Alice는 자신이 거주하는 주의 DMV(Department of Motor Vehicles)의 데이터를 사용하기를 원합니다. 목적으로 웹사이트. DMV는 그녀의 생년월일 기록을 가지고 있으며 다음 형식의 디지털 서명된 증명 A: A = {이름: Alice, DoB: 1999년 2월 16일}. 이 예에서 증명 A는 Alice가 DID에 증명하기에 충분할 수 있습니다. 하지만 이는 민감한 정보를 불필요하게 유출합니다: Alice의 정확한 DoB. 이상적으로는 Alice가 DMV에서 원하는 것은 자동차 보험에 서명하는 것입니다. “앨리스는 18세 이상입니다.”라는 간단한 진술 A'입니다. 즉, 그녀는 그녀의 생일 X에 대한 함수 G의 출력. 여기서 (비공식적으로) A′ = G(X) = True인 경우 현재 날짜 −X ≥18년; 그렇지 않으면 G(X) = 거짓입니다. 일반화하자면, Alice는 데이터 소스로부터 서명된 데이터를 요청할 수 있기를 원합니다. 다음 형식의 증명 A': A′ = {이름: Alice, Func:G(X), 결과: True}, 여기서 G(X)는 함수 G와 그 입력 X의 사양을 나타냅니다. 사용자는 자신의 요청에 따라 원하는 G(X)를 입력으로 제공할 수 있어야 합니다. 해당 증명 A'. 데이터 소스의 증명 A'에는 사양 G(X)가 포함되어야 합니다. A'가 올바르게 해석되었는지 확인하세요. 위의 예에서 G(X)는 다음 의미를 정의합니다. A'의 부울 값이므로 True는 증명의 주제를 의미합니다. 18세 이상입니다. 우리는 사용자가 G(X)를 기능적 쿼리로 지정할 수 있는 유연한 쿼리를 참조합니다. 예제 3과 같은 사용 사례와 쿼리와 관련된 사용 사례를 지원하기 위해 계약에서 직접적으로 다음과 관련된 기능적 쿼리에 대한 지원을 포함할 계획입니다. ADO의 일부인 간단한 함수 G. 7.1.3 소스 데이터 결합 온체인 비용을 줄이기 위해 계약은 일반적으로 결합된 데이터를 소비하도록 설계됩니다. 다음 예에 설명된 것처럼 여러 소스에서 가져옵니다. 예 4(가격 데이터 중위화) 가격 피드 제공, 즉 하나의 가치 자산(예: ETH)을 다른 자산(예: USD)에 비해 oracle 네트워크는 일반적으로 거래소 등 다양한 소스에서 현재 가격을 얻습니다. oracle 네트워크 일반적으로 이러한 값의 중앙값을 종속 계약 SC에 보냅니다. 데이터 서명이 있는 환경에서 올바르게 작동하는 oracle 네트워크는 데이터 소스 S = {S1, . . . , SnS} 값의 시퀀스 V = {v1, v2, . . . , vnS} 에서 소스별 서명이 수반되는 nS 소스 Σ = {σ1, σ2, . . . , σnS}. 시 서명을 확인한 후 가격 v = 중앙값(V)을 SC로 전송합니다.불행하게도 oracle 네트워크가 중앙값을 전송하는 간단한 방법은 없습니다. v가 올바르게 계산되었다는 간결한 증거 σ와 함께 예제 4의 v 값을 SC에 전달합니다. 과도하게 서명된 입력. 순진한 접근 방식은 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 프로토콜의 경우 1/3 미만입니다. 흔히 관찰되지만, 모든 노드가 동일한 소프트웨어를 실행하는 경우 치명적인 공격을 식별한 공격자는 원칙적으로 모든 노드를 어느 정도 동시에 손상시킵니다. 이 설정은 종종 소프트웨어 단일 문화라고 합니다 [47]. 문제를 해결하기 위해 소프트웨어 및 소프트웨어 구성을 자동으로 다양화하기 위한 다양한 제안이 제시되었습니다(예: [47, 113]). [47]에 명시된 바와 같이, 그러나 소프트웨어 다양성은 복잡한 문제이므로 신중한 고려가 필요합니다. 예를 들어, 소프트웨어 다양화는 다음과 같은 경우 단일 문화보다 더 나쁜 보안을 초래할 수 있습니다. 시스템의 공격 표면을 증가시켜 가능한 공격 벡터를 초과합니다. 그것이 제공하는 보안 이점. 우리는 강력한 장애 조치 클라이언트(즉, 노드가 연결되는 클라이언트)에 대한 지원이 가능하다고 믿습니다. 재앙이 닥쳤을 때 전환할 수 있다는 점은 특히 매력적인 형태입니다. 소프트웨어 다양화. 장애 조치 클라이언트는 잠재적 벡터 수를 늘리지 않습니다. 공격의 위험이 있습니다. 메인라인 소프트웨어로 배포되지 않기 때문입니다. 그들은 분명한 이점을 제공합니다. 그러나 두 번째 방어선으로 사용됩니다. 우리는 DONs에서 장애 조치 클라이언트를 다음과 같이 지원할 계획입니다. 단일 클라이언트에 대한 보안 의존도를 줄이는 주요 수단입니다. Chainlink에는 이미 강력한 장애 조치 클라이언트 시스템이 마련되어 있습니다. 우리의 접근 방식 철저한 테스트를 거친 이전 클라이언트 버전을 유지 관리하는 작업이 포함됩니다. 예를 들어 현재 OCR(오프체인 보고)을 기본 클라이언트로 사용하는 Chainlink 노드에는 지원이 포함됩니다. 필요한 경우 Chainlink의 이전 FluxMonitor 시스템용. 일부 사용 중이던 FluxMonitor는 보안 감사와 현장 테스트를 받았습니다. 그것은 동일한 것을 제공합니다 OCR 기능을 더 높은 비용으로 제공합니다. 비용은 필요할 때만 발생합니다. 7.2.2 마이너리티 리포트 충분히 큰 소수 집합이 주어지면 소수(다수의 불법 행위를 관찰하는 정직한 노드의 일부)가 소수를 생성하는 데 도움이 될 수 있습니다. 보고. 이는 종속 계약 SC 온체인에 전달되는 병렬 보고서 또는 플래그입니다. Ominority에 의해. SC는 자체 계약별 정책에 따라 이 플래그를 사용할 수 있습니다. 예를 들어, 생명력이나 반응성보다 안전이 더 중요한 계약의 경우 소수 보고서로 인해 계약에서 보충 보고서를 요청할 수 있습니다. 다른 DON에서 연결하거나 회로 차단기를 작동시키세요(다음 섹션 참조).다수가 정직할 때에도 소수 보고서는 중요한 역할을 할 수 있으며, 왜냐하면 모든 보고서 집계 체계는 기능적 서명을 사용하더라도 oracle 또는 데이터 오류에 대한 복원력을 보장하기 위해 임계값 방식으로 작동합니다. 에서 즉, 입력 내용을 기반으로 유효한 보고서를 생성하는 것이 가능해야 합니다. kS < nS oracles, 일부 임계값 kS의 경우. 이는 손상된 DON에 일부 오류가 있음을 의미합니다. 다음 중에서 선호하는 kS 값을 선택하여 보고서 값을 조작할 수 있는 위도 모든 소스가 정직하더라도 oracle 전체 세트에 의해 V에서 보고된 nS입니다. 예를 들어, 함수형을 사용하는 시스템에서 nS = 10이고 kS = 7이라고 가정합니다. ETH의 USD 가격에 대한 V에 대한 중앙값 계산을 인증하기 위한 서명입니다. 5개의 소스가 \(500, while the other five report \)1000의 가격을 보고한다고 가정합니다. 그런 다음 가장 낮은 7개 보고서의 중앙값을 조정하여 DON은 유효한 값 v = $500를 출력할 수 있습니다. 가장 높은 값의 중앙값을 계산하면 v = $1000를 출력할 수 있습니다. 모든 노드가 어떤 데이터가 있었는지 알 수 있도록 DON 프로토콜을 강화함으로써 사용 가능한 데이터와 보고서를 구성하는 데 사용된 데이터를 노드에서 감지하고 플래그를 지정할 수 있습니다. 특정 보고서 세트를 다른 보고서 세트보다 선호하는 통계적으로 유의미한 경향이 있으며 그 결과 소수 보고서. 7.3 가드 레일 DONs에 대한 우리의 신뢰 모델은 MAINCHAIN을 더 높은 보안, 더 높은 권한으로 취급합니다. DONs보다 시스템. (이 신뢰 모델이 항상 사실이 아닐 수도 있지만, DON가 더 높은 보안을 제공하는 상황에 결과 메커니즘을 적용합니다. 플랫폼보다 그 반대입니다.) 따라서 자연스러운 신뢰 최소화 전략에는 MAINCHAIN 프런트 엔드에서 smart contracts의 모니터링 및 안전 장치 메커니즘 구현이 포함됩니다. DON의 경우 또는 종속 계약 SC에서 직접. 우리는 이러한 메커니즘을 다음과 같이 지칭합니다. 가드레일을 확인하고 여기에 가장 중요한 사항을 열거하세요. • 회로 차단기: SC는 상태 업데이트 자체의 특성에 따라 상태 업데이트를 일시 중지하거나 중지할 수 있습니다(예: 순차 업데이트에 대한 큰 차이). 보고서) 또는 기타 입력을 기반으로 합니다. 예를 들어 회로 차단기가 작동할 수 있습니다. oracle 보고서가 시간이 지남에 따라 믿을 수 없을 정도로 변하는 경우입니다. 회로 차단기가 또한 소수 보고서에 의해 넘어질 수도 있습니다. 따라서 회로 차단기는 DONs를 방지할 수 있습니다. 심하게 잘못된 보고를 하는 것으로부터. 회로 차단기는 추가 개입을 고려할 시간을 제공할 수 있습니다. 아니면 운동을 했는지. 그러한 개입 중 하나는 탈출구입니다. • 탈출구: 일련의 관리인, 커뮤니티 token 보유자 또는 기타 수탁자 기관이 확인한 불리한 상황에서 계약이 실행될 수 있습니다. 탈출구 [163]라고도 불리는 비상 시설. 탈출용 해치 SC가 어떤 방식으로든 종료되거나 보류 중으로 종료됩니다. 미래 거래. 예를 들어, 보관된 자금을 사용자 [17])에게 반환할 수 있습니다.계약 조건을 종료하거나([162]) 보류 중인 거래 및/또는 향후 거래를 취소할 수 있습니다([173]). 탈출 해치는 계약 유형뿐만 아니라 모든 유형의 계약에 배치될 수 있습니다. DON에 의존하지만 잠재적인 완충 장치로 관심이 있습니다. DON 불법 행위. • 장애 조치: SC가 필수 서비스를 위해 DON에 의존하는 시스템에서는 SC가 서비스 지속을 보장하는 장애 조치 메커니즘을 제공할 수 있습니다. DON 실패 또는 잘못된 행동의 경우. 예를 들어, TEF(섹션 6)에서는 앵커 계약 SCa는 온체인과 특정 중요 작업에 대해 오프체인 실행 인터페이스가 지원됩니다(예: 인출) 또는 일반 거래의 경우 DON 거래의 선취를 방지하기 위해 적절한 지연이 있습니다. 데이터 소스가 데이터에 서명하는 경우 사용자는 다음을 수행할 수 있습니다. 또한 DON이 실패할 경우 SCa에 보고서를 제공합니다. 다양한 형태의 낙관적 rollup(섹션 6.3 참조)에 대해 제안된 사기 증명, 위에서 열거한 메커니즘과 맛이 유사하고 보완적입니다. 그들은 또한 온체인 모니터링의 형태를 제공하고 잠재적인 오류에 대한 보호를 제공합니다. 오프체인 시스템 구성요소. 7.4 신뢰를 최소화한 거버넌스 모든 분산형 시스템과 마찬가지로 Chainlink 네트워크에는 거버넌스 메커니즘이 필요합니다. 시간이 지남에 따라 매개변수를 조정하고, 긴급 상황에 대응하고, 진화를 안내합니다. 이러한 메커니즘 중 일부는 현재 MAINCHAIN에 있으며 앞으로도 계속될 수 있습니다. DON을 배포하더라도 그렇게 할 수 있습니다. 한 가지 예는 결제 메커니즘입니다. oracle 노드 공급자(DON 노드)의 경우. DON MAINCHAIN의 프런트 엔드 계약 가드레일과 같이 주기적으로 영향을 받을 수 있는 추가 메커니즘이 포함되어 있습니다. 수정. 우리는 진화적 메커니즘과 비상사태라는 두 가지 종류의 거버넌스 메커니즘을 예상합니다. 진화적 거버넌스: Chainlink 생태계에 대한 많은 수정 사항은 다음과 같습니다. 구현이 긴급한 문제가 되지 않도록: 성능 개선, 기능 향상, (긴급하지 않은) 보안 업그레이드 등. Chainlink이(가) 거버넌스에 더 많은 참여자를 향해 점진적으로 나아감에 따라 우리는 더 많은 또는 이러한 변경 사항의 대부분은 해당 변경 사항의 영향을 받은 특정 DON 커뮤니티에 의해 비준됩니다. 변화. 그 동안 그리고 아마도 궁극적으로는 병렬 메커니즘으로서 우리는 다음과 같이 믿습니다. 시간적 최소 특권의 개념은 진화적 거버넌스를 구현하는 데 유용한 수단이 될 수 있습니다. 아주 간단히 말하면, 변경 사항을 점진적으로 배포하여 다음을 보장하는 것입니다. 커뮤니티는 이에 대응할 수 있는 기회를 제공합니다. 예를 들어, 새로운 MAINCHAIN 계약은 새로운 계약을 배포해야 하도록 제한될 수 있습니다. 활성화하기 최소 30일 전.비상 거버넌스: MAINCHAIN의 악용 가능하거나 악용된 취약점 계약이나 기타 형태의 활성 또는 안전 오류는 치명적인 결과를 방지하기 위해 즉각적인 개입이 필요할 수 있습니다. 우리의 의도는 다중서명을 지원하는 것입니다. 모든 조직의 불법 행위를 방지하기 위한 개입 메커니즘 서명자는 여러 조직에 분산됩니다. 서명자의 일관된 가용성 보장 비상사태 승인을 위해 적절한 명령 체계에 대한 시기적절한 접근 변경 사항을 적용하려면 신중한 운영 계획과 정기적인 검토가 필요합니다. 이것들 과제는 다른 사이버 보안 사고 대응 테스트와 관련된 과제와 유사합니다. 기능 [134], 경계 감소 [223]과 같은 일반적인 문제를 해결하기 위한 유사한 필요성이 있습니다. DONs의 거버넌스는 많은 분산형 시스템의 거버넌스와 다릅니다. 잠재적인 이질성 정도. 각 DON에는 고유한 데이터 소스, 실행 파일, 가동 시간과 같은 서비스 수준 요구 사항 및 사용자가 있을 수 있습니다. Chainlink 네트워크의 거버넌스 메커니즘은 이러한 변화를 수용할 수 있을 만큼 유연해야 합니다. 운영 목표 및 매개변수. 우리는 디자인 아이디어를 적극적으로 탐구하고 있으며, 앞으로 이 주제에 대한 연구를 발표하세요. 7.5 공개 키 인프라 점진적인 분권화로 인해 강력한 식별이 필요해집니다. DON 노드를 포함한 네트워크 참가자. 특히 Chainlink에는 강력한 공개 키 인프라(PKI). PKI는 키를 ID에 바인딩하는 시스템입니다. 에 대한 예를 들어 PKI는 인터넷의 보안 연결(TLS) 시스템을 뒷받침합니다. HTTPS(예: https://www.chainlinklabs.com)을 통해 웹사이트에 연결하고 브라우저에 자물쇠가 나타나면 이는 도메인 소유자의 공개 키가 특히 디지털 서명을 통해 권한에 의해 해당 소유자에게 바인딩되었습니다. 일명 자격증. 최상위 루트 인증 기관이 널리 사용되는 브라우저에 내장되어 있는 CA(인증 기관)의 계층적 시스템은 인증서가 합법적인 도메인 소유자에게만 발급됩니다. 우리는 Chainlink이 결국 분산형 이름 서비스를 사용할 것으로 예상합니다. 처음에는 Ethereum 이름 서비스(ENS) [22]를 PKI의 기반으로 삼았습니다. 다음과 같이 이름에서 알 수 있듯이 ENS는 매핑을 수행하는 도메인 이름 시스템인 DNS와 유사합니다. (사람이 읽을 수 있는) 도메인 이름을 인터넷의 IP 주소로 변환합니다. 그러나 ENS는 대신 사람이 읽을 수 있는 Ethereum 이름을 blockchain 주소에 매핑합니다. 왜냐하면 ENS Ethereum blockchain에서 작동하며 키 손상을 방지하고 네임스페이스는 원칙적으로 이를 관리하는 계약을 변조하는 것만큼 어렵습니다. 및/또는 기본 blockchain. (반대로 DNS는 역사적으로 취약했습니다. 스푸핑, 하이재킹 및 기타 공격에 사용됩니다.) 우리는 Ethereum 메인넷의 ENS에 data.eth를 등록했으며, oracle 데이터 서비스의 ID가 있는 루트 네임스페이스로 설정하고 다른 Chainlink 네트워크 엔터티가 상주합니다. ENS의 도메인은 계층적입니다. 즉, 각 도메인에 참조가 포함될 수 있습니다. 그 아래 다른 이름으로. ENS의 하위 도메인은 구성 및 관리 방법으로 사용될 수 있습니다.신뢰를 위임합니다. data.eth의 주요 역할은 온체인 디렉터리 서비스 역할을 하는 것입니다. 데이터 피드. 전통적으로 oracles의 개발자와 사용자는 오프체인 소스를 사용해 왔습니다. (예: docs.chain.link 또는 data.chain.link와 같은 웹사이트 또는 다음과 같은 소셜 네트워크 Twitter) oracle 데이터 피드 주소(예: ETH-USD 가격)를 게시하고 획득합니다. 피드). data.eth와 같이 매우 신뢰할 수 있는 루트 네임스페이스를 사용하면 대신 eth-usd.data.eth를 smart contract 주소에 매핑하는 것이 가능합니다. ETH-USD 가격 피드에 대한 온체인 oracle 네트워크 수집기. 이것은 누구든지 blockchain를 정보 소스로 참조할 수 있는 보안 경로를 만듭니다. 해당 가격/이름 쌍(ETH-USD)의 데이터 피드입니다. 결과적으로 ENS를 사용하는 방법은 다음과 같습니다. 오프체인 데이터 소스에서는 얻을 수 없는 두 가지 이점을 실현합니다. • 강력한 보안: 도메인에 대한 모든 변경 사항과 업데이트는 불변하게 기록됩니다. 웹사이트의 텍스트 주소와 달리 암호화 방식으로 보호됩니다. 이 두 가지 보안 속성 중 어느 것도 누리지 마십시오. • 자동화된 온체인 전파: 데이터피드의 smart contract 기본 주소를 업데이트하면 종속 스마트에 전파되는 알림이 트리거될 수 있습니다. 예를 들어 종속 계약을 자동으로 업데이트할 수 있습니다. 새 주소.13 그러나 ENS와 같은 네임스페이스는 합법적인 소유권을 자동으로 확인하지 않습니다. 주장된 이름의. 따라서 예를 들어 네임스페이스에 항목이 포함된 경우 ⟨"Acme Oracle Node Co.", 주소⟩, 그런 다음 사용자는 addr이 Acme라는 이름의 청구자에 속한다는 확신을 얻습니다. Oracle Node Co.는 네임스페이스 관리에 대한 추가 메커니즘 없이 그러나 그녀는 그 이름이 합법적으로 법인에 속해 있다는 확신을 얻지 못합니다. 의미 있는 현실 세계의 의미에서 Acme Oracle Node Co.라고 불립니다. 이름 검증, 즉 상응하는 합법적인 실제 개체의 소유권을 보장하는 우리의 접근 방식은 여러 구성 요소에 의존합니다. 오늘은 Chainlink 연구소 Chainlink 네트워크에 대한 CA 역할을 효과적으로 수행합니다. Chainlink 실습은 계속됩니다. 이름을 검증하기 위해 PKI는 두 가지 방법으로 보다 분산된 모델로 발전할 것입니다. • 신뢰 웹 모델: 계층적 PKI의 분산형 대응물을 종종 신뢰 웹이라고 합니다.14 변형은 1990년대부터 제안되었습니다. 예를 들어 [98], 그리고 많은 연구자들은 blockchains가 전 세계적으로 일관된 인증서를 기록함으로써 아이디어(예: [227])의 사용을 용이하게 할 수 있음을 관찰했습니다. 원장. 우리는 엔터티의 신원을 검증하기 위해 이 모델의 변형을 탐색하고 있습니다. Chainlink 네트워크에서 보다 분산된 방식으로. 13A 종속 계약은 선택적으로 수동 검사를 허용하기 위해 미리 결정된 지연을 포함할 수 있습니다. 종속 계약 관리자의 개입. 14PGP [238]에 대해 Phil Zimmermann이 만든 용어입니다.• 검증 데이터에 대한 연결: 오늘날 상당한 양의 oracle 노드 성능 데이터가 온체인에서 볼 수 있으므로 노드 주소에 보관됩니다. 이러한 데이터는 네트워크에 (신뢰할 수 있는) 참여에 대한 역사적 증거를 제공함으로써 PKI의 정체성을 강화하는 것으로 볼 수 있습니다. 추가적으로 도구 DECO 및 Town Crier [160] 활성화 노드를 기반으로 한 분산 ID용 실제 데이터에서 파생된 자격 증명을 축적합니다. 한 가지 예로서, 노드 운영자는 소유를 증명하는 PKI 신원에 자격 증명을 첨부할 수 있습니다. Dun and Bradstreet 등급입니다. 이러한 보완적인 검증 형태는 다음과 같습니다. 네트워크 보안을 보장할 때 staking을 보완하세요. 실제 신원이 확립된 oracle 노드는 지분을 보유한 것으로 간주될 수 있습니다. 그 명성에서 비롯된 시스템에서. (섹션 4.3 및 섹션 9.6.3 참조) Chainlink PKI의 최종 요구 사항은 보안 부트스트래핑입니다. Chainlink 네트워크의 루트 이름, 현재 data.eth 게시(유사하게) 브라우저의 최상위 도메인을 하드와이어링합니다. 즉, Chainlink 사용자는 어떻게 data.eth가 실제로 Chainlink과 연결된 최상위 도메인인지 확인합니다. 프로젝트? Chainlink 네트워크의 이 문제에 대한 해결책은 다각적이며 다음이 포함될 수 있습니다: • 다음을 지정하는 chain.link의 도메인 레코드에 TXT 레코드 [224] 추가 data.eth를 Chainlink 생태계의 루트 도메인으로 사용합니다. (따라서 Chainlink은 루트 ENS 도메인의 유효성을 검사하기 위해 인터넷 도메인에 대한 PKI를 암시적으로 활용합니다.) • Chainlink의 기존 웹사이트(예: https://docs.chain.link. (인터넷 도메인에 대한 PKI의 또 다른 암시적 사용) • 본 백서를 포함한 다양한 문서를 통해 data.eth의 사용을 알립니다. • Twitter와 같은 소셜 미디어 채널에 data.eth를 공개적으로 게시합니다. Chainlink 블로그 [18]. • 동일한 등록자 주소로 대량의 LINK를 관리하는 행위 data.eth로.
信任最小化
作为一个由一组异构实体参与的去中心化系统, Chainlink 网络在活性(可用性)和安全性(报告完整性)方面提供了针对故障的强大保护。然而,大多数去中心化系统在以下方面有所不同: 它们的组成部分本身分散的程度。这个 即使对于大型系统也是如此,矿工之间的权力下放有限 [32] 和 中介 [51] 早已存在。 任何去中心化努力的目标都是信任最小化:我们寻求减少 Chainlink 网络内系统性腐败或故障的不利影响,即使如此 由于恶意 DON。我们的指导原则是最小特权原则 [197]。 系统内的系统组件和参与者应具有严格范围内的权限 只允许成功完成分配给他们的角色。 这里我们列出了 Chainlink 在其驱动中采用的几种具体机制 走向更大程度的信任最小化。我们用以下术语来描述这些机制 基因座,即它们所扎根的系统组件,如图 14 所示。 解决相应小节中的每个基因座。 7.1 数据源认证 oracles 当前的操作模型受到以下事实的限制:数据源很少 对他们忽略的数据进行数字签名,很大程度上是因为 TLS 本身并不签名 数据。 TLS 确实在其“握手”协议中使用了数字签名(以建立 服务器和客户端之间的共享密钥)。因此启用 HTTPS 的服务器拥有证书 原则上可以用于签署数据的公钥,但它们通常不使用 这些证书支持数据签名。因此,DON 的安全性为 在当今的 oracle 网络中,依赖于 oracle 节点忠实地从数据中继数据 合同来源。 我们在 Chainlink 中实现信任最小化愿景的一个重要长期组成部分涉及通过支持数据签名工具和标准来加强数据源身份验证。数据签名可以帮助实施端到端的完整性保证。 原则上,如果合约接受由数据直接签名的一段数据 D 作为输入

图 14:本节讨论的信任最小化机制的轨迹。 1⃝数据 源向 2⃝DON 提供数据,该 2⃝DON 将数据功能中继到依赖项 3⃝smart contract。 此外,DON 或 oracle 网络包括 4⃝节点 主链上的管理 smart contracts,例如补偿节点、保护 导轨等。 源,则 oracle 网络无法切实篡改 D. 各种鼓励 实现此类数据签名的努力已经出现,其中包括 OpenID Connect,它 主要设计用于用户身份验证[9],TLS-N,一个学术项目,旨在 通过重新利用 TLS 证书和 TLS 证据扩展 [63] 来扩展 TLS [191]。 尽管 OpenID Connect 已经得到了一些采用,但是 TLS 证据扩展 和 TLS-N 尚未得到采用。 数据源身份验证的另一个潜在途径是使用发布者自己的 签名 HTTP 交换 (SXG) [230],它们可以将其缓存在内容交付网络上,作为加速移动页面 (AMP) 协议 [225] 的一部分。 Chrome 移动浏览器显示 AMP 缓存的 SXG 中的内容,就好像它们是从 他们的发布者自己的网络域而不是缓存服务器域。这种品牌激励,加上使用 CloudFlare 的 Real URL [83] 和 Google 的 amppackager [124] 等服务相对容易地启用它,可能会导致 SXG 在缓存的新闻内容中得到广泛采用,这将实现简单、防篡改的功能。 Chainlink oracles 触发有效 SXG 中报告的有新闻价值的事件的方式。 虽然来自新闻出版商的 AMP 缓存 SXG 对于快节奏内容没有用 像交易数据报告这样的应用程序,它们可以成为自定义的安全来源 与极端天气或选举结果等现实世界事件相关的合同。 我们相信简单的部署、成熟的工具和灵活性对于 加速数据源签名。使数据提供者能够使用 Chainlink 节点作为 经过身份验证的 API 前端似乎是一种很有前途的方法。我们打算创建一个节点在此模式下运行的选项,无论是否参与网络 作为一个成熟的oracle。我们将此功能称为经过身份验证的数据源 (阿杜)。通过将 Chainlink 节点与 ADO 结合使用,数据源将能够受益 来自 Chainlink 社区在添加数字方面的经验和开发的工具 为其现有的链外 API 套件提供签名功能。他们是否应该选择跑步 他们的节点为 oracles,他们还可以开辟潜在的新收入来源 与现有数据提供商采用相同的模型,例如 Kraken [28]、Kaiko [140],以及 其他运行 Chainlink 节点来在链上出售 API 数据。 7.1.1 经过身份验证的数据来源的局限性 数据源的数字签名虽然可以帮助加强身份验证,但其本身不足以实现 oracle 的所有自然安全或操作目标 网络。 首先,给定的数据 D 仍必须以稳健且及时的方式中继 从数据源到 smart contract 或其他数据使用者的方式。也就是说,即使在 理想的设置,其中所有数据都使用预编程为依赖项的密钥进行签名 合同,仍然需要 DON 来可靠地从来源传递数据 到合同。 此外,在许多情况下,合同或其他 oracle-数据 消费者希望访问经过身份验证的各种函数计算的输出 源数据主要有两个原因: • 保密性:数据源 API 可能提供敏感或专有数据 在链上公开可见之前需要对其进行编辑或清理。 然而,对签名数据的任何修改都会使签名无效。再放一个 这样,简单的 ADO 和数据清理是不兼容的。我们在示例 3 中展示 如何通过增强形式的 ADO 协调两者。 • 数据源故障:错误和故障都会影响数据源,而数字签名无法解决这两个问题。自 [98] 成立以来,Chainlink 已 已经包含了一种修复此类故障的机制:冗余。 oracle 网络发布的报告通常代表多个网络的组合数据 来源。 现在我们讨论在 ADO 设置中探索的方案,以增强源数据的机密性并安全地组合来自多个源的数据。 7.1.2 保密性 数据源可能无法预测并提供所需的全部 API 由用户。 具体来说,用户可能希望访问预处理的数据以帮助确保 保密性。下面的例子说明了这个问题。示例 3. Alice 希望获得去中心化身份 (DID) 凭证 她已年满 18 岁(例如,因此可以申请贷款)。要做的事 因此,她需要向 DID 凭证颁发者证明有关她年龄的事实。 Alice 希望使用她所在州机动车辆管理局 (DMV) 的数据 网站为此目的。 DMV 有她的出生日期记录,并将发出 其上的数字签名证明 A 的形式如下: A = {姓名:Alice,DoB:02/16/1999}。 在此示例中,证明 A 可能足以让 Alice 向 DID 证明 凭证颁发者表示她已超过 18 岁。但这不必要地泄露了敏感信息:Alice 的 确切的 DoB。理想情况下,Alice 希望 DMV 提供的是在 简单陈述 A',“Alice 已年满 18 岁”。换句话说,她想要的是 函数 G 在她的生日 X 上的输出,其中(非正式地),A′ = G(X) = True if 当前日期−X ≥18 年;否则,G(X) = False。 概括而言,Alice 希望能够从数据源请求签名的 证明 A′ 的形式: A′ = {名称:Alice,功能:G(X),结果:True}, 其中 G(X) 表示函数 G 及其输入 X 的规范。我们设想 用户应该能够提供所需的 G(X) 作为她的请求的输入 相应的证明A′。 请注意,数据源的证明 A′ 必须包含规范 G(X) 确保 A′ 被正确解释。在上面的例子中,G(X)定义了含义 A′ 中的布尔值,因此 True 表示证明的主题 已年满 18 岁。 我们将用户可以指定 G(X) 的灵活查询称为函数查询。 为了支持示例 3 中的用例以及涉及查询的用例 直接来自合约,我们打算包括对涉及的功能查询的支持 作为 ADO 一部分的简单函数 G。 7.1.3 合并源数据 为了降低链上成本,合约通常被设计为消耗组合数据 来自多个来源,如以下示例所示。 示例 4(价格数据中值化)。提供价格信息,即一个的价值 资产(例如,ETH)相对于另一种资产(例如,美元),oracle 网络通常会 从多种来源(例如交易所)获取当前价格。 oracle 网络 通常将这些值的中值发送给从属合约 SC。 在具有数据签名的环境中,正常运行的 oracle 网络可以获得 来自数据源 S = {S1, . 。 。 , SnS} 值序列 V = {v1, v2, . 。 。 , vnS} 来自 带有特定源签名的 nS 源 Σ = {σ1, σ2, . 。 。 ,σnS}。之上 验证签名后,它将价格 v = mid(V ) 传输给 SC。不幸的是,没有简单的方法让 oracle 网络传输中值 将示例 4 中的 v 值传递给 SC,并提供 v 计算正确的简洁证明 σ 过度签名的输入。 一种简单的方法是在 SC 中对所有 nS 数据源的公钥进行编码。 然后 oracle 网络将中继 (V, Σ) 并允许 SC 计算 V 的中值。 然而,这将导致证明 σ 的大小为 O(nS),即 σ 不会简洁。 它还会给 SC 带来高昂的 Gas 成本,因为 SC 需要验证中的所有签名 Σ。 相比之下,使用 SNARK 可以简洁地证明正确组合的经过身份验证的源值。在实践中可能可行,但要求相当高 证明者的计算成本,以及链上较高的天然气成本。使用 Town Crier 也是一种可能性,但需要使用 TEE,这并不适合所有人 用户的信任模型。 一个有用的概念是一种称为功能签名的加密工具,它可以解决对来自源的组合数据进行签名的一般问题。 [59, 132]。 简而言之,功能签名允许签名者委托签名能力,这样 受委托者只能对签名者选择的函数F范围内的消息进行签名。 我们在附录 D 中展示了这个功能约束如何用于限制范围 DON 发出的报告值作为数据源签名值的函数。 我们还引入了一种新的原语,称为离散函数签名,它包括对准确性的宽松要求,但可能具有更高的性能 比 SNARK 等方法更有效。 以包括源身份验证的方式组合数据源的问题 输出也适用于数据聚合器,例如 CoinCap、CoinMarketCap、CoinGecko、 CryptoCompare 等,它们从多个交易所获取数据, 基于体积的重量,使用他们在某些情况下公开的方法 在其他情况下是专有的。希望发布值的聚合器 源认证面临与节点聚合相同的挑战 源数据。 7.1.4 处理源数据 复杂的 smart contract 可能依赖于自定义聚合统计数据 主要数据源,例如许多资产近期价格历史的波动性,或 相关事件新闻中的文字和照片。 由于 DON 中的计算和带宽相对便宜,因此这些统计数据 — 即使是具有许多输入的复杂机器学习模型,也可以经济地进行处理,只要指定给 blockchain 的任何输出值都足够简洁。 对于计算密集型工作,DON 参与者可能有不同的 对于复杂输入的看法,可能需要 DON 参与者之间进行额外的沟通,以便在计算结果之前就输入达成共识。 只要最终值完全由输入决定,一旦建立输入共识,每个参与者就可以简单地计算该值并将其广播给其他参与者参与者的部分签名,或将其发送给聚合器。 7.2 DON 信任最小化 我们设想了两种主要方法来最大限度地减少对 DON 组件的信任: 故障转移客户端和少数派报告。 7.2.1 故障转移客户端 密码学和分布式系统文献中的对抗模型通常 考虑一个能够破坏(即损害)节点子集的对手, 例如,对于许多 BFT 协议来说,不到三分之一。然而,人们普遍观察到, 如果所有节点都运行相同的软件,那么识别出致命漏洞的对手就可以 原则上或多或少同时危害所有节点。这个设置经常 称为软件单一文化 [47]。 为了解决这个问题,已经提出了自动多样化软件和软件配置的各种建议,例如[47, 113]。如 [47] 中所述, 然而,软件多样性是一个复杂的问题,需要仔细考虑。例如,如果软件多样化,可能会导致比单一文化更糟糕的安全性 增加系统的攻击面,从而增加其可能的攻击向量 它提供的安全优势。 我们相信,对强大的故障转移客户端(即节点的客户端)的支持 可以在面对灾难性事件时进行转换——是一种特别有吸引力的形式 软件多样化。故障转移客户端不会增加潜在向量的数量 攻击,因为它们没有部署为主线软件。他们提供了明显的好处, 然而,作为第二道防线。我们打算在 DONs 中支持故障转移客户端 减少安全对单个客户端的依赖的关键方法。 Chainlink 已经建立了一个强大的故障转移客户端系统。我们的方法 涉及维护以前的、经过实战检验的客户端版本。例如,今天,以链外报告(OCR)作为主要客户端的 Chainlink 节点包括支持 如果需要,可用于 Chainlink 之前的 FluxMonitor 系统。已经使用了一些 目前,FluxMonitor 已经接受了安全审核和现场测试。它提供了相同的 OCR 等功能,只是成本较高——仅根据需要产生成本。 7.2.2 少数派报告 给定足够大的少数集 Ominority(观察到大多数人不法行为的诚实节点的一小部分),这对他们生成少数派可能会有所帮助 报告。这是一个并行报告或标志,转发到链上的依赖合约 SC 由少数派。 SC 可以根据其自己的合约特定策略来使用该标志。 例如,对于安全性比活性或响应性更重要的合同,少数报告可能会导致合同要求补充报告 来自另一个 DON,或触发断路器(请参阅下一节)。即使大多数人是诚实的,少数派报告也可以发挥重要作用, 因为任何报告聚合方案,即使它使用功能签名,也必须 以阈值方式操作,以确保针对 oracle 或数据故障的恢复能力。在 换句话说,必须能够根据以下人员的输入生成有效的报告: kS < nS oracles,对于某个阈值 kS。 这意味着损坏的 DON 有一些 通过在其中选择首选 kS 值来操纵报告值的自由度 nS 在 V 中由全套 oracle 报告,即使所有来源都是诚实的。 例如,假设在使用泛函的系统中 nS = 10 且 kS = 7 签名以验证 ETH 美元价格 V 上中位数的计算。 假设五个来源报告的价格为 \(500, while the other five report \)1000。 然后通过对最低 7 个报告进行中值化,DON 可以输出有效值 v = $500, 通过对最高值进行中值化,可以输出 v = $1000。 通过增强 DON 协议,使所有节点都知道哪些数据是 以及哪些数据用于构建报告,节点可以检测并标记 倾向于一组报告而不是另一组报告的统计显着趋势,并产生 结果是一份少数派报告。 7.3 护栏 我们针对 DON 的信任模型将主链视为更高安全性、更高特权 系统比DONs。 (虽然这种信任模型可能并不总是成立,但它更容易 使生成的机制适应 DON 具有更高安全性的情况 平台,反之亦然。) 因此,自然的信任最小化策略涉及在 smart contract 中实施监控和故障安全机制——无论是在主链前端 对于 DON 或直接在从属合同 SC 中。我们将这些机制称为 护栏,并在此列举一些最重要的: • 断路器:SC 可以根据状态更新本身的特征(例如,顺序更新之间的较大差异)暂停或停止状态更新。 报告)或基于其他输入。例如,断路器可能会跳闸 oracle 报告随时间变化令人难以置信的情况。断路器可能 也会被少数派报告绊倒。因此,断路器可以防止 DONs 以免做出严重错误的报告。 断路器可以为考虑额外干预措施提供时间 或锻炼。其中一种干预措施是逃生舱口。 • 逃生舱口:在不利情况下,由一组托管人、社区 token 持有者或其他受托人团体确定,合同可以援引 有时称为逃生舱口 [163] 的紧急设施。逃生舱口 导致 SC 以某种方式关闭和/或终止挂起,并且可能 未来的交易。例如,它可能会将托管资金返还给用户[17]),可以终止合同条款[162],或者可以取消待处理和/或未来的交易[173]。逃生舱口可以部署在任何类型的合同中,而不仅仅是 依赖于 DON 的一个,但它们作为潜在的缓冲区很有趣 DON 渎职行为。 • 故障转移:在 SC 依赖 DON 提供基本服务的系统中,SC 可以提供故障转移机制来确保服务连续性,即使 在 DON 失败或行为不当的情况下。例如,在 TEF(第 6 节)中, 锚定合约SCa可以提供双接口,链上和链上都可以 某些关键操作支持链外执行接口(例如, 提款),或对于普通交易,有适当的延迟以防止 DON 交易的抢先交易。在数据源签署数据的情况下,用户可以 当 DON 未能这样做时,还需向 SCa 提供报告。 欺诈证明,如针对各种形式的乐观 rollup 所提议的(参见第 6.3 节), 与我们上面列举的机制相似且互补。他们 也提供了一种形式的链上监控和保护,防止潜在的故障 链下系统组件。 7.4 信任最小化治理 与所有去中心化系统一样,Chainlink 网络需要治理机制 随着时间的推移调整参数、响应紧急情况并指导其演变。 其中一些机制目前驻留在主链上,并且可能会继续存在 即使部署了 DONs,也要这样做。支付机制就是一个例子 对于 oracle 节点提供商(DON 节点)。 DON 主链上的前端合约 包含额外的机制,例如护栏,可能会受到定期检查 修改。 我们预见了两类治理机制:进化机制和紧急机制。 进化治理: 对 Chainlink 生态系统的许多修改是 这样它们的实施就不是一个紧迫的问题:性能改进, 功能增强、(非紧急)安全升级等。随着 Chainlink 逐渐吸引更多参与者参与其治理,我们预计许多或 大多数此类更改均需由受这些影响的特定 DON 社区批准 变化。在此期间,也许最终作为一个并行机制,我们相信 暂时最小特权的概念可以成为实施进化治理的有用手段。很简单,这个想法是逐步部署变革,确保 社区有机会回应他们。例如,迁移到新的 MAINCHAIN 合约可以受到约束,因此必须部署新合约 激活前至少三十天。应急治理: MAINCHAIN 中可利用或被利用的漏洞 合同或其他形式的活动或安全故障可能需要立即干预,以确保避免灾难性后果。我们的目的是支持多重签名 干预机制,以确保防止任何组织的不当行为, 签名者将分散在各个组织中。确保签名者的一致性可用性 并及时联系适当的指挥系统以授权紧急情况 变革显然需要仔细的运营规划和定期审查。这些 挑战与测试其他网络安全事件响应所涉及的挑战类似 能力 [134],具有类似的需要来解决常见问题,例如警惕性降低 [223]。 DONs 的治理不同于许多去中心化系统的治理 潜在的异质性程度。每个 DON 可能具有不同的数据源、可执行文件、服务级别要求(例如正常运行时间)和用户。 Chainlink 网络的 治理机制必须足够灵活,以适应这些变化 运营目标和参数。我们正在积极探索设计思路并计划 将来发表有关该主题的研究。 7.5 公钥基础设施 随着权力下放的逐步推进,将需要对 网络参与者,包括 DON 节点。特别是,Chainlink 需要强大的 公钥基础设施 (PKI)。 PKI 是将密钥与身份绑定的系统。对于 例如,PKI 巩固了互联网的安全连接系统 (TLS): 您通过 HTTPS(例如 https://www.chainlinklabs.com)连接到网站,并且 浏览器中出现锁,这意味着域所有者的公钥已被锁定 已通过权威机构(具体来说,通过数字签名)与该所有者绑定 所谓的证书。证书颁发机构 (CA) 的分层系统,其顶级根颁发机构硬连线到流行的浏览器中,有助于确保证书 仅颁发给域名的合法所有者。 我们预计 Chainlink 最终将使用去中心化的名称服务, 最初是 Ethereum 名称服务 (ENS) [22],作为我们 PKI 的基础。作为 顾名思义,ENS 类似于 DNS,即映射的域名系统 (人类可读的)域名到互联网上的 IP 地址。然而,ENS 将人类可读的 Ethereum 名称映射到 blockchain 地址。因为ENS 在 Ethereum blockchain 上运行,禁止密钥泄露、篡改其 原则上命名空间与篡改管理它的合约一样困难 和/或底层 blockchain。 (相比之下,DNS 历史上一直很脆弱 欺骗、劫持和其他攻击。) 我们已在 Ethereum 主网上向 ENS 注册了 data.eth,并打算 将其建立为根命名空间,在该根命名空间下 oracle 数据服务和 其他 Chainlink 网络实体驻留。 ENS 中的域是分层的,这意味着每个域都可能包含引用 其下的其他名称。 ENS 中的子域名可以作为组织和委托信任。 data.eth 的主要作用是作为链上目录服务 数据馈送。传统上,oracle 的开发者和用户使用链外资源 (例如,docs.chain.link 或 data.chain.link 等网站,或社交网络,例如 Twitter)发布并获取 oracle 数据源地址(例如 ETH-USD 价格 饲料)。使用高度可信的根命名空间(例如 data.eth),可以建立 eth-usd.data.eth 到例如 smart contract 地址的映射 用于 ETH-USD 价格反馈的链上 oracle 网络聚合器。这会 为任何人创建一条安全路径,将 blockchain 作为事实来源 该价格/名称对 (ETH-USD) 的数据源。因此,ENS 的这种使用 实现了链下数据源无法实现的两个好处: • 强大的安全性:对域的所有更改和更新都被永久记录 并以加密方式进行保护,而不是网站上的文本地址,这 不享有这两个安全属性。 • 自动链上传播:更新数据源的 smart contract 的底层地址可以触发传播到依赖智能的通知。 合同,例如可以自动更新相关合同 新地址.13 然而,像 ENS 这样的命名空间不会自动验证合法所有权 断言的名称。因此,例如,如果名称空间包含条目 ⟨“Acme Oracle Node Co.”,addr⟩, 那么用户就可以保证 addr 属于名称为 Acme 的声明者 Oracle Node Co. 没有围绕命名空间管理的额外机制, 然而,她无法保证该名称合法属于某个实体 在现实世界中,我们将其称为 Acme Oracle Node Co.。 我们验证名称的方法,即确保相应的、合法的现实世界实体拥有它们的所有权,依赖于几个组件。今天,Chainlink 实验室 实际上充当 Chainlink 网络的 CA。虽然 Chainlink 实验室将继续 为了验证名称,我们的 PKI 将通过两种方式演变成更加去中心化的模型: • 信任网络模型:分层 PKI 的去中心化版本通常被称为信任网络。14 自 20 世纪 90 年代以来就已经提出了各种变体, 例如,[98],并且许多研究人员观察到 blockchain 可以通过以全局一致的方式记录证书来促进该想法的使用,例如 [227] 分类帐。我们正在探索该模型的变体来验证实体的身份 以更加去中心化的方式存在于 Chainlink 网络中。 13从属合同可以选择包括预定的延迟,以允许手动检查 以及依赖合同管理员的干预。 14 Phil Zimmermann 为 PGP [238] 创造的术语。• 与验证数据的链接:如今,大量oracle 节点性能数据在链上可见,因此存档绑定到节点地址。 此类数据可被视为通过提供其(可靠)参与网络的历史证据来丰富 PKI 中的身份。另外,工具 用于基于 DECO 和 Town Crier [160] 启用节点的去中心化身份 积累来自现实世界数据的凭证。仅举一个例子, 节点操作员可以将凭证附加到其 PKI 身份以证明拥有权 邓白氏评级。这些补充形式的验证可以 补充 staking 以确保网络安全。具有既定现实世界身份的 oracle 节点可能被视为拥有权益 在一个源于其声誉的系统中。 (参见第 4.3 节和第 9.6.3 节。) Chainlink PKI 的最终要求是安全引导,即安全地 发布 Chainlink 网络的根名称,当前为 data.eth (类似地 到浏览器中顶级域的硬连线)。换句话说,Chainlink 用户如何 确定 data.eth 确实是与 Chainlink 关联的顶级域 项目? Chainlink 网络解决这个问题的方法是多管齐下的 可能涉及: • 将 TXT 记录 [224] 添加到指定的 chain.link 域记录中 data.eth 作为 Chainlink 生态系统的根域。 (Chainlink 因此隐式利用互联网域的 PKI 来验证其根 ENS 域。) • 从 Chainlink 的现有网站链接到 data.eth,例如来自 https://docs.chain.link. (另一种隐式使用 PKI 的互联网域。) • 通过各种文档(包括本白皮书)让人们了解 data.eth 的使用。 • 在我们的社交媒体渠道(例如 Twitter)上公开发布 data.eth,以及 Chainlink 博客 [18]。 • 将大量LINK置于同一注册者地址的控制之下 作为 data.eth。
DON 배포 고려 사항
핵심 설계의 일부는 아니지만 몇 가지 중요한 기술적 고려 사항이 있습니다. 여기서 치료받을 가치가 있는 DON을 실현합니다.
8.1 출시 접근 방식 이 문서에서는 고급 Chainlink 기능에 대한 야심찬 비전을 제시합니다. 이를 실현하려면 그 과정에서 많은 과제에 대한 솔루션이 필요합니다. 이 백서 몇 가지 문제를 식별하지만 예상치 못한 문제도 발생할 수 있습니다. 우리는 이 비전의 요소를 점진적인 방식으로 구현할 계획입니다. 연장된 기간. 우리는 DONs가 처음에 다음과 같이 출시될 것으로 예상합니다. 내부 팀이 공동으로 구축한 사전 구축된 특정 구성 요소에 대한 지원 Chainlink 커뮤니티. 의도는 DON을 더 광범위하게 사용하는 것입니다. 임의의 실행 파일을 실행하면 나중에 지원될 예정입니다. 이러한 주의가 필요한 한 가지 이유는 최근 플래시 대출 기반 공격이 예를 들어 [127, 189]에 표시되어 있습니다. 마찬가지로 smart contract, 어댑터 및 실행 파일에는 극도의 주의가 필요합니다. DONs의 초기 배포에서는 사전 구축된 템플릿화된 실행 파일 및 어댑터 세트만 포함할 계획입니다. 이를 통해 구성 보안에 대한 연구가 가능해집니다. 공식적인 방법 [46, 170] 및 기타 접근 방식을 사용하여 이러한 기능을 수행합니다. 그럴 것이다 또한 가격 책정을 단순화합니다. 기능 가격 책정은 채택된 접근 방식인 일반화된 측정을 통하지 않고 기능별로 DON 노드별로 설정할 수 있습니다. 예: [156]. 우리는 또한 Chainlink 커뮤니티가 창작에 참여할 것으로 기대합니다. 다양한 어댑터와 실행 파일을 점점 더 많이 결합하는 추가 템플릿 수천 명은 아니더라도 수백 명이 운영할 수 있는 유용한 분산형 서비스 DONs. 또한 이 접근 방식은 상태 팽창(즉, DON의 필요성)을 방지하는 데 도움이 될 수 있습니다. 작업 메모리에 작업할 수 없는 양의 상태를 유지하는 노드입니다. 이 문제는 무허가형 blockchains에서 이미 발생하고 있으며, "상태 비저장"과 같은 접근 방식에 동기를 부여합니다. 클라이언트”(예: [206] 참조). 처리량이 높은 시스템에서는 더욱 심각해질 수 있습니다. DON이 상태 크기에 최적화된 실행 파일만 배포하는 접근 방식입니다. DON이 발전하고 성숙해지며 섹션 7에 설명된 강력한 가드레일, 섹션 9에 설명된 암호화폐 경제 및 평판 기반 보안 메커니즘, DON 사용자에게 높은 수준의 보증을 제공하는 기타 기능을 포함함에 따라 우리는 또한 보다 광범위한 출시와 사용을 촉진하기 위한 프레임워크와 도구를 개발할 것으로 예상됩니다. DONs는 커뮤니티에서 제공합니다. 이상적으로 이러한 도구는 노드 운영자 모음을 활성화합니다. oracle 네트워크로 함께 모여서 무허가 환경에서 자신만의 DON을 시작합니다. 또는 셀프 서비스 방식으로 일방적으로 그렇게 할 수 있음을 의미합니다. 8.2 동적 DON 멤버십 특정 DON을 실행하는 노드 집합은 시간이 지남에 따라 변경될 수 있습니다. 두 가지 접근 방식이 있습니다. O의 동적 멤버십을 통해 SKL의 키 관리에 사용됩니다. 첫 번째는 멤버십 변경 시 노드가 보유한 SKL의 지분을 업데이트하는 것입니다. pkL을 변경하지 않고 유지합니다. [41, 161, 198]에서 탐구된 이 접근법은 장점이 있습니다. 신뢰 당사자가 pkL을 업데이트하도록 요구하지 않습니다.[122]에 도입된 전통적인 공유 재공유 기술은 다음과 같은 간단한 기능을 제공합니다. 그리고 그러한 공유 업데이트를 실현하는 효율적인 방법입니다. 비밀을 전송할 수 있게 해줍니다. 한 세트의 노드 O(1)과 두 번째 노드 사이에서, 아마도 하나의 O(2)와 교차할 수 있습니다. 이에 접근 방식, 각 노드 O(1) 나 전체에서 비밀 공유의 (k(2), n(2)) 비밀 공유를 수행합니다. n(2) = |O(2)|에 대한 O(2)의 노드 그리고 원하는(아마도 새로운) 임계값 k(2). 다양한 VSS(검증 가능한 비밀 공유) 체계 [108]는 다음과 같은 공격자에 대한 보안을 제공할 수 있습니다. 노드를 적극적으로 손상시킵니다. 즉, 프로토콜에 악의적인 동작을 도입합니다. [161]의 기술은 통신 복잡성을 줄이고 다음을 제공하는 동시에 이를 수행하는 것을 목표로 합니다. 암호화 경도 가정의 실패에 대한 탄력성. 두 번째 접근 방식은 원장 키 pkL을 업데이트하는 것입니다. 이는 앞으로의 이점이 있습니다. 보안: pkL의 오래된 공유(예: 이전 위원회 노드)가 손상되지 않습니다. 현재 키가 손상될 수 있습니다. 그러나 pkL 업데이트에는 두 가지 단점이 있습니다. (1) pkL로 암호화된 데이터는 키 새로 고침 중에 다시 암호화되어야 하며 (2) 주요 업데이트는 신뢰 당사자에게 전파되어야 합니다. 우리는 두 가지 접근 방식과 두 가지의 하이브리드화를 모두 탐색할 계획입니다. 8.3 DON 책임 기존 Chainlink oracle 네트워크와 마찬가지로 DONs에는 올바른 노드 동작을 기록, 모니터링 및 시행하는 책임 메커니즘이 포함됩니다. DON은(는) 기존의 많은 무허가 blockchain보다 훨씬 더 많은 데이터 용량, 특히 외부 분산 저장소에 연결할 수 있다는 점을 고려하면 더욱 그렇습니다. 결과적으로 노드의 성능 내역을 자세히 기록할 수 있게 됩니다. 보다 세분화된 책임 메커니즘. 예를 들어, 오프체인 계산은 다음과 같습니다. 자산 가격에는 중간 결과가 전송되기 전에 폐기되는 입력이 포함될 수 있습니다. 체인. DON에는 이러한 중간 결과가 기록될 수 있습니다. 따라서 DON의 개별 노드에 의한 오작동 또는 성능 저하가 해결되거나 처벌될 수 있습니다. DON을 세밀하게 처리합니다. 우리는 구축 방법에 대해서도 추가로 논의했습니다. 시스템 장애의 계약별 영향을 다루는 섹션 7.3의 가드레일. 그러나 DON 자체에 대한 안전 장치 메커니즘을 갖추는 것도 중요합니다. 즉, 체계적이고 잠재적으로 치명적인 DON 오류로부터 보호합니다. 지금 설명하는 것처럼 포크/모호함 및 서비스 수준 계약(SLA) 실패. 포크/모호함: 결함이 있는 노드가 충분히 많으면 DON는 분기할 수 있습니다. 또는 모호하게 표현하여 L에서 두 개의 서로 다른 일관성 없는 블록 또는 블록 시퀀스를 생성합니다. 그러나 DON은 L의 내용에 디지털 서명을 하기 때문에 모호함을 방지 및/또는 처벌하기 위한 메인 체인 MAINCHAIN. DON은 MAINCHAIN의 감사 계약에서 L의 상태를 주기적으로 체크포인트할 수 있습니다. 미래 상태가 체크포인트 상태에서 벗어나면 사용자/감사자는 증거를 제시할 수 있습니다. 감사 계약에 대한 이러한 잘못된 행동. 이러한 증거는 경고를 생성하는 데 사용될 수 있습니다. 또는 계약에서 슬래싱을 통해 DON 노드에 불이익을 줍니다. 이 후자의 접근 방식은 특정 oracle 피드에 대한 것과 유사한 인센티브 설계 문제이며 이를 기반으로 구축할 수 있습니다. 우리의 작업은 섹션 9에 설명되어 있습니다.서비스 수준 계약 시행: DON이 반드시 그런 것은 아닙니다. 무한정 실행되므로 SLA(서비스 수준 계약)를 준수하는 것이 중요합니다. 사용자와 함께. 기본 SLA 시행은 메인 체인에서 가능합니다. 예를 들어, DON 노드는 특정 날짜까지 DON을 유지하거나 서비스 종료에 대한 사전 통지(예: 3개월 전 통지)를 제공하기로 약속할 수 있습니다. 에 대한 계약 MAINCHAIN은 기본적인 암호경제학적 SLA 시행을 제공할 수 있습니다. 예를 들어 SLA 계약은 체크포인트가 다음과 같은 경우 예치된 자금 DON을 삭감할 수 있습니다. 필요한 간격으로 제공되지 않습니다. 사용자는 자금을 입금하고 DON에 이의를 제기할 수 있습니다. 체크포인트가 유효한 블록의 시퀀스를 정확하게 나타내는지 증명하기 위해(어떤 방식으로든) 예를 들어 다음과 유사합니다. [141]). 물론 블록생산은 거래와 동일하지 않습니다. 처리하지만 SLA 계약은 후자를 시행하는 역할도 할 수 있습니다. 예를 들어, 트랜잭션을 mempool에서 가져오고(섹션 5.2 참조) 트랜잭션을 채굴하여 체인에 배치하는 레거시 호환 버전의 FSS입니다. 사용자 다음 거래와 함께 SLA 계약을 제공하여 DON 불법 행위를 입증할 수 있습니다. 채굴되었지만 대상 계약에 의한 처리를 위해 DON에 의해 전송되지 않았습니다. 적절한 시간 간격 내에서.15 보다 세분화된 SLA의 존재를 증명하고 처벌하는 것도 가능합니다. 실행 파일을 사용한 계산 오류를 포함한 실패(예: 메커니즘을 통해) 섹션 6.3에 설명된 올바른 오프체인 상태 트랜잭션 또는 실행 실패를 증명하기 위해 DON에 표시되는 개시자 기반 실행 파일, DON의 데이터를 다음으로 전달하지 못했습니다. 적시에 MAINCHAIN을 수행하는 등의 작업을 수행합니다.
DON 部署注意事项
虽然不是我们核心设计的一部分,但有几个重要的技术考虑因素 实现 DON 值得在这里处理。
8.1 推出方法 本文提出了先进 Chainlink 功能的雄心勃勃的愿景,其 实现这一目标需要解决沿途的许多挑战。本白皮书 指出了一些挑战,但肯定会出现意想不到的挑战。 我们计划以渐进的方式实施这一愿景的要素 延长的一段时间。 我们的期望是 DONs 最初将与 支持由内部团队协作构建的特定预构建组件 Chainlink 社区。目的是更广泛地使用 DONs,例如能够 启动任意可执行文件,稍后会看到支持。 如此谨慎的原因之一是 smart contract 的组成可能会产生复杂的、意想不到的和危险的副作用,因为最近基于闪电贷的攻击已经 例如[127, 189]所示。同样,smart contract、适配器和 可执行文件需要格外小心。 在 DONs 的初始部署中,我们计划仅包含一组预构建的模板化可执行文件和适配器。这将使成分安全性的研究成为可能 使用形式化方法 [46, 170] 和其他方法来构建这些功能。它将 还简化了定价:功能定价可以由 DON 节点在功能基础上建立,而不是通过通用计量(采用的一种方法) 例如,[156]。我们还期望 Chainlink 社区参与创建 额外的模板,将各种适配器和可执行文件组合成越来越多的 有用的去中心化服务可以由数百甚至数千个人运行 DONs。 此外,这种方法可以帮助防止状态膨胀,即需要 DON 节点在工作内存中保留无法工作的状态量。这个问题是 已经在无许可的 blockchain 中出现,激励诸如“无状态 客户”(例如,参见 [206])。在吞吐量较高的系统中,它可能会更加严重,从而激励 DON 仅部署状态大小优化的可执行文件的方法。 随着 DON 的发展和成熟,并包括第 7 节中讨论的强大护栏、第 9 节中讨论的加密经济和基于声誉的安全机制,以及为 DON 用户提供高度保证的其他功能,我们 还期望开发一个框架和工具,以促进更广泛的启动和使用 社区的 DONs。理想情况下,这些工具将支持节点运营商的集合 作为一个 oracle 网络聚集在一起,并在未经许可的情况下启动他们自己的 DON 或自助服务方式,这意味着他们可以单方面这样做。 8.2 动态 DON 会员资格 运行给定 DON 的节点集可能会随时间而变化。有两种方法 给定 O 中的动态成员资格的 skL 的密钥管理。 第一个是在成员资格发生变化时更新节点持有的 skL 份额, 同时保持 pkL 不变。 [41,161,198]中探讨的这种方法具有以下优点 不要求依赖方更新 pkL。[122] 中介绍的共享重新共享的经典技术提供了一种简单的方法 以及实现此类共享更新的有效方法。它可以传输秘密 在一组节点 O(1) 和第二组节点之间,可能与一个 O(2) 相交。在这个 方法,每个节点 O(1) 我 执行 (k(2), n(2)) 秘密共享其秘密共享 n(2) = |O(2)| 的 O(2) 中的节点和期望的(可能是新的)阈值 k(2)。各种可验证秘密共享 (VSS) 方案 [108] 可以针对以下对手提供安全保护: 主动破坏节点,即在协议中引入恶意行为。 [161] 中的技术旨在做到这一点,同时降低通信复杂性并提供 针对密码硬度假设失败的弹性。 第二种方法是更新账本密钥 pkL。这样做的好处是可以向前推进 安全性:pkL 的旧份额(即前委员会节点)不会受到损害 导致当前密钥的泄露。然而,pkL 的更新有两个缺点: (1) 在 pkL 下加密的数据需要在密钥刷新期间重新加密,并且 (2) 密钥更新需要传播给依赖方。 我们打算探索这两种方法以及两者的混合。 8.3 DON 责任 与现有的 Chainlink oracle 网络一样,DON 将包括问责机制,即记录、监控和强制执行正确的节点行为。 DONs 将有 比许多现有的无需许可的 blockchain 拥有更多的数据容量, 特别是考虑到它们连接到外部分散存储的能力。因此,他们将能够详细记录节点的性能历史记录,从而允许 更细粒度的问责机制。例如,链外计算 资产价格可能涉及在发送中值结果之前被丢弃的输入 链。在 DON 中,可以记录这些中间结果。因此,DON 中各个节点的不当行为或性能失误可以在 DON 以细粒度的方式。我们还讨论了构建方法 第 7.3 节中的防护栏解决了系统故障的特定于合约的影响。 然而,为 DON 本身提供故障安全机制也很重要, 即针对系统性、潜在灾难性 DON 故障的保护,特别是 正如我们现在所解释的,分叉/模棱两可和服务级别协议 (SLA) 失败。 分叉/模棱两可: 给定足够多的故障节点,DON 可以分叉 或模棱两可,在 L 中产生两个不同的、不一致的块或块序列。 然而,因为 DON 对 L 的内容进行数字签名,所以可以利用 主链 MAINCHAIN 来防止和/或惩罚模棱两可。 DON 可以定期检查主链上审计合约中 L 的状态。 如果其未来状态偏离检查点状态,用户/审计员可以提供证据 审计合同中的这种不当行为。此类证据可用于生成警报 或者通过合约中的削减来惩罚 DON 节点。后一种方法引入了 类似于特定 oracle feed 的激励设计问题,并且可以建立在 我们的工作在第 9 节中概述。执行服务级别协议: 虽然 DONs 并不一定意味着 无限期运行,遵守服务级别协议 (SLA) 非常重要 与他们的用户。在主链上可以执行基本的 SLA。例如, DON 节点可能承诺维护 DON 直到某个日期,或提前提供服务终止通知(例如,提前三个月通知)。合同于 MAINCHAIN 可以提供基本的加密经济 SLA 执行。 例如,如果检查点是,SLA 合约可以削减 DON 存入的资金 未按要求的时间间隔提供。用户可以存入资金并质疑 DON 证明检查点正确地表示一系列有效块(以某种方式 类似于,例如[141])。当然,出块并不等于交易 处理,但 SLA 合同也可以用于执行后者。例如,在 FSS 的传统兼容版本,其中交易从内存池中获取(参见第 5.2 节),交易最终被挖掘并放置在链上。一个用户 可以通过向 SLA 合约提供以下交易来证明 DON 渎职行为: 已开采,但未由 DON 传输以供目标合约处理 在适当的时间间隔内。15 还可以证明更细粒度的 SLA 的存在并对其进行惩罚 失败,包括使用可执行文件的计算错误(例如,通过机制 用于证明第 6.3 节中概述的正确的链下状态交易)或运行失败 基于 DON 上可见的启动器的可执行文件,无法将 DON 上的数据中继到 及时进行MAINCHAIN等等。
경제학과 암호경제학
Chainlink 네트워크가 분산형 신뢰 모델 내에서 강력한 보안을 달성하려면, 노드가 집합적으로 올바른 동작을 나타내는 것이 중요합니다. 대부분의 경우 정확히 DON 프로토콜에 적용됩니다. 이 섹션에서는 접근 방식에 대해 논의합니다. 경제적 인센티브(일명 암호경제학)를 통해 그러한 행동을 강제하도록 돕는 것입니다. 인센티브. 이러한 인센티브는 명시적 인센티브와 암묵적 인센티브, 실현형이라는 두 가지 범주로 나뉩니다. staking 및 향후 수수료 기회(FFO)를 통해 각각. 스테이킹: 다른 blockchain 시스템과 마찬가지로 Chainlink에 스테이킹하려면 네트워크 참가자(예: oracle 노드)가 참여하고 LINK tokens 형식으로 잠긴 자금을 예치해야 합니다. 이것들 지분 또는 명시적 지분이라고도 하는 자금은 명시적인 인센티브입니다. 그들은 노드 장애 또는 불법 행위 시 몰수될 수 있습니다. blockchain 맥락에서, 이 절차를 흔히 슬래싱이라고 합니다. 그러나 Chainlink의 oracle 노드에 의한 스테이킹은 staking과 근본적으로 다릅니다. 권한이 없는 blockchains에서 validators에 의해. 검증인은 거래를 모호하게 하거나 적대적으로 주문함으로써 잘못된 행동을 할 수 있습니다. 기본 합의 프로토콜 15사용자는 mempool의 트랜잭션을 대체할 수 있으므로 채굴된 트랜잭션과 DON 제출된 트랜잭션 간의 올바른 대응을 보장하기 위해 주의가 필요합니다.하지만 무허가 blockchain은 확실하고 빠른 블록 유효성 검사 규칙과 암호화 프리미티브를 사용하여 validator이 잘못된 블록을 생성하는 것을 방지합니다. 대조적으로, 프로그래밍 방식의 보호로는 부정 행위 oracle 네트워크가 생성되는 것을 방지할 수 없습니다. 잘못된 보고서. 그 이유는 두 가지 시스템 유형 간의 주요 차이점입니다. blockchains의 트랜잭션 유효성 검사는 내부 일관성의 속성인 반면 정확성은 oracle의 blockchain에 대한 보고서는 외부, 즉 오프체인 데이터의 속성입니다. 우리는 Chainlink 네트워크 기반을 위한 예비 staking 메커니즘을 설계했습니다. 외부 데이터를 사용할 수 있는 oracle 노드 간의 대화형 프로토콜에서. 이 메커니즘은 명시적인 보상을 사용하여 올바른 행동에 대한 재정적 인센티브를 생성합니다. 페널티(슬래싱). 메커니즘이 경제적이므로 노드를 방지하도록 설계되었습니다. 금융 자원을 사용하여 노드를 손상시키는 적에 의한 부패 뇌물 수수. (이러한 적은 매우 일반적이며, 예를 들어 협력하는 노드까지 확장됩니다. 집단적인 잘못된 행동에서 가치를 추출합니다.) 우리가 디자인한 Chainlink staking 메커니즘에는 강력하고 새로운 기능이 있습니다. 특징.16 이러한 주요 특징은 초선형 영향(구체적으로는 2차)입니다. 공격자는 노드에 예치된 자금을 훨씬 초과하는 리소스를 보유해야 합니다. 메커니즘을 파괴하기 위해. 우리의 staking 메커니즘은 유사한 시스템에서 이전에 고려했던 것보다 더 강력한 적에 대한 보호 기능을 추가로 제공합니다. 노드의 미래 행동에 따라 뇌물을 제공할 수 있는 적입니다. 또한 DECO와 같은 Chainlink 도구가 staking을 강화하는 데 어떻게 도움이 될 수 있는지 논의합니다. 결함이 있는 노드 동작의 경우 올바른 판단을 촉진하여 메커니즘을 제공합니다. 미래 수수료 기회(FFO): 두 PoW의 무허가 blockchains 그리고 PoS 다양성 - 오늘날 우리가 암시적 인센티브라고 부르는 것에 크게 의존하고 있습니다. 이들은 명시적인 보상이 아닌 정직한 행동에 대한 경제적 인센티브 플랫폼 참여 자체에서. 예를 들어, Bitcoin 채굴자 커뮤니티는 신뢰를 훼손할 위험이 있으므로 51% 공격을 가하지 않도록 인센티브를 받습니다. Bitcoin, 그 가치를 저하시키고 결과적으로 집단의 가치를 침식합니다. 광산 인프라에 대한 자본 투자 [150]. Chainlink 네트워크는 우리가 참조하는 유사한 암시적 인센티브로부터 이점을 얻습니다. 미래 수수료 기회(FFO)로. 강력한 성능 기록을 보유한 Oracle 노드 또는 평판은 사용자로부터 수수료를 받습니다. oracle 노드의 오작동으로 인해 미래가 위태로워집니다. 수수료를 지불하고 잠재력 측면에서 기회비용으로 노드에 불이익을 줍니다. 네트워크 참여를 통해 얻은 수익. 명시적 지분과 유사하게, FFO는 암묵적 지분의 한 형태로 볼 수 있으며, 이는 정직한 행동에 대한 인센티브입니다. 플랫폼에 대한 신뢰를 유지함으로써 얻을 수 있는 공유 이익에서 비롯됩니다. 노드 운영자의 비즈니스는 즉, 노드의 긍정적인 성과와 평판에 달려 있습니다. 네트워크. 이 인센티브는 Chainlink 네트워크에 내재되어 있지만 명시적으로 표현되지는 않습니다. 프로토콜. Bitcoin에서는 위에서 언급한 채굴 운영의 가치를 유지합니다. 16여기서 설명하는 staking 메커니즘은 현재 올바른 보고서 전달을 강제하는 것을 목표로 합니다. oracle 네트워크로. 우리는 향후 작업에서 이를 확장하여 많은 항목의 올바른 실행을 보장할 것으로 기대합니다. DONs가 제공할 다른 기능입니다.마찬가지로 암묵적 지분의 한 형태로 볼 수 있습니다. FFO는 이미 Chainlink에 존재하며 네트워크 보안에 도움이 된다는 점을 강조합니다. 오늘. Chainlink의 추가 개발에 대한 우리의 주요 기여는 FFO와 같은 암시적 인센티브를 평가하는 원칙에 입각하고 경험에 기반한 접근 방식이 될 것입니다. 우리는 암시적 인센티브 프레임워크(IIF)라고 부릅니다. 등의 수량을 추정하려면 노드의 향후 수수료 기회에 따라 IIF는 포괄적인 정보를 지속적으로 활용할 것입니다. Chainlink 네트워크가 축적한 성과 및 결제 데이터. 그러한 추정 노드 인센티브를 반영하는 staking 시스템의 IIF 기반 매개변수화를 활성화합니다. 현재의 경험적 및/또는 정적 모델보다 더 높은 정확도를 제공합니다. 그러면 올바른 oracle 노드에 대한 두 가지 주요 경제적 인센티브를 요약해 보겠습니다. 개발 중인 Chainlink 네트워크의 동작은 다음과 같습니다. • 스테이킹(예치된 지분) 오 명시적 인센티브 • 미래 수수료 기회(FFO) 오 암묵적 인센티브 이 두 가지 형태의 인센티브는 상호보완적입니다. Oracle 노드는 동시에 Chainlink staking 프로토콜에 참여하고, 지속적인 수익원을 즐기세요. 사용자는 지속적인 좋은 행동으로 인해 총체적으로 이익을 얻습니다. 따라서 두 인센티브 모두 oracle 네트워크가 제공하는 암호경제적 보안에 기여합니다. 추가적으로, 두 가지 인센티브는 서로 강화되거나 거래될 수 있습니다. 예를 들어, 실적 내역과 수익원이 없는 새로운 oracle 운영자는 정직한 행동을 보장하기 위해 대량의 LINK를 제공하여 사용자를 유치합니다. 그리고 수수료. 반대로, 길고 상대적으로 결함이 없는 확립된 oracle 연산자 성과 기록은 대규모 사용자 기반에서 상당한 수수료를 부과할 수 있으므로 이에 의존합니다. 암묵적인 인센티브의 형태로 FFO에 더 중점을 두고 있습니다. 일반적으로 여기서 고려하는 접근 방식은 주어진 양의 oracle-네트워크를 목표로 합니다. 합리적으로 Chainlink에서 가능한 최대의 경제적 인센티브를 창출할 수 있는 자원 에이전트(즉, 재정적 효용을 극대화하는 노드)는 정직하게 행동합니다. 다른 것을 넣어 방식으로, 목표는 적이 공격하는 데 필요한 재정 자원을 최대화하는 것입니다. 네트워크가 성공적으로 완료되었습니다. staking 프로토콜을 수학적으로 잘 공식화함으로써 경제적 안보를 정의하고 IIF를 사용하여 우리는 경제 안보의 강도를 측정하는 것을 목표로 합니다. Chainlink의 인센티브를 최대한 정확하게 전달하세요. 의존 계약의 작성자는 그런 다음 oracle 네트워크가 충족하는지 여부를 자신있게 결정할 수 있습니다. 필요한 수준의 암호화폐 보안. 경제 안보의 선순환: 이 섹션에서 논의하는 인센티브인 staking 및 FFO는 보안 강화 이상의 영향을 미칩니다. DONs. 그들은 우리가 경제 안보의 선순환이라고 부르는 것을 유도할 것을 약속합니다. 초선형 staking 영향(및 기타 규모의 경제)으로 인해 운영이 저하됩니다. DON의 보안이 강화됨에 따라 비용이 증가합니다. 비용이 낮아지면 DON에 더 많은 사용자가 유입됩니다.수수료 지불을 강화합니다. 수수료 인상은 계속해서 성장을 촉진합니다. 선순환을 이어가는 네트워크입니다. 우리는 경제 안보의 선순환이 하나의 예일 뿐이라고 믿습니다. 이 섹션의 뒷부분에서 논의할 규모의 경제와 네트워크 효과 등이 있습니다. 섹션 구성: 스테이킹은 주목할만한 기술 및 개념적 과제를 제시합니다. 우리는 새로운 기능을 갖춘 메커니즘을 설계했습니다. 따라서 스테이킹은 이 섹션의 주요 초점은 다음과 같습니다. 섹션 9.1에서 이 문서에 소개된 staking 접근 방식에 대한 개요를 제공하고 섹션 9.2~9.5에서 자세한 논의를 진행합니다. IFF를 소개합니다 섹션 9.6에서. 섹션 9.7에서는 Chainlink 네트워크 인센티브에 대한 요약 보기를 제시합니다. 섹션 9.8에서는 우리가 제안한 staking 접근 방식이 oracle 네트워크에 가져올 수 있는 경제적 보안의 선순환에 대해 논의합니다. 마지막으로 다른 가능성에 대해 간단히 설명하겠습니다. 섹션 9.9에서 Chainlink 네트워크의 성장을 촉진하는 효과가 있습니다. 9.1 스테이킹 개요 위에서 언급한 것처럼 여기서 소개하는 staking 메커니즘 설계에는 oracle 노드 간의 불일치를 해결할 수 있는 대화형 프로토콜이 포함됩니다. 외부 데이터 보고. 스테이킹은 합리적인 oracle 노드의 정직한 행동을 보장하는 것을 목표로 합니다. 따라서 우리는 staking 프로토콜을 공격하는 공격자를 모델링할 수 있습니다. 뇌물 수수: 적의 전략은 재정적 인센티브를 사용하여 oracle 노드를 부패시키는 것입니다. 공격자는 성공적인 변조를 통해 전향적으로 재정적 자원을 확보할 수 있습니다. oracle 보고서를 사용하여 예를 들어 결과 이익을 손상된 노드와 공유하겠다고 제안합니다. 우리는 staking 메커니즘 설계를 동시에 두 가지 야심찬 목표로 삼고 있습니다. 1. 강력한 적에 저항: staking 메커니즘은 보호하기 위해 설계되었습니다. oracle 네트워크는 복잡하고, 뇌물을 제공하는 장래의 뇌물 수수를 포함한 조건부 뇌물 수수 전략 사실 이후에 신원이 확인된 oracles에게(예: 뇌물 제공) oracle은 우선순위가 높은 알림을 위해 무작위로 선택됩니다. 다른 oracle 디자인 현실적인 능력을 모두 갖추지 못한 좁은 범위의 공격을 고려했습니다. 우리가 아는 한, 우리가 도입하는 적대적 메커니즘 광범위한 뇌물 수수 전략을 명시적으로 다루고 보여주는 첫 번째 사례는 다음과 같습니다. 이 모델의 저항. 우리 모델은 공격자 이외의 노드가 다음과 같다고 가정합니다. (정직과는 반대로) 경제적으로 합리적이며, 우리는 일반적인 사용에는 엄청나게 비용이 많이 들지만 사용 가능한 정보 소스 동의하지 않는 경우(아래에서 자세히 설명) 2. 초선형 staking 영향 달성: 우리의 목표는 합리적인 에이전트로 구성된 oracle 네트워크가 보고서를 작성하도록 하는 것입니다. 실제로 초선형 예산을 가진 공격자가 있는 경우에도 마찬가지입니다.전체 네트워크가 예치한 총 지분입니다. 기존 staking 시스템에서 다음과 같은 경우 n개의 노드 각각은 $d를 스테이크하며, 공격자는 요청하는 신뢰할 수 있는 뇌물을 발행할 수 있습니다. 노드는 다음보다 약간 더 많은 금액을 지불하는 대가로 부정직하게 행동합니다. \(d to each node, using a total budget of about \)dn. 이것은 이미 높은 기준입니다. 공격자는 예금을 합친 정도의 유동 예산을 가지고 있어야 합니다. 네트워크의 모든 스테이커. 우리의 목표는 더욱 강력한 경제적 안정을 이루는 것입니다. 이것보다 이미 상당한 장애물이 있습니다. 우리는 최초의 staking 시스템을 설계하는 것을 목표로 합니다. n의 예산 초선형으로 일반 공격자에 대한 보안을 달성할 수 있습니다. 아래에서 논의하는 바와 같이 실제적인 고려 사항은 더 낮은 영향을 미칠 수 있지만, 우리의 예비 설계는 다음보다 더 큰 적대적 예산 요구 사항을 달성합니다. $dn2/2, 즉 n으로 2차 스케일링하여 뇌물 수수를 거의 비현실적으로 만듭니다. 노드가 적당한 양만 스테이킹하는 경우. 이 두 가지 목표를 달성하려면 혁신적인 인센티브 설계 조합이 필요합니다. 그리고 암호화. 주요 아이디어: 우리의 staking 접근 방식은 감시 우선 순위라고 부르는 아이디어에 달려 있습니다. Chainlink oracle 네트워크에서 생성되어 신뢰 계약으로 전송되는 보고서 (예: 자산 가격)은 참여 노드가 제공한 개별 보고서에서 집계됩니다(예: 중앙값을 사용하여). 일반적으로 서비스 수준 계약(SLA) 보고서에 대해 허용 가능한 편차 범위, 즉 노드의 보고서가 얼마나 멀리까지 허용되는지를 지정합니다. 집계 보고서에서 벗어나는 범위와 집계가 어느 정도까지 허용되어야 하는지 실제 값에서 벗어나면 올바른 것으로 간주됩니다. staking 시스템에서 특정 보고 라운드에 대해 각 oracle 노드는 다음과 같은 역할을 할 수 있습니다. 집계 보고서가 부정확하다고 판단되면 경고를 발생시키는 감시자입니다. 각각 보고 라운드에서 각 oracle 노드에는 다음을 결정하는 공개 우선순위가 할당됩니다. 경고(있는 경우)가 처리되는 순서입니다. 우리의 메커니즘은 보상을 목표로 합니다. 이는 경보를 발생시키는 최우선 순위의 감시자가 결함이 있는 노드의 예금을 압수하여 전체 보상을 얻습니다. staking 시스템 설계에는 두 가지 계층, 즉 첫 번째 기본 계층과 두 번째 계층이 포함됩니다. 백스톱 계층. 첫 번째 계층은 n개의 노드 집합인 oracle 네트워크 자체입니다. (단순화를 위해, 우리는 n이 홀수라고 가정합니다.) 대다수의 노드가 잘못된 값을 보고하면 첫 번째 계층은 경고를 발생시키도록 강력한 인센티브를 받습니다. 경고가 발생하면 보고는 그런 다음 네트워크 결정은 네트워크 서비스 수준 계약에서 사용자가 지정할 수 있는 고비용, 최대 신뢰성 시스템인 두 번째 계층으로 승격됩니다. 예를 들어, 강력한 노드로만 구성된 시스템일 수 있습니다. 과거 신뢰도 점수 또는 그보다 훨씬 더 많은 oracle을 가진 점수 첫 번째 계층. 또한 섹션 9.4.3에서 설명한 대로 DECO 또는 Town Crier가 서비스를 제공할 수 있습니다. 두 번째 계층에서 효율적이고 결정적인 판결을 보장하는 데 도움이 되는 강력한 도구입니다. 단순화를 위해 우리는 이 두 번째 계층 시스템이 올바른 보고서에 도달한다고 가정합니다. 가치. 모든 보고서를 생성하기 위해 두 번째 계층에 의존하는 것이 매력적으로 보일 수도 있지만, 우리 설계의 이점은 보안 속성을 지속적으로 달성한다는 것입니다.일반적인 경우에는 운영 비용만 지불하면서 두 번째 계층 시스템을 운영합니다. 1차 시스템. Watchdog 우선 순위는 다음과 같은 방식으로 초선형 staking 영향을 미칩니다. 1차 계층 oracle 네트워크가 잘못된 결과와 다수의 감시 노드를 출력합니다. 경고, staking 인센티브 메커니즘은 우선순위가 가장 높은 감시자에게 다음과 같은 보상을 제공합니다. $dn/2 이상은 (대부분) 오작동하는 노드의 예금에서 인출됩니다. 는 따라서 총 보상은 이 단일 감시자의 손에 집중됩니다. 적이 잠재적인 감시자에게 약속해야 하는 최소값을 결정합니다. 경고하지 않도록 장려하십시오. 우리 메커니즘은 모든 oracle이 우선순위가 높은 감시자가 뇌물을 받은 경우 감시자 역할을 할 수 있는 기회 (그리고 경고하지 않기로 결정한 경우) 따라서 적수는 다음보다 더 많은 뇌물을 제공해야 합니다. 경고가 발생하는 것을 방지하기 위해 모든 노드에 $dn/2. n개의 노드가 있으므로, 성공적인 뇌물 수수를 위해 적의 필수 예산은 $dn2/2 이상입니다. 는 네트워크의 노드 수 n에 대해 2차입니다. 9.2 배경 staking에 대한 우리의 접근 방식은 게임 이론 및 메커니즘 분야의 연구를 바탕으로 합니다. 디자인(MD)(교과서 참조는 [177] 참조). 게임이론은 수학적으로 전략적 상호작용에 대한 공식화된 연구. 이런 맥락에서 게임은 그러한 모델이다. 일반적으로 현실 세계에서 사용 가능한 일련의 작업을 체계화하는 상호 작용 플레이어라고 하는 게임 참가자. 게임은 또한 획득한 보상을 지정합니다. 개별 플레이어에 의한 보상 - 플레이어가 선택한 행동과 결과에 따라 달라지는 보상 다른 플레이어의 행동. 아마도 게임에서 연구된 게임의 가장 잘 알려진 예일 것입니다. 이론은 죄수의 딜레마 [178]입니다. 게임 이론가들은 일반적으로 이해하는 것을 목표로 합니다. 주어진 게임에서 표현되는 평형 또는 평형(있는 경우). 균형은 어느 누구도 더 높은 점수를 얻을 수 없는 일련의 전략(각 플레이어당 하나씩) 일방적으로 전략에서 벗어나는 결과를 초래합니다. 한편, 메커니즘 디자인은 인센티브를 디자인하는 과학입니다. 상호 작용(및 관련 게임)의 균형에는 몇 가지 바람직한 속성이 있습니다. MD는 게임 이론의 반대라고 볼 수 있습니다: 게임의 정식 질문 이론은 "인센티브와 모델이 주어지면 균형은 어떻게 될까요?"입니다. MD에서는 대신 질문은 "어떤 인센티브가 바람직한 균형을 이루는 게임을 만들 것인가?"입니다. 메커니즘 설계자의 일반적인 목표는 '인센티브 호환' 메커니즘을 만드는 것입니다. 즉, 메커니즘 참가자(예: 경매 또는 기타 정보)가 유도 시스템 [228])은 어떤 문제(예: 어떻게 그들은 특정 품목을 매우 중요하게 생각합니다). Vickrey(2차 가격) 경매는 아마도 참가자가 봉인된 입찰을 제출하는 가장 잘 알려진 인센티브 호환 메커니즘 품목에 대해 가장 높은 입찰자가 품목을 획득하지만 두 번째로 높은 가격을 지불합니다. [214]. 암호경제학은 암호학을 활용하는 도메인별 MD 형태입니다. 분산형 시스템 내에서 바람직한 균형을 만드는 기술. 뇌물수수와 공모는 MD 분야 전반에 걸쳐 심각한 문제를 야기합니다. 거의 모든 메커니즘은 담합(부차적 계약으로 정의됨)이 있는 경우 중단됩니다.메커니즘에 참여하는 당사자 사이를 연결합니다[125, 130]. 외부 당사자가 게임에 새로운 인센티브를 도입하는 뇌물수수는 더욱 심각한 문제를 야기합니다. 공모보다; 담합은 게임 간 뇌물수수의 특수한 경우로 볼 수 있다. 참가자. 블록체인 시스템은 종종 금전적(암호화폐 기반) 보상을 제공하는 게임으로 개념화될 수 있습니다. 간단한 예는 작업 증명 채굴입니다. 채굴자는 행동 공간을 갖습니다. 블록을 채굴할 hash비율을 선택할 수 있습니다. 채굴의 보상은 보장된 음의 보상(전기 및 장비 비용)에 확률론적 보상을 더한 것입니다. 다른 활성 채굴자 수에 따라 달라지는 긍정적인 보상(채굴 보조금) [106, 172] 및 거래 수수료. SchellingCoin [68]과 같은 크라우드소싱 oracle은 또 다른 예입니다. 작업 공간은 oracle이 보낼 수 있는 가능한 보고서 세트입니다. 지불은 oracle 메커니즘에 의해 지정된 보상입니다. 예를 들어 지불은 달라질 수 있습니다. oracle의 보고서가 다른 보고서의 중앙값에 얼마나 가까운지에 대한 정보입니다[26, 68, 119, 185]. 블록체인 게임은 공모 및 뇌물 공격의 기회를 제공합니다. 실제로, smart contracts는 이러한 공격을 용이하게 할 수도 있습니다[96, 165]. 아마도 가장 잘 알려진 크라우드소싱된 oracles에 대한 뇌물 수수 공격은 p-plus-epsilon 공격 [67]입니다. 이 공격 플레이어가 부울 값 보고서(즉, 거짓 또는 참)를 제출하고 해당 내용에 동의할 경우 p로 보상받는 SchellingCoin과 유사한 메커니즘의 맥락에서 발생합니다. 다수 제출. p-plus-epsilon 공격에서 공격자는 다음과 같이 확실하게 약속합니다. 예를 들어, 다수의 제출이 사실인 경우에만 거짓 투표에 대해 사용자에게 $p + ϵ를 지불합니다. 그 결과 모든 플레이어가 허위 보고를 하도록 장려되는 균형이 이루어졌습니다. 다른 플레이어가 무엇을 하든 상관없습니다. 결과적으로 뇌물은 노드를 유도할 수 있습니다. 약속된 뇌물을 통해 실제로 뇌물을 주지 않고 허위신고를 하게 됩니다(!). 그러나 oracle, 특히 크라우드소싱되지 않은 oracle의 맥락에서 다른 뇌물 수수 전략을 탐색하는 것은 상당히 약한 적에게만 국한되었습니다. 모델. 예를 들어, PoW 환경에서 연구자들은 결과에 따른 결과를 연구했습니다. 뇌물, 즉 대상 메시지가 성공적으로 검열되고 검열되지 않은 경우에만 뇌물이 지급됩니다. 개별 광부의 행동과 관계없이 블록에 나타납니다[96, 165]. 이 경우 그러나 p-plus-epsilon 공격 외에 우리는 oracles의 작업만 알고 있습니다. 뇌물수수자가 조건부로 뇌물을 보내는 엄격하게 제한된 뇌물수수 모델 결과가 아닌 개별 플레이어의 행동에 따라 결정됩니다. 여기서 우리는 인센티브를 유지하는 정보 추출 메커니즘의 설계를 스케치합니다. 다음 하위 섹션에서 설명하는 것처럼 강력한 적대적 모델에서도 호환됩니다. 9.3 모델링 가정 이 하위 섹션에서는 플레이어의 행동과 능력을 모델링하는 방법을 설명합니다. 우리 시스템, 특히 첫 번째 계층 oracle 노드, 두 번째 계층의 노드(판정) 레이어와 적.9.3.1 1차 인센티브 모델: Rational Actors 많은 blockchain 시스템은 몇 가지 정직한 정보를 가정하여 보안에 의존합니다. 참여 노드. 노드는 프로토콜을 따르면 정직하다고 정의됩니다. 그렇게 하는 것이 재정적으로 이익이 되지 않는 경우. 일반적으로 작업 증명 시스템 솔직히 말해서 대부분의 hash 권한이 필요합니다. 지분 증명 시스템은 일반적으로 솔직히 말해서 모든 참여 지분의 2/3 이상이 필요하며 심지어 다음과 같은 레이어 2 시스템도 필요합니다. Arbitrum [141]에는 최소한 한 명의 정직한 참가자가 필요합니다. staking 메커니즘을 모델링할 때 우리는 훨씬 약한 가정을 합니다. (될 명확하고 약한 가정은 더 강력한 보안 특성을 의미하므로 바람직합니다.) 우리는 적이 손상, 즉 통제, 일부(소수)를 손상했다고 가정합니다. 첫 번째 계층 oracle 노드의 비율입니다. 우리는 정직한 에이전트가 아닌 나머지 노드를 모델링합니다. 그러나 합리적 기대효용 극대화자로서. 이러한 노드는 전적으로 이기적인 재정적 인센티브에 따라 행동하며 예상되는 재정적 결과를 가져오는 행동을 선택합니다. 이득. 예를 들어, 노드가 다음으로 인한 보상보다 더 큰 뇌물을 제공받는 경우 정직하게 행동하면 뇌물을 받을 것입니다. 적대적 노드에 대한 참고 사항: 일반적인 신뢰 모델링에 따르면 분산형 시스템에서는 모든 노드가 합리적이라고 가정합니다. 즉, 최대화를 추구합니다. 악의적인 적에 의해 통제되는 것이 아니라 순수익입니다. 그러나 우리의 주장은— 특히 초선형 또는 2차 staking 영향 - 점근적으로 제공됨 적대적으로 제어되는 노드 세트는 최대 (1/2 −c)n입니다. 일부 긍정적인 경우 상수 다. 9.3.2 2차 판단 모델: 가정에 의한 정확성 보안을 달성하는 데 도움이 되는 staking 메커니즘의 중요한 기능은 합리적인 노드에 대한 두 번째 계층 시스템입니다. 제안된 staking 메커니즘에서 모든 oracle은 다음을 나타내는 경고를 발생시킬 수 있습니다. 메커니즘의 출력이 올바르지 않다고 생각합니다. 경고로 인해 신뢰도가 높아집니다. 두 번째 계층 시스템을 활성화하고 올바른 결과를 보고합니다. 따라서 핵심 모델링 우리의 접근 방식에 대한 요구 사항은 올바른 판결, 즉 2차 시스템. 우리의 staking 모델은 부패할 수 없고 최대한 신뢰할 수 있는 정보 소스 역할을 하는 2차 계층 시스템을 가정합니다. 이러한 시스템은 비용이 많이 들고 속도가 느릴 수 있습니다. 일반적인 경우에 사용하기에는 부적절합니다. 그러나 평형의 경우, 즉 첫 번째 계층 시스템이 올바르게 작동하면 두 번째 계층 시스템이 호출되지 않습니다. 대신, 그 존재는 다음을 제공함으로써 전체 oracle 시스템의 보안을 강화합니다. 높은 보증 백스톱. 신뢰도가 높고 비용이 높은 판결 레이어의 사용은 항소 프로세스와 유사합니다. 대부분의 사법 시스템의 핵심입니다. oracle 디자인에서도 이미 흔히 볼 수 있는 현상입니다. 시스템(예: [119, 185]). 우리는 두 번째 계층의 실현에 대한 접근 방식을 간략하게 논의합니다. 섹션 9.4.3의 메커니즘에서.우리의 staking 프로토콜은 oracle 노드의 올바른 보고를 시행하기 위한 신뢰할 수 있는 위협으로 두 번째 계층 시스템의 올바른 판결 가정을 사용합니다. 프로토콜 다음으로 식별되는 보고서를 생성하는 oracle 노드 지분의 일부 또는 전부를 압수합니다. 두 번째 계층 시스템이 잘못된 것으로 간주됩니다. 따라서 Oracle 노드는 오작동을 방지합니다. 그에 따른 금전적 처벌을 받습니다. 이 접근 방식은 다음에서 사용되는 방식과 유사합니다. 낙관적인 rollups(예: [141, 10]) 9.3.3 적대적 모델 우리의 staking 메커니즘은 광범위하고 잘 정의된 적군에 대해 보안을 달성하면서 진실한 정보를 도출하도록 설계되었습니다. 이전 작품에 비해 개선되었으며, 이는 명시적인 적대적 모델을 생략하거나 위에서 논의한 p-plus-epsilon 적과 같은 좁은 하위 클래스의 적에 초점을 맞춥니다. 우리의 목표는 staking을 디자인하는 것입니다. 모든 종류의 공격자에 대해 공식적으로 입증된 보안을 갖춘 메커니즘 실무에서 접하게 됩니다. 우리는 상대방이 다음과 같이 고정된(매개변수화 가능한) 예산을 갖고 있다고 모델링합니다. $B. 적은 oracle와 개별적으로 비밀리에 통신할 수 있습니다. 네트워크를 통해 개인에게 비밀리에 뇌물 지급을 보장할 수 있습니다. 메커니즘의 공개적으로 관찰 가능한 결과에 따라 달라집니다. 결과 결정 뇌물에는 예를 들어 oracle에서 보고한 값, 공개 메시지 등이 포함될 수 있습니다. oracle에 의해 메커니즘(예: 경고)으로 전송된 값은 다른 oracles 및 메커니즘에 의해 출력되는 값입니다. 무제한의 능력을 갖춘 공격자로부터 보호할 수 있는 메커니즘은 없습니다. 따라서 일부 동작은 비현실적이거나 범위를 벗어난 것으로 간주됩니다. 우리는 공격자를 가정합니다 표준 암호화 기본 형식을 깨뜨릴 수 없으며 위에서 언급한 것처럼 고정되어 있습니다(만약 잠재적으로 큰 규모) 예산 $B. 또한 적이 통제하지 못한다고 가정합니다. oracle 네트워크에서의 통신은 특히 실질적으로 지연될 수 없습니다. 첫 번째 계층 및/또는 두 번째 계층 노드 간의 트래픽. (상대가 그러한 통신을 관찰할 수 있는지 여부는 아래에서 설명하는 것처럼 특정 메커니즘에 따라 다릅니다.) 그러나 위에서 언급한 바와 같이 비공식적으로는 적이 다음과 같이 할 수 있다고 가정합니다. (1) 부패 oracle 노드의 일부(일부 상수 c에 대한 (1/2 −c)-분수), 즉 완전히 제어 (2) 지불 조건을 보장하여 원하는 노드에 뇌물을 제공합니다. 위에서 설명한 대로 적이 지정한 결과에 따라 결정됩니다. 우리는 적의 전체 공격에 대한 공식적인 모델이나 완전한 분류를 제공하지 않습니다. 본 백서에 나와 있는 다양한 뇌물 수수 능력에 대한 예는 다음과 같습니다. 우리 모델에 포함되는 뇌물 수수. 단순화를 위해 oracles가 부울을 방출한다고 가정합니다. 정확한 값(w.l.o.g.)이 참이고 최종 결과가 다음과 같이 계산되는 보고서입니다. smart contract 소비에 의해 사용되는 이러한 보고서의 집합입니다. 뇌물을 준 사람의 목표는 최종 결과가 부정확해지는 것, 즉 거짓이 되는 것입니다. • 무조건적인 뇌물수수: 뇌물수수자는 허위 보고를 하는 모든 oracle에게 $b 뇌물을 제공합니다. • 확률적 뇌물수수: 뇌물수수자는 임의의 oracle에게 q 확률로 $b 뇌물을 제공합니다. 거짓으로 보고하는 것입니다.• 거짓 결과 조건부 뇌물: 뇌물은 최종 결과가 거짓인 경우 거짓을 보고하는 모든 oracle에게 뇌물 $b를 제공합니다. • 비경고 조건 뇌물수수: 뇌물수수자는 보고하는 모든 oracle에게 뇌물 $b를 제공합니다. 경고가 발생하지 않는 한 false입니다. • p-plus-epsilon 뇌물 수수: 뇌물 수수는 다음과 같이 허위 보고를 하는 모든 oracle에게 뇌물 $b를 제공합니다. oracles의 대다수가 거짓을 보고하지 않는 한. • 잠재적 뇌물 수수: 뇌물 수수자는 oracle을 선택한 사람에게 미리 $b의 뇌물을 제공합니다. 무작위 역할에 대해 거짓으로 보고합니다. 우리가 제안한 staking 프로토콜에서는 모든 노드는 잠재적인 감시자 역할을 하며, 우리는 무작위화를 보여줄 수 있습니다 감시 우선 순위는 잠재적인 뇌물 수수에 적합하지 않습니다. 많은 작업 증명, proof-of-stake 및 허가된 시스템은 잠재적으로 취약합니다. 그러나 뇌물수수는 적의 입장에서 이를 고려하는 것이 중요함을 보여줍니다. 모델을 만들고 staking 프로토콜이 이에 대한 탄력성을 갖도록 보장합니다. 부록 E를 참조하세요. 자세한 내용은 9.3.4 암호경제학적 보안은 어느 정도면 충분합니까? 합리적인 공격자는 이익을 얻을 수 있는 경우에만 시스템을 공격하는 데 돈을 지출합니다. 지출보다 더 크다. 따라서 우리의 적대적 모델과 제안된 staking에 대해 메커니즘에서 $B는 적이 얻을 수 있는 잠재적 이익의 척도로 볼 수 있습니다. oracle 네트워크를 손상시키고 이를 유발하여 의존하는 smart contract에서 추출합니다. 잘못된 보고서 또는 보고서 세트를 생성합니다. oracle 네트워크 여부를 결정할 때 목적에 맞는 충분한 수준의 암호경제적 보안을 제공하는 경우, 사용자는 다음을 수행해야 합니다. 이러한 관점에서 네트워크를 평가하십시오. 실제 상황에서 그럴듯한 적의 경우 $B는 일반적으로 smart contracts에 의존하는 총 자산보다 훨씬 작습니다. 대부분의 경우, 공격자가 이러한 자산을 전체적으로 추출하는 것은 불가능합니다. 9.4 스테이킹 메커니즘: 스케치 여기서 우리는 staking 메커니즘의 주요 아이디어와 일반 구조를 제시합니다. 현재 고려 중입니다. 프레젠테이션의 편의를 위해 간단하지만 느린 방법을 설명합니다. (다중) 프로토콜. 그러나 우리는 이 계획이 상당히 실용적. 메커니즘이 제공하는 경제적 보장, 즉 결함이 있는 노드에 대한 처벌 및 그에 따른 인센티브를 고려하면 많은 사용자가 기꺼이 다음을 수행할 수 있습니다. 보고서를 낙관적으로 받아들입니다. 즉, 해당 사용자는 신고 이전에 신고를 수락할 수 있습니다. 두 번째 계층의 잠재적인 판결. 낙관적으로 보고서를 받아들이고 싶지 않은 사용자는 프로토콜이 나올 때까지 기다리도록 선택할 수 있습니다. 즉, 두 번째 계층으로의 잠재적인 에스컬레이션이 발생할 때까지 실행이 종료됩니다. 이, 그러나 보고서 확인 시간이 상당히 느려질 수 있습니다. 그러므로 우리는 간략하게그림 15: 경고가 포함된 staking 체계의 도식. 이 예에서는 1⃝a 다수 의 노드가 손상되거나 뇌물을 받고 올바른 값이 아닌 잘못된 값 ~r을 방출합니다. 보고서 값 r. 감시 노드 2⃝는 2차 위원회에 경고를 보냅니다. 3⃝은 올바른 보고 값 r을 결정하고 내보내며, 그 결과 노드가 손상됩니다. 각 $d는 워치독 노드 4⃝에 예치금을 몰수합니다. 다소 더 많은 경우 더 빠른(단일 라운드) 결과를 가져오는 몇 가지 최적화에 대한 개요를 설명합니다. 섹션 9.5의 복잡한 설계. staking 메커니즘의 첫 번째 계층은 기본 oracle로 구성됩니다. 네트워크 자체. 위에서 설명한 것처럼 우리 메커니즘의 주요 구조는 각 라운드마다 다음과 같습니다. 각 노드는 우선 순위에 따라 "감시자" 역할을 할 수 있습니다. 메커니즘이 올바른 출력이 아닌 잘못된 출력 ~r에 도달하면 경고를 발생시킵니다. 하나의 r. 이 경고는 올바른 결과에 도달한다고 가정하는 두 번째 계층 해결 방법을 발생시킵니다. 보고. 잘못된 보고를 한 노드는 지분이 있다는 의미에서 처벌됩니다. 감시견에게 베고 수여했습니다. 이 기본 구조는 oracle 시스템에서 일반적입니다. 예를 들어 [119, 185]와 같습니다. 위에서 간략히 언급한 우리 설계의 핵심 혁신은 모든 노드가 잠재적인 감시자 순서에 따라 뚜렷한 우선순위가 할당됩니다. 즉 감시견이다. 우선순위에 따라 경고할 기회가 주어집니다. 노드에 경고를 발생시키는 것이 가장 높은 우선순위이며 모든 오작동에 대해 $d의 삭감된 예치금을 받습니다. 잘못된 보고는 다음을 의미하므로 총 \(dn/2 = \)d × n/2보다 많은 노드 대부분의 불량 노드. 결과적으로, 적은 최소한 이 보상을 지불해야 합니다. 임의의 노드에 뇌물을 줍니다. 따라서 대다수의 노드에 뇌물을 제공하려면 공격자는 다음과 같은 비용을 지불해야 합니다. 즉, 엄밀히 말하면 $dn2/2보다 많은 대규모 뇌물을 노드에 제공합니다. 그림 15에서는 경고 및 감시 에스컬레이션이 어떻게 작동하는지 개략적으로 보여줍니다.9.4.1 추가 메커니즘 세부정보 이제 우리가 더 자세히 설명하는 뇌물 방지 시스템은 다음과 같은 단순화된 개요입니다. 우리가 건설하려는 2층 구조. 우리의 초점은 대부분 설명하는 것입니다. 첫 번째 계층 네트워크(이하 맥락에서 명확한 경우 간단히 "네트워크") 인센티브 메커니즘과 두 번째 계층으로의 에스컬레이션 절차를 설명합니다. 다음을 담당하는 n개의 oracle 노드로 구성된 Chainlink 네트워크를 생각해 보세요. 정기적으로(예: 1분에 한 번) 부울 값(예: 시장이 BTC의 시가총액이 ETH의 시가총액을 초과합니다. staking 메커니즘의 일부로 노드는 두 가지 보증금을 제공해야 합니다. 보증금 $d는 동의하지 않을 경우 삭감될 수 있습니다. 다수 및 감시 예치금 $dw에 결함이 있는 경우 삭감될 수 있음 에스컬레이션. 우리는 노드가 다른 노드의 제출물을 복사할 수 없다고 가정합니다. 섹션 5.3에서 논의된 커밋-공개 체계를 통해. 각 라운드에서 노드가 먼저 보고서를 커밋하고 모든 노드가 커밋되면(또는 제한 시간이 만료되면) 노드는 보고서를 공개합니다. 생성될 각 보고서에 대해 모든 노드에는 무작위로 선택된 1과 n 사이의 감시 우선순위가 부여되며, 1이 최고 우선순위입니다. 이 우선순위를 사용하면 한 감시자의 손에 보상이 집중됩니다. 모든 신고가 공개된 후, 경고 단계가 이어집니다. n(동기) 라운드의 시퀀스에 걸쳐 노드는 우선 순위는 i 라운드에서 경고할 기회가 있습니다. 노드가 공개된 후 메커니즘에 대한 가능한 결과를 고려해 보겠습니다. 그들의 보고서. 다시 이진 보고서를 가정하고 올바른 값이 true이고 잘못된 것은 거짓입니다. 또한 첫 번째 계층 메커니즘이 다음을 출력한다고 가정합니다. 최종 보고서 r로서 노드에 의해 출력된 다수의 값. 메커니즘에는 세 가지 가능한 결과가 있습니다. • 완전한 합의: 최선의 경우 노드는 완전한 합의에 있습니다. 모든 노드는 사용 가능하며 동일한 값 r에 대한 보고를 시기적절하게 제공했습니다(둘 중 하나). 또는 거짓). 이 경우 네트워크는 r을 의존 계약으로 전달하기만 하면 됩니다. 각 노드에 라운드당 고정 지불금 $p를 지급합니다. 이는 훨씬 작은 금액입니다. $d보다. • 부분적 동의: 일부 노드가 오프라인이거나 어떤 값이 올바른지에 대해 의견 차이가 있을 수 있지만 대부분의 노드는 true를 보고하고 소수의 보고가 거짓입니다. 이 경우도 간단합니다. 다수의 가치 (true)가 계산되어 올바른 보고서 r이 생성됩니다. r을 보고한 모든 노드는 잘못 신고한 oracles가 예치금을 가지고 있는 동안 $p로 보상을 받습니다. 예를 들어 $10p 정도 인하되었습니다. • 경고: 감시자가 네트워크의 출력이 잘못되었다고 판단하는 경우, 이는 공개적으로 경고를 트리거하여 메커니즘을 2차 계층 네트워크로 확대합니다. 그러면 두 가지 결과가 나올 수 있습니다. – 올바른 경고: 두 번째 계층 네트워크에서그림 16: 집중된 경고 보상을 통해 뇌물 수수 비용을 증폭시킵니다. 뇌물 공격자는 경고를 통해 얻을 수 있는 보상보다 더 많은 것을 각 노드에 뇌물을 주어야 합니다. (빨간색 막대로 표시됨) 경고 보상이 공유되는 경우 이 보상은 상대적일 수 있습니다. 작다. 집중된 경고 보상은 단일 노드가 얻을 수 있는 보상을 증가시킵니다. (높은 빨간색 막대)를 얻습니다. 결과적으로 상대방이 실행 가능한 뇌물에 대해 지불한 총 금액은 다음과 같습니다. (회색 영역)은 공유된 알림 보상보다 집중된 알림 보상이 훨씬 더 큽니다. 첫 번째 계층 네트워크가 올바르지 않아 경고하는 감시 노드가 보상을 받습니다. 모두 삭감된 예금으로 구성되므로 $dn/2 이상입니다. – 잘못된 경고: 두 번째 계층과 첫 번째 계층 oracle이 동의하는 경우 에스컬레이션은 결함이 있는 것으로 간주되고 경고 노드는 $dw 보증금을 잃습니다. 보고서가 긍정적으로 받아들여지는 경우 감시 경보는 다음을 유발하지 않습니다. 의존 계약 실행의 모든 변경. 기다리도록 설계된 계약의 경우 2위 위원회 중재 가능성, 감시단 경고는 늦어졌지만 계약 실행을 동결하지 마십시오. 계약을 통해 지정하는 것도 가능합니다. 판정 기간 동안 장애 조치 DON. 9.4.2 2차 스테이킹 영향 엄격한 노드 우선순위와 결합하여 모든 노드가 감시 역할을 하는 기능 집중된 보상을 보장하여 메커니즘이 2차 staking을 달성할 수 있도록 합니다. 섹션 9.3.3에 설명된 각 종류의 뇌물 공격자에 대한 영향. 이것을 기억하십시오 이는 우리 설정에서 각각 보증금이 있는 n개의 노드가 있는 네트워크의 경우를 의미합니다. $d, 성공적인 뇌물 제공자(위의 종류 중 하나)는 다음보다 더 큰 예산을 가져야 합니다. $dn2/2. 정확하게 말하면 뇌물수수자는 최소한 (n+1)/2개의 노드를 부패시켜야 합니다. n 노드의 대다수를 손상시킵니다(가정에 따라 홀수 n의 경우). 따라서 감시자는 다음을 수행합니다. $d(n + 1)/2의 보상을 얻습니다. 따라서 뇌물 제공자는 모든 사람에게 이 금액을 지불해야 합니다.노드가 감시자 역할을 하지 않도록 합니다. 우리는 다음과 같은 사실을 공식적으로 보여주기 위해 노력하고 있습니다. 뇌물 제공자는 최대 $d(n2 + n)/2의 예산을 가지며, 하위 게임 완전 균형이 됩니다. 뇌물수수자와 oracles 사이의 게임, 즉 균형 게임이 진행되는 동안 어느 시점에서든 뇌물을 준 사람은 뇌물을 발행해서는 안 되며, 각 oracle의 진정한 가치를 정직하게 보고합니다. 우리는 성공적인 뇌물 제공을 위해서는 다음과 같은 방법이 필요할 수 있다는 점을 위에서 설명했습니다. 노드 예치금의 합계보다 예산이 훨씬 더 많습니다. 이것을 설명하기 위해 직관적인 결과, 그림 16은 집중된 경고 보상의 영향을 그래픽으로 보여줍니다. 거기에서 볼 수 있듯이, 감시자 경보에 대한 보상, 즉 뇌물 예치금이 지급된다면 false를 보고하는 노드) - 모든 잠재적 경고로 분할되었으며, 개별 경고 노드는 상대적으로 작을 것이라고 예상할 수 있습니다. $d. $d보다 큰 지불금이 있을 가능성이 낮다는 것을 알고 있는 뇌물 제공자는 다음과 같은 방법을 사용할 수 있습니다. n개의 노드 각각에 다음보다 약간 더 많은 뇌물을 제공하는 거짓 결과 조건부 뇌물 $d + ϵ. 반직관적으로, 그림 16은 보상을 광범위하게 분배하는 시스템을 보여줍니다. 경고를 보내는 노드 중 보상을 집중시키는 노드보다 훨씬 약합니다. 하나의 감시견의 손. 예시 매개변수: n = 100개의 노드가 있는 (1차 계층) 네트워크를 생각해 보세요. \(d = \)20K를 입금합니다. 이 네트워크에는 총 200만 달러가 예치되어 있지만 예산 \(100M = \)dn2/2로 뇌물로부터 보호받을 수 있습니다. 수의 증가 oracles는 물론 $d를 늘리는 것보다 더 효과적이며 극적인 효과를 가질 수 있습니다. n = 300개 노드와 예치금 \(d = \)20K를 가진 네트워크는 다음과 같은 위험으로부터 보호됩니다. 최대 9억 달러의 예산으로 뇌물을 제공합니다. staking 시스템은 많은 경우에 다음을 나타내는 smart contract을 보호할 수 있습니다. 제공되는 뇌물수수 방지 수준보다 더 많은 가치를 갖습니다. 그 이유는 상대방이 이러한 계약을 공격하면 많은 경우 전체 가치를 추출할 수 없습니다. 예를 들어, 10억 달러의 가치를 보장하는 Chainlink 기반 계약에는 담보만 필요할 수 있습니다. 그러한 적이 실현 가능하게 이익을 추출할 수 있기 때문에 1억 달러의 자원을 가진 뇌물 수수자 계약금액의 10%에 불과하다. 참고: 네트워크의 가치가 2차적으로 증가할 수 있다는 생각은 다음과 같이 표현됩니다. 잘 알려진 Metcalfe의 법칙[167, 235]은 네트워크의 가치가 연결된 엔터티 수가 2차적으로 증가합니다. 그러나 Metcalfe의 법칙은 잠재적인 쌍별 네트워크 연결 수의 증가로 인해 발생합니다. 이는 인센티브에 기본이 되는 2차 staking 영향과는 다른 현상입니다. 메커니즘. 9.4.3 Second Tier 실현 두 가지 운영 기능으로 신뢰성이 높은 두 번째 계층의 실현을 촉진합니다. (1) 2단계 판결은 oracle 네트워크에서는 드문 경우이므로 다음과 같은 일이 발생할 수 있습니다. 첫 번째 계층의 일반 운영보다 훨씬 더 많은 비용이 듭니다. (2) 가정낙관적으로 받아들여진 보고서 또는 실행이 중재를 기다릴 수 있는 계약 두 번째 계층은 실시간으로 실행될 필요가 없습니다. 이러한 기능으로 인해 다양한 결과가 발생합니다. 특정 DON의 요구 사항을 충족하기 위한 두 번째 계층의 구성 옵션입니다. 접근 방식의 예로서, 두 번째 계층 위원회는 다음과 같은 노드로 구성될 수 있습니다. Chainlink에서 가장 오래 서비스되고 가장 안정적인 노드의 DON(즉, 첫 번째 계층) 네트워크. 상당한 관련 운영 경험 외에도 운영자는 그러한 노드 중 FFO에는 욕구를 유발하는 상당한 암시적 인센티브가 있습니다. Chainlink 네트워크의 신뢰성이 높게 유지되도록 합니다. 그들은 또한 공개적으로 신뢰성에 대한 투명성을 제공하는 사용 가능한 성능 기록입니다. 두 번째 계층 노드는 첫 번째 계층 네트워크에 참여할 필요가 없으며 주목할 가치가 있습니다. 여러 1차 네트워크 전반에 걸쳐 결함을 판정할 수 있습니다. 주어진 DON의 노드는 다음과 같은 n' 집합을 미리 지정하고 공개적으로 커밋할 수 있습니다. 노드는 해당 DON에 대한 2차 위원회를 구성합니다. 또한 DON 노드는 2차 투표 수를 결정하는 매개변수 k′ ≤n′을 게시합니다. 첫 번째 계층 노드에 페널티를 적용하는 데 필요합니다. 특정 보고서에 대해 경고가 생성되면 두 번째 계층의 구성원은 각 계층이 제공한 값의 정확성에 대해 투표합니다. 첫 번째 계층 노드 중 하나입니다. k′ 부정 투표를 받은 첫 번째 계층 노드는 해당 노드를 상실합니다. 워치독 노드에 예치합니다. 재판이 드물고, 장기집행 기회가 드물기 때문이다. 위에서 언급했듯이 첫 번째 계층과 달리 두 번째 계층의 노드는 다음을 수행할 수 있습니다. 1. 판결 수행에 대해 높은 보상을 받습니다. 2. 첫 번째 데이터 소스에서 사용하는 다양한 세트를 넘어서는 추가 데이터 소스를 활용합니다. 3. 수동 및/또는 전문가 검사 및 개입에 의존합니다. 예를 들어 식별하고 소스 데이터의 오류를 조정하고 정직한 노드 중계를 구별합니다. 잘못된 데이터와 오작동하는 노드. 우리는 두 번째 계층 노드 선택과 판결을 관리하는 정책에 대해 방금 설명한 접근 방식이 대규모 노드 내의 한 지점일 뿐이라는 점을 강조합니다. 두 번째 계층의 가능한 실현을 위한 설계 공간. 우리의 인센티브 메커니즘은 다음과 같습니다. 두 번째 계층을 구현하는 방법에 대한 완전한 유연성. 따라서 개별 DON은(는) 특정 요구 사항을 충족하는 두 번째 계층에 대한 규칙을 구성하고 설정합니다. 참여 노드와 사용자의 기대. 심사 도구로서의 DECO 및 Town Crier: 2층에서는 꼭 필요합니다 우리 메커니즘에서는 적대적인 첫 번째 계층 노드를 구별할 수 있습니다. 의도적으로 잘못된 보고서를 생성하고 의도치 않게 정직한 1차 노드를 생성합니다. 소스에서 잘못된 데이터를 중계합니다. 그래야만 두 번째 계층에서 구현할 수 있습니다. 우리 메커니즘의 목표인 부정 행위를 방지하기 위해 삭감합니다. DECO와 타운 크라이어 두 번째 계층 노드가 이러한 중요한 구별을 할 수 있도록 하는 강력한 도구입니다. 안정적으로.두 번째 계층 노드는 경우에 따라 사용된 데이터 소스를 직접 쿼리할 수 있습니다. 잘못된 보고가 있는지 확인하려면 첫 번째 계층 노드를 사용하거나 ADO 섹션 7.1을 사용하세요. 잘못된 데이터 소스로 인해 발생했습니다. 그러나 다른 경우에는 두 번째 계층 노드가 부족할 수 있습니다. 첫 번째 계층 노드의 데이터 소스에 직접 액세스합니다. 이런 경우에는 올바른 판단이 필요합니다. 실행 불가능해 보이거나 주관적인 판단에 의존해야 합니다. 이전 oracle 분쟁 시스템은 이러한 문제를 해결하기 위해 비효율적이고 확대되는 투표에 의존해 왔습니다. 도전. 그러나 DECO 또는 Town Crier를 사용하면 첫 번째 계층 노드가 올바른 동작을 증명할 수 있습니다. 두 번째 계층 노드에. (두 시스템에 대한 자세한 내용은 섹션 3.6.2를 참조하십시오.) 특히 다음과 같은 경우 두 번째 계층 노드는 첫 번째 계층 노드가 잘못된 보고서 값 ~r을 출력한 것으로 식별합니다. 첫 번째 계층 노드는 DECO 또는 Town Crier를 사용하여 변조 방지 증거를 생성할 수 있습니다. (TLS 지원) 소스에서 ~r을 올바르게 중계하고 있는 두 번째 계층 노드 DON에 의해 권위 있는 것으로 인정되었습니다. 중요한 것은 첫 번째 계층 노드가 이 작업을 수행할 수 있다는 것입니다. 데이터 소스에 직접 액세스해야 하는 2차 계층 노드가 없습니다.17 결과적으로, 원하는 데이터 소스에 대해 Chainlink에서 올바른 판결이 가능합니다. 9.4.4 보험을 잘못 보고함 우리의 staking 메커니즘을 통해 달성된 강력한 뇌물수수 저항은 근본적으로 다음과 같습니다. 경고자에게 수여되는 삭감된 자금에 대해. 금전적 보상이 없으면 경고자는 뇌물을 거부할 직접적인 동기가 없습니다. 그러나 결과적으로 삭감된 자금은 그렇지 않습니다. 잘못된 신고로 인해 피해를 입은 사용자(예: 돈을 잃은 사용자)에게 보상이 가능합니다. 잘못된 가격 데이터가 smart contract에 전달되는 경우. 가정에 따르면 잘못된 보고서는 보고서가 승인된 경우 문제를 일으키지 않습니다. 잠재적인 판결, 즉 두 번째 단계의 조치 후에만 계약을 체결합니다. 설명대로 그러나 가능한 최상의 성능을 달성하기 위해 계약은 대신에 의존할 수 있습니다. 올바른 보고를 시행하는 메커니즘에 대해 낙관적으로 생각합니다. 잠재적인 2차 판결 이전에 보고합니다. 실제로 그러한 낙관적인 행동은 예산이 예산을 초과하지 않는 합리적인 적을 가정하는 우리 모델에서는 안전합니다. staking 메커니즘의 영향. 사용자는 다음과 같은 이유로 메커니즘 오류가 발생할 가능성이 없는 상황을 우려하고 있습니다. 예를 들어, 압도적인 재정 자원을 보유한 적들은 보험을 잘못 보고하는 형태로 추가적인 경제적 보안 계층을 사용하기를 원할 수 있습니다. 우리는 알고있다 이미 이러한 종류의 스마트 계약 기반 정책을 제공하려는 여러 보험사 DAO(예: [7])과 같은 혁신적인 메커니즘을 포함하여 가까운 미래에 Chainlink 보안 프로토콜을 위해. Chainlink에 대한 공연 내역이 존재합니다. 노드 및 지분 금액과 같은 노드에 관한 기타 데이터는 위험에 대한 통계적 평가를 위한 매우 강력한 기반을 제공하여 정책 가격 책정을 가능하게 합니다. 보험 계약자에게는 저렴하면서도 보험사에게는 지속 가능한 방식으로 말입니다. 17Town Crier를 사용하면 1차 노드가 로컬에서 증명을 생성하는 것도 가능합니다. 출력된 보고서의 정확성을 확인하고 이러한 증명을 두 번째 계층 노드에 제공합니다. 필요에 따라.기본적인 형태의 허위신고 보험은 신뢰할 수 있고 smart contracts를 사용하는 효율적인 방식입니다. 간단한 예로 파라메트릭 보험을 들 수 있습니다. 계약 SCins는 인센티브 메커니즘이 다음과 같은 경우 보험 계약자에게 자동으로 보상할 수 있습니다. 두 번째 계층은 첫 번째 계층에서 생성된 보고서의 오류를 식별합니다. 보험 가입을 원하는 사용자 U(예: 대상 생성자) 계약 SC는 분산형 보험사에 보험 금액 요청을 제출할 수 있습니다. 100만 달러 계약. U를 승인하면 보험사는 지속적인(예: 월별) 서비스를 설정할 수 있습니다. SCins의 프리미엄은 $P입니다. U가 보험료를 지불하는 동안 그녀의 보험은 계속 유효합니다. SC에서 보고 실패가 발생하면 결과는 (r1, r2) 쌍의 방출이 됩니다. SC에 대한 충돌 보고서의 경우 r1은 우리 메커니즘의 첫 번째 계층에서 서명되고 해당 수정 보고서인 r2는 두 번째 계층에서 서명됩니다. U가 제공한다면 SCins에 대한 유효한 쌍(r1, r2)인 경우 계약은 자동으로 $M을 지불합니다. 그녀의 보험료 지불은 최신 상태입니다. 9.5 단일 라운드 변형 이전 하위 섹션에 설명된 프로토콜에서는 2단계 위원회가 감시자가 경보를 발령했는지 여부를 확인하기 위해 n 라운드를 기다려야 합니다. 이 요구사항은 낙관적인 경우, 즉 첫 번째 계층이 작동하는 경우에도 유지됩니다. 올바르게. 낙관적으로 보고서를 받아들이고 싶지 않은 사용자의 경우, 즉 잠재적인 판결이 내려지면 해당 접근 방식과 관련된 지연은 실행 불가능할 것입니다. 이러한 이유로 우리는 단 하나의 프로토콜만 필요로 하는 대체 프로토콜도 탐색하고 있습니다. 라운드. 이 접근 방식에서 모든 oracle 노드는 여부를 나타내는 비밀 비트를 제출합니다. 그들은 경고를 보내고 싶어합니다. 그런 다음 두 번째 계층 위원회에서는 이러한 값을 확인합니다. 우선순위. 대략적인 스케치를 제공하기 위해 이러한 계획에는 다음이 포함될 수 있습니다. 단계: 1. Watchdog 비트 제출: 각 노드 Oi는 1비트 Watchdog 값을 비밀 공유합니다. 생성된 모든 보고서에 대해 두 번째 계층의 노드 사이에서 wi ∈{no Alert, Alert}가 발생합니다. 2. 익명 팁: 모든 oracle 노드는 감시 비트가 제출되는 동일한 라운드에서 두 번째 계층 위원회에 익명 팁 α를 제출할 수 있습니다. 이 팁α 현재 보고서에 대해 경고가 발생했음을 나타내는 메시지입니다. 3. 워치독 비트 확인: 2차 위원회에서 oracle 노드의 워치독 공개 비트를 우선순위로 합니다. 노드는 경고하지 않을 때 경고 감시 비트를 보내서는 안 됩니다. 그렇지 않으면 트래픽 분석이 모든 노드의 비트를 드러냅니다. 프로토콜은 경고 없음을 나타냅니다. 우선순위가 가장 높은 경고 워치독보다 우선순위가 높은 노드의 워치독 비트입니다. 밝혀진 내용은 n-라운드 프로토콜의 내용과 동일합니다. 보상은 또한 해당 체계와 동일하게 분배됩니다. 즉, 처음으로 식별된 감시자 잘못된 보고서를 제출한 노드의 예치금을 삭감합니다.익명 제보를 사용하면 경고가 발생하지 않은 경우 2차 위원회가 비대화형 상태를 유지하여 의사소통의 복잡성을 줄일 수 있습니다. 일반적인 경우. 경고를 발생시키는 감시자는 익명 제보를 제출할 경제적 인센티브가 있습니다. 제보가 제출되지 않으면 누구에게도 보상이 지급되지 않습니다. 노드. 익명 제보 α의 보낸 사람 Oi가 식별되지 않도록 하기 위해 네트워크 데이터를 기반으로 적에게 익명 제보를 보낼 수 있습니다. 예를 들어 Tor를 통하거나 보다 실질적으로 클라우드 서비스 제공업체를 통해 프록시되는 채널입니다. 받는 사람 팁이 O에서 시작된 것으로 인증하면 Oi는 링 서명을 사용하여 α에 서명할 수 있습니다[39, 192]. 또는 악의적인 oracle 노드에 의한 2차 위원회에 대한 원인 없는 서비스 거부 공격을 방지하기 위해 α는 다음과 같은 익명 자격 증명이 될 수 있습니다. 취소 가능한 익명성 [73]. 이 프로토콜은 실질적으로 달성 가능하지만 다소 무거운 엔지니어링을 가지고 있습니다. (저희는 이를 줄이는 방법을 모색 중입니다) 예를 들어 첫 번째 계층 노드는 디렉터리 유지 관리가 필요한 두 번째 계층 노드와 직접 통신해야 합니다. 익명 채널 및 링 서명의 필요성이 엔지니어링에 추가됩니다. 계획의 복잡성. 마지막으로, 간략하게 논의된 특별한 신뢰 요구 사항이 있습니다. 아래 메모에. 따라서 우리는 여전히 달성할 수 있는 더 간단한 계획을 모색하고 있습니다. 초선형 staking 영향은 있지만 뇌물 제공자는 점근적으로 최소한 $n log n의 자원을 필요로 하는 2차식보다 덜할 수 있습니다. 아래 계획 중 일부 감시자 역할을 할 노드의 엄격한 하위 집합을 무작위로 선택하는 것을 고려합니다. 이 경우 뇌물 수수 가능성이 특히 강력한 공격이 됩니다. 비고: 이 단일 라운드 staking 메커니즘의 보안에는 접근할 수 없는 기술이 필요합니다. oracle과 2계층 노드 사이의 채널 — 투표[82, 138]와 같은 강제 저항 시스템의 표준 요구 사항이며 실제로는 합리적인 요구 사항입니다. 그러나 추가적으로 뇌물수수자와 협력하려는 노드 Oi는 뇌물 수수자에게 특정 정보를 암호화했음을 보여주는 방식으로 비밀 공유 가치. 예를 들어, Oi가 뇌물 제공자가 어느 노드를 제어하는지 알지 못하는 경우 Oi는 다음을 수행할 수 있습니다. 모든 위원회 구성원에게 가치가 0인 주식을 제출합니다. 그러면 뇌물 제공자는 Oi의 사실을 확인할 수 있습니다. 확률적으로 준수합니다. 단일 라운드 프로토콜에서 이 문제를 피하기 위해 우리는 Oi가 적어도 하나의 정직한 2계층 노드의 신원을 알아야 합니다. 각 두 번째 계층 노드가 무작위화를 추가하는 대화형 프로토콜 사용 공유 요소를 공유하는 경우 뇌물 제공자가 할 수 있는 최선의 방법은 Oi가 무작위로 선택하도록 강요하는 것입니다. 감시 비트. 9.6 암시적 인센티브 프레임워크(IIF) FFO는 Chainlink 네트워크의 올바른 행동에 대한 암시적 인센티브의 한 형태입니다. 그것 명시적인 지분, 즉 예금과 같은 기능을 통해 경제적 안정을 강화하는 데 도움이 됩니다. 네트워크. 즉, FFO는 (유효) 예금의 일부로 포함되어야 합니다. 네트워크에 있는 노드의 $d.문제는 FFO 및 기타 형태의 암묵적 인센티브를 어떻게 측정하는가입니다. Chainlink 네트워크 내에서요? IIF(암시적 인센티브 프레임워크)는 다음과 같은 집합입니다. 이를 위해 우리가 개발할 원칙과 기술. 블록체인 시스템 다양한 형태의 전례 없는 투명성과 노드의 높은 신뢰 기록을 제공합니다. 그들이 창출하는 성능은 IIF가 어떻게 작동할지에 대한 우리의 비전을 위한 발판입니다. 여기에서는 IIF의 핵심 요소에 대한 아이디어를 매우 간략하게 설명합니다. IIF 자체는 평가에서 중요하다고 식별된 일련의 요소로 구성됩니다. 분석 알고리즘에서 사용할 수 있도록 관련 데이터를 높은 보증 형식으로 게시하는 메커니즘과 함께 암시적 인센티브를 제공합니다. 다른 Chainlink 사용자는 다음을 수행할 수 있습니다. 다양한 요인에 서로 다른 가중치를 부여하는 등 다양한 방식으로 IIF를 사용하려고 합니다. 사용자가 IIF를 적용하는 데 도움이 되는 분석 서비스가 커뮤니티에서 나타날 것으로 기대합니다. 개인의 위험 평가 선호도에 따라 우리의 목표는 다음과 같습니다. 높은 보증과 시기적절한 지원 데이터에 대한 액세스를 보장함으로써 이러한 서비스를 제공합니다. 아래에서 논의하는 것처럼(섹션 9.6.4). 9.6.1 향후 수수료 기회 노드는 Chainlink 생태계에 참여하여 이 백서에서 설명한 다양한 서비스에 대해 네트워크가 지불하는 수수료의 일부를 얻습니다. 분산 ID, 공정한 순서 지정과 같은 고급 서비스에 대한 일반 데이터 피드, 기밀 유지 DeFi. Chainlink 네트워크의 수수료는 서버 운영, 필요한 데이터 라이선스 획득, 유지 관리 등에 대한 노드 운영자의 비용을 지원합니다. 높은 가동 시간을 보장하는 글로벌 직원. FFO는 서비스 수수료, 순 비용을 나타냅니다. 노드가 미래에 이익을 얻거나 잘못된 동작을 보여주면 잃을 것입니다. FFO는 네트워크 보안에 도움이 되는 지분 형태입니다. FFO의 유용한 기능은 온체인 데이터(오프체인으로 보완됨)입니다. 데이터) 노드 이력에 대한 높은 신뢰 기록을 수립하여 FFO 계산을 가능하게 합니다. 투명하고 경험적으로 주도되는 방식으로. FFO에 대한 간단한 1차 측정은 특정 기업의 평균 순수익에서 파생될 수 있습니다. 일정 기간 동안의 노드(예: 총 수익에서 운영 비용을 뺀 값) FFO는 다음을 수행할 수 있습니다. 예를 들어 누적 미래 순수익의 순 현재 가치 [114]로 계산됩니다. 즉, 미래의 모든 수입을 시간으로 할인한 가치입니다. 그러나 노드 수익은 그림 17에서 볼 수 있듯이 변동이 심할 수 있습니다. 더 중요한 것은 노드 수익이 고정된 분포를 따르지 않을 수 있다는 것입니다. 시간이 지남에 따라. 결과적으로 FFO 추정 시 탐구할 다른 요소는 다음과 같습니다. • 성과 내역: 보고서의 정확성과 적시성, 가동 시간을 포함한 운영자의 성과 내역은 목표를 제공합니다. 사용자가 신뢰성을 평가할 수 있는 시금석입니다. 실적 내역은 다음과 같습니다. 사용자가 oracle 노드를 선택하는 데 중요한 요소를 제공합니다(또는 출현과 함께). DON 중, DON 중 선택). 강력한 실적 이력이 있을 가능성이 높습니다. 지속적인 높은 수익과 상관관계가 있습니다.18 18우리가 다루고자 하는 중요한 연구 문제는 위조된 서비스 양을 탐지하는 것입니다.그림 17: 단일 데이터 피드(ETH-USD)에서 Chainlink 노드가 얻은 수익 2021년 3월의 대표적인 주간. • 데이터 액세스: oracles는 개방형 API에서 다양한 형태의 데이터를 얻을 수 있지만 특정 형태의 데이터나 특정 고품질 소스는 구독 기반 또는 계약 계약을 통해. 특정에 대한 특권적 접근 데이터 소스는 안정적인 수익원을 창출하는 역할을 할 수 있습니다. • DON 참여: DONs의 출현으로 노드 커뮤니티가 등장할 것입니다. 특별한 서비스를 제공하기 위해 함께 모입니다. 많은 DON에 포함될 것으로 예상됩니다. 선택적으로 운영자를 통해 평판이 좋은 DON에 참여하도록 설정합니다. 일관된 수익원을 보장하는 데 도움이 되는 특권적인 시장 지위. • 크로스 플랫폼 활동: 일부 노드 운영자는 PoS validators 또는 blockchain 이외의 컨텍스트의 데이터 공급자. 이러한 다른 시스템에서의 성과(데이터가 신뢰할 수 있는 형식으로 제공되는 경우)는 평가에 정보를 제공할 수 있습니다. 그들의 공연 기록. 마찬가지로 Chainlink 네트워크의 잘못된 동작 사용자를 몰아냄으로써 다른 시스템의 수익을 위태롭게 할 수 있습니다(예: FFO). 여러 플랫폼으로 확장할 수 있습니다. 9.6.2 투기적 FFO 노드 운영자는 단지 수익을 창출하기 위해 Chainlink 네트워크에 참여하지 않습니다. 그러나 작업을 실행하기 위한 새로운 기회를 활용하기 위해 스스로를 만들고 위치를 정하는 것입니다. 즉, 네트워크 내 oracle 노드의 지출도 DeFi 및 기타 스마트 계약 애플리케이션의 미래에 대한 긍정적인 진술 도메인뿐만 아니라 oracle 네트워크의 새로운 비 blockchain 애플리케이션도 포함됩니다. 오늘날 노드 운영자는 기존 Chainlink 네트워크에서 사용 가능한 수수료를 얻는 동시에 동시에 이는 문제가 인터넷 사이트에서 더 쉽다는 점을 제외하면 인터넷 사이트의 가짜 리뷰와 어느 정도 유사합니다. oracle 상품이 주문되었는지, 즉 보고서가 주문되었는지에 대한 확실한 기록이 있기 때문에 설정됩니다. 예를 들어 온라인 상점에서 주문한 실제 상품과 반대되는 배송입니다. 다른 말로 하면 oracle에서 고객의 진실성은 검증할 수 없더라도 설정을 통해 성능을 검증할 수 있습니다.평판, 실적 이력, 운영 전문성을 구축하여 입지를 다질 것입니다. 미래 네트워크에서 사용할 수 있는 수수료를 얻는 데 유리합니다(물론 조건에 따라). 정직한 행동에 대해). 현재 Chainlink 생태계에서 운영되는 노드는 다음과 같습니다. Chainlink 추가 수수료를 받는 데 신규 이민자보다 유리하다는 의미입니다. 서비스가 가능해집니다. 이러한 이점은 새로운 운영업체는 물론 평판이 좋은 기술 회사에도 적용됩니다. 예를 들어 T-Systems는 전통적인 기술 제공업체(Deutsche Telekom의 자회사)와 대규모 중앙 집중식 회사인 Kraken Exchange는 Chainlink 생태계 [28, 143]에서 초기 입지를 구축했습니다. 향후 기회에 oracle 노드가 참여하는 것은 그 자체로 간주될 수 있습니다. 일종의 투기적 FFO로서 Chainlink의 지분 형태를 구성합니다. 네트워크. 9.6.3 외부 평판 우리가 설명한 대로 IIF는 엄격한 가명으로 네트워크에서 작동할 수 있습니다. 즉, 관련된 사람이나 실제 실체를 공개하지 않습니다. 그러나 사용자가 공급자를 선택할 때 잠재적으로 중요한 요소 중 하나는 외부입니다. 평판. 외부 평판이란 가명이 아닌 실제 신원에 부여된 신뢰성에 대한 인식을 의미합니다. 평판 위험 실제 정체성은 암묵적인 인센티브의 한 형태로 볼 수 있습니다. 평판을 본다 즉, 암호경제학적 의미에서 IIF의 렌즈를 통해 FFO 추정치에 통합될 수 있는 크로스 플랫폼 활동. FFO 추정의 요인으로 외부 평판을 사용하는 이점은 이와 반대로 가명 연결은 외부 평판이 성과를 단순히 연결하는 것이 아니라 운영자의 기존 활동뿐만 아니라 향후 활동에도 적용됩니다. 예를 들어 평판이 좋지 않은 경우 개인에게 부착되면 그 사람의 미래 사업을 오염시킬 수 있습니다. 다르게 말하면, 외부 평판은 가명보다 더 넓은 범위의 FFO를 포착할 수 있습니다. 개인 또는 확립된 불법 행위의 영향으로서의 성과 기록 회사는 가명 운영과 관련된 것보다 탈출하기가 더 어렵습니다. Chainlink은(는) 분산형 ID 기술(섹션 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은 Chainlink 커뮤니티에 서비스를 제공하는 모든 분석 제공자에게 균일하고 신뢰도가 높은 IIF 데이터를 제공할 수 있습니다. 또한 분석 제공업체의 주장을 뒷받침하는 황금 기록을 제공할 것입니다. 커뮤니티에서 독립적으로 검증할 수 있습니다. 9.7 종합적으로: 노드 운영자 인센티브 노드 운영자에 대한 명시적 및 암시적 인센티브에 대한 위의 논의를 종합합니다. 노드 운영자가 참여하고 혜택을 받는 방식에 대한 전체적인 관점을 제공합니다. Chainlink 네트워크. 개념적 가이드로서 주어진 Chainlink에 의해 위험에 처한 총 자산을 표현할 수 있습니다. 노드 연산자 $S는 다음과 같이 대략적으로 양식화된 형식으로 표시됩니다. \(S ≈\)D + \(F + \)FS + $R, 여기서: • $D는 모든 네트워크에 걸쳐 명시적으로 예치된 모든 지분의 합계입니다. 운영자가 참여합니다. • $F는 모든 네트워크에 걸쳐 모든 FFO를 합산한 순 현재 가치입니다. 운영자가 참여하는 것; • $FS는 운영자의 투기적 FFO의 순 현재 가치입니다. 그리고 • $R은 Chainlink 생태계 외부 운영자의 평판 자산입니다. oracle 노드에서 확인된 오작동으로 인해 위험에 처할 수 있습니다. 대체로 개념적이지만, 이 대략적인 동등성은 Chainlink 노드의 높은 신뢰성 성능을 선호하는 다양한 경제적 요인이 있음을 유용하게 보여줍니다. $D를 제외한 이러한 모든 요소는 오늘날의 Chainlink 네트워크에 존재합니다.9.8 경제 안보의 선순환 초선형 staking 영향과 수수료 지불 표현의 조합 IIF의 미래 수수료 기회(FFO)는 우리가 선순환이라고 부르는 것으로 이어질 수 있습니다. oracle 네트워크의 경제적 안정. 일종의 경제라고 볼 수 있다. 규모의. 특정 네트워크가 확보한 총액이 늘어날수록 고정된 양의 경제적 안정을 추가하는 데 필요한 추가 지분은 감소합니다. 평균 사용자당 비용. 따라서 사용자가 가입하는 것이 수수료 측면에서 더 저렴합니다. 동일한 네트워크 경제성 증가를 달성하는 것보다 이미 존재하는 네트워크를 사용하는 것보다 새로운 네트워크를 생성하여 보안을 강화합니다. 중요한 것은 각각의 신규 사용자 추가가 낮아진다는 것입니다. 해당 네트워크의 모든 이전 사용자에 대한 서비스 비용. 특정 수수료 구조(예: 스테이킹된 금액에 대한 특정 수익률)를 고려하면 네트워크가 벌어들이는 총 수수료가 증가하면 이는 추가 자금 흐름을 장려합니다. 더 높은 비율로 네트워크를 보호하려면 네트워크에 지분을 투자하세요. 특히, 총 지분이 개별 노드가 시스템에 보유할 수 있는 한도가 제한되어 있으며, 새로운 수수료 지불 시 시스템에 들어가서 FFO를 높이면 노드 수 n이 증가합니다. 덕분에 인센티브 시스템 설계의 초선형 staking 영향, 경제적 안정 시스템은 n보다 빠르게 상승할 것입니다. 예를 들어 섹션 9.4에서 설명한 메커니즘의 n2와 같습니다. 결과적으로 경제적 안정을 위한 평균 비용, 즉 기여하는 지분의 양은 1달러의 경제적 안정이 떨어질 것입니다. 따라서 네트워크는 사용자에게 요금을 청구할 수 있습니다. 더 낮은 수수료. oracle 서비스에 대한 수요가 탄력적이라고 가정합니다(예: 간략한 내용은 [31] 참조). 설명) 수요가 증가하여 추가 수수료와 FFO가 발생합니다. 다음 예를 통해 이 점을 설명합니다. 예시 5. 인센티브를 통해 oracle 네트워크의 경제적 보안이 강화된 이후 계획은 \(dn2 for stake \)dn이며, 1달러 지분으로 인한 경제적 안정입니다. n은 경제적 안정의 달러당 평균 비용, 즉 지분의 양입니다. 1달러의 경제적 안정에 기여하는 금액은 1/n입니다. 경제적 인센티브가 전적으로 FFO로 구성된 네트워크를 생각해 보세요. 노드당 \(d ≤\)10K입니다. 네트워크에 n = 3개의 노드가 있다고 가정합니다. 그러면 평균비용 경제적 안정의 1달러당 약 0.33달러입니다. 네트워크의 총 FFO가 \(30K (e.g., to \)31K 이상으로 증가한다고 가정합니다. 주어진 노드당 FFO의 한도를 늘리면 네트워크는 (적어도) n = 4로 성장합니다. 이제 평균 비용은 경제적 안정의 1달러당 약 0.25달러로 떨어집니다. 우리는 그림 18에서 oracle 네트워크의 경제적 안정의 전체 선순환을 개략적으로 설명합니다. 경제 안보의 선순환은 다음과 같은 효과에서 비롯된다는 점을 강조합니다. 사용자가 수수료를 합산합니다. 더 큰 이익을 위해 일하는 것은 그들의 집단 FFO입니다. 네트워크 규모가 커지고 집단 보안이 강화됩니다. 우리는 또한 선순환이 경제적 안정은 DON의 재정적 지속 가능성 달성에 유리합니다. 한 번 사용자 요구 사항을 해결하는 DON이 생성된 지점 이상으로 성장해야 합니다. 수수료 수익이 oracle 노드의 운영 비용을 초과합니다.



그림 18: Chainlink staking의 선순환 도식. 사용자 수수료 인상 oracle 네트워크 1⃝에 지불하면 네트워크가 성장하고 경제적 성장으로 이어집니다. 보안 2⃝. 이러한 초선형 성장은 Chainlink 네트워크에서 규모의 경제를 실현합니다. 3⃝. 구체적으로 이는 경제적 안정을 위한 평균 비용의 감소를 의미합니다. 수수료 지불 또는 기타 지분 소스에서 발생하는 달러당 경제적 안정 증가합니다. 비용 절감이 사용자에게 전달되어 oracle에 대한 수요 증가를 촉진합니다. 서비스 4⃝. 9.9 네트워크 성장을 이끄는 추가 요인 Chainlink 생태계가 계속 확장됨에 따라 우리는 그 매력을 믿습니다. blockchain 경제를 위한 인프라로서의 중요성이 가속화될 것입니다. oracle 네트워크가 제공하는 가치는 초선형적이므로 더 빠르게 성장합니다.네트워크 자체의 크기보다 이러한 가치 성장은 두 가지 모두에서 비롯됩니다. 규모의 경제 - 서비스 양이 증가함에 따라 사용자당 비용 효율성이 향상됩니다. 네트워크 효과 - 사용자가 DON을 더 광범위하게 채택함에 따라 네트워크 유틸리티가 증가합니다. 기존 smart contract은 계속해서 더 많은 가치를 확보하고 완전히 새로운 것을 보여줍니다. smart contract 애플리케이션은 보다 분산화된 서비스를 통해 가능해지며, 총 DONs의 사용 및 총 수수료가 증가해야 합니다. 수수료 풀 증가 더욱 분산화된 서비스를 창출하기 위한 수단과 인센티브로 전환됩니다. 결과적으로 선순환이 됩니다. 이 선순환은 닭고기와 달걀의 중요한 문제를 해결합니다. 하이브리드 smart contract 생태계의 문제: 혁신적인 smart contract 기능 아직 존재하지 않는 분산형 서비스가 필요한 경우가 많습니다(예: 새로운 DeFi 시장이 자주 발생함) 새로운 데이터 피드가 필요하지만 존재하기 위해서는 충분한 경제적 수요가 필요합니다. 기존 DON에 대한 다양한 smart contract의 수수료 풀링은 다음에 대한 수요를 나타냅니다. 증가하는 사용자 기반에서 추가 분산형 서비스를 생성하여 생성 DONs 및 새롭고 다양한 하이브리드 smart contracts를 지속적으로 활성화하고 있습니다. 요약하자면, 우리는 네트워크 보안의 성장이 선덕에 의해 주도된다고 믿습니다. Chainlink staking 메커니즘의 주기는 다음과 같은 더 큰 성장 패턴을 보여줍니다. Chainlink 네트워크는 분산형 온체인 경제를 구현하는 데 도움이 될 수 있습니다. 서비스.

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



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

결론
본 문서에서는 Chainlink의 진화에 대한 비전을 제시했습니다. 주요 테마 이 비전에는 훨씬 더 광범위한 서비스를 제공할 수 있는 네트워크의 능력이 있습니다. 단순한 데이터 전달보다 smart contracts. DON을 미래의 분산형 서비스의 기반으로 사용하여 Chainlink은 성능과 기밀성이 강화된 oracle 기능을 제공하는 것을 목표로 합니다. oracle 네트워크는 강력한 신뢰 최소화를 제공합니다. staking과 같은 원칙적인 암호 경제 메커니즘의 조합을 통해 메인 체인에 의존하여 신중하게 고안된 가드레일과 서비스 수준 시행. DONs는 또한 레이어 2 시스템이 트랜잭션에 대해 유연하고 공정한 주문 정책을 시행하고 멤풀 라우팅 트랜잭션에 대한 가스 비용을 줄이는 데 도움이 됩니다. 함께 찍은, 이러한 기능은 모두 안전하고 풍부한 기능을 갖춘 하이브리드 스마트의 방향으로 나아가고 있습니다. 계약. DONs의 유연성은 기존 Chainlink 서비스를 향상시키고 많은 추가 smart contract 기능 및 응용 프로그램. 그 중에는 원활한 다양한 오프체인 시스템과의 연결, 분산형 ID 생성 기존 데이터, 인프라에 중요한 정보를 적시에 제공하는 데 도움이 되는 우선순위 채널 거래 및 기밀 유지 DeFi 도구. 우리가 여기서 제시한 비전은 야심적입니다. 단기적으로는 역량 강화를 추구합니다. 현재 smart contracts의 도달 범위를 넘어서는 목표를 달성하기 위한 하이브리드 계약을 체결하는 동시에 장기적으로 우리는 분산형 금속층을 구현하는 것을 목표로 하고 있습니다. 행복하게 그릴 수 있어요 합의 알고리즘부터 영지식 증명까지 다양한 새로운 도구와 아이디어 빠르게 발전하는 연구의 결과로 커뮤니티가 발전하고 있는 시스템입니다.
마찬가지로, 우리는 이에 대한 대응으로 이 백서의 아이디어 구현을 우선시할 것으로 기대합니다. Chainlink 사용자 커뮤니티의 요구에 부응합니다. 우리는 다음 단계를 기대합니다 보편적인 연결을 통해 smart contracts에게 권한을 부여하고 세계 차세대 금융의 중추로서의 분산형 기술 그리고 법률 시스템. 감사의 말 이 문서에 그림을 제공한 Julian Alterini와 Shawn Lee에게 감사드립니다.
结论
在本文中,我们提出了 Chainlink 的演变愿景。主题 在这一愿景中,oracle 网络有能力为以下用户提供更广泛的服务: smart contracts 比单纯的数据传输。使用 DON 作为未来去中心化服务的基础,Chainlink 将致力于提供高性能、保密性增强的 oracle 功能。其 oracle 网络将提供强大的信任最小化 通过结合原则性的加密经济机制,例如 staking 和 精心设计的护栏和依赖主链的服务水平执行。 DONs 还将帮助第 2 层系统对交易执行灵活、公平的排序策略,并降低内存池路由交易的 Gas 成本。综合起来, 这些功能都朝着安全且功能丰富的混合智能方向发展 合同。 DON 的灵活性将增强现有的 Chainlink 服务并带来 许多附加的 smart contract 功能和应用程序。其中,无缝衔接 连接到各种链下系统,去中心化身份创建 现有数据、优先渠道有助于确保及时交付关键基础设施 交易和保密 DeFi 工具。 我们在这里提出的愿景是雄心勃勃的。在短期内,我们寻求增强能力 混合合同来实现目前 smart contract 无法实现的目标,同时 从长远来看,我们的目标是实现去中心化的元层。庆幸的是我们可以画画 新工具和想法——从共识算法到零知识证明 系统——社区正在开发该系统,作为快速发展的研究的成果。
同样,我们希望优先实施本文中的想法作为回应 满足 Chainlink 用户社区的需求。我们期待下一阶段 我们寻求通过通用连接来增强 smart contract 的能力并建立 去中心化技术是世界下一代金融的支柱 和法律制度。 致谢 感谢 Julian Alterini 和 Shawn Lee 绘制了本文中的数据。