Polkadot: Vision für ein heterogenes Multi-Chain-Framework

저자 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

Zusammenfassung

POLKADOT: VISION FÜR EIN HETEROGENES MULTI-CHAIN-RAHMEN ENTWURF 1 DR. GAVIN WOOD GRÜNDER, ETHEREUM & PARITÄT [email protected] Zusammenfassung. Heutige blockchain-Architekturen leiden alle unter einer Reihe von Problemen, nicht zuletzt hinsichtlich praktischer Möglichkeiten der Erweiterbarkeit und Skalierbarkeit. Wir glauben, dass dies auf die Verknüpfung zweier sehr wichtiger Teile der Konsensarchitektur zurückzuführen ist, nämlich Kanonizität und Gültigkeit liegen zu eng beieinander. In diesem Artikel wird eine Architektur vorgestellt, die eine heterogene Mehrkette darstellt. was die beiden grundlegend unterscheidet. Durch die Unterteilung dieser beiden Teile und durch die Beschränkung der Gesamtfunktionalität auf ein absolutes Minimum Im Hinblick auf Sicherheit und Transport führen wir praktische Mittel zur Kernerweiterbarkeit vor Ort ein. Die Skalierbarkeit wird durch adressiert ein „Teile-und-Herrsche“-Ansatz für diese beiden Funktionen, der aus seinem verbundenen Kern heraus durch Anreize erweitert wird nicht vertrauenswürdige öffentliche Knoten. Die heterogene Natur dieser Architektur ermöglicht die Zusammenarbeit vieler sehr unterschiedlicher Arten von Konsenssystemen in einer vertrauenslosen, vollständig dezentralisierten „Föderation“, die offenen und geschlossenen Netzwerken einen vertrauensfreien Zugriff ermöglicht einander. Wir schlagen ein Mittel zur Bereitstellung von Abwärtskompatibilität mit einem oder mehreren bereits vorhandenen Netzwerken vor, z Ethereum. Wir glauben, dass ein solches System eine nützliche Basiskomponente bei der allgemeinen Suche nach einer praktischen Lösung darstellt ein umsetzbares System, das in der Lage ist, Skalierbarkeits- und Datenschutzniveaus im globalen Handel zu erreichen. 1. Vorwort Dies soll eine technische „Vision“-Zusammenfassung sein einer möglichen Richtung, die bei der Weiterentwicklung des blockchain-Paradigmas eingeschlagen werden könnte, zusammen mit einer Begründung, warum diese Richtung sinnvoll ist. Es liegt in so detailliert wie möglich in dieser Entwicklungsphase ein System, das zu einer konkreten Verbesserung führen kann Anzahl der Aspekte der blockchain-Technologie. Es ist nicht als Spezifikation gedacht, weder formal noch anderweitig. Es erhebt keinen Anspruch auf Vollständigkeit und stellt auch keinen Anspruch darauf dar Endgültiges Design. Es ist nicht beabsichtigt, Aspekte abzudecken, die nicht zum Kerngeschäft gehören des Frameworks wie APIs, Bindungen, Sprachen usw Nutzung. Dies ist besonders experimentell; wo Parameter festgelegt sind, können sie sich wahrscheinlich ändern. Mechanismen werden als Reaktion auf die Community hinzugefügt, verfeinert und entfernt werden Ideen und Kritiken. Große Teile dieses Papiers werden wahrscheinlich überarbeitet werden, sobald experimentelle Beweise und Prototyping vorliegen uns Informationen darüber, was funktionieren wird und was nicht. Dieses Dokument enthält eine Kernbeschreibung des Protokolls sowie Vorschläge für mögliche Vorgehensweisen verschiedene Aspekte zu verbessern. Es ist vorgesehen, dass der Kern Die Beschreibung dient als Ausgangspunkt für eine Initiale Reihe von Proof-of-Concept. Eine endgültige „Version 1.0“ wäre Basierend auf diesem verfeinerten Protokoll zusammen mit den zusätzlichen Ideen, die sich bewährt haben und entschlossen sind erforderlich sein, damit das Projekt seine Ziele erreichen kann. 1.1. Geschichte. • 10.09.2016: 0.1.0-proof1 • 20.10.2016: 0.1.0-proof2 • 11.01.2016: 0.1.0-proof3 • 11.10.2016: 0.1.0 2. Einführung Blockchains haben sich in mehreren Bereichen als vielversprechend erwiesen, darunter auch im „Internet der Dinge“. (IoT), Finanzen, Governance, Identitätsmanagement, Webdezentralisierung und Asset-Tracking. Trotz der Das technologische Versprechen und die großen Worte müssen wir noch sehen bedeutender realer Einsatz der gegenwärtigen Technologie. Wir glauben, dass dies auf fünf wesentliche Versäumnisse der Gegenwart zurückzuführen ist Technologie-Stacks: Skalierbarkeit: Wie viele Ressourcen weltweit ausgegeben werden über Verarbeitung, Bandbreite und Speicher, damit das System eine einzelne Transaktion verarbeiten kann und wie viele Transaktionen können angemessen abgewickelt werden Spitzenbedingungen? Isolierbarkeit: Kann den unterschiedlichen Bedürfnissen mehrerer Personen gerecht werden Parteien und Anträge im gleichen Rahmen nahezu optimal angesprochen werden? Entwickelbarkeit: Wie gut funktionieren die Tools? Tun Sie es die APIs erfüllen die Bedürfnisse der Entwickler? Sind Lehrmaterialien verfügbar? Sind die richtigen Integrationen vorhanden? Governance: Kann das Netzwerk flexibel bleiben? sich im Laufe der Zeit weiterentwickeln und anpassen? Können Entscheidungen sein mit ausreichender Inklusivität, Legitimität und gemacht Transparenz zur Gewährleistung einer effektiven Führung eines dezentrales System? Anwendbarkeit: Befriedigt die Technologie tatsächlich allein ein dringendes Bedürfnis? Ist weitere „Middleware“ erforderlich, um die Lücke zu schließen? tatsächliche Anwendungen? In der vorliegenden Arbeit wollen wir uns mit den ersten beiden befassen Probleme: Skalierbarkeit und Isolierbarkeit. Das heißt, wir glauben Das Polkadot-Framework kann bei jeder dieser Problemklassen sinnvolle Verbesserungen bewirken. Moderne, effiziente blockchain-Implementierungen wie z Der Paritäts-Client Ethereum [17] kann process mehr als 3.000 Transaktionen pro Sekunde bei Ausführung auf leistungsstarker Consumer-Hardware. Allerdings aktuelle reale Welt blockchain Netzwerke sind praktisch auf etwa 30 begrenzt Transaktionen pro Sekunde. Diese Einschränkung ist hauptsächlich auf die Tatsache zurückzuführen, dass die aktuellen synchronen Konsensmechanismen große zeitliche Sicherheitsmargen erfordern die voraussichtliche Bearbeitungszeit, die durch die noch verschärft wird 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 우리가 그들의 최종 목표라고 생각하는 몇 가지 덧없는 유사성을 공유합니다. 실질적으로 다르며 경쟁하기보다는 두 프로토콜은 궁극적으로 하나의 환경 하에서 공존할 가능성이 높습니다. 가까운 미래에 상호 이익이 되는 관계.

Einführung

Blockchains haben sich in mehreren Bereichen als vielversprechend erwiesen, darunter auch im „Internet der Dinge“. (IoT), Finanzen, Governance, Identitätsmanagement, Webdezentralisierung und Asset-Tracking. Trotz der Das technologische Versprechen und die großen Worte müssen wir noch sehen bedeutender realer Einsatz der gegenwärtigen Technologie. Wir glauben, dass dies auf fünf wesentliche Versäumnisse der Gegenwart zurückzuführen ist Technologie-Stacks: Skalierbarkeit: Wie viele Ressourcen weltweit ausgegeben werden über Verarbeitung, Bandbreite und Speicher, damit das System eine einzelne Transaktion verarbeiten kann und wie viele Transaktionen können angemessen abgewickelt werden Spitzenbedingungen? Isolierbarkeit: Kann den unterschiedlichen Bedürfnissen mehrerer Personen gerecht werden Parteien und Anträge im gleichen Rahmen nahezu optimal angesprochen werden? Entwickelbarkeit: Wie gut funktionieren die Tools? Tun Sie es die APIs erfüllen die Bedürfnisse der Entwickler? Sind Lehrmaterialien verfügbar? Sind die richtigen Integrationen vorhanden? Governance: Kann das Netzwerk flexibel bleiben? sich im Laufe der Zeit weiterentwickeln und anpassen? Können Entscheidungen sein mit ausreichender Inklusivität, Legitimität und gemacht Transparenz zur Gewährleistung einer effektiven Führung eines dezentrales System? Anwendbarkeit: Befriedigt die Technologie tatsächlich allein ein dringendes Bedürfnis? Ist weitere „Middleware“ erforderlich, um die Lücke zu schließen? tatsächliche Anwendungen? In der vorliegenden Arbeit wollen wir uns mit den ersten beiden befassen Probleme: Skalierbarkeit und Isolierbarkeit. Das heißt, wir glauben Das Polkadot-Framework kann bei jeder dieser Problemklassen sinnvolle Verbesserungen bewirken. Moderne, effiziente blockchain-Implementierungen wie Der Paritäts-Client Ethereum [17] kann mehr verarbeiten 3.000 Transaktionen pro Sekunde bei Ausführung auf leistungsstarker Consumer-Hardware. Allerdings aktuelle reale Welt blockchain Netzwerke sind praktisch auf etwa 30 begrenzt Transaktionen pro Sekunde. Diese Einschränkung ist hauptsächlich auf die Tatsache zurückzuführen, dass die aktuellen synchronen Konsensmechanismen große zeitliche Sicherheitsmargen erfordern die voraussichtliche Bearbeitungszeit, die durch die noch verschärft wirdPOLKADOT: VISION FÜR EIN HETEROGENES MULTI-CHAIN-RAHMEN ENTWURF 1 2 Wunsch, langsamere Implementierungen zu unterstützen. Das liegt daran die zugrunde liegende Konsensarchitektur: der staatliche Übergangsmechanismus oder die Mittel, mit denen die Parteien zusammenarbeiten und die Ausführung von Transaktionen ist grundsätzlich logisch in den Konsens-„Kanonisierungs“-Mechanismus oder den Mittel, mit denen sich die Parteien auf eine von mehreren einigen einigen mögliche, gültige Geschichten. Dies gilt gleichermaßen für proof-of-work (PoW)-Systeme wie Bitcoin [15] und Ethereum [5,23] und Proof-of-Stake (PoS)-Systeme wie NXT [8] und Bitshares [12]: alle leiden letztlich unter der gleichen Behinderung. Es ist einfach Strategie, die zum Erfolg von blockchains beigetragen hat. Allerdings durch die enge Verbindung dieser beiden Mechanismen zu einer einzigen Einheit des Protokolls bündeln wir auch mehrere verschiedene Akteure und Anwendungen mit unterschiedlichen Risikoprofilen, unterschiedlichen Skalierbarkeitsanforderungen und unterschiedlichen Datenschutzanforderungen. Eine Einheitsgröße passt nicht für alle. Zu oft kommt es vor, dass in einem Im Streben nach breiter Anziehungskraft nimmt ein Netzwerk einen Grad an Konservatismus an, der zu einem kleinsten gemeinsamen Nenner führt nur wenigen optimal zu dienen und letztendlich zum Scheitern zu führen manchmal in der Fähigkeit zur Innovation, Leistung und Anpassung dramatisch. Einige Systeme wie z.B. Tatsache ist, dass [21] den Zustandsübergangsmechanismus vollständig fallen lässt. Allerdings ist ein Großteil davon Der von uns gewünschte Nutzen erfordert die Fähigkeit zum Übergangszustand gemäß einer gemeinsamen Zustandsmaschine. Das Ablegen löst das Problem ein alternatives Problem; es bietet keine Alternative Lösung. Es scheint daher klar, dass es eine vernünftige Richtung gibt als Weg zu einem skalierbaren dezentralen Computer zu erkunden Die Plattform besteht darin, die Konsensarchitektur von zu entkoppeln der Zustandsübergangsmechanismus. Und es überrascht vielleicht nicht, dass dies die Strategie ist, die Polkadot als Lösung für die Skalierbarkeit verfolgt. 2.1. Protokoll, Implementierung und Netzwerk. Wie Bitcoin und Ethereum, Polkadot beziehen sich sowohl auf ein Netzwerkprotokoll als auch auf das (bisher vorausgesetzte) Primäre öffentliches Netzwerk, das dieses Protokoll ausführt. Polkadot soll ein kostenloses und offenes Projekt sein, dessen Protokollspezifikation unter einer Creative Commons-Lizenz steht und die Code, der unter eine FLOSS-Lizenz gestellt wird. Das Projekt ist wird offen entwickelt und nimmt Beiträge entgegen wo immer sie nützlich sind. Ein System von RFCs, nicht unähnlich Die Python Enhancement Proposals ermöglichen eine Möglichkeit öffentliche Zusammenarbeit bei Protokolländerungen und -aktualisierungen. Unsere erste Implementierung des Polkadot-Protokolls wird als Parity Polkadot-Plattform bekannt sein und wird umfassen eine vollständige Protokollimplementierung zusammen mit der API Bindungen. Wie andere Parity blockchain-Implementierungen PPP ist als allgemeiner blockchain Technologie-Stack konzipiert, weder speziell für ein öffentliches Netzwerk noch für Privat-/Konsortialbetrieb. Die Entwicklung davon also Bisher wurde es von mehreren Parteien finanziert, unter anderem durch ein Zuschuss der britischen Regierung. Dieses Papier beschreibt jedoch Polkadot unter dem Kontext eines öffentlichen Netzwerks. Die Funktionalität, die wir uns in einem öffentlichen Netzwerk vorstellen, ist eine Obermenge dessen, was in erforderlich ist alternative (z. B. private und/oder konsortiale) Einstellungen. Darüber hinaus kann in diesem Zusammenhang der volle Umfang von Polkadot genutzt werden klarer beschrieben und besprochen werden. Das bedeutet Der Leser sollte sich darüber im Klaren sein, dass es bestimmte Mechanismen geben kann beschrieben werden (z. B. Zusammenarbeit mit anderen öffentlichen Netzwerken), die für Polkadot nicht direkt relevant sind wenn es in nichtöffentlichen („erlaubten“) Situationen eingesetzt wird. 2.2. Vorherige Arbeit. Es wurde informell vorgeschlagen, den zugrunde liegenden Konsens vom Staatsübergang zu entkoppeln mindestens zwei Jahre lang privat – Max Kaye war in den frühen Tagen von ein Befürworter einer solchen Strategie Ethereum. Eine komplexere skalierbare Lösung, bekannt als Chain Fasern, die auf Juni 2014 zurückgehen und später erstmals veröffentlicht wurden In diesem Jahr plädierte1 für eine einzelne Relay-Chain und mehrere homogene Chains, die einen transparenten Interchain-Ausführungsmechanismus bieten. Dekohärenz wurde bezahlt durch Transaktionslatenz – Transaktionen, die das erfordern Koordination unterschiedlicher Teile des Systems würde die Bearbeitung dauert länger. Polkadot übernimmt einen Großteil seiner Architektur daraus und aus den Folgegesprächen mit Es wird von verschiedenen Menschen genutzt, auch wenn es sich in seiner Gestaltung und Ausstattung stark unterscheidet. Es gibt zwar keine mit Polkadot vergleichbaren Systeme Tatsächlich in Produktion, mehrere Systeme von einiger Relevanz wurden vorgeschlagen, wenn auch nur wenige in nennenswertem Umfang Detail. Diese Vorschläge können seinin Systeme zerlegt die die Vorstellung einer global kohärenten Situation aufgeben oder reduzieren Zustandsautomaten, also solche, die versuchen, einen globalen Zustand bereitzustellen kohärente Singleton-Maschine durch homogene Shards und diejenigen, die nur auf Heterogenität abzielen. 2.2.1. Systeme ohne globalen Staat. Factom [21] ist ein System, das Kanonizität ohne entsprechendes demonstriert Gültigkeit, wodurch die Chronik der Daten effektiv ermöglicht wird. Wegen der Vermeidung des globalen Zustands und der Schwierigkeiten Mit der damit verbundenen Skalierung kann es als skalierbare Lösung betrachtet werden. Allerdings ist, wie bereits erwähnt, das Set Die Anzahl der Probleme, die es löst, ist grundsätzlich und wesentlich kleiner. Tangle [18] ist ein neuartiger Ansatz für Konsenssysteme. Anstatt Transaktionen in Blöcken anzuordnen und einen Konsens über eine streng verknüpfte Liste zu bilden, um eine global kanonische Ordnung von Zustandsänderungen zu erreichen, wird die Idee einer stark strukturierten Ordnung weitgehend aufgegeben und stattdessen drängt auf einen gerichteten azyklischen Graphen abhängiger Transaktionen mit späteren Elementen, die dabei helfen, frühere Elemente zu kanonisieren durch explizite Referenzierung. Für beliebige Zustandsänderungen gilt: dieser Abhängigkeitsgraph würde schnell unlösbar werden, Für das viel einfachere Modell UTXO2 gilt dies jedoch durchaus vernünftig. Weil das System nur lose kohärent ist und die Transaktionen im Allgemeinen voneinander unabhängig sind Andererseits wird ein großer Teil der globalen Parallelität ziemlich groß natürlich. Die Verwendung des Modells UTXO hat tatsächlich den Effekt Tangle auf eine reine Werttransfer-„Währung“ zu beschränken System und nicht etwas Allgemeineres oder Erweiterbares. Darüber hinaus ohne die harte globale Kohärenz, die Interaktion mit anderen Systemen – die tendenziell eines Absoluten bedürfen Grad des Wissens über den Systemzustand wird unpraktisch. 1https://github.com/ethereum/wiki/wiki/Chain-Fibers-Redux 2nicht ausgegebene Transaktionsausgabe, das Modell, das Bitcoin verwendet, wobei der Status effektiv der Satz von Adressen ist, die einem Wert zugeordnet sind; Transaktionen sammeln solche Adressen und formen sie in einen neuen Satz von Adressen um, deren Gesamtsumme äquivalent ist

POLKADOT: VISION FÜR EIN HETEROGENES MULTI-CHAIN-RAHMEN ENTWURF 1 3 2.2.2. Heterogene Kettensysteme. Seitenketten [3] ist ein vorgeschlagene Ergänzung des Bitcoin-Protokolls, die eine vertrauenslose Interaktion zwischen der Hauptkette Bitcoin ermöglichen würde und zusätzliche Seitenketten. Für welche ist keine vorgesehen Grad der „reichen“ Wechselwirkung zwischen Seitenketten: Die Wechselwirkung wäre darauf beschränkt, die Seitenketten zuzulassen Verwalter des gegenseitigen Vermögens, mit Wirkung – vor Ort Jargon – eine zweiseitige Bindung 3. Die Endvision ist ein Rahmen, mit dem die Währung Bitcoin bereitgestellt werden könnte zusätzliche, wenn auch periphere Funktionalität durch Papping auf einige andere Ketten mit exotischeren Zustandsübergängen Systeme, als das Protokoll Bitcoin zulässt. In diesem Sinne, Bei Sidechains geht es eher um Erweiterbarkeit als um Skalierbarkeit. Tatsächlich ist die Gültigkeit von Seitenketten grundsätzlich nicht geregelt; tokens aus einer Kette (z. B. Bitcoin) im Namen einer Seitenkette gehalten werden, werden nur durch die gesichert Die Fähigkeit der Seitenkette, Bergleute zur Kanonisierung zu motivieren gültige Übergänge. Die Sicherheit des Netzwerks Bitcoin kann nicht einfach in die Arbeit für andere überführt werden blockchains. Darüber hinaus ein Protokoll zur Sicherstellung von Bitcoin Bergleute führen Merge-Mine durch (d. h. duplizieren ihre Kanonisierungskraft auf die der Seitenkette) und, was noch wichtiger ist, sie validieren, dass die Übergänge der Seitenkette außerhalb der Seitenkette liegen Umfang dieses Vorschlags. Cosmos [10] ist ein vorgeschlagenes Mehrkettensystem im Gleiche Ader wie die Seitenketten, Austausch des Nakamoto PoW Konsensmethode für den Tendermint-Algorithmus von Jae Kwon. Im Wesentlichen beschreibt es mehrere Ketten (die in arbeiten). Zonen), die jeweils einzelne Instanzen von Tendermint verwenden, zusammen mit einem Mittel zur vertrauensfreien Kommunikation über a Hauptnabenkette. Diese Kommunikation zwischen den Ketten beschränkt sich auf die Übertragung digitaler Vermögenswerte („insbesondere über tokens“) und nicht auf willkürliche Informationen. Eine solche Kommunikation zwischen den Ketten verfügt jedoch über einen Rückweg für Daten. z.B. um dem Absender den Status der Übertragung mitzuteilen. Validator-Sets für die Zonenketten und insbesondere Die Mittel, Anreize zu schaffen, bleiben wie Seitenketten übrig als ungelöstes Problem. Die allgemeine Annahme ist das Jede Zonenkette wird selbst einen Wert von token halten, dessen Inflation zur Bezahlung von validators verwendet wird. Noch im Anfangsstadium Hinsichtlich des Designs mangelt es dem Vorschlag derzeit an umfassenden Details zu den wirtschaftlichen Mitteln zur Erreichung der Skalierbarkeit Gewissheit über globale Gültigkeit. Die erforderliche lockere Kohärenz zwischen den Zonen und dem Hub wird dies jedoch ermöglichen für zusätzliche Flexibilität hinsichtlich der Parameter der Zone Ketten im Vergleich zu einem System, das stärker durchsetzt Kohärenz. 2.2.3. Casper. Bisher gibt es noch keine umfassende Rezension oder einen direkten Vergleich zwischen Casper [6] und Polkadot wurden gemacht, obwohl man ein ziemlich umfassendes Bild machen kann (und dementsprechend ungenaue) Charakterisierung der beiden. Casper ist eine Neuinterpretation eines PoS-Konsensalgorithmus könnte darauf basieren, dass die Teilnehmer auf welche Gabel wetten würde letztendlich kanonisch werden. Es wurde viel Wert darauf gelegt, sicherzustellen, dass es netzwerkfähig ist Forks, auch wenn sie verlängert sind, und verfügen zusätzlich zum Basismodell Ethereum über ein gewisses Maß an Skalierbarkeit. Als So war Casper bisher tendenziell wesentlich mehr komplexeres Protokoll als Polkadot und seine Vorfahren, und a erhebliche Abweichung vom Grundformat blockchain. Es Es bleibt unklar, wie Casper in Zukunft iterieren wird und wie es aussehen wird, wenn es endlich eingesetzt wird. Während Casper und Polkadot beide interessante neue Protokolle und in gewissem Sinne Erweiterungen davon darstellen Ethereum, es gibt erhebliche Unterschiede zwischen ihnen ultimative Ziele und Wege zum Einsatz. Casper ist ein Ethereum Stiftungszentriertes Projekt, ursprünglich entworfen eine PoS-Änderung des Protokolls sein, ohne dass dies gewünscht wird Erstellen Sie ein grundsätzlich skalierbares blockchain. Entscheidend ist, dass es so ist Entwickelt als Hard-Fork und nicht als etwas Expansiveres, und daher wären es alle Ethereum-Clients und -Benutzer erforderlich, um ein Upgrade durchzuführen oder auf einer Abzweigung mit ungewisser Akzeptanz zu bleiben. Dadurch wird die Bereitstellung erheblich erschwert, wie es bei einem dezentralen Projekt mit Engpässen üblich ist Koordination ist notwendig. Polkadot unterscheidet sich in mehrfacher Hinsicht; in erster Linie, Polkadot ist vollständig erweiterbar und skalierbar blockchain Entwicklungs-, Bereitstellungs- und Interaktionstest Bett. Es ist so gebaut, dass es ein weitgehend zukunftssicheres Geschirr ist Neues assimilieren blockchainTechnologie, sobald sie verfügbar ist, ohne übermäßig komplizierte dezentrale Koordination oder harte Gabeln. Wir stellen uns bereits mehrere Anwendungsfälle vor, z als verschlüsselte Konsortialketten und Hochfrequenzketten mit sehr niedrigen Blockzeiten, die unrealistisch sind jede derzeit geplante zukünftige Version von Ethereum. Schließlich ist die Kopplung zwischen ihm und Ethereum extrem locker; Es ist keine Aktion seitens Ethereum erforderlich ermöglichen eine vertrauenswürdige Transaktionsweiterleitung zwischen den beiden Netzwerke. Kurz gesagt, während Casper/Ethereum 2.0 und Polkadot Wir haben einige flüchtige Gemeinsamkeiten, von denen wir glauben, dass sie ihr Endziel sind ist wesentlich unterschiedlich und das anstatt zu konkurrieren, Die beiden Protokolle werden wahrscheinlich letztendlich unter einem koexistieren eine für beide Seiten vorteilhafte Beziehung auf absehbare Zeit.

요약

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은 근본적으로 안정적인 베이스 레이어. 경제적 건전성 외에도 이는 분권화를 의미합니다. 높은 보상을 받는 공격을 위한 벡터.

Zusammenfassung

Polkadot ist eine skalierbare heterogene Multikette. Dies bedeutet, dass im Gegensatz zu früheren blockchain-Implementierungen die sich auf die Bereitstellung einer einzigen Kette unterschiedlicher Produkte konzentriert haben Grad der Allgemeinheit über potenzielle Anwendungen, Polkadot selbst ist so konzipiert, dass es überhaupt keine inhärente Anwendungsfunktionalität bietet. Vielmehr liefert Polkadot das Fundament „Relaiskette“, auf der eine große Anzahl validierbarer, Es können global kohärente dynamische Datenstrukturen gehostet werden Seite an Seite. Wir nennen diese Datenstrukturen „parallelisiert“. Ketten oder Parachains, obwohl kein besonderer Bedarf dafür besteht sie sollen blockchain in der Natur sein. Mit anderen Worten, Polkadot kann als äquivalent zu einer Menge unabhängiger Ketten angesehen werden (z. B. der Menge, die enthält Ethereum, Ethereum Classic, Namecoin und Bitcoin) bis auf zwei sehr wichtige Punkte: • Gebündelte Sicherheit; • Vertrauensfreie Interchain-Transaktionsfähigkeit. Aufgrund dieser Punkte halten wir Polkadot für „skalierbar“. Im Prinzip kann ein Problem, das auf Polkadot bereitgestellt werden soll, im Wesentlichen parallelisiert – skaliert – werden eine große Anzahl von Parachains. Da alle Aspekte von jedem Parachain kann parallel von einem anderen Segment des Polkadot-Netzwerks ausgeführt werden, das System verfügt über einige Fähigkeiten zu skalieren. Polkadot bietet ein eher schlichtes Stück davon 3im Gegensatz zu einer Einwegbindung, bei der im Wesentlichen tokens in einer Kette zerstört werden, um tokens in einer anderen ohne das zu erstellen Mechanismus, um das Gegenteil zu tun und die ursprünglichen tokens wiederherzustellenPOLKADOT: VISION FÜR EIN HETEROGENES MULTI-CHAIN-RAHMEN ENTWURF 1 4 Infrastruktur, so dass ein Großteil der Komplexität auf der Middleware-Ebene angegangen werden muss. Dies ist eine bewusste Entscheidung, die darauf abzielt, das Entwicklungsrisiko zu verringern und dies zu ermöglichen erforderliche Software innerhalb kurzer Zeit zu entwickeln und mit einem guten Maß an Vertrauen in seine Sicherheit und Robustheit. 3.1. Die Philosophie von Polkadot. Polkadot sollte bieten eine absolut grundsolide Grundlage Bauen Sie die nächste Welle von Konsenssystemen auf das Risikospektrum produktionsfähiger ausgereifter Konstruktionen zu aufkeimenden Ideen. Durch die Bereitstellung starker Garantien für Sicherheit, Isolation und Kommunikation kann Polkadot dies ermöglichen Parachains können selbst aus einer Reihe von Eigenschaften auswählen. Tatsächlich gehen wir davon aus, dass verschiedene experimentelle blockchains die Eigenschaften dessen, was als sinnvoll angesehen werden könnte, vorantreiben heute. Wir sehen konservativ, hochwertige Ketten ähnlich Bitcoin oder Z-Cash [20], die neben niedrigeren Werten koexistieren „Themenketten“ (so ein Marketing, so lustig) und Testnetze mit null oder nahezu null Gebühren. Wir sehen vollständig verschlüsselt, „dunkle“, Konsortiumsketten, die daneben operieren – und sogar Bereitstellung von Dienstleistungen für hochfunktionale und offene Ketten wie solche wie Ethereum. Wir sehen experimentelles Neues VM-basierte Ketten wie ein subjektiv zeitbelasteter Wasm Die Kette wird als Mittel zur Auslagerung schwieriger Rechenprobleme aus einer ausgereifteren Ethereum-ähnlichen Kette verwendet oder eine eingeschränktere Bitcoin-ähnliche Kette. Um Ketten-Upgrades zu verwalten, wird Polkadot von Natur aus verwendet Unterstützen Sie wahrscheinlich eine Art Governance-Struktur auf bestehenden stabilen politischen Systemen und hat einen Zweikammeraspekt, ähnlich dem Yellow Paper Council [24]. Als Die ultimative Autorität, die zugrunde liegenden steckbaren token-Inhaber, hätte die „Referendums“-Kontrolle. Um die Benutzerfreundlichkeit widerzuspiegeln Angesichts des Entwicklungsbedarfs, aber des Legitimitätsbedarfs der Entwickler gehen wir davon aus, dass sich eine vernünftige Richtung herausbilden würde Die beiden Kammern bestehen aus einem „Benutzer“-Ausschuss (bestehend aus gebunden validators) und ein „technischer“ Ausschuss gebildet großer Kundenentwickler und Ökosystemteilnehmer. Die Die Gruppe der token-Inhaber würde die ultimative Legitimität behalten und eine Supermehrheit bilden, um diese Struktur zu erweitern, neu zu parametrisieren, zu ersetzen oder aufzulösen, was wir tun Zweifeln Sie nicht an der eventuellen Notwendigkeit: in den Worten von Twain „Regierungen und Windeln müssen oft und für immer gewechselt werden aus dem gleichen Grund“. Während eine Neuparametrisierung in der Regel trivial innerhalb eines größeren Konsensmechanismus zu arrangieren ist, wären eher qualitative Änderungen wie Ersatz und Erweiterung erforderlich Wahrscheinlich muss es sich entweder um nicht automatisierte „Soft-Dekrete“ handeln (z. B. durch die Kanonisierung einer Blocknummer und der hash eines Dokuments, das das neue Protokoll offiziell spezifiziert) oder es erforderlich machen, dass der Kernkonsensmechanismus Folgendes enthält: eine ausreichend reichhaltige Sprache, um jeden Aspekt ihrer selbst zu beschreiben was möglicherweise geändert werden muss. Letzteres ist ein mögliches Ziel, Ersteres wird jedoch eher gewählt, um dies zu tun einen angemessenen Entwicklungszeitplan ermöglichen. Die wichtigsten Grundsätze von Polkadot und die darin enthaltenen Regeln Wir bewerten alle Designentscheidungen: Minimal: Polkadot sollte möglichst wenig Funktionalität haben. Einfach: Es sollte keine zusätzliche Komplexität vorhanden sein im Basisprotokoll enthalten, als vernünftigerweise möglich ist in Middleware geladen, durch a gelegt parachain oder in einer späteren Optimierung eingeführt. Allgemein: keine unnötige Anforderung, Einschränkung oder Parachains sollten eingeschränkt werden; Polkadot sollte ein Prüfstand für die Entwicklung eines Konsenssystems sein, das dadurch optimiert werden kann Das Modell, in das Erweiterungen passen, so abstrakt wie möglich gestalten. Robust: Polkadot sollte eine grundsätzliche Bereitstellung bieten Stabile Basisschicht. Neben der wirtschaftlichen Solidität bedeutet dies auch eine Dezentralisierung zur Minimierung die Vektoren für hochlohnende Angriffe.

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.

Teilnahme an Polkadot

Es gibt vier grundlegende Rollen bei der Wartung eines Polkadot Netzwerk: Collator, Fisherman, Nominator und validator. In eine mögliche Implementierung von Polkadot, der letztgenannten Rolle kann tatsächlich in zwei Rollen unterteilt werden: grundlegende validator und Verfügbarkeitsgarantie; Dies wird im Abschnitt besprochen 6.5.3. Collator Fischer Validatoren (diese Gruppe) Validatoren (andere Gruppen) stimmt zu wird Monitore Berichte schlecht Verhalten zu bietet Block Kandidaten für Nominator Abbildung 1. Die Interaktion zwischen vier Rollen von Polkadot. 4.1. Validatoren. Ein validator ist die höchste Gebühr und hilft dabei, neue Blöcke im Polkadot-Netzwerk abzudichten. Voraussetzung für die Rolle des validator ist eine ausreichend hohe Bindung hinterlegt werden, obwohl wir dies auch anderen gebundenen Parteien gestatten Nominieren Sie einen oder mehrere validators, die für sie und als handeln Ein solcher Teil der Anleihe des validator gehört möglicherweise nicht unbedingt dem validator selbst, sondern diesen Nominatoren. Ein validator muss eine Relay-Chain-Client-Implementierung mit hoher Verfügbarkeit und Bandbreite ausführen. An jedem Block Der Knoten muss bereit sein, die Rolle des Ratifizierenden zu übernehmen ein neuer Block auf einer nominierten Parachain. Dieser Prozess beinhaltet den Empfang, die Validierung und die erneute Veröffentlichung des Kandidaten Blöcke. Die Nominierung ist deterministisch, aber praktisch unvorhersehbar. Da der validator nicht möglich ist Es ist vernünftigerweise zu erwarten, dass eine vollständige Synchronisierung gewährleistet ist Datenbank aller Parachains, es wird erwartet, dass der validator die Aufgabe benennen wird, einen Vorschlag für ein neues zu entwickeln Parachain-Block an einen Dritten, einen sogenannten Collator, weiter. Sobald alle neuen Parachain-Blöcke ordnungsgemäß von ihren ernannten validator-Untergruppen, validators, ratifiziert wurden muss dann den Relay-Chain-Block selbst ratifizieren. Dies beinhaltet Aktualisieren des Status der Transaktionswarteschlangen (im Wesentlichen Verschieben von Daten aus der Ausgabewarteschlange einer Parachain in eine andere Eingabewarteschlange von Parachain), Verarbeitung der Transaktionen von der ratifizierte Relay-Chain-Transaktionssatz und die Ratifizierung des Endblock, einschließlich der letzten Parachain-Änderungen.POLKADOT: VISION FÜR EIN HETEROGENES MULTI-CHAIN-RAHMEN ENTWURF 1 5 Ein validator kommt seiner Pflicht, einen Konsens zu finden, nicht nach nach den Regeln unseres gewählten Konsensalgorithmus wird bestraft. Bei anfänglichen, unbeabsichtigten Ausfällen gilt dies als durch die Belohnung von validator einbehalten. Wiederholte Ausfälle führen zu einer Verringerung ihrer Sicherheitsbindung (durch Brennen). Nachweislich böswillige Aktionen wie Doppelsignierung oder Die Verschwörung zur Bereitstellung eines ungültigen Blocks führt zum Verlust von die gesamte Bindung (die teilweise verbrannt, aber größtenteils gegeben ist). an den Informanten und die ehrlichen Akteure). In gewisser Weise ähneln validators den Mining-Pools der aktuellen PoW blockchains. 4.2. Nominatoren. Ein Nominator ist eine Beteiligungspartei Wer trägt zur Sicherheitsleistung eines validator bei? Sie haben keine zusätzliche Rolle außer der Platzierung von Risikokapital und dergleichen So signalisieren sie, dass sie einem bestimmten validator vertrauen (oder Satz davon), verantwortungsbewusst bei der Aufrechterhaltung der zu handeln Netzwerk. Sie erhalten eine anteilige Erhöhung oder Kürzung in ihrer Einlage entsprechend dem Wachstum der Anleihe sie tragen dazu bei. Zusammen mit den Collatoren sind es in einigen Fällen auch die Nominatoren Sinn ähnlich wie die Miner der heutigen PoW-Netzwerke. 4.3. Collatoren. Transaktions-Collators (kurz Collators) sind Parteien, die validators bei der Erstellung gültiger Dokumente unterstützen Parachain-Blöcke. Sie pflegen einen „vollständigen Knoten“ für eine bestimmte Parachain; Das bedeutet, dass sie alles Notwendige behalten Informationen, um neue Blöcke erstellen und ausführen zu können Transaktionen auf die gleiche Weise wie Miner auf aktuellen PoW blockchains. Unter normalen Umständen sind sie sammelt Transaktionen und führt sie aus, um eine unversiegelte Transaktion zu erstellen blockieren und zusammen mit einem Zero-Wissen bereitstellen Beweis, an einen oder mehrere validators, für die derzeit verantwortlich ist schlägt einen Parachain-Block vor. Die genaue Art der Beziehung zwischen Collators, Nominators und validators wird sich wahrscheinlich ändern Zeit. Zunächst erwarten wir, dass die Zusammensteller sehr eng zusammenarbeiten mit validators, da es nur wenige geben wird (vielleicht nur eine) Parachain(s) mit geringem Transaktionsvolumen. Die Die anfängliche Client-Implementierung umfasst RPCs, um a zu ermöglichen Parachain-Collator-Knoten, um einen (Relaychain-) validator-Knoten bedingungslos mit einer nachweislich gültigen Parachain zu versorgen blockieren. Da die Kosten für die Aufrechterhaltung einer synchronisierten Version von Alle diese Parachains nehmen zu, wir gehen davon aus, dass es noch mehr geben wird Infrastruktur vorhanden, die dabei hilft, die zu trennen Pflichten gegenüber unabhängigen, wirtschaftlich motivierten Parteien. Wir gehen davon aus, dass es irgendwann Zusammentragspools geben wird, die darum wetteifern erheben die meisten Transaktionsgebühren. Solche Kollektoren können beauftragt werden, bestimmte validators über einen bestimmten Zeitraum zu bedienen und einen fortlaufenden Anteil am Prämienerlös zu erhalten. Alternativ können „freiberufliche“ Zusammensteller einfach eine erstellen Markt, der gültige Parachain-Blöcke als Gegenleistung für einen wettbewerbsfähigen Anteil der sofort zahlbaren Belohnung anbietet. Ebenso würden dezentrale Nominator-Pools mehrere ermöglichen gebundene Teilnehmer koordinieren und teilen die Pflicht eines validator. Diese Bündelungsfähigkeit gewährleistet eine offene Beteiligung Dies führt zu einem dezentraleren System. 4.4. Fischer. Im Gegensatz zu den anderen beiden aktiven Parteien Fischer stehen in keinem direkten Zusammenhang mit der Blockerstellung Prozess. Sie sind vielmehr unabhängige „Kopfgeldjäger“. motiviert durch eine große einmalige Belohnung. Genau wegen Aufgrund der Existenz von Fischern gehen wir davon aus, dass Fehlverhalten selten vorkommt und wenn, dann nur aufgrund von die gebundene Partei ist bei der Sicherheit geheimer Schlüssel nachlässig, und nicht aus böswilliger Absicht. Der Name kommt aus der erwarteten Häufigkeit der Belohnung, den Mindestvoraussetzungen für die Teilnahme und der letztendlichen Belohnungsgröße. Fischer erhalten ihre Belohnung durch einen rechtzeitigen Nachweis mindestens eine gebundene Partei hat rechtswidrig gehandelt. Illegale Handlungen Dazu gehört die Unterzeichnung von jeweils zwei Blöcken mit demselben ratifizierten übergeordneten Element oder, im Fall von Fallschirmen, die Unterstützung bei der Ratifizierung eines ungültigen Elements blockieren. Um eine Überbelohnung oder den Kompromiss zu verhindern und unerlaubte Verwendung des geheimen Schlüssels einer Sitzung, der Basisbelohnung dafür Die Bereitstellung einer einzelnen illegal signierten Nachricht von validator ist minimal. Diese Belohnung nimmt asymptotisch zu, je mehr Dies bestätigen illegale Signaturen von anderen validators vorausgesetzt, es handelt sich um einen echten Angriff. Die Asymptote ist eingestellt bei 66 %, was unserer grundlegenden Sicherheitsaussage entspricht Zwei Drittel der validators handeln wohlwollend. Fischer ähneln in gewisser Weise „vollständigen Knoten“ in heutigen blockchain Systemen die benötigten Ressourcen sind relativ klein und erfordern eine stabile Betriebszeit und Bandbreite ist nicht erforderlich. Fischer unterscheiden sich darin so wie sie eine kleine Kaution hinterlegen müssen.Diese Bindung verhindert Sybil-Angriffe verschwenden die Zeit und Rechenleistung von validators Ressourcen. Es ist sofort ausziehbar, wahrscheinlich nein mehr als den Gegenwert von ein paar Dollar und kann führen eine saftige Belohnung dafür zu ernten, dass man ein Fehlverhalten entdeckt 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 상호 운용성 "가상 파라체인"을 배치하는 것이 비현실적이지 않다고 생각합니다. 그럼에도 불구하고 일정이 불확실하고 가능성이 매우 높은 상당한 노력이 필요하지만 그 안에서 이해관계자의 협력이 필요하다. 네트워크.

Designübersicht

Dieser Abschnitt soll einen kurzen Überblick darüber geben System als Ganzes. Eine gründlichere Untersuchung der Das System wird im folgenden Abschnitt beschrieben. 5.1. Konsens. Auf der Relay-Kette wird Polkadot erreicht Konsens auf niedriger Ebene über eine Reihe von einvernehmlich vereinbarten Gültigkeiten blockiert durch einen modernen asynchronen byzantinischen fehlertoleranten (BFT)-Algorithmus. Der Algorithmus wird inspiriert sein durch das einfache Tendermint [11] und das wesentlich mehr beteiligt HoneyBadgerBFT [14]. Letzteres bietet eine Effizienter und fehlertoleranter Konsens über eine willkürliche Entscheidung Defekte Netzwerkinfrastruktur angesichts einer Reihe meist harmloser Behörden oder validators. Für ein Netzwerk im Proof-of-Authority-Stil (PoA) reicht dies aus würde ausreichen, wie auch immer man sich Polkadot vorstellt auch als Netzwerk in einer vollständig offenen und öffentlichen Umgebung einsetzbar Situation ohne besondere Organisation oder Vertrauen Behörde, die für die Aufrechterhaltung erforderlich ist. Daher brauchen wir eine Mittel zur Bestimmung einer Reihe von validators und zur Schaffung von Anreizen sie, um ehrlich zu sein. Hierzu nutzen wir die PoS-basierte Auswahl Kriterien. 5.2. Den Einsatz beweisen. Wir gehen davon aus, dass das Netzwerk wird eine Möglichkeit haben, zu messen, wie viel „Einsatz“ ein bestimmtes Konto hat. Zum leichteren Vergleich mit Vorhandene Systeme nennen wir die Maßeinheit „tokens“. Leider ist der Begriff für a nicht ideal Es gibt eine Reihe von Gründen, nicht zuletzt weil es einfach ein Skalar ist Es gibt keine Vorstellung davon, welchen Wert ein Konto hat Individualität. Wir stellen uns vor, dass validators selten (höchstens) gewählt werden einmal pro Tag, aber vielleicht so selten wie einmal pro Quartal), durch ein Nominated Proof-of-Stake (NPoS)-System. Anreize können durch eine anteilige Zuteilung erfolgenPOLKADOT: VISION FÜR EIN HETEROGENES MULTI-CHAIN-RAHMEN ENTWURF 1 6 Relais Kette Validator-Schwarm (jeweils gefärbt durch seine bezeichnete Parachain) Transaktion (eingereicht von externer Akteur) Parachain Brücke Virtuelle Parachain (z. B. Ethereum) Parachain Parachain Warteschlangen und I/O Propagierte Transaktionen Kandidateneinreichung blockieren 2. Ordnung Relaiskette Parachain-Community Konto Eingehende Transaktion Ausgehende Transaktion Interchain-Transaktionen (verwaltet von validators) Collator Propagierter Block Fischer Abbildung 2. Ein zusammenfassendes Schema des Polkadot-Systems. Dies zeigt Collators, die Benutzertransaktionen sammeln und weitergeben sowie Blockkandidaten an Fischer und validators weitergeben. Es auch zeigt, wie ein Konto eine Transaktion, die aus seiner Parachain ausgeführt wird, über die Relay-Chain buchen kann und weiter in eine andere Parachain, wo es als Transaktion auf ein dortiges Konto interpretiert werden kann. Mittel aus einer token Basiserweiterung (bis zu 100 %) pro Jahr, wahrscheinlicher jedoch etwa 10 % zusammen mit etwaige erhobene Transaktionsgebühren. Während eine Ausweitung der Geldbasis typischerweise zu Inflation führt, da alle token Eigentümer Hätte er eine faire Chance auf Teilnahme, müsste kein tokenInhaber eine Wertminderung erleiden Bestände im Laufe der Zeit, vorausgesetzt, sie waren bereit, eine zu übernehmen Rolle im Konsensmechanismus. Ein besonderer Anteil von tokens wären für den staking-Prozess vorgesehen; die Die effektive Basiserweiterung token würde angepasst werden einen marktbasierten Mechanismus, um dieses Ziel zu erreichen. Validatoren sind durch ihre Einsätze stark gebunden; verlassend Die Anleihen der validators bleiben noch lange bestehen, nachdem die Pflichten der validators aufgehört haben (vielleicht etwa drei Monate). So lange Die Liquidationsfrist der Anleihe lässt zukünftiges Fehlverhalten zu bis zur regelmäßigen Kontrolle der Kette bestraft. Fehlverhalten führt zu einer Bestrafung, beispielsweise einer Kürzung Belohnung oder, in Fällen, die vorsätzlich gefährden Die Integrität des Netzwerks wird beeinträchtigt, der validator verliert einige oder alle seiner Integrität Anteil an andere validators, Informanten oder die Stakeholder als Ganzes (durch Brennen). Zum Beispiel ein validator Wer versucht, beide Zweige einer Abzweigung zu ratifizieren (manchmal (bekannt als „Angriff aus kurzer Distanz“) kann identifiziert werden und auf letztere Weise bestraft. Langstreckenangriffe, bei denen nichts auf dem Spiel steht4, werden durch eine einfache „Checkpoint“-Verriegelung umgangen, die eine gefährliche Kettenneuorganisation von mehr als einem verhindert besondere Kettentiefe. Um sicherzustellen, dass Clients neu synchronisiert werden lassen sich nicht auf die falsche Kette täuschen, regelmäßig Es wird zu „Hard Forks“ kommen (höchstens im gleichen Zeitraum). validators‘ Anleiheliquidation), die den jüngsten Checkpoint-Block hashes in Clients fest codiert. Dies passt gut zu einem weiteren den Platzbedarf reduzierenden Maß der „endlichen Kettenlänge“ oder periodisches Zurücksetzen des Genesis-Blocks. 5.3. Parachains und Collators. Jeder Parachain bekommt Ähnliche Sicherheitsvorkehrungen wie bei der Relay-Kette: die Die Header der Parachains sind im Relay-Chain-Block versiegelt Sicherstellen, dass nach der Bestätigung keine Neuorganisation oder „doppelte Ausgaben“ möglich sind. Dies ist eine ähnliche Sicherheitsgarantie wie die Seitenketten und das Mergemining von Bitcoin. Polkadot bietet jedoch auch starke Garantien dafür, dass die Zustandsübergänge der Parachains gültig sind. Dies geschieht dadurch, dass die Menge der validators kryptografisch zufällig in Teilmengen segmentiert wird; eine Teilmenge pro Parachain, wobei die Teilmengen pro Block möglicherweise unterschiedlich sind. Dies Das Setup impliziert im Allgemeinen, dass die Blockzeiten von Parachains dies tun mindestens so lang sein wie die der Relaiskette. Das Spezifische Mittel zur Bestimmung der Partitionierung liegen außerhalb des Geltungsbereichs 4Bei einem solchen Angriff schmiedet der Gegner vom Genesis-Block an eine völlig neue Geschichtskette. Durch die Steuerung a Obwohl sie zu Beginn einen relativ unbedeutenden Anteil am Einsatz haben, sind sie in der Lage, ihren Anteil am Einsatz im Vergleich zu allen anderen schrittweise zu erhöhen Stakeholder, da sie die einzigen aktiven Teilnehmer an ihrer alternativen Geschichte sind. Da es für die Schöpfung keine intrinsische physische Einschränkung gibt von Blöcken (im Gegensatz zu PoW, wo ziemlich viel Rechenenergie aufgewendet werden muss), sind sie in der Lage, eine Kette zu erstellen, die länger ist als die echte Kette in einem relativ kurze Zeitspanne und machen Sie es möglicherweise zum längsten und besten, indem Sie den kanonischen Zustand des Netzwerks übernehmen.POLKADOT: VISION FÜR EIN HETEROGENES MULTI-CHAIN-RAHMEN ENTWURF 1 7 dieses Dokuments, würde aber wahrscheinlich auf einem von beiden basieren ein Commit-Reveal-Framework ähnlich dem RanDAO [19] oder Verwenden Sie Daten, die aus vorherigen Blöcken jeder Parachain kombiniert wurden unter einem kryptografisch sicheren hash. Solche Teilmengen von validators sind erforderlich, um a bereitzustellen Parachain-Blockkandidat, der garantiert gültig ist (am Schmerz der Anleihebeschlagnahme). Die Gültigkeit dreht sich um zwei wichtige Punkte; erstens, dass es an sich gültig ist – das Alle Zustandsübergänge wurden gewissenhaft ausgeführt und das alles Externe Daten, auf die verwiesen wird (z. B. Transaktionen), sind für die Einbeziehung gültig. Zweitens, dass es sich um alle Daten handelt, die nicht dazugehören B. diese externen Transaktionen, über eine ausreichend hohe Verfügbarkeit verfügen, damit die Teilnehmer dazu in der Lage sind Laden Sie es herunter und führen Sie den Block manuell aus.5 Validatoren stellen möglicherweise nur einen „Null“-Block bereit, der keine externen „Transaktionsdaten“ enthält, laufen jedoch möglicherweise Gefahr, eine geringere Belohnung zu erhalten, wenn sie dies tun. Sie arbeiten Seite an Seite ein Parachain-Klatschprotokoll mit Kollatatoren – Einzelpersonen die Transaktionen in Blöcken zusammenfassen und einen nicht interaktiven, wissensfreien Beweis liefern, dass der Block ein gültiges Kind seines Elternblocks darstellt (und jede Transaktion entgegennimmt). Gebühren für ihre Mühe). Es bleibt den Parachain-Protokollen überlassen, ihre eigenen zu spezifizieren Mittel zur Spam-Prävention: Es gibt keine grundsätzliche Vorstellung von „Rechenressourcenmessung“ oder „Transaktionsgebühr“ durch die Relaiskette auferlegt. Es gibt diesbezüglich auch keine direkte Durchsetzung durch das Relay-Chain-Protokoll (obwohl es Es ist unwahrscheinlich, dass sich die Stakeholder für eine Übernahme entscheiden würden eine Parachain, die keinen anständigen Mechanismus bot). Dies ist eine ausdrückliche Anspielung auf die Möglichkeit unterschiedlicher Ketten Ethereum, z.B. eine Bitcoin-ähnliche Kette, die ein viel einfacheres Gebührenmodell oder ein anderes, noch nicht vorgeschlagenes Spam-Präventionsmodell hat. Die Relay-Chain von Polkadot selbst wird wahrscheinlich als existieren Ethereum-ähnliche Konten und Statuskette, möglicherweise ein EVMDerivat. Da die Relay-Chain-Knoten dies benötigen Führen Sie wesentliche andere Verarbeitungsvorgänge durch, den Transaktionsdurchsatz werden teilweise durch hohe Transaktionsgebühren minimiert und, falls unsere Forschungsmodelle dies erfordern, eine Blockgrößenbeschränkung. 5.4. Interchain-Kommunikation. Der entscheidende letzte Bestandteil von Polkadot ist die Kommunikation zwischen den Ketten. Seitdem Parachains können eine Art Informationskanal zwischen sich haben, wir erlauben uns, Polkadot a zu betrachten skalierbare Multikette. Im Fall von Polkadot ist die Kommunikation so einfach wie möglich: Transaktionen werden in a ausgeführt Parachain sind (gemäß der Logik dieser Kette) dazu in der Lage bewirken die Weiterleitung einer Transaktion an eine zweite Parachain oder möglicherweise die Relaiskette. Wie externe Transaktionen Bei Produktions-blockchains sind sie vollständig asynchron und es gibt keine intrinsische Fähigkeit für sie, etwas zurückzugeben Art von Informationen zurück zu ihrem Ursprung. Ziel: bekommt Daten von früher validators des Blocks. Konto erhält Beitrag: Eintrag entfernt aus Eingang Merkle tree Konto sendet Beitrag: Eintrag platziert in Ausgang Merkle tree für das Ziel Parachain Ausgang Quelle: Aktien Daten mit den nächsten Blöcken validators Postnachweis gespeichert in Parachain-Ausstieg Merkle Baum geroutete Referenz platziert in Zielparachains Eingang Merkle tree Eindringen Abbildung 3. Eine grundlegende schematische Darstellung die Hauptteile des Routings für Gepostete Transaktionen („Posts“). Um eine minimale Implementierungskomplexität zu gewährleisten, minimal Risiko und minimal Zwangsjacke von Zukunft Parachain-Architekturen sind diese Interchain-Transaktionen praktisch nicht von extern signierten Standardtransaktionen zu unterscheiden. Die Transaktion verfügt über ein Ursprungssegment, das die Möglichkeit bietet, eine Parachain zu identifizieren, und eine Adresse, die beliebig groß sein kann. Im Gegensatz zu gängigen aktuellen Systemen wie Bitcoin und Ethereum sind Interchain-Transaktionen mit keinerlei „Zahlung“ von Gebühren verbunden; Jede solche Zahlung muss durch Verhandlungslogik auf den Quell- und Zielparachains verwaltet werden. Ein System wie das vorgeschlagene Die Serenity-Veröffentlichung [7] von Ethereum wäre ein einfaches Mittel Es ist jedoch schwierig, eine solche kettenübergreifende Ressourcenzahlung zu verwalten Wir gehen davon aus, dass zu gegebener Zeit andere in den Vordergrund treten werden. Interchain-Transaktionen werden mit einer einfachen Lösung gelöst Warteschlangenmechanismus basierend auf einem Merkle tree, um sicherzustellen Treue. Es ist die Aufgabe der Relay-Chain-Betreuer, dies zu tun Verschieben Sie Transaktionen in der Ausgabewarteschlange einer Parachain in die Eingabewarteschlange der Zielparachain. Die Übergebene Transaktionen werden in der Relay-Chain referenziert, sind jedoch nicht relAy-Chain-Transaktionen selbst. Um zu verhindern, dass ein Parachain einen anderen Parachain mit Spam überschwemmt Transaktionen, damit eine Transaktion gesendet werden kann, ist dies erforderlich dass die Eingabewarteschlange des Ziels nicht zu groß ist der Zeitpunkt des Endes des vorherigen Blocks. Wenn die Eingabe Ist die Warteschlange nach der Blockverarbeitung zu groß, gilt sie als „gesättigt“ und es können keine Transaktionen dorthin weitergeleitet werden es innerhalb nachfolgender Blöcke, bis es wieder unter das reduziert wird Grenze. Diese Warteschlangen werden in der Relay-Chain verwaltet Parachains können so die Sättigung des anderen bestimmen Status; Auf diese Weise ist der Versuch, eine Transaktion zu buchen, fehlgeschlagen zu einem blockierten Ziel können synchron gemeldet werden. (Da es jedoch keinen Rückkehrpfad gibt, konnte eine sekundäre Transaktion, die aus diesem Grund fehlschlug, nicht zurückgemeldet werden an den ursprünglichen Anrufer und andere Möglichkeiten zur Wiederherstellung müsste stattfinden.) 5.5. Polkadot und Ethereum. Aufgrund der Turing-Vollständigkeit von Ethereum gehen wir davon aus, dass ausreichend Möglichkeiten für die Interoperabilität zwischen Polkadot und Ethereum bestehen voneinander, zumindest innerhalb einiger leicht ableitbarer Sicherheitsgrenzen. Kurz gesagt, wir stellen uns vor, dass Transaktionen von Polkadot kann von validators signiert und dann eingespeist werden 5Eine solche Aufgabe könnte zwischen validators geteilt werden oder zur designierten Aufgabe einer Gruppe stark verbundener validators werden, die als bezeichnet werden Verfügbarkeitsgaranten.

POLKADOT: VISION FÜR EIN HETEROGENES MULTI-CHAIN-RAHMEN ENTWURF 1 8 Ethereum, wo sie interpretiert und umgesetzt werden können ein Transaktionsweiterleitungsvertrag. In die andere Richtung, Wir sehen die Verwendung speziell formatierter Protokolle (Ereignisse) vor. aus einem „Breakout-Vertrag“ stammen, um eine schnelle Überprüfung zu ermöglichen, dass eine bestimmte Nachricht weitergeleitet werden sollte. 5.5.1. Polkadot bis Ethereum. Durch die Wahl eines BFT Konsensmechanismus mit validators, gebildet aus a Gruppe von Stakeholdern, die durch eine Zustimmungsabstimmung bestimmt wird Mechanismus können wir einen sicheren Konsens mit einem erreichen selten wechselnde und bescheidene Anzahl von validators. In einem System mit insgesamt 144 validators beträgt eine Blockzeit von 4 Sekunden und eine Endgültigkeit von 900 Blöcken (unter Berücksichtigung böswilliger Angriffe). Verhaltensweisen wie Doppelstimmen werden zur Anzeige gebracht, bestraft und repariert), kann die Gültigkeit einer Sperre vernünftigerweise sein Als bewiesen gelten bereits 97 Unterschriften (zwei Drittel von 144 plus eine) und eine anschließende 60-minütige Überprüfungsperiode, in der keine Anfechtungen hinterlegt werden. Ethereum ist in der Lage, einen „Einbruchsvertrag“ zu hosten, der Die 144 Unterzeichner können gepflegt und kontrolliert werden sie. Da die Wiederherstellung der digitalen Signatur mit elliptischer Kurve (ECDSA) nur 3.000 Gase unter dem EVM erfordert, und seitdem Wir möchten wahrscheinlich, dass die Validierung nur auf einem erfolgt Supermehrheit von validators (statt völliger Einstimmigkeit), Die Grundkosten von Ethereum bestätigen, dass eine Anweisung vorliegt wurde ordnungsgemäß validiert, da aus dem Polkadot-Netz nicht mehr als 300.000 Gas stammen würden – lediglich 6 % davon die Gesamtblockgasgrenze liegt bei 5,5 M. Erhöhen der Anzahl der validators (wie es für die Bearbeitung erforderlich wäre). Dutzende Ketten) erhöhen diese Kosten jedoch zwangsläufig Es wird allgemein erwartet, dass die Transaktionsbandbreite von Ethereum im Laufe der Zeit wächst, wenn die Technologie ausgereift ist Infrastruktur verbessert sich. Zusammen mit der Tatsache, dass nicht alle validators müssen beteiligt sein (z. B. nur die höchste). Für eine solche Aufgabe können abgesteckte validators herangezogen werden Die Grenzen dieses Mechanismus erstrecken sich einigermaßen gut. Unter der Annahme einer täglichen Rotation solcher validators (was (ziemlich konservativ – wöchentlich oder sogar monatlich können akzeptabel sein), dann die Kosten für die Wartung des Netzwerks diese Ethereum-Weiterleitungsbrücke wäre etwa 540.000 Gas pro Tag oder, bei den aktuellen Gaspreisen, 45 $ pro Jahr. Eine einfache Transaktion, die allein über die Brücke weitergeleitet wird, würde Kosten verursachen etwa 0,11 $; zusätzliche Vertragsberechnung würde kosten mehr natürlich. Durch Pufferung und Bündelung von Transaktionen Zusammengenommen können die Einbruchsgenehmigungskosten leicht betragen geteilt, wodurch die Kosten pro Transaktion erheblich gesenkt werden; wenn vor der Weiterleitung 20 Transaktionen erforderlich wären, dann Die Kosten für die Weiterleitung einer Basistransaktion würden auf sinken etwa 0,01 $. Eine interessante und kostengünstigere Alternative zu diesem Multisignatur-Vertragsmodell wäre die Verwendung von Schwellenwertsignaturen, um die multilaterale Eigentumssemantik zu erreichen. Während Schwellensignaturschemata für ECDSA sind rechenintensiv, diejenigen für andere Schemata wie Schnorr-Signaturen sind sehr vernünftig. Ethereum plant die Einführung von Grundelementen, die dies ermöglichen würden Schemata, die im kommenden Metropolis-Hardfork günstig zu verwenden sind. Wenn ein solches Mittel genutzt werden könnte, würden die Gaskosten sinken zur Weiterleitung einer Polkadot-Transaktion in den Ethereum Netzwerk würde dramatisch auf nahezu Null reduziert werden Gemeinkosten, die über die Grundkosten für die Validierung hinausgehen Unterschrift und Ausführung der zugrunde liegenden Transaktion. In diesem Modell hätten die validator-Knoten von Polkadot dies getan nichts anderes zu tun, als Nachrichten zu signieren. Damit die Transaktionen tatsächlich an das Netzwerk Ethereum weitergeleitet werden, haben wir Gehen Sie davon aus, dass sich auch die validators selbst dort befinden würden das Ethereum-Netzwerk oder, was wahrscheinlicher ist, kleine Kopfgelder dem ersten Akteur angeboten werden, der die Nachricht weiterleitet an das Netzwerk (das Kopfgeld könnte trivialerweise an das Netzwerk gezahlt werden). Urheber der Transaktion). 5.5.2. Ethereum bis Polkadot. Transaktionen durchführen Die Weiterleitung von Ethereum an Polkadot verwendet den einfachen Begriff der Protokolle. Wenn ein Ethereum-Vertrag eine Transaktion an eine bestimmte Parachain von Polkadot senden möchte, Es muss lediglich ein spezieller „Break-out-Vertrag“ abgeschlossen werden. Der Breakout-Vertrag würde jede mögliche Zahlung erfordern erforderlich sein und eine Protokollierungsanweisung erteilen, damit seine Existenz durch einen Merkle-Beweis und eine Behauptung, dass der Header des entsprechenden Blocks gültig ist, nachgewiesen werden kann kanonisch. Von den beiden letztgenannten Bedingungen ist die Gültigkeit möglicherweise die am einfachsten zu beweisen. Im Prinzip ist die einzige Voraussetzungfür jeden Polkadot-Knoten, der den Beweis benötigt (d. h. ernannte validator-Knoten), um eine vollständig synchronisierte Instanz eines Standard-Ethereum-Knotens auszuführen. Leider ist dies selbst eine ziemlich starke Abhängigkeit. Ein mehr Eine leichte Methode bestünde darin, einen einfachen Beweis dafür zu verwenden Der Header wurde korrekt ausgewertet, indem nur der angegeben wurde Ein Teil des Statusversuchs von Ethereum musste ordnungsgemäß ausgeführt werden Überprüfen Sie die Transaktionen im Block und prüfen Sie, ob die Protokolle (im Blockbeleg enthalten) gültig sind. Solche „SPV-ähnlichen“6 Beweise erfordern möglicherweise noch eine erhebliche Menge an Informationen; Praktischerweise werden sie normalerweise nicht benötigt alle: Ein Bindungssystem innerhalb von Polkadot würde Bindungen ermöglichen Dritte dürfen keine Header einreichen, auf die Gefahr hin, ihre Header zu verlieren Sollte ein anderer Dritter (z. B. ein „Fischer“, siehe 6.2.3) den Nachweis erbringen, dass der Header ungültig ist, kann die Bindung erfolgen (insbesondere, dass die Staatswurzel oder die Empfangswurzel Betrüger waren). In einem nicht finalisierenden PoW-Netzwerk wie Ethereum ist das Kanonizität lässt sich nicht schlüssig beweisen. Um dies zu beheben, versuchen Anwendungen, sich auf irgendeine Art zu verlassen Bei einer kettenabhängigen Ursache-Wirkungs-Beziehung warten Sie auf eine Reihe von „Bestätigungen“ oder bis die abhängige Transaktion eine bestimmte Anzahl von „Bestätigungen“ erreicht hat besondere Tiefe innerhalb der Kette. Am Ethereum, dies Die Tiefe variiert von 1 Block für die am wenigsten wertvollen Transaktionen ohne bekannte Netzwerkprobleme bis zu 1200 Blöcken wie bisher Dies war bei der ersten Frontier-Veröffentlichung für Börsen der Fall. Im stabilen „Homestead“-Netzwerk liegt diese Zahl bei 120 Blöcke für die meisten Börsen, und wir würden wahrscheinlich nehmen ein ähnlicher Parameter. Also wir kann Stell dir vor unsere Polkadot-Seite Ethereuminterface hat einige einfache Funktionen: um in der Lage zu sein Akzeptieren Sie einen neuen Header aus dem Netzwerk Ethereum und validieren Sie den PoW, um einen Beweis dafür akzeptieren zu können, dass a Ein bestimmtes Protokoll wurde vom Breakout-Vertrag auf der Ethereum-Seite für einen Header mit ausreichender Tiefe (und Weiterleitung) ausgegeben die entsprechende Nachricht innerhalb von Polkadot) und schließlich Beweise akzeptieren zu können, dass ein zuvor akzeptiertes aber Der noch nicht in Kraft gesetzte Header enthält einen ungültigen Empfangsstamm. Um tatsächlich die Header-Daten Ethereum selbst zu erhalten (und etwaige SPV-Beweise oder Gültigkeits-/Kanonizitätswiderlegungen) in das Netzwerk Polkadot, ein Anreiz zur Weiterleitung 6SPV bezieht sich auf „Simplified Payment Verification“ in Bitcoin und beschreibt eine Methode für Kunden, Transaktionen zu überprüfen und dabei nur Transaktionen zu überprüfen eine Kopie aller Blockheader der längsten PoW-Kette.POLKADOT: VISION FÜR EIN HETEROGENES MULTI-CHAIN-RAHMEN ENTWURF 1 9 Daten benötigt werden. Dies kann so einfach sein wie eine Zahlung (finanziert aus den auf der Seite Ethereum erhobenen Gebühren) bezahlt an jeden, der einen nützlichen Block weiterleiten kann, dessen Header ist gültig. Um dies zu gewährleisten, müssten Validatoren Informationen zu den letzten paar tausend Blöcken aufbewahren in der Lage sein, Forks zu verwalten, entweder über protokollintrinsische Mittel oder über einen auf dem Server gepflegten Vertrag Relaiskette. 5.6. Polkadot und Bitcoin. Bitcoin Interoperation stellt für Polkadot eine interessante Herausforderung dar: ein sogenanntes „Zwei-Wege-Kopplung“ wäre ein nützliches Stück Infrastruktur auf der Seite beider Netzwerke zu haben. Allerdings aufgrund Die Einschränkungen von Bitcoin gelten für die sichere Bereitstellung eines solchen Stifts ein nicht triviales Unterfangen. Zustellung einer Transaktion von Bitcoin bis Polkadot kann im Prinzip mit einem ähnlichen Verfahren wie für Ethereum erfolgen; eine „Breakout-Adresse“ in irgendeiner Weise durch die Polkadot validators kontrolliert werden könnten Empfangen übertragener tokens (und zusammen mit ihnen gesendeter Daten). SPV-Nachweise könnten durch incentivierte oracles erbracht werden und, zusammen mit einer Bestätigungsfrist, einer Prämie für Identifizieren nicht-kanonischer Blöcke, die die Transaktion implizieren wurde „doppelt ausgegeben“. Alle tokens, die sich dann im Besitz befinden „Breakout-Adresse“ würde dann im Prinzip von denselben validators für eine spätere Verbreitung kontrolliert. Das Problem besteht jedoch darin, wie die Einzahlungen von einem rotierenden validator-Set aus sicher gesteuert werden können. Anders als Ethereum, das in der Lage ist, willkürliche Entscheidungen zu treffen Bei Kombinationen von Signaturen ist Bitcoin im Wesentlichen eingeschränkter, da die meisten Kunden nur Multisignatur-Transaktionen mit maximal drei Parteien akzeptieren. Eine Ausweitung auf 36 oder, wie letztlich gewünscht, sogar auf Tausende, ist nach dem aktuellen Protokoll nicht möglich. Eine Möglichkeit besteht darin, das Protokoll Bitcoin zu ändern, um es zu aktivieren Solche Funktionalitäten gibt es jedoch in sogenannten „Hard Forks“. Bitcoin Welt ist nach jüngsten Versuchen schwer zu arrangieren. Eine Möglichkeit ist die Verwendung von Schwellenwertsignaturen, kryptografische Schemata, um eine eindeutig identifizierbare Öffentlichkeit zu ermöglichen Schlüssel zur effektiven Kontrolle durch mehrere geheime „Teile“, Einige oder alle davon müssen verwendet werden, um eine gültige Signatur zu erstellen. Leider sind Schwellenwertsignaturen kompatibel mit Bitcoins ECDSA sind rechenintensiv erstellen und von polynomialer Komplexität. Andere Schemata wie z Eine Schnorr-Signatur bietet jedoch weitaus geringere Kosten Zeitplan, auf dem sie in die Bitcoin eingeführt werden können Protokoll ist unsicher. Denn die letztendliche Sicherheit der Einlagen liegt bei Eine weitere Möglichkeit besteht darin, eine Reihe gebundener validators zu verwenden Reduzieren Sie die Anzahl der Multi-Signatur-Schlüsselhalter nur stark gebundene Teilmenge der gesamten validators, so dass dieser Schwellenwert vorliegt Signaturen werden machbar (oder schlimmstenfalls Bitcoins native). Mehrfachsignatur ist möglich). Dies reduziert natürlich die Gesamtbetrag der Anleihen, die als Wiedergutmachung abgezogen werden könnten, falls sich die validators illegal verhalten, wie auch immer ist eine elegante Verschlechterung, bei der einfach eine Obergrenze von festgelegt wird die Höhe der Mittel, die sicher zwischen den fließen können zwei Netzwerke (oder tatsächlich, auf die prozentualen Verluste bei einem Angriff). aus den validators erfolgreich). Daher halten wir es für nicht unrealistisch, eine einigermaßen sichere Bitcoin Interoperabilität „virtuelle Parachain“ zu platzieren. zwischen den beiden Netzwerken, obwohl dennoch ein erheblicher Aufwand mit ungewissem Zeitplan und durchaus möglich ist Dies erfordert die Zusammenarbeit der Beteiligten Netzwerk.

세부 프로토콜

프로토콜은 대략 세 가지로 나눌 수 있습니다. 부분: 합의 메커니즘, 파라체인 인터페이스 그리고 인터체인 트랜잭션 라우팅. 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 프로그램에 따른 정부.

Protokoll im Detail

Das Protokoll kann grob in drei Teile unterteilt werden Teile: der Konsensmechanismus, die Parachain-Schnittstelle und Interchain-Transaktionsrouting. 6.1. Relaiskette Betrieb. Die Relaiskette wird Wahrscheinlich handelt es sich dabei um eine Kette, die Ethereum weitgehend ähnelt ist bundesstaatsbasiert, wobei der Bundesstaat die Adresse dem Konto zuordnet Informationen, hauptsächlich Salden und (um Wiederholungen zu verhindern) a Transaktionszähler. Das Platzieren von Konten erfüllt hier einen Zweck: die Bereitstellung von Konten für diejenigen, die Identität besitzen Wie hoch ist der Anteil am System?7 Es wird jedoch bemerkenswerte Unterschiede geben: • Verträge können nicht über Transaktionen bereitgestellt werden. Aufgrund des Wunsches, Anwendungsfunktionalität auf der Relay-Kette zu vermeiden, wird dies nicht der Fall sein Unterstützung der öffentlichen Bereitstellung von Verträgen. • Die Nutzung von Rechenressourcen („Gas“) wird nicht berücksichtigt. da die einzigen Funktionen für die öffentliche Nutzung verfügbar sind behoben werden, das Grundprinzip der Gasabrechnung hält nicht mehr. Daher wird eine Pauschalgebühr erhoben in allen Fällen, sodass in jedem Fall mehr Leistung erzielt werden kann dynamische Codeausführung, die möglicherweise durchgeführt werden muss und ein einfacheres Transaktionsformat. • Für aufgelistete Verträge werden spezielle Funktionen unterstützt, die eine automatische Ausführung und Netzwerknachrichtenausgaben ermöglichen. Für den Fall, dass die Relay-Kette eine VM hat und es sein sollte Basierend auf EVM würde es eine Reihe von Modifikationen aufweisen, um maximale Einfachheit zu gewährleisten. Es wäre wahrscheinlich verfügen über eine Reihe integrierter Verträge (ähnlich denen bei Adressen 1-4 in Ethereum), um eine plattformspezifische Anpassung zu ermöglichen zu verwaltende Aufgaben einschließlich eines Konsensvertrags, a validator-Vertrag und ein Parachain-Vertrag. Wenn nicht EVM, dann ist ein WebAssembly-Backend [2] (wasm) die wahrscheinlichste Alternative. in diesem Fall das Gesamtbild Die Struktur wäre ähnlich, aber es wäre nicht nötig für die integrierten Verträge, wobei Wasm ein realisierbares Ziel ist eher für Allzwecksprachen als für unreife Sprachen und begrenzte Sprachen für EVM. Andere wahrscheinliche Abweichungen vom aktuellen Ethereum-Protokoll sind durchaus möglich, beispielsweise eine Vereinfachung des Transaktionsempfangsformat, das die parallele Ausführung nicht widersprüchlicher Transaktionen innerhalb desselben Blocks ermöglicht, wie für die Serenity-Änderungsreihe vorgeschlagen. Es ist möglich, wenn auch unwahrscheinlich, dass es Serenity-ähnlich ist Als Relay-Chain kann eine „reine“ Kette eingesetzt werden, die Folgendes ermöglicht: Besonderer Vertrag zur Verwaltung von Dingen wie staking token gleicht aus, anstatt dies zu einem grundlegenden Bestandteil zu machen das Protokoll der Kette. Dies halten wir derzeit für unwahrscheinlich wird eine ausreichend große Protokollvereinfachung bieten Die damit verbundene zusätzliche Komplexität und Unsicherheit lohnt sich bei der Entwicklung. 7Diese Stake-Konten sind ein Mittel zur Darstellung des Betrags, den ein bestimmter Inhaber für die Gesamtsicherheit des Systems verantwortlich macht unweigerlich einen wirtschaftlichen Wert verschlüsseln. Es sollte jedoch klar sein, dass keine Absicht besteht, solche Werte zu verwenden In irgendeiner Weise zum Zweck des Austauschs gegen reale Waren und Dienstleistungen sollte dementsprechend beachtet werden, dass die tokens nicht mit ihnen verglichen werden können Währung und als solche behält die Relay-Chain ihre nihilistische Philosophie in Bezug auf Anwendungen bei.POLKADOT: VISION FÜR EIN HETEROGENES MULTI-CHAIN-RAHMEN ENTWURF 1 10 Für die Verwaltung des Konsensmechanismus, des validator-Sets, des Validierungsmechanismus und der Parachains sind eine Reihe kleinerer Funktionalitäten erforderlich. Diese könnten gemeinsam unter einem monolithischen Protokoll implementiert werden. Aus Gründen der Modularität bezeichnen wir diese jedoch als „Verträge“ der Relay-Chain. Das sollte so verstanden werden, dass sie Objekte sind (im Sinne von objektorientierte Programmierung), die vom Konsensmechanismus der Relaychain verwaltet wird, aber nicht unbedingt Sie werden als Programme in EVM-ähnlichen Opcodes definiert, noch sogar, dass sie durch das einzeln ansprechbar sind Kontosystem. 6.2. Absteckvertrag. Dieser Vertrag verwaltet den Satz validator. Es verwaltet: • Welche Konten sind derzeit validators; • die kurzfristig zu validators werden können bemerken; • auf welche Konten die Stake-Nominierung erfolgt ist ein validator; • Eigenschaften jedes einzelnen, einschließlich staking Volumen, akzeptable Auszahlungsraten und Adressen sowie kurzfristige (Sitzungs-)Identitäten. Es ermöglicht einem Konto, den Wunsch zu registrieren, ein zu werden gebundener validator (zusammen mit seinen Anforderungen), um sich für eine Identität zu nominieren und für bereits bestehende gebundene validators, ihren Wunsch zu registrieren, diesen Status zu verlassen. Es auch umfasst die Maschinerie selbst für den Validierungs- und Kanonisierungsmechanismus. 6.2.1. Stake-token Liquidität. Im Allgemeinen ist dies wünschenswert so viel wie möglich von den gesamten staking tokens haben seitdem an den Netzwerkwartungsarbeiten beteiligt Dies verknüpft die Netzwerksicherheit direkt mit der gesamten „Marktkapitalisierung“ des staking token. Dies kann problemlos erfolgen Anreize geschaffen werden, indem die Währung aufgebläht wird und der Erlös an diejenigen ausgeschüttet wird, die als validators teilnehmen. Allerdings stellt dies ein Problem dar: Wenn der token im Einsatzvertrag unter Strafe der Kürzung festgeschrieben ist, wie kann dann ein wesentlicher Anteil ausreichend bleiben? liquide sein, um eine Preisfindung zu ermöglichen? Eine Antwort hierauf besteht darin, einen einfachen Derivatkontrakt zu ermöglichen, der fungible tokens auf einem zugrunde liegenden, abgesteckten token sichert. Dies lässt sich nur schwer vertrauensfrei regeln. Darüber hinaus können diese derivativen tokens nicht gleich behandelt werden, und zwar aus demselben Grund, aus dem die Staatsanleihen verschiedener Eurozonen-Staatsanleihen nicht fungibel sind: dort besteht die Möglichkeit, dass der zugrunde liegende Vermögenswert versagt und wird wertlos. Bei den Regierungen der Eurozone könnte es eine geben Standard. Mit validator-abgesteckten tokens können die validator böswillig handeln und bestraft werden. Im Einklang mit unseren Grundsätzen entscheiden wir uns für die einfachste Lösung: Es werden nicht alle tokens abgesteckt. Das würde das bedeuten Ein gewisser Anteil (vielleicht 20 %) der tokens wird zwangsweise liquide bleiben. Obwohl dies aus sicherheitstechnischer Sicht unvollkommen ist, ist es unwahrscheinlich, dass es einen grundlegenden Unterschied macht die Sicherheit des Netzwerks; 80 % der durch Anleihebeschlagnahmungen möglichen Wiedergutmachung könnten noch geleistet werden im Vergleich zum „perfekten Fall“ von 100 % staking. Das Verhältnis zwischen eingesetzten und liquiden tokens kann relativ einfach durch einen umgekehrten Auktionsmechanismus gesteuert werden. Im Wesentlichen sind token-Inhaber daran interessiert, ein validator zu werden. würde jeweils ein Angebot für den staking-Vertrag veröffentlichen, in dem es heißt: die Mindestauszahlungsrate, die sie in Anspruch nehmen müssten Teil. Zu Beginn jeder Sitzung (Sitzungen würden passieren regelmäßig, vielleicht sogar einmal pro Stunde validator Slots würden je nach Interessenten besetzt Einsatz und Auszahlungsrate von validator. Ein möglicher Algorithmus denn das würde bedeuten, diejenigen mit den niedrigsten Angeboten anzunehmen einen Einsatz darstellen, der nicht höher ist als der angestrebte Gesamteinsatz dividiert durch die Anzahl der Slots und nicht weniger als die Untergrenze der Hälfte dieses Betrags. Wenn die Plätze nicht besetzt werden können, Die Untergrenze könnte wiederholt um einen Faktor verringert werden, um die Anforderungen zu erfüllen. 6.2.2. Nominierung. Es ist möglich, ohne Vertrauen zu nominieren diejenigen staking tokens zu einem aktiven validator und geben ihnen die Verantwortung für die Aufgaben von validators. Nominierung von Werken durch ein Zustimmungs-Abstimmungssystem. Jeder potenzielle Nominierende kann eine Anweisung zum staking-Vertrag veröffentlichen Ausdruck einer oder mehrerer validator Identitäten unter deren Verantwortung, die sie bereit sind, ihrer Bindung anzuvertrauen. In jeder Sitzung werden die Anleihen der Nominierenden verteilt dargestellt durch einen oder mehrere validators. Der Streuungsalgorithmus optimiert für einen Satz von validators gleicher Gesamtzahl Anleihen. Die Anleihen der Nominierenden unterliegen der tatsächlichen Verantwortung des validator aund Interesse gewinnen oder leiden Strafminderung entsprechend. 6.2.3. Beschlagnahmung/Verbrennung von Anleihen. Bestimmtes validator Verhalten führt zu einer Strafminderung ihrer Bindung. Wenn Die Anleihe wird unter das zulässige Minimum reduziert Die Sitzung wird vorzeitig beendet und eine neue gestartet. Eine nicht erschöpfende Liste strafbarer validator Fehlverhaltens umfasst: • Teil einer Parachain-Gruppe sein, die nicht in der Lage ist, etwas bereitzustellen Konsens über die Gültigkeit eines Parachain-Blocks; • aktiv für die Gültigkeit eines Invaliden unterschreiben Parachain-Block; • Unfähigkeit, Ausgangsnutzlasten bereitzustellen als verfügbar abgestimmt; • Inaktivität während des Konsensprozesses; • Validierung von Relay-Chain-Blöcken auf konkurrierenden Forks. Einige Fälle von Fehlverhalten gefährden die Integrität des Netzwerks (z. B. das Signieren ungültiger Parachain-Blöcke und die Validierung mehrerer Seiten eines Forks) und führen daher zu einem effektiven Exil durch die vollständige Reduzierung der Bindung. In andere, weniger schwerwiegende Fälle (z. B. Inaktivität im Konsens). Prozess) oder Fälle, in denen die Schuld nicht genau zugeordnet werden kann (Teil einer ineffektiven Gruppe), ein kleiner Teil Stattdessen kann eine Geldstrafe verhängt werden. Im letzteren Fall dies Funktioniert gut mit der Abwanderung von Untergruppen, um sicherzustellen, dass bösartige Knoten erleiden wesentlich mehr Verlust als die kollateralgeschädigten wohlwollenden Knoten. In einigen Fällen (z. B. Multi-Fork-Validierung und ungültig Unterblocksignierung) validators können das Fehlverhalten der anderen aufgrund der ständigen Überprüfung nicht einfach selbst erkennen eines jeden Parachain-Blocks wäre eine zu mühsame Aufgabe. Hier Es ist notwendig, die Unterstützung externer Parteien zu gewinnen den Validierungsprozess, um ein solches Fehlverhalten zu überprüfen und zu melden. Für die Meldung solcher Aktivitäten erhalten die Parteien eine Belohnung; Ihr Begriff „Fischer“ beruht auf der Unwahrscheinlichkeit einer solchen Belohnung. Da es sich in diesen Fällen typischerweise um sehr schwerwiegende Fälle handelt, gehen wir davon aus, dass etwaige Belohnungen problemlos aus der beschlagnahmten Kaution bezahlt werden können. Generell bevorzugen wir eine ausgeglichene Verbrennung (d. h. Reduktion auf nichts) mit Neuzuweisung, statt Versuch einer umfassenden Umverteilung. Dies hat die Wirkung

POLKADOT: VISION FÜR EIN HETEROGENES MULTI-CHAIN-RAHMEN ENTWURF 1 11 Erhöhen des Gesamtwerts von token, Kompensieren der Netzwerk im Allgemeinen bis zu einem gewissen Grad und nicht im Spezifischen an der Entdeckung beteiligte Partei. Dies dient vor allem der Sicherheit Mechanismus: Die großen Mengen, um die es geht, könnten zu extremen und akuten Verhaltensanreizen führen, wenn sie alle wären einem einzelnen Ziel verliehen. Im Allgemeinen ist es wichtig, dass die Belohnung groß genug ist, damit sich die Verifizierung für das Netzwerk lohnt, aber nicht so groß, dass sie die Kosten für die Bereitstellung eines Netzwerks ausgleicht gut finanzierter, gut orchestrierter Krimineller auf „industrieller Ebene“. Hackerangriff auf einen unglücklichen validator, um Fehlverhalten zu erzwingen. Auf diese Weise sollte der geforderte Betrag in der Regel Nein betragen größer als die direkte Bindung des fehlerhaften validator, damit a Es entsteht ein perverser Anreiz, sich schlecht zu benehmen und sich für das Kopfgeld zu melden. Dem kann entweder explizit entgegengewirkt werden durch eine Mindestanforderung an eine direkte Bindung, um ein zu sein validator oder implizit durch die Aufklärung der Nominatoren darüber, dass validators mit geringen hinterlegten Anleihen keinen großen Anreiz haben sich gut benehmen. 6.3. Parachain-Registrierung. Jede Parachain ist in definiert dieses Register. Es handelt sich um ein relativ einfaches datenbankähnliches Konstrukt, das sowohl statische als auch dynamische Informationen enthält jede Kette. Zu den statischen Informationen gehört der Kettenindex (ein einfacher ganze Zahl), zusammen mit der Validierungsprotokollidentität, a Mittel zur Unterscheidung zwischen den verschiedenen Klassen von Parachain, damit der richtige Validierungsalgorithmus gefunden werden kann wird von validators durchgeführt und hat die Aufgabe, einen gültigen Kandidaten vorzuschlagen. Ein erster Proof-of-Concept würde sich auf die Platzierung konzentrieren Die neuen Validierungsalgorithmen werden in die Clients selbst integriert, sodass jedes Mal ein Hard Fork des Protokolls erforderlich ist Zusätzliche Kettenklassen wurden hinzugefügt. Letztlich aber Möglicherweise kann der Validierungsalgorithmus in angegeben werden eine Art und Weise, die sowohl streng als auch effizient genug ist, dass Kunden es sind in der Lage, effektiv mit neuen Parachains zu arbeiten, ohne eine Hard-Fork. Ein möglicher Weg hierzu wäre die Spezifizierung der Parachain-Validierungsalgorithmus in einem etablierten, nativ kompilierte, plattformneutrale Sprache wie WebAssembly. Um dies festzustellen, sind zusätzliche Untersuchungen erforderlich Ob dies wirklich machbar ist, aber wenn ja, könnte es etwas bringen Damit verbunden ist der enorme Vorteil, Hard-Forks zu verbannen für immer. Dynamische Informationen umfassen Aspekte des Transaktionsroutingsystems, die eine globale Vereinbarung haben müssen, z als Eingangswarteschlange der Parachain (beschrieben in Abschnitt 6.6). Der Registry können nur Parachains hinzugefügt werden durch vollständige Abstimmung über das Referendum; das ließe sich bewerkstelligen intern, würde aber eher in einem externen platziert werden Referendumsvertrag, um die Weiterverwendung zu erleichtern allgemeinere Governance-Komponenten. Die Parameter zu Abstimmungsanforderungen (z. B. erforderliches Quorum, Mehrheit). erforderlich) zur Registrierung zusätzlicher Ketten und anderer, Weniger formelle Systemaktualisierungen werden in einem „Master“ dargelegt Verfassung“, werden aber wahrscheinlich einer ziemlich traditionellen Verfassung folgen Weg, zumindest zunächst. Die genaue Formulierung liegt uns nicht vor Spielraum für die vorliegende Arbeit, aber z.B. eine Zwei-Drittel-Supermehrheit mit mehr als einem Drittel des Gesamtsystems Eine positive Beteiligungsabstimmung kann ein sinnvoller Ausgangspunkt sein. Zu den weiteren Vorgängen gehört das Aufhängen und Entfernen von Fallschirmen. Eine Aussetzung würde es hoffentlich nie geben passieren, aber es soll zumindest als Schutz dienen Es gibt ein hartnäckiges Problem im Validierungssystem einer Parachain. Der offensichtlichste Fall, wo es sein könnte Erforderlich ist ein konsenskritischer Unterschied zwischen Implementierungen, der dazu führt, dass validators nicht in der Lage sind, sich darauf zu einigen Gültigkeit oder Sperren. Der Einsatz von Validatoren wird empfohlen mehrere Client-Implementierungen, damit sie in der Lage sind um ein solches Problem vor der Einziehung der Anleihe zu erkennen. Da es sich bei der Aussetzung um eine Notfallmaßnahme handelt, wäre dies der Fall unter der Schirmherrschaft des dynamischen validator-Votings statt als ein Referendum. Eine Wiedereinsetzung wäre bei beiden möglich aus den validators oder einem Referendum. Die vollständige Entfernung von Parachains wäre nur möglich nach einem Referendum und mit dem erforderlich wäre a erhebliche Schonfrist, um einen ordnungsgemäßen Übergang zu ermöglichen entweder eine eigenständige Kette oder um Teil einer anderen zu werden Konsenssystem. Die Schonfrist würde wahrscheinlich betragen Dies geschieht in der Reihenfolge von Monaten und wird wahrscheinlich pro Kette im Parachain-Register aufgeführt, damit dies anders ist Parachains können unterschiedliche Schonfristen genießen ihr Bedürfnis. 6.4. Relaisblöcke versiegeln. Unter Versiegelung versteht man im Wesentlichen zum Prozess der Kanonisierung; das heißt, Grunddaten welche umwandelnbildet das Original in etwas grundlegend Einzigartiges und Bedeutsames ab. Unter einer PoW-Kette, Versiegelung ist gewissermaßen ein Synonym für Bergbau. In unserem Fall, Dabei handelt es sich um die Sammlung signierter Aussagen von validators über die Gültigkeit, Verfügbarkeit und Kanonizität von a bestimmter Relay-Chain-Block und die Parachain blockiert diesen es repräsentiert. Die Mechanik des zugrunde liegenden Konsensalgorithmus BFT liegt außerhalb des Rahmens dieser Arbeit. Das werden wir Beschreiben Sie es stattdessen mit einem Grundelement, das a annimmt konsensschaffende Staatsmaschine. Letztlich erwarten wir sich von einer Reihe vielversprechender BFT Konsens inspirieren zu lassen Algorithmen im Kern; Tangaora [9] (eine BFT Variante von Raft [16]), Tendermint [11] und HoneyBadgerBFT [14]. Der Algorithmus muss eine Einigung über mehrere Parachains parallel erzielen und unterscheidet sich somit vom Üblichen blockchain Konsensmechanismen. Wir gehen davon einmal aus Sobald ein Konsens erreicht ist, können wir den Konsens aufzeichnen in einem unwiderlegbaren Beweis, der von jedem erbracht werden kann die Teilnehmer dazu. Auch wir gehen von Fehlverhalten aus innerhalb des Protokolls kann generell auf ein kleines Maß reduziert werden Gruppe mit Teilnehmern, die sich schlecht benehmen, sollte minimiert werden der Kollateralschaden bei der Strafzumessung.8 Der Beweis, der die Form unserer signierten Aussagen annimmt, wird zusammen im Header des Relay-Chain-Blocks platziert mit bestimmten anderen Feldern, nicht zuletzt dem Statetrie-Root und dem Transaction-Trie-Root der Relay-Kette. Die Versiegelung Prozess dauert Ort unter a Single konsensgenerierend Mechanismus Adressierung beides die Der Block der Relay-Chain und die Blöcke der Parachains, die machen Teil des Inhalts des Relays: Parachains werden von ihren Untergruppen nicht separat „festgeschrieben“ und dann zusammengestellt später. Dies führt zu einem komplexeren Prozess für die Relaychain, ermöglicht es uns aber, den Konsens des gesamten Systems in einer einzigen Phase zu vervollständigen, wodurch die Latenz minimiert und ermöglicht wird für recht komplexe Datenverfügbarkeitsanforderungen hilfreich für den Routing-Prozess unten. 8Bestehende PoS-basierte BFT-Konsensschemata wie Tendermint BFT und der ursprüngliche Slasher erfüllen diese Behauptungen.

POLKADOT: VISION FÜR EIN HETEROGENES MULTI-CHAIN-RAHMEN ENTWURF 1 12 Der Zustand der Konsensmaschine jedes Teilnehmers kann sein als einfache (zweidimensionale) Tabelle modelliert werden. Jeder Teilnehmer (validator) verfügt über eine Reihe von Informationen im Formular von unterzeichneten Erklärungen („Stimmen“) anderer Teilnehmer zu jedem Parachain-Block-Kandidaten sowie zum Relaychain-Block-Kandidaten. Der Informationssatz besteht aus zwei Teilen der Daten: Verfügbarkeit: tut dies validator habe Ausgang Transaktions-Post-Informationen aus diesem Block also Sind sie in der Lage, Parachain-Kandidaten im folgenden Block ordnungsgemäß zu validieren? Sie dürfen abstimmen entweder 1 (bekannt) oder 0 (noch nicht bekannt). Sobald sie Stimme 1, sie sind entschlossen, in ähnlicher Weise dafür zu stimmen der Rest dieses Prozesses. Spätere Abstimmungen, bei denen dies nicht der Fall ist Respekt, das ist ein Strafgrund. Gültigkeit: Ist der Parachain-Block gültig und ist alles? extern referenzierte Daten (z.B. Transaktionen) verfügbar? Dies ist nur für validators relevant, die der Parachain zugeordnet sind, über die sie abstimmen. Sie können entweder mit 1 (gültig), -1 (ungültig) oder 0 stimmen (noch nicht bekannt). Sobald sie ungleich Null stimmen, sind sie sind entschlossen, für den Rest auf diese Weise abzustimmen der Prozess. Spätere Abstimmungen, die dies nicht respektieren sind Strafgründe. Alle validators müssen Stimmen abgeben; Abstimmungen können unter Einhaltung der oben genannten Regeln erneut eingereicht werden. Der Fortschritt von Der Konsens kann als mehrere Standardkonsensalgorithmen über jede Parachain modelliert werden, die parallel stattfinden. Da diese möglicherweise durch eine relativ vereitelt werden Eine kleine Minderheit böswilliger Akteure konzentriert sich darauf Es besteht allgemeiner Konsens darüber, dass es sich um eine einzelne Parachain-Gruppe handelt Richten Sie eine Rücksicherung ein, um das Worst-Case-Szenario einzudämmen Deadlock zu lediglich einem oder mehreren ungültigen Parachain-Blöcken (und eine Runde der Bestrafung der Verantwortlichen). Die Grundregeln für die Gültigkeit der einzelnen Blöcke (Damit kann die Gesamtmenge der validators als Ganzes erreicht werden Konsens darüber, dass es der einzigartige Parachain-Kandidat wird vom kanonischen Relay referenziert werden): • Es müssen mindestens zwei Drittel der validators positiv und keines davon negativ stimmen; • Es muss mehr als ein Drittel der validators geben, die positiv über die Verfügbarkeit von Informationen zur Ausgangswarteschlange stimmen. Gibt es mindestens ein positives und mindestens ein negatives Votum zur Gültigkeit, entsteht eine Ausnahmebedingung und die gesamte Gruppe von validators muss abstimmen, um zu entscheiden wenn es böswillige Parteien gibt oder wenn ein Unfall vorliegt Gabel. Neben gültigen und ungültigen Stimmen gibt es noch eine dritte Art von Stimmen sind erlaubt, gleichbedeutend damit, für beide zu stimmen, was bedeutet, dass Der Knoten hat widersprüchliche Meinungen. Dies könnte daran liegen Der Eigentümer des Knotens führt mehrere Implementierungen aus, die dies tun nicht einverstanden, was auf eine mögliche Unklarheit im Protokoll hinweist. Nachdem alle Stimmen aus dem gesamten validator-Satz gezählt wurden, wenn die unterlegene Meinung hat zumindest einen kleinen Anteil (zu parametrisiert sein; höchstens die Hälfte, vielleicht deutlich weniger) der Stimmen der siegreichen Meinung, dann wird davon ausgegangen Wenn es sich um eine versehentliche Parachain-Gabel handelt, wird die Parachain automatisch vom Konsensprozess ausgeschlossen. Andernfalls gehen wir davon aus, dass es sich um eine böswillige Handlung handelt und ahnden diese Minderheit, die für die abweichende Meinung stimmte. Den Abschluss bildet eine Reihe demonstrierender Unterschriften Kanonizität. Anschließend kann der Relaiskettenblock versiegelt werden und der Prozess der Versiegelung des nächsten Blocks begann. 6.5. Verbesserungen beim Versiegeln von Relaisblöcken. Während Diese Dichtungsmethode bietet starke Garantien für den Systembetrieb, sie lässt sich jedoch nicht besonders gut skalieren da die Schlüsselinformationen jeder Parachain ihre eigenen haben müssen Verfügbarkeit garantiert von über einem Drittel aller validators. Dies bedeutet, dass der Verantwortungs-Fußabdruck jedes validator wächst, wenn weitere Ketten hinzugefügt werden. Während Datenverfügbarkeit innerhalb offener Konsensnetzwerke Da es sich im Wesentlichen um ein ungelöstes Problem handelt, gibt es Möglichkeiten, den Overhead für validator-Knoten zu verringern. Eine einfache Die Lösung besteht darin, zu erkennen, dass validators zwar schultern müssen Obwohl sie die Verantwortung für die Datenverfügbarkeit tragen, müssen sie die Daten nicht selbst speichern, kommunizieren oder replizieren. Sekundäre Datensilos, möglicherweise im Zusammenhang mit (oder sogar im selben Zusammenhang). (gleiche) Erfasser, die diese Daten zusammenstellen, dürfen die verwalten Die Aufgabe besteht darin, die Verfügbarkeit zu gewährleisten, wobei die validators einen Teil ihrer Zinsen/Einnahmen als Zahlung leisten. Obwohl dies zwar eine gewisse mittlere Skalierbarkeit erkaufen könnte, löst es das zugrunde liegende Problem jedoch nicht. seitdem Das Hinzufügen weiterer Ketten erfordert im Allgemeinen zusätzliche validators, der laufende Netzwerkressourcenverbrauch (insbesondere in Bezug auf die Bandbreite) wächst mit dem Quadrat von dieKetten, eine auf Dauer unhaltbare Eigenschaft. Letztendlich werden wir uns wahrscheinlich weiterhin den Kopf zerbrechen gegen die grundlegende Einschränkung, die das besagt Ein Konsensnetzwerk gilt als verfügbar und sicher Der laufende Bandbreitenbedarf liegt in der Größenordnung von insgesamt validators mal die gesamten Eingabeinformationen. Das liegt daran die Unfähigkeit eines nicht vertrauenswürdigen Netzwerks, die Aufgabe der Datenspeicherung ordnungsgemäß auf viele Knoten zu verteilen, die sitzen abgesehen von der eminent verteilbaren Aufgabe der Verarbeitung. 6.5.1. Einführung in die Latenz. Eine Möglichkeit, dies abzumildern Die Regel besteht darin, den Begriff der Unmittelbarkeit zu lockern. Indem wir verlangen, dass 33 %+1 validators nur irgendwann und nicht sofort für die Verfügbarkeit stimmen, können wir die exponentielle Datenausbreitung besser nutzen und dazu beitragen, Spitzen beim Datenaustausch auszugleichen. Eine vernünftige Gleichheit (wenn auch unbewiesen) kann sein: (1) Latenz = Teilnehmer × Ketten Unter dem aktuellen Modell skaliert die Größe des Systems mit der Anzahl der Ketten, um sicherzustellen, dass die Verarbeitung erfolgt verteilt; da jede Kette mindestens einen validator benötigt und wir den Verfügbarkeitsnachweis auf eine Konstante festlegen Anteil von validators, dann wächst die Zahl der Teilnehmer ebenfalls mit der Anzahl der Ketten. Am Ende haben wir: (2) Latenz = Größe2 Das heißt, wenn das System wächst, sind die erforderliche Bandbreite und die Latenz bis zur Verfügbarkeit überall bekannt Netzwerk, das auch als Nummer bezeichnet werden könnte der Blöcke vor der Endgültigkeit, wächst mit seinem Quadrat. Das ist Es ist ein erheblicher Wachstumsfaktor und könnte sich als erhebliches Hindernis erweisen und uns in „nicht flache“ Paradigmen zwingen wie zum Beispiel das Zusammenstellen mehrerer „Polkadotes“ in einer Hierarchie für die mehrstufige Weiterleitung von Posts durch einen Baum von Relaychains.

POLKADOT: VISION FÜR EIN HETEROGENES MULTI-CHAIN-RAHMEN ENTWURF 1 13 6.5.2. Öffentlichkeitsbeteiligung. Eine weitere mögliche Richtung ist die Einbeziehung der Öffentlichkeit in den Prozess durch a Mikro-Beschwerdesystem. Ähnlich wie die Fischer dort könnten externe Parteien sein, die die validators überwachen, die Ansprüche geltend machen Verfügbarkeit. Ihre Aufgabe besteht darin, jemanden zu finden, der offenbar nicht in der Lage ist, eine solche Verfügbarkeit nachzuweisen. Dabei tun sie kann eine Mikrobeschwerde bei anderen validators einreichen. PoW oder Eine abgesteckte Anleihe kann verwendet werden, um den Sybil-Angriff abzuschwächen was das System weitgehend unbrauchbar machen würde. 6.5.3. Verfügbarkeitsgarantien. Ein letzter Weg wäre Nominieren Sie einen zweiten Satz gebundener validators als „Verfügbarkeit“. Bürgen“. Diese werden wie die normalen validators verklebt und können sogar aus demselben Set stammen (In diesem Fall würden sie jedoch über einen langfristigen Zeitraum ausgewählt, zumindest pro Sitzung). Im Gegensatz zu normalen validators sind sie würde nicht zwischen Parachains wechseln, sondern eher Bilden Sie eine einzige Gruppe, um die Verfügbarkeit aller wichtigen Interchain-Daten zu bestätigen. Dies hat den Vorteil, dass die Äquivalenz zwischen Teilnehmern und Ketten gelockert wird. Im Wesentlichen können Ketten wachsen (zusammen mit der ursprünglichen Kette validator gesetzt), wohingegen Die Teilnehmer, und insbesondere diejenigen, die am Test zur Datenverfügbarkeit teilnehmen, können zumindest sublinear bleiben und möglicherweise konstant. 6.5.4. Collator-Einstellungen. Ein wichtiger Aspekt dabei Das System besteht darin, sicherzustellen, dass es eine gesunde Auswahl gibt Collatoren, die die Blöcke in einer beliebigen Parachain erstellen. Wenn ein Ein einzelner Collator dominierte eine Parachain und dann einige Angriffe machbarer werden, da die Wahrscheinlichkeit des Mangels an Die Verfügbarkeit externer Daten wäre weniger offensichtlich. Eine Möglichkeit besteht darin, Parachain-Blöcke künstlich zu beschweren ein pseudozufälliger Mechanismus, um eine große Vielfalt an Collatoren zu begünstigen. Im ersten Fall würden wir verlangen als Teil des Konsensmechanismus, den validators bevorzugen Parachain-Block-Kandidaten gelten als „schwerer“. Ebenso müssen wir validators dazu anregen, es zu versuchen Schlagen Sie den schwersten Block vor, den sie finden können – das könnte sein Dies geschieht, indem ein Teil ihrer Belohnung proportional zum Gewicht ihres Kandidaten gemacht wird. Um sicherzustellen, dass den Zusammenstellern eine angemessene Fairness geboten wird Chance, dass ihr Kandidat als Sieger ausgewählt wird Kandidaten im Konsens, wir machen das spezifische Gewicht von a Parachain-Blockkandidaten bestimmen anhand einer Zufallsfunktion, die mit jedem Collator verbunden ist. Zum Beispiel nehmen das XOR-Abstandsmaß zwischen der Adresse des Sortierers und eine kryptografisch sichere Pseudozufallszahl nahe dem Punkt des zu erstellenden Blocks bestimmt (ein fiktives „Gewinnticket“). Dies gibt effektiv jedem Zusammensteller (oder genauer gesagt die Adresse jedes Zusammenstellers) a zufällige Chance, dass ihr Kandidatenblock „siegt“. alle anderen. Um den Sybil-Angriff eines einzelnen Collators abzuschwächen, der eine Adresse in der Nähe des Gewinnscheins „schürft“ und sich somit befindet Wenn wir jeden Block zu einem Favoriten machen, fügen wir der Adresse eines Collators etwas Trägheit hinzu. Das kann so einfach sein, wie sie zu verlangen um einen Grundbetrag an Mitteln in der Adresse zu haben. Ein mehr Ein eleganter Ansatz wäre es, die Nähe zum zu gewichten Gewinnschein mit dem auf dem geparkten Geldbetrag Adresse in Frage. Während die Modellierung noch aussteht, Es ist durchaus möglich, dass dieser Mechanismus sogar sehr viel ermöglicht kleine Stakeholder, die als Zusammensteller mitwirken können. 6.5.5. Übergewichtige Blockaden. Wenn ein validator-Set kompromittiert ist, können sie einen Block erstellen und vorschlagen, der jedoch funktioniert gültig, die Ausführung nimmt übermäßig viel Zeit in Anspruch und validieren. Dies ist ein Problem, da eine validator-Gruppe dies könnte vernünftigerweise einen Block bilden, dessen Herstellung sehr lange dauert ausführen, es sei denn, eine bestimmte Information ist bereits bekannt und ermöglicht eine Abkürzung, z. B. Faktorisierung eines großen Primzahl. Wenn ein einzelner Zusammensteller diese Informationen wüsste, dann Sie hätten einen klaren Vorteil, wenn sie ihre eigenen bekämen Kandidaten nahmen an, solange die anderen mit der Bearbeitung des alten Blocks beschäftigt waren. Wir nennen diese Blöcke Übergewicht. Der Schutz vor der Übermittlung und Validierung dieser Blöcke durch validators erfolgt größtenteils unter dem gleichen Deckmantel wie für ungültige Blöcke, jedoch mit einer zusätzlichen Einschränkung: Da die Zeit, die zum Ausführen eines Blocks benötigt wird (und damit sein Status als). Übergewicht) ist subjektiv, das Endergebnis einer Abstimmung Fehlverhalten lässt sich im Wesentlichen in drei Lager einteilen. Eins Es besteht die Möglichkeit, dass der Block definitiv nicht übergewichtig ist. in diesem Fall erklären mehr als zwei Drittel, dass sie es könnten Führen Sie den Block innerhalb einer bestimmten Grenze aus (z. B. 50 % der zwischen den Blöcken zulässigen Gesamtzeit). Ein weiterer Grund ist, dass die Block ist ddefinitiv übergewichtig – das wäre, wenn mehr als Zwei Drittel erklären, dass sie den Block nicht ausführen konnten innerhalb dieser Grenze. Eine letzte Möglichkeit ist eine ziemlich gleiche Meinungsverschiedenheit zwischen validators. In diesem Fall können wir sich dafür entscheiden, eine angemessene Strafe zu verhängen. Um sicherzustellen, dass validators vorhersagen können, wann dies der Fall sein wird Wenn Sie einen übergewichteten Block vorschlagen, kann es sinnvoll sein, von ihnen zu verlangen, dass sie Informationen über ihre eigene Leistung für jeden Block veröffentlichen. Über einen ausreichenden Zeitraum hinweg Dies sollte es ihnen ermöglichen, ihre Verarbeitungsgeschwindigkeit zu profilieren im Vergleich zu den Kollegen, die sie beurteilen würden. 6.5.6. Collator-Versicherung. Ein Problem bleibt für validators bestehen: Anders als bei PoW-Netzwerken, um die eines Collators zu überprüfen Um die Gültigkeit eines Blocks zu gewährleisten, müssen sie die darin enthaltenen Transaktionen tatsächlich ausführen. Böswillige Sortierer können ungültige oder übergewichtige Blöcke an validators weiterleiten, was ihnen Kummer (Verschwendung) bereitet ihre Ressourcen) und möglicherweise erhebliche Opportunitätskosten verursachen. Um dies zu mildern, schlagen wir eine einfache Strategie vor Teil von validators. Zunächst werden Kandidaten für den Parachain-Block gesendet bis validators müssen von einem Relay-Chain-Konto signiert werden mit Mitteln; Ist dies nicht der Fall, sollte validator gelöscht werden es sofort. Zweitens sollten solche Kandidaten durch eine Kombination (z. B. Multiplikation) von priorisiert werden der Betrag des Guthabens auf dem Konto bis zu einer gewissen Obergrenze, die Anzahl der vorherigen Blöcke, die der Collator in der Vergangenheit erfolgreich vorgeschlagen hat (ganz zu schweigen von den vorherigen). Strafen) und der Nähefaktor zum Gewinner Ticket wie zuvor besprochen. Die Kappe sollte gleich sein als Strafschadenersatz, der in diesem Fall an validator gezahlt wurde von ihnen sendet einen ungültigen Block. Um Sortierer davon abzuhalten, ungültige oder übergewichtige Blockkandidaten an validators zu senden, kann jeder validator dies tun Platzieren Sie im nächsten Block eine Transaktion, einschließlich des beleidigenden Blocks, in dem ein Fehlverhalten behauptet wird, mit der Folge, dass einige oder alle Gelder in den sich schlecht benehmenden Zusammensteller übertragen werden Konto an den Geschädigten validator. Diese Art von Transaktion geht allen anderen voraus, um sicherzustellen, dass der Collator dies nicht kann Entfernen Sie die Gelder vor der Bestrafung. Die Menge an Die Höhe der als Schadensersatz überwiesenen Gelder ist noch ein dynamischer Parameter

POLKADOT: VISION FÜR EIN HETEROGENES MULTI-CHAIN-RAHMEN ENTWURF 1 14 muss modelliert werden, wird aber wahrscheinlich ein Teil der Blockbelohnung validator sein, um das Ausmaß der verursachten Trauer widerzuspiegeln. Zu Um zu verhindern, dass böswillige validators die Gelder der Sammler willkürlich beschlagnahmen, kann der Sammler im Gegenzug bei einer Jury aus zufällig ausgewählten validators gegen die Entscheidung des validator Berufung einlegen für die Hinterlegung einer kleinen Anzahlung. Wenn sie zugunsten des validator entscheiden, wird die Kaution von ihnen verbraucht. Wenn nicht, wird die Die Kaution wird zurückerstattet und der validator wird mit einer Geldstrafe belegt (da der validator ist in einer viel gewölbteren Position, der feine Wille wahrscheinlich ziemlich heftig sein). 6.6. Interchain Transaktion Routenführung. Interchain Das Transaktionsrouting ist eine der wesentlichen Wartungsarbeiten Aufgaben der Relay-Chain und ihrer validators. Das ist das Logik, die regelt, wie eine gebuchte Transaktion (oft mit einfach „Buchung“ abgekürzt) zu einer gewünschten Ausgabe wird von einer Quell-Parachain zu einem nicht verhandelbaren Input einer anderen Ziel-Parachain ohne jegliches Vertrauen Anforderungen. Wir wählen die obige Formulierung sorgfältig aus; vor allem wir Es ist nicht erforderlich, dass in der Quelle eine Transaktion stattgefunden hat Parachain hat diesen Beitrag ausdrücklich genehmigt. Der Einzige Die Einschränkungen, die wir unserem Modell auferlegen, sind Parachains bereitgestellt werden müssen, verpackt als Teil ihres Gesamtblocks Verarbeitungsausgabe, die Beiträge, die das Ergebnis der sind Blockausführung. Diese Posts sind als mehrere FIFO-Warteschlangen strukturiert; die Die Anzahl der Listen wird als Routing-Basis bezeichnet und kann sein etwa 16. Bemerkenswert ist, dass diese Zahl die Menge darstellt von Parachains, die wir unterstützen können, ohne darauf zurückgreifen zu müssen Mehrphasen-Routing. Zunächst wird Polkadot dies unterstützen Art der direkten Weiterleitung, wir werden jedoch eine Möglichkeit skizzieren Mehrphasen-Routing-Verfahren („Hyper-Routing“) als Mittel der Skalierung weit über den anfänglichen Satz von Parachains hinaus. Wir annehmen das alle Teilnehmer wissen die Untergruppierungen für die nächsten beiden Blöcke n, n + 1. Zusammenfassend lässt sich sagen, dass die Das Routing-System folgt diesen Schritten: • CollatorS: Kontaktieren Sie Mitglieder von V alidators[n][S] • CollatorS: FÜR JEDE Untergruppe: Stellen Sie sicher, dass at Mindestens 1 Mitglied von Validators[n][s] in Kontakt • Sortierer: FÜR JEDE Untergruppe s: annehmen egress[n −1][s][S] ist verfügbar (alle eingehenden Beiträge). Daten an „S“ vom letzten Block) • Sortierer: Verfassen Sie den Blockkandidaten b für S: (b.header, b.ext, b.proof, b.receipt, b.egress) • Sortierer: Senden Beweis Informationen Beweis[S] = (b.header, b.ext, b.proof, b.receipt) zu Validatoren[n][S] • CollatorS: Sicherstellung externer Transaktionsdaten b.ext wird anderen Sortierern und validators zur Verfügung gestellt • Sortierer: FÜR JEDER Untergruppe s: Senden Ausgang Informationen Ausgang[n][S][s] = (b.header, b.receipt, b.egress[s]) zu die Empfangen Untergruppen Mitglieder von als nächstes blockieren Validatoren[n + 1][s] • ValidatorV: Alle Mitglieder derselben Gruppe vorab verbinden für den nächsten Block: sei N = Chain[n + 1][V ]; verbinden alle validators v so dass Chain[n + 1][v] = N • ValidatorV: Sammeln Sie dazu alle eingehenden Daten Block: FÜR JEDER Untergruppe s: Abrufen egress[n −1][s][Chain[n][V ]], erhalte von anderen validators v, so dass Chain[n][v] = Chain[n][V ]. Möglicherweise werden zufällig ausgewählte andere validators zum Nachweis des Versuchs herangezogen. • ValidatorV: Akzeptieren Sie hierfür Kandidatennachweise Blockbeweis[Kette[n][V ]]. Gültigkeit des Abstimmungsblocks • ValidatorV: Akzeptieren Sie die Ausgangsdaten des Kandidaten für nächster Block: Akzeptieren Sie für jede Untergruppe Ausgang[n][s][N]. Verfügbarkeit von Vote-Block-Ausgangsdaten; unter interessierten validators erneut veröffentlichen v so dass Kette[n + 1][v] = Kette[n + 1][V ]. • V alidatorV: BIS ZUM KONSENS Wobei: egress[n][from][to] die aktuelle Ausgangswarteschlange ist Informationen für Beiträge, die von Parachain „von“ zu „gehen“. Parachain „to“ in Blocknummer „n“. CollatorS ist ein Collator für Parachain S. V alidators[n][s] ist die Menge von validators für Parachain s bei Blocknummer n. Umgekehrt, Chain[n][v] ist die Parachain, der validator v im Block Nummer n zugewiesen ist. block.egress[to] ist der Ausgang Warteschlange mit Beiträgen von einem Parachain-Blockblock, dessen Ziel Parachain ist. Da Collators (Transaktions-)Gebühren auf der Grundlage von erheben Ihre Blöcke werden kanonisch, zu denen sie einen Anreiz haben Stellen Sie sicher, dass für jedes nächste Blockziel die Untergruppe Mitglieder werden ab sofort über die Ausgangswarteschlange informiert blockieren. Validatoren werden nur dazu angeregt, einen Konsens über einen (Parachain-)Block zu erzielen, und kümmern sich daher wenig darum welcher Collator-Block letztendlich kanonisch wird. In Prinzipiell könnte ein validator eine Allianz mit einem Sammler eingehen und sich verschwören, um die Chancen anderer Sammler zu verringern. Blöcke werden kanonisch, aber das ist beides schwierig aufgrund der Zufallsauswahl zu arrangierenFunktion von validators für Parachains und könnten mit einer Reduzierung der Gebühren für Parachain-Blöcke, die sich halten, abgewehrt werden der Konsensprozess. 6.6.1. Externe Datenverfügbarkeit. Sicherstellung eines Fallschirms Die Frage, ob externe Daten tatsächlich verfügbar sind, ist ein Dauerproblem dezentrale Systeme, die darauf abzielen, die Arbeitslast zu verteilen das Netzwerk. Im Kern geht es um die Verfügbarkeit Problem, das besagt, dass dies nicht möglich ist Erstellen Sie einen nicht interaktiven Verfügbarkeitsnachweis noch irgendeiner Art des Nachweises der Nichtverfügbarkeit, damit ein BFT-System ordnungsgemäß funktioniert Validieren Sie jeden Übergang, dessen Richtigkeit davon abhängt Verfügbarkeit einiger externer Daten, die maximale Anzahl von akzeptablen byzantinischen Knoten plus einem des Systems muss bescheinigen, dass die Daten verfügbar sind. Damit ein System wie Polkadot ordnungsgemäß skaliert werden kann, ist Folgendes erforderlich Lädt ein Problem ein: wenn ein konstanter Anteil von validators muss die Verfügbarkeit der Daten bescheinigen und davon ausgehen dass validators die Daten tatsächlich speichern wollen, bevor sie behaupten, dass sie verfügbar sind, wie können wir das dann vermeiden? Problem, dass der Bandbreiten-/Speicherbedarf mit der Systemgröße (und damit der Anzahl der validators) zunimmt? Eine mögliche Antwort wäre ein separates Set von validators (Verfügbarkeitsgaranten), deren Bestellung wächst sublinear mit der Größe von Polkadot als Ganzes. Das ist beschrieben in 6.5.3. Wir haben auch einen sekundären Trick. Als Gruppe haben die Zusammensteller einen intrinsischen Anreiz, dafür zu sorgen, dass alle Daten vorhanden sind verfügbar für ihre gewählte Parachain, da sie ohne diese sind nicht in der Lage, weitere Blöcke zu erstellen, aus denen sie können Transaktionsgebühren erheben. Auch die Zusammensteller bilden eine Gruppe, deren Mitgliederzahl unterschiedlich ist (aufgrund der Zufälligkeit). Parachain validator Gruppen) nicht trivial und einfach einzugeben

POLKADOT: VISION FÜR EIN HETEROGENES MULTI-CHAIN-RAHMEN ENTWURF 1 15 zu beweisen. Aktuelle Collatoren (vielleicht der letzten paar tausend Blöcke) dürfen daher Herausforderungen an stellen die Verfügbarkeit externer Daten für eine bestimmte Parachain Block an validators für eine kleine Kaution. Validatoren müssen diejenigen aus der offensichtlich beleidigenden validator-Untergruppe kontaktieren, die ausgesagt haben, und entweder die Daten beschaffen und an den Ermittler zurücksenden oder die Sache eskalieren Sachverhalt durch Aussage über die mangelnde Verfügbarkeit (die direkte Weigerung, die Daten bereitzustellen, gilt als Straftat zur Beschlagnahmung von Anleihen, daher wird der sich schlecht benehmende validator wahrscheinlich gerechtfertigt sein). Trennen Sie die Verbindung) und kontaktieren Sie weitere validators um den gleichen Test durchzuführen. Im letzteren Fall die Bürgschaft des Gläubigers wird zurückgegeben. Sobald ein Quorum von validators erreicht ist, die solche Nichtverfügbarkeitszeugnisse abgeben können, werden sie freigelassen Eine sich schlecht benehmende Untergruppe wird bestraft und die Sperre aufgehoben. 6.6.2. Weiterleitung von Beiträgen. Jeder Parachain-Header enthält eine Egress-Trie-Root; Dies ist die Wurzel eines Versuchs, der das enthält Routing-basierte Bins, wobei jede Bin eine verkettete Liste ist von Egress-Posts. Merkle-Beweise können quer vorgelegt werden Parachain validators, um zu beweisen, dass es sich um eine bestimmte Parachain handelt Der Block hatte eine bestimmte Ausgangswarteschlange für eine bestimmte Zielparachain. Zu Beginn der Verarbeitung jeweils ein Parachain-Block Die Ausgangswarteschlange einer anderen Parachain ist für diesen Block bestimmt in die Eingangswarteschlange unseres Blocks eingefügt. Wir gehen von starken, wahrscheinlich CSPR9, Unterblockreihenfolge, um eine deterministische Operation zu erreichen, die keine Bevorzugung zwischen irgendwelchen bietet Paarung von Parachain-Blöcken. Collators berechnen die neue Warteschlange und entleeren Sie die Ausgangswarteschlangen entsprechend der Parachain Logik. Der Inhalt der Eingangswarteschlange wird explizit geschrieben in den Parachain-Block. Dies hat zwei Hauptzwecke: Erstens bedeutet dies, dass die Parachain isoliert von den anderen Parachains vertrauenswürdig synchronisiert werden kann. Zweitens, Es vereinfacht die Datenlogistik für den gesamten Eingang Warteschlange kann nicht in einem einzelnen Block verarbeitet werden; validators und Collators können folgende Blöcke verarbeiten ohne die Daten der Warteschlange speziell beschaffen zu müssen. Wenn die Eingangswarteschlange der Parachain über einem Schwellenwert liegt Betrag am Ende der Blockverarbeitung, dann wird er markiert Die Relaiskette ist gesättigt und es dürfen keine weiteren Nachrichten gesendet werden bis zur Freigabe an ihn geliefert werden. Merkle-Beweise sind Wird verwendet, um die Betriebstreue des Zusammentragers zu demonstrieren der Beweis des Parachain-Blocks. 6.6.3. Kritik. Ein kleiner Fehler in Bezug auf dieses Basic Mechanismus ist der Post-Bomben-Anschlag. Hier ist alles Parachains senden die größtmögliche Anzahl an Beiträgen zu einer bestimmten Parachain. Während dies das Ziel fesselt Ingress-Warteschlange auf einmal, es entsteht kein darüber hinausgehender Schaden ein Standard-Transaktions-DoS-Angriff. Normaler Betrieb, mit einer Reihe gut synchronisierter und nicht böswillige Collators und validators, für N Parachains, N × M insgesamt validators und L Collatoren pro Parachain, wir kann die gesamten Datenpfade pro Block aufschlüsseln in: Validator: M −1+L+L: M −1 für die anderen validators im Parachain-Satz L für jeden Collator, der einen Kandidaten-Parachain-Block bereitstellt, und ein zweites L für jeden Collator des nächsten Blocks, der die Ausgangsnutzlasten des vorherigen Blocks erfordert. (Letzteres entspricht eher dem schlimmsten Fall Betrieb, da es wahrscheinlich ist, dass Sortierer diesen gemeinsam nutzen werden Daten.) Collator: M + kN: M für eine Verbindung zu jedem relevanten Parachain-Block validator, kN zum Seeding der Ausgangsnutzlasten an eine Teilmenge jeder Parachain-validator-Gruppe für der nächste Block (und möglicherweise einige bevorzugte Collator(s)). Daher wachsen die Datenpfadwege pro Knoten linear mit der Gesamtkomplexität des Systems. Während dies so ist angemessen, da das System in Hunderte oder Tausende von Parachains skaliert wird, kann es zu einer gewissen Kommunikationslatenz kommen im Austausch für eine geringere Komplexitätswachstumsrate absorbiert werden. In diesem Fall kann ein mehrphasiger Routing-Algorithmus verwendet werden um die Anzahl der momentanen Pfade zu reduzieren auf Kosten der Einführung von Speicherpuffern und Latenz. 6.6.4. Hyper-Cube-Routing. Hyper-Cube-Routing ist ein Mechanismus, der meist als Erweiterung zum erstellt werden kann oben beschriebener grundlegender Routing-Mechanismus. Im Wesentlichen, Anstatt die Knotenkonnektivität mit der Anzahl der Parachains und Untergruppenknoten zu erhöhen, wachsen wir nur mit der Logarithmus von Parachains. Beiträge können zwischen diesen verschoben werden Mehrere Parachain-Warteschlangen auf dem Weg zur endgültigen Lieferung. Das Routing selbst ist deterministisch und einfach. Wir beginnen mit Begrenzung der Anzahl der Bins in den Eingangs-/Ausgangswarteschlangen; anstatt die Gesamtzahl der Parachains zu sein, sie sind dieRouting-Basis (b) . Dies wird als Nummer festgelegt von Parachains ändert sich, wobei stattdessen der Routing-Exponent (e) erhöht wird. Unter diesem Modell ist unser Nachrichtenvolumen wächst mit O(be), wobei die Pfade konstant bleiben und die Latenz (oder Anzahl der für die Zustellung erforderlichen Blöcke) mit O(e). Unser Routing-Modell ist ein Hyperwürfel mit E-Dimensionen. wobei jede Seite des Würfels b mögliche Orte hat. In jedem Block leiten wir Nachrichten entlang einer einzelnen Achse weiter. Wir alternieren die Achsen im Round-Robin-Verfahren und garantieren so die Lieferzeit von e-Blöcken im ungünstigsten Fall. Im Rahmen der Parachain-Verarbeitung fremdgebunden Nachrichten, die in der Eingangswarteschlange gefunden werden, werden sofort an den entsprechenden Bin der Ausgangswarteschlange weitergeleitet aktuelle Blocknummer (und damit Routingdimension). Dies Der Prozess erfordert eine zusätzliche Datenübertragung für jeden Hop Auf dem Lieferweg ist dies jedoch selbst ein Problem Dies kann durch den Einsatz alternativer Mittel gemildert werden der Daten-Nutzdatenlieferung und enthält nur eine Referenz, und nicht die volle Nutzlast des Posts im Post-Trie. Ein Beispiel für ein solches Hyper-Cube-Routing für ein System mit 4 Parachains könnte b = 2 und e = 2 sein: Phase 0, bei jeder Nachricht M: • sub0: wenn Mdest ∈{2, 3} dann sendTo(2) sonst behalten • sub1: wenn Mdest ∈{2, 3} dann sendTo(3) sonst behalten • sub2: wenn Mdest ∈{0, 1} dann sendTo(0) sonst behalten • sub3: wenn Mdest ∈{0, 1} dann sendTo(1) sonst behalten Phase 1, zu jeder Nachricht M: • sub0: wenn Mdest ∈{1, 3} dann sendTo(1) sonst behalten • sub1: wenn Mdest ∈{0, 2} dann sendTo(0) sonst behalten • sub2: wenn Mdest ∈{1, 3} dann sendTo(3) sonst behalten • sub3: wenn Mdest ∈{0, 2} dann sendTo(2) sonst behalten Die beiden Dimensionen sind hier als erste leicht zu erkennen zwei Bits des Zielindex; für den ersten Block die Es wird nur das höherwertige Bit verwendet. Der zweite Block befasst sich mit dem niederwertigen Bit. Sobald beides geschieht (in beliebiger Reihenfolge). Bestellung), dann wird die Post weitergeleitet. 9kryptografisch sicheres Pseudozufälliges

POLKADOT: VISION FÜR EIN HETEROGENES MULTI-CHAIN-RAHMEN ENTWURF 1 16 6.6.5. Maximierung des Zufalls. Eine Änderung des Grundprinzips Der Vorschlag würde eine feste Gesamtzahl von c2 −c validators vorsehen, mit c−1 validators in jeder Untergruppe. Jeder Block, anstatt Es findet eine unstrukturierte Neupartitionierung von validators statt unter Parachains, stattdessen für jede Parachain-Untergruppe, Jeder validator würde einem eindeutigen und anderen Objekt zugeordnet werden Parachain-Untergruppe im folgenden Block. Das würde führen zur Invariante dass zwischen zwei beliebigen Blöcken für jeden Bei zwei Parachain-Paarungen gibt es zwei validators, die haben die Parachain-Verantwortlichkeiten getauscht. Dies kann jedoch nicht dazu genutzt werden, absolute Garantien für die Verfügbarkeit zu erhalten (Ein einzelner validator wird gelegentlich offline gehen, auch wenn wohlwollend), kann es dennoch den Gesamtfall optimieren. Dieser Ansatz ist nicht ohne Komplikationen. Auch die Hinzufügung einer Parachain würde eine Neuorganisation erfordern des validator-Sets. Darüber hinaus ist die Anzahl der validators, die an das Quadrat der Anzahl der Fallschirme gebunden ist, würde zunächst sehr klein anfangen und schließlich weit wachsen zu schnell und wird nach etwa 50 Parachains unhaltbar. Keines davon sind grundsätzliche Probleme. Im ersten Fall Eine Neuorganisation der validator-Sets ist etwas, das sein muss sowieso regelmäßig gemacht. Bezüglich der Größe des validator Wenn dieser Wert zu klein ist, können mehrere validators zugewiesen werden auf dieselbe Parachain anwenden, indem ein ganzzahliger Faktor auf die angewendet wird Gesamtsumme von validators. Ein mehrphasiger Routing-Mechanismus wie das in 6.6.4 besprochene Hypercube-Routing würde dies tun Verringern Sie den Bedarf an einer großen Anzahl von validators wenn es eine große Anzahl von Ketten gibt. 6.7. Parachain-Validierung. Der Hauptzweck eines validator besteht darin, als gut vernetzter Akteur zu bezeugen, dass es sich um einen Parachain handelt Der Block ist gültig, einschließlich, aber nicht beschränkt auf, alle Zustandsübergänge, alle externen Transaktionen einschließlich der Ausführung von alle wartenden Beiträge in der Eingangswarteschlange und den Endzustand der Ausgangswarteschlange. Der Prozess selbst ist ziemlich einfach. Sobald der validator den vorherigen Block versiegelt hat, sind sie frei mit der Arbeit an der Bereitstellung eines möglichen Parachain-Blocks zu beginnen Kandidat für die nächste Konsensrunde. Zunächst findet validator einen Parachain-Blockkandidaten über einen Parachain-Collator (im Folgenden beschrieben) oder einen solchen seiner Co-validators. Die Parachain-Block-Kandidatendaten Enthält den Header des Blocks, den Header des vorherigen Blocks, alle enthaltenen externen Eingabedaten (für Ethereum und Bitcoin werden solche Daten als Transaktionen bezeichnet, sie können jedoch im Prinzip beliebige Datenstrukturen für beliebige Zwecke umfassen), Ausgangswarteschlangendaten und interne Daten zum Nachweis der Zustandsübergangsgültigkeit (für Ethereum Dies wären die verschiedenen Status-/Speicher-Trie-Knoten, die zum Ausführen jeder Transaktion erforderlich sind. Experimentelle Beweise zeigen diesen vollständigen Datensatz für einen aktuellen Ethereum-Block höchstens ein paar Hundert KiB betragen. Gleichzeitig wird, falls noch nicht geschehen, der validator angezeigt Es wird versucht, Informationen zum Übergang des vorherigen Blocks abzurufen, zunächst aus dem Übergang des vorherigen Blocks validators und höher von allen validators, die für die unterzeichnen Verfügbarkeit der Daten. Sobald der validator einen solchen Kandidatenblock erhalten hat, Anschließend validieren sie es vor Ort. Der Validierungsprozess ist im Modul validator der Parachain-Klasse enthalten, a konsenssensitives Softwaremodul, das geschrieben werden muss für jede Implementierung von Polkadot (allerdings im Prinzip Eine Bibliothek mit einem C-ABI könnte dies einer einzelnen Bibliothek ermöglichen zwischen Implementierungen mit den entsprechenden geteilt werden Verringerung der Sicherheit aufgrund der Tatsache, dass es nur eine einzige „Referenz“-Implementierung gibt). Der Prozess nimmt den Header des vorherigen Blocks und überprüft seine Identität über die kürzlich vereinbarte Relay-Kette Block, in dem sein hash aufgezeichnet werden soll. Sobald die Gültigkeit des übergeordneten Headers festgestellt ist, wird die spezifische Parachain Die Validierungsfunktion der Klasse kann aufgerufen werden. Dies ist eine einzelne Funktion, die eine Reihe von Datenfeldern akzeptiert (ungefähr). die zuvor angegebenen) und die Rückgabe eines einfachen Booleschen Werts die Gültigkeit der Sperre verkünden. Die meisten dieser Validierungsfunktionen prüfen zunächst die Header-Felder, aus denen direkt abgeleitet werden kann der übergeordnete Block (z. B. übergeordneter Block hash, Nummer). Nachfolgend Dadurch füllen sie alle internen Datenstrukturen auf notwendig, um Transaktionen und/oder Beiträge zu bearbeiten. Für eine Ethereum-ähnliche Kette läuft dies auf das Auffüllen von a hinaus Versuchen Sie die Datenbank mit den Knoten, die dafür benötigt werden vollständige Ausführung der Transaktionen. Andere Kettentypen können möglicherweise vorhanden sein andere pReparaturmechanismen. Sobald dies erledigt ist, werden die Eingangsbeiträge und externen Transaktionen (oder was auch immer die externen Daten darstellen) angezeigt umgesetzt, ausbalanciert gemäß der Spezifikation der Kette. (A Eine sinnvolle Standardeinstellung könnte sein, dass alle Eingangsbeiträge erforderlich sein müssen verarbeitet werden, bevor externe Transaktionen bedient werden, dies sollte jedoch der Logik der Parachain überlassen bleiben.) Durch diesen Erlass wird es eine Reihe von Egress-Beiträgen geben erstellt und es wird überprüft, ob diese tatsächlich übereinstimmen der Kandidat des Collators. Endlich ist das richtig besiedelt Der Header wird mit dem Header des Kandidaten verglichen. Bei einem vollständig validierten Kandidatenblock ist der validator kann dann für den hash seines Headers stimmen und alle erforderlichen Validierungsinformationen an die Co-validators in seiner Untergruppe senden. 6.7.1. Parachain-Collatoren. Parachain-Collatoren sind ungebundene Betreiber, die einen Großteil der Aufgaben von Minern erfüllen in den heutigen blockchain Netzwerken. Sie sind spezifisch zu einer bestimmten Parachain. Um zu funktionieren, müssen sie Halten Sie sowohl die Relaiskette als auch die vollständige Synchronisierung aufrecht Parachain. Die genaue Bedeutung von „vollständig synchronisiert“ hängt von der Klasse der Parachain ab, umfasst jedoch immer den aktuellen Status der Eingangswarteschlange der Parachain. Im Fall von Ethereum geht es auch darum, zumindest aufrechtzuerhalten eine Merkle-Tree-Datenbank der letzten paar Blöcke, aber vielleicht umfassen auch verschiedene andere Datenstrukturen, einschließlich Bloom Filtert nach Kontoexistenz, Familieninformationen und Protokollierung Ausgänge und Reverse-Lookup-Tabellen für die Blocknummer. Es sorgt nicht nur dafür, dass die beiden Ketten synchronisiert bleiben, sondern sorgt auch dafür, dass die beiden Ketten synchronisiert bleiben Sie müssen auch nach Transaktionen „fischen“, indem Sie eine Transaktionswarteschlange unterhalten und ordnungsgemäß validierte Transaktionen akzeptieren aus dem öffentlichen Netz. Mit der Warteschlange und der Kette ist es so ist in der Lage, neue Kandidatenblöcke für die in jedem Block ausgewählten validators zu erstellen (deren Identität bekannt ist, da die Relaychain synchronisiert ist) und sie zusammen mit dem einzureichen diverse Zusatzinformationen wie z.B. Gültigkeitsnachweis, via das Peer-Netzwerk. Für seine Mühe erhebt es alle Gebühren im Zusammenhang mit den darin enthaltenen Transaktionen. Darum kreisen verschiedene Ökonomien Anordnung. In einem hart umkämpften Markt, wo es gibt Liegt ein Überschuss an Collatoren vor, ist es möglich, dass die Transaktion erfolgt Die Gebühren werden mit den Parachain-validators geteilt, um Anreize zu schaffen die Aufnahme eines bestimmten Collator-Blocks. Ähnlich,

POLKADOT: VISION FÜR EIN HETEROGENES MULTI-CHAIN-RAHMEN ENTWURF 1 17 Einige Kollektoren erheben möglicherweise sogar die erforderlichen Gebühren zu zahlen, um den Block attraktiver zu machen validators. In diesem Fall sollte sich ein natürlicher Markt bilden Bei Transaktionen, bei denen höhere Gebühren anfallen, entfällt die Warteschlange und eine schnellere Einbindung in die Kette. 6.8. Vernetzung. Networking auf traditionellen blockchains wie Ethereum und Bitcoin haben eher einfache Anforderungen. Alle Transaktionen und Blöcke werden in einem einfachen, ungerichteten Klatsch übertragen. Insbesondere die Synchronisierung ist aufwändiger mit Ethereum, aber in Wirklichkeit war diese Logik darin enthalten die Peer-Strategie und nicht das Protokoll selbst, das sich um einige Anforderungs- und Antwortnachrichtentypen drehte. Während Ethereum mit dem devp2p-Protokoll Fortschritte bei den aktuellen Protokollangeboten machte, was viele ermöglichte Unterprotokolle, die über eine einzelne Peer-Verbindung gemultiplext werden sollen und daher das gleiche Peer-Overlay haben, unterstützen viele P2P-Protokolle gleichzeitig, der Ethereum-Teil von Das Protokoll blieb immer noch relativ einfach und das P2P Das Protokoll bleibt eine Weile unvollendet und wichtig Es fehlen Funktionen wie QoS-Unterstützung. Leider besteht weitgehend der Wunsch, ein allgegenwärtigeres „Web 3“-Protokoll zu schaffen ist fehlgeschlagen, da die einzigen Projekte, die es explizit nutzen, diese sind finanziert durch den Crowd-Sale Ethereum. Die Anforderungen für Polkadot sind etwas umfangreicher. Anstelle eines völlig einheitlichen Netzwerks, Polkadot verfügt über mehrere Arten von Teilnehmern mit jeweils unterschiedlichen Anforderungen an die Zusammensetzung ihrer Kollegen und über mehrere Netzwerke „Wege“, über deren Teilnehmer sich gerne unterhalten wird bestimmte Daten. Dies bedeutet ein wesentlich strukturierteres Netzwerk-Overlay – und ein Protokoll, das dies unterstützt – wird wahrscheinlich notwendig sein. Darüber hinaus ist die Erweiterbarkeit möglich, um zukünftige Ergänzungen wie neue Arten von „Ketten“ zu ermöglichen erfordern selbst eine neuartige Overlay-Struktur. Während einer ausführlichen Diskussion darüber, wie die Vernetzung Da das Protokoll möglicherweise nicht in den Rahmen dieses Dokuments fällt, ist eine Analyse der Anforderungen sinnvoll. Wir können Teilen Sie unsere Netzwerkteilnehmer grob in zwei Gruppen auf (Relaiskette, Parachains) jeweils aus drei Teilmengen. Wir können Geben Sie auch an, dass jeder der Parachain-Teilnehmer nur ist daran interessiert, sich untereinander zu unterhalten, anstatt Teilnehmer an anderen Parachains: • Relay-Chain-Teilnehmer: • Validatoren: P, jeweils in Teilmengen P[s] aufgeteilt Parachain • Verfügbarkeitsgaranten: A (dies kann durch Validatoren in der Grundform des Protokolls dargestellt werden) • Relay-Chain-Clients: M (beachten Sie die Mitglieder von jedem Parachain-Set wird tendenziell auch Mitglieder von M sein) • Parachain-Teilnehmer: • Parachain-Collatoren: C[0], C[1], . . . • Parachain-Fischer: F[0], F[1], . . . • Parachain-Kunden: S[0], S[1], . . . • Parachain-Light-Clients: L[0], L[1], . . . Im Allgemeinen benennen wir bestimmte Kommunikationsklassen findet tendenziell zwischen Mitgliedern dieser Gruppen statt: • P | A <-> P | A: Die voll eingestellt von validators/Bürgen muss sein gut vernetzt zu Konsens erreichen. • P[s] <-> C[s] | P[s]: Jeder validator als Mitglied einer bestimmten Parachain-Gruppe neigt zum Tratschen mit anderen solchen Mitgliedern sowie den Zusammenstellern dieser Parachain, um Blockkandidaten zu entdecken und zu teilen. • A <-> P[s] | C | A: Jeder Verfügbarkeitsgarant muss konsenssensitiv kettenübergreifend gesammelt werden Daten aus den ihm zugeordneten validators; Collatoren kann auch die Chance auf einen Konsens darüber optimieren blockieren, indem Sie es an Verfügbarkeitsgarantien weitergeben. Sobald sie vorliegen, werden die Daten an ausgezahlt einen anderen solchen Garanten, um den Konsens zu erleichtern. • P[s] <-> A | P[s']: Parachain validators wird Sie müssen zusätzliche Eingabedaten aus dem vorherigen Satz von validators oder den Verfügbarkeitsgaranten sammeln. • F[s] <-> P: Beim Melden dürfen die Fischer Platz nehmen eine Reklamation gegenüber jedem Teilnehmer. • M <-> M | P | A: Allgemeine Relay-Chain-Clients geben Daten von validators und Bürgen aus. • S[s] <-> S[s] | P[s] | A: Parachain-Kunden zahlen Daten von den validator/Garanten aus. • L[s] <-> L[s] | S[s]: Parachain-Light-Clients Daten von den Vollkunden auszahlen. Um einen effizienten Transportmechanismus zu gewährleisten, ist ein „flacher“ Overlay-Netzwerk – wie devp2p von Ethereum – wobei jedes Knoten unterscheidet nicht (nicht willkürlich) die Eignung seiner Knoten Gleichaltrige sind wahrscheinlich nicht geeignet. Eine einigermaßen erweiterbare Es wird wahrscheinlich ein Peer-Auswahl- und Entdeckungsmechanismus erforderlich sein sowohl in das Protokoll aufgenommen als auch aggressiv sein Planen Sie einen Ausblick, um die richtige Art von Kollegen sicherzustellen sind „zufällig“ connezur richtigen Zeit getroffen. Die genaue Strategie der Peer-Zusammensetzung wird für jede Teilnehmerklasse unterschiedlich sein: für eine ordnungsgemäße Skalierung Multi-Chain-Collatoren müssen entweder kontinuierlich sein Wiederverbindung mit den entsprechend gewählten validators oder Testamenten benötigen laufende Vereinbarungen mit einer Teilmenge der validators um sicherzustellen, dass sie während des größten Teils der Zeit, in der sie dafür unbrauchbar sind, nicht getrennt werden validator. Selbstverständlich werden auch Sortierer versuchen, eines aufrechtzuerhalten oder stabilere Verbindungen in den Verfügbarkeitsgaranten soll eine schnelle Verbreitung ihrer konsensorientierten Maßnahmen gewährleisten Daten. Verfügbarkeitsgaranten werden meist darauf abzielen, eine aufrechtzuerhalten stabile Verbindung untereinander und zu validators (für den Konsens und die konsenskritischen Parachain-Daten, zu denen). sie bezeugen) sowie an einige Collatoren (für die Parachain). Daten) und einige Fischer und Vollkunden (zum Zerstreuen). Informationen). Validatoren neigen dazu, nach anderen validators zu suchen, insbesondere nach solchen in derselben Untergruppe und anderen Collatoren, die ihnen Parachain-Blockkandidaten liefern können. Fischer sowie allgemeine Relay-Chain und Parachain Kunden werden im Allgemeinen versuchen, eine Verbindung zu a offen zu halten validator oder Bürge, aber viele andere ähnliche Knoten für sich selbst sonst. Parachain-Light-Clients streben ebenfalls danach, mit einem vollständigen Client der Parachain verbunden zu werden. wenn nicht nur andere Parachain-Light-Clients. 6.8.1. Das Problem der Peer-Churn. Im Basisprotokollvorschlag ändert sich jede dieser Teilmengen ständig zufällig mit jedem Block, der den zur Überprüfung zugewiesenen validators zugewiesen wird Die Parachain-Übergänge werden zufällig ausgewählt. Das kann ein Problem sein, wenn unterschiedliche (Nicht-Peer-)Knoten dies benötigen Daten untereinander weitergeben. Man muss sich entweder darauf verlassen ein fair verteiltes und gut vernetztes Peer-Netzwerk

POLKADOT: VISION FÜR EIN HETEROGENES MULTI-CHAIN-RAHMEN ENTWURF 1 18 Stellen Sie sicher, dass die Hop-Distanz (und damit die Latenz im schlimmsten Fall) nur mit dem Logarithmus der Netzwerkgröße wächst (ein Kademlia-ähnliches Protokoll [13] kann hier helfen), oder man muss Führen Sie längere Blockzeiten ein, um die notwendige Verbindungsaushandlung zu ermöglichen, um ein Peer-Set aufrechtzuerhalten spiegelt die aktuellen Kommunikationsbedürfnisse des Knotens wider. Keine dieser Lösungen ist großartig: lange Blockzeiten Wird dem Netzwerk aufgezwungen, kann es unbrauchbar werden bestimmte Anwendungen und Ketten. Sogar eine völlig faire und verbundenes Netzwerk wird zu erheblicher Verschwendung führen der Bandbreite, da sie aufgrund uninteressierter Knoten skaliert für sie nutzlose Daten weiterzugeben. Während beide Richtungen Teil der Lösung sein können, Eine sinnvolle Optimierung zur Minimierung der Latenz wäre möglich sein, die Volatilität dieser Parachain zu begrenzen validator Sätze, wobei entweder die Zugehörigkeit nur zwischen Reihen von Blöcken neu zugewiesen wird (z. B. in Gruppen von 15, die bei einer 4-Sekunden-Einheit). Blockzeit würde bedeuten, dass die Verbindungen nur einmal pro Jahr geändert werden Minute) oder durch schrittweise Rotation der Mitgliedschaft, z.B. Änderung durch jeweils ein Mitglied (z. B. wenn dort Sind jeder Parachain 15 validators zugeordnet, dann wäre es im Durchschnitt eine ganze Minute zwischen völlig eindeutig Sätze). Indem Sie die Abwanderung von Peers begrenzen und sicherstellen, dass vorteilhafte Peer-Verbindungen gut hergestellt werden Fortschritt durch die teilweise Vorhersehbarkeit von Parachain Sets können wir dazu beitragen, dass jeder Knoten dauerhaft einen behält zufällige Auswahl von Kollegen. 6.8.2. Weg zu einem effektiven Netzwerkprotokoll. Wahrscheinlich die Der effektivste und vernünftigste Entwicklungsaufwand wird sich auf die Nutzung eines bereits vorhandenen Protokolls statt auf die fortlaufende Nutzung konzentrieren unser eigenes. Es gibt mehrere Peer-to-Peer-Basisprotokolle Wir können das eigene DevP2P von Ethereum verwenden oder erweitern [22], libp2p von IPFS [1] und GNUnet von GNU [4]. Eine vollständige Überprüfung dieser Protokolle und ihrer Relevanz für den Aufbau eines modulares Peer-Netzwerk, das bestimmte strukturelle Garantien, dynamische Peer-Steuerung und erweiterbare Unterprotokolle unterstützt geht weit über den Rahmen dieses Dokuments hinaus, wird aber eine sein wichtiger Schritt bei der Umsetzung von Polkadot. 7. Praktische Aspekte des Protokolls 7.1. Interchain-Transaktionszahlung. Während ein tolles Durch den Wegfall der Notwendigkeit eines ganzheitlichen Rechnungslegungsrahmens für Rechenressourcen wie dem Gas von Ethereum wird ein Höchstmaß an Freiheit und Einfachheit gewonnen. Dies wirft jedoch eine wichtige Frage auf: Wie funktioniert eine Parachain ohne Gas? verhindern, dass eine andere Fallschirmkette sie zu Berechnungen zwingt? Während wir uns auf die Transaktions-Post-Eingangswarteschlange verlassen können Puffer, um zu verhindern, dass eine Kette eine andere mit Spam überschüttet Transaktionsdaten bietet das Protokoll keinen gleichwertigen Mechanismus, um Spam bei der Transaktionsverarbeitung zu verhindern. Dies ist ein Problem, das der höheren Ebene überlassen bleibt. Da Ketten Es steht Ihnen frei, dem eingehenden Text eine beliebige Semantik hinzuzufügen Transaktionspostdaten können wir diese Berechnung sicherstellen muss vor Beginn bezahlt werden. In ähnlicher Weise wie die Modell, das von Ethereum Serenity vertreten wird, können wir uns vorstellen ein „Break-in“-Vertrag innerhalb einer Parachain, der a validator um eine garantierte Zahlung im Austausch dafür zu erhalten Bereitstellung einer bestimmten Menge an Verarbeitungsressourcen. Diese Ressourcen können in etwas wie Gas gemessen werden, Es könnte sich aber auch um ein völlig neuartiges Modell handeln, beispielsweise um eine subjektive Ausführungszeit oder um ein Bitcoin-ähnliches Pauschalpreismodell. Dies allein ist nicht so nützlich, da wir nicht ohne weiteres davon ausgehen können, dass der Anrufer außerhalb der Kette für ihn verfügbar ist Welcher Wertmechanismus auch immer durch den Einbruch erkannt wird Vertrag. Wir können uns jedoch einen sekundären „Breakout“-Vertrag in der Quellkette vorstellen. Die beiden Verträge würden zusammen eine Brücke bilden, einander anerkennen und Bereitstellung von Wertäquivalenz. (Staking-tokens, verfügbar für jedes einzelne könnte zur Begleichung der Zahlungsbilanz verwendet werden.) Ein Aufruf in eine andere solche Kette würde ein Proxying bedeuten über diese Brücke, die die Mittel dafür bereitstellen würde Aushandeln des Werttransfers zwischen Ketten, um Bezahlen Sie die für die Zielparachain erforderlichen Rechenressourcen. 7.2. Zusätzlich Ketten. Während die Ergänzung von a Parachain ist eine relativ günstige Operation, sie ist nicht kostenlos. Mehr Parachains bedeuten weniger validators pro Parachain und schließlich eine größere Anzahl von validators mit jeweils einem reduzierte durchschnittliche Bindung. Während das Problem geringerer Zwangskosten für den Angriff auf eine Parachain dadurch gemildert wird Fischer, das wachsende validator-Set erzwingt im Wesentlichen a höhere Latenz aufgrund der Mechanik des zugrunde liegenden Konsensesthod. Darüber hinaus jeder Parachain bringt das Potenzial mit sich, validators mit einem zu trauern Überlastender Validierungsalgorithmus. Daher wird es einen „Preis“ geben, der validators ist und/oder die Beteiligungsgemeinschaft wird dafür extrahieren Hinzufügung einer neuen Parachain. Dieser Markt für Ketten wird sehen Sie möglicherweise den Zusatz von entweder: • Ketten, bei denen wahrscheinlich kein Nettobeitrag gezahlt wird (in Bezug auf das Einsperren oder Verbrennen von staking tokens), die in einen Teil einbezogen werden müssen (z. B. Konsortialketten, Doge-Ketten, App-spezifische Ketten); • Ketten, die dem Netzwerk einen intrinsischen Wert liefern durch das Hinzufügen bestimmter Funktionen schwierig woanders hinzukommen (z. B. Vertraulichkeit, interne Skalierbarkeit, Serviceanbindung). Im Wesentlichen muss die Gemeinschaft der Beteiligten dies tun Anreize geschaffen werden, Kinderketten hinzuzufügen – entweder finanziell oder durch den Wunsch, dem Relais funktionsreiche Ketten hinzuzufügen. Es ist vorgesehen, dass neue Ketten hinzugefügt werden Kurze Kündigungsfrist für den Ausbau, sodass neue Ketten eingebaut werden können kompromisslos experimentiert werden kann das mittel- oder langfristige Wertversprechen. 8. Fazit Wir haben eine Richtung skizziert, die man als Autor einschlagen kann skalierbares, heterogenes Multi-Chain-Protokoll mit dem Potenzial, abwärtskompatibel zu bestimmten, bereits vorhandenen Protokollen zu sein blockchain Netzwerke. Unter einem solchen Protokoll, Teilnehmer Arbeiten Sie in aufgeklärtem Eigeninteresse daran, ein Gesamtsystem zu schaffen, das auf außerordentlich kostenlose Weise und ohne die typischen Kosten für bestehende Benutzer erweitert werden kann stammt aus einem Standarddesign blockchain. Wir haben gegeben ein grober Überblick über die Architektur, die erforderlich wäre, einschließlich die Art der Teilnehmer, ihre wirtschaftlichen Anreize und die Prozesse, an denen sie beteiligt sein müssen. Wir haben identifizierte ein grundlegendes Design und diskutierte seine Stärken und Einschränkungen; Dementsprechend haben wir weitere Anweisungen, die kann diese Einschränkungen lockern und den Weg zu einer vollständig skalierbaren blockchain-Lösung ebnen.POLKADOT: VISION FÜR EIN HETEROGENES MULTI-CHAIN-RAHMEN ENTWURF 1 19 8.1. Fehlendes Material und offene Fragen. Bei unterschiedlichen Implementierungen des Protokolls ist eine Netzwerkverzweigung immer möglich. Die Erholung von einem solchen Ausnahmezustand wurde nicht besprochen. Angesichts der Tatsache, dass das Netzwerk zwangsläufig einen Fertigstellungszeitraum ungleich Null haben wird, Die Wiederherstellung nach der Relaychain-Forking sollte kein großes Problem darstellen, erfordert jedoch eine sorgfältige Integration das Konsensprotokoll. Die Beschlagnahmung von Anleihen und umgekehrt die Bereitstellung von Belohnungen hat noch nicht tief erforscht. Derzeit gehen wir von Belohnungen aus werden nach dem Prinzip „Gewinner nimmt alles“ bereitgestellt: Dies ist möglicherweise nicht der Fall Bieten Sie den Fischern das beste Anreizmodell. Ein kurzzeitiger Commit-Reveal-Prozess würde es vielen Fischern ermöglichen den Preis zu beanspruchen und eine gerechtere Verteilung der Belohnungen zu gewährleisten, Allerdings könnte der Prozess zu zusätzlicher Latenz im führen Entdeckung von Fehlverhalten. 8.2. Danksagungen. Vielen Dank an alle Korrektoren, die dabei geholfen haben, dies in den Griff zu bekommen vorzeigbare Form. Insbesondere Peter Czaban, Bjorn Wagner, Ken Kappler, Robert Habermeier, Vitalik Buterin, Reto Trinkler und Jack Petersson. Vielen Dank an alle die Menschen, die Ideen oder Anfänge beigesteuert haben davon verdienen Marek Kotewicz und Aeron Buchanan besondere Erwähnung. Und vielen Dank an alle anderen für ihre Hilfe unterwegs. Alle Fehler sind meine eigenen. Teile dieser Arbeit, einschließlich erster Recherchen zu Konsensalgorithmen wurden teilweise von den Briten finanziert Regierung im Rahmen des Innovate UK-Programms.