Polkadot:异构多链框架的愿景

저자 Gavin Wood · 2016

초록

POLKADOT: 이종 다중 체인 프레임워크에 대한 비전 초안 1 박사. 개빈 우드 창립자, 이더리움 및 패리티 개빈@PARITY.IO 추상. 현재의 blockchain 아키텍처는 모두 확장성과 확장성의 실질적인 수단뿐만 아니라 여러 가지 문제로 어려움을 겪고 있습니다. 우리는 이것이 합의 아키텍처의 두 가지 매우 중요한 부분을 연결하는 데서 비롯된다고 믿습니다. 정준성과 타당성은 너무 밀접하게 연관되어 있습니다. 본 논문에서는 이종 다중 체인 아키텍처인 아키텍처를 소개합니다. 이는 근본적으로 두 가지를 구분합니다. 이 두 부분을 구분하고 전체적인 기능을 최소한으로 유지함으로써 보안 및 운송 측면에서 핵심 확장성을 위한 실용적인 수단을 현장에서 소개합니다. 확장성은 다음을 통해 해결됩니다. 이 두 가지 기능에 대한 분할 및 정복 접근 방식은 인센티브를 통해 결합된 핵심을 확장합니다. 신뢰할 수 없는 공개 노드. 이 아키텍처의 이질적인 특성으로 인해 무신뢰, 완전 분산형 "연합"에서 상호 운용되는 다양한 유형의 합의 시스템이 가능해지며 개방형 네트워크와 폐쇄형 네트워크가 신뢰 없이 액세스할 수 있습니다. 서로. 우리는 다음과 같은 하나 이상의 기존 네트워크와의 하위 호환성을 제공하는 수단을 제시합니다. Ethereum. 우리는 그러한 시스템이 실질적으로 전반적인 검색에 유용한 기본 수준 구성 요소를 제공한다고 믿습니다. 글로벌 상거래 수준의 확장성과 개인 정보 보호를 달성할 수 있는 구현 가능한 시스템입니다. 1. 서문 이는 기술적인 "비전" 요약을 위한 것입니다. blockchain 패러다임을 더욱 발전시키는 데 취할 수 있는 한 가지 가능한 방향과 이 방향이 왜 합리적인지에 대한 몇 가지 근거를 설명합니다. 그것은에 배치 현재 개발 단계에서 가능한 한 많은 세부정보를 제공합니다. 구체적인 개선을 제공할 수 있는 시스템 blockchain 기술의 다양한 측면. 이는 공식적이거나 다른 방식으로 사양을 제시하려는 의도가 없습니다. 포괄적이거나 포괄적인 의도는 아닙니다. 최종 디자인. 핵심이 아닌 측면을 다루려는 의도는 없습니다. API, 바인딩, 언어 등 프레임워크의 사용법. 이는 특히 실험적입니다. 여기서 매개변수 지정되어 있으므로 변경될 가능성이 있습니다. 메커니즘은 커뮤니티에 대한 반응으로 추가, 개선 및 제거됩니다. 아이디어와 비평. 이 문서의 많은 부분이 실험적 증거와 프로토타입을 통해 수정될 수 있습니다. 무엇이 효과가 있고 무엇이 효과가 없는지에 대한 정보를 제공합니다. 이 문서에는 프로토콜에 대한 핵심 설명과 함께 취할 수 있는 방향에 대한 아이디어가 포함되어 있습니다. 다양한 측면을 개선합니다. 핵심이 될 것으로 예상된다. 설명은 초기 작업의 시작점으로 사용됩니다. 일련의 개념 증명. 최종 "버전 1.0"은 다음과 같습니다. 입증되고 다음으로 결정된 추가 아이디어와 함께 이 세련된 프로토콜을 기반으로 합니다. 프로젝트가 목표를 달성하기 위해 필요합니다. 1.1. 역사. • 2016년 9월 10일: 0.1.0-proof1 • 2016년 10월 20일: 0.1.0-proof2 • 2016년 1월 11일: 0.1.0-proof3 • 2016년 10월 11일: 0.1.0 2. 소개 블록체인은 "사물 인터넷"을 포함한 여러 분야에서 큰 유용성을 보여주었습니다. (IoT), 금융, 거버넌스, ID 관리, 웹 분산화 및 자산 추적. 그러나 그럼에도 불구하고 기술적 약속과 거창한 이야기, 우리는 아직 보지 못했습니다 현재 기술의 중요한 실제 배포. 우리는 이것이 현재의 다섯 가지 주요 실패로 귀결된다고 믿습니다. 기술 스택: 확장성: 전 세계적으로 얼마나 많은 리소스가 소비되는지 단일 트랜잭션을 처리하는 시스템의 처리, 대역폭 및 저장 공간과 트랜잭션 수 거래는 다음과 같이 합리적으로 처리될 수 있습니다. 최고 조건? 격리성: 여러 회사의 다양한 요구 사항을 충족할 수 있습니까? 당사자와 신청서가 동일한 프레임워크에서 거의 최적의 수준으로 처리됩니까? 개발 가능성: 도구가 얼마나 잘 작동합니까? 마 API가 개발자의 요구 사항을 해결합니까? 교육자료가 있나요? 올바른 통합이 있습니까? 거버넌스: 네트워크가 유연하게 유지될 수 있습니까? 시간이 지남에 따라 진화하고 적응합니까? 결정이 가능할까요? 충분한 포용성, 정당성 및 투명성을 통해 효과적인 리더십을 제공합니다. 분산 시스템? 적용 가능성: 기술이 실제로 자체적으로 긴급한 요구 사항을 해결합니까? 격차를 해소하기 위해 다른 "미들웨어"가 필요합니까? 실제 응용? 현재 작업에서 우리는 처음 두 가지 문제를 해결하는 것을 목표로 합니다. 문제: 확장성 및 격리성. 즉, 우리는 믿습니다 Polkadot 프레임워크는 이러한 각 문제 클래스에서 의미 있는 개선을 제공할 수 있습니다. 다음과 같은 현대적이고 효율적인 blockchain 구현 패리티 Ethereum 클라이언트 [17]이(를) 실행할 수 있습니다.초과하다 고성능 소비자 하드웨어에서 실행 시 초당 3,000건의 트랜잭션. 그러나 현재 현실 세계에서는 blockchain 네트워크는 실질적으로 약 30개로 제한됩니다. 초당 트랜잭션. 이러한 제한은 주로 현재의 동기식 합의 메커니즘이 광범위한 타이밍 안전 마진을 요구한다는 사실에서 비롯됩니다. 예상되는 처리 시간으로 인해 악화됩니다. 1

摘要

Polkadot:异构多链框架的愿景 草案1 博士。加文·伍德 以太坊和 Parity 创始人 加文@PARITY.IO 摘要。当今的 blockchain 架构都存在许多问题,尤其是可扩展性和可伸缩性的实用方法。我们相信这源于共识架构的两个非常重要的部分,即 规范性和有效性过于紧密地结合在一起。本文介绍了一种架构,异构多链, 这从根本上将两者区分开来。 将这两部分分开,并将提供的整体功能保持在绝对最低限度 在安全和运输方面,我们引入了核心可扩展性的实用方法。可扩展性是通过以下方式解决的 对这两个功能采取分而治之的方法,通过激励来扩展其粘合核心 不受信任的公共节点。 这种架构的异构性使得许多高度不同类型的共识系统能够在一个不信任的、完全去中心化的“联盟”中互操作,从而允许开放和封闭的网络能够无信任地访问 彼此。 我们提出了一种提供与一个或多个预先存在的网络的向后兼容性的方法,例如 Ethereum。我们相信,这样的系统在总体搜索实际应用中提供了有用的基础组件。 能够实现全球商务级别的可扩展性和隐私性的可实施系统。 一、前言 这是一个技术“愿景”摘要 进一步开发 blockchain 范式时可能采取的一个可能方向,以及为什么这个方向是明智的一些基本原理。它布置在 在此开发阶段尽可能详细 一个可以具体改进的系统 blockchain 技术的多个方面。 它无意成为正式或其他形式的规范。它的目的不是全面的,也不是 最终设计。它无意涵盖非核心方面 框架,例如 API、绑定、语言和 用法。 这显然是实验性的;其中参数 已被指定,它们很可能会改变。机制将 根据社区的需求进行添加、完善和删除 想法和批评。本文的大部分内容可能会 作为实验证据和原型进行修改给出 我们提供有关什么有效、什么无效的信息。 本文档包括协议的核心描述以及可能采取的方向的想法 以改善各方面。据设想,核心 描述将用作初始的起点 系列概念验证。最终的“版本 1.0”将是 基于这个完善的协议以及经过验证并确定的其他想法 是项目实现其目标所必需的。 1.1.历史。 • 2016 年 9 月 10 日:0.1.0-proof1 • 2016 年 10 月 20 日:0.1.0-proof2 • 2016 年 1 月 11 日:0.1.0-proof3 • 2016 年 10 月 11 日:0.1.0 2. 简介 区块链在包括“物联网”在内的多个领域展示了巨大的实用前景 (物联网)、财务、治理、身份管理、网络去中心化和资产跟踪。然而,尽管 技术承诺和宏大的言论,我们还没有看到 当前技术在现实世界中的重大部署。 我们认为,这归因于当前的五个关键失败 技术栈: 可扩展性:全球花费了多少资源 系统处理单笔交易的处理能力、带宽和存储以及多少 交易可以合理地处理 峰值条件? 隔离性:能否满足多个人的不同需求 各方和应用程序是否可以在同一框架下达到近乎最佳的程度? 可开发性:这些工具的工作效果如何?做 API 满足了开发人员的需求吗?有教育材料吗?那里有正确的集成吗? 治理:网络能否保持灵活性 随着时间的推移而发展和适应? 决策可以是 具有足够的包容性、合法性和 透明度,以提供有效的领导 去中心化系统? 适用性:该技术本身是否真的能够满足迫切的需求?是否需要其他“中间件”来弥补差距 实际应用? 在目前的工作中,我们的目标是解决前两个问题 问题:可扩展性和隔离性。也就是说,我们相信 Polkadot 框架可以为每一类问题提供有意义的改进。 现代、高效的 blockchain 实现,例如 Parity Ethereum 客户端 [17] 可以处理es 超过 在高性能消费类硬件上运行时每秒处理 3,000 个事务。 然而,目前的现实世界 blockchain 网络实际上仅限于 30 个左右 每秒交易数。 这种限制主要源于当前的同步共识机制需要广泛的时间安全裕度。 预期的处理时间,这会因 1

소개

블록체인은 "사물 인터넷"을 포함한 여러 분야에서 큰 유용성을 보여주었습니다. (IoT), 금융, 거버넌스, ID 관리, 웹 분산화 및 자산 추적. 그러나 그럼에도 불구하고 기술적 약속과 거창한 이야기, 우리는 아직 보지 못했습니다 현재 기술의 중요한 실제 배포. 우리는 이것이 현재의 다섯 가지 주요 실패로 귀결된다고 믿습니다. 기술 스택: 확장성: 전 세계적으로 얼마나 많은 리소스가 소비되는지 단일 트랜잭션을 처리하는 시스템의 처리, 대역폭 및 저장 공간과 트랜잭션 수 거래는 다음과 같이 합리적으로 처리될 수 있습니다. 최고 조건? 격리성: 여러 회사의 다양한 요구 사항을 충족할 수 있습니까? 당사자와 신청서가 동일한 프레임워크에서 거의 최적의 수준으로 처리됩니까? 개발 가능성: 도구가 얼마나 잘 작동합니까? 마 API가 개발자의 요구 사항을 해결합니까? 교육자료가 있나요? 올바른 통합이 있습니까? 거버넌스: 네트워크가 유연하게 유지될 수 있습니까? 시간이 지남에 따라 진화하고 적응합니까? 결정이 가능할까요? 충분한 포용성, 정당성 및 투명성을 통해 효과적인 리더십을 제공합니다. 분산 시스템? 적용 가능성: 기술이 실제로 자체적으로 긴급한 요구 사항을 해결합니까? 격차를 해소하기 위해 다른 "미들웨어"가 필요합니까? 실제 응용? 현재 작업에서 우리는 처음 두 가지 문제를 해결하는 것을 목표로 합니다. 문제: 확장성 및 격리성. 즉, 우리는 믿습니다 Polkadot 프레임워크는 이러한 각 문제 클래스에서 의미 있는 개선을 제공할 수 있습니다. 다음과 같은 현대적이고 효율적인 blockchain 구현 패리티 Ethereum 클라이언트 [17]은 다음을 초과하여 처리할 수 있습니다. 고성능 소비자 하드웨어에서 실행 시 초당 3,000건의 트랜잭션. 그러나 현재 현실 세계에서는 blockchain 네트워크는 실질적으로 약 30개로 제한됩니다. 초당 트랜잭션. 이러한 제한은 주로 현재의 동기식 합의 메커니즘이 광범위한 타이밍 안전 마진을 요구한다는 사실에서 비롯됩니다. 예상되는 처리 시간으로 인해 악화됩니다.POLKADOT: 이종 다중 체인 프레임워크에 대한 비전 초안 1 2 더 느린 구현을 지원하려는 욕구. 이는 다음으로 인해 발생합니다. 기본 합의 아키텍처: 상태 전환 메커니즘 또는 당사자가 대조하는 수단 트랜잭션을 실행하고 논리가 근본적으로 묶여 있습니다. 합의된 "정규화" 메커니즘, 또는 당사자들이 다음 중 하나에 동의하는 것을 의미합니다. 가능한, 유효한, 역사. 이는 Bitcoin [15] 및 Ethereum[5,23]과 같은 proof-of-work(PoW) 시스템과 NXT [8] 및 Bitshares [12]과 같은 지분 증명(PoS) 시스템 모두에 동일하게 적용됩니다. 결국 모두 같은 핸디캡을 겪게 됩니다. 그것은 간단하다 blockchains의 성공을 도운 전략입니다. 그러나, 이 두 가지 메커니즘을 하나의 장치로 긴밀하게 결합함으로써 프로토콜의 여러 다른 프로토콜도 함께 번들로 묶습니다. 서로 다른 위험 프로필, 서로 다른 확장성 요구 사항, 서로 다른 개인 정보 보호 요구 사항을 가진 행위자와 애플리케이션. 하나의 크기가 모든 것에 적합하지는 않습니다. 너무 자주 그런 경우가 있습니다. 광범위한 호소력을 원하는 네트워크는 최소 공통 분모를 초래하는 어느 정도 보수주의를 채택합니다. 최적으로 소수에게만 서비스를 제공하고 궁극적으로 실패로 이어지는 경우 때로는 혁신하고, 수행하고, 적응하는 능력 극적으로 그렇습니다. 예를 들어 일부 시스템. 사실 [21] 상태 전환 메커니즘을 완전히 삭제했습니다. 그러나 대부분의 우리가 원하는 유용성을 위해서는 상태를 전환하는 능력이 필요합니다. 공유 상태 머신에 따르면. 놓으면 해결됨 대안적인 문제; 대안을 제공하지 않습니다 솔루션. 그러므로 하나의 합리적인 방향은 분명한 것 같습니다. 확장 가능한 분산 컴퓨팅에 대한 경로를 탐색합니다. 플랫폼은 합의 아키텍처를 분리하는 것입니다. 상태 전환 메커니즘. 그리고 아마도 이는 Polkadot이 확장성에 대한 솔루션으로 채택하는 전략입니다. 2.1. 프로토콜, 구현 및 네트워크. 좋아요 Bitcoin 및 Ethereum, Polkadot은 네트워크 프로토콜과 (지금까지 가정된) 기본 프로토콜을 동시에 나타냅니다. 이 프로토콜을 실행하는 공용 네트워크. Polkadot은 무료 개방형 프로젝트로 만들어졌으며 프로토콜 사양은 크리에이티브 커먼즈 라이센스에 따릅니다. 코드는 FLOSS 라이센스에 따라 배치됩니다. 프로젝트는 공개적으로 개발되었으며 기여를 받아들입니다. 어디에서나 유용합니다. 다르지 않은 RFC 시스템 Python Enhancement Proposals는 다음과 같은 수단을 허용합니다. 프로토콜 변경 및 업그레이드에 대해 공개적으로 협력합니다. Polkadot 프로토콜의 초기 구현 Parity Polkadot 플랫폼으로 알려지며 API와 함께 전체 프로토콜 구현을 포함합니다. 바인딩. 다른 Parity blockchain 구현과 마찬가지로, PPP는 공용 네트워크나 공용 네트워크를 위한 것이 아닌 범용 blockchain 기술 스택으로 설계되었습니다. 민간/컨소시엄 운영. 이에 따른 발전 지금까지 여러 당사자로부터 자금을 지원받았습니다. 영국 정부로부터 보조금을 받았습니다. 그럼에도 불구하고 이 문서에서는 Polkadot에 대해 설명합니다. 공용 네트워크의 컨텍스트. 우리가 공용 네트워크에서 구상하는 기능은 네트워크에서 요구되는 기능의 상위 집합입니다. 대체(예: 개인 및/또는 컨소시엄) 설정. 또한 이 맥락에서 Polkadot의 전체 범위는 다음과 같습니다. 더 명확하게 설명하고 논의할 수 있습니다. 이것은 의미합니다 독자는 특정 메커니즘이 Polkadot과 직접적으로 관련되지 않은 설명(예: 다른 공용 네트워크와의 상호 운용) 비공개("허가된") 상황에서 배포되는 경우. 2.2. 이전 작업. 국가 전환에서 기본 합의를 분리하는 것이 비공식적으로 제안되었습니다. 최소 2년 동안 개인적으로 —Max Kaye는 초기에 그러한 전략을 지지한 사람이었습니다. Ethereum. 체인(Chain)으로 알려진 더 복잡하고 확장 가능한 솔루션 섬유, 2014년 6월로 거슬러 올라가 나중에 처음 출판됨 그 해1, 투명한 체인 간 실행 메커니즘을 제공하는 단일 릴레이 체인과 여러 개의 동종 체인에 대한 사례가 만들어졌습니다. 결맞음이 지불되었습니다 트랜잭션 대기 시간을 통해—다음을 요구하는 트랜잭션 시스템의 서로 다른 부분을 조정하면 처리하는 데 시간이 더 걸립니다. Polkadot는 아키텍처의 대부분을 해당 아키텍처와 후속 대화에서 가져옵니다. 사람마다 다르지만 디자인과 조항의 상당 부분이 크게 다릅니다. Polkadot에 필적하는 시스템은 없지만 실제로 생산 중에는 어느 정도 관련성이 있는 여러 시스템이 있습니다. 제안되었지만 실질적인 수준은 거의 없습니다. 세부 사항. 이러한 제안은 다음과 같습니다.시스템으로 세분화 이는 전 세계적으로 일관성이 있다는 개념을 떨어뜨리거나 감소시킵니다. 상태 머신, 전역적으로 제공하려고 시도하는 머신 동종 샤드를 통한 일관된 싱글톤 머신 그리고 이질성만을 목표로 하는 것. 2.2.1. 전역 상태가 없는 시스템. Factom [21]은 다음 사항 없이 정규성을 입증하는 시스템입니다. 유효성을 확보하여 효과적으로 데이터를 기록할 수 있습니다. 글로벌 상태와 어려움을 회피하기 때문에 이것이 가져오는 확장성을 통해 확장 가능한 솔루션으로 간주될 수 있습니다. 그러나 앞서 언급한 바와 같이 세트는 그것이 해결하는 문제의 비율은 엄격하고 실질적으로 더 적습니다. Tangle [18]은 합의 시스템에 대한 새로운 접근 방식입니다. 트랜잭션을 블록으로 배열하고 엄격하게 연결된 목록을 통해 합의를 형성하여 상태 변경에 대한 전 세계적으로 표준적인 순서를 제공하는 대신 크게 구조화된 순서에 대한 아이디어를 포기하고 대신 이전 항목을 정규화하는 데 도움이 되는 이후 항목과 종속 트랜잭션의 방향성 비순환 그래프를 추진합니다. 명시적인 참조를 통해 임의의 상태 변경의 경우 이 종속성 그래프는 금방 다루기 어려워집니다. 그러나 훨씬 더 간단한 UTXO model2의 경우 이는 다음과 같습니다. 꽤 합리적이다. 시스템은 느슨하게 일관성이 있고 트랜잭션은 일반적으로 각 시스템과 독립적이기 때문입니다. 다른 한편으로, 많은 양의 전역 병렬성이 상당히 커집니다. 자연스러운. UTXO 모델을 사용하면 효과가 있습니다. Tangle을 순수한 가치 전달 "통화"로 제한하는 것 더 일반적이거나 확장 가능한 시스템이 아닙니다. 더욱이, 엄격한 글로벌 일관성이 없으면 절대적인 일관성이 필요한 경향이 있는 다른 시스템과의 상호 작용이 필요합니다. 시스템 상태에 대한 정도의 지식은 비실용적이 됩니다. 1https://github.com/ethereum/wiki/wiki/Chain-Fibers-Redux 2미사용 트랜잭션 출력, Bitcoin이 사용하는 모델로 상태는 사실상 일부 값과 연관된 주소 세트입니다. 트랜잭션은 그러한 주소를 대조하여 총합이 동일한 새로운 주소 세트로 재구성합니다.

POLKADOT: 이종 다중 체인 프레임워크에 대한 비전 초안 1 3 2.2.2. 이종 체인 시스템. 사이드 체인 [3]은 메인 Bitcoin 체인 간의 무신뢰 상호 작용을 허용하는 Bitcoin 프로토콜에 대한 추가 제안 그리고 추가적인 사이드체인. 어떠한 조항도 없습니다 사이드체인 간의 '풍부한' 상호작용 정도: 상호작용은 사이드체인이 활성화될 수 있도록 제한됩니다. 지역에서 서로의 자산을 관리하는 관리자 전문 용어 - 양방향 페그 3. 최종 비전은 Bitcoin 통화가 제공될 수 있는 프레임워크에 대한 것입니다. 주변 장치인 경우 페깅을 통해 추가 기능 제공 좀 더 이국적인 상태 전환을 통해 다른 체인으로 Bitcoin 프로토콜이 허용하는 것보다 시스템. 이런 의미에서, 사이드체인은 확장성보다는 확장성을 다룹니다. 실제로 사이드체인의 유효성에 대한 규정은 근본적으로 없습니다. 한 체인의 token(예: Bitcoin) 사이드체인을 대신하여 보유하는 것은 오직 사이드체인에 의해서만 보호됩니다. 채굴자들이 정규화하도록 장려하는 사이드체인의 능력 유효한 전환. Bitcoin 네트워크의 보안 다른 사람을 대신하여 업무를 쉽게 전환할 수 없습니다. blockchains. 또한 Bitcoin을 보장하기 위한 프로토콜 채굴자는 병합 채굴(사이드 체인의 정규화 권한을 복제)하고 더 중요한 것은 사이드 체인의 전환이 외부에 있는지 확인하는 것입니다. 이 제안의 범위. Cosmos [10]는 제안된 다중 체인 시스템입니다. 사이드 체인과 동일한 맥락, Nakamoto PoW 교체 Jae Kwon의 Tendermint 알고리즘에 대한 합의 방법. 기본적으로 이는 여러 체인(운영 방식)을 설명합니다. 영역) 각각은 Tendermint의 개별 인스턴스를 사용하고 다음을 통한 무신뢰 통신 수단을 사용합니다. 마스터 허브 체인. 이 인터체인 통신은 임의의 정보가 아닌 디지털 자산("구체적으로 tokens")의 전송으로 제한되지만 이러한 인터체인 통신에는 데이터에 대한 반환 경로가 있습니다. 예를 들어 전송 상태를 발송인에게 보고합니다. 구역화된 체인에 대한 검증자 세트, 특히 그들에게 인센티브를 부여하는 수단은 사이드체인처럼 왼쪽에 있습니다. 해결되지 않은 문제로. 일반적인 가정은 다음과 같습니다. 각 존 체인은 자체적으로 validators에 대한 비용을 지불하는 데 인플레이션이 사용되는 token 가치를 보유합니다. 아직 초기 단계 디자인 측면에서 현재 제안에는 확장성을 달성하기 위한 경제적 수단에 대한 포괄적인 세부 정보가 부족합니다. 글로벌 타당성에 대한 확실성. 그러나 영역과 허브 사이에 필요한 느슨한 일관성으로 인해 구역화 매개변수에 대한 추가적인 유연성을 위해 더 강력하게 시행하는 시스템과 비교하여 체인 일관성. 2.2.3. 캐스퍼. 아직까지 Casper [6]과 Polkadot에 대한 포괄적인 검토나 병렬 비교는 없습니다. 꽤 대대적인 작품을 만들 수는 있지만 (따라서 부정확한) 둘의 특성화. Casper는 PoS 합의 알고리즘을 재구성한 것입니다. 어떤 포크에 베팅하는 참가자를 기반으로 할 수 있습니다. 궁극적으로 표준이 될 것입니다. 네트워크에 대한 견고성을 보장하기 위해 상당한 고려가 이루어졌습니다. 포크는 장기간에도 사용할 수 있으며 기본 Ethereum 모델 위에 어느 정도 추가 확장성을 제공합니다. 다음과 같이 따라서 캐스퍼는 현재까지 훨씬 더 많은 경향이 있습니다. Polkadot 및 그 조상보다 복잡한 프로토콜, 그리고 기본 blockchain 형식과 상당한 차이가 있습니다. 그것 캐스퍼가 미래에 어떻게 반복할지는 아직 알 수 없습니다 최종적으로 배포되면 어떤 모습일지. Casper와 Polkadot은 모두 흥미로운 새로운 프로토콜을 나타내며 어떤 의미에서는 Ethereum, 둘 사이에는 상당한 차이가 있습니다. 궁극적인 목표와 배포 경로. 캐스퍼는 Ethereum 원래 설계된 재단 중심 프로젝트 원하지 않는 프로토콜에 대한 PoS 변경이 되는 것입니다. 근본적으로 확장 가능한 blockchain을 만듭니다. 결정적으로는 더 광범위한 것이 아닌 하드 포크로 설계되었으므로 모든 Ethereum 클라이언트와 사용자는 업그레이드하거나 불확실한 채택을 유지해야 합니다. 따라서 배포가 빡빡한 분산형 프로젝트에 내재된 것처럼 배포가 훨씬 더 어려워집니다. 조정이 필요합니다. Polkadot는 여러 면에서 다릅니다. 무엇보다도, Polkadot은 완전히 확장 가능하고 확장 가능하도록 설계되었습니다. blockchain 개발, 배포 및 상호 작용 테스트 침대. 이는 미래에 대비할 수 있는 하네스로 제작되었습니다. 새로운 blockchain에 동화되다지나치게 복잡한 분산 조정 없이 사용 가능한 기술 또는 하드포크. 우리는 이미 다음과 같은 몇 가지 사용 사례를 구상하고 있습니다. 암호화된 컨소시엄 체인 및 고주파 체인 매우 낮은 블록 시간으로 인해 비현실적입니다. 현재 구상 중인 Ethereum의 향후 버전. 마지막으로, 그것과 Ethereum 사이의 결합은 매우 느슨하다; Ethereum 측의 조치는 필요하지 않습니다. 둘 사이의 무신뢰 트랜잭션 전달을 활성화합니다. 네트워크. 즉, Casper/Ethereum 2.0 및 Polkadot 우리가 그들의 최종 목표라고 생각하는 몇 가지 덧없는 유사성을 공유합니다. 실질적으로 다르며 경쟁하기보다는 두 프로토콜은 궁극적으로 하나의 환경 하에서 공존할 가능성이 높습니다. 가까운 미래에 상호 이익이 되는 관계.

介绍

区块链在包括“物联网”在内的多个领域展示了巨大的实用前景 (物联网)、财务、治理、身份管理、网络去中心化和资产跟踪。然而,尽管 技术承诺和宏大的言论,我们还没有看到 当前技术在现实世界中的重大部署。 我们认为,这归因于当前的五个关键失败 技术栈: 可扩展性:全球花费了多少资源 系统处理单笔交易的处理能力、带宽和存储以及多少 交易可以合理地处理 峰值条件? 隔离性:能否满足多个人的不同需求 各方和应用程序是否可以在同一框架下达到近乎最佳的程度? 可开发性:这些工具的工作效果如何?做 API 满足了开发人员的需求吗?有教育材料吗?那里有正确的集成吗? 治理:网络能否保持灵活性 随着时间的推移而发展和适应? 决策可以是 具有足够的包容性、合法性和 透明度,以提供有效的领导 去中心化系统? 适用性:该技术本身是否真的能够满足迫切的需求?是否需要其他“中间件”来弥补差距 实际应用? 在目前的工作中,我们的目标是解决前两个问题 问题:可扩展性和隔离性。也就是说,我们相信 Polkadot 框架可以为每一类问题提供有意义的改进。 现代、高效的 blockchain 实现,例如 Parity Ethereum 客户端 [17] 可以处理超过 在高性能消费类硬件上运行时每秒处理 3,000 个事务。 然而,目前的现实世界 blockchain 网络实际上仅限于 30 个左右 每秒交易数。 这种限制主要源于当前的同步共识机制需要广泛的时间安全裕度。 预期的处理时间,这会因Polkadot:异构多链框架的愿景 草案1 2 希望支持较慢的实现。这是由于 底层共识架构:状态转换机制,或者各方核对的方式 并执行交易,其逻辑从根本上联系在一起 进入共识“规范化”机制,或者 指各方就多项协议中的一项达成一致的方式 可能的、有效的、历史的。 这同样适用于 proof-of-work (PoW) 系统,例如 Bitcoin [15] 和 Ethereum [5,23] 以及股权证明 (PoS) 系统,例如 NXT [8] 和 Bitshares [12]: 所有人最终都会遭受同样的障碍。这是一个简单的 帮助 blockchain 取得成功的策略。然而, 通过将这两种机制紧密耦合成一个单元 协议中,我们还将多个不同的协议捆绑在一起 具有不同风险状况、不同可扩展性要求和不同隐私需求的参与者和应用程序。 一种尺寸并不适合所有情况。很多时候,情况是在一个 为了获得广泛的吸引力,网络采取了一定程度的保守主义,从而导致了最低公分母 只为少数人提供最佳服务,最终导致失败 有时表现在创新、执行和适应的能力上 戏剧性地如此。 一些系统,例如Factom [21] 完全放弃了状态转换机制。然而,大部分 我们想要的效用需要能够转换状态 根据共享状态机。丢掉就可以解决 一个替代问题;它没有提供替代方案 解决方案。 因此,似乎很清楚,一个合理的方向 探索可扩展的去中心化计算的途径 平台的目的是将共识架构与 状态转换机制。而且,也许并不奇怪,这就是 Polkadot 所采用的可扩展性解决方案的策略。 2.1.协议、实施和网络。喜欢 Bitcoin 和 Ethereum、Polkadot 同时指网络协议和(迄今为止假定的)主协议 运行该协议的公共网络。 Polkadot 旨在成为一个免费和开放的项目,协议规范采用知识共享许可,并且 代码被置于 FLOSS 许可证之下。该项目是 以开放的方式开发并接受贡献 无论它们在哪里有用。 RFC 系统,与 Python 增强提案将允许一种方法 就协议变更和升级进行公开合作。 我们最初实施 Polkadot 协议 将被称为 Parity Polkadot 平台,并将 包括完整的协议实现和 API 绑定。与其他 Parity blockchain 实现一样, PPP 被设计为通用的 blockchain 技术堆栈,既不是公共网络独有的,也不是 私人/财团运营。它的发展是这样的 Far 已由多方资助,包括通过 英国政府的拨款。 尽管如此,本文仍然描述了 Polkadot 公共网络的上下文。我们在公共网络中设想的功能是公共网络中所需功能的超集 替代(例如私人和/或联盟)设置。此外,在这种情况下,Polkadot 的完整范围可以 进行更清晰的描述和讨论。这确实意味着 读者应该意识到某些机制可能 与 Polkadot 不直接相关的描述(例如与其他公共网络的互操作) 在非公开(“许可”)情况下部署时。 2.2.以前的工作。已经非正式地提议将基本共识与状态转换脱钩 私下里至少有两年的时间——马克斯·凯伊 (Max Kaye) 在公司成立之初就是这种策略的支持者。 Ethereum。 一种更复杂的可扩展解决方案,称为“链” Fibers,可追溯到 2014 年 6 月,随后首次发布 那一年1,提出了使用单个中继链和多个同质链提供透明的链间执行机制的案例。 退相干是付费的 通过交易延迟——交易需要 系统不同部分的协调将 需要更长的时间来处理。 Polkadot 的大部分架构都来自于此以及后续对话 尽管它的设计和规定有很大不同,但它却适用于不同的人。 虽然没有可与 Polkadot 相媲美的系统 实际上在生产中,有一些相关的系统 已提出建议,尽管很少有实质性的建议 细节。这些建议可以是分解成系统 它放弃或减少了全球一致的概念 状态机,那些试图提供全局的 通过同质分片实现连贯的单例机器 以及仅针对异质性的那些。 2.2.1.没有全局状态的系统。 Factom [21] 是一个无需遵循规范即可证明规范性的系统 有效性,有效地允许记录数据。由于避免全局状态和困难 通过这带来的扩展,它可以被认为是一个可扩展的解决方案。然而,正如前面提到的,集合 它解决的问题数量严格来说要小得多。 Tangle [18] 是一种新颖的共识系统方法。 它不是将交易安排到区块中并就严格链接的列表达成共识以给出状态更改的全球规范排序,而是在很大程度上放弃了高度结构化排序的想法,而是 推动依赖事务的有向无环图,其中后面的项目有助于规范化早期的项目 通过显式引用。对于任意状态变化, 这个依赖图很快就会变得棘手, 然而对于更简单的 UTXO model2 这变成 相当合理。因为系统只是松散地连贯,并且事务通常彼此独立 另外,大量的全局并行性变得相当 自然的。 使用 UTXO 模型确实有效果 将 Tangle 限制为纯粹的价值转移“货币” 系统而不是任何更通用或可扩展的东西。 此外,如果没有硬性的全球一致性,与其他系统的交互——这往往需要绝对的 对系统状态的程度了解变得不切实际。 1https://github.com/ethereum/wiki/wiki/Chain-Fibers-Redux 2未花费的交易输出,Bitcoin 使用的模型,其中状态实际上是与某个值关联的地址集; 交易将这些地址进行整理,并将其重组为一组总和相等的新地址

Polkadot:异构多链框架的愿景 草案1 3 2.2.2.异构链系统。侧链 [3] 是 提议对 Bitcoin 协议进行补充,该协议将允许主 Bitcoin 链之间进行无需信任的交互 和额外的侧链。没有任何规定 侧链之间“丰富”相互作用的程度:相互作用将仅限于允许侧链 彼此资产的托管人,在当地发挥作用 行话——双向挂钩 3. 最终愿景是建立一个可以提供 Bitcoin 货币的框架 通过挂钩附加的(如果是外围的)功能 到其他一些具有更奇特状态转换的链上 Bitcoin 协议允许的系统。从这个意义上说, 侧链解决的是可扩展性而不是可扩展性。 事实上,侧链的有效性基本上没有规定;来自一条链的 tokens(例如 Bitcoin) 代表侧链持有的数据仅由 侧链激励矿工标准化的能力 有效的转换。 Bitcoin 网络的安全 不能轻易地转为代表其他人工作 blockchains。此外,还有一个用于确保 Bitcoin 的协议 矿工合并挖矿(即将其规范化能力复制到侧链上),更重要的是,验证侧链的转换是否在 本提案的范围。 Cosmos [10] 是提议的多链系统 与侧链相同,交换了 Nakamoto PoW Jae Kwon 的 Tendermint 算法的共识方法。 本质上,它描述了多个链(在 区域),每个区域都使用 Tendermint 的单独实例,以及通过 主轮毂链。这种链间通信仅限于数字资产的传输(“具体是关于tokens”)而不是任意信息,但是这种链间通信确实有数据的返回路径, 例如向发件人报告传输状态。 分区链的验证器集,特别是 激励他们的手段,就像侧链一样,被留下了 作为一个未解决的问题。一般假设是 每个分区链本身都会持有 token 的价值,其通货膨胀用于支付 validator 的费用。仍处于早期阶段 设计方面,目前该提案缺乏关于实现可扩展的经济手段的全面细节 全球有效性的确定性。然而,区域和中心之间所需的松散一致性将允许 为分区参数提供额外的灵活性 与执行力更强的系统相比,链条 连贯性。 2.2.3.卡斯帕。迄今为止,Casper [6] 和 Polkadot 之间尚未进行全面审查或并排比较 已经制定了,尽管人们可以做出相当全面的 (因此不准确)两者的表征。 Casper 重新构想了 PoS 共识算法 可以基于参与者对哪个分叉的投注 最终将成为规范。充分考虑确保其对网络的鲁棒性 分叉,即使延长,并且在基本 Ethereum 模型之上具有一定程度的可扩展性。作为 因此,Casper 迄今为止往往是一个更 比 Polkadot 及其祖先更复杂的协议,以及 与基本 blockchain 格式有很大偏差。它 Casper 未来将如何迭代仍不得而知 以及最终部署后会是什么样子。 虽然 Casper 和 Polkadot 都代表了有趣的新协议,并且在某种意义上,增强了 Ethereum,它们之间存在显着差异 最终目标和部署路径。 卡斯帕是一个 Ethereum 最初设计的以基金会为中心的项目 是对协议的 PoS 更改,但不希望 创建一个基本可扩展的 blockchain。关键的是,它是 设计为硬分叉,而不是任何更广泛的东西,因此所有 Ethereum 客户和用户都将 需要升级或保留在不确定采用的分叉上。因此,部署变得更加困难,这是分散式项目所固有的,在这种情况下, 协调是必要的。 Polkadot 在几个方面有所不同;首先也是最重要的, Polkadot 被设计为完全可扩展和可扩展的 blockchain 开发、部署和交互测试 床。它是一款基本上面向未来的安全带,能够 同化新的blockchain无需过于复杂的去中心化协调即可使用的技术 或硬分叉。我们已经设想了几个用例,例如 如加密联盟链和高频链 出块时间非常短,这是不现实的 当前设想的 Ethereum 的任何未来版本。最后,它和Ethereum之间的耦合度非常高 松动; Ethereum 无需采取任何行动 启用两者之间的去信任交易转发 网络。 简而言之,虽然 Casper/Ethereum 2.0 和 Polkadot 有一些短暂的相似之处,我们相信他们的最终目标 本质上是不同的,而不是竞争, 这两个协议最终可能会在一个协议下共存 在可预见的未来建立互惠互利的关系。

요약

Polkadot은 확장 가능한 이종 다중 체인입니다. 이 이는 이전 blockchain 구현과 달리 다양한 단일 체인을 제공하는 데 중점을 두었습니다. 잠재적인 응용 프로그램에 대한 일반성 정도, Polkadot 자체적으로는 고유한 애플리케이션 기능을 전혀 제공하지 않도록 설계되었습니다. 오히려 Polkadot는 기반을 제공합니다. 다수의 검증 가능한 "릴레이 체인" 전 세계적으로 일관된 동적 데이터 구조가 호스팅될 수 있습니다. 나란히. 우리는 이러한 데이터 구조를 "병렬화"라고 부릅니다. 체인이나 파라체인이 특별히 필요하지는 않지만 본질적으로 blockchain입니다. 즉, Polkadot은 독립적인 체인 집합(예: 다음을 포함하는 집합)과 동일한 것으로 간주될 수 있습니다. Ethereum, Ethereum Classic, Namecoin 및 Bitcoin) 매우 중요한 두 가지 사항을 제외하고는 다음과 같습니다. • 공동 보안; • 신뢰할 수 없는 체인 간 거래 가능성. 이러한 점 때문에 우리는 Polkadot을 "확장 가능"하다고 간주합니다. 원칙적으로 Polkadot에 배포될 문제는 실질적으로 병렬화(규모 확장)될 수 있습니다. 다수의 파라체인. 각각의 모든 면에서 파라체인은 Polkadot 네트워크의 다른 세그먼트에 의해 병렬로 수행될 수 있습니다. 규모를 조정합니다. Polkadot은 다소 기본적인 부분을 제공합니다. 3한 체인의 token을 파괴하여 다른 체인의 token을 생성하는 단방향 페그와는 대조적입니다. 원래 tokens를 복구하기 위해 대화를 수행하는 메커니즘POLKADOT: 이종 다중 체인 프레임워크에 대한 비전 초안 1 4 미들웨어 수준에서 해결해야 할 복잡성이 상당 부분 남아 있습니다. 이는 개발 위험을 줄이기 위한 의식적인 결정입니다. 단기간 내에 개발해야 하는 필수 소프트웨어 그리고 보안에 대해 상당한 수준의 확신을 가지고 있으며, 견고성. 3.1. Polkadot의 철학. Polkadot 해야 합니다 절대적으로 견고한 기초를 제공합니다. 다음 단계의 합의 시스템을 구축하세요. 생산 가능한 성숙한 설계의 위험 스펙트럼 초기 아이디어에. 보안, 격리 및 통신에 대한 강력한 보장을 제공함으로써 Polkadot은(는) 다음을 허용할 수 있습니다. 다양한 속성 자체 중에서 선택할 수 있는 파라체인. 실제로 우리는 합리적인 것으로 간주될 수 있는 속성을 강화하는 다양한 실험적 blockchain을 예상합니다. 오늘. 보수적으로 보면, 유사한 고부가가치 체인 Bitcoin 또는 Z-cash [20] 저가치와 공존 "테마체인"(이런 마케팅, 너무 재밌음) 및 테스트넷 수수료가 0이거나 거의 0에 가깝습니다. 완전히 암호화된 것을 볼 수 있습니다. "어두운" 컨소시엄 체인이 함께 작동하며 심지어 기능이 뛰어난 개방형 체인에 서비스 제공 Ethereum 같은 것 말이죠. 우리는 실험적인 새로운 것을 본다 주관적인 시간 청구 wasm과 같은 VM 기반 체인 더 성숙한 Ethereum와 유사한 체인에서 어려운 컴퓨팅 문제를 아웃소싱하는 수단으로 체인이 사용됩니다. 또는 더 제한된 Bitcoin과 같은 체인입니다. 체인 업그레이드를 관리하기 위해 Polkadot은 본질적으로 일종의 거버넌스 구조를 지원합니다. 기존의 안정적인 정치 시스템에 기반을 두고 있으며 Yellow Paper Council [24]과 유사한 양원제 측면을 갖고 있습니다. 다음과 같이 궁극적인 권한인 기본 스테이킹 가능한 token 보유자는 "국민투표" 통제권을 갖게 됩니다. 사용자의 의견을 반영하기 위해 개발이 필요하지만 개발자의 정당성이 필요하므로 합리적인 방향이 형성될 것으로 기대합니다. "사용자" 위원회의 두 개의 방(으로 구성됨) 결속된 validators) 및 "기술" 위원회가 구성되었습니다. 주요 클라이언트 개발자 및 생태계 플레이어. 는 token 보유자 집단은 궁극적인 정당성을 유지하고 이 구조를 확장, 재매개변수화, 교체 또는 해체하기 위해 절대다수를 형성할 것입니다. 궁극적인 필요성을 의심하지 마십시오: Twain의 말에 따르면 “거즈와 기저귀는 자주 갈아줘야 합니다. 같은 이유”. 재매개변수화는 일반적으로 더 큰 합의 메커니즘 내에서 조정하기가 쉽지 않은 반면, 대체 및 확대와 같은 보다 질적인 변화는 자동화되지 않은 "소프트 법령"(예: 블록 번호의 표준화를 통해 새로운 프로토콜을 공식적으로 지정하는 문서의 hash) 또는 핵심 합의 메커니즘이 필요합니다. 자신의 모든 측면을 설명할 수 있을 만큼 풍부한 언어 변경해야 할 수도 있습니다. 후자는 최종 목표이고, 그러나 전자가 선택될 가능성이 더 높습니다. 합리적인 개발 일정을 촉진합니다. Polkadot의 기본 신조와 규칙 우리는 모든 디자인 결정을 다음과 같이 평가합니다. 최소: Polkadot에는 가능한 한 적은 기능이 있어야 합니다. 단순함: 추가적인 복잡성이 없어야 합니다. 합리적으로 가능한 것보다 기본 프로토콜에서 ffl미들웨어로 오프로드되고, 를 통해 배치 파라체인 또는 이후 최적화에서 도입되었습니다. 일반: 불필요한 요구 사항, 제약 없음 또는 파라체인에 제한을 가해야 합니다. Polkadot는 다음을 통해 최적화될 수 있는 합의 시스템 개발을 위한 테스트베드가 되어야 합니다. 확장이 가능한 한 추상적으로 적합한 모델을 만듭니다. 견고함: Polkadot은 근본적으로 안정적인 베이스 레이어. 경제적 건전성 외에도 이는 분권화를 의미합니다. 높은 보상을 받는 공격을 위한 벡터.

概括

Polkadot 是一个可扩展的异构多链。这个 意味着与之前的 blockchain 实现不同 其重点是提供不同的单一链 潜在应用的通用性程度,Polkadot 其本身根本不提供任何固有的应用程序功能。 相反,Polkadot 提供了基础 “中继链”上有大量可验证的、 可以托管全球一致的动态数据结构 并排。我们将这些数据结构称为“并行” 链或平行链,尽管没有特殊需要 它们本质上是blockchain。 换句话说, Polkadot 可以被认为等同于一组独立的链(例如包含 Ethereum、Ethereum Classic、Namecoin 和 Bitcoin),但有两点非常重要: • 集中安全; • 免信任的链间交易性。 这些点就是我们认为 Polkadot 是“可扩展的”的原因。原则上,要在 Polkadot 上部署的问题可以基本上并行化(横向扩展) 大量的平行链。由于各个方面 平行链可以由 Polkadot 网络的不同部分并行进行,系统具有一定的能力 规模化。 Polkadot 提供了一个相当简单的部分 3 与单向挂钩相反,单向挂钩本质上是销毁一条链中的 tokens 以在另一条链中创建 tokens 的操作,而无需 执行相反操作以恢复原始 tokens 的机制Polkadot:异构多链框架的愿景 草案1 4 基础设施使大部分复杂性需要在中间件级别解决。这是一个有意识的决定,旨在降低开发风险,使 需要在短时间内开发出必要的软件 并对其安全性和安全性充满信心 鲁棒性。 3.1. Polkadot 的哲学。 Polkadot 应该 提供绝对坚如磐石的基础 建立下一波共识系统,通过 可生产的成熟设计的风险范围 到新生的想法。通过提供安全、隔离和通信方面的强有力保证,Polkadot 可以允许 平行链可以从一系列属性本身中进行选择。 事实上,我们预见到各种实验性的 blockchain 会推动被认为合理的特性 今天。 我们看到保守派, 高价值链类似于 Bitcoin 或 Z-cash [20] 与较低价值共存 “主题链”(这样的营销,很有趣)和测试网 零或接近零费用。 我们看到完全加密的, “黑暗”的联盟链并肩运作,甚至 提供服务——功能强大的开放链 例如 Ethereum 之类的。我们看到实验性的新 基于虚拟机的链,例如主观计时的 wasm 链被用作从更成熟的 Ethereum 类链外包困难计算问题的手段 或更受限制的类似 Bitcoin 的链。 为了管理链升级,Polkadot 本质上将 支持某种治理结构,可能基于 现有稳定的政治制度,并具有类似于黄皮书理事会[24]的两院制。作为 作为最终权力,潜在的 token 持有者将拥有“公投”控制权。为了反映用户的 发展的需要,但开发商需要合法性,我们预计合理的方向是形成 来自“用户”委员会的两个议院(由 保税validators)和一个“技术”委员会组成 主要客户开发人员和生态系统参与者。 的 token 持有者的主体将保持最终的合法性,并形成绝对多数来扩大、重新参数化、替换或解散这个结构,我们 不要怀疑最终的需要:用吐温的话来说 “政府和尿布必须经常更换,并且为了 同样的理由”。 虽然重新参数化通常在更大的共识机制中安排起来很简单,但更多的质变(例如替换和增强)将 可能需要是非自动化的“软法令”(例如 通过块号的规范化和 正式指定新协议的文档的 hash) 或者需要核心共识机制来包含 足够丰富的语言来描述其自身的任何方面 这可能需要改变。后者是最终目标, 然而,前者更有可能被选择,以便 制定合理的开发时间表。 Polkadot 的主要原则和规则 我们评估所有设计决策是: 最小:Polkadot 应具有尽可能少的功能。 简单:不应出现额外的复杂性 在基本协议中比可以合理地 o加载到中间件中, 通过放置 平行链或在以后的优化中引入。 一般:没有不必要的要求、约束 或者应该对平行链进行限制; Polkadot 应该是共识系统开发的测试平台,可以通过以下方式进行优化: 使适合扩展的模型尽可能抽象。 稳健:Polkadot 应该提供一个基本的 稳定的基层。除了经济稳健之外,这还意味着去中心化以最大限度地减少 高回报攻击的向量。

Polkadot에 참여

Polkadot 유지에는 네 가지 기본 역할이 있습니다. 네트워크: 대조자, 어부, 지명자 및 validator. 에서 Polkadot의 가능한 구현 중 하나, 후자의 역할 실제로 기본 validator 및 가용성 보증인이라는 두 가지 역할로 분류될 수 있습니다. 이에 대해서는 섹션에서 논의됩니다. 6.5.3. 대조자 어부 검증인 (이 그룹) 검증인 (다른 그룹) 승인하다 된다 모니터 보고서 나쁜 행동 블록을 제공합니다 후보자 에 대한 지명자 그림 1. Polkadot의 네 가지 역할. 4.1. 검증인. validator은 가장 높은 요금이며 Polkadot 네트워크에서 새로운 블록을 봉인하는 데 도움이 됩니다. validator의 역할은 충분히 높은 유대 관계에 달려 있습니다. 하지만 다른 보세 당사자는 이를 허용합니다. 그들을 대신하여 행동할 한 명 이상의 validator을 지명합니다. validator 채권의 일부는 반드시 validator 자체가 소유할 필요는 없고 오히려 이들 소유일 수 있습니다. 지명자. validator은 고가용성과 대역폭을 갖춘 릴레이 체인 클라이언트 구현을 실행해야 합니다. 각 블록에서 노드는 비준 역할을 수락할 준비가 되어 있어야 합니다. 지명된 파라체인의 새로운 블록. 이 과정 후보자 수신, 검증 및 재출판이 포함됩니다. 블록. 지명은 결정적이지만 사전에 사실상 예측할 수 없습니다. validator은(는) 할 수 없기 때문에 합리적으로 완전히 동기화된 상태를 유지할 것으로 예상됩니다. 모든 파라체인의 데이터베이스를 기반으로 validator이 새로운 제안을 고안하는 작업을 지명할 것으로 예상됩니다. parachain 블록을 collator라고 알려진 제3자에게 전달합니다. 모든 새로운 파라체인 블록이 지정된 validator 하위 그룹에 의해 적절하게 비준되면 validators 그런 다음 릴레이 체인 블록 자체를 비준해야 합니다. 여기에는 다음이 포함됩니다. 트랜잭션 대기열의 상태 업데이트(기본적으로 파라체인의 출력 대기열에서 다른 출력 대기열로 데이터 이동 파라체인의 입력 큐), 트랜잭션 처리 승인된 릴레이 체인 트랜잭션 세트를 승인하고 최종 파라체인 변경을 포함한 최종 블록.POLKADOT: 이종 다중 체인 프레임워크에 대한 비전 초안 1 5 validator 합의점을 찾는 의무를 이행하지 않음 우리가 선택한 합의 알고리즘의 규칙에 따라 처벌됩니다. 초기에 의도하지 않은 오류가 발생하는 경우 이를 통해 validator의 보상을 보류합니다. 반복적인 실패로 인해 담보 채권이 감소합니다(소각을 통해). 이중 서명 또는 유효하지 않은 블록을 제공하려고 공모하면 다음과 같은 손실이 발생합니다. 전체 채권(부분적으로 소각되었으나 대부분이 제공됨) 제보자와 정직한 행위자에게). 어떤 의미에서 validator은 채굴 풀과 유사합니다. 현재 PoW blockchains. 4.2. 지명자. 지명자는 지분을 보유한 당사자입니다. validator의 담보 채권에 기여하는 사람입니다. 그들은 위험 자본을 배치하는 것 외에는 추가 역할이 없습니다. 특정 validator(또는 그에 따라 설정됨) 유지 관리에 책임감 있게 행동합니다. 네트워크. 비례적으로 증가하거나 감소합니다. 채권의 성장에 따라 예금에 그들은 기여합니다. collator와 함께 다음으로 nominator가 일부에 있습니다. 현재 PoW 네트워크의 채굴자와 유사한 의미입니다. 4.3. 대조자. 트랜잭션 대조자(줄여서 대조자) validators가 유효한 문서를 작성하는 데 도움을 주는 당사자입니다. 파라체인 블록. 그들은 특정 파라체인에 대해 "풀 노드"를 유지합니다. 필요한 모든 것을 유지한다는 의미입니다. 새로운 블록을 작성하고 실행할 수 있는 정보 현재 PoW blockchains에서 채굴자가 수행하는 것과 거의 동일한 방식으로 거래합니다. 정상적인 상황에서 그들은 봉인되지 않은 거래를 생성하기 위해 거래를 대조하고 실행합니다. 영지식과 함께 차단하고 제공합니다. 현재 책임이 있는 한 명 이상의 validator에 대한 증거 파라체인 블록을 제안합니다. 대조자, 지명자 및 validator 사이의 관계의 정확한 성격은 바뀔 가능성이 높습니다. 시간. 처음에는 대조자가 매우 긴밀하게 작업할 것으로 기대합니다. validators를 사용하면 몇 개만 있을 것이기 때문에(아마도 단 하나)의 거래량이 적은 파라체인. 는 초기 클라이언트 구현에는 RPC가 포함됩니다. 검증 가능한 유효한 파라체인이 있는 (릴레이체인) validator 노드를 무조건 공급하는 파라체인 대조자 노드 블록. 동기화된 버전을 유지하는 데 드는 비용 이러한 모든 파라체인이 증가하면 추가로 분리하는 데 도움이 되는 인프라가 마련되어 있습니다. 독립적이고 경제적 동기를 지닌 당사자에 대한 의무. 결국 우리는 경쟁하는 대조자 풀을 보게 될 것으로 예상합니다. 가장 많은 거래 수수료를 징수합니다. 이러한 대조자는 보상 수익금의 지속적인 공유를 위해 일정 기간 동안 특정 validator을 서비스하도록 계약을 맺을 수 있습니다. 또는 "프리랜스" 대조자가 간단히 즉시 지불할 수 있는 보상의 경쟁력 있는 공유에 대한 대가로 유효한 파라체인 블록을 제공하는 시장입니다. 마찬가지로, 분산형 지명자 풀은 여러 가지를 허용합니다. 결속된 참가자는 의무를 조정하고 공유합니다. validator. 이러한 풀링 기능은 공개 참여를 보장합니다. 보다 분산된 시스템으로 이어집니다. 4.4. 어민. 다른 두 활성 파티와는 달리, 어부는 블록 저작과 직접적인 관련이 없습니다. 프로세스. 오히려 그들은 독립적인 "현상금 사냥꾼"입니다. 큰 일회성 보상에 의해 동기가 부여됩니다. 바로 그 이유는 어부의 존재로 인해 우리는 잘못된 행동이 거의 발생하지 않을 것이라고 예상합니다. 보세 당사자가 비밀 키 보안에 부주의하고, 악의적인 의도보다는. 이름이 온다 예상되는 보상 빈도, 참여에 필요한 최소 요구 사항 및 최종 보상 크기를 고려합니다. 어부들은 적시에 다음과 같은 증거를 통해 보상을 받습니다. 적어도 한 명의 보세 당사자가 불법적으로 행동했습니다. 불법 행위 동일한 비준된 상위 블록으로 각각 두 개의 블록에 서명하거나 파라체인의 경우 유효하지 않은 블록을 비준하는 데 도움이 됩니다. 블록. 과도한 보상이나 타협을 방지하기 위해 세션 비밀 키의 불법 사용, 기본 보상 단일 validator의 불법적으로 서명된 메시지를 제공하는 것은 최소한. 이 보상은 더 많아질수록 점근적으로 증가합니다. 다른 validator의 불법 서명을 확증하는 것은 실제 공격을 암시하는 것으로 제공됩니다. 점근선이 설정되었습니다. 최소한 우리의 기본 보안 주장에 따르면 66%입니다. validator의 2/3는 자비롭게 행동합니다. 어부들은 "풀 노드"와 다소 유사합니다. 자원이 필요한 현재의 blockchain 시스템 상대적으로 작고 안정적인 가동 시간을 약속합니다. 대역폭은 필요하지 않습니다. 어부들은 다르다 소액의 보증금을 내야 하는 만큼.이 채권은 방지 validators의 시간과 컴퓨팅 낭비로 인한 시빌 공격 자원. 즉시 철회가 가능합니다. 아마도 그렇지 않을 것입니다. 몇 달러에 해당하는 금액보다 더 많은 금액이 소요될 수 있습니다. 잘못된 행동을 발견하여 막대한 보상을 받는 것 validator.

参与 Polkadot

Polkadot 的维护有四个基本角色 网络:整理者、渔夫、提名者和 validator。在 Polkadot 的一种可能实现,后一个角色 实际上可以分为两个角色:基本validator和可用性保证人;这将在一节中讨论 6.5.3. 校订者 渔夫 验证者 (本组) 验证者 (其他团体) 批准 变成 监视器 报告 坏 行为 提供块 候选人 为了 提名人 图 1. 之间的交互 Polkadot 的四个角色。 4.1.验证者。 validator 是最高费用, 帮助密封 Polkadot 网络上的新区块。 validator 的角色取决于足够高的债券 正在存入,尽管我们允许其他担保方 提名一名或多名 validator 代表他们行事并担任 validator 债券的此类部分不一定由 validator 本身拥有,而是由这些人拥有 提名者。 validator 必须运行具有高可用性和带宽的中继链客户端实现。在每个街区 节点必须准备好接受批准的角色 指定平行链上的新区块。 这个过程 涉及接收、验证和重新发布候选人 块。提名是确定性的,但实际上是无法提前预测的。由于 validator 不能 合理地期望保持完全同步 所有平行链的数据库,预计 validator 将提名设计一个建议的新的任务 平行链区块交给第三方,称为整理者。 一旦所有新的平行链区块都被指定的 validator 子组正确批准,validators 然后必须批准中继链区块本身。这涉及到 更新事务队列的状态(本质上是 将数据从平行链的输出队列移动到另一个 平行链的输入队列),处理交易 批准的中继链交易集并批准 最终区块,包括最终的平行链更改。Polkadot:异构多链框架的愿景 草案1 5 A validator 没有履行寻求共识的职责 根据我们选择的共识算法的规则受到惩罚。对于最初的、无意的失败,这是通过 扣留 validator 的奖励。反复失败会导致其安全保证金减少(通过销毁)。可证明的恶意行为,例如双重签名或 合谋提供无效区块导致损失 整个债券(部分被烧毁,但大部分被给予 告密者和诚实的行为者)。 从某种意义上来说,validator类似于矿池 当前 PoW blockchains。 4.2.提名人。提名人是股东 谁为 validator 的保证金出资。他们 除了投入风险资本外没有其他作用 这样表明他们信任特定的 validator (或 集)以负责任的方式维护 网络。 他们获得按比例增加或减少 根据债券的增长在存款中 他们做出了贡献。 接下来,提名者与整理者一起参与一些 感觉类似于当今 PoW 网络的矿工。 4.3.校勘者。交易整理者(简称整理者) 协助 validators 出示有效文件的各方是 平行链区块。他们为特定的平行链维护一个“全节点”;这意味着他们保留了所有必要的 能够创作新块并执行的信息 交易方式与矿工在当前 PoW blockchain 上的交易方式大致相同。正常情况下,他们 将整理并执行交易以创建未密封的 块,并与零知识一起提供它 证明,交给目前负责的一个或多个 validator 提出平行链区块。 整理者、提名者和 validator 之间关系的确切性质可能会发生变化 时间。最初,我们希望整理者能够非常密切地合作 与 validators,因为只有少数(也许 只有一个)交易量很小的平行链。的 初始客户端实现将包括 RPC,以允许 平行链整理节点无条件地向(中继链)validator 节点提供可证明有效的平行链 块。 由于维护同步版本的成本 所有此类平行链都会增加,我们预计会看到更多 基础设施到位,这将有助于分离 对独立的、有经济动机的各方的义务。 最终,我们期望看到收集者池相互竞争 收取最多的交易费用。此类整理者可能会签订合同,在一段时间内为特定的 validator 提供服务,以获得奖励收益的持续份额。 或者,“自由职业者”整理者可以简单地创建一个 市场提供有效的平行链区块,以换取立即支付的有竞争力的奖励份额。同样,去中心化的提名人池将允许多个 债券参与者协调并分担责任 validator。这种汇集能力确保了开放参与 导致更加去中心化的系统。 4.4.渔民。与另外两个活跃的政党不同, 渔民与区块创作没有直接关系 过程。相反,他们是独立的“赏金猎人” 受到巨大的一次性奖励的激励。 正是由于 由于渔民的存在,我们预计不当行为事件很少发生,而发生这种情况只是由于 担保方对密钥安全不重视, 而不是出于恶意。名字来了 从预期的奖励频率、参与的最低要求以及最终的奖励规模。 渔民通过及时证明来获得奖励 至少有一个担保方有非法行为。违法行为 包括签署两个区块,每个区块都具有相同的批准父级,或者在平行链的情况下,帮助批准无效的区块 块。为了防止过度奖励或妥协 非法使用会话的密钥,即基本奖励 提供单个 validator 的非法签名消息是 最小。随着更多的增加,这种奖励逐渐增加 证实其他 validator 的非法签名是 提供暗示真正的攻击。渐近线已设定 66% 遵循我们的基本安全主张,至少 三分之二的 validator 表现得仁慈。 渔民有点类似于“全节点” 当前的 blockchain 系统需要资源 相对较小并且承诺稳定的正常运行时间 并且不需要带宽。渔民们意见不一 就像他们必须缴纳一小笔保证金一样。这种结合可以防止 女巫攻击浪费 validators 的时间和计算 资源。可以立即撤回,可能不会 超过几美元,可能会导致 从发现不当行为中获得丰厚的回报 validator。

디자인 개요

이 섹션에서는 다음과 같은 간략한 개요를 제공합니다. 시스템 전체. 좀 더 철저한 탐구를 통해 시스템은 다음 섹션에 나와 있습니다. 5.1. 의견 일치. 릴레이 체인에서 Polkadot은(는) 달성합니다. 상호 합의된 유효한 집합에 대한 낮은 수준의 합의 최신 비동기식 비잔틴 내결함성(BFT) 알고리즘을 통해 차단합니다. 알고리즘은 영감을 받을 것입니다 간단한 Tendermint [11] 및 훨씬 더 많은 기능을 통해 관련 HoneyBadgerBFT [14]. 후자는 임의적인 것에 대한 효율적이고 내결함성 합의 대부분 온화한 권한 또는 validator 집합을 고려하면 결함이 있는 네트워크 인프라입니다. PoA(권한 증명) 스타일 네트워크의 경우 이것만으로도 충분할 것입니다. 그러나 Polkadot은(는) 그럴 것으로 예상됩니다. 완전 개방형 및 공개 환경에서 네트워크로 배포 가능 특정 조직이 없거나 신뢰할 수 없는 상황 유지하기 위해 필요한 권한입니다. 따라서 우리는 validator 세트를 결정하고 인센티브를 제공하는 수단 솔직히 말해서. 이를 위해 우리는 PoS 기반 선택을 활용합니다. 기준. 5.2. 지분을 증명합니다. 우리는 네트워크가 "지분"이 얼마나 되는지 측정할 수 있는 수단이 있을 것입니다. 특정 계정이 있습니다. 비교의 편의를 위해 기존 시스템에서는 측정 단위를 호출합니다. “tokens”. 불행하게도 이 용어는 다음과 같은 경우에는 이상적이지 않습니다. 여러 가지 이유, 특히 단순한 스칼라라는 점 계정과 관련된 가치에 대한 개념이 없습니다. 개성. 우리는 validators가 드물게 선출되는 것을 상상합니다(최대한 하루에 한 번이지만 분기당 한 번만큼 드물게 발생함) 지명 지분 증명(NPoS) 방식을 통해. 인센티브는 비례 배분을 통해 발생할 수 있습니다.POLKADOT: 이종 다중 체인 프레임워크에 대한 비전 초안 1 6 릴레이 체인 검증인 떼 (각각의 색상으로 지정 파라체인) 거래 (제출자: 외부배우) 파라체인 다리 가상 파라체인 (예: Ethereum) 파라체인 파라체인 큐와 I/O 전파된 트랜잭션 후보 제출 차단 2차 릴레이 체인 파라체인 커뮤니티 계정 인바운드 거래 아웃바운드 거래 인터체인 거래 (validators에서 관리) 대조자 전파된 블록 어부 그림 2. Polkadot 시스템의 요약 회로도. 이는 대조자가 사용자 트랜잭션을 수집하고 전파하는 것은 물론 블록 후보를 어부와 validator에게 전파하는 것을 보여줍니다. 그것은 또한 계정이 릴레이 체인을 통해 파라체인에서 수행되는 거래를 게시할 수 있는 방법을 보여줍니다. 그리고 그곳의 계정에 대한 거래로 해석될 수 있는 또 다른 파라체인으로 이동합니다. token 기지 확장을 통한 자금 조달(최대 100%) 연간, 약 10% 정도일 가능성이 높음) 모든 거래 수수료가 징수됩니다. 통화 기반 확장은 일반적으로 인플레이션으로 이어지는 반면 모든 token 소유자는 참여 시 공정한 기회를 가지게 되며, 어떤 token보유자도 자신의 가치 감소를 겪을 필요가 없습니다. 그들이 기꺼이 받아 들인다면 시간이 지남에 따라 보유하게 될 것입니다. 합의 메커니즘에서의 역할. 특정 비율 token 중 staking 프로세스의 대상이 됩니다. 는 효과적인 token 기본 확장은 다음을 통해 조정됩니다. 이 목표를 달성하기 위한 시장 기반 메커니즘. 검증인은 자신의 지분에 의해 크게 결속되어 있습니다. 종료 validators의 채권은 validators의 의무가 종료된 후에도 오랫동안(대략 3개월 정도) 유지됩니다. 이 긴 채권 청산 기간은 향후 잘못된 행동을 허용합니다. 체인의 주기적인 체크포인트까지 처벌됩니다. 잘못된 행동은 감점 등의 처벌을 초래합니다. 보상을 제공하거나 고의로 계약을 훼손하는 경우 네트워크의 무결성, validator의 일부 또는 전부를 잃습니다. 다른 validators, 정보 제공자 또는 이해관계자에 대한 지분 전체적으로 (소각을 통해). 예를 들어 validator 포크의 양쪽 가지를 모두 비준하려고 시도하는 사람(때로는 "단거리" 공격으로 알려져 있음)이 식별될 수 있으며, 후자의 방법으로 처벌한다. 장거리 "아무것도 위험하지 않은" 공격4은 단순한 "체크포인트" 래치를 통해 우회됩니다. 이 래치는 1개 이상의 위험한 체인 재구성을 방지합니다. 특정 체인 깊이. 새로 동기화되는 클라이언트를 확인하려면 잘못된 체인에 속을 수 없습니다. "하드 포크"가 발생합니다(최대한 같은 기간). validators의 채권 청산) 최근 체크포인트 블록 hashes를 클라이언트에 하드 코딩합니다. 이는 "유한한 체인 길이" 또는 제네시스 블록을 주기적으로 재설정합니다. 5.3. 파라체인과 콜레이터. 각 파라체인은 릴레이 체인과 유사한 보안 규정: 는 파라체인의 헤더는 릴레이 체인 블록 내에 밀봉되어 있습니다. 확인 후에는 재구성이나 "이중 지출"이 발생하지 않도록 할 수 있습니다. 이는 Bitcoin의 사이드체인 및 병합 채굴이 제공하는 것과 유사한 보안 보장입니다. 그러나 Polkadot은 또한 파라체인의 상태 전환이 유효하다는 강력한 보장을 제공합니다. 이 validator 집합이 암호화 방식으로 무작위로 하위 집합으로 분할되어 발생합니다. 당 하나의 하위 집합 파라체인, 블록마다 잠재적으로 다른 하위 집합. 이 설정은 일반적으로 파라체인의 블록 시간이 적어도 릴레이 체인의 길이만큼 길어야 합니다. 구체적인 파티셔닝을 결정하는 수단은 범위를 벗어납니다. 4이러한 공격은 적이 제네시스 블록부터 완전히 새로운 역사의 사슬을 구축하는 곳입니다. 제어를 통해 그들은 상쇄된 지분의 상대적으로 작은 부분을 다른 모든 것에 비해 점진적으로 늘릴 수 있습니다. 이해관계자는 대안 역사에 적극적으로 참여하는 유일한 참여자이기 때문입니다. 생성에는 본질적인 물리적 제한이 존재하지 않기 때문에 (실제 계산 에너지를 소비해야 하는 PoW와는 달리) 실제 체인보다 긴 체인을 만들 수 있습니다. 상대적으로 짧은 시간 범위를 가지며 잠재적으로 네트워크의 표준 상태를 인계받아 가장 길고 최상의 상태로 만들 수 있습니다.POLKADOT: 이종 다중 체인 프레임워크에 대한 비전 초안 1 7 이 문서의 내용은 다음 중 하나에 기반을 두고 있을 가능성이 높습니다. RanDAO [19]과 유사한 커밋-공개 프레임워크 또는 각 파라체인의 이전 블록에서 결합된 데이터를 사용합니다. 암호화된 보안 hash에 따라. validator의 이러한 하위 집합은 다음을 제공해야 합니다. 유효성이 보장된 파라체인 블록 후보 채권몰수의 고통) 타당성은 두 가지를 중심으로 이루어집니다. 중요한 점; 첫째, 그것은 본질적으로 타당하다. 모든 상태 전환이 충실하게 실행되었으며 모든 참조된 외부 데이터(예: 트랜잭션)는 포함에 유효합니다. 둘째, 외부에 있는 모든 데이터는 외부 트랜잭션과 같은 후보는 참가자가 다음을 수행할 수 있도록 충분히 높은 가용성을 가지고 있습니다. 그것을 다운로드하고 수동으로 블록을 실행하십시오.5 검증인은 외부 "거래" 데이터가 포함되지 않은 "널" 블록만 제공할 수 있지만 그렇게 할 경우 보상이 감소할 위험이 있습니다. 그들은 함께 일한다 대조자(개인)가 포함된 파라체인 가십 프로토콜 트랜잭션을 블록으로 수집하고 해당 블록이 상위 블록의 유효한 하위 블록임을 구성하는 비대화형, 영지식 증명을 제공합니다. 문제에 대한 수수료). 자체적으로 지정하는 것은 파라체인 프로토콜에 달려 있습니다. 스팸 방지 수단: "컴퓨팅 리소스 측정" 또는 "거래 수수료"에 대한 기본 개념이 없습니다. 릴레이 체인에 의해 부과됩니다. 또한 릴레이 체인 프로토콜에 의해 이에 대한 직접적인 시행은 없습니다(비록 이해관계자가 채택을 선택할 가능성은 거의 없습니다. 적절한 메커니즘을 제공하지 않는 파라체인). 이는 체인의 가능성에 대한 명시적인 고개를 끄덕이는 것입니다. Ethereum, 예: 훨씬 간단한 수수료 모델이나 아직 제안되지 않은 스팸 방지 모델을 갖춘 Bitcoin와 유사한 체인입니다. Polkadot의 릴레이 체인 자체는 아마도 Ethereum과 유사한 계정 및 상태 체인, 아마도 EVM파생품일 수 있습니다. 릴레이 체인 노드는 다음을 수행해야 하므로 실질적인 기타 처리, 트랜잭션 처리량 수행 큰 거래 수수료를 통해 부분적으로 최소화됩니다. 그리고 연구 모델에 필요한 경우 블록 크기 제한이 있습니다. 5.4. 인터체인 커뮤니케이션. Polkadot의 중요한 최종 요소는 체인 간 통신입니다. 이후 파라체인은 그들 사이에 일종의 정보 채널을 가질 수 있으므로, 우리는 Polkadot a를 고려할 수 있습니다. 확장 가능한 멀티체인. Polkadot의 경우 통신은 매우 간단합니다. 파라체인은 (해당 체인의 논리에 따라) 다음을 수행할 수 있습니다. 트랜잭션을 두 번째 파라체인으로 전달하는 데 영향을 미칩니다. 또는 잠재적으로 릴레이 체인입니다. 외부 거래와 마찬가지로 프로덕션 blockchains에서는 완전히 비동기식입니다. 그리고 그들이 어떤 것을 반환할 수 있는 본질적인 능력도 없습니다. 일종의 정보를 원래의 출처로 되돌리는 것입니다. 목적지: 가져옴 이전 데이터 블록의 validators. 계정이 게시물을 받습니다: 항목이 삭제되었습니다. 수신 Merkle tree 계정에서 게시물을 보냅니다: 에 배치된 항목 송신 Merkle tree 목적지를 위해 파라체인 출구 출처 : 주식 다음 블록의 데이터 validators 보관된 우편물 증명 파라체인 이그레스 머클 나무 라우팅된 참조 배치됨 대상 파라체인에서 수신 Merkle tree 진입 그림 3. 기본 회로도 표시 게시된 라우팅의 주요 부분 거래("게시물"). 구현 복잡성을 최소화하려면 위험 그리고 최소한의 스트레이트 재킷 의 미래 파라체인 아키텍처에서는 이러한 인터체인 트랜잭션이 표준 외부 서명 트랜잭션과 사실상 구별할 수 없습니다. 거래에는 파라체인을 식별하는 기능을 제공하는 원본 세그먼트가 있습니다. 임의의 크기를 가질 수 있는 주소입니다. Bitcoin 및 Ethereum과 같은 일반적인 현재 시스템과 달리, 인터체인 거래에는 어떤 종류의 수수료 "지불"도 함께 제공되지 않습니다. 그러한 지불은 소스 및 대상 파라체인의 협상 로직을 통해 관리되어야 합니다. 제안된 것과 같은 시스템 Ethereum의 Serenity 릴리스 [7]은 간단한 수단이 될 것입니다 하지만 그러한 크로스체인 자원 지불을 관리하는 것은 우리는 적절한 시기에 다른 사람들이 전면에 나올 수 있다고 가정합니다. 인터체인 트랜잭션은 간단한 방법을 사용하여 해결됩니다. Merkle tree을 기반으로 한 대기열 메커니즘을 통해 충실함. 릴레이 체인 유지관리자의 임무는 다음과 같습니다. 하나의 파라체인의 출력 큐에서 트랜잭션을 이동합니다. 대상 파라체인의 입력 큐에 넣습니다. 는 전달된 트랜잭션은 릴레이 체인에서 참조되지만 상대적인 트랜잭션은 아닙니다.체인 거래 자체. 파라체인이 다른 파라체인에 스팸을 보내는 것을 방지하려면 거래, 거래를 보내려면 필요합니다. 대상의 입력 대기열이 너무 크지 않아야 합니다. 이전 블록이 끝나는 시간. 입력의 경우 블록 처리 후 대기열이 너무 크면 "포화"된 것으로 간주되어 트랜잭션이 라우팅되지 않을 수 있습니다. 다시 아래로 줄어들 때까지 후속 블록 내에 포함됩니다. 한계. 이러한 대기열은 릴레이 체인에서 관리됩니다. 파라체인이 서로의 포화도를 결정할 수 있도록 허용 상태; 이런 식으로 거래 게시 시도가 실패했습니다. 지연된 대상에 대한 정보는 동시에 보고될 수 있습니다. (단, 반환 경로가 존재하지 않기 때문에 이러한 이유로 2차 트랜잭션이 실패한 경우 다시 보고할 수 없습니다. 원래 발신자 및 기타 복구 수단 일어나야 할 것입니다.) 5.5. Polkadot 및 Ethereum. Ethereum의 Turing 완전성으로 인해 Polkadot 및 Ethereum이 상호 운용될 수 있는 충분한 기회가 있을 것으로 기대합니다. 적어도 쉽게 추론할 수 있는 보안 범위 내에서 서로. 간단히 말해서, 우리는 다음과 같은 거래를 상상합니다. Polkadot은 validators에 의해 서명된 다음 5이러한 작업은 validator 사이에서 공유되거나 다음과 같이 강력하게 결속된 validator 집합의 지정 작업이 될 수 있습니다. 가용성 보증인.

POLKADOT: 이종 다중 체인 프레임워크에 대한 비전 초안 1 8 Ethereum 해석되고 제정될 수 있는 곳 거래 전달 계약. 다른 방향으로는, 특별히 형식화된 로그(이벤트)의 사용이 예상됩니다. 특정 메시지가 전달되어야 하는지 신속하게 확인할 수 있는 "돌파 계약"에서 비롯됩니다. 5.5.1. Polkadot ~ Ethereum. A의 선택을 통해 BFT 합의 메커니즘은 validator로 구성됩니다. 승인 투표를 통해 결정된 이해관계자 집합 메커니즘을 통해 우리는 안전한 합의를 얻을 수 있습니다. 자주 변경되지 않으며 적당한 수의 validator입니다. 총 144 validators가 있는 시스템에서 블록 시간은 4초 및 900블록 최종성(악의적인 공격 허용) 이중투표 등 행위 신고, 처벌 복구) 블록의 유효성은 합리적으로 97개의 서명(144개의 2/3에 1을 더한 수)과 챌린지가 저장되지 않는 60분의 검증 기간을 통해 입증된 것으로 간주됩니다. Ethereum는 "침입 계약"을 호스팅할 수 있습니다. 144명의 서명자를 유지하고 다음에 의해 통제될 수 있습니다. 그들. 타원 곡선 디지털 서명(ECDSA) 복구에는 EVM 아래에서 3,000 가스만 필요하므로 우리는 검증이 다음에서만 발생하기를 원할 것입니다. validators의 절대다수(완전한 만장일치 아님), Ethereum의 기본 비용으로 명령어가 실행되었음을 확인합니다. Polkadot 네트워크에서 나오는 가스는 300,000개를 넘지 않을 것으로 적절하게 검증되었습니다. 이는 전체 가스의 6%에 불과합니다. 총 블록 가스 한도는 5.5M입니다. validator 수를 늘립니다(처리에 필요한 만큼). 수십 개의 체인)은 필연적으로 이 비용을 증가시킵니다. 기술이 성숙해지고 인프라가 향상됩니다. 아니라는 사실과 함께 모든 validator이 포함되어야 합니다(예: 가장 높은 이러한 작업을 위해 스테이킹된 validator이 호출될 수 있습니다) 이 메커니즘의 한계는 합리적으로 확장됩니다. 그러한 validator의 일일 순환을 가정합니다(이는 상당히 보수적입니다. 매주 또는 매월도 허용될 수 있습니다.) 그러면 네트워크 유지 관리 비용이 발생합니다. 이 Ethereum 전달 브리지는 약 540,000입니다. 일일 가스 또는 현재 가스 가격으로 연간 $45입니다. 브리지를 통해 단독으로 전달되는 기본 트랜잭션에는 비용이 듭니다. 약 $0.11; 추가 계약 계산 비용 물론 더요. 트랜잭션 버퍼링 및 번들링을 통해 함께 침입 승인 비용은 쉽게 공유하여 거래당 비용을 대폭 절감합니다. 전달하기 전에 20개의 트랜잭션이 필요한 경우 기본 거래를 전달하는 데 드는 비용은 다음과 같습니다. 약 $0.01. 이 다중 서명 계약 모델에 대한 흥미롭고 저렴한 대안 중 하나는 다자간 소유권 의미 체계를 달성하기 위해 임계값 서명을 사용하는 것입니다. ECDSA에 대한 임계값 서명 체계 계산 비용이 많이 들고 다른 방식의 경우 Schnorr 서명과 같은 것은 매우 합리적입니다. Ethereum 이를 가능하게 하는 기본 요소를 도입할 계획입니다. 다가오는 Metropolis 하드포크에서 사용하기 저렴한 계획입니다. 그러한 수단을 사용할 수 있다면 가스 비용은 Polkadot 거래를 Ethereum로 전달하기 위해 네트워크는 거의 0으로 극적으로 줄어들 것입니다. 검증을 위한 기본 비용을 초과하는 간접비 서명 및 기본 트랜잭션 실행. 이 모델에서 Polkadot의 validator 노드는 메시지에 서명하는 것 외에는 거의 할 일이 없습니다. 거래가 실제로 Ethereum 네트워크로 라우팅되도록 하려면 validator 자신도 다음 위치에 있을 것이라고 가정합니다. Ethereum 네트워크 또는 작은 현상금일 가능성이 높습니다. 메시지를 전달한 첫 번째 배우에게 제공됩니다. 네트워크에 (포상금은 사소하게 지급될 수 있습니다. 거래 발신자). 5.5.2. Ethereum ~ Polkadot. 거래가 이루어지도록 하기 Ethereum에서 Polkadot으로 전달되는 것은 간단한 로그 개념을 사용합니다. Ethereum 계약이 Polkadot의 특정 파라체인에 트랜잭션을 전달하려는 경우, 특별한 "돌파 계약"을 호출하기만 하면 됩니다. 브레이크 아웃 계약은 가능한 모든 비용을 지불합니다. Merkle 증명과 해당 블록의 헤더가 유효하다는 주장을 통해 그 존재가 입증될 수 있도록 로깅 명령을 발행해야 합니다. 정식. 후자의 두 조건 중 타당성은 아마도 가장 간단하게 증명할 수 있습니다. 원칙적으로 유일한 요구 사항은 다음과 같습니다.증명이 필요한 각 Polkadot 노드에 대해 (즉, 지정된 validator 노드)는 표준 Ethereum 노드의 완전히 동기화된 인스턴스를 실행합니다. 불행하게도 이것은 그 자체로 상당히 무거운 종속성입니다. 더 경량 방법은 다음과 같은 간단한 증명을 사용하는 것입니다. 헤더만 제공하여 올바르게 평가되었습니다. 제대로 실행하려면 Ethereum의 상태 트리 일부가 필요합니다. 블록 내 트랜잭션을 확인하고 로그(블록 영수증에 포함된)가 유효한지 확인합니다. 이러한 "SPV와 유사한"6 증거에는 상당한 양의 정보가 필요할 수 있습니다. 편리하게도 일반적으로 필요하지 않습니다. 모두: Polkadot 내부의 결합 시스템은 결합을 허용합니다. 제3자가 헤더를 잃을 위험을 무릅쓰고 헤더를 제출할 수 있습니다. 다른 제3자(예: "어부", 6.2.3 참조)가 헤더가 유효하지 않다는 증거를 제공해야 합니다. (특히 상태 루트 또는 수신 루트가 사기꾼이었습니다). Ethereum과 같은 최종화되지 않은 PoW 네트워크에서는 정규성을 최종적으로 증명하는 것은 불가능합니다. 이 문제를 해결하기 위해 모든 종류의 응용 프로그램에 의존하려고 합니다. 체인 종속 원인 효과는 여러 번의 "확인"을 기다리거나 종속 트랜잭션이 어느 정도 완료될 때까지 기다립니다. 체인 내의 특정 깊이. Ethereum에 이 깊이는 알려진 네트워크 문제가 없는 가장 가치가 낮은 거래의 경우 1블록부터 이전과 마찬가지로 1200블록까지 다양합니다. 교환을 위한 초기 프론티어 릴리스 중 사례입니다. 안정적인 "Homestead" 네트워크에서 이 그림은 다음 위치에 있습니다. 대부분의 거래소에는 120개의 블록이 있으며, 우리는 아마도 비슷한 매개변수. 그래서 우리 할 수 있다 상상하다 우리의 Polkadot-쪽 Ethereum인터페이스는 몇 가지 간단한 기능을 갖습니다. Ethereum 네트워크에서 새 헤더를 수락하고 PoW를 검증하여 다음과 같은 일부 증거를 수락할 수 있습니다. 충분한 깊이의 헤더에 대한 Ethereum측 브레이크아웃 계약에 의해 특정 로그가 방출되었습니다(그리고 앞으로 Polkadot 내의 해당 메시지) 그리고 마지막으로 이전에 승인된 증거를 승인할 수 있지만 아직 제정되지 않은 헤더에 잘못된 수신 루트가 포함되어 있습니다. 실제로 Ethereum 헤더 데이터 자체를 얻으려면(그리고 모든 SPV 증명 또는 유효성/정규성 반박) Polkadot 네트워크, 전달에 대한 인센티브 6SPV는 Bitcoin의 Simplified Payment Verification을 의미하며 고객이 거래 내용만 보관하면서 확인할 수 있는 방법을 설명합니다. 가장 긴 PoW 체인의 모든 블록 헤더 사본.POLKADOT: 이종 다중 체인 프레임워크에 대한 비전 초안 1 9 데이터가 필요합니다. 결제만큼 간단할 수도 있어요 (Ethereum 측에서 징수한 수수료로 자금 조달) 지불됨 헤더가 다음과 같은 유용한 블록을 전달할 수 있는 누구에게나 유효합니다. 검증인은 마지막 수천 개의 블록과 관련된 정보를 유지해야 합니다. 일부 프로토콜 고유 수단을 통해 또는 플랫폼에서 유지되는 계약을 통해 포크를 관리할 수 있습니다. 릴레이 체인. 5.6. Polkadot 그리고 Bitcoin. Bitcoin 상호 운용 Polkadot에 대한 흥미로운 도전 과제를 제시합니다. "양방향 페그"는 유용한 인프라가 될 것입니다. 두 네트워크 측면 모두에 있어야 합니다. 그러나 이로 인해 Bitcoin의 제한 사항, 이러한 페그를 안전하게 제공하는 것은 사소하지 않은 사업. 다음에서 거래 전달 Bitcoin ~ Polkadot은 원칙적으로 Ethereum과 유사한 프로세스로 수행될 수 있습니다. "브레이크아웃 주소" Polkadot validator에 의해 어떤 방식으로든 제어될 수 있습니다. 전송된 tokens(및 함께 전송된 데이터)를 수신합니다. SPV 증명은 인센티브를 받은 oracle에 의해 제공될 수 있으며, 확인 기간과 함께 포상금이 제공됩니다. 트랜잭션을 암시하는 비정규 블록 식별 "이중 지출"되었습니다. token은(는) 다음에서 소유하고 있습니다. "탈출 주소"는 원칙적으로 나중에 분산될 수 있도록 동일한 validator에 의해 제어됩니다. 그러나 문제는 회전하는 validator 세트에서 침전물을 안전하게 제어할 수 있는 방법입니다. 달리 Ethereum 기반으로 임의의 결정을 내릴 수 있습니다. 서명 조합 시 Bitcoin는 실질적으로 더 제한적이며 대부분의 클라이언트는 최대 3명의 당사자와의 다중 서명 거래만 허용합니다. 이를 36개 또는 궁극적으로 원하는 대로 수천 개로 확장하는 것은 현재 프로토콜에서는 불가능합니다. 한 가지 옵션은 Bitcoin 프로토콜을 변경하여 활성화하는 것입니다. 그러나 이러한 기능은 소위 "하드 포크"로 불립니다. Bitcoin 세계는 최근 시도로 판단을 정리하기가 어렵습니다. 한 가지 가능성은 임계값 서명을 사용하는 것입니다. 단일 식별이 가능한 대중을 허용하는 암호화 체계 여러 비밀 "부분"에 의해 효과적으로 제어되는 키, 유효한 서명을 생성하려면 그 중 일부 또는 전부를 활용해야 합니다. 불행하게도 임계값 서명은 호환됩니다. Bitcoin의 ECDSA를 사용하면 계산 비용이 많이 듭니다. 다항식 복잡성을 생성합니다. 다음과 같은 다른 계획 Schnorr 서명은 훨씬 낮은 비용을 제공하지만 Bitcoin에 도입될 수 있는 타임라인 프로토콜이 불확실합니다. 예금의 궁극적인 보안은 여러 개의 validator을 결합하는 경우 다른 옵션 중 하나는 다음과 같습니다. 다중 서명 키 보유자를 크게 줄이십시오. 임계값과 같은 총 validator의 결합된 하위 집합 서명이 가능해집니다(또는 최악의 경우 Bitcoin의 기본 서명 다중 서명이 가능합니다). 이는 물론 validators가 불법적으로 행동할 경우 배상금에서 공제될 수 있는 채권 총액, 그러나 이는 단순히 상한을 설정하는 것은 우아한 성능 저하입니다. 사이에 안전하게 운영될 수 있는 자금의 양 두 개의 네트워크(또는 실제로 공격이 발생하면 % 손실이 발생함) validators에서 성공). 따라서 우리는 합리적으로 안전한 Bitcoin 상호 운용성 "가상 파라체인"을 배치하는 것이 비현실적이지 않다고 생각합니다. 그럼에도 불구하고 일정이 불확실하고 가능성이 매우 높은 상당한 노력이 필요하지만 그 안에서 이해관계자의 협력이 필요하다. 네트워크.

设计概述

本节旨在简要概述 系统作为一个整体。更彻底的探索 系统在后面的部分中给出。 5.1.共识。在中继链上,Polkadot实现了 就一组共同商定的有效规则达成低级别共识 通过现代异步拜占庭容错 (BFT) 算法进行阻止。算法将受到启发 通过简单的 Tendermint [11] 和更多 涉及蜜獾BFT [14]。后者提供了一个 对任意的问题达成有效且容错的共识 有缺陷的网络基础设施,给定一组大多良性的权威或 validators。 对于权威证明(PoA)风格的网络来说,仅此一点 就足够了,但是 Polkadot 被认为是 也可以作为完全开放和公共的网络进行部署 没有任何特定组织或信任的情况 维护它所需的权限。 因此我们需要一个 确定一组 validator 并进行激励的方法 他们说实话。为此,我们利用基于 PoS 的选择 标准。 5.2.证明赌注。我们假设网络 将有一些方法来衡量“赌注”的程度 任何特定帐户都有。 为了便于比较 预先存在的系统,我们称之为测量单位 “tokens”。不幸的是,这个词对于 有很多原因,尤其是简单的标量 与账户相关的价值,没有概念 个性。 我们想象 validator 很少被选举(最多 每天一次,但可能少至每季度一次), 通过指定股权证明(NPoS)计划。激励可以通过按比例分配来实现Polkadot:异构多链框架的愿景 草案1 6 继电器 链条 验证者群体 (每个颜色由其 指定平行链) 交易 (提交者: 外部演员) 平行链 桥 虚拟平行链 (例如 Ethereum) 平行链 平行链 队列和 I/O 传播交易 阻止候选人提交 二阶 中继链 平行链社区 账户 入境交易 出境交易 链间交易 (由 validators 管理) 校订者 传播块 渔夫 图 2. Polkadot 系统的概要示意图。这显示了整理者收集和传播用户交易,以及向渔民和 validator 传播候选区块。它还 显示账户如何通过中继链发布在其平行链中执行的交易 然后进入另一个平行链,可以将其解释为那里账户的交易。 来自 token 基地扩张的资金(最多 100% 每年,尽管更有可能在 10% 左右)以及 收取的任何交易费用。虽然基础货币扩张通常会导致通货膨胀,但由于所有 token 所有者 将有公平的参与机会,任何token持有者都不需要遭受其价值的减少 随着时间的推移,只要他们乐意接受 在共识机制中的作用。特定比例 token 的目标将是 staking 进程;的 有效的 token 碱基扩展将通过以下方式进行调整 以市场为基础的机制来实现这一目标。 验证者的权益与他们紧密相连;退出 在 validator 的职责终止后很长一段时间(可能大约 3 个月),validator 的债券仍然有效。这么长 债券清算期允许未来的不当行为 受到惩罚,直到链的定期检查点为止。 不当行为会导致惩罚,例如减少 奖励,或者在故意损害的情况下 网络的完整性,validator 失去部分或全部 向其他validator、线人或利益相关者提供股份 作为一个整体(通过燃烧)。例如,validator 谁试图批准分叉的两个分支(有时 被称为“短程”攻击)可以被识别并且 按后一种方式处罚。 远程“无利害关系”攻击4可以通过一个简单的“检查点”闩锁来规避,该闩锁可以防止超过一个的危险链重组。 特定的链深度。 确保新同步的客户端 不能被骗到错误的链上,常规的 “硬分叉”将会发生(最多在同一时期) validators 的债券清算)将最近的检查点块 hashes 硬编码到客户端中。这与进一步减少足迹的“有限链长”措施或 创世块的定期重置。 5.3.平行链和收集者。每个平行链都会获得 与中继链类似的安全功能: 的 平行链的标头被密封在中继链区块内 确保确认后不可能进行重组或“双重支出”。这与 Bitcoin 的侧链和合并挖矿提供的安全保证类似。然而,Polkadot 也提供了平行链状态转换有效的有力保证。这个 通过将 validator 集合以加密方式随机分割成子集而发生;每一个子集 平行链,每个块的子集可能不同。这个 设置通常意味着平行链的区块时间将 至少与中继链一样长。具体的 确定分区的方法超出了范围 4这种攻击是对手从创世区块开始打造一条全新的历史链的地方。通过控制一个 尽管他们的股权比例相对较小,但他们能够相对于所有其他人逐步增加自己的股权比例 利益相关者,因为他们是另类历史中唯一的积极参与者。由于创作不存在内在的物理限制 区块(与必须花费相当真实的计算能量的 PoW 不同),他们能够在 相对较短的时间跨度,并有可能使其成为最长和最好的,接管网络的规范状态。Polkadot:异构多链框架的愿景 草案1 7 本文件的但可能基于 类似于 RanDAO [19] 的提交-显示框架或 使用每个平行链的先前区块组合的数据 在加密安全的 hash 下。 validator 的此类子集需要提供 保证有效的平行链候选区块(在 债券被没收的痛苦)。有效性围绕两个 要点;首先,它本质上是有效的—— 所有状态转换均忠实执行,并且所有 引用的外部数据(即交易)对于包含有效。其次,任何与其无关的数据 候选者,例如那些外部交易,具有足够高的可用性,以便参与者能够 下载它并手动执行该块。5 验证者可能只提供一个不包含外部“交易”数据的“空”块,但如果这样做,可能会面临奖励减少的风险。他们并肩工作 与收集者(个人)的平行链八卦协议 他们将交易整理成区块,并提供非交互式、零知识证明,证明该区块构成其父区块的有效子区块(并采取任何交易) 为他们的麻烦付费)。 由平行链协议来指定自己的 预防垃圾邮件的手段:没有“计算资源计量”或“交易费用”的基本概念 由中继链强加。中继链协议也没有对此进行直接强制执行(尽管它 利益相关者不太可能选择采用 一条没有提供像样机制的平行链)。 这是对链条可能性的明确认可,与链条不同 Ethereum,例如类似 Bitcoin 的链,具有更简单的费用模型或其他一些尚未提出的垃圾邮件预防模型。 Polkadot 的中继链本身可能会作为一个 类似 Ethereum 的账户和状态链,可能是 EVM 的衍生品。由于中继链节点需要 进行大量其他处理、事务吞吐量 将通过巨额交易费用部分最小化 并且,如果我们的研究模型需要区块大小限制。 5.4.链间通信。 Polkadot 的最后一个关键要素是链间通信。自从 平行链之间可以有某种信息通道,我们允许自己考虑 Polkadot a 可扩展的多链。在 Polkadot 的情况下,通信非常简单:在 平行链(根据该链的逻辑)能够 影响将交易分派到第二条平行链中 或者,可能是中继链。就像外部交易一样 在生产 blockchains 上,它们是完全异步的 他们没有内在能力返回任何 某种信息回到其起源。 目的地:获取 之前的数据 块的 validators。 帐户收到邮件: 条目已删除自 入口 Merkle tree 帐户发送帖子: 条目放置在 出口 Merkle tree 目的地 平行链 出口 来源:股票 下一个块的数据 validators 邮寄证明存储在 平行链出口 Merkle 树 已放置路由参考 在目的地平行链中 入口 Merkle tree 入口 图 3. 基本示意图 发布路由的主要部分 交易(“帖子”)。 为了确保最小的实现复杂性,最小 风险 和 最小的 直夹克 的 未来 平行链架构中,这些链间交易是 与标准的外部签名交易实际上没有区别。 该交易有一个原始段,提供识别平行链的能力,并且 可以是任意大小的地址。与 Bitcoin 和 Ethereum 等常见的当前系统不同,链间交易不附带任何类型的相关费用“支付”;任何此类支付都必须通过源平行链和目标平行链上的协商逻辑进行管理。诸如提议的系统 Ethereum 的 Serenity 版本 [7] 将是一个简单的方法 管理这样的跨链资源支付,但是 我们假设其他人可能会在适当的时候脱颖而出。 链间交易通过简单的方式解决 基于 Merkle tree 的排队机制以确保 保真度。中继链维护者的任务是 将交易移动到一个平行链的输出队列上 进入目标平行链的输入队列。的 传递的交易在中继链上被引用,但不是相关的y-chain 交易本身。为了防止平行链向另一个平行链发送垃圾邮件 交易,对于要发送的交易,需要 目的地的输入队列不要太大 前一个块的结束时间。如果输入 块处理后队列太大,那么它被认为是“饱和”并且没有事务可以路由到 它在后续块中,直到降回低于 限制。这些队列在中继链上进行管理 允许平行链确定彼此的饱和度 状态;这样尝试发布交易失败 可以同步报告到停止的目的地。 (尽管由于不存在返回路径,如果辅助交易因此失败,则无法报告回来 发送给原始调用者以及其他一些恢复方式 必须发生。) 5.5. Polkadot 和 Ethereum。由于 Ethereum 的图灵完备性,我们预计 Polkadot 和 Ethereum 有足够的机会与 彼此,至少在一些容易推断的安全范围内。简而言之,我们预计交易来自 Polkadot 可以由 validators 签名,然后送入 5这样的任务可能在 validator 之间共享,或者可能成为一组紧密结合的 validator 的指定任务,称为 可用性保证人。

Polkadot:异构多链框架的愿景 草案1 8 Ethereum 可以由以下人员解释和制定 交易转发合约。在另一个方向上, 我们预计会使用特殊格式的日志(事件) 来自“突破合同”,以允许快速验证是否应转发特定消息。 5.5.1. Polkadot 至 Ethereum。通过选择一个 BFT 共识机制由 validator 组成 通过批准投票确定的一组利益相关者 机制,我们能够与 validator 的变化不频繁且数量适中。 在总共 144 validators 的系统中,出块时间为 4 秒和 900 个区块的最终结果(允许恶意 双重投票等行为须举报、处罚 并修复),块的有效性可以合理地表示 仅需 97 个签名(144 个签名的三分之二加 1)以及随后 60 分钟的验证期(不存在任何质疑)即可被视为已得到验证。 Ethereum 能够主持一份“闯入合同” 可以维持144个签署者并由其控制 他们。由于椭圆曲线数字签名 (ECDSA) 恢复在 EVM 下仅需要 3,000 个 Gas,并且由于 我们可能只希望验证发生在 validator 的绝大多数(而不是完全一致), Ethereum 的基本成本确认一条指令 经过正确验证,来自 Polkadot 网络的 Gas 不会超过 300,000,仅占 6% 总区块 Gas 限制为 5.5M。增加 validator 的数量(对于处理 然而,数十家连锁店)不可避免地增加了这一成本 人们普遍预计 Ethereum 的交易带宽会随着技术的成熟而增长 基础设施改善。再加上事实并非如此 所有 validator 都需要参与(例如,只有最高的 可能会要求质押的 validators 来执行此类任务) 这种机制的局限性相当好。 假设每天轮换此类 validator(即 相当保守——每周甚至每月都可以接受),那么维护网络的成本 这个 Ethereum-转发桥大约有 540,000 每天天然气,或者目前的天然气价格为每年 45 美元。单独通过桥转发的基本交易将花费 约 0.11 美元;额外的合同计算将花费 当然还有更多。通过缓冲和捆绑交易 总之,闯入授权成本可以很容易地计算出来 共享,大幅降低每笔交易的成本; 如果转发前需要 20 笔交易,则 转发基本交易的成本将降至 约 0.01 美元。 这种多重签名合约模型的一种有趣且更便宜的替代方案是使用门​​限签名来实现多边所有权语义。而 ECDSA 的门限签名方案 与其他方案相比,计算成本较高 比如Schnorr签名就非常合理。 Ethereum 计划引入原语,这将使这样的 在即将到来的 Metropolis 硬分叉中使用成本低廉的方案。如果能够使用这种手段,天然气成本 用于将 Polkadot 交易转发到 Ethereum 网络将急剧减少到接近于零 超出验证基本成本的开销 签名并执行基础交易。 在此模型中,Polkadot 的 validator 节点将具有 除了签署消息之外别无其他。为了让交易实际路由到 Ethereum 网络上,我们 假设 validator 本身也将驻留在 Ethereum 网络,或者更有可能的是,小额赏金 被提供给第一个转发消息的参与者 到网络(赏金可以简单地支付给 交易发起人)。 5.5.2. Ethereum 至 Polkadot。让交易成为 从 Ethereum 转发到 Polkadot 使用日志的简单概念。当 Ethereum 合约希望将交易分派到 Polkadot 的特定平行链时, 它只需要签订一份特殊的“突破合同”即可。 突破合同将收取任何可能的付款 被要求并发出记录指令,以便可以通过 Merkle 证明和相应块头有效的断言来证明其存在,并且 规范的。 在后两个条件中,有效性可能是最重要的 最容易证明。原则上,唯一的要求是对于每个需要证明的 Polkadot 节点 (即指定的 validator 节点)运行标准 Ethereum 节点的完全同步实例。不幸的是,这本身就是一个相当严重的依赖。一个更多 轻量级方法是使用一个简单的证明 通过仅提供 正确执行所需的 Ethereum 状态树的一部分 块中的交易并检查日志(包含在块收据中)是否有效。这种“类似 SPV”6 证明可能还需要大量信息;方便的是,通常不需要它们 all:Polkadot 内的绑定系统将允许绑定 第三方提交标头可能会面临丢失其标头的风险 bond 如果其他第三方(例如“渔夫”,参见 6.2.3)提供标头无效的证明 (具体来说,州根或收据根是冒名顶替者)。 在像 Ethereum 这样的非最终 PoW 网络上, 规范性无法得到最终证明。 为了解决这个问题,尝试依赖任何类型的应用程序 链相关的因果关系等待多个“确认”,或者直到相关交易处于某个状态 链内的特定深度。 在 Ethereum 上,这 深度从 1 个区块(无已知网络问题的最不有价值的交易)到 1200 个区块不等 Frontier 首次发布交易所期间的情况。 在稳定的“Homestead”网络上,这个数字位于 大多数交易所需要 120 个区块,我们可能会采取 类似的参数。 所以 我们 可以 想象 我们的 Polkadot-侧 Ethereum接口有一些简单的功能:能够 接受来自 Ethereum 网络的新标头并验证 PoW,以便能够接受一些证明 Ethereum 侧突破合约发出了特定的日志,以获得足够深度的标头(并且向前 Polkadot 中的相应消息),最后 能够接受先前接受过的证据,但 尚未制定的标头包含无效的收据根。 实际获取 Ethereum 标头数据本身(以及 任何 SPV 证明或有效性/规范性反驳) Polkadot 网络,转发激励 6SPV 指的是 Bitcoin 中的简化支付验证,并描述了一种让客户端验证交易的方法,同时只保留 最长 PoW 链的所有区块头的副本。Polkadot:异构多链框架的愿景 草案1 9 需要数据。 这可以像付款一样简单 (funded from fees collected on the Ethereum side) paid to anyone able to forward a useful block whose header is 有效。验证者将被要求保留与最后几千个区块相关的信息,以便 be able to manage forks, either through some protocolintrinsic means or through a contract maintained on the 中继链。 5.6. Polkadot 和 Bitcoin。 Bitcoin 互操作 presents an interesting challenge for Polkadot: a so-called “双向挂钩”将是一个有用的基础设施 两个网络都有。然而,由于 the limitations of Bitcoin, providing such a peg securely is 这是一项不平凡的事业。交付交易自 Bitcoin to Polkadot can in principle be done with a process similar to that for Ethereum; “突破地址” controlled in some way by the Polkadot validators could receive transferred tokens (and data sent alongside them). SPV 证明可以通过激励 oracle 提供,并且, together with a confirmation period, a bounty given for 识别暗示交易的非规范区块 已被“双花”。然后拥有的任何 tokens “break-out address” would then, in principle, be controlled by those same validators for later dispersal. 然而问题是如何通过旋转的 validator 装置安全地控制存款。 不像 Ethereum 能够根据 upon combinations of signatures, Bitcoin is substantially 更有限,大多数客户仅接受最多 3 方的多重签名交易。 Extending this to 36, or indeed thousands as might ultimately be desired, is impossible under the current protocol.一种选择是更改 Bitcoin 协议以启用 此类功能,但是所谓的“硬分叉” 从最近的尝试来看,Bitcoin 世界很难安排。一种可能性是使用门限签名, 允许单一可识别公众的加密方案 密钥由多个秘密“部分”有效控制, 必须使用其中的部分或全部来创建有效的签名。 不幸的是,阈值签名兼容 使用 Bitcoin 的 ECDSA 的计算成本很高 创建多项式复杂度的 和 。其他方案如 a Schnorr 签名的成本要低得多,但是 它们可能被引入 Bitcoin 的时间表 协议是不确定的。 由于存款的最终安全取决于 多个绑定的 validator,另一种选择是 将多重签名密钥持有者减少到仅大量 bonded subset of the total validators such that threshold 签名变得可行(或者,在最坏的情况下,Bitcoin 的原生 多重签名是可能的)。 这当然减少了 如果 validator 的行为违法,则可以在赔偿中扣除的保证金总额,但是这 是一种优雅的降级,只需设置一个上限 可以在两者之间安全运行的资金量 两个网络(或者实际上,攻击造成的损失百分比 从 validator 成功)。 因此,我们认为放置一个相当安全的 Bitcoin 互操作性“虚拟平行链”并非不现实 两个网络之间,尽管仍然需要付出巨大的努力,但时间表不确定,而且很可能 需要利益相关者的合作 网络。

세부 프로토콜

프로토콜은 대략 세 가지로 나눌 수 있습니다. 부분: 합의 메커니즘, 파라체인 인터페이스 그리고 인터체인 트랜잭션 라우팅. 6.1. 릴레이 체인 운영. 는 릴레이 체인 의지 아마도 Ethereum와 대체로 유사한 체인일 것입니다. 상태는 계정에 주소를 매핑하는 상태 기반입니다. 정보, 주로 잔액 및 (재생 방지를 위해) 거래 카운터. 여기에 계정을 배치하면 한 가지 목적이 달성됩니다. 즉, ID가 소유한 계정을 제공하는 것입니다. 시스템에 어느 정도의 지분이 있는지.7 하지만 주목할만한 차이점이 있습니다. • 계약은 트랜잭션을 통해 전개될 수 없습니다. 릴레이 체인의 애플리케이션 기능을 피하려는 욕구에 따라 계약의 공개 배포를 지원합니다. • 컴퓨팅 리소스 사용량(“가스”)은 계산되지 않습니다. 공개적으로 사용할 수 있는 유일한 기능이기 때문에 가스 회계의 근거가 수정될 것입니다. 더 이상 보유하지 않습니다. 따라서 정액 요금이 적용됩니다. 모든 경우에 더 많은 성능을 제공합니다. 수행해야 할 수 있는 동적 코드 실행 그리고 더 간단한 거래 형식. • 자동 실행 및 네트워크 메시지 출력을 허용하는 나열된 계약에 대해 특수 기능이 지원됩니다. 릴레이 체인에 VM이 있고 VM이 있는 경우 EVM을 기반으로 하며 최대한의 단순성을 보장하기 위해 여러 가지 수정 사항이 있을 것입니다. 아마도 다수의 내장 계약이 있습니다(다음의 계약과 유사). 플랫폼별 허용을 위해 Ethereum의 주소 1-4 합의 계약을 포함하여 관리해야 할 의무, validator 계약 및 파라체인 계약. EVM이 아닌 경우 WebAssembly 2 백엔드가 가장 가능성 있는 대안입니다. 이 경우 전반적인 구조는 비슷하지만 그럴 필요는 없습니다. Wasm이 실행 가능한 목표가 되는 내장 계약 미숙한 언어보다는 범용 언어를 위해 EVM에 대한 언어가 제한되어 있습니다. 현재 Ethereum 프로토콜에서 다른 가능한 편차가 있을 수 있습니다. 동일한 블록 내에서 충돌하지 않는 트랜잭션의 병렬 실행을 허용하는 트랜잭션 영수증 형식, Serenity 시리즈 변경 사항에 대해 제안된 대로입니다. 가능성은 낮지만 세레니티와 같은 것이 가능합니다. "순수한" 체인을 릴레이 체인으로 배포하여 staking token과 같은 것을 관리하기 위한 특정 계약 그것을 근본적인 부분으로 만드는 것이 아니라 균형을 유지하는 것입니다. 체인의 프로토콜. 현재로서는 그럴 가능성이 없다고 생각합니다. 충분히 훌륭한 프로토콜 단순화를 제공할 것입니다. 추가적인 복잡성과 불확실성을 감수할 가치가 있습니다. 그것을 개발하는 중. 7특정 보유자가 시스템의 전반적인 보안에 대해 책임을 지는 금액을 나타내는 수단으로 이러한 스테이크 계정은 필연적으로 경제적 가치를 인코딩합니다. 그러나 그러한 값을 사용할 의도는 없으므로 이해해야 합니다. 실제 상품 및 서비스와 교환할 목적으로 어떤 방식으로든 token은(는) 다음과 유사하지 않다는 점에 유의해야 합니다. 화폐와 마찬가지로 릴레이 체인은 애플리케이션에 관한 허무주의적 철학을 유지합니다.POLKADOT: 이종 다중 체인 프레임워크에 대한 비전 초안 1 10 합의 메커니즘, validator 세트, 검증 메커니즘 및 파라체인을 관리하는 데 필요한 여러 가지 작은 기능이 있습니다. 이것들 모놀리식 프로토콜 하에서 함께 구현될 수 있습니다. 그러나 모듈성을 보장한다는 이유로 이를 릴레이 체인의 "계약"이라고 설명합니다. 이것은 (의미에서) 객체라는 의미로 간주됩니다. 객체 지향 프로그래밍)은 릴레이체인의 합의 메커니즘에 의해 관리되지만 반드시 그런 것은 아닙니다. EVM과 유사한 opcode의 프로그램으로 정의되거나 심지어는 계정 시스템. 6.2. 스테이킹 계약. 이 계약은 validator 세트를 유지합니다. 다음을 관리합니다. • 현재 validator 계정은 무엇입니까? • 짧게는 validator이 될 수 있습니다. 통지; • 어떤 계정이 지명 지분을 배치했는지 validator; • staking 볼륨, 허용되는 지급률 및 주소, 단기(세션) ID를 포함한 각각의 속성. 계정이 되고자 하는 욕구를 등록할 수 있습니다. 보세 validator(요구 사항과 함께), 일부 신원을 지명하고 기존 보세 validator이 이 상태를 종료하려는 의사를 등록합니다. 그것은 또한 검증 및 정규화 메커니즘을 위한 기계 자체를 포함합니다. 6.2.1. 지분-token 유동성. 일반적으로 다음을 수행하는 것이 바람직합니다. 총 staking token을 최대한 많이 확보하세요. 이후 네트워크 유지 관리 작업에 참여 이는 네트워크 보안을 staking token의 전체 "시가 총액"과 직접적으로 연결합니다. 이것은 쉽게 할 수 있습니다 통화를 부풀리고 validators로 참여하는 사람들에게 수익금을 나눠줌으로써 인센티브를 받습니다. 그러나 그렇게 하면 문제가 발생합니다. token 축소 처벌로 스테이킹 계약에 갇혀 있는데 어떻게 상당 부분이 충분히 남을 수 있겠습니까? 가격 발견을 허용하기 위해 액체? 이에 대한 한 가지 대답은 기본 스테이킹된 token에 대체 가능한 token을 확보하여 간단한 파생 계약을 허용하는 것입니다. 이는 무신뢰 방식으로 마련하기가 어렵습니다. 더욱이 이러한 파생 상품은 다른 유로존 정부 채권이 대체 불가능하다는 것과 같은 이유로 동등하게 취급될 수 없습니다. 기초 자산이 실패하고 무가치하다. 유로존 정부와 관련하여 다음과 같은 일이 발생할 수 있습니다. 기본값. validator 스테이킹된 token을 사용하면 validator이(가) 악의적으로 행동하고 처벌을 받습니다. 우리의 교리에 따라 우리는 가장 간단한 솔루션을 선택합니다. 모든 token이 스테이킹되는 것은 아닙니다. 이것은 다음을 의미합니다 token의 일부(아마도 20%)는 강제로 유동 상태로 유지됩니다. 이는 보안 관점에서 불완전하지만 보안 측면에서 근본적인 차이를 만들 가능성은 없습니다. 네트워크 보안; 채권 몰수로 인한 배상금의 80%는 여전히 이루어질 수 있습니다. 100% staking의 "완벽한 사례"와 비교됩니다. 스테이킹된 token 사이의 비율은 역경매 메커니즘을 통해 상당히 간단하게 타겟팅할 수 있습니다. 본질적으로, validator가 되는 데 관심이 있는 token 보유자입니다. 각각 staking 계약서에 다음과 같은 제안을 게시할 것입니다. 그들이 받아야 할 최소 지급률 부분. 각 세션이 시작될 때(세션은 정기적으로, 아마도 한 시간에 한 번 정도 발생함) validator 슬롯은 각 원하는 대로 채워집니다. validator의 지분 및 지급률. 하나의 가능한 알고리즘 왜냐하면 이것은 가장 낮은 제안을 받은 사람들을 택하는 것이기 때문입니다. 목표로 삼은 총 지분보다 높지 않은 지분을 나타냅니다. 슬롯 수로 나눈 값이며 그 양의 절반보다 낮을 수 없습니다. 슬롯을 채울 수 없는 경우, 하한은 만족시키기 위해 어떤 요인에 의해 반복적으로 감소될 수 있습니다. 6.2.2. 지명. 무신뢰 지명 가능 staking token을 활성 validator에 전달하여 validator의 의무에 대한 책임입니다. 작품 추천 승인 투표 시스템을 통해. 각 후보자 후보는 staking 계약에 지침을 게시할 수 있습니다. 하나 이상의 validator 신원을 표현하는 것 그들은 자신의 유대를 맡길 준비가 되어 있습니다. 각 세션마다 지명자의 결속력이 분산됩니다. 하나 이상의 validator으로 표시됩니다. 분산 알고리즘은 등가 총계의 validator 세트를 최적화합니다. 채권. 지명자의 채권은 validator a의 실질적인 책임 하에 있게 됩니다.관심을 얻거나 고통을 겪을 수도 있습니다. 그에 따라 처벌이 감소됩니다. 6.2.3. 채권 압수/소각. 특정 validator 행동으로 인해 채권이 징벌적으로 감소됩니다. 만약에 채권이 허용 가능한 최소 금액 이하로 감소되었습니다. 세션이 조기 종료되었으며 다른 세션이 시작되었습니다. 처벌 가능한 validator 비행의 대략적인 목록은 다음과 같습니다. • 제공할 수 없는 파라체인 그룹의 일부임 파라체인 블록의 유효성에 대한 합의; • 무효의 유효성에 대해 적극적으로 서명합니다. 파라체인 블록; • 이전에는 송신 페이로드를 제공할 수 없음 사용 가능한 것으로 투표되었습니다. • 합의 과정 중 활동이 없습니다. • 경쟁 포크에서 릴레이 체인 블록을 검증합니다. 잘못된 행동의 일부 사례는 네트워크의 무결성을 위협합니다(예: 유효하지 않은 파라체인 블록에 서명하고 포크의 여러 측면을 검증하는 등). 따라서 채권의 전체 감소를 ​​통해 효과적인 추방이 발생합니다. 에서 기타 덜 심각한 경우(예: 합의에 대한 비활동성) 프로세스) 또는 비난을 정확하게 할당할 수 없는 경우(비효과적인 그룹의 일부임), 작은 부분 대신 채권의 일부가 벌금으로 부과될 수 있습니다. 후자의 경우, 이는 하위 그룹 이탈과 잘 작동하여 악의적인 노드는 부수적으로 손상된 자비로운 노드보다 훨씬 더 많은 손실을 입습니다. 어떤 경우에는(예: 다중 포크 검증 및 유효하지 않은 경우) 하위 블록 서명) validators는 지속적인 검증으로 인해 서로의 잘못된 행동을 쉽게 감지할 수 없습니다. 각 파라체인 블록을 만드는 것은 너무 힘든 작업이 될 것입니다. 여기 외부 당사자의 지지를 얻어야 한다. 그러한 오작동을 확인하고 보고하기 위한 검증 프로세스. 당사자들은 그러한 활동을 보고한 대가로 보상을 받습니다. 그들의 "어부"라는 용어는 가능성이 없다는 데서 유래합니다. 그런 보상. 이러한 경우는 일반적으로 매우 심각하므로 압수된 채권으로 보상금을 쉽게 지불할 수 있다고 생각합니다. 일반적으로 우리는 균형 잡힌 연소를 선호합니다. (즉, 아무것도 아닌 것으로 축소) 도매 재분배를 시도하고 있습니다. 이는 다음과 같은 효과가 있습니다.

POLKADOT: 이종 다중 체인 프레임워크에 대한 비전 초안 1 11 token의 전체 가치를 높여서 특정 네트워크보다는 일반적으로 어느 정도 네트워크를 발견에 참여한 당사자. 이는 주로 안전을 위한 것입니다. 메커니즘: 관련된 많은 양은 극단적이고 심각한 행동 인센티브로 이어질 수 있습니다. 단일 대상에게 부여됩니다. 일반적으로 보상은 네트워크에 대한 검증을 가치 있게 만들 만큼 충분히 크지만, 네트워크에 대한 비용을 상쇄할 만큼 크지는 않은 것이 중요합니다. 재정이 좋고 조직이 잘 조직된 "산업 수준"의 범죄 잘못된 행동을 강요하기 위해 불운한 validator에 대한 해킹 공격입니다. 이런 식으로 청구된 금액은 일반적으로 0이 되어야 합니다. 잘못된 validator의 직접 채권보다 큽니다. 잘못된 행동을 하고 현상금을 위해 자신을 보고하는 비뚤어진 인센티브가 발생합니다. 이는 명시적으로 해결될 수 있습니다. 최소한의 직접 채권 요건을 통해 validator 또는 예치된 채권이 거의 없는 validator이 큰 인센티브가 없다는 것을 지명자에게 교육함으로써 암묵적으로 잘 행동하기 위해서. 6.3. 파라체인 레지스트리. 각 파라체인은 다음과 같이 정의됩니다. 이 레지스트리. 데이터베이스와 유사한 상대적으로 간단한 구성이며 정적 정보와 동적 정보를 모두 보유합니다. 각 체인. 정적 정보에는 체인 인덱스(간단한 정수), 검증 프로토콜 ID와 함께 다양한 클래스를 구별하는 수단 올바른 검증 알고리즘이 될 수 있도록 파라체인 유효한 후보자를 제시하기 위해 위임된 validators에 의해 운영됩니다. 초기 개념 증명은 배치에 중점을 둡니다. 새로운 검증 알고리즘을 클라이언트 자체에 적용하여 매번 프로토콜의 하드포크를 효과적으로 요구합니다. 체인 클래스가 추가되었습니다. 하지만 궁극적으로, 검증 알고리즘을 지정하는 것이 가능할 수도 있습니다. 고객이 만족할 만큼 엄격하고 효율적인 방법입니다. 별도의 조치 없이 새로운 파라체인과 효과적으로 작업할 수 있습니다. 하드포크. 이에 대한 한 가지 가능한 방법은 다음을 지정하는 것입니다. 잘 확립된 파라체인 검증 알고리즘, WebAssembly와 같이 기본적으로 컴파일되고 플랫폼 중립적인 언어입니다. 결정하기 위해서는 추가적인 연구가 필요하다 이것이 정말로 실현 가능한지 여부, 그러나 만약 그렇다면 이를 통해 하드포크를 추방하는 엄청난 이점을 얻을 수 있습니다. 영원히. 동적 정보에는 다음과 같은 글로벌 합의가 있어야 하는 트랜잭션 라우팅 시스템의 측면이 포함됩니다. 파라체인의 수신 대기열로 사용됩니다(섹션 6.6에 설명되어 있음). 레지스트리에는 파라체인만 추가할 수 있습니다. 전체 국민투표를 통해; 이건 관리할 수 있을 것 같아 내부적으로는 배치되지만 외부에 배치될 가능성이 더 높습니다. 재사용을 촉진하기 위한 국민투표 계약 보다 일반적인 거버넌스 구성 요소. 매개변수는 투표 요구 사항(예: 필요한 정족수, 과반수 필수) 추가 체인 및 기타 등록을 위해 덜 공식적인 시스템 업그레이드는 "마스터"에서 설정됩니다. 헌법”을 따르지만 상당히 전통적인 방식을 따를 가능성이 높습니다. 적어도 처음에는 경로입니다. 정확한 공식은 나오지 않았습니다 현재 작업의 범위, 예를 들어 전체 시스템의 3분의 1 이상을 통과하려면 2/3의 절대 다수가 통과해야 합니다. 스테이크에 대한 긍정적인 투표는 합리적인 출발점이 될 수 있습니다. 추가 작업에는 파라체인의 정지 및 제거가 포함됩니다. 정지는 결코 발생하지 않을 것입니다. 그러나 이는 최소한의 안전 장치로 설계되었습니다. 파라체인의 검증 시스템에는 다루기 힘든 문제가 있습니다. 가장 확실한 사례는 validator이 동의할 수 없게 만드는 구현 간의 합의에 중요한 차이점이 필요합니다. 유효성 또는 차단. 검증인은 다음을 사용하는 것이 좋습니다. 여러 클라이언트 구현을 수행할 수 있도록 채권을 몰수하기 전에 그러한 문제를 발견하는 것입니다. 정지는 긴급조치이므로, 오히려 역동적인 validator-투표의 후원으로 국민투표보다 복원은 둘 다 가능할 것입니다. validators 또는 국민 투표에서. 파라체인을 완전히 제거하는 것은 오직 국민투표 이후에는 질서 있는 전환을 허용하는 상당한 유예 기간 독립형 체인이 되거나 다른 체인의 일부가 되거나 합의 시스템. 유예 기간은 다음과 같습니다. 달의 순서이며 다른 순서로 파라체인 레지스트리에 퍼체인 기반으로 설정될 가능성이 높습니다. 파라체인은 다음에 따라 다양한 유예 기간을 누릴 수 있습니다. 그들의 필요. 6.4. 릴레이 블록 밀봉. 씰링은 본질적으로 다음을 의미합니다. 정규화 과정; 즉, 기본 데이터 변환하는 것원본을 근본적으로 독특하고 의미 있는 것으로 매핑합니다. PoW 체인 하에서, 봉인은 사실상 채굴과 동의어입니다. 우리의 경우, 여기에는 validators의 유효성, 가용성 및 정식성에 대한 서명된 진술 수집이 포함됩니다. 특정 릴레이 체인 블록과 파라체인 블록 그것은 나타냅니다. 기본 BFT 합의 알고리즘의 메커니즘은 현재 작업의 범위를 벗어납니다. 우리는 대신에 다음을 가정하는 기본 요소를 사용하여 설명합니다. 합의를 창출하는 상태 기계. 결국 우리는 기대한다 수많은 유망한 BFT 합의에서 영감을 얻습니다. 핵심 알고리즘; Tangaora [9] (BFT 변종) Raft [16]), Tendermint [11] 및 HoneyBadgerBFT [14]. 알고리즘은 여러 파라체인에 대해 병렬로 합의에 도달해야 하므로 일반적인 알고리즘과 다릅니다. blockchain 합의 메커니즘. 우리는 한 번 가정 합의에 도달하면 합의를 기록할 수 있습니다. 어느 누구라도 제공할 수 있는 반박할 수 없는 증거로 그것에 참가자. 우리는 또한 잘못된 행동을 가정합니다 프로토콜 내에서 일반적으로 작은 규모로 축소될 수 있습니다. 최소화하기 위해 잘못된 행동을 하는 참가자가 포함된 그룹 처벌을 내릴 때의 부수적 피해.8 서명된 진술의 형태를 취하는 증명은 릴레이 체인 블록의 헤더에 함께 배치됩니다. 특히 릴레이 체인의 statetrie 루트 및 transaction-trie 루트와 같은 특정 필드를 사용합니다. 는 밀봉 프로세스 걸립니다 장소 아래 에 싱글 합의 생성 메커니즘 주소 지정 둘 다 는 릴레이체인의 블록과 파라체인의 블록으로 릴레이 콘텐츠의 일부: 파라체인은 하위 그룹에 의해 별도로 "커밋"된 다음 대조되지 않습니다. 나중에. 이로 인해 릴레이체인의 프로세스가 더 복잡해지지만 단일 단계에서 전체 시스템의 합의를 완료할 수 있어 대기 시간이 최소화되고 허용됩니다. 매우 복잡한 데이터 가용성 요구 사항에 대해 아래 라우팅 프로세스에 도움이 됩니다. 8Tendermint BFT과 같은 기존 PoS 기반 BFT 합의 체계와 원본 Slasher는 이러한 주장을 충족합니다.

POLKADOT: 이종 다중 체인 프레임워크에 대한 비전 초안 1 12 각 참가자의 합의 기계 상태는 다음과 같습니다. 간단한(2차원) 테이블로 모델링됩니다. 각 참가자(validator)는 다음 형식의 정보 세트를 가지고 있습니다. 각 파라체인 블록 후보와 릴레이체인 블록 후보에 관한 다른 참가자의 서명된 진술("투표")입니다. 정보 세트는 2개입니다. 데이터: 가용성: 있음 이 validator 가지고 있다 출구 이 블록의 거래 게시물 정보 그들은 다음 블록에서 파라체인 후보를 적절하게 검증할 수 있습니까? 그들은 투표할 수 있습니다 1(알려짐) 또는 0(아직 알려지지 않음)입니다. 일단 그들은 1번 투표를 하면 그들은 비슷한 투표를 하기로 약속합니다. 이 과정의 나머지 부분. 그렇지 않은 나중에 투표 존중하는 것은 처벌의 근거가 됩니다. 유효성: 파라체인 블록이 유효하며 모두 유효합니다. 외부 참조 데이터(예: 거래) 가능합니까? 이는 투표 중인 파라체인에 할당된 validator에만 관련됩니다. 1(유효), -1(무효) 또는 0으로 투표할 수 있습니다. (아직 알려지지 않음). 0이 아닌 투표를 하면 나머지 투표에서도 이런 방식으로 투표하기로 약속했습니다. 과정. 이를 존중하지 않는 나중에 투표 처벌사유가 됩니다. 모든 validator은 투표를 제출해야 합니다. 위의 규칙에 따라 투표를 다시 제출할 수 있습니다. 의 진행 합의는 병렬로 발생하는 각 파라체인에 대한 여러 표준 BFT 합의 알고리즘으로 모델링될 수 있습니다. 이는 상대적으로 잠재적으로 방해를 받기 때문에 소수의 악의적인 행위자가 집중되어 있음 단일 파라체인 그룹에 대한 전반적인 합의가 존재합니다. 백스톱을 구축하여 최악의 시나리오를 제한합니다. 단지 하나 이상의 보이드 파라체인 블록에 대한 교착상태(그리고 책임자에 대한 일련의 처벌). 개별 블록의 유효성에 대한 기본 규칙 (전체적으로 validator의 전체 세트가 독특한 파라체인 후보가 되는 것에 대한 합의 표준 릴레이에서 참조됨): • validator의 최소 2/3가 긍정적으로 투표해야 하며 누구도 부정적으로 투표하지 않아야 합니다. • 송신 대기열 정보의 가용성에 대해 3분의 1 이상의 validator이 긍정적으로 투표해야 합니다. 타당성에 대해 적어도 하나의 긍정적인 투표와 적어도 하나의 부정적인 투표가 있는 경우 예외 조건이 생성됩니다. validator 전체 집합이 투표를 통해 결정해야 합니다. 악의적인 당사자가 있거나 우발적인 사고가 발생한 경우 포크. 유효, 무효 외에 세 번째 종류의 투표 허용되며 이는 둘 다에 투표하는 것과 같습니다. 즉, 노드는 서로 상충되는 의견을 가지고 있습니다. 이는 다음으로 인해 발생할 수 있습니다. 여러 구현을 실행하는 노드 소유자 동의하지 않음은 프로토콜에 모호성이 있을 수 있음을 나타냅니다. 모든 투표가 전체 validator 세트에서 계산된 후, 패배한 의견은 최소한 어느 정도 작은 비율을 차지합니다( 매개변수화되어야 합니다. 많아야 절반, 어쩌면 훨씬 적을 수도 있음) 승리한 의견의 득표수로 간주됩니다. 우발적인 파라체인 포크가 되어 파라체인은 합의 프로세스에서 자동으로 중단됩니다. 그렇지 않으면 악의적인 행위로 간주하여 처벌합니다. 반대 의견에 투표한 소수. 결론은 다음을 입증하는 일련의 서명입니다. 정규성. 그러면 릴레이 체인 블록이 봉인될 수 있습니다. 그리고 다음 블록을 봉인하는 과정이 시작되었습니다. 6.5. 릴레이 블록 밀봉 개선. 동안 이 밀봉 방법은 시스템 작동에 대한 강력한 보장을 제공하지만 특별히 확장이 잘 되지는 않습니다. 모든 파라체인의 핵심 정보에는 고유한 정보가 있어야 하기 때문에 전체 validator의 1/3 이상에서 가용성이 보장됩니다. 이는 모든 validator의 책임 범위가 더 많은 체인이 추가될수록 증가합니다. 개방형 합의 네트워크 내에서 데이터 가용성을 유지하는 동안 본질적으로 해결되지 않은 문제이므로 validator 노드에 발생하는 오버헤드를 완화하는 방법이 있습니다. 하나의 간단한 해결책은 validators가 어깨를 짊어져야 한다는 것을 깨닫는 것입니다. 데이터 가용성에 대한 책임이 있기 때문에 실제로 데이터 자체를 저장, 전달 또는 복제할 필요는 없습니다. 2차 데이터 사일로, 아마도 관련이 있거나 동일) 이 데이터를 수집하는 대조자는 지불 이자/소득의 일부를 제공하는 validator을 통해 가용성을 보장하는 작업입니다. 그러나 이렇게 하면 중간 정도의 확장성을 얻을 수는 있지만 여전히 근본적인 문제에는 도움이 되지 않습니다. 이후 더 많은 체인을 추가하려면 일반적으로 추가 validator이 필요하며 지속적인 네트워크 리소스 소비(특히 대역폭 측면에서)는 다음의 제곱에 따라 증가합니다. 는체인은 장기적으로 보호할 수 없는 자산입니다. 결국 우리는 계속해서 머리를 강타하게 될 것입니다. 다음과 같은 근본적인 한계에 반대합니다. 안전한 것으로 간주되는 합의 네트워크, 현재 진행 중인 대역폭 요구 사항은 총계 수준입니다. validators번 총 입력 정보입니다. 이는 다음으로 인해 발생합니다. 신뢰할 수 없는 네트워크가 여러 노드에 걸쳐 데이터 저장 작업을 적절하게 분배할 수 없음 처리라는 탁월한 배포 작업을 제외하고. 6.5.1. 지연 시간을 소개합니다. 이것을 부드럽게 하는 한 가지 방법 즉각성의 개념을 완화하는 것이 규칙입니다. 즉시가 아닌 최종적으로만 가용성에 대해 33%+1 validators 투표를 요구함으로써 우리는 기하급수적인 데이터 전파를 더 잘 활용하고 데이터 교환의 최대치를 균등화하는 데 도움을 줄 수 있습니다. 합리적인 평등(증명되지는 않았지만) 다음과 같을 수 있습니다: (1) 대기 시간 = 참가자 × 체인 현재 모델에서는 시스템 규모가 확장됩니다. 처리가 이루어지도록 체인 수를 확인합니다. 분산; 각 체인에는 최소한 하나의 validator이 필요하며 가용성 증명을 상수로 수정합니다. validator의 비율, 참가자도 비슷하게 증가합니다. 체인 수와 함께. 우리는 다음과 같이 끝납니다: (2) 대기 시간 = 크기2 이는 시스템이 성장함에 따라 필요한 대역폭과 가용성이 전체 시스템에 알려질 때까지의 대기 시간을 의미합니다. 네트워크는 숫자로 특징지어질 수도 있습니다. 최종 이전의 블록 수는 제곱에 따라 증가합니다. 이것은 상당한 성장 요인이며 주목할만한 장애물이 되어 우리를 "비평탄한" 패러다임으로 몰아넣을 수 있습니다. 예를 들어 여러 "Polkadotes"를 계층 구조로 구성하는 등 릴레이체인 트리를 통해 포스트의 다단계 라우팅을 위한 것입니다.

POLKADOT: 이종 다중 체인 프레임워크에 대한 비전 초안 1 13 6.5.2. 대중 참여. 또 하나의 가능한 방향 과정을 통해 대중의 참여를 유도하는 것입니다. 마이크로 컴플레인 시스템. 어부들과 비슷해요. 주장하는 validator을 경찰의 외부 당사자가 될 수 있습니다. 가용성. 그들의 임무는 그러한 가용성을 입증할 수 없는 것처럼 보이는 사람을 찾는 것입니다. 그렇게 함으로써 그들은 다른 validator에게 소소한 불만사항을 제기할 수 있습니다. PoW 또는 시빌 공격을 완화하기 위해 스테이크 채권을 사용할 수 있습니다. 이는 시스템을 거의 쓸모 없게 만듭니다. 6.5.3. 가용성 보증인. 최종 경로는 두 번째 결합된 validator 세트를 "가용성"으로 지정 보증인”. 이는 일반 validator과 마찬가지로 결합되며 동일한 세트에서 가져올 수도 있습니다. (그렇다면 적어도 세션당 장기간에 걸쳐 선택될 것입니다.) 일반 validator과 달리 파라체인 간에 전환하는 것이 아니라 오히려 모든 중요한 인터체인 데이터의 가용성을 증명하기 위해 단일 그룹을 구성합니다. 이는 참가자와 체인 간의 동등성을 완화할 수 있다는 장점이 있습니다. 본질적으로 체인은 다음과 같은 작업을 수행할 수 있습니다. (원래 체인 validator 세트와 함께) 성장하는 반면 참가자, 특히 데이터 가용성 증거에 참여하는 참가자는 최소한의 하위 선형 상태를 유지할 수 있습니다. 그리고 아마도 일정할 것이다. 6.5.4. 대조자 기본 설정. 이것의 중요한 측면 중 하나 시스템은 건전한 선택이 가능하도록 보장하는 것입니다. 특정 파라체인에서 블록을 생성하는 대조자. 만약 단일 대조자가 파라체인을 지배한 후 일부 공격 부족할 가능성이 높기 때문에 더욱 실현 가능해집니다. 외부 데이터의 가용성은 덜 명확합니다. 한 가지 옵션은 인공적으로 파라체인 블록에 가중치를 부여하는 것입니다. 다양한 대조자를 선호하기 위한 의사 무작위 메커니즘. 첫 번째 경우에는 다음이 필요합니다. validator이 선호하는 합의 메커니즘의 일부로 "무거운" 것으로 결정된 파라체인 블록 후보. 마찬가지로, 우리는 validators가 다음을 시도하도록 장려해야 합니다. 그들이 찾을 수 있는 가장 무거운 블록을 제안합니다. 후보자의 가중치에 비례하여 보상의 일부를 만들어 수행됩니다. 대조자에게 합리적인 공정한 대우를 보장하기 위해 자신의 후보가 당선자로 선택될 확률 합의된 후보자, 우리는 특정 가중치를 만듭니다. 파라체인 블록 후보는 각 콜레이터와 연결된 무작위 함수를 결정합니다. 예를 들어, collator의 주소 사이의 XOR 거리 측정 그리고 암호학적으로 안전한 의사 난수 블록이 생성되는 지점에 가깝게 결정됩니다. (명목상의 "당첨 티켓"). 이는 효과적으로 각 collator(또는 더 구체적으로 각 collator의 주소) 후보 블록이 "승리"할 무작위 확률 다른 모든 것. 단일 대조자의 시빌 공격을 완화하기 위해 당첨 티켓에 가까운 주소를 "채굴"하여 각 블록을 즐겨찾기에 추가하려면 대조자의 주소에 약간의 관성을 추가합니다. 이는 요구하는 것만큼 간단할 수 있습니다. 주소에 기본 자금 금액이 있어야 합니다. 더 우아한 접근 방식은 다음과 같은 근접성에 가중치를 두는 것입니다. 주차된 금액으로 당첨 티켓을 문제의 주소. 아직 모델링이 끝나지 않았지만, 이 메커니즘은 매우 소규모 이해관계자가 대조자로서 기여합니다. 6.5.5. 과체중 블록. validator 세트가 손상되면 블록을 생성하고 제안할 수 있습니다. 유효하고 실행하는 데 과도한 시간이 걸리며 검증하다. validator 그룹이 상당히 오랜 시간이 걸리는 블록을 합리적으로 형성합니다. 지름길을 허용하는 특정 정보가 이미 알려져 있지 않은 한 실행됩니다. 큰 인수분해 프라임. 단 한 명의 대조자가 해당 정보를 알고 있다면 그들은 자신의 것을 얻는 데 분명한 이점을 가질 것입니다 다른 사람들이 이전 블록을 처리하느라 바쁘다면 후보자들은 받아들여졌습니다. 우리는 이러한 블록을 과체중이라고 부릅니다. validators가 이러한 블록을 제출하고 검증하는 것에 대한 보호는 대체로 다음과 같은 방식으로 이루어집니다. 유효하지 않은 블록이지만 추가 주의사항은 다음과 같습니다. 블록을 실행하는 데 걸린 시간(따라서 블록의 상태) 과체중)은 주관적이며 투표의 최종 결과는 잘못된 행동은 본질적으로 세 가지 캠프로 분류됩니다. 하나 블록이 확실히 과체중이 아닐 가능성이 있습니다. 이 경우 2/3 이상이 그렇게 할 수 있다고 선언합니다. 일정 한도 내에서 블록을 실행합니다(예: 블록 간에 허용되는 총 시간의 50%). 또 다른 것은 블록은 d입니다확실히 과체중입니다. 2/3는 블록을 실행할 수 없다고 선언합니다. 상기 한도 내에서. 마지막 가능성 중 하나는 상당히 동일합니다. validators 사이의 의견 분열. 이 경우, 우리는 적절한 처벌을 선택하세요. validators가 언제 일어날지 예측할 수 있도록 하기 위해 비중확대 블록을 제안하는 경우 각 블록에 대한 자체 성과에 대한 정보를 게시하도록 요구하는 것이 합리적일 수 있습니다. ffi충분한 시간에 걸쳐, 이를 통해 처리 속도를 프로파일링할 수 있습니다. 그들을 판단할 동료들에 비해. 6.5.6. Collator 보험. validators에 대해 한 가지 문제가 남아 있습니다. PoW 네트워크와 달리 대조자의 유효성을 위해 블록을 실제로 실행해야 합니다. 악의적인 대조자는 유효하지 않거나 과중한 블록을 validator에 공급하여 슬픔을 유발할 수 있습니다(낭비 자원)을 요구하고 잠재적으로 상당한 기회 비용을 요구합니다. 이를 완화하기 위해 우리는 간단한 전략을 제안합니다. validators의 일부입니다. 먼저, 파라체인 블록 후보가 전송되었습니다. validators은(는) 릴레이 체인 계정에서 서명되어야 합니다. 자금으로; 그렇지 않은 경우 validator이 삭제되어야 합니다. 즉시요. 둘째, 그러한 후보자는 다음의 조합(예: 곱셈)에 의해 우선순위로 정렬되어야 합니다. 일정 한도 내에서 계좌에 있는 자금의 양, 대조자가 과거에 성공적으로 제안한 이전 블록의 수(이전 블록은 말할 것도 없고) 처벌) 및 승리에 대한 근접 요인 이전에 논의한 티켓. 캡은 동일해야합니다 해당 사건에서 validator에게 지급된 징벌적 손해배상금 그 중 잘못된 블록을 보내는 중입니다. 대조자가 유효하지 않거나 과중한 블록 후보를 validators에 보내는 것을 막기 위해 모든 validator은 오작동하는 대조자의 자금 중 일부 또는 전부를 이체하는 결과로 오작동을 주장하는 문제가 있는 블록을 포함하는 거래를 다음 블록에 배치합니다. 불만이 있는 validator에게 설명하세요. 이러한 유형의 트랜잭션은 대조자가 확인할 수 없도록 다른 트랜잭션을 먼저 실행합니다. 처벌 전에 자금을 제거하십시오. 금액 손해배상금으로 이전된 자금은 아직까지 동적 매개변수입니다.

POLKADOT: 이종 다중 체인 프레임워크에 대한 비전 초안 1 14 모델링될 예정이지만 발생한 슬픔의 수준을 반영하기 위해 validator 블록 보상의 일부가 될 가능성이 높습니다. 받는 사람 악의적인 validator이 대조자의 자금을 임의로 압수하는 것을 방지하기 위해 대조자는 무작위로 선택된 validator의 배심원단과 함께 validator의 결정에 대해 항소할 수 있습니다. 소액 입금을 위해. validator의 호의를 발견하면 보증금이 소비됩니다. 그렇지 않은 경우, 보증금이 반환되고 validator에 벌금이 부과됩니다(이후 validator은(는) 훨씬 더 아치형 위치에 있으므로 벌금이 부과됩니다. 아마도 꽤 무거울 것입니다). 6.6. 인터체인 거래 라우팅. 인터체인 트랜잭션 라우팅은 필수 유지 관리 중 하나입니다. 릴레이 체인 및 해당 validator의 작업입니다. 이것은 게시된 트랜잭션(종종 단순히 "포스트"로 단축됨)이 원하는 출력이 되는 방식을 제어하는 논리 하나의 소스 파라체인에서 신뢰 없이 다른 대상 파라체인의 협상 불가능한 입력이 되기까지 요구 사항. 우리는 위의 문구를 신중하게 선택했습니다. 특히 우리는 소스에 트랜잭션이 있을 필요는 없습니다. parachain이 이 게시물을 명시적으로 승인했습니다. 유일한 우리 모델에 적용하는 제약은 파라체인입니다. 전체 블록의 일부로 패키지되어 제공되어야 합니다. 처리 출력, 결과인 게시물 블록의 실행. 이러한 게시물은 여러 FIFO 대기열로 구성됩니다. 는 목록의 수는 라우팅 기반으로 알려져 있으며 약 16입니다. 특히 이 숫자는 수량을 나타냅니다. 의존하지 않고도 우리가 지원할 수 있는 파라체인의 수 다단계 라우팅. 처음에는 Polkadot에서 이를 지원합니다. 일종의 직접 라우팅이지만 가능한 한 가지 방법을 간략하게 설명하겠습니다. 다단계 라우팅 프로세스("하이퍼 라우팅")를 수단으로 사용 초기 파라체인 세트를 훨씬 넘어 확장되는 것입니다. 우리 가정하다 그 모두 참가자 알고있다 는 다음 두 블록 n, n + 1에 대한 하위 그룹화. 요약하면, 라우팅 시스템은 다음 단계를 따릅니다. • CollatorS: 검증인의 연락처[n][S] • CollatorS: 각 하위 그룹에 대해: 연락 중인 검증인[n][s] 구성원 최소 1명 • 대조자: 각 하위 그룹에 대해: 가정하다 egress[n −1][s][S]를 사용할 수 있습니다(모든 수신 게시물 마지막 블록의 데이터를 'S'로) • 대조자: S에 대해 블록 후보 b를 구성합니다. (b.헤더, b.ext, b.증명, b.영수증, b.egress) • 대조자: 보내기 증거 정보 증명[S] = (b.header, b.ext, b.proof, b.receipt) 유효성 검사기[n][S] • CollatorS: 외부 트랜잭션 데이터 b.ext 보장 다른 대조자와 validators가 사용할 수 있습니다. • 대조자: 에 대한 각각 하위 그룹 들: 보내기 출구 정보 송신[n][S][s] = (b.헤더, b.receipt, b.egress[s]) 에 는 수신 하위 그룹 회원 의 다음 블록 유효성 검사기[n + 1][s] • ValidatorV : 동일 세트의 모든 멤버를 미리 연결합니다. 다음 블록의 경우: N = Chain[n + 1][V ]; 연결하다 Chain[n + 1][v] = N이 되는 모든 validators v • 유효성 검사기V: 이에 대한 모든 데이터 수신을 대조합니다. 블록: 에 대한 각각 하위 그룹 들: 검색 egress[n −1][s][Chain[n][V ]], Chain[n][v] = Chain[n][V ]가 되도록 다른 validators v에서 가져옵니다. 시도 증명을 위해 무작위로 선택된 다른 validator을 통해 진행될 수도 있습니다. • 유효성 검사기V: 이에 대한 후보 증명을 수락합니다. 블록 증명[체인[n][V ]]. 투표 차단 유효성 • 유효성 검사기V: 다음에 대한 후보 송신 데이터 수락 다음 블록: 각 하위 그룹에 대해 수락 송신[n][s][N]. 투표 차단 출구 가용성; 관심 있는 validators v 사이에서 다시 게시하십시오. 사슬[n + 1][v] = 사슬[n + 1][V ]. • ValidatorV : 합의가 있을 때까지 여기서: egress[n][from][to]는 현재 송신 대기열입니다. 파라체인 'from'에서 다음으로 가는 게시물에 대한 정보 블록 번호 'n'의 파라체인 'to'. CollatorS는 parachain S에 대한 collator입니다. V alidators[n][s]는 블록 번호 n에 있는 parachain s에 대한 validators 집합입니다. 반대로, Chain[n][v]는 블록 번호 n에 validator v가 할당된 파라체인입니다. block.egress[to]는 송신입니다. 일부 파라체인 블록 블록의 게시물 대기열 목적지 파라체인은 입니다. 대조자는 다음을 기준으로 (거래) 수수료를 징수하므로 그들의 블록은 표준이 되며, 그들은 다음과 같은 인센티브를 받습니다. 각 다음 블록 대상에 대해 하위 그룹의 구성원은 현재의 송신 대기열에 대한 정보를 받습니다. 블록. 검증인은 (파라체인) 블록에 대한 합의를 형성하는 것에 대해서만 인센티브를 받습니다. 어떤 collator의 블록이 궁극적으로 표준이 됩니다. 에서 원칙적으로 validator은 대조자와 동맹을 맺고 다른 대조자의 기회를 줄이기 위해 공모할 수 있습니다. 블록이 정식화되지만 이는 둘 다 어렵습니다. 무작위 선택으로 인해 정렬validators의 액션 파라체인을 유지하는 파라체인 블록에 대해 지불해야 하는 수수료를 줄임으로써 방어할 수 있습니다. 합의 과정. 6.6.1. 외부 데이터 가용성. 파라체인의 보장 외부 데이터가 실제로 사용 가능하다는 것은 지속적인 문제입니다. 작업 부하를 분산시키는 것을 목표로 하는 분산형 시스템 네트워크. 문제의 핵심은 가용성이다 불가능하기 때문에 발생하는 문제 가용성에 대한 비대화형 증명을 만들거나 어떤 종류의 것도 만들지 마세요. BFT 시스템이 제대로 작동하려면 가용성이 없다는 증거를 제시하세요. 정확성이 의존하는 모든 전환을 검증합니다. 일부 외부 데이터의 가용성, 최대 수 허용 가능한 비잔틴 노드 수와 시스템의 1개 데이터가 이용 가능하다는 것을 증명해야 합니다. Polkadot과 같이 시스템을 적절하게 확장하려면 다음을 수행하세요. 문제를 야기합니다: validators의 일정한 비율이 있는 경우 데이터의 가용성을 증명해야 하며, validators는 데이터가 사용 가능하다고 주장하기 전에 실제로 데이터를 저장하기를 원할 것입니다. 그렇다면 어떻게 하면 시스템 크기(따라서 validators 수)에 따라 대역폭/스토리지 요구 사항이 증가하는 문제가 있습니까? 한 가지 가능한 대답은 별도의 세트를 갖는 것입니다. validators(가용성 보증인) 중 주문이 증가함 전체적으로 Polkadot 크기의 준선형적입니다. 이것은 6.5.3에 설명되어 있습니다. 두 번째 트릭도 있어요. 그룹으로서 대조자는 모든 데이터가 파라체인이 없으면 선택한 파라체인에 사용할 수 있습니다. 더 이상 블록을 작성할 수 없습니다. 거래 수수료를 징수합니다. Collator는 또한 구성원이 다양한 그룹을 형성합니다(데이터의 무작위 특성으로 인해). parachain validator 그룹) 입력하기 쉽고 쉽습니다.

POLKADOT: 이종 다중 체인 프레임워크에 대한 비전 초안 1 15 증명하기 위해. 따라서 최근 대조자(아마도 마지막 수천 블록 중)는 다음에 대한 이의제기를 발행할 수 있습니다. 특정 파라체인에 대한 외부 데이터의 가용성 소액 채권을 위해 validators를 차단하세요. 검증인은 증언한 분명히 문제가 있는 validator 하위 그룹의 사람들에게 연락하여 데이터를 수집하여 대조자에게 반환하거나 에스컬레이션해야 합니다. 가용성이 부족하다는 것을 증언함으로써 문제가 됩니다(데이터 제공을 직접 거부하는 것은 채권 압수 범죄로 간주되므로 잘못된 행동을 하는 validator은 아마도 연결 끊기) 및 추가 validators에 연락 동일한 테스트를 실행합니다. 후자의 경우, 대조자의 채권 반환됩니다. 이러한 비가용성 평가를 작성할 수 있는 validator의 정족수에 도달하면 해당 사용자는 해제됩니다. 잘못 행동하는 하위 그룹은 처벌되고 블록은 되돌려집니다. 6.6.2. 게시물 라우팅. 각 파라체인 헤더에는 출구-트리-루트; 이것은 다음을 포함하는 트라이의 루트입니다. 라우팅 기반 저장소, 각 저장소는 연결된 목록임 송신 게시물의 수입니다. 머클 증명은 다음과 같이 제공될 수 있습니다. parachain validators는 특정 parachain이 블록에는 특정 대상 파라체인에 대한 특정 송신 대기열이 있습니다. 파라체인 블록 처리 초기에는 각 해당 블록에 대한 다른 파라체인의 송신 대기열은 다음과 같습니다. 우리 블록의 수신 대기열에 병합되었습니다. 우리는 강하다고 가정하고, 아마도 CSPR9, 하위 블록 순서는 어느 것 사이에도 편애를 제공하지 않는 결정론적 연산을 달성하기 위한 것입니다. 파라체인 블록 페어링. Collator는 새 대기열을 계산합니다. 파라체인의 요청에 따라 출구 대기열을 비웁니다. 논리. 수신 대기열의 내용이 명시적으로 기록됩니다. 파라체인 블록에 들어갑니다. 여기에는 두 가지 주요 목적이 있습니다. 첫째, 이는 파라체인이 다른 파라체인과 분리되어 신뢰 없이 동기화될 수 있음을 의미합니다. 둘째, 전체 수신이 필요한 경우 데이터 물류를 단순화합니다. 대기열은 단일 블록에서 처리될 수 없습니다. validators 및 대조자는 다음 블록을 처리할 수 있습니다. 큐의 데이터를 특별히 소싱할 필요 없이. 파라체인의 수신 대기열이 임계값을 초과하는 경우 블록 처리가 끝나면 금액이 표시됩니다. 릴레이 체인이 포화되어 더 이상 메시지가 전송되지 않을 수 있습니다. 삭제될 때까지 전달됩니다. 머클 증명은 콜레이터 작업의 충실도를 입증하는 데 사용됩니다. 파라체인 블록의 증명. 6.6.3. 비평. 이 기본과 관련된 하나의 사소한 결함 메커니즘은 폭탄 후 공격입니다. 이곳은 모두가 파라체인은 가능한 최대량의 게시물을 보냅니다. 특정 파라체인에. 이것이 목표의 목표를 묶는 동안 한 번에 수신 대기열을 실행하면 계속해서 손상이 발생하지 않습니다. 표준 트랜잭션 DoS 공격. 잘 동기화된 세트로 정상적으로 작동하고 N 파라체인의 경우 비악성 대조자 및 validators, 파라체인당 N × M 총 validators 및 L 콜레이터, 우리는 블록당 전체 데이터 경로를 다음과 같이 분류할 수 있습니다. 유효성 검사기: M −1+L+L: 다른 validator에 대한 M −1 파라체인 세트에서 후보 파라체인 블록을 제공하는 각 콜레이터에 대한 L과 각 콜레이터에 대한 두 번째 L 이전 블록의 송신 페이로드가 필요한 다음 블록의 (후자는 실제로 최악의 경우에 가깝습니다. 대조자가 이러한 작업을 공유할 가능성이 높기 때문에 작업 데이터.) Collator: M +kN: 각 관련 항목에 대한 연결을 위한 M parachain 블록 validator, 각 parachain validator 그룹의 일부 하위 집합에 송신 페이로드를 시딩하기 위한 kN 다음 블록(그리고 선호하는 일부 대조자). 따라서 노드당 데이터 경로 방식은 선형적으로 증가합니다. 시스템의 전반적인 복잡성과 관련이 있습니다. 이 동안 합리적입니다. 시스템이 수백 또는 수천 개의 파라체인으로 확장됨에 따라 일부 통신 지연이 발생할 수 있습니다. 복잡성 증가율이 낮아지는 대가로 흡수됩니다. 이 경우 다중 단계 라우팅 알고리즘을 사용할 수 있습니다. 순간적인 경로의 수를 줄이기 위해 스토리지 버퍼와 대기 시간을 도입하는 비용이 듭니다. 6.6.4. 하이퍼큐브 라우팅. 하이퍼 큐브 라우팅은 대부분 하이퍼 큐브 라우팅의 확장으로 구축될 수 있는 메커니즘입니다. 위에서 설명한 기본 라우팅 메커니즘. 본질적으로, 파라체인과 하위 그룹 노드의 수로 노드 연결성을 늘리는 대신, 파라체인의 로그. 게시물은 다음 사이에 전송될 수 있습니다. 여러 파라체인이 최종 배송을 위해 줄을 서고 있습니다. 라우팅 자체는 결정적이고 간단합니다. 우리는 다음과 같이 시작합니다 수신/송신 대기열의 저장소 수를 제한합니다. 파라체인의 총 개수가 아니라, 는라우팅 기반(b) . 숫자로 고정됩니다 대신 라우팅 지수(e)가 증가하여 파라체인이 변경됩니다. 이 모델에서는 메시지 볼륨이 O(be)와 함께 성장하며 경로는 일정하게 유지됩니다. 및 지연 시간(또는 전송에 필요한 블록 수) O(e)로. 우리의 라우팅 모델은 e차원의 하이퍼큐브입니다. 큐브의 각 면에는 b개의 가능한 위치가 있습니다. 각 블록은 단일 축을 따라 메시지를 라우팅합니다. 우리 라운드 로빈 방식으로 축을 교체하여 최악의 경우 e 블록 배달 시간을 보장합니다. 파라체인 가공의 일환으로 해외로 향하는 수신 대기열에서 발견된 메시지는 다음과 같은 경우 적절한 송신 대기열의 저장소로 즉시 라우팅됩니다. 현재 블록 번호(및 라우팅 차원) 이 프로세스에는 각 홉에 대한 추가 데이터 전송이 필요합니다. 배송 경로에 문제가 있지만, 이는 그 자체로 문제입니다 이는 대체 수단을 사용하여 완화될 수 있습니다. 데이터 페이로드 전달 및 참조만 포함, 포스트 트라이에 있는 포스트의 전체 페이로드가 아니라. 시스템에 대한 하이퍼큐브 라우팅의 예 4개의 파라체인을 사용하면 b = 2 및 e = 2는 다음과 같을 수 있습니다. 0단계, 각 메시지 M: • sub0: Mdest ∈{2, 3}이면 sendTo(2), 그렇지 않으면 유지 • sub1: Mdest ∈{2, 3}이면 sendTo(3), 그렇지 않으면 유지 • sub2: Mdest ∈{0, 1}이면 sendTo(0), 그렇지 않으면 유지 • sub3: Mdest ∈{0, 1}이면 sendTo(1), 그렇지 않으면 유지 1단계, 각 메시지 M: • sub0: Mdest ∈{1, 3}이면 sendTo(1), 그렇지 않으면 유지 • sub1: Mdest ∈{0, 2}이면 sendTo(0), 그렇지 않으면 유지 • sub2: Mdest ∈{1, 3}이면 sendTo(3), 그렇지 않으면 유지 • sub3: Mdest ∈{0, 2}이면 sendTo(2), 그렇지 않으면 유지 여기의 두 차원은 첫 번째로 쉽게 볼 수 있습니다. 대상 인덱스의 2비트; 첫 번째 블록의 경우, 상위 비트만 사용됩니다. 두 번째 블록 거래 하위 비트로. 둘 다 발생하면 (임의로 주문) 게시물이 라우팅됩니다. 9암호적으로 안전한 의사 난수

POLKADOT: 이종 다중 체인 프레임워크에 대한 비전 초안 1 16 6.6.5. 세렌디피티의 극대화. 기본의 한 가지 변형 제안에서는 고정된 총 c2 −c validators를 볼 수 있습니다. c−1 각 하위 그룹의 validators. 블록 하나하나가 아니라 validators의 구조화되지 않은 재파티셔닝이 있습니다. 파라체인 중에서 각 파라체인 하위 그룹 대신에 각 validator은 고유하고 다른 항목에 할당됩니다. 다음 블록의 파라체인 하위 그룹. 이것은 두 블록 사이에 불변성이 발생합니다. 두 쌍의 파라체인에는 두 개의 validator이 존재합니다. 파라체인 책임을 바꿨습니다. 가용성에 대한 절대적인 보장을 얻는 데 사용할 수는 없지만 (단일 validator은 때때로 오프라인 상태가 됩니다. 자비로운) 그럼에도 불구하고 일반적인 경우를 최적화할 수 있습니다. 이 접근 방식에는 합병증이 없지는 않습니다. 파라체인을 추가하려면 재구성도 필요합니다. validator 세트 중. 또한 validator의 수는 파라체인 수의 제곱에 연결되어 있으며, 처음에는 아주 작은 규모로 시작하여 결국에는 멀리 성장할 것입니다. 너무 빨라서 약 50개의 파라체인 이후에는 견딜 수 없게 됩니다. 이들 중 어느 것도 근본적인 문제는 아닙니다. 첫 번째 경우, validator 세트의 재구성은 반드시 이루어져야 하는 것입니다. 어쨌든 정기적으로 했어요. validator의 크기에 관하여 너무 작으면 여러 개의 validator이 할당될 수 있습니다. 동일한 파라체인에 정수 인자를 적용하여 총 validators. 6.6.4에서 논의된 하이퍼큐브 라우팅과 같은 다단계 라우팅 메커니즘은 많은 수의 validator에 대한 요구 사항을 완화합니다. 체인 수가 많을 때. 6.7. 파라체인 검증. A validator의 주요 목적 유대감이 강한 배우로서 파라체인이 상태 전환, 외부 트랜잭션 포함, 실행 등을 포함하되 이에 국한되지 않는 블록이 유효합니다. 수신 대기열의 대기 중인 게시물과 최종 상태 송신 대기열의 프로세스 자체는 매우 간단합니다. validator가 이전 블록을 봉인하면 무료입니다. 후보 파라체인 블록을 제공하기 위한 작업을 시작합니다. 다음 합의 라운드 후보. 처음에 validator는 파라체인 콜레이터(다음에 설명) 또는 하나를 통해 파라체인 블록 후보를 찾습니다. 공동 validators 중 하나입니다. 파라체인 블록 후보 데이터 블록의 헤더, 이전 블록의 헤더, 포함된 모든 외부 입력 데이터(Ethereum 및 Bitcoin의 경우 이러한 데이터는 트랜잭션으로 참조되지만 원칙적으로 임의의 목적을 위한 임의의 데이터 구조를 포함할 수 있음), 상태 전환 유효성을 증명하기 위한 송신 대기열 데이터 및 내부 데이터(Ethereum의 경우) 이는 각 트랜잭션을 실행하는 데 필요한 다양한 상태/저장 트리 노드입니다. 실험적 증거는 최근 Ethereum 블록에 대한 전체 데이터세트를 보여줍니다. 최대 수백 KiB입니다. 동시에 아직 완료되지 않은 경우 validator은(는) 처음에는 이전 블록의 전환과 관련된 정보를 검색하려고 시도합니다. validators 이상은 모든 validators 서명에서 데이터의 가용성. validator이 그러한 후보 블록을 수신하면, 그런 다음 로컬에서 유효성을 검사합니다. 검증 프로세스는 파라체인 클래스의 validator 모듈 내에 포함되어 있습니다. 반드시 작성해야 하는 합의에 민감한 소프트웨어 모듈 Polkadot 구현에 대해(원칙적으로는 C ABI가 포함된 라이브러리는 단일 라이브러리로 다음을 수행할 수 있습니다. 적절한 구현 간에 공유됩니다. 단일 "참조" 구현만으로 인한 안전성 감소). 이 프로세스는 이전 블록의 헤더를 가져와서 최근 합의된 릴레이 체인을 통해 그 신원을 확인합니다. hash이 기록되어야 하는 블록입니다. 상위 헤더의 유효성이 확인되면 특정 파라체인이 클래스의 유효성 검사 함수가 호출될 수 있습니다. 이는 다수의 데이터 필드(대략적으로)를 허용하는 단일 함수입니다. 이전에 제공된 것) 간단한 부울을 반환합니다. 블록의 유효성을 선언합니다. 대부분의 검증 기능은 먼저 직접 파생될 수 있는 헤더 필드 상위 블록(예: 상위 hash, 번호). 팔로잉 그러면 내부 데이터 구조가 다음과 같이 채워집니다. 거래 및/또는 게시물을 처리하기 위해 필요합니다. Ethereum와 같은 체인의 경우 이는 필요한 노드가 포함된 데이터베이스를 트리로 구성합니다. 거래의 완전한 실행. 다른 체인 유형에는 다른 p회복 메커니즘. 완료되면 수신 게시물과 외부 트랜잭션(또는 외부 데이터가 나타내는 모든 것)이 체인 사양에 따라 제정되고 균형이 맞춰집니다. (A 합리적인 기본값은 모든 수신 게시물을 요구하는 것일 수 있습니다. 외부 트랜잭션이 서비스되기 전에 처리되지만 이는 파라체인의 논리에 따라 결정되어야 합니다.) 이번 제정을 통해 일련의 출구 게시물이 게시될 예정입니다. 생성되었으며 이것이 실제로 일치하는지 확인됩니다. 콜러의 후보. 마지막으로, 제대로 채워졌습니다. 헤더는 후보자의 헤더와 비교하여 확인됩니다. 완전히 검증된 후보 블록을 사용하면 validator 그런 다음 헤더의 hash에 투표하고 모든 필수 유효성 검사 정보를 해당 하위 그룹의 co-validator에 보낼 수 있습니다. 6.7.1. 파라체인 콜레이터. 파라체인 콜레이터는 채굴자의 작업 대부분을 수행하는 비결합 운영자입니다. 현재 blockchain 네트워크에서. 그것들은 구체적이다 특정 파라체인에. 작동하려면 반드시 릴레이 체인과 완전 동기화를 모두 유지합니다. 파라체인. "완전히 동기화됨"의 정확한 의미는 파라체인 클래스에 따라 다르지만 항상 파라체인 수신 대기열의 현재 상태를 포함합니다. Ethereum의 경우 최소한 유지 관리도 포함됩니다. 마지막 몇 블록의 머클 트리 데이터베이스이지만 Bloom을 포함한 다양한 다른 데이터 구조도 포함 계정 존재, 가족 정보, 로깅을 위한 필터 블록 번호에 대한 출력 및 역방향 조회 테이블. 두 체인의 동기화를 유지하는 것 외에도 또한 트랜잭션 대기열을 유지하고 적절하게 검증된 트랜잭션을 수락하여 트랜잭션을 "피싱"해야 합니다. 공용 네트워크에서. 대기열과 체인을 사용하면 각 블록에서 선택된 validator에 대한 새로운 후보 블록을 생성하고(릴레이체인이 동기화된 이후 신원이 알려짐) 이를 유효성 증명 등 다양한 보조 정보를 통해 피어 네트워크. 문제가 발생하면 포함된 거래와 관련된 모든 수수료를 징수합니다. 이를 둘러싸고 다양한 경제학이 떠돌고 있다. 배열. 경쟁이 치열한 시장에서 대조자가 너무 많으면 거래가 발생할 가능성이 있습니다. 인센티브를 제공하기 위해 수수료는 파라체인 validator과 공유됩니다. 특정 collator의 블록을 포함합니다. 비슷하게,

POLKADOT: 이종 다중 체인 프레임워크에 대한 비전 초안 1 17 일부 대조자는 필요한 수수료를 인상할 수도 있습니다. 블록을 더 매력적으로 만들기 위해 비용을 지불합니다. validators. 이 경우 자연시장이 형성되어야 한다. 더 높은 수수료를 지불하는 거래가 대기열을 건너뛰는 경우 체인에 더 빠르게 포함됩니다. 6.8. 네트워킹. 기존 blockchains의 네트워킹 Ethereum 및 Bitcoin와 같은 요구 사항은 다소 간단합니다. 모든 거래와 블록은 단순하고 방향성이 없는 소문으로 방송됩니다. 특히 동기화가 더 복잡합니다. Ethereum을 사용하지만 실제로는 이 논리가 몇 가지 요청 및 응답 메시지 유형을 중심으로 해결된 프로토콜 자체가 아닌 피어 전략입니다. Ethereum은 devp2p 프로토콜을 사용하여 현재 프로토콜 제공에 진전을 이루었습니다. 단일 피어 연결을 통해 멀티플렉싱되는 서브프로토콜은 동일한 피어 오버레이를 가지며 여러 가지를 지원합니다. p2p 프로토콜을 동시에 사용하면 Ethereum 부분 프로토콜은 여전히 상대적으로 단순했고 p2p는 한동안 프로토콜은 중요한 문제로 인해 완료되지 않은 상태로 남아 있습니다. QoS 지원과 같은 기능이 누락되었습니다. 안타깝게도 보다 유비쿼터스적인 "웹 3" 프로토콜을 만들고자 하는 열망은 주로 실패했습니다. 이를 사용하는 유일한 프로젝트는 명시적으로 Ethereum 크라우드 세일을 통해 자금을 조달했습니다. Polkadot에 대한 요구 사항은 다소 더 중요합니다. 오히려 완전히 균일한 네트워크, Polkadot 동료 구성 및 여러 네트워크에 대해 각기 다른 요구 사항을 가진 여러 유형의 참가자가 있습니다. 참가자들이 대화를 나누는 경향이 있는 "길" 특정 데이터. 이는 훨씬 더 구조화된 네트워크 오버레이와 이를 지원하는 프로토콜을 의미합니다. 필요할 것 같습니다. 또한, 새로운 종류의 "체인"과 같은 향후 추가를 용이하게 하는 확장성이 가능합니다. 자체적으로는 새로운 오버레이 구조가 필요합니다. 네트워킹 방법에 대해 심도있게 논의하는 동안 프로토콜이 이 문서의 범위를 벗어나는 것처럼 보일 수 있지만 일부 요구 사항 분석은 합리적입니다. 우리는 할 수 있다 네트워크 참가자를 대략 두 세트로 나눕니다. (릴레이 체인, 파라체인) 각각 세 개의 하위 집합입니다. 우리는 할 수 있다 또한 각 파라체인 참가자는 오직 그들 사이의 대화에 관심이 있는 반면 다른 파라체인 참가자: • 릴레이 체인 참가자: • 유효성 검사기: P, 각각에 대해 하위 집합 P[s]로 분할 파라체인 • 가용성 보증자: A(프로토콜 기본 형식의 유효성 검사기로 표현될 수 있음) • 릴레이 체인 클라이언트: M(각 멤버 참고 파라체인 세트도 M)의 구성원이 되는 경향이 있습니다. • 파라체인 참가자: • 파라체인 대조자: C[0], C[1], . . . • 파라체인 어부: F[0], F[1], . . . • 파라체인 클라이언트: S[0], S[1], . . . • 파라체인 라이트 클라이언트: L[0], L[1], . . . 일반적으로 우리는 특정 종류의 의사소통을 명명합니다. 다음 세트의 구성원 간에 발생하는 경향이 있습니다. • 피 | 에이 <-> 피 | 답: 는 가득 찬 세트 의 validators/보증인 반드시 있다 잘 연결된 에 합의를 이루다. • P[s] <-> C[s] | P[s]: 특정 파라체인 그룹의 구성원인 각 validator은 험담을 하는 경향이 있습니다. 다른 회원 및 대조자와 함께 해당 파라체인의 블록 후보를 발견하고 공유합니다. • A <-> P[s] | 다 | A: 각 가용성 보증인 합의에 민감한 크로스체인을 수집해야 합니다. 할당된 validator의 데이터; 대조자 또한 그들의 의견에 대한 합의 가능성을 최적화할 수도 있습니다. 가용성 보증인에게 광고하여 차단합니다. 일단 데이터를 갖게 되면 데이터는 다음에 분배됩니다. 합의를 촉진하기 위한 기타 보증인. • P[s] <-> A | P[s']: 파라체인 validators는 이전 validator 세트 또는 가용성 보증자로부터 추가 입력 데이터를 수집해야 합니다. • F[s] <-> P: 보고 시 어부들은 다음과 같은 위치를 지정할 수 있습니다. 참가자와의 청구. • M <-> M | 피 | A: 일반 릴레이 체인 클라이언트는 validators 및 보증인으로부터 데이터를 지불합니다. • S[들] <-> S[들] | 추신 | A: 파라체인 클라이언트는 validator/보증인으로부터 데이터를 지불합니다. • L[초] <-> L[초] | S[s]: 파라체인 라이트 클라이언트 전체 클라이언트로부터 데이터를 지불합니다. 효율적인 운송 메커니즘을 보장하기 위해 "플랫" Ethereum의 devp2p와 같은 오버레이 네트워크 노드는 (비임의적으로) 자신의 적합성을 구별하지 않습니다. 또래는 적합하지 않을 것 같습니다. 합리적으로 확장 가능한 피어 선택 및 검색 메커니즘에는 다음이 필요할 수 있습니다. 공격적일 뿐만 아니라 프로토콜 내에 포함되어야 함 올바른 종류의 동료를 보장하기 위해 미리 계획을 세웁니다. "우연히" 연결되어 있습니다적절한 시기에 시행되었습니다. 동료 구성의 정확한 전략은 참가자 클래스마다 다릅니다. 다중 체인, 대조자는 지속적으로 그에 따라 선택된 validator에 다시 연결하거나 validator의 하위 집합과 지속적인 계약이 필요합니다. validator에 쓸모가 없는 대부분의 시간 동안 연결이 끊어지지 않도록 합니다. Collator는 자연스럽게 하나의 데이터를 유지하려고 시도합니다. 또는 가용성 보증인에 대한 보다 안정적인 연결 합의에 민감한 메시지의 신속한 전파를 보장하도록 설정되었습니다. 데이터. 가용성 보증인은 대부분 가용성을 유지하는 것을 목표로 합니다. 서로 및 validators에 대한 안정적인 연결(합의 및 합의에 중요한 파라체인 데이터의 경우) 그들이 증명함) 및 일부 대조자(파라체인의 경우) 데이터) 및 일부 어부 및 전체 고객(분산용) 정보). 유효성 검사기는 다른 validator, 특히 동일한 하위 그룹과 다른 validator을 찾는 경향이 있습니다. 파라체인 블록 후보를 제공할 수 있는 대조자. 어부 뿐만 아니라 일반 릴레이체인, 파라체인 클라이언트는 일반적으로 연결을 열린 상태로 유지하는 것을 목표로 합니다. validator 또는 보증인이지만 유사한 다른 노드가 많이 있습니다. 그렇지 않으면 스스로에게. 파라체인 라이트 클라이언트는 마찬가지로 파라체인의 전체 클라이언트에 연결되는 것을 목표로 합니다. 다른 파라체인 라이트 클라이언트뿐만이 아니라면요. 6.8.1. 동료 이탈 문제. 기본 프로토콜 제안에서 이러한 각 하위 집합은 검증을 위해 할당된 validator으로 각 블록과 함께 지속적으로 무작위로 변경됩니다. 파라체인 전환은 무작위로 선택됩니다. 이것은 할 수 있다 서로 다른(비피어) 노드가 다음을 수행해야 하는 경우 문제가 됩니다. 서로 데이터를 전달합니다. 다음 중 하나에 의존해야 합니다. 공정하게 분산되고 잘 연결된 피어 네트워크

POLKADOT: 이종 다중 체인 프레임워크에 대한 비전 초안 1 18 홉 거리(따라서 최악의 대기 시간)가 네트워크 크기의 대수만큼만 증가하는지 확인합니다. (Kademlia와 유사한 프로토콜 [13]이 여기서 도움이 될 수 있습니다) 또는 반드시 피어 세트를 유지하기 위해 필요한 연결 협상이 이루어질 수 있도록 더 긴 블록 시간을 도입합니다. 노드의 현재 통신 요구 사항을 반영합니다. 둘 다 훌륭한 솔루션은 아닙니다: 긴 블록 시간 네트워크에 강제로 연결하면 네트워크가 쓸모없게 될 수 있습니다. 특정 애플리케이션 및 체인. 완벽하게 공평한 것조차 연결된 네트워크는 상당한 낭비를 초래합니다. 관심 없는 노드로 인해 대역폭이 확장됩니다. 쓸모없는 데이터를 전달합니다. 양방향이 솔루션의 일부가 될 수 있지만, 지연 시간을 최소화하는 데 도움이 되는 합리적인 최적화는 이러한 파라체인의 변동성을 제한해야 합니다 validator 세트, 일련의 블록 사이에서만 멤버십을 재할당하거나(예: 4초에 15개의 그룹으로) 차단 시간은 연결을 1회에 한 번만 변경하는 것을 의미합니다. 분) 또는 증분 방식으로 멤버십을 순환합니다. 한 번에 한 멤버씩 변경(예: 각 파라체인에 15개의 validator이 할당되어 있으며, 평균적으로 완전히 고유한 파라체인 사이에는 1분이 걸립니다. 세트). 피어 이탈의 양을 제한하고 유리한 피어 연결이 잘 이루어지도록 보장함으로써 파라체인의 부분적인 예측 가능성을 통해 발전 세트를 통해 각 노드가 영구적으로 유지되도록 도울 수 있습니다. 우연한 동료 선택. 6.8.2. 효과적인 네트워크 프로토콜에 대한 경로. 아마도 가장 효과적이고 합리적인 개발 노력은 롤링보다는 기존 프로토콜을 활용하는 데 중점을 둘 것입니다. 우리 자신. 여러 P2P 기본 프로토콜이 존재합니다. Ethereum의 자체 devp2p를 포함하여 사용하거나 강화할 수 있습니다. [22], IPFS의 libp2p [1] 및 GNU의 GNUnet [4]. 이러한 프로토콜과 프로토콜 구축과의 관련성에 대한 전체 검토 특정 구조적 보장, 동적 피어 조정 및 확장 가능한 하위 프로토콜을 지원하는 모듈형 피어 네트워크 이 문서의 범위를 훨씬 벗어나지만 Polkadot 구현의 중요한 단계입니다. 7. 프로토콜의 실용성 7.1. 인터체인 거래 결제. 훌륭한 동안 Ethereum의 가스와 같은 전체적인 계산 리소스 회계 프레임워크에 대한 필요성을 없애면 상당한 자유와 단순성을 얻을 수 있습니다. 이는 중요한 질문을 제기합니다. 가스 없이 하나의 파라체인을 어떻게 수행할 수 있습니까? 다른 파라체인이 강제로 계산을 수행하는 것을 방지하시겠습니까? 우리는 트랜잭션-포스트 수신 큐에 의존할 수 있지만 한 체인이 다른 체인에 스팸을 보내는 것을 방지하는 버퍼 트랜잭션 데이터에는 트랜잭션 처리의 스팸을 방지하기 위해 프로토콜에서 제공하는 동등한 메커니즘이 없습니다. 이는 더 높은 수준에 맡겨진 문제이다. 체인 이후 들어오는 항목에 임의의 의미를 자유롭게 첨부할 수 있습니다. 거래 후 데이터를 통해 우리는 계산을 보장할 수 있습니다. 시작하기 전에 비용을 지불해야 합니다. 와 비슷한 맥락으로 Ethereum Serenity가 지지하는 모델, 우리는 상상할 수 있습니다 파라체인 내의 "침입" 계약을 통해 validator는 다음과 같은 대가로 지불을 보장받습니다. 특정 양의 처리 자원 제공. 이러한 자원은 가스와 같은 것으로 측정될 수 있습니다. 그러나 주관적인 실행 시간이나 Bitcoin과 같은 정액 요금 모델과 같은 완전히 새로운 모델일 수도 있습니다. 이는 오프체인 호출자가 사용할 수 있다고 쉽게 가정할 수 없기 때문에 그 자체로는 그다지 유용하지 않습니다. 침입에 의해 인식되는 모든 가치 메커니즘 계약. 그러나 소스 체인에서 2차 "돌파" 계약을 상상할 수 있습니다. 두 계약은 함께 다리를 형성하여 서로를 인식하고 가치 동등성을 제공합니다. (스테이킹-tokens, 사용 가능 각각은 국제수지 정산에 사용될 수 있습니다.) 다른 체인을 호출하는 것은 프록시를 의미합니다. 이 다리를 통해 체인 간의 가치 이전을 협상하여 대상 파라체인에 필요한 계산 리소스에 대한 비용을 지불합니다. 7.2. 추가 체인. 동안 는 추가 의 에 파라체인은 상대적으로 저렴한 운영이지만 무료는 아닙니다. 파라체인이 많을수록 파라체인당 validator 수가 줄어듭니다. 그리고 결국에는 더 많은 수의 validator이 각각 평균 채권 감소. 파라체인 공격에 대한 강제 비용이 더 작아지는 문제는 다음을 통해 완화됩니다. 어부 여러분, 성장하는 validator 세트는 본질적으로 기본 합의 메커니즘으로 인해 더 높은 수준의 대기 시간그래. 게다가 각 파라체인 validators에게 슬픔을 안겨줄 가능성이 있습니다. 과도한 부담을 주는 검증 알고리즘. 따라서 validators의 "가격"이 있을 것입니다. 및/또는 지분 보유 커뮤니티는 새로운 파라체인 추가. 이 체인 시장은 아마도 다음 중 하나가 추가된 것을 볼 수 있습니다: • 일부로 만들기 위해 지불하는 순 기여금(staking tokens 잠금 또는 소각 측면에서)이 0일 가능성이 있는 체인(예: 컨소시엄 체인, Doge 체인, 앱별 체인); • 네트워크에 본질적인 가치를 제공하는 체인 특정 기능을 추가하는 것은 어렵습니다. 다른 곳으로 이동하기 위해(예: 기밀성, 내부 확장성, 서비스 연계) 본질적으로 이해관계자 커뮤니티는 다음을 수행해야 합니다. 재정적으로나 경제적으로 하위 체인을 추가하도록 인센티브를 받을 수 있습니다. 릴레이에 특징적인 체인을 추가하려는 욕구를 통해. 새로운 체인이 추가되면 매우 큰 효과를 얻을 것으로 예상됩니다. 제거를 위한 짧은 통지 기간으로 인해 새로운 체인이 손상될 위험 없이 실험을 수행할 수 있습니다. 중장기적 가치 제안. 8. 결론 우리는 저자가 취할 수 있는 방향을 설명했습니다. 기존의 특정 체인과 역호환이 가능한 확장 가능한 이종 다중 체인 프로토콜 blockchain 네트워크. 이러한 프로토콜에 따라 참가자는 기존 사용자에게 일반적인 비용을 들이지 않고 매우 자유로운 방식으로 확장할 수 있는 전체 시스템을 만들기 위해 계몽된 사리사욕을 바탕으로 작업합니다. 표준 blockchain 디자인에서 나옵니다. 우리는 주었다 다음을 포함하여 필요한 아키텍처의 대략적인 개요 참가자의 성격, 경제적 인센티브 그리고 그들이 참여해야 하는 프로세스. 우리는 기본 디자인을 파악하고 그 장점에 대해 논의했습니다. 제한 사항; 따라서 우리는 더 많은 방향을 가지고 있습니다. 이러한 제한을 완화하고 완전히 확장 가능한 blockchain 솔루션을 향한 추가 기반을 마련할 수 있습니다.POLKADOT: 이종 다중 체인 프레임워크에 대한 비전 초안 1 19 8.1. 누락된 자료 및 공개 질문. 네트워크 분기는 프로토콜의 다양한 구현으로 인해 항상 가능합니다. 그러한 것으로부터의 회복 예외적인 상황은 논의되지 않았습니다. 네트워크가 반드시 0이 아닌 최종화 기간을 갖는다는 점을 고려하면, 릴레이체인 분기에서 복구하는 것은 큰 문제가 되지 않지만 합의 프로토콜. 채권 몰수와 반대로 보상 제공은 깊게 탐구되지 않았습니다. 현재 우리는 보상을 가정합니다. 승자독식 원칙에 따라 제공됩니다. 그렇지 않을 수도 있습니다. 어부들에게 최고의 인센티브 모델을 제공합니다. 단기간 커밋-공개 프로세스를 통해 많은 어부들이 보다 공정한 보상 분배를 통해 상금을 청구하고, 그러나 프로세스로 인해 추가 대기 시간이 발생할 수 있습니다. 잘못된 행동 발견. 8.2. 감사의 말씀. 많은 분들께 감사드립니다. 막연하게 이 문제를 이해하는 데 도움을 준 교정자들 표현 가능한 모양. 특히 Peter Czaban, Bj¨orn 바그너, 켄 카플러, 로버트 하버마이어, 비탈릭 부테린, 레토 트링클러, 잭 피터슨. 모두에게 감사드립니다 아이디어나 시작에 기여한 사람들 그 중에서도 Marek Kotewicz와 Aeron Buchanan은 특별히 언급할 가치가 있습니다. 그리고 도움을 주신 다른 모든 분들께도 감사드립니다 길을 따라. 모든 오류는 내 자신의 것입니다. 초기 연구를 포함한 이 작업의 일부 합의 알고리즘은 영국으로부터 부분적으로 자금을 지원받았습니다. Innovate UK 프로그램에 따른 정부.

协议详细信息

该协议大致可以分为三部分 部分:共识机制、平行链接口 和链间交易路由。 6.1.中继链 操作。的 中继链 会 可能是一个与 Ethereum 大致相似的链,因为它 是基于状态的,将状态映射地址到帐户 信息,主要是余额和(防止重播) 交易柜台。在这里放置账户可以实现一个目的:提供身份所拥有的记账服务 系统中的权益数量是多少。7 不过,会有显着差异: • 合约不能通过交易来部署;由于希望避免中继链上的应用程序功能,因此不会 支持合约的公开部署。 • 不计算计算资源使用量(“gas”); 因为唯一可供公众使用的功能 将被修复,天然气核算背后的基本原理 不再成立。因此,将收取固定费用 所有情况下,允许从任何情况下获得更多性能 可能需要完成的动态代码执行 以及更简单的交易格式。 • 列出的合约支持特殊功能,允许自动执行和网络消息输出。 如果中继链有一个虚拟机并且它是 基于 EVM,它将进行许多修改以确保最大程度的简单性。 很可能会 有许多内置合约(类似于 地址 Ethereum 中的 1-4)以允许特定于平台的 要管理的职责包括共识合同、 validator 合约和平行链合约。 如果不是 EVM,那么 WebAssembly [2] (wasm) 后端是最有可能的替代方案;在这种情况下总体 结构类似,但没有必要 以 Wasm 为可行目标的内置合约 适用于通用语言而不是不成熟的语言 以及 EVM 的有限语言。 与当前 Ethereum 协议的其他可能偏差也是很可能的,例如对 交易收据格式允许在同一块内并行执行非冲突交易, 正如针对 Serenity 系列变更所提议的那样。 尽管不太可能,但有可能出现类似宁静的情况 “纯”链被部署为中继链,允许 管理 staking token 等事物的特定合同 平衡而不是使其成为一个基本部分 链的协议。目前我们觉得这种可能性不大 将提供足够好的协议简化 值得承担额外的复杂性和不确定性 在开发它的过程中。 7作为代表特定持有人对系统整体安全负责的金额的一种方式,这些权益账户将 不可避免地编码了一些经济价值。然而,应该理解的是,由于无意将这些值用于 以任何方式交换现实世界的商品和服务,应相应注意的是 token 不能比作 货币和中继链保留了其关于应用的虚无主义哲学。Polkadot:异构多链框架的愿景 草案1 10 管理共识机制、validator 集、验证机制和平行链需要许多小功能。这些 可以在单一协议下一起实现。然而,出于模块化的原因,我们将这些描述为中继链的“合约”。这应该 被认为意味着它们是对象(在某种意义上 面向对象编程)由中继链的共识机制管理,但不一定 它们被定义为类似于 EVM 的操作码中的程序,也不 即使它们可以通过 帐户系统。 6.2.质押合约。该合约维护 validator 集。它管理: • 当前哪些帐户是validator; • 短期内可成为validators 通知; • 哪些账户已下注股权提名 validator; • 每个属性包括staking 数量、可接受的支付率和地址以及短期(会话)身份。 它允许帐户注册成为 保税 validator (及其要求),提名某些身份,并让先前存在的保税 validator 登记其退出此状态的愿望。它还 包括用于验证和规范化机制的机制本身。 6.2.1.股权-token 流动性。通常希望 拥有尽可能多的 staking token 总数 自从在网络维护操作中投入以来 这将网络安全与 staking token 的整体“市值”直接联系起来。这可以轻松地 通过货币膨胀并将收益分发给以 validators 身份参与的人来获得激励。然而,这样做会带来一个问题:如果 token 被锁在Stake合约中,受到减持惩罚,如何才能保留足够的大部分 流动性以便发现价格? 对此的一个答案是允许直接的衍生品合约,在基础质押的 token 上确保可替代的 token。这很难以无信任的方式进行安排。 此外,这些衍生品 token 不能受到同等对待,原因与不同欧元区政府的债券不可互换的原因相同: 是标的资产失败并成为的机会 毫无价值。对于欧元区政府来说,可能会有 默认。通过 validator 质押 token,validator 可能会 做出恶意行为并受到惩罚。 遵循我们的原则,我们选择最简单的解决方案:并非所有 token 都被质押。这意味着 token 的一定比例(可能是 20%)将强制保持液态。尽管从安全角度来看这并不完美,但它不太可能对安全产生根本性的影响。 网络的安全; 80% 的债券没收赔偿仍可得到 与 100% staking 的“完美情况”相比。 通过反向拍卖机制可以相当简单地确定质押和流动 token 之间的比率。 本质上,token 持有者有兴趣成为 validator 每个人都会向 staking 合同发布一份报价,说明 他们需要采取的最低支付率 部分。 在每次会议开始时(会议将 定期发生,也许每小时一次) validator 槽位将根据每个潜在的 validator 的股份和支付率。一种可能的算法 因为这将是接受那些出价最低的人 所代表的股份不高于目标股份总额 除以插槽数量,且不低于该数量一半的下限。如果槽位无法填满, 下限可以通过某个因子反复减小以满足。 6.2.2.提名。可以不信任地提名 staking tokens 到活跃的 validator,给他们 validator 的职责。提名作品 通过批准投票系统。每个潜在提名人都可以向 staking 合约发布指令 表达一个或多个 validator 身份 他们准备将责任托付给他们。 每届会议,提名人的债券都被分散到 由一个或多个 validator 表示。分散算法针对一组 validator 的等效总数进行优化 债券。提名人的债券由 validator a 负责并获得利益或遭受 相应减轻处罚。 6.2.3.债券没收/烧毁。某些 validator 行为会导致其债券受到惩罚性减少。如果 债券减少到允许的最低限度以下, 会议提前结束,另一个会议开始。应受惩罚的 validator 不当行为的非详尽清单包括: • 作为平行链团体的一部分,无法提供 对平行链区块有效性的共识; • 主动签署无效的有效性 平行链区块; • 之前无法提供出口有效负载 投票为可用; • 在共识过程中不活动; • 验证竞争分叉上的中继链区块。 某些不当行为会威胁到网络的完整性(例如签署无效的平行链区块和验证分叉的多个侧面),并因此通过债券的总量减少而导致有效的流放。在 其他不太严重的情况(例如,共识中不活跃) 过程)或无法精确分配责任的情况(作为无效群体的一部分),一小部分 债券的金额可能会被罚款。在后一种情况下,这 与子组流失配合良好,以确保恶意 节点遭受的损失比附带损坏的仁慈节点要大得多。 在某些情况下(例如多分叉验证和无效 子块签名)validators 本身无法轻易检测到彼此的不当行为,因为不断进行验证 分析每个平行链区块的任务太艰巨了。这里 需要争取外部各方的支持 验证和报告此类不当行为的验证过程。当事人因举报此类活动而获得奖励;他们的术语“渔民”源于不可能 的这样的奖励。 由于这些案件通常非常严重,我们预计任何奖励都可以轻松地从没收的债券中支付。 一般来说,我们更喜欢平衡燃烧 (即减少到零)通过重新分配,而不是 尝试大规模重新分配。这有以下效果:

Polkadot:异构多链框架的愿景 草案1 11 增加 token 的整体价值,补偿 在某种程度上,网络是一般性的,而不是特定的 参与发现的一方。 这主要是为了安全 机制:如果涉及的金额很大,可能会导致极端和剧烈的行为激励 授予单一目标。 一般来说,重要的是奖励足够大以使网络验证值得,但又不能大到抵消正面验证的成本。 资金充足、精心策划的“工业级”犯罪 对一些不幸的 validator 进行黑客攻击,以强制其行为不当。 这样一来,索赔的金额一般应该是没有的 大于错误 validator 的直接键,以免 行为不端和举报自己以获得赏金会产生不正当的激励。这可以明确地解决 通过最低直接债券要求成为 validator 或通过教育提名人隐含地表明,存入少量债券的 validator 没有很大的激励 表现良好。 6.3.平行链注册表。每个平行链的定义如下 这个注册表。它是一个相对简单的类似数据库的结构,并且保存静态和动态信息 每条链。 静态信息包括链索引(一个简单的 整数),以及验证协议身份, 区分不同类别的方法 平行链,以便可以使用正确的验证算法 由 validators 运行,负责提出有效的候选人。最初的概念验证将侧重于放置 将新的验证算法引入客户端本身,实际上每次都需要对协议进行硬分叉 添加了额外的链条类别。但最终, 可以在中指定验证算法 一种既严格又有效的方式,让客户 能够有效地使用新的平行链,而无需 硬分叉。一种可能的途径是指定 平行链验证算法采用完善的、 本机编译的、平台中立的语言,例如 WebAssembly。需要额外的研究来确定 这是否真的可行,但如果是的话,它可能会带来 随之而来的是消除硬分叉的巨大优势 永远。 动态信息包括交易路由系统的各个方面,这些系统必须具有全局协议,例如 作为平行链的入口队列(第 6.6 节中描述)。 注册表只能添加平行链 通过全民公决投票;这是可以管理的 内部,但更可能被放置在外部 公投合同,以促进重新使用 更一般的治理组件。参数为 投票要求(例如所需的任何法定人数、多数票 需要)用于注册附加链和其他, 不太正式的系统升级将在“主版本”中列出 宪法”,但很可能遵循相当传统的 路径,至少最初是这样。精确的公式是由 当前工作的范围,但是例如三分之二的绝对多数通过,超过整个系统的三分之一 积极投票可能是一个明智的起点。 其他操作包括暂停和删除平行链。 希望永远不会被暂停 发生,但它的设计目的是最少的保障 平行链的验证系统中存在一些棘手的问题。最明显的例子可能是 需要的是导致 validators 无法达成一致的实现之间的共识关键差异 有效性或块。鼓励验证者使用 多个客户端实现,以便他们能够 在没收债券之前发现此类问题。 由于暂停是紧急措施,因此 在动态 validator 投票的支持下 比公投。两者都可以恢复 来自 validators 或公投。 完全删除平行链只会发生 公投后,需要 相当长的宽限期,以允许有序过渡 要么是一个独立的链,要么成为其他链的一部分 共识系统。 宽限期可能是 几个月的顺序,并且可能会在平行链注册表中以每个链为基础进行设置,以便不同的 平行链可以根据情况享受不同的宽限期 他们的需要。 6.4.密封继电器块。密封本质上是指, 规范化过程;也就是一个基本数据 变换哪个将原作映射为根本上独特且有意义的东西。在 PoW 链下, 密封实际上是采矿的同义词。在我们的例子中, 它涉及收集 validators 就某项的有效性、可用性和规范性签署的声明 特定的中继链区块和平行链区块 它代表。 底层 BFT 共识算法的机制超出了当前工作的范围。 我们会 相反,使用原语来描述它,该原语假设 创造共识的状态机。最终我们期望 受到许多有希望的 BFT 共识的启发 核心算法; Tangaora [9] (BFT 变体 Raft [16])、Tendermint [11] 和 HoneyBadgerBFT [14]。 该算法必须并行地在多个平行链上达成一致,因此与通常的算法不同 blockchain 共识机制。我们假设有一次 达成共识,我们可以记录共识 任何人都可以提供无可辩驳的证据 其参与者。我们还假设不当行为 协议内通常可以减少到一个小的 包含行为不端的参与者的小组,以尽量减少 实施惩罚时的附带损害。8 证明采用我们签名声明的形式,一起放置在中继链区块的标头中 某些其他字段,尤其是中继链的状态树根和交易树根。 的 密封 过程 需要 地方 下 一个 单身 达成共识 机制 寻址 两者 的 中继链的区块和平行链的区块使得 转发部分内容:平行链不是由其子组单独“提交”然后整理的 稍后。这导致中继链的过程更加复杂,但允许我们在一个阶段完成整个系统的共识,最大限度地减少延迟并允许 对于相当复杂的数据可用性要求 对下面的路由过程有帮助。 8现有的基于 PoS 的 BFT 共识方案(例如 Tendermint BFT 和原始的 Slasher)满足了这些断言。

Polkadot:异构多链框架的愿景 草案1 12 每个参与者共识机的状态可能 被建模为一个简单的(二维)表。每个参与者 (validator) 都有一组信息,格式为 来自其他参与者的关于每个平行链候选块以及中继链候选块的签名声明(“投票”)。该组信息有两部分 数据: 可用性: 确实 这个 validator 有 出口 来自该块的交易发布信息 他们能够在下一个区块上正确验证平行链候选者吗?他们可能会投票 1(已知)或 0(未知)。一旦他们 投票 1,他们承诺同样投票给 这个过程的其余部分。后来的投票没有 尊重这一点是惩罚的理由。 有效性:平行链区块是否有效,是否全部 外部参考数据(例如 交易) 可用吗?这仅与分配给其投票的平行链的 validator 相关。 他们可以投票 1(有效)、-1(无效)或 0 (尚不清楚)。一旦他们投票非零,他们 致力于以这种方式为其余的人投票 的过程。后来的投票不尊重这一点 是惩罚的理由。 所有 validator 必须提交投票;符合上述规则的投票可以重新提交。的进展 共识可以建模为并行发生的每个平行链上的多个标准 BFT 共识算法。由于这些可能会受到相对 少数恶意行为者集中在 单个平行链组,存在总体共识 建立后盾,限制最坏情况的发生 死锁仅限于一个或多个无效平行链区块(以及 对相关责任人进行一轮处罚)。 The basic rules for validity of the individual blocks (这使得 validator 的总集合作为一个整体来达到 一致认为它成为唯一的平行链候选者 从规范继电器中引用): • 必须有至少三分之二的validator 投票赞成,且无投票反对; • 必须有超过三分之一的validator 对出口队列信息的可用性进行积极投票。 如果对有效性有至少一票赞成票和至少一票反对票,则创建特殊条件 并且整个 validator 集合必须投票决定 如有恶意或意外 叉子。除了有效票和无效票之外,还有第三种票 被允许,相当于投票给两者,这意味着 节点有相互矛盾的意见。这可能是由于 节点的所有者运行多个实现,这些实现 not agree, indicating a possible ambiguity in the protocol. 从完整的 validator 集中计算所有选票后,如果 失败的意见至少有一小部分(到 被参数化;最多一半,也许少得多) 获胜意见的票数,那么假设 be an accidental parachain fork and the parachain is automatically suspended from the consensus process. Otherwise, we assume it is a malicious act and punish the minority who were voting for the dissenting opinion. The conclusion is a set of signatures demonstrating 规范性。然后可以密封中继链区块 并开始密封下一个区块的过程。 6.5.密封继电器块的改进。同时 this sealing method gives strong guarantees over the system’s operation, it does not scale out particularly well 因为每条平行链的关键信息都必须有其 availability guaranteed by over one-third of all validators. This means that every validator’s responsibility footprint 随着更多连锁店的添加而增长。 While data availability within open consensus networks 本质上是一个未解决的问题,有一些方法可以减轻 validator 节点上的开销。一个简单的 solution is to realise that while validators must shoulder the responsibility for data availability, they need not actually store, communicate or replicate the data themselves. Secondary data silos, possibly related to (or even the very same) collators who compile this data, may manage the task of guaranteeing availability with the validators providing a portion of their interest/income in payment. However, while this might buy some intermediate scalability, it still doesn’t help the underlying problem;自从 添加更多链通常需要额外的 validators,持续的网络资源消耗(特别是在带宽方面)随着 的链条,从长远来看是难以维持的财产。 最终,我们可能会不断地摇头 反对基本限制,即 一个被认为可用安全的共识网络, 持续的带宽需求是总带宽的数量级 validators 次输入信息总量。这是由于 不受信任的网络无法在许多节点之间正确分配数据存储任务,这就是 除了明显可分配的处理任务之外。 6.5.1.引入延迟。软化这种情况的一种方法 规则是放松即时性的概念。 通过仅最终而不是立即要求 33%+1 validators 对可用性进行投票,我们可以更好地利用指数数据传播并帮助平衡数据交换的峰值。 合理的平等(尽管未经证实) 可能是: (1) 延迟=参与者×链 在当前模型下,系统规模可扩展 与链的数量,以确保处理是 分布式;因为每个链至少需要一个 validator 并且我们将可用性证明固定为一个常量 validators 的比例,那么参与者同样会增长 与链的数量。我们最终得到: (2) 延迟 = 大小2 这意味着随着系统的增长,整个系统都知道可用性所需的带宽和延迟 网络,也可以表征为数字 最终确定之前的区块数量随其平方增加。这是 一个重要的增长因素,可能会成为一个显着的障碍,迫使我们进入“非扁平”范式 比如将几个“Polkadotes”组成一个层次结构 用于通过中继链树对帖子进行多级路由。

Polkadot:异构多链框架的愿景 草案1 13 6.5.2.公众参与。又一个可能的方向 是通过一种方式让公众参与这一过程 微投诉系统。和渔民一样, 可能是外部人士对声称的 validator 进行监管 可用性。 他们的任务是找到一个似乎无法表现出这种可用性的人。 在这样做的过程中,他们 可以向其他 validator 提出微投诉。工作量证明或 质押债券可用于减轻女巫攻击 这将使该系统基本上毫无用处。 6.5.3.可用性保证人。最终路线是 指定第二组保税 validator 作为“可用性” 担保人”。这些将像普通的 validator 一样进行绑定,甚至可以取自同一组 (尽管如果是这样,他们将在长期内被选择,至少在每次会议中)。与正常的 validator 不同,它们 不会在平行链之间切换,而是会 组成一个小组来证明所有重要的链间数据的可用性。 这样做的好处是放宽了参与者和链之间的等价性。 本质上,链条可以 增长(与原始链 validator 集一起),而 参与者,特别是那些参与数据可用性测试的人,可以至少保持亚线性 并且很可能是恒定的。 6.5.4.校对者偏好。这其中的一个重要方面 系统的目的是确保有一个健康的选择 整理者在任何给定的平行链中创建区块。如果一个 单个整理者主导了一条平行链,然后发生了一些攻击 变得更加可行,因为缺乏的可能性 外部数据的可用性不太明显。 一种选择是对平行链区块进行人工加权 一种伪随机机制,以支持各种整理者。在第一种情况下,我们需要 作为 validator 青睐的共识机制的一部分 平行链候选区块被确定为“更重”。 同样,我们必须激励 validators 尝试 建议他们能找到的最重的块——这可能是 通过将一部分奖励与候选人的体重成比例来完成。 确保给予整理者合理的公平 他们的候选人被选为获胜者的机会 在协商一致的候选人中,我们给出了一个特定的权重 平行链区块候选由与每个收集者连接的随机函数确定。 例如,采取 整理者地址之间的 XOR 距离度量 和一些加密安全的伪随机数 确定在靠近正在创建的块的点处 (名义上的“中奖彩票”)。这有效地为每个 整理者(或者更具体地说,每个整理者的地址) 他们的候选区块“获胜”的随机机会 所有其他人。 为了减轻单个核对者“挖掘”靠近中奖彩票的地址的女巫攻击,从而 对于每个最喜欢的块,我们都会为整理者的地址添加一些惯性。这可能就像要求他们一样简单 地址中有基准资金量。一个更多 优雅的方法是权衡与 中奖彩票的金额与停放在 有问题的地址。虽然模型还没有完成, 这种机制很可能甚至可以使非常 小利益相关者作为整理者做出贡献。 6.5.5。超重块。如果 validator 集合受到损害,他们可能会创建并提出一个块,尽管 有效,需要大量时间来执行并且 验证。这是一个问题,因为 validator 组可能 合理地形成一个块需要很长时间 执行,除非已知某些特定信息,允许走捷径,例如因式分解大 总理。 如果单个整理者知道该信息,那么 他们在拥有自己的产品方面将拥有明显的优势 只要其他人忙于处理旧区块,候选人就会接受。我们称这些块为超重。 针对 validator 提交和验证这些块的保护很大程度上与 无效块,但有一个额外的警告:因为 执行一个块所花费的时间(因此它的状态为 超重)是主观的,投票的最终结果 不当行为基本上可分为三个阵营。一 可能性是该块绝对没有超重—— 在这种情况下,超过三分之二的人宣称他们可以 在一定限制内执行块(例如块之间允许的总时间的 50%)。 另一个是 块是d绝对超重——如果超过 三分之二的人声明他们无法执行该块 在上述限度内。 最后一种可能性是相当平等的 validator 之间存在意见分歧。在这种情况下,我们可以 选择做一些相应的惩罚。 确保 validators 能够预测它们何时会出现 提议超重区块时,要求他们发布每个区块的性能信息可能是明智的。在足够长的时间内, 这应该允许他们分析他们的处理速度 相对于评判他们的同行。 6.5.6。整理者保险。 validators 仍存在一个问题: 与 PoW 网络不同,检查整理者的 为了保证区块的有效性,他们必须实际执行其中的交易。恶意整理者可以向 validator 提供无效或超重的块,导致他们悲伤(浪费 他们的资源)并要求潜在的巨大机会成本。 为了缓解这个问题,我们提出了一个简单的策略 validators 的一部分。首先,平行链候选区块发送 至 validators 必须由中继链账户签名 有资金;如果不是,那么 validator 应该下降 立即吧。其次,这些候选者应该通过组合(例如乘法)进行优先排序 帐户中的资金金额达到一定上限, 整理者过去成功提议的先前区块的数量(更不用说任何先前的区块) 惩罚),以及与获胜者的接近因素 如前所述。帽子应该是一样的 作为本案中向 validator 支付的惩罚性赔偿 其中发送了无效块。 为了阻止整理者向 validator 发送无效或超重的区块候选者,任何 validator 都可以 在下一个区块中放置一项交易,其中包括涉嫌不当行为的违规区块,其结果是转移行为不当的整理者的部分或全部资金 向受害人 validator 负责。 这种类型的交易优先于任何其他交易,以确保整理者无法 在处罚前移走资金。金额 作为损害赔偿转移的资金仍是一个动态参数

Polkadot:异构多链框架的愿景 草案1 14 进行建模,但可能是 validator 区块奖励的一部分,以反映造成的悲伤程度。至 为了防止恶意 validator 任意没收整理者的资金,整理者可以对 validator 的决定提出上诉,并由随机选择的 validator 组成的陪审团作为回报 用于存入小额存款。 如果他们发现 validator 对他们有利,则押金将被他们消耗。如果没有,则 押金被退回,validator 被罚款(因为 validator 处于更加拱形的位置,罚款将 可能相当重)。 6.6.跨链 交易 路由。跨链 交易路由是必不可少的维护之一 中继链及其 validator 的任务。 这是 控制已发布交易(通常简称为“发布”)如何成为所需输出的逻辑 从一个源平行链到成为另一个目标平行链的不可协商的输入,无需任何信任 要求。 我们仔细选择了上面的措辞;尤其是我们 不要求源中存在交易 平行链明确批准了这篇文章。唯一的 我们对模型施加的约束是平行链 必须提供,打包为整体块的一部分 处理输出,帖子是结果 块的执行。 这些帖子被构造为几个 FIFO 队列;的 列表的数量称为路由基础,可以是 16 左右。值得注意的是,这个数字代表的是数量 我们无需求助即可支持的平行链数量 多阶段路由。最初,Polkadot 将支持此 一种直接路由,但是我们将概述一种可能的 多阶段路由过程(“超级路由”)作为一种手段 远远超出最初的一组平行链。 我们 假设 那个 全部 参与者 知道 的 接下来的两个块 n, n + 1 的子组。总而言之, 路由系统遵循以下阶段: • CollatorS:验证者的联系成员[n][S] • 整理者:对于每个子组:确保 至少 1 名 V 验证者[n][s] 成员保持联系 • 整理者: 对于每个子组: 假设 egress[n −1][s][S] 可用(所有传入帖子 数据从最后一个块到“S”) • 整理者: 为 S 构建候选块 b: (b.标头、b.ext、b.proof、b.receipt、b.egress) • 整理者: 发送 证明 信息 证明[S] = (b.header, b.ext, b.proof, b.receipt) 到 验证器[n][S] • CollatorS:确保外部交易数据b.ext 可供其他整理者和 validators 使用 • 整理者: 为 每个 子群 s: 发送 出口 信息 出口[n][S][s] = (b.标头、b.收据、b.出口[s]) 到 的 接收 子组的 会员 的 下一个 块 验证器[n + 1][s] • ValidatorV:预连接所有同组成员 对于下一个块:让 N = Chain[n + 1][V ];连接 所有 validators v 使得 Chain[n + 1][v] = N • 验证器V: 为此整理所有数据入口 块: 为 每个 子群 s: 检索 egress[n −1][s][Chain[n][V ]],从其他 validators v 获取,使得 Chain[n][v] = Chain[n][V ]。 可能会通过随机选择的其他 validator 作为尝试证明。 • 验证器V: 接受候选人的证明 区块证明[Chain[n][V]]。投票块有效性 • 验证器V: 接受候选出口数据 下一个块: 对于每个子组,接受 出口[n][s][N]。投票区块出口可用性;在感兴趣的 validators v 中重新发布,以便 链[n + 1][v] = 链[n + 1][V ]。 • 验证器V:直到达成共识 其中: egress[n][from][to] 是当前的出口队列 从平行链‘from’到的帖子信息 平行链“to”位于区块号“n”中。 Collat​​orS 是平行链 S 的整理者。Validators[n][s] 是区块编号 n 处平行链 s 的 validators 集合。相反, Chain[n][v] 是在区块号 n 上分配 validator v 的平行链。 block.egress[to] 是出口 来自某个平行链区块的帖子队列,其 目的地平行链是 to。 由于整理者收取(交易)费用是基于 他们的区块成为规范,他们受到激励 确保对于每个下一个块目的地,子组的 成员被告知当前的出口队列 块。验证者只会被激励在(平行链)区块上达成共识,因此他们很少关心 哪个整理者的区块最终成为规范。在 原则上,validator 可以与整理者结盟,并合谋减少其他整理者的机会 区块成为规范,但这都很困难 由于随机选择而安排validators 的作用 平行链,并且可以通过减少维持平行链区块的应付费用来防御 共识过程。 6.6.1.外部数据可用性。确保平行链的 外部数据实际上可用是一个长期存在的问题 去中心化系统旨在将工作负载分配给 网络。问题的核心是可用性 问题指出,因为不可能 进行非交互式可用性证明或任何类型的证明 不可用性的证明,以便 BFT 系统正确地 验证其正确性依赖于的任何转换 一些外部数据的可用性,最大数量 系统中可接受的拜占庭节点数,再加上一个 必须证明数据可用。 对于正确扩展的系统,例如 Polkadot,这 引发一个问题:如果 validators 的比例恒定 必须证明数据的可用性,并假设 validators 在断言数据可用之前想要实际存储数据,那么我们如何避免 带宽/存储需求随着系统规模(以及 validator 数量)的增加而增加的问题?一个可能的答案是拥有一套单独的 validators(可用性保证人),其订单不断增长 与 Polkadot 的整体大小呈次线性关系。这是 6.5.3 中描述。 我们还有第二个技巧。 作为一个群体,整理者有一种内在的动机来确保所有数据都是正确的 可用于他们选择的平行链,因为没有它他们 无法创作更多的区块 收取交易费用。收集者也形成一个团体,其成员是多种多样的(由于随机性) 平行链 validator 组)的输入并不简单且简单

Polkadot:异构多链框架的愿景 草案1 15 来证明。因此,最近的整理者(也许是最后几千个区块)被允许向 特定平行链的外部数据的可用性 阻止 validators 以获得少量债券。 验证者必须联系那些来自明显违规的 validator 小组的作证者,要么获取数据并将其返回给整理者,要么升级 通过证明缺乏可用性来解决问题(直接拒绝提供数据将被视为没收债券的罪行,因此行为不当的 validator 可能只是 断开连接)并联系其他 validators 运行相同的测试。在后一种情况下,整理人的保证金 被返回。 一旦达到可以做出此类不可用性证明的 validator 的法定人数,他们就会被释放, 行为不当的子组会受到惩罚,并且区块会被恢复。 6.6.2.帖子路由。每个平行链标头都包含一个 出口特里树根;这是包含以下内容的 trie 的根 路由基础 bin,每个 bin 都是一个串联列表 出口职位。 Merkle 证明可以跨 平行链 validators 来证明特定平行链的 区块对于特定的目标平行链有一个特定的出口队列。 在处理平行链区块开始时,每个 其他平行链的出口队列绑定到该块是 合并到我们块的入口队列中。我们假设强, 可能是 CSPR9,子块排序以实现确定性操作,在任何操作之间都没有偏袒 平行链区块配对。整理者计算新队列 并根据平行链排出出口队列 逻辑。 显式写入入口队列的内容 进入平行链区块。 这样做有两个主要目的: 首先,这意味着平行链可以与其他平行链隔离地进行无需信任的同步。其次, 它简化了整个入口的数据逻辑 队列无法在单个块中处理; validators 和整理者能够处理以下块 无需专门获取队列的数据。 如果平行链的入口队列高于阈值 块处理结束时的金额,然后对其进行标记 中继链饱和,无法再发送任何消息 交付给它,直到它被清除为止。 默克尔证明是 用于证明整理者操作的保真度 平行链区块的证明。 6.6.3.批判。与此基本相关的一个小缺陷 机制是炸弹后攻击。 这就是所有 平行链发送尽可能多的帖子 到特定的平行链。虽然这会限制目标的 立即进入队列,不会造成任何损坏 标准事务 DoS 攻击。 运行正常,具有一组良好同步和 非恶意收集者和 validators,对于 N 个平行链, 每个平行链共有 N × M validator 和 L 个整理者,我们 可以将每个块的总数据路径分解为: 验证者:M −1+L+L:其他 validator 为 M −1 在平行链集合中,L 代表每个提供候选平行链区块的收集者,第二个 L 代表每个收集者 下一个块需要前一个块的出口有效负载。 (后者实际上更像是最坏情况 操作,因为整理者很可能会共享此类 数据。) Collator: M +kN: M 用于连接到每个相关的 平行链块 validator,kN 用于将出口有效负载播种到每个平行链 validator 组的某个子集 下一个区块(可能还有一些受青睐的整理者)。 因此,每个节点的数据路径呈线性增长 与系统的整体复杂性。虽然这是 合理的,当系统扩展到数百或数千条平行链时,可能会出现一些通信延迟 吸收以换取较低的复杂性增长率。 在这种情况下,可以使用多阶段路由算法 为了减少瞬时路径的数量 以引入存储缓冲区和延迟为代价。 6.6.4.超立方体路由。超立方体路由是一种机制,主要可以作为对 基本路由机制如上所述。 本质上, 我们不是通过平行链和子组节点的数量来增加节点连接性,而是仅通过 平行链的对数。帖子可能会在以下之间传输 几个平行链的队列正在等待最终交付。 路由本身是确定性的且简单的。我们从 限制入口/出口队列中的垃圾箱数量; 它们不是平行链的总数,而是 是路由基础 (b) 。这将被固定为数字 平行链的数量发生了变化,路由指数 (e) 反而被提高。在这个模型下,我们的消息量 随着 O(be) 增长,路径保持不变 和延迟(或交付所需的块数) 与 O(e)。 我们的路由模型是 e 维的超立方体, 立方体的每一面都有 b 个可能的位置。 每个块,我们沿着单个轴路由消息。我们 以循环方式交替轴,从而保证 e 块在最坏情况下的交付时间。 作为平行链处理的一部分,国外绑定 在入口队列中找到的消息将立即路由到适当的出口队列的容器,给定 当前块号(以及路由尺寸)。这个 过程需要为每一跳进行额外的数据传输 在送货路线上,但这本身就是一个问题 可以通过使用一些替代方法来缓解 数据有效负载传输并且仅包括参考, 而不是 post-trie 中帖子的完整有效负载。 此类系统超立方体路由的示例 对于 4 个平行链,b = 2 且 e = 2 可能是: 阶段 0,在每条消息 M 上: • sub0: 如果 Mdest ∈{2, 3} 则 sendTo(2) 否则保留 • sub1: 如果 Mdest ∈{2, 3} 则 sendTo(3) 否则保留 • sub2:如果 Mdest ∈{0, 1} 则 sendTo(0),否则保留 • sub3:如果 Mdest ∈{0, 1} 则 sendTo(1),否则保留 第 1 阶段,在每条消息 M 上: • sub0:如果 Mdest ∈{1, 3} 则 sendTo(1),否则保留 • sub1:如果 Mdest ∈{0, 2} 则 sendTo(0),否则保留 • sub2:如果 Mdest ∈{1, 3} 则 sendTo(3),否则保留 • sub3:如果 Mdest ∈{0, 2} 则 sendTo(2),否则保留 这里的两个维度很容易看出,就像第一个维度一样 目标索引的两位;对于第一个块, 单独使用高阶位。 第二块交易 与低位。一旦两者都发生(任意 order)然后帖子将被路由。 9加密安全的伪随机

Polkadot:异构多链框架的愿景 草案1 16 6.6.5。最大化偶然性。基本的一处改动 提案将看到 c2 −c validators 的固定总数,其中 每个子组中有 c−1 validators。每个块,而不是 validators 存在非结构化重新分区 在平行链之间,而不是对于每个平行链子组, 每个 validator 将被分配给一个唯一且不同的 以下区块上的平行链子组。这会 导致任意两个块之间的不变性,对于任意 两对平行链,存在两个 validator 交换了平行链的职责。虽然这不能用于获得可用性的绝对保证 (单个 validator 有时会掉线,即使 仁慈的),但它仍然可以优化一般情况。 这种方法并非没有并发症。添加平行链也需要进行重组 validator 组的。此外,validator 的数量与平行链数量的平方相关, 最初会很小,最终会长得很远 太快了,大约 50 个平行链后就变得难以维持。 这些都不是根本问题。在第一种情况下, validator 集的重组是必须的 无论如何,定期进行。关于 validator 的大小 设置,当太小时,可能会分配多个 validator 对于同一个平行链,将整数因子应用于 总计 validators。 6.6.4 中讨论的多阶段路由机制(例如超立方路由)将 减轻对大量 validator 的要求 当链条数量较多时。 6.7.平行链验证。 validator 的主要目的 是作为一个关系良好的参与者来证明平行链的 区块有效,包括但不限于任何状态转换、任何外部交易、执行 入口队列中的任何等待帖子和最终状态 出口队列的。 这个过程本身相当简单。 一旦 validator 密封了前一个区块,它们就自由了 开始努力提供候选平行链区块 下一轮共识的候选人。 最初,validator 通过平行链整理器(如下所述)或一个找到平行链区块候选者 其共同validators。平行链区块候选数据 包括块的标头、前一个块的标头, 包括任何外部输入数据(对于 Ethereum 和 Bitcoin,此类数据将被称为事务,但原则上它们可以包括用于任意目的的任意数据结构)、出口队列数据和内部数据以证明状态转换有效性(对于 Ethereum 这将是执行每个事务所需的各种状态/存储特里节点)。 实验证据显示了最近 Ethereum 区块的完整数据集 最多几百 KiB。 同时,如果尚未完成,validator 将是 尝试检索与前一个块的转换有关的信息,最初是从前一个块的 validators 及之后所有 validators 签署 数据的可用性。 一旦 validator 收到这样的候选块, 然后他们在本地验证它。验证过程包含在平行链类的 validator 模块中, 必须编写的共识敏感软件模块 对于 Polkadot 的任何实现(尽管原则上 具有 C ABI 的库可以使单个库能够 与适当的实现之间共享 由于只有一个“参考”实施而导致安全性降低)。 该过程获取前一个块的标头并通过最近商定的中继链验证其身份 应记录其 hash 的块。一旦确定了父标头的有效性,特定的平行链 可以调用类的验证函数。这是一个接受多个数据字段(大致为 那些之前给出的)并返回一个简单的布尔值 宣告区块的有效性。 大多数此类验证函数将首先检查 可以直接派生的头字段 父块(例如父块 hash,编号)。正在关注 这样,他们将填充任何内部数据结构 处理交易和/或过账所必需的。 对于类似 Ethereum 的链,这相当于填充 包含所需节点的 trie 数据库 交易的全面执行。其他链条类型可能有 其他p修复机制。 完成后,入口帖子和外部交易(或外部数据代表的任何内容)将被 根据链的规范制定、平衡。 (一 明智的默认设置可能是要求所有入口帖子 在提供外部交易服务之前进行处理,但这应该由平行链的逻辑来决定。) 通过这项立法,一系列出口岗位将被 创建并且将验证它们确实匹配 整理者的候选人。最后,正确填充 标题将与候选人的标题进行检查。 有了经过充分验证的候选块,validator 然后可以对其标头的 hash 进行投票,并将所有必需的验证信息发送到其子组中的 co-validator。 6.7.1.平行链整理者。平行链整理者是无约束的运营商,他们完成了矿工的大部分任务 在当今的 blockchain 网络上。它们是具体的 到特定的平行链。为了运作,他们必须 保持中继链和完全同步 平行链。 “完全同步”的确切含义将取决于平行链的类别,但始终包括平行链入口队列的当前状态。 在 Ethereum 的情况下,它还至少涉及维护 最后几个区块的默克尔树数据库,但可能 还包括各种其他数据结构,包括 Bloom 过滤帐户存在、家庭信息、日志记录 块号的输出和反向查找表。 除了保持两条链同步之外,它 还必须通过维护交易队列并接受经过正确验证的交易来“钓鱼”交易 来自公共网络。有了队列和链,就是 能够为每个区块选择的 validator 创建新的候选区块(由于中继链已同步,其身份是已知的),并将它们与 各种辅助信息,例如有效性证明,通过 对等网络。 为了避免麻烦,它收取与其所包含的交易相关的所有费用。各种经济学都围绕这个展开 安排。在竞争激烈的市场中 整理者有剩余,有可能交易 与平行链 validators 共享费用以激励 包含特定整理者的块。 相似地,

Polkadot:异构多链框架的愿景 草案1 17 号 一些整理者甚至可能会提高所需的费用 为了使该区块更具吸引力而支付 validators。 在这种情况下,就应该形成一个自然市场 支付更高费用的交易无需排队 并更快地融入链条中。 6.8。联网。传统 blockchain 上的网络 像 Ethereum 和 Bitcoin 有相当简单的要求。 所有交易和区块都以简单的无向八卦形式广播。同步涉及的比较多,尤其是 与 Ethereum 但实际上这个逻辑包含在 对等策略而不是协议本身,它围绕一些请求和应答消息类型进行解析。 虽然 Ethereum 通过 devp2p 协议在当前协议产品上取得了进展,这使得许多 子协议在单个对等连接上复用,因此具有相同的对等覆盖支持许多 同时使用 p2p 协议,Ethereum 部分 协议仍然相对简单,p2p 协议暂时尚未完成,其中有重要内容 缺少 QoS 支持等功能。可悲的是,创建一个更普遍的“web 3”协议的愿望在很大程度上 失败了,唯一使用它的项目是那些明确的项目 由 Ethereum 众筹资助。 Polkadot 的要求相当严格。而不是一个完全统一的网络,Polkadot 有多种类型的参与者,每种类型对其同伴构成和多个网络都有不同的要求 参与者倾向于谈论的“途径” 特定数据。这意味着一个更加结构化的网络覆盖——以及支持该网络的协议—— 可能是必要的。此外,可扩展性可以促进未来的添加,例如新型“链” 它们本身需要一种新颖的覆盖结构。 在深入讨论如何网络化的同时 协议可能看起来超出了本文档的范围,但某些需求分析是合理的。我们可以 粗略地将我们的网络参与者分为两组 (中继链、平行链)三个子集中的每一个。我们可以 还声明每个平行链参与者都只是 对彼此之间的交谈感兴趣,而不是 其他平行链的参与者: • 中继链参与者: • 验证者: P,分成子集 P[s],每个 平行链 • 可用性保证人:A(这可以由协议基本形式中的验证人表示) • 中继链客户端: M(注意每个成员 平行链集合也往往是 M 的成员) • 平行链参与者: • 平行链整理者:C[0]、C[1]、。 。 。 • 平行链渔民:F[0]、F[1]、。 。 。 • 平行链客户端:S[0]、S[1]、。 。 。 • 平行链轻客户端:L[0]、L[1]、。 。 。 一般来说,我们命名特定类别的通信 往往会发生在这些集合的成员之间: • P |一个 <-> 普 |答: 的 满 设置 的 validators/担保人 必须 是 人脉广泛 到 达成共识。 • P[s] <-> C[s] | P[s]:每个 validator 作为给定平行链组的成员都会倾向于八卦 与其他此类成员以及整理者 该平行链的发现和共享候选块。 • A <-> P[s] | C | A:每个可用性保证人 需要收集共识敏感的跨链 来自分配给它的 validator 的数据;整理者 也可能会优化他们达成共识的机会 通过将其广告给可用性保证人来阻止。 一旦他们获得了数据,数据将被分配给 其他此类担保人以促进达成共识。 • P[s] <-> A | P[s']:平行链 validators 将 需要从前一组 validator 或可用性保证人收集额外的输入数据。 • F[s] <-> P:报告时,渔民可以将 向任何参与者提出索赔。 • M <-> M |普 |答:一般中继链客户端从 validator 和担保人那里分配数据。 • S[s] <-> S[s] | P[s] |答:平行链客户从 validator/担保人分配数据。 • L[s] <-> L[s] | S[s]:平行链轻客户端 分配来自完整客户的数据。 为确保高效的运输机制,“扁平化” 覆盖网络 - 就像 Ethereum 的 devp2p - 其中每个 节点不会(非任意地)区分其适应度 同行不太可能适合。一个合理可扩展的 对等选择和发现机制可能需要 包含在协议中以及积极的 规划前瞻性以确保正确的同行类型 是“偶然”连接在正确的时间进行了治疗。 对于每一类参与者,同伴组成的精确策略将有所不同:为了适当地横向扩展 多链,整理者要么需要连续 重新连接到相应选择的 validators,或者将 需要与 validator 的子集达成持续协议 以确保它们在绝大多数时间内不会断开连接,因为它们对于 validator 毫无用处。整理者自然也会尝试维护一个 或更稳定的连接到可用性保证人 旨在确保其共识敏感的迅速传播 数据。 可用性保证人的主要目标是维持 彼此之间以及与 validators 的稳定连接(用于共识以及对共识至关重要的平行链数据 他们证明),以及一些整理者(对于平行链 数据)和一些渔民和完整的客户(用于分散 信息)。验证者会倾向于寻找其他 validator,特别是那些在同一子组中的以及任何 可以为他们提供平行链候选区块的整理者。 渔民,以及一般中继链和平行链 客户通常会致力于保持连接开放 validator 或担保人,但还有很多其他类似的节点 否则对他们自己来说。平行链轻客户端同样致力于连接到平行链的完整客户端, 如果不仅仅是其他平行链轻客户端。 6.8.1.同行流失问题。在基本协议提案中,每个子集随着分配给验证的 validators 不断随机改变每个块 平行链转换是随机选择的。这个可以 不同(非对等)节点需要 相互之间传递数据。一个人必须要么依赖 一个公平分布且连接良好的对等网络

Polkadot:异构多链框架的愿景 草案1 18 确保跳跃距离(以及最坏情况下的延迟)仅随着网络大小的对数而增长 (类似 Kademlia 的协议 [13] 可能会有所帮助),或者必须 引入更长的阻塞时间,以允许进行必要的连接协商,以保持对等组 反映节点当前的通信需求。 这些都不是很好的解决方案:阻塞时间长 强制网络可能会使其无用 特定的应用程序和链条。即使是完全公平的 和连接的网络将导致大量的浪费 由于不感兴趣的节点具有扩展带宽 转发对他们无用的数据。 虽然两个方向都可能构成解决方案的一部分, 合理的优化有助于最大限度地减少延迟 是为了限制这些平行链validator的波动性 集,或者仅在一系列块之间重新分配成员资格(例如,以 15 个为一组,在 4 秒后 阻塞时间意味着每次只改变一次连接 分钟)或以增量方式轮换成员资格,例如一次由一名成员更改(例如,如果有 为每个平行链分配了 15 个 validator,那么平均而言,完全唯一的之间将需要整整一分钟的时间 集)。通过限制对等点的流失量,并确保有利的对等点连接在 通过平行链的部分可预测性取得进展 集,我们可以帮助确保每个节点永久保留 偶然选择的同伴。 6.8.2.有效网络协议的路径。很可能是 最有效和合理的开发工作将集中于利用预先存在的协议而不是滚动 我们自己的。 存在多种点对点基本协议 我们可以使用或增强包括 Ethereum 自己的 devp2p [22]、IPFS 的 libp2p [1] 和 GNU 的 GNUnet [4]。对这些协议及其与构建 支持某些结构保证、动态对等引导和可扩展子协议的模块化对等网络 远远超出了本文档的范围,但将是一个 实施 Polkadot 的重要一步。 7. 议定书的实用性 7.1.链间交易支付。虽然一个伟大的 通过放弃对像 Ethereum 的 Gas 这样的整体计算资源核算框架的需求,可以获得大量的自由和简单性,这确实提出了一个重要的问题:没有 Gas,一条平行链如何运作? 避免另一个平行链强迫它进行计算?虽然我们可以依赖事务后入口队列 缓冲区以防止一条链向另一条链发送垃圾邮件 交易数据,协议没有提供等效机制来防止交易处理的垃圾邮件。 这是留给上级的问题。自连锁 可以自由地将任意语义附加到传入的 交易后数据,我们可以确保计算 必须在开始前付款。与此类似 Ethereum Serenity所拥护的模型,我们可以想象 平行链内的“闯入”合约允许 validator 保证付款以换取 提供特定数量的处理资源。 这些资源可以用天然气之类的东西来衡量, 但也可能是一些全新的模型,例如主观执行时间或类似 Bitcoin 的固定费用模型。 就其本身而言,这并不是那么有用,因为我们不能轻易假设链外调用者可以使用它们 闯入所识别的任何价值机制 合同。然而,我们可以想象源链中存在二次“突破”合约。两份合同共同构成一座桥梁,相互承认并 提供价值对等。 (质押-tokens,可用于 每一个都可以用来结算国际收支。) 调用另一个这样的链将意味着代理 通过这座桥,这将提供 协商链之间的价值转移,以便 支付目标平行链上所需的计算资源。 7.2.附加 链子。同时 的 加法 的 一个 平行链是一种相对便宜的操作,它不是免费的。 更多平行链意味着每个平行链更少的 validator 最终,会产生大量 validator,每个都有一个 平均债券减少。虽然攻击平行链的强制成本较小的问题可以通过 渔民们,不断增长的 validator 组本质上迫使 由于底层共识的机制,延迟程度较高方法。此外,每个平行链 它有可能使 validators 悲伤 过于繁琐的验证算法。 因此,将会有一些“价格”,validators 和/或利益相关团体将提取 添加新的平行链。这个连锁市场将 可能会看到添加以下任一内容: • 可能净贡献为零的链(就锁定或燃烧 staking token 而言)将成为其中的一部分(例如联盟链、 Doge 链、特定于应用程序的链); • 为网络提供内在价值的链 通过添加特定的功能困难 到其他地方(例如保密性、内部可扩展性、服务捆绑)。 从本质上讲,利益相关者社区需要 被激励添加子链——无论是经济上还是 通过向中继添加功能链的愿望。 预计新添加的连锁店将具有非常大的 拆除通知期很短,允许新的连锁店 进行试验,没有任何妥协的风险 中期或长期价值主张。 八、结论 我们已经概述了人们可以采取的方向来创作 可扩展的异构多链协议,具有向后兼容某些预先存在的潜力 blockchain 网络。在这样的协议下,参与者 本着开明的自身利益创建一个整体系统,该系统可以以极其自由的方式进行扩展,并且无需为现有用户支付通常的成本 来自标准 blockchain 设计。我们已经给了 所需架构的粗略轮廓,包括 参与者的性质,他们的经济动机 以及他们必须参与的流程。我们有 确定了基本设计并讨论了其优点和 限制;因此我们有进一步的指示 可以缓解这些限制,并进一步为完全可扩展的 blockchain 解决方案奠定基础。Polkadot:异构多链框架的愿景 草案1 19 8.1.缺少材料和悬而未决的问题。协议的不同实现始终有可能导致网络分叉。从这样的情况中恢复 没有讨论特殊情况。鉴于网络必然有一个非零的终结周期, 从中继链分叉中恢复应该不是一个大问题,但是需要仔细集成 共识协议。 债券没收和相反的奖励规定 没有被深入探讨。目前我们假设奖励 在赢家通吃的基础上提供:这可能不会 为渔民提供最佳的激励模式。短期的提交-披露过程将允许许多渔民 为了获得更公平的奖励分配奖品, 然而,该过程可能会导致额外的延迟 发现不当行为。 8.2.致谢。非常感谢所有的 校对员帮助将其模糊化 美观的形状。 特别是 Peter Czaban、Bjorn 瓦格纳、肯·卡普勒、罗伯特·哈伯迈尔、维塔利克·布特林、雷托·特林克勒和杰克·彼得森。 感谢大家 贡献想法或开端的人 其中,Marek Kotewicz 和 Aeron Buchanan 值得特别提及。感谢其他人的帮助 一路上。所有错误都是我自己造成的。 这项工作的部分内容,包括初步研究 共识算法,部分由英国资助 政府根据创新英国计划。