Polkadot: วิสัยทัศน์สำหรับกรอบงาน Multi-Chain ที่ต่างกัน

Por Gavin Wood · 2016

Resumo

POLKADOT: VISÃO PARA UMA ESTRUTURA MULTI-CADEIA HETEROGÊNEA ESBOÇO 1 DR. MADEIRA GAVIN FUNDADOR, ETHEREUM E PARIDADE [email protected] Resumo. Todas as arquiteturas blockchain atuais sofrem de uma série de problemas, incluindo meios práticos de extensibilidade e escalabilidade. Acreditamos que isto decorre da ligação de duas partes muito importantes da arquitectura de consenso, nomeadamente canonicidade e validade, muito próximas. Este artigo apresenta uma arquitetura, a multicadeia heterogênea, o que fundamentalmente diferencia os dois. Ao compartimentar estas duas partes e ao manter a funcionalidade geral fornecida a um mínimo absoluto de segurança e transporte, introduzimos meios práticos de extensibilidade central in situ. A escalabilidade é abordada através uma abordagem de dividir e conquistar para estas duas funções, expandindo-se para fora do seu núcleo ligado através do incentivo de nós públicos não confiáveis. A natureza heterogênea desta arquitetura permite que muitos tipos altamente divergentes de sistemas de consenso interoperem em uma “federação” totalmente descentralizada e sem confiança, permitindo que redes abertas e fechadas tenham acesso livre de confiança a um ao outro. Apresentamos um meio de fornecer compatibilidade retroativa com uma ou mais redes pré-existentes, como Ethereum. Acreditamos que tal sistema fornece um componente de nível básico útil na busca geral por um sistema praticamente sistema implementável capaz de atingir níveis de escalabilidade e privacidade no comércio global. 1. Prefácio Este pretende ser um resumo técnico da “visão” de uma possível direção que pode ser tomada no desenvolvimento do paradigma blockchain, juntamente com alguma justificativa sobre por que essa direção é sensata. Ele se estabelece em tantos detalhes quanto possível neste estágio de desenvolvimento um sistema que possa proporcionar uma melhoria concreta num vários aspectos da tecnologia blockchain. Não pretende ser uma especificação, formal ou não. Não pretende ser abrangente nem ser uma projeto final. Não se destina a cobrir aspectos não essenciais da estrutura, como APIs, ligações, linguagens e uso. Isto é notavelmente experimental; onde parâmetros são especificados, eles provavelmente mudarão. Os mecanismos irão ser adicionado, refinado e removido em resposta às necessidades da comunidade ideias e críticas. Grandes porções deste documento provavelmente serão ser revisado à medida que evidências experimentais e prototipagem fornecem nos informações sobre o que funcionará e o que não funcionará. Este documento inclui uma descrição básica do protocolo, juntamente com ideias de orientações que podem ser tomadas para melhorar vários aspectos. Prevê-se que o núcleo descrição será usada como ponto de partida para uma série de provas de conceito. Uma “versão 1.0” final seria baseado neste protocolo refinado, juntamente com as ideias adicionais que foram comprovadas e estão determinadas a necessários para que o projeto atinja seus objetivos. 1.1. História. • 10/09/2016: 0.1.0-prova1 • 20/10/2016: 0.1.0-prova2 • 11/01/2016: 0.1.0-prova3 • 11/10/2016: 0.1.0 2. Introdução Blockchains demonstraram grande promessa de utilidade em vários campos, incluindo “Internet das Coisas” (IoT), finanças, governança, gestão de identidade, descentralização da web e rastreamento de ativos. No entanto, apesar do promessa tecnológica e grande conversa, ainda não vimos implantação significativa no mundo real da tecnologia atual. Acreditamos que isto se deve a cinco falhas principais da actual pilhas de tecnologia: Escalabilidade: quantos recursos são gastos globalmente sobre processamento, largura de banda e armazenamento para o sistema processar uma única transação e quantas as transações podem ser razoavelmente processadas sob condições de pico? Isolabilidade: As necessidades divergentes de múltiplos as partes e as candidaturas sejam abordadas num grau quase óptimo no âmbito do mesmo enquadramento? Capacidade de desenvolvimento: quão bem as ferramentas funcionam? Faça as APIs atendem às necessidades dos desenvolvedores? Existem materiais educativos disponíveis? As integrações certas estão aí? Governança: A rede pode permanecer flexível para evoluir e se adaptar ao longo do tempo? As decisões podem ser feito com suficiente inclusão, legitimidade e transparência para fornecer liderança eficaz de um sistema descentralizado? Aplicabilidade: A tecnologia realmente atende a uma necessidade premente por si só? É necessário outro “middleware” para preencher a lacuna para aplicações reais? No presente trabalho pretendemos abordar os dois primeiros questões: escalabilidade e isolabilidade. Dito isto, acreditamos a estrutura Polkadot pode fornecer melhorias significativas em cada uma dessas classes de problemas. Implementações blockchain modernas e eficientes, como o cliente Paridade Ethereum [17] pode processarmenos em excesso 3.000 transações por segundo quando executado em hardware de consumo de alto desempenho. No entanto, o mundo real atual blockchain redes estão praticamente limitadas a cerca de 30 transações por segundo. Esta limitação tem origem principalmente no facto de os actuais mecanismos de consenso síncrono exigirem amplas margens temporais de segurança em o tempo de processamento esperado, que é agravado pela 1

บทคัดย่อ

โพลคาดอท: วิสัยทัศน์สำหรับกรอบการทำงานแบบหลายห่วงโซ่ที่แตกต่างกัน ร่างที่ 1 ดร. กาวิน วู้ด ผู้ก่อตั้ง ETHEREUM และความเท่าเทียมกัน กาวิน@PARITY.IO นามธรรม สถาปัตยกรรม blockchain ในปัจจุบันล้วนประสบกับปัญหาหลายประการ ไม่เพียงแต่ความสามารถในการขยายและความสามารถในการปรับขนาดในทางปฏิบัติเท่านั้น เราเชื่อว่าสิ่งนี้เกิดจากการเชื่อมโยงสองส่วนที่สำคัญมากของสถาปัตยกรรมฉันทามติ กล่าวคือ canonicality และ validity ใกล้เคียงกันเกินไป บทความนี้จะแนะนำสถาปัตยกรรม มัลติเชนที่ต่างกัน ซึ่งทำให้ทั้งสองแยกจากกันโดยพื้นฐาน ในการแบ่งส่วนทั้งสองส่วนนี้ออก และโดยการรักษาฟังก์ชันการทำงานโดยรวมให้เหลือน้อยที่สุด ด้านความปลอดภัยและการคมนาคมขนส่ง เราแนะนำวิธีการปฏิบัติจริงของความสามารถในการขยายหลักในแหล่งกำเนิด ความสามารถในการปรับขนาดได้รับการแก้ไขผ่าน แนวทางการแบ่งแยกและพิชิตสำหรับทั้งสองหน้าที่นี้ โดยขยายขอบเขตออกจากแกนกลางที่เชื่อมโยงกันด้วยการสร้างแรงจูงใจของ โหนดสาธารณะที่ไม่น่าเชื่อถือ ลักษณะที่แตกต่างกันของสถาปัตยกรรมนี้ช่วยให้ระบบฉันทามติประเภทที่แตกต่างกันอย่างมากทำงานร่วมกันใน "สหพันธ์" ที่ไร้ความไว้วางใจและกระจายอำนาจอย่างเต็มที่ ทำให้เครือข่ายแบบเปิดและแบบปิดสามารถเข้าถึงโดยปราศจากความไว้วางใจ กันและกัน เราหยิบยกวิธีการมอบความเข้ากันได้แบบย้อนหลังกับเครือข่ายที่มีอยู่แล้วตั้งแต่หนึ่งเครือข่ายขึ้นไป เช่น Ethereum. เราเชื่อว่าระบบดังกล่าวให้องค์ประกอบระดับฐานที่เป็นประโยชน์ในการค้นหาโดยรวมในทางปฏิบัติ ระบบที่นำไปปฏิบัติได้ซึ่งมีความสามารถในการปรับขนาดและความเป็นส่วนตัวในระดับการค้าระดับโลก 1. คำนำ ข้อมูลนี้มีวัตถุประสงค์เพื่อเป็น "วิสัยทัศน์" ทางเทคนิคโดยสรุป ของทิศทางหนึ่งที่เป็นไปได้ที่อาจนำไปใช้ในการพัฒนากระบวนทัศน์ blockchain เพิ่มเติม พร้อมด้วยเหตุผลบางประการว่าทำไมทิศทางนี้จึงสมเหตุสมผล มันวางอยู่ใน รายละเอียดให้มากที่สุดเท่าที่จะเป็นไปได้ในขั้นตอนของการพัฒนานี้ ระบบที่อาจให้การปรับปรุงอย่างเป็นรูปธรรมใน จำนวนแง่มุมของเทคโนโลยี blockchain ไม่ได้มีวัตถุประสงค์เพื่อเป็นการระบุรายละเอียด เป็นทางการหรืออย่างอื่น ไม่ได้มีวัตถุประสงค์เพื่อให้ครอบคลุมหรือเพื่อเป็น การออกแบบขั้นสุดท้าย ไม่ได้มีวัตถุประสงค์เพื่อให้ครอบคลุมประเด็นที่ไม่ใช่ประเด็นหลัก ของเฟรมเวิร์ก เช่น API, การเชื่อมโยง, ภาษา และ การใช้งาน นี่เป็นการทดลองที่น่าสังเกต โดยที่พารามิเตอร์ ระบุไว้แล้วมีแนวโน้มที่จะเปลี่ยนแปลง กลไกจะ จะถูกเพิ่ม ปรับปรุง และลบออกเพื่อตอบสนองต่อชุมชน ความคิดและคำวิจารณ์ ส่วนใหญ่ของบทความนี้น่าจะเป็นไปได้ ได้รับการแก้ไขเป็นหลักฐานการทดลองและการสร้างต้นแบบให้ ข้อมูลของเราเกี่ยวกับสิ่งที่จะได้ผลและสิ่งที่ไม่ได้ผล เอกสารนี้ประกอบด้วยคำอธิบายหลักของระเบียบการพร้อมกับแนวคิดสำหรับแนวทางที่อาจนำไปปฏิบัติ เพื่อปรับปรุงด้านต่างๆ ก็มีจินตนาการว่าแกนกลาง คำอธิบายจะถูกใช้เป็นจุดเริ่มต้นสำหรับการเริ่มต้น ชุดการพิสูจน์แนวคิด “เวอร์ชัน 1.0” สุดท้ายจะเป็น อิงตามระเบียบการที่ได้รับการปรับปรุงนี้พร้อมกับแนวคิดเพิ่มเติมที่ได้รับการพิสูจน์และมุ่งมั่นที่จะทำ จำเป็นเพื่อให้โครงการบรรลุเป้าหมาย 1.1. ประวัติศาสตร์. • 10 กันยายน 2559: 0.1.0-proof1 • 20/10/2559: 0.1.0-proof2 • 01/11/2016: 0.1.0-proof3 • 10/11/2559: 0.1.0 2. บทนำ Blockchains ได้แสดงให้เห็นถึงคำมั่นสัญญาที่ยอดเยี่ยมของประโยชน์ใช้สอยในหลาย ๆ ด้านรวมถึง “Internet of Things” (IoT) การเงิน การกำกับดูแล การจัดการข้อมูลประจำตัว การกระจายอำนาจทางเว็บ และการติดตามสินทรัพย์ อย่างไรก็ตาม แม้ว่า คำมั่นสัญญาทางเทคโนโลยีและการพูดคุยครั้งยิ่งใหญ่ที่เรายังไม่เคยเห็น การปรับใช้เทคโนโลยีปัจจุบันในโลกแห่งความเป็นจริงอย่างมีนัยสำคัญ เราเชื่อว่านี่เป็นความล้มเหลวหลักห้าประการในปัจจุบัน กองเทคโนโลยี: ความสามารถในการปรับขนาด: ปริมาณการใช้ทรัพยากรทั่วโลก ในการประมวลผลแบนด์วิธและการจัดเก็บเพื่อให้ระบบประมวลผลรายการเดียวและจำนวนเท่าใด ธุรกรรมสามารถดำเนินการได้ตามสมควรภายใต้ สภาวะสูงสุด? การแยกตัวได้: ความต้องการที่แตกต่างกันของหลาย ๆ สามารถ ฝ่ายและแอปพลิเคชันได้รับการแก้ไขในระดับที่ใกล้เคียงที่สุดภายใต้กรอบการทำงานเดียวกันหรือไม่ การพัฒนา: เครื่องมือทำงานได้ดีแค่ไหน? ทำ API ตอบสนองความต้องการของนักพัฒนาหรือไม่? มีสื่อการเรียนไหม? มีการบูรณาการที่ถูกต้องหรือไม่? การกำกับดูแล: เครือข่ายสามารถคงความยืดหยุ่นไว้ได้หรือไม่ พัฒนาและปรับตัวตามกาลเวลา? ตัดสินใจได้ สร้างขึ้นด้วยความครอบคลุม ความชอบธรรม และ ความโปร่งใสเพื่อให้ความเป็นผู้นำที่มีประสิทธิผลของ ระบบกระจายอำนาจ? การบังคับใช้: เทคโนโลยีนี้ตอบสนองความต้องการอันร้อนแรงด้วยตัวมันเองจริงหรือ จำเป็นต้องใช้ “มิดเดิลแวร์” อื่นๆ เพื่อลดช่องว่างนี้หรือไม่ การใช้งานจริง? ในงานปัจจุบัน เรามุ่งหวังที่จะกล่าวถึงสองเรื่องแรก ประเด็นสำคัญ: ความสามารถในการปรับขนาดและการแยกตัวได้ ก็บอกแล้วเราเชื่อ กรอบงาน Polkadot สามารถให้การปรับปรุงที่มีความหมายในแต่ละประเภทของปัญหาเหล่านี้ การใช้งาน blockchain ที่ทันสมัยและมีประสิทธิภาพ เช่น ลูกค้า Parity Ethereum [17] สามารถดำเนินการได้ess เกินกว่า ธุรกรรม 3,000 รายการต่อวินาทีเมื่อทำงานบนฮาร์ดแวร์สำหรับผู้บริโภคที่มีประสิทธิภาพ อย่างไรก็ตาม โลกแห่งความเป็นจริงในปัจจุบัน blockchain เครือข่ายถูกจำกัดไว้ที่ประมาณ 30 เครือข่าย การทำธุรกรรมต่อวินาที ข้อจำกัดนี้ส่วนใหญ่มาจากข้อเท็จจริงที่ว่ากลไกฉันทามติแบบซิงโครนัสในปัจจุบันจำเป็นต้องมีระยะขอบด้านความปลอดภัยที่กว้าง ระยะเวลาการประมวลผลที่คาดไว้ ซึ่งจะรุนแรงขึ้นโดย 1

Introdução

Blockchains demonstraram grande promessa de utilidade em vários campos, incluindo “Internet das Coisas” (IoT), finanças, governança, gestão de identidade, descentralização da web e rastreamento de ativos. No entanto, apesar do promessa tecnológica e grande conversa, ainda não vimos implantação significativa no mundo real da tecnologia atual. Acreditamos que isto se deve a cinco falhas principais da actual pilhas de tecnologia: Escalabilidade: quantos recursos são gastos globalmente sobre processamento, largura de banda e armazenamento para o sistema processar uma única transação e quantas as transações podem ser razoavelmente processadas sob condições de pico? Isolabilidade: As necessidades divergentes de múltiplos as partes e as candidaturas sejam abordadas num grau quase óptimo no âmbito do mesmo enquadramento? Capacidade de desenvolvimento: quão bem as ferramentas funcionam? Faça as APIs atendem às necessidades dos desenvolvedores? Existem materiais educativos disponíveis? As integrações certas estão aí? Governança: A rede pode permanecer flexível para evoluir e se adaptar ao longo do tempo? As decisões podem ser feito com suficiente inclusão, legitimidade e transparência para fornecer liderança eficaz de um sistema descentralizado? Aplicabilidade: A tecnologia realmente atende a uma necessidade premente por si só? É necessário outro “middleware” para preencher a lacuna para aplicações reais? No presente trabalho pretendemos abordar os dois primeiros questões: escalabilidade e isolabilidade. Dito isto, acreditamos a estrutura Polkadot pode fornecer melhorias significativas em cada uma dessas classes de problemas. Implementações blockchain modernas e eficientes, como o cliente Parity Ethereum [17] pode processar mais de 3.000 transações por segundo quando executado em hardware de consumo de alto desempenho. No entanto, o mundo real atual blockchain redes estão praticamente limitadas a cerca de 30 transações por segundo. Esta limitação tem origem principalmente no facto de os actuais mecanismos de consenso síncrono exigirem amplas margens temporais de segurança em o tempo de processamento esperado, que é agravado pelaPOLKADOT: VISÃO PARA UMA ESTRUTURA MULTI-CADEIA HETEROGÊNEA ESBOÇO 1 2 desejo de apoiar implementações mais lentas. Isto é devido a a arquitetura de consenso subjacente: o mecanismo de transição do estado, ou os meios pelos quais as partes agrupam e executar transações, tem sua lógica fundamentalmente ligada no mecanismo de “canonização” de consenso, ou no meio pelo qual as partes acordam uma de uma série de histórias possíveis e válidas. Isso se aplica igualmente a sistemas proof-of-work (PoW), como Bitcoin [15] e Ethereum [5,23] e sistemas de prova de aposta (PoS), como NXT [8] e Bitshares [12]: em última análise, todos sofrem da mesma deficiência. É um simples estratégia que ajudou a tornar blockchains um sucesso. No entanto, acoplando firmemente esses dois mecanismos em uma única unidade do protocolo, também agrupamos vários diferentes atores e aplicações com diferentes perfis de risco, diferentes requisitos de escalabilidade e diferentes necessidades de privacidade. Um tamanho não serve para todos. Acontece com demasiada frequência que, num desejo de amplo apelo, uma rede adota um grau de conservadorismo que resulta em um menor denominador comum servindo de forma otimizada a poucos e, em última análise, levando a um fracasso na capacidade de inovar, executar e adaptar, às vezes dramaticamente. Alguns sistemas, como por ex. Factom [21] abandona completamente o mecanismo de transição de estado. No entanto, grande parte utilidade que desejamos requer a capacidade de transição de estado de acordo com uma máquina de estados compartilhada. Deixar cair resolve um problema alternativo; não oferece uma alternativa solução. Parece claro, portanto, que uma direção razoável explorar como um caminho para uma computação descentralizada e escalonável plataforma é dissociar a arquitetura de consenso da o mecanismo de transição de estado. E, talvez sem surpresa, esta é a estratégia que Polkadot adota como solução para escalabilidade. 2.1. Protocolo, Implementação e Rede. Gosto Bitcoin e Ethereum, Polkadot referem-se ao mesmo tempo a um protocolo de rede e ao (até então pressuposto) primário rede pública que executa este protocolo. Polkadot pretende ser um projeto gratuito e aberto, a especificação do protocolo está sob uma licença Creative Commons e o código sendo colocado sob uma licença FLOSS. O projeto é desenvolvido de forma aberta e aceita contribuições onde quer que sejam úteis. Um sistema de RFCs, não muito diferente as propostas de melhoria do Python, permitirão um meio de colaborar publicamente em mudanças e atualizações de protocolo. Nossa implementação inicial do protocolo Polkadot será conhecida como Plataforma Parity Polkadot e será inclui uma implementação completa do protocolo junto com API ligações. Como outras implementações de Paridade blockchain, O PPP foi projetado para ser uma pilha de tecnologia blockchain de uso geral, não exclusivamente para uma rede pública nem para operação privada/consorciada. O seu desenvolvimento assim até agora foi financiado por vários partidos, inclusive através de uma subvenção do governo britânico. Este artigo, no entanto, descreve Polkadot sob o contexto de uma rede pública. A funcionalidade que imaginamos em uma rede pública é um superconjunto daquela exigida em configurações alternativas (por exemplo, privadas e/ou consórcios). Além disso, neste contexto, o escopo completo de Polkadot pode ser mais claramente descritas e discutidas. Isso significa o leitor deve estar ciente de que certos mecanismos podem ser descritos (por exemplo, interoperação com outras redes públicas) que não são diretamente relevantes para Polkadot quando implantado em situações não públicas (“permitidas”). 2.2. Trabalho anterior. A dissociação do consenso subjacente da transição do Estado foi proposta informalmente em privado durante pelo menos dois anos - Max Kaye foi um defensor de tal estratégia durante os primeiros dias de Ethereum. Uma solução escalável mais complexa conhecida como Chain fibras, que remonta a junho de 2014 e publicado pela primeira vez mais tarde naquele ano1, defendeu uma única cadeia de retransmissão e múltiplas cadeias homogêneas, fornecendo um mecanismo transparente de execução intercadeias. A decoerência foi paga através da latência de transação – transações que exigem o coordenação de porções díspares do sistema demorar mais para processar. Polkadot tira grande parte de sua arquitetura disso e das conversas de acompanhamento com várias pessoas, embora seja muito diferente em grande parte do seu design e disposições. Embora não existam sistemas comparáveis a Polkadot atualmente em produção, vários sistemas de alguma relevância foram propostas, embora poucas em qualquer nível substancial de detalhe. Estas propostas podem serdividido em sistemas que eliminam ou reduzem a noção de um mundo globalmente coerente máquina estatal, aquelas que tentam fornecer uma solução global máquina singleton coerente por meio de fragmentos homogêneos e aqueles que visam apenas a heterogeneidade. 2.2.1. Sistemas sem Estado Global. Factom [21] é um sistema que demonstra canonicidade sem o acordo validade, permitindo efetivamente o registro dos dados. Devido à evitação do estado global e às dificuldades com o dimensionamento que isso traz, pode ser considerada uma solução escalonável. No entanto, como mencionado anteriormente, o conjunto de problemas que resolve é estrita e substancialmente menor. Tangle [18] é uma nova abordagem para sistemas de consenso. Em vez de organizar as transacções em blocos e formar consenso sobre uma lista estritamente ligada para fornecer uma ordenação globalmente canónica das mudanças de estado, abandona em grande parte a ideia de uma ordenação fortemente estruturada e, em vez disso, busca um gráfico acíclico direcionado de transações dependentes com itens posteriores ajudando a canonizar itens anteriores através de referências explícitas. Para mudanças de estado arbitrárias, este gráfico de dependência se tornaria rapidamente intratável, no entanto, para o modelo UTXO2 muito mais simples, isso se torna bastante razoável. Como o sistema é apenas vagamente coerente e as transações são geralmente independentes uma da outra outro, uma grande quantidade de paralelismo global torna-se bastante natural. Usar o modelo UTXO tem o efeito de limitar o Tangle a uma “moeda” puramente de transferência de valor sistema em vez de algo mais geral ou extensível. Além disso, sem a dura coerência global, a interacção com outros sistemas – que tendem a necessitar de uma conhecimento de grau sobre o estado do sistema - torna-se impraticável. 1https://github.com/ethereum/wiki/wiki/Chain-Fibers-Redux 2saída de transação não gasta, o modelo que Bitcoin usa, em que o estado é efetivamente o conjunto de endereços associados a algum valor; as transações agrupam esses endereços e os transformam em um novo conjunto de endereços cuja soma total é equivalente

POLKADOT: VISÃO PARA UMA ESTRUTURA MULTI-CADEIA HETEROGÊNEA ESBOÇO 1 3 2.2.2. Sistemas de Cadeias Heterogêneas. Cadeias laterais [3] é um adição proposta ao protocolo Bitcoin que permitiria interação sem confiança entre a cadeia Bitcoin principal e cadeias laterais adicionais. Não há previsão de qualquer grau de interação “rica” entre cadeias laterais: a interação seria limitada a permitir que as cadeias laterais fossem custodiantes dos bens uns dos outros, efetuando - no local jargão - uma indexação bidirecional 3. A visão final é para uma estrutura onde a moeda Bitcoin possa ser fornecida com funcionalidade adicional, se periférica, por meio de sua vinculação em algumas outras cadeias com transição de estado mais exótica sistemas do que o protocolo Bitcoin permite. Nesse sentido, as cadeias laterais abordam a extensibilidade em vez da escalabilidade. Na verdade, não há fundamentalmente nenhuma disposição sobre a validade das cadeias laterais; tokens de uma cadeia (por exemplo, Bitcoin) mantidos em nome de uma cadeia lateral são garantidos apenas pelo a capacidade da cadeia lateral de incentivar os mineradores a canonizar transições válidas. A segurança da rede Bitcoin não pode ser facilmente transferido para trabalhar em nome de outros blockchains. Além disso, um protocolo para garantir Bitcoin os mineradores fundem a mina (isto é, duplicam seu poder de canonização no da cadeia lateral) e, mais importante, validam que as transições da cadeia lateral estão fora do âmbito desta proposta. Cosmos [10] é um sistema multi-cadeia proposto no mesma linha das cadeias laterais, trocando o Nakamoto PoW método de consenso para o algoritmo Tendermint de Jae Kwon. Essencialmente, descreve múltiplas cadeias (operando em zonas) cada uma usando instâncias individuais do Tendermint, juntamente com um meio de comunicação livre de confiança através de um cadeia de cubo mestre. Esta comunicação entre cadeias é limitada à transferência de ativos digitais (“especificamente sobre tokens”) em vez de informações arbitrárias, no entanto, tal comunicação entre cadeias tem um caminho de retorno para dados, por exemplo para informar ao remetente o status da transferência. Conjuntos de validadores para as cadeias zoneadas e, em particular os meios de incentivá-los, são, como cadeias laterais, deixadas como um problema não resolvido. A suposição geral é que cada cadeia zoneada conterá ela própria um token de valor cuja inflação é usada para pagar por validators. Ainda nos estágios iniciais de design, atualmente a proposta carece de detalhes abrangentes sobre os meios económicos para alcançar a escalabilidade certeza sobre a validade global. Contudo, a fraca coerência necessária entre as zonas e o centro permitirá para flexibilidade adicional sobre os parâmetros do zoneamento cadeias em comparação com um sistema que impõe medidas mais fortes coerência. 2.2.3. Cásper. Ainda não há revisão abrangente ou comparação lado a lado entre Casper [6] e Polkadot foram feitas, embora se possa fazer uma análise bastante abrangente caracterização (e, portanto, imprecisa) dos dois. Casper é uma reimaginação de como um algoritmo de consenso PoS poderia ser baseado em participantes apostando em qual garfo acabaria por se tornar canônico. Consideração substancial foi dada para garantir que ele fosse robusto para a rede forks, mesmo quando prolongados, e possuem algum grau adicional de escalabilidade além do modelo Ethereum básico. Como tal, Casper até agora tendeu a ser um substancialmente mais protocolo complexo do que Polkadot e seus antepassados, e um desvio substancial do formato blockchain básico. Isso permanece sem saber como Casper irá iterar no futuro e como será se finalmente for implantado. Embora Casper e Polkadot representem novos protocolos interessantes e, em certo sentido, aumentos de Ethereum, existem diferenças substanciais entre seus objetivos finais e caminhos para implantação. Cásper é um Ethereum Projeto centrado na fundação originalmente concebido ser uma alteração PoS no protocolo sem desejo de crie um blockchain fundamentalmente escalável. Crucialmente, é projetado para ser um hard fork, em vez de algo mais expansivo e, portanto, todos os Ethereum clientes e usuários seriam necessário atualizar ou permanecer em uma bifurcação de adoção incerta. Como tal, a implementação torna-se substancialmente mais difícil, como é inerente a um projecto descentralizado onde coordenação é necessária. Polkadot difere de várias maneiras; em primeiro lugar, Polkadot foi projetado para ser totalmente extensível e escalável blockchain teste de desenvolvimento, implantação e interação cama. Ele foi construído para ser um arnês amplamente preparado para o futuro, capaz de assimilar novo blockchaintecnologia à medida que se torna disponível, sem coordenação descentralizada excessivamente complicada ou garfos rígidos. Já imaginamos vários casos de uso, como como cadeias de consórcio criptografadas e cadeias de alta frequência com tempos de bloqueio muito baixos que são irrealistas de fazer em qualquer versão futura de Ethereum atualmente prevista. Finalmente, o acoplamento entre ele e Ethereum é extremamente solto; nenhuma ação por parte de Ethereum é necessária para permitir o encaminhamento de transações sem confiança entre os dois redes. Resumindo, enquanto Casper/Ethereum 2.0 e Polkadot compartilham algumas semelhanças passageiras, acreditamos que seu objetivo final é substancialmente diferente e que, em vez de competir, os dois protocolos provavelmente coexistirão sob um relacionamento mutuamente benéfico para o futuro previsível.

การแนะนำ

Blockchains ได้แสดงให้เห็นถึงคำมั่นสัญญาที่ยอดเยี่ยมของประโยชน์ใช้สอยในหลาย ๆ ด้านรวมถึง “Internet of Things” (IoT) การเงิน การกำกับดูแล การจัดการข้อมูลประจำตัว การกระจายอำนาจทางเว็บ และการติดตามสินทรัพย์ อย่างไรก็ตาม แม้ว่า คำมั่นสัญญาทางเทคโนโลยีและการพูดคุยครั้งยิ่งใหญ่ที่เรายังไม่เคยเห็น การปรับใช้เทคโนโลยีปัจจุบันในโลกแห่งความเป็นจริงอย่างมีนัยสำคัญ เราเชื่อว่านี่เป็นความล้มเหลวหลักห้าประการในปัจจุบัน กองเทคโนโลยี: ความสามารถในการปรับขนาด: ปริมาณการใช้ทรัพยากรทั่วโลก ในการประมวลผลแบนด์วิธและการจัดเก็บเพื่อให้ระบบประมวลผลรายการเดียวและจำนวนเท่าใด ธุรกรรมสามารถดำเนินการได้ตามสมควรภายใต้ สภาวะสูงสุด? การแยกตัวได้: ความต้องการที่แตกต่างกันของหลาย ๆ สามารถ ฝ่ายและแอปพลิเคชันได้รับการแก้ไขในระดับที่ใกล้เคียงที่สุดภายใต้กรอบการทำงานเดียวกันหรือไม่ การพัฒนา: เครื่องมือทำงานได้ดีแค่ไหน? ทำ API ตอบสนองความต้องการของนักพัฒนาหรือไม่? มีสื่อการเรียนไหม? มีการบูรณาการที่ถูกต้องหรือไม่? การกำกับดูแล: เครือข่ายสามารถคงความยืดหยุ่นไว้ได้หรือไม่ พัฒนาและปรับตัวตามกาลเวลา? ตัดสินใจได้ สร้างขึ้นด้วยความครอบคลุม ความชอบธรรม และ ความโปร่งใสเพื่อให้ความเป็นผู้นำที่มีประสิทธิผลของ ระบบกระจายอำนาจ? การบังคับใช้: เทคโนโลยีนี้ตอบสนองความต้องการอันร้อนแรงด้วยตัวมันเองจริงหรือ จำเป็นต้องใช้ “มิดเดิลแวร์” อื่นๆ เพื่อลดช่องว่างนี้หรือไม่ การใช้งานจริง? ในงานปัจจุบัน เรามุ่งหวังที่จะกล่าวถึงสองเรื่องแรก ประเด็นสำคัญ: ความสามารถในการปรับขนาดและการแยกตัวได้ ก็บอกแล้วเราเชื่อ กรอบงาน Polkadot สามารถให้การปรับปรุงที่มีความหมายในแต่ละประเภทของปัญหาเหล่านี้ การใช้งาน blockchain ที่ทันสมัยและมีประสิทธิภาพ เช่น ลูกค้า Parity Ethereum [17] สามารถประมวลผลได้เกินกว่า ธุรกรรม 3,000 รายการต่อวินาทีเมื่อทำงานบนฮาร์ดแวร์สำหรับผู้บริโภคที่มีประสิทธิภาพ อย่างไรก็ตาม โลกแห่งความเป็นจริงในปัจจุบัน blockchain เครือข่ายถูกจำกัดไว้ที่ประมาณ 30 เครือข่าย การทำธุรกรรมต่อวินาที ข้อจำกัดนี้ส่วนใหญ่มาจากข้อเท็จจริงที่ว่ากลไกฉันทามติแบบซิงโครนัสในปัจจุบันจำเป็นต้องมีระยะขอบด้านความปลอดภัยที่กว้าง ระยะเวลาการประมวลผลที่คาดไว้ ซึ่งจะรุนแรงขึ้นโดยโพลคาดอท: วิสัยทัศน์สำหรับกรอบการทำงานแบบหลายห่วงโซ่ที่แตกต่างกัน ร่างที่ 1 2 ความปรารถนาที่จะสนับสนุนการใช้งานที่ช้าลง ทั้งนี้ก็เนื่องมาจาก สถาปัตยกรรมฉันทามติพื้นฐาน: กลไกการเปลี่ยนผ่านของรัฐ หรือวิธีการที่ฝ่ายต่างๆ เปรียบเทียบ และดำเนินธุรกรรม โดยมีตรรกะที่เชื่อมโยงกันเป็นพื้นฐาน เข้าสู่กลไกฉันทามติ "canonicalization" หรือ หมายถึงการที่ฝ่ายใดฝ่ายหนึ่งตกลงกันอย่างใดอย่างหนึ่งในจำนวนหนึ่ง เป็นไปได้ ถูกต้อง ประวัติศาสตร์ สิ่งนี้ใช้ได้กับทั้งระบบ proof-of-work (PoW) เช่น Bitcoin [15] และ Ethereum [5,23] และระบบ Proofof-stake (PoS) เช่น NXT [8] และ Bitshares [12]: ในที่สุดทุกคนก็ต้องทนทุกข์ทรมานจากความพิการแบบเดียวกัน มันเป็นเรื่องง่าย กลยุทธ์ที่ช่วยให้ blockchains ประสบความสำเร็จ อย่างไรก็ตาม โดยการเชื่อมต่อกลไกทั้งสองนี้เข้าด้วยกันอย่างแน่นหนาเป็นหน่วยเดียว ของโปรโตคอล เรายังรวมกลุ่มที่แตกต่างกันหลายรายการไว้ด้วยกัน นักแสดงและแอปพลิเคชันที่มีโปรไฟล์ความเสี่ยงที่แตกต่างกัน ข้อกำหนดความสามารถในการขยายขนาดที่แตกต่างกัน และความต้องการความเป็นส่วนตัวที่แตกต่างกัน ขนาดเดียวไม่เหมาะกับทั้งหมด บ่อยเกินไปที่จะเป็นกรณีที่ใน ความปรารถนาที่จะอุทธรณ์ในวงกว้าง เครือข่ายใช้ระดับของการอนุรักษ์ซึ่งส่งผลให้มีตัวส่วนร่วมต่ำที่สุด ให้บริการเพียงไม่กี่อย่างอย่างเหมาะสมและนำไปสู่ความล้มเหลวในที่สุด ในความสามารถในการสร้างสรรค์ ดำเนินการ และปรับตัวในบางครั้ง อย่างมาก ระบบบางอย่างเช่นเช่น ข้อเท็จจริง [21] ยกเลิกกลไกการเปลี่ยนสถานะโดยสิ้นเชิง อย่างไรก็ตาม ส่วนใหญ่ ยูทิลิตี้ที่เราต้องการนั้นต้องการความสามารถในการเปลี่ยนสถานะ ตามเครื่องของรัฐที่ใช้ร่วมกัน ปล่อยมันไปก็ช่วยได้ ปัญหาทางเลือก มันไม่ได้ให้ทางเลือกอื่น วิธีการแก้ปัญหา ดังนั้นจึงดูเหมือนชัดเจนว่าเป็นทิศทางที่สมเหตุสมผลอย่างหนึ่ง เพื่อสำรวจเป็นเส้นทางสู่การประมวลผลแบบกระจายอำนาจที่ปรับขนาดได้ แพลตฟอร์มคือการแยกสถาปัตยกรรมฉันทามติจาก กลไกการเปลี่ยนผ่านของรัฐ และอาจไม่น่าแปลกใจเลยที่นี่คือกลยุทธ์ที่ Polkadot ใช้เป็นโซลูชันในการขยายขนาด 2.1. ระเบียบวิธี การนำไปใช้ และเครือข่าย ชอบ Bitcoin และ Ethereum, Polkadot อ้างถึงโปรโตคอลเครือข่ายและโปรโตคอลหลัก (สมมุติมาจนบัดนี้) พร้อมกัน เครือข่ายสาธารณะที่รันโปรโตคอลนี้ Polkadot มีวัตถุประสงค์เพื่อเป็นโครงการที่เปิดกว้างและฟรี ข้อกำหนดของโปรโตคอลอยู่ภายใต้ใบอนุญาต Creative Commons และ รหัสถูกวางไว้ภายใต้ใบอนุญาต FLOSS โครงการนี้ก็คือ พัฒนาในลักษณะเปิดกว้างและยอมรับการมีส่วนร่วม มันจะมีประโยชน์ที่ไหนก็ตาม ระบบของ RFC ที่ไม่เหมือนกัน ข้อเสนอการปรับปรุงหลามจะอนุญาตให้มีวิธีการ การทำงานร่วมกันอย่างเปิดเผยเกี่ยวกับการเปลี่ยนแปลงและการอัพเกรดโปรโตคอล การใช้งานโปรโตคอล Polkadot ครั้งแรกของเรา จะเป็นที่รู้จักในนามแพลตฟอร์ม Parity Polkadot และความตั้งใจ รวมการใช้งานโปรโตคอลเต็มรูปแบบพร้อมกับ API การผูกมัด เช่นเดียวกับการใช้งาน Parity blockchain อื่น ๆ PPP ได้รับการออกแบบให้เป็นสแต็กเทคโนโลยี blockchain วัตถุประสงค์ทั่วไป ไม่ใช่เฉพาะสำหรับเครือข่ายสาธารณะหรือสำหรับ การดำเนินงานของเอกชน/กิจการร่วมค้า การพัฒนาของมันเช่นนี้ ไกลได้รับทุนจากหลายฝ่ายรวมถึงผ่าน ได้รับทุนสนับสนุนจากรัฐบาลอังกฤษ บทความนี้ยังคงอธิบาย Polkadot ภายใต้ บริบทของเครือข่ายสาธารณะ ฟังก์ชันการทำงานที่เราจินตนาการไว้ในเครือข่ายสาธารณะนั้นเหนือกว่าฟังก์ชันที่จำเป็นใน การตั้งค่าทางเลือก (เช่น ส่วนตัวและ/หรือสมาคม) นอกจากนี้ ในบริบทนี้ ขอบเขตทั้งหมดของ Polkadot สามารถทำได้ อธิบายและอภิปรายได้ชัดเจนยิ่งขึ้น นี่ไม่ได้หมายถึง ผู้อ่านควรตระหนักว่ากลไกบางอย่างอาจเกิดขึ้นได้ ได้รับการอธิบาย (เช่น การทำงานร่วมกันกับเครือข่ายสาธารณะอื่นๆ) ซึ่งไม่เกี่ยวข้องโดยตรงกับ Polkadot เมื่อใช้งานภายใต้สถานการณ์ที่ไม่เปิดเผยต่อสาธารณะ (“ได้รับอนุญาต”) 2.2. ผลงานที่ผ่านมา. มีการเสนอการแยกฉันทามติพื้นฐานออกจากการเปลี่ยนผ่านรัฐอย่างไม่เป็นทางการ เป็นการส่วนตัวเป็นเวลาอย่างน้อยสองปี - Max Kaye เป็นผู้เสนอกลยุทธ์ดังกล่าวในช่วงแรก ๆ ของ Ethereum. โซลูชันที่ปรับขนาดได้ที่ซับซ้อนยิ่งขึ้นที่เรียกว่า Chain ไฟเบอร์ ย้อนหลังไปถึงเดือนมิถุนายน 2014 และเผยแพร่ครั้งแรกในภายหลัง ในปีนั้น 1 ได้สร้างกรณีของรีเลย์เชนเดียวและหลายเชนที่เป็นเนื้อเดียวกัน ทำให้เกิดกลไกการดำเนินการระหว่างเชนที่โปร่งใส ได้รับการจ่ายเงินสำหรับ Decoherence ผ่านเวลาแฝงของธุรกรรม—ธุรกรรมที่ต้องการ การประสานงานของส่วนต่าง ๆ ของระบบจะ ใช้เวลาในการประมวลผลนานขึ้น Polkadot ใช้สถาปัตยกรรมส่วนใหญ่จากสิ่งนั้นและการสนทนาติดตามผลด้วย แม้ว่าจะมีความแตกต่างกันอย่างมากในการออกแบบและการเตรียมการก็ตาม แม้ว่าจะไม่มีระบบใดเทียบได้กับ Polkadot จริงๆ แล้วในการผลิต มีหลายระบบที่เกี่ยวข้องกัน ได้รับการเสนอแม้ว่าจะมีน้อยคนในระดับที่สำคัญก็ตาม รายละเอียด ข้อเสนอเหล่านี้สามารถแตกออกเป็นระบบ ซึ่งลดหรือลดแนวคิดเรื่องการเชื่อมโยงกันทั่วโลก เครื่องของรัฐซึ่งพยายามให้บริการทั่วโลก เครื่องซิงเกิลตันที่สอดคล้องกันผ่านชิ้นส่วนที่เป็นเนื้อเดียวกัน และกลุ่มที่มุ่งเป้าไปที่ความหลากหลายเท่านั้น 2.2.1. ระบบที่ไม่มีสถานะสากล Factom [21] คือระบบที่แสดงให้เห็นถึง Canonicality โดยไม่ต้องปฏิบัติตาม ความถูกต้อง ช่วยให้สามารถบันทึกข้อมูลได้อย่างมีประสิทธิภาพ เนื่องจากการหลีกเลี่ยงสภาวะโลกและความยากลำบาก ด้วยการปรับขนาดที่นำมาซึ่งสิ่งนี้ถือได้ว่าเป็นโซลูชันที่ปรับขนาดได้ อย่างไรก็ตามดังที่ได้กล่าวไปแล้วว่าชุดนี้ ของปัญหาที่แก้ไขได้นั้นเข้มงวดและเล็กลงอย่างมาก Tangle [18] เป็นแนวทางใหม่ในระบบฉันทามติ แทนที่จะจัดเรียงธุรกรรมออกเป็นบล็อกและสร้างฉันทามติในรายการที่เชื่อมโยงกันอย่างเคร่งครัดเพื่อให้มีการจัดระเบียบการเปลี่ยนแปลงรัฐที่เป็นที่ยอมรับทั่วโลก ส่วนใหญ่กลับละทิ้งแนวคิดเรื่องการสั่งซื้อที่มีโครงสร้างหนักและแทนที่ ผลักดันให้เกิดกราฟแบบอะไซเคิลโดยตรงของธุรกรรมที่ขึ้นอยู่กับรายการภายหลังซึ่งจะช่วยให้รายการก่อนหน้าเป็นแบบมาตรฐาน ผ่านการอ้างอิงที่ชัดเจน สำหรับการเปลี่ยนแปลงสถานะโดยพลการ กราฟการพึ่งพานี้จะกลายเป็นเรื่องยากอย่างรวดเร็ว อย่างไรก็ตามสำหรับ UTXO model2 ที่ง่ายกว่ามากสิ่งนี้จะกลายเป็น ค่อนข้างสมเหตุสมผล เนื่องจากระบบมีความสอดคล้องกันอย่างหลวมๆ เท่านั้น และโดยทั่วไปธุรกรรมจะเป็นอิสระจากกัน ประการอื่น ความเท่าเทียมระดับโลกจำนวนมากกลายมาค่อนข้างมาก เป็นธรรมชาติ การใช้โมเดล UTXO จะมีผล ffect ของการจำกัด Tangle ให้เป็น “สกุลเงิน” การโอนมูลค่าล้วนๆ ระบบมากกว่าสิ่งทั่วไปหรือขยายได้ นอกจากนี้ หากปราศจากการเชื่อมโยงกันทั่วโลกอย่างหนัก การโต้ตอบกับระบบอื่นๆ—ซึ่งมีแนวโน้มว่าจะต้องมีความสมบูรณ์ ความรู้ระดับปริญญาเหนือสถานะของระบบ—กลายเป็นสิ่งที่ปฏิบัติไม่ได้ 1https://github.com/ethereum/wiki/wiki/Chain-Fibers-Redux 2เอาท์พุทธุรกรรมที่ยังไม่ได้ใช้ แบบจำลองที่ Bitcoin ใช้โดยที่สถานะเป็นชุดของที่อยู่ที่เกี่ยวข้องกับค่าบางอย่างอย่างมีประสิทธิภาพ ธุรกรรมจะเปรียบเทียบที่อยู่ดังกล่าวและปฏิรูปให้เป็นที่อยู่ชุดใหม่ซึ่งมียอดรวมเท่ากัน

โพลคาดอท: วิสัยทัศน์สำหรับกรอบการทำงานแบบหลายห่วงโซ่ที่แตกต่างกัน ร่างที่ 1 3 2.2.2. ระบบโซ่ต่างกัน โซ่ข้าง [3] คือ a ข้อเสนอเพิ่มเติมในโปรโตคอล Bitcoin ซึ่งจะอนุญาตให้มีปฏิสัมพันธ์ที่ไม่น่าเชื่อถือระหว่างห่วงโซ่ Bitcoin หลัก และโซ่ข้างเพิ่มเติม ไม่มีข้อกำหนดใดๆ ระดับของการโต้ตอบที่ 'สมบูรณ์' ระหว่าง side-chain: การโต้ตอบจะถูกจำกัดให้อนุญาตให้ side-chain เป็นได้ ผู้ดูแลทรัพย์สินของกันและกัน ซึ่งส่งผล – ในท้องถิ่น ศัพท์แสง—หมุดสองทาง 3 วิสัยทัศน์สุดท้ายมีไว้สำหรับกรอบงานที่สามารถระบุสกุลเงิน Bitcoin ได้ เพิ่มเติม ถ้ามีอุปกรณ์ต่อพ่วง ฟังก์ชันการทำงานผ่านการตรึงไว้ ไปยังเครือข่ายอื่นๆ ที่มีการเปลี่ยนแปลงสถานะที่แปลกใหม่มากขึ้น ระบบเกินกว่าที่โปรโตคอล Bitcoin อนุญาต ในแง่นี้ side-chains เน้นความสามารถในการขยายมากกว่าความสามารถในการขยายขนาด แท้จริงแล้ว ไม่มีข้อกำหนดพื้นฐานสำหรับความถูกต้องของไซด์เชน tokens จากห่วงโซ่เดียว (เช่น Bitcoin) จัดขึ้นในนามของห่วงโซ่ด้านข้างเท่านั้นที่มีการป้องกันโดย ความสามารถของ side-chain ในการจูงใจนักขุดให้ยอมรับมาตรฐาน การเปลี่ยนภาพที่ถูกต้อง ความปลอดภัยของเครือข่าย Bitcoin ไม่สามารถเปลี่ยนมาทำงานแทนผู้อื่นได้โดยง่าย blockchainส. นอกจากนี้ โปรโตคอลสำหรับการรับรอง Bitcoin นักขุดผสานเหมือง (ซึ่งเป็นการทำซ้ำอำนาจการกำหนดมาตรฐานของพวกเขาไปยังห่วงโซ่ด้านข้าง) และที่สำคัญกว่านั้นคือตรวจสอบความถูกต้องของการเปลี่ยนผ่านของห่วงโซ่ด้านข้างอยู่นอก ขอบเขตของข้อเสนอนี้ Cosmos [10] เป็นระบบหลายลูกโซ่ที่นำเสนอใน เส้นเดียวกับโซ่ข้าง สลับ Nakamoto PoW วิธีการที่เป็นเอกฉันท์สำหรับอัลกอริทึม Tendermint ของ Jae Kwon โดยพื้นฐานแล้ว มันอธิบายหลายเชน (ปฏิบัติการใน โซน) แต่ละแห่งใช้อินสแตนซ์ของ Tendermint ร่วมกับวิธีการสื่อสารที่ปราศจากความไว้วางใจผ่านทาง ห่วงโซ่ฮับหลัก การสื่อสารระหว่างเครือข่ายนี้จำกัดอยู่ที่การถ่ายโอนสินทรัพย์ดิจิทัล (“โดยเฉพาะเกี่ยวกับ tokens”) แทนที่จะเป็นข้อมูลที่กำหนดเอง อย่างไรก็ตาม การสื่อสารระหว่างเครือข่ายดังกล่าวมีเส้นทางส่งคืนข้อมูล เช่น เพื่อรายงานสถานะการโอนเงินให้ผู้ส่งทราบ เครื่องมือตรวจสอบความถูกต้องตั้งค่าสำหรับเชนแบบแบ่งโซน และโดยเฉพาะอย่างยิ่ง วิธีการจูงใจพวกเขาก็เหมือนกับโซ่ข้างซ้าย เป็นปัญหาที่ยังไม่ได้รับการแก้ไข สมมติฐานทั่วไปก็คือว่า แต่ละ chained chain จะเก็บ token ของค่าที่อัตราเงินเฟ้อถูกใช้เพื่อจ่ายสำหรับ validators ยังอยู่ในช่วงเริ่มต้น ของการออกแบบ ปัจจุบันข้อเสนอยังขาดรายละเอียดที่ครอบคลุมเกี่ยวกับวิธีการทางเศรษฐกิจในการบรรลุการขยายขนาด ความแน่นอนเหนือความถูกต้องสากล อย่างไรก็ตาม การเชื่อมโยงแบบหลวมๆ ที่จำเป็นระหว่างโซนและฮับจะช่วยให้ได้ เพื่อความยืดหยุ่นเพิ่มเติมเหนือพารามิเตอร์ของโซน โซ่เมื่อเปรียบเทียบกับระบบที่บังคับใช้แข็งแกร่งกว่า การเชื่อมโยงกัน 2.2.3. แคสเปอร์. ยังไม่มีรีวิวที่ครอบคลุมหรือการเปรียบเทียบแบบเทียบเคียงระหว่าง Casper [6] และ Polkadot ได้ทำไว้แล้วถึงแม้จะสามารถกวาดล้างได้พอสมควรก็ตาม (และไม่ถูกต้องตามลำดับ) ลักษณะของทั้งสอง Casper เป็นการพลิกโฉมวิธีการใช้อัลกอริธึมฉันทามติของ PoS อาจขึ้นอยู่กับผู้เข้าร่วมเดิมพันว่าส้อมใด ในที่สุดก็จะกลายเป็นที่ยอมรับ มีการพิจารณาอย่างมากเพื่อให้แน่ใจว่าเครือข่ายมีความแข็งแกร่ง forks แม้ว่าจะใช้เวลานานและมีระดับความสามารถในการขยายเพิ่มเติมนอกเหนือจากโมเดล Ethereum พื้นฐาน เช่น แคสเปอร์ในปัจจุบันมีแนวโน้มที่จะมีมากขึ้นอย่างมาก โปรโตคอลที่ซับซ้อนกว่า Polkadot และบรรพบุรุษของมัน และ การเบี่ยงเบนอย่างมากจากรูปแบบ blockchain พื้นฐาน มัน ยังไม่มีใครเห็นว่าแคสเปอร์จะทำซ้ำในอนาคตอย่างไร และจะมีลักษณะอย่างไรหากนำไปใช้จริงในที่สุด ในขณะที่ Casper และ Polkadot ต่างก็เป็นตัวแทนของโปรโตคอลใหม่ที่น่าสนใจ และในบางแง่มุม เป็นการเสริมของ Ethereum มีความแตกต่างอย่างมากระหว่างสิ่งเหล่านั้น เป้าหมายสูงสุดและเส้นทางสู่การใช้งาน แคสเปอร์เป็น Ethereum โครงการที่มีรากฐานเป็นศูนย์กลางซึ่งได้รับการออกแบบแต่แรกเริ่ม เป็นการเปลี่ยนแปลง PoS ของโปรโตคอลโดยไม่ต้องการ สร้าง blockchain ที่ปรับขนาดได้ขั้นพื้นฐาน ที่สำคัญก็คือ ออกแบบมาให้เป็นการฮาร์ดฟอร์ก แทนที่จะเป็นสิ่งอื่นใดที่กว้างขวางกว่า ดังนั้นลูกค้าและผู้ใช้ Ethereum ทั้งหมดจะเป็น จำเป็นต้องอัปเกรดหรือคงอยู่ในทางแยกของการนำไปใช้ที่ไม่แน่นอน ด้วยเหตุนี้ การใช้งานจึงยากขึ้นอย่างมาก เช่นเดียวกับที่มีอยู่ในโครงการที่มีการกระจายอำนาจในพื้นที่ที่คับแคบ จำเป็นต้องมีการประสานงาน Polkadot มีความแตกต่างหลายประการ ประการแรกและสำคัญที่สุด Polkadot ได้รับการออกแบบมาให้สามารถขยายและปรับขนาดได้อย่างสมบูรณ์ blockchain การทดสอบการพัฒนา การปรับใช้ และการโต้ตอบ เตียง มันถูกสร้างขึ้นเพื่อเป็นสายรัดที่สามารถป้องกันอนาคตได้ ดูดซึมใหม่ blockchainเทคโนโลยีเมื่อมีให้ใช้งานโดยไม่ต้องมีการประสานงานแบบกระจายอำนาจที่ซับซ้อนมากเกินไป หรือฮาร์ดฟอร์ก เราจินตนาการถึงกรณีการใช้งานหลายกรณีเช่นนี้แล้ว เป็นเครือข่ายร่วมที่เข้ารหัสและเครือข่ายความถี่สูง ด้วยเวลาบล็อกที่ต่ำมากซึ่งไม่สามารถทำได้จริง เวอร์ชันในอนาคตของ Ethereum ที่จินตนาการไว้ในปัจจุบัน ในที่สุด การมีเพศสัมพันธ์ระหว่างมันกับ Ethereum นั้นยอดเยี่ยมมาก หลวม; ไม่จำเป็นต้องดำเนินการใดๆ ในส่วนของ Ethereum เปิดใช้งานการส่งต่อธุรกรรมที่ไม่น่าเชื่อถือระหว่างทั้งสอง เครือข่าย กล่าวโดยย่อในขณะที่ Casper/Ethereum 2.0 และ Polkadot แบ่งปันความคล้ายคลึงกันบางอย่างที่เราเชื่อว่าเป็นเป้าหมายสุดท้ายของพวกเขา มีความแตกต่างอย่างมาก และแทนที่จะแข่งขันกัน โปรโตคอลทั้งสองมีแนวโน้มที่จะอยู่ร่วมกันในที่สุดภายใต้ ความสัมพันธ์ที่เป็นประโยชน์ร่วมกันในอนาคตอันใกล้

Resumo

Polkadot é uma multicadeia heterogênea escalável. Isto significa que, diferentemente das implementações anteriores de blockchain que se concentraram em fornecer uma única cadeia de diversos graus de generalidade sobre aplicações potenciais, Polkadot em si foi projetado para não fornecer nenhuma funcionalidade inerente ao aplicativo. Em vez disso, Polkadot fornece a base “cadeia de retransmissão” sobre a qual um grande número de informações validáveis, estruturas de dados dinâmicas globalmente coerentes podem ser hospedadas lado a lado. Chamamos essas estruturas de dados de “paralelizadas” correntes ou parachains, embora não haja necessidade específica de eles sejam de natureza blockchain. Em outras palavras, Polkadot pode ser considerado equivalente a um conjunto de cadeias independentes (por exemplo, o conjunto contendo Ethereum, Ethereum Classic, Namecoin e Bitcoin), exceto por dois pontos muito importantes: • Segurança conjunta; • transacionalidade entre cadeias sem confiança. É por esses pontos que consideramos Polkadot “escalável”. Em princípio, um problema a ser implantado em Polkadot pode ser substancialmente paralelizado - ampliado - ao longo de um grande número de pára-quedas. Como todos os aspectos de cada parachain pode ser conduzido em paralelo por um segmento diferente da rede Polkadot, o sistema tem alguma capacidade para escalar. Polkadot fornece um pedaço bastante básico de 3em oposição a uma fixação unilateral que é essencialmente a ação de destruir tokens em uma cadeia para criar tokens em outra sem o mecanismo para fazer o inverso a fim de recuperar os tokens originaisPOLKADOT: VISÃO PARA UMA ESTRUTURA MULTI-CADEIA HETEROGÊNEA ESBOÇO 1 4 infraestrutura, deixando grande parte da complexidade para ser abordada no nível do middleware. Esta é uma decisão consciente que visa reduzir o risco de desenvolvimento, permitindo que a software necessário a ser desenvolvido em um curto espaço de tempo e com um bom nível de confiança sobre sua segurança e robustez. 3.1. A Filosofia de Polkadot. Polkadot deveria fornecer uma base absolutamente sólida sobre a qual construir a próxima onda de sistemas de consenso, através o espectro de risco de projetos maduros com capacidade de produção às ideias nascentes. Ao fornecer fortes garantias de segurança, isolamento e comunicação, Polkadot pode permitir parachains para selecionar entre uma variedade de propriedades. Na verdade, prevemos vários blockchains experimentais empurrando as propriedades do que poderia ser considerado sensato hoje. Vemos conservadores, cadeias de alto valor semelhantes a Bitcoin ou Z-cash [20] coexistindo com valores mais baixos “cadeias temáticas” (como marketing, tão divertido) e redes de teste com taxas zero ou quase zero. Vemos totalmente criptografado, cadeias de consórcios “obscuras” operando lado a lado – e até mesmo fornecendo serviços para cadeias altamente funcionais e abertas como aqueles como Ethereum. Vemos novos experimentos Cadeias baseadas em VM, como um wasm subjetivo com cobrança de tempo cadeia sendo usada como um meio de terceirizar problemas de computação difíceis de uma cadeia mais madura do tipo Ethereum ou uma cadeia mais restrita do tipo Bitcoin. Para gerenciar atualizações em cadeia, Polkadot irá inerentemente apoiar algum tipo de estrutura de governança, provavelmente baseada nos sistemas políticos estáveis existentes e com um aspecto bicameral semelhante ao Conselho do Livro Amarelo [24]. Como a autoridade final, os detentores subjacentes de token teriam o controle do “referendo”. Para refletir a opinião dos usuários necessidade de desenvolvimento, mas a necessidade de legitimidade dos desenvolvedores, esperamos que uma direção razoável seja formar as duas câmaras de um comitê “usuário” (composto por vinculados validators) e um comitê “técnico” composto dos principais desenvolvedores de clientes e participantes do ecossistema. O corpo de titulares de token manteria a legitimidade final e formaria uma maioria absoluta para aumentar, reparametrizar, substituir ou dissolver esta estrutura, algo que não duvide da eventual necessidade de: nas palavras de Twain “Governos e fraldas devem ser trocadas com frequência, e para pelo mesmo motivo”. Embora a reparametrização seja normalmente trivial de organizar dentro de um mecanismo de consenso mais amplo, mudanças mais qualitativas, como substituição e aumento, seriam necessárias. provavelmente precisarão ser “decretos suaves” não automatizados (por exemplo, através da canonização de um número de bloco e da hash de um documento especificando formalmente o novo protocolo) ou exigir que o mecanismo central de consenso contenha um linguagem suficientemente rica para descrever qualquer aspecto de si mesmo que pode precisar mudar. Este último é um objetivo eventual, no entanto, é mais provável que o primeiro seja escolhido para facilitar um cronograma de desenvolvimento razoável. Os princípios primários de Polkadot e as regras dentro das quais avaliamos todas as decisões de design são: Mínimo: Polkadot deve ter o mínimo de funcionalidade possível. Simples: nenhuma complexidade adicional deve estar presente no protocolo base do que pode razoavelmente ser transferido para middleware, colocado através de um parachain ou introduzido em uma otimização posterior. Geral: nenhum requisito desnecessário, restrição ou limitação deve ser colocada em pára-quedas; Polkadot deve ser uma plataforma de teste para o desenvolvimento de sistema de consenso que pode ser otimizado por meio de tornando o modelo no qual as extensões se enquadram o mais abstrato possível. Robusto: Polkadot deve fornecer fundamentalmente camada base estável. Além da solidez económica, isto também significa descentralizar para minimizar os vetores para ataques de alta recompensa.

สรุป

Polkadot คือ multi-chain ที่ต่างกันที่ปรับขนาดได้ นี้ หมายความว่าไม่เหมือนกับการใช้งาน blockchain ก่อนหน้านี้ ซึ่งได้เน้นการให้บริการห่วงโซ่เดียวที่แตกต่างกัน องศาทั่วไปเหนือแอปพลิเคชันที่เป็นไปได้ Polkadot ตัวมันเองได้รับการออกแบบมาเพื่อไม่ให้มีฟังก์ชันการทำงานของแอปพลิเคชันโดยธรรมชาติเลย แต่ Polkadot เป็นผู้ให้ข้อมูลพื้นฐาน “รีเลย์-เชน” ซึ่งสามารถตรวจสอบความถูกต้องได้จำนวนมาก โครงสร้างข้อมูลไดนามิกที่เชื่อมโยงกันทั่วโลกอาจถูกโฮสต์ เคียงข้างกัน เราเรียกโครงสร้างข้อมูลเหล่านี้ว่า "แบบขนาน" โซ่หรือพาราเชน แม้ว่าจะไม่จำเป็นต้องระบุเป็นพิเศษก็ตาม พวกมันจะมี blockchain ในธรรมชาติ กล่าวอีกนัยหนึ่ง Polkadot อาจถือว่าเทียบเท่ากับชุดของลูกโซ่อิสระ (เช่น ชุดที่มี Ethereum, Ethereum Classic, Namecoin และ Bitcoin) ยกเว้นสองประเด็นที่สำคัญมาก: • การรักษาความปลอดภัยแบบรวมกลุ่ม; • การทำธุรกรรมระหว่างเครือข่ายที่ปราศจากความไว้วางใจ ประเด็นเหล่านี้คือเหตุผลที่เราถือว่า Polkadot สามารถ "ปรับขนาดได้" โดยหลักการแล้ว ปัญหาที่จะปรับใช้บน Polkadot อาจถูกขนานอย่างมาก—ขยายขนาด—มากกว่า parachains จำนวนมาก เนื่องจากทุกแง่มุมของแต่ละคน parachain อาจดำเนินการแบบขนานโดยส่วนที่แตกต่างกันของเครือข่าย Polkadot ระบบมีความสามารถบางอย่าง เพื่อปรับขนาด Polkadot ให้ชิ้นส่วนที่ค่อนข้างเปลือยเปล่า 3 ซึ่งตรงข้ามกับหมุดทางเดียวซึ่งโดยพื้นฐานแล้วคือการทำลาย tokens ในสายโซ่หนึ่งเพื่อสร้าง tokens ในอีกสายหนึ่งโดยไม่มี กลไกในการสนทนาเพื่อกู้คืน tokens ดั้งเดิมโพลคาดอท: วิสัยทัศน์สำหรับกรอบการทำงานแบบหลายห่วงโซ่ที่แตกต่างกัน ร่างที่ 1 4 โครงสร้างพื้นฐานทำให้ความซับซ้อนมากต้องได้รับการแก้ไขในระดับมิดเดิลแวร์ นี่เป็นการตัดสินใจอย่างมีสติโดยมีจุดประสงค์เพื่อลดความเสี่ยงในการพัฒนา ซอฟต์แวร์ที่จำเป็นในการพัฒนาภายในระยะเวลาอันสั้น และมีความมั่นใจในระดับดีในเรื่องความปลอดภัยและ ความทนทาน 3.1. ปรัชญาของ Polkadot Polkadot ควร มอบรากฐานที่แข็งแกร่งอย่างแท้จริงให้กับคุณ สร้างคลื่นลูกใหม่ของระบบฉันทามติทันที สเปกตรัมความเสี่ยงจากการออกแบบที่ครบกำหนดในการผลิต สู่ความคิดใหม่ๆ ด้วยการให้การรับประกันที่รัดกุมในเรื่องความปลอดภัย การแยกตัว และการสื่อสาร Polkadot สามารถทำได้ parachains ให้เลือกจากคุณสมบัติต่างๆ มากมาย แท้จริงแล้ว เราคาดการณ์ว่า blockchain การทดลองต่างๆ จะผลักดันคุณสมบัติของสิ่งที่ถือว่าสมเหตุสมผล วันนี้ เราเห็นอนุรักษ์นิยม เครือที่มีมูลค่าสูงคล้ายกับ Bitcoin หรือ Z-cash [20] อยู่ร่วมกันพร้อมกับมูลค่าที่ต่ำกว่า “theme-chains” (การตลาดที่สนุกสนานมาก) และเครือข่ายทดสอบ โดยมีค่าธรรมเนียมเป็นศูนย์หรือเกือบเป็นศูนย์ เราเห็นการเข้ารหัสอย่างสมบูรณ์ “มืด” กลุ่มเครือที่ดำเนินงานเคียงข้าง—และแม้กระทั่ง ให้บริการแก่—เครือข่ายแบบเปิดและใช้งานได้ดี เช่นที่ชอบ Ethereum เราเห็นการทดลองใหม่ๆ เครือข่ายที่ใช้ VM เช่น wasm ที่คิดตามเวลาแบบอัตนัย ห่วงโซ่ที่ถูกใช้เป็นวิธีหนึ่งในเอาท์ซอร์สปัญหาการคำนวณที่ยากจากห่วงโซ่ที่มีลักษณะคล้าย Ethereum ที่เป็นผู้ใหญ่มากขึ้น หรือเชนแบบ Bitcoin ที่จำกัดมากขึ้น ในการจัดการการอัพเกรดลูกโซ่ Polkadot จะทำโดยธรรมชาติ สนับสนุนโครงสร้างการกำกับดูแลบางประเภทซึ่งอาจอิงตาม เกี่ยวกับระบบการเมืองที่มั่นคงที่มีอยู่และมีแง่มุมสองสภาที่คล้ายกับสภากระดาษเหลือง [24] เช่น ผู้มีอำนาจขั้นสูงสุด ผู้ถือ token ที่มีความเชื่อถือได้จะมีการควบคุม "การลงประชามติ" เพื่อสะท้อนถึงผู้ใช้ ความจำเป็นในการพัฒนา แต่ความต้องการของนักพัฒนาในด้านความชอบธรรม เราคาดหวังว่าจะมีทิศทางที่สมเหตุสมผล สองห้องจากคณะกรรมการ "ผู้ใช้" (ประกอบด้วย ผูกมัด validators) และมีการจัดตั้งคณะกรรมการ "ด้านเทคนิค" ของนักพัฒนาลูกค้ารายใหญ่และผู้เล่นในระบบนิเวศ ที่ เนื้อหาของผู้ถือ token จะรักษาความชอบธรรมขั้นสูงสุดและก่อให้เกิดความยิ่งใหญ่ในการขยาย ปรับพารามิเตอร์ แทนที่หรือยุบโครงสร้างนี้ ซึ่งเป็นสิ่งที่เรา อย่าสงสัยในความจำเป็นในที่สุด: ตามคำพูดของทเวน “รัฐบาลและผ้าอ้อมต้องเปลี่ยนบ่อยๆและเพื่อ เหตุผลเดียวกัน” ในขณะที่การกำหนดพารามิเตอร์ใหม่โดยทั่วไปเป็นเรื่องเล็กน้อยในการจัดเตรียมภายในกลไกฉันทามติที่ใหญ่กว่า การเปลี่ยนแปลงเชิงคุณภาพมากกว่า เช่น การแทนที่และการเพิ่มจะ มีแนวโน้มว่าจะต้องเป็น “คำสั่งซอฟต์เดครี” ที่ไม่อัตโนมัติ (เช่น ผ่านการบัญญัติมาตรฐานของหมายเลขบล็อกและ hash ของเอกสารที่ระบุโปรโตคอลใหม่อย่างเป็นทางการ) หรือจำเป็นต้องมีกลไกฉันทามติหลักเพื่อให้มี ภาษาที่อุดมสมบูรณ์เพียงพอที่จะอธิบายแง่มุมใด ๆ ของตัวเอง ซึ่งอาจจำเป็นต้องเปลี่ยนแปลง อันหลังเป็นเป้าหมายสุดท้าย อย่างไรก็ตาม อดีตมีแนวโน้มที่จะถูกเลือกเพื่อที่จะ อำนวยความสะดวกในการพัฒนาไทม์ไลน์ที่เหมาะสม หลักคำสอนหลักของ Polkadot และกฎเกณฑ์ภายในนั้น เราประเมินการตัดสินใจออกแบบทั้งหมดคือ: น้อยที่สุด: Polkadot ควรมีฟังก์ชันการทำงานน้อยที่สุด ง่าย: ไม่ควรมีความซับซ้อนเพิ่มเติม ในโปรโตคอลพื้นฐานเกินกว่าที่จะสมเหตุสมผล ที่ถูกโหลดเข้าสู่มิดเดิลแวร์ วางผ่านก parachain หรือนำมาใช้ในการเพิ่มประสิทธิภาพในภายหลัง ทั่วไป: ไม่มีข้อกำหนดที่ไม่จำเป็น, ข้อจำกัด หรือควรวางข้อจำกัดไว้บนพาราเชน Polkadot ควรเป็นเตียงทดสอบสำหรับการพัฒนาระบบฉันทามติที่สามารถปรับให้เหมาะสมได้ผ่าน ทำให้แบบจำลองที่ส่วนขยายพอดีกับนามธรรมมากที่สุด แข็งแกร่ง: Polkadot ควรจัดให้มีพื้นฐาน ชั้นฐานที่มั่นคง นอกจากความสมบูรณ์ทางเศรษฐกิจแล้ว ยังหมายถึงการกระจายอำนาจเพื่อลดให้เหลือน้อยที่สุดอีกด้วย เวกเตอร์สำหรับการโจมตีที่ให้ผลตอบแทนสูง

Participação em Polkadot

Existem quatro funções básicas na manutenção de um Polkadot rede: coletor, pescador, nomeador e validator. Em uma possível implementação de Polkadot, a última função na verdade, pode ser dividido em duas funções: validator básico e fiador de disponibilidade; isso é discutido na seção 6.5.3. Coletor Pescador Validadores (este grupo) Validadores (outros grupos) aprova torna-se monitores relatórios ruim comportamento para fornece bloco candidatos para Nomeador Figura 1. A interação entre o quatro funções de Polkadot. 4.1. Validadores. Um validator é a cobrança mais alta e ajuda a selar novos blocos na rede Polkadot. O papel do validator depende de um título suficientemente alto sendo depositado, embora permitamos que outras partes vinculadas nomear um ou mais validators para agir em seu nome e como tal parte do título do validator pode não ser necessariamente propriedade do próprio validator, mas sim destes nomeadores. Um validator deve executar uma implementação de cliente de cadeia de retransmissão com alta disponibilidade e largura de banda. Em cada bloco o nó deve estar pronto para aceitar o papel de ratificar um novo bloco em um parachain nomeado. Este processo envolve receber, validar e republicar candidatos blocos. A nomeação é determinística, mas virtualmente imprevisível com muita antecedência. Como o validator não pode razoavelmente esperado que mantenha um sistema totalmente sincronizado banco de dados de todos os parachains, espera-se que o validator nomeie a tarefa de elaborar uma nova sugestão bloco parachain para terceiros, conhecido como agrupador. Uma vez que todos os novos blocos de parachain tenham sido devidamente ratificados por seus subgrupos validator designados, validators deve então ratificar o próprio bloco da cadeia de relés. Isso envolve atualizando o estado das filas de transação (essencialmente mover dados da fila de saída de um parachain para outra fila de entrada do parachain), processando as transações de o conjunto de transações ratificadas em cadeia de retransmissão e ratificando o bloco final, incluindo as alterações finais do parachain.POLKADOT: VISÃO PARA UMA ESTRUTURA MULTI-CADEIA HETEROGÊNEA ESBOÇO 1 5 Um validator não cumprindo seu dever de encontrar consenso sob as regras do nosso algoritmo de consenso escolhido é punido. Para falhas iniciais e não intencionais, isso ocorre através retendo a recompensa de validator. Falhas repetidas resultam na redução do seu título de segurança (através da queima). Ações provavelmente maliciosas, como assinatura dupla ou conspirar para fornecer um bloqueio inválido resultará na perda de todo o vínculo (que está parcialmente queimado, mas principalmente dado ao informante e aos atores honestos). Em certo sentido, validators são semelhantes aos pools de mineração dos PoW atuais blockchains. 4.2. Nomeadores. Um nominador é uma parte interessada que contribui para a caução de um validator. Eles não têm qualquer função adicional, exceto a de colocar capital de risco e como tal para sinalizar que eles confiam em um determinado validator (ou conjunto deles) a agir com responsabilidade na manutenção do rede. Eles recebem um aumento ou redução proporcional em seu depósito de acordo com o crescimento do título ao qual eles contribuem. Juntamente com os agrupadores, em seguida, os nomeadores estão em alguns sentido semelhante aos mineradores das redes PoW atuais. 4.3. Coletores. Agrupadores de transações (abreviadamente agrupadores) são partes que auxiliam validators na produção de blocos de pára-quedas. Eles mantêm um “nó completo” para um parachain específico; o que significa que eles retêm todos os recursos necessários informações para poder criar novos blocos e executar transações da mesma maneira que os mineradores fazem nos PoW blockchains atuais. Em circunstâncias normais, eles irá agrupar e executar transações para criar um não selado bloquear e fornecê-lo, junto com um conhecimento zero prova, para um ou mais validators atualmente responsáveis por propondo um bloco parachain. A natureza precisa do relacionamento entre agrupadores, nomeadores e validators provavelmente mudará ao longo tempo. Inicialmente, esperamos que os agrupadores trabalhem em estreita colaboração com validators, já que haverá apenas alguns (talvez apenas um) parachain(s) com pouco volume de transações. O a implementação inicial do cliente incluirá RPCs para permitir um nó de agrupamento parachain para fornecer incondicionalmente um nó (relaychain) validator com um parachain comprovadamente válido bloco. Como o custo de manutenção de uma versão sincronizada do todos esses parachains aumentam, esperamos ver infra-estrutura existente que ajudará a separar o deveres para com partidos independentes e com motivação económica. Eventualmente, esperamos ver pools de agrupamentos que disputam coletar o máximo de taxas de transação. Esses agrupadores podem ser contratados para atender validators específicos durante um período de tempo por uma participação contínua nos rendimentos da recompensa. Alternativamente, os agrupadores “freelance” podem simplesmente criar um mercado que oferece blocos de parachain válidos em troca de uma parcela competitiva da recompensa pagável imediatamente. Da mesma forma, os grupos de nominadores descentralizados permitiriam múltiplos participantes vinculados para coordenar e compartilhar o dever de um validator. Esta capacidade de reunir garante uma participação aberta levando a um sistema mais descentralizado. 4.4. Pescadores. Ao contrário dos outros dois partidos activos, pescadores não estão diretamente relacionados com a autoria do bloco processo. Em vez disso, eles são “caçadores de recompensas” independentes motivado por uma grande recompensa única. Precisamente devido a existência de pescadores, esperamos que eventos de mau comportamento aconteçam raramente, e quando acontecem apenas devido a a parte vinculada sendo descuidada com a segurança da chave secreta, e não através de intenção maliciosa. O nome vem desde a frequência esperada da recompensa, os requisitos mínimos para participar e o eventual tamanho da recompensa. Os pescadores obtêm a sua recompensa através de uma prova atempada de que pelo menos uma parte vinculada agiu ilegalmente. Ações ilegais incluem assinar dois blocos cada um com o mesmo pai ratificado ou, no caso de parachains, ajudar a ratificar um inválido bloco. Para evitar recompensas excessivas ou o compromisso e uso ilícito da chave secreta de uma sessão, a recompensa básica para fornecer uma única mensagem assinada ilegalmente por validator é mínimo. Esta recompensa aumenta assintoticamente à medida que mais corroborar assinaturas ilegais de outros validators são desde que implique um ataque genuíno. A assíntota está definida em 66% seguindo nossa afirmação básica de segurança de que pelo menos dois terços dos validators agem com benevolência. Os pescadores são um pouco semelhantes aos “nós completos” em sistemas blockchain atuais que os recursos necessários são relativamente pequenos e o compromisso de tempo de atividade estável e largura de banda não é necessária. Os pescadores diferem tanto tanto quanto eles devem pagar uma pequena fiança.Esse vínculo impede ataques Sybil desperdiçam tempo e computação de validators recursos. É imediatamente retirável, provavelmente não mais do que o equivalente a alguns dólares e pode levar para colher uma grande recompensa por detectar um mau comportamento validator.

การเข้าร่วมใน Polkadot

มีบทบาทพื้นฐานสี่ประการในการบำรุงรักษา Polkadot เครือข่าย: ผู้ประสานงาน ชาวประมง ผู้เสนอชื่อ และ validator ใน การใช้งานที่เป็นไปได้อย่างหนึ่งของ Polkadot บทบาทหลัง จริงๆ แล้วอาจแบ่งออกเป็นสองบทบาท: พื้นฐาน validator และผู้รับประกันความพร้อม; นี้จะกล่าวถึงในมาตรา 6.5.3. ผู้รวบรวม ชาวประมง ผู้ตรวจสอบความถูกต้อง (กลุ่มนี้) ผู้ตรวจสอบความถูกต้อง (กลุ่มอื่นๆ) อนุมัติ กลายเป็น จอภาพ รายงาน ไม่ดี พฤติกรรมที่จะ ให้บล็อก ผู้สมัคร สำหรับ ผู้เสนอชื่อ รูปที่ 1 ปฏิสัมพันธ์ระหว่าง สี่บทบาทของ Polkadot 4.1. ผู้ตรวจสอบความถูกต้อง A validator คือค่าใช้จ่ายสูงสุดและ ช่วยปิดผนึกบล็อกใหม่บนเครือข่าย Polkadot บทบาทของ validator ขึ้นอยู่กับความผูกพันที่สูงเพียงพอ กำลังฝากอยู่แม้ว่าเราจะอนุญาตให้ฝ่ายที่ถูกผูกมัดอื่น ๆ ก็ตาม เสนอชื่อ validator หนึ่งรายการขึ้นไปเพื่อดำเนินการแทนพวกเขาและเป็น บางส่วนของพันธะของ validator ดังกล่าวอาจไม่จำเป็นต้องเป็นของ validator เอง แต่เป็นของสิ่งเหล่านี้ ผู้เสนอชื่อ validator ต้องรันการใช้งานไคลเอ็นต์ลูกโซ่รีเลย์ที่มีความพร้อมใช้งานและแบนด์วิธสูง ในแต่ละบล็อค โหนดจะต้องพร้อมที่จะยอมรับบทบาทของการให้สัตยาบัน บล็อกใหม่บน parachain ที่ได้รับการเสนอชื่อ กระบวนการนี้ เกี่ยวข้องกับการรับ การตรวจสอบ และการเผยแพร่ผู้สมัครอีกครั้ง บล็อก การเสนอชื่อนั้นเป็นสิ่งที่กำหนดไว้ล่วงหน้าแต่แทบจะคาดเดาไม่ได้ล่วงหน้ามาก เนื่องจาก validator ไม่สามารถ คาดหวังได้อย่างสมเหตุสมผลว่าจะรักษาการซิงโครไนซ์อย่างเต็มที่ ฐานข้อมูลของ parachains ทั้งหมด คาดว่า validator จะเสนอชื่องานคิดค้นสิ่งใหม่ที่แนะนำ บล็อก parachain ให้กับบุคคลที่สามหรือที่เรียกว่า collator เมื่อบล็อกพาราเชนใหม่ทั้งหมดได้รับการรับรองอย่างเหมาะสมโดยกลุ่มย่อย validator ที่ได้รับการแต่งตั้งแล้ว validators จากนั้นจะต้องให้สัตยาบันต่อบล็อกรีเลย์โซ่เอง สิ่งนี้เกี่ยวข้องกับ อัปเดตสถานะของคิวธุรกรรม (โดยพื้นฐานแล้ว ย้ายข้อมูลจากเอาต์พุตคิวของ parachain ไปยังอีกคิวหนึ่ง คิวอินพุตของ parachain) ประมวลผลธุรกรรมของ การทำธุรกรรมสายโซ่รีเลย์ที่ให้สัตยาบันที่กำหนดและให้สัตยาบัน บล็อกสุดท้าย รวมถึงการเปลี่ยนแปลงพาราเชนสุดท้ายด้วยโพลคาดอท: วิสัยทัศน์สำหรับกรอบการทำงานแบบหลายห่วงโซ่ที่แตกต่างกัน ร่างที่ 1 5 validator ไม่ปฏิบัติหน้าที่ของตนในการค้นหาฉันทามติ ภายใต้กฎของอัลกอริทึมฉันทามติที่เราเลือกจะถูกลงโทษ สำหรับความล้มเหลวครั้งแรกโดยไม่ตั้งใจ ก็ถือว่าผ่านแล้ว ระงับรางวัลของ validator ความล้มเหลวซ้ำแล้วซ้ำเล่าส่งผลให้พันธบัตรด้านความปลอดภัยลดลง (ผ่านการเผา) การกระทำที่เป็นอันตรายที่พิสูจน์ได้ เช่น การลงนามสองครั้งหรือ การสมคบคิดที่จะจัดให้มีการบล็อกที่ไม่ถูกต้องส่งผลให้สูญเสีย พันธะทั้งหมด (ซึ่งถูกเผาบางส่วนแต่ส่วนใหญ่ให้มา) แก่ผู้ให้ข้อมูลและผู้แสดงที่ซื่อสัตย์) ในแง่หนึ่ง validators มีความคล้ายคลึงกับกลุ่มการขุด ของ PoW ปัจจุบัน blockchains 4.2. ผู้เสนอชื่อ ผู้เสนอชื่อเป็นฝ่ายที่ถือหุ้น ที่มีส่วนในหลักประกันความปลอดภัยของ validator พวกเขา ไม่มีบทบาทเพิ่มเติมยกเว้นการวางทุนความเสี่ยงและเป็น เช่นเพื่อส่งสัญญาณว่าพวกเขาเชื่อถือ validator โดยเฉพาะ (หรือ ที่กำหนดไว้) ให้ดำเนินการด้วยความรับผิดชอบในการบำรุงรักษา เครือข่าย พวกเขาได้รับการเพิ่มหรือลดตามสัดส่วน ในเงินฝากตามการเติบโตของพันธบัตรนั้น พวกเขามีส่วนร่วม ร่วมกับผู้เปรียบเทียบ ถัดไป ผู้เสนอชื่ออยู่ในบางส่วน มีความรู้สึกคล้ายกับนักขุดของเครือข่าย PoW ในปัจจุบัน 4.3. ผู้รวบรวม. ผู้เรียกเก็บเงินธุรกรรม (ผู้เรียกเก็บเงินระยะสั้น) เป็นฝ่ายที่ช่วยเหลือ validators ในการผลิตที่ถูกต้อง บล็อกพาราเชน พวกเขารักษา "โหนดเต็ม" สำหรับ parachain เฉพาะ หมายความว่าพวกเขาเก็บทุกสิ่งที่จำเป็นไว้ ข้อมูลเพื่อให้สามารถเขียนบล็อกใหม่และดำเนินการได้ การทำธุรกรรมในลักษณะเดียวกับที่นักขุดทำบน PoW blockchains ปัจจุบัน ภายใต้สถานการณ์ปกติพวกเขา จะเปรียบเทียบและดำเนินธุรกรรมเพื่อสร้างเปิดผนึก บล็อกและจัดเตรียมไว้พร้อมกับความรู้เป็นศูนย์ หลักฐานสำหรับ validator หนึ่งคนขึ้นไปที่รับผิดชอบในปัจจุบัน เสนอบล็อกพาราเชน ลักษณะความสัมพันธ์ที่ชัดเจนระหว่างผู้ทำงานร่วมกัน ผู้เสนอชื่อ และ validators มีแนวโน้มที่จะเปลี่ยนแปลงไป เวลา. ในตอนแรก เราคาดหวังให้ผู้ทำงานร่วมกันทำงานอย่างใกล้ชิด ด้วย validators เนื่องจากจะมีเพียงไม่กี่รายการเท่านั้น (บางที พาราเชนเพียงอันเดียวที่มีปริมาณธุรกรรมน้อย ที่ การใช้งานไคลเอนต์ครั้งแรกจะรวม RPC เพื่ออนุญาต โหนด collator parachain เพื่อจัดหาโหนด (relaychain) validator โดยไม่มีเงื่อนไขพร้อมกับ parachain ที่ถูกต้องที่พิสูจน์ได้ บล็อก เป็นค่าใช้จ่ายในการบำรุงรักษาเวอร์ชันที่ซิงค์ของ พาราเชนทั้งหมดเพิ่มขึ้น เราคาดว่าจะเห็นเพิ่มเติม โครงสร้างพื้นฐานที่จะช่วยแยกออกจากกัน หน้าที่ของพรรคอิสระที่มีแรงจูงใจทางเศรษฐกิจ ในที่สุด เราคาดว่าจะเห็นกลุ่มผู้เปรียบเทียบที่แย่งชิงกัน เก็บค่าธรรมเนียมการทำธุรกรรมมากที่สุด ผู้สมรู้ร่วมคิดดังกล่าวอาจได้รับการว่าจ้างให้ให้บริการ validators เฉพาะเจาะจงในช่วงระยะเวลาหนึ่งสำหรับส่วนแบ่งรางวัลที่ได้รับอย่างต่อเนื่อง อีกทางหนึ่ง ผู้ประสานงาน “อิสระ” อาจเพียงแค่สร้าง ตลาดที่นำเสนอบล็อก parachain ที่ถูกต้องเพื่อแลกกับส่วนแบ่งการแข่งขันของรางวัลที่จ่ายทันที ในทำนองเดียวกัน กลุ่มผู้เสนอชื่อแบบกระจายอำนาจจะอนุญาตให้มีหลายกลุ่ม ผู้เข้าร่วมผูกพันเพื่อประสานงานและแบ่งปันหน้าที่ของก validator. ความสามารถในการรวมกลุ่มนี้ช่วยให้มั่นใจได้ถึงการมีส่วนร่วมแบบเปิด นำไปสู่ระบบการกระจายอำนาจมากขึ้น 4.4. ชาวประมง. ต่างจากอีกสองพรรคที่ยังเคลื่อนไหวอยู่ ชาวประมงไม่เกี่ยวข้องโดยตรงกับการเขียนบล็อก กระบวนการ แต่เป็น “นักล่าเงินรางวัล” ที่เป็นอิสระ ได้รับแรงบันดาลใจจากรางวัลใหญ่รางวัลเดียว เนื่องมาจาก การมีอยู่ของชาวประมง เราคาดว่าเหตุการณ์ความประพฤติไม่ดีจะเกิดขึ้นน้อยครั้ง และเมื่อเกิดขึ้นเพียงเพราะ ผู้ถูกผูกมัดประมาทกับการรักษาความปลอดภัยด้วยกุญแจลับ มากกว่าด้วยเจตนาร้าย ชื่อก็มา. จากความถี่ในการให้รางวัลที่คาดหวัง ข้อกำหนดขั้นต่ำในการเข้าร่วม และขนาดรางวัลในท้ายที่สุด ชาวประมงจะได้รับรางวัลจากการพิสูจน์อย่างทันท่วงทีว่า ฝ่ายที่ถูกผูกมัดอย่างน้อยหนึ่งฝ่ายกระทำการผิดกฎหมาย การกระทำที่ผิดกฎหมาย รวมถึงการลงนามสองช่วงตึกโดยแต่ละช่วงตึกมีผู้ปกครองที่ให้สัตยาบันคนเดียวกัน หรือในกรณีของพาราเชน จะช่วยให้สัตยาบันเป็นโมฆะ บล็อก เพื่อป้องกันการให้รางวัลมากเกินไปหรือการประนีประนอมและ การใช้รหัสลับของเซสชันอย่างผิดกฎหมาย ซึ่งเป็นรางวัลพื้นฐานสำหรับ การระบุข้อความที่ลงนามอย่างผิดกฎหมายของ validator เพียงข้อความเดียวคือ น้อยที่สุด รางวัลนี้จะเพิ่มขึ้นแบบไม่แสดงอาการเช่นกัน การยืนยันลายเซ็นที่ผิดกฎหมายจาก validators อื่นๆ ถือเป็นการโจมตีอย่างแท้จริง เส้นกำกับถูกตั้งค่า ที่ 66% ตามการยืนยันความปลอดภัยพื้นฐานของเราอย่างน้อยที่สุด สองในสามของ validators กระทำการอย่างมีเมตตา ชาวประมงค่อนข้างจะคล้ายกับ “โหนดเต็ม” ค่ะ ระบบ blockchain ในปัจจุบันที่ทรัพยากรต้องการ มีขนาดค่อนข้างเล็กและความมุ่งมั่นในเรื่องเวลาทำงานที่มั่นคง และแบนด์วิธก็ไม่จำเป็น ชาวประมงก็มีความแตกต่างกัน มากเท่าที่พวกเขาต้องโพสต์ความผูกพันเล็กน้อยพันธะนี้ป้องกัน การโจมตีของ sybil จากการเสียเวลาและการคำนวณ validators ทรัพยากร ถอนได้ทันทีคงไม่มี มากกว่าเทียบเท่ากับไม่กี่ดอลลาร์และอาจนำไปสู่ เพื่อได้รับผลอันมหาศาลจากการเห็นความประพฤติไม่ดี validator.

Visão geral do projeto

Esta seção tem como objetivo fornecer uma breve visão geral do sistema como um todo. Uma exploração mais aprofundada do sistema é fornecido na seção seguinte. 5.1. Consenso. Na cadeia de retransmissão, Polkadot atinge consenso de baixo nível sobre um conjunto de regras válidas mutuamente acordadas blocos por meio de um algoritmo moderno assíncrono bizantino tolerante a falhas (BFT). O algoritmo será inspirado pelo simples Tendermint [11] e pelo substancialmente mais envolvido HoneyBadgerBFT [14]. Este último fornece uma consenso eficiente e tolerante a falhas sobre um acordo arbitrariamente infraestrutura de rede defeituosa, dado um conjunto de autoridades em sua maioria benignas ou validators. Para uma rede estilo prova de autoridade (PoA), só isso seria suficiente, no entanto, Polkadot é imaginado como sendo também implantável como uma rede em um ambiente totalmente aberto e público situação sem qualquer organização específica ou confiável autoridade necessária para mantê-lo. Como tal precisamos de um meio de determinar um conjunto de validators e incentivar para serem honestos. Para isso utilizamos seleção baseada em PoS critérios. 5.2. Provando a aposta. Supomos que a rede terá alguns meios de medir quanto “aposta” qualquer conta específica possui. Para facilitar a comparação com sistemas pré-existentes, chamaremos a unidade de medida “tokens”. Infelizmente, o termo não é o ideal para uma uma série de razões, inclusive por ser simplesmente um escalar valor associado a uma conta, não há noção de individualidade. Imaginamos que validators sejam eleitos, raramente (no máximo uma vez por dia, mas talvez tão raramente quanto uma vez por trimestre), através de um esquema de Prova de Participação Nomeada (NPoS). O incentivo pode acontecer através de uma alocação proporcional dePOLKADOT: VISÃO PARA UMA ESTRUTURA MULTI-CADEIA HETEROGÊNEA ESBOÇO 1 6 Relé corrente Enxame de validadores (cada um colorido por seu pára-quedas designado) Transação (enviado por ator externo) Parachain ponte Parachain virtual (por exemplo, Ethereum) Parachain Parachain filas e E/S Transações propagadas Bloquear envio de candidato 2ª ordem Cadeia de relés Comunidade Parachain Conta Transação de entrada Transação de saída Transações intercadeias (gerenciado por validators) Coletor Bloco propagado Pescador Figura 2. Um esquema resumido do sistema Polkadot. Isso mostra agrupadores coletando e propagando transações de usuários, bem como propagando candidatos a blocos para pescadores e validators. Também mostra como uma conta pode lançar uma transação que é realizada em seu parachain, através da cadeia de retransmissão e em outro parachain onde pode ser interpretado como uma transação para uma conta lá. fundos provenientes de uma expansão de base token (até 100% por ano, embora mais provavelmente em torno de 10%), juntamente com quaisquer taxas de transação cobradas. Embora a expansão da base monetária normalmente leve à inflação, uma vez que todos os proprietários de token teria uma oportunidade justa de participação, nenhum titular de token precisaria sofrer uma redução no valor de seus participações ao longo do tempo, desde que estivessem felizes em assumir um papel no mecanismo de consenso. Uma proporção específica de tokens seriam direcionados para o processo staking; o a expansão efetiva da base token seria ajustada através um mecanismo baseado no mercado para atingir esta meta. Os validadores estão fortemente vinculados às suas apostas; saindo Os títulos dos validators permanecem em vigor por muito tempo após o término das obrigações dos validators (talvez cerca de 3 meses). Tanto tempo período de liquidação de títulos permite que mau comportamento futuro seja punido até a verificação periódica da cadeia. O mau comportamento resulta em punição, como redução de recompensa ou, nos casos que comprometam intencionalmente a integridade da rede, o validator perdendo parte ou todos os seus interesse para outros validators, informantes ou partes interessadas como um todo (através da queima). Por exemplo, um validator que tenta ratificar ambos os ramos de uma bifurcação (às vezes conhecido como ataque de “curto alcance”) pode ser identificado e punido desta última forma. Ataques de longo alcance “nada em jogo”4 são contornados através de um simples bloqueio de “ponto de verificação” que impede uma reorganização perigosa da cadeia de mais de um profundidade de cadeia específica. Para garantir clientes recém-sincronizados não podem ser enganados na corrente errada, regular ocorrerão “hard forks” (no máximo no mesmo período do validators’ liquidação de títulos) que codifica o bloco de ponto de verificação recente hashes nos clientes. Isto funciona bem com uma medida adicional de redução da pegada de “comprimento finito da cadeia” ou reinicialização periódica do bloco genesis. 5.3. Parachains e coladores. Cada pára-quedas recebe recursos de segurança semelhantes à cadeia de relés: o os cabeçalhos dos parachains são selados dentro do bloco da cadeia de relés garantir que nenhuma reorganização ou “gasto duplo” seja possível após a confirmação. Esta é uma garantia de segurança semelhante à oferecida pelas cadeias laterais e fusão de Bitcoin. Polkadot, no entanto, também fornece fortes garantias de que as transições de estado dos parachains são válidas. Isto acontece através do conjunto de validators sendo segmentado criptograficamente aleatoriamente em subconjuntos; um subconjunto por parachain, os subconjuntos potencialmente diferentes por bloco. Isto a configuração geralmente implica que os tempos de bloqueio dos parachains serão ser pelo menos tão longo quanto o da cadeia de relés. O específico meio de determinar o particionamento está fora do escopo 4É neste tipo de ataque que o adversário forja uma cadeia histórica inteiramente nova, a partir do bloco génese. Através do controle de um parcela relativamente insignificante da aposta na compensação, eles são capazes de aumentar gradativamente sua parcela da aposta em relação a todos os outros partes interessadas, pois são os únicos participantes activos na sua história alternativa. Como não existe nenhuma limitação física intrínseca na criação de blocos (ao contrário do PoW, onde a energia computacional bastante real deve ser gasta), eles são capazes de criar uma cadeia mais longa do que a cadeia real em um intervalo de tempo relativamente curto e potencialmente torná-lo o mais longo e melhor, assumindo o estado canônico da rede.POLKADOT: VISÃO PARA UMA ESTRUTURA MULTI-CADEIA HETEROGÊNEA ESBOÇO 1 7 deste documento, mas provavelmente seria baseado em torno uma estrutura de confirmação-revelação semelhante ao RanDAO [19] ou use dados combinados de blocos anteriores de cada parachain sob um hash criptograficamente seguro. Esses subconjuntos de validators são necessários para fornecer um candidato de bloco parachain que é garantido como válido (em dor de confisco de títulos). A validade gira em torno de dois pontos importantes; primeiro, que é intrinsecamente válido – que todas as transições de estado foram executadas fielmente e que todas os dados externos referenciados (ou seja, transações) são válidos para inclusão. Em segundo lugar, que quaisquer dados extrínsecos à sua candidato, como aquelas transações externas, tem disponibilidade suficientemente alta para que os participantes possam baixe-o e execute o bloco manualmente.5 Os validadores podem fornecer apenas um bloco “nulo” que não contém dados de “transações” externas, mas podem correr o risco de obter uma recompensa reduzida se o fizerem. Eles trabalham ao lado um protocolo de fofoca parachain com agrupadores - indivíduos que agrupam transações em blocos e fornecem uma prova não interativa e de conhecimento zero de que o bloco constitui um filho válido de seu pai (e aceitando qualquer transação taxas por seus problemas). Resta aos protocolos parachain especificar seus próprios meios de prevenção de spam: não existe uma noção fundamental de “medição de recursos computacionais” ou “taxa de transação” imposta pela cadeia de retransmissão. Também não há aplicação direta disso pelo protocolo de cadeia de retransmissão (embora é improvável que as partes interessadas optem por adotar um parachain que não fornecia um mecanismo decente). Este é um aceno explícito à possibilidade de cadeias diferentes Ethereum, por ex. uma cadeia semelhante a Bitcoin que tem um modelo de taxas muito mais simples ou algum outro modelo de prevenção de spam ainda a ser proposto. A própria cadeia de relés de Polkadot provavelmente existirá como um Contas e cadeia de estados semelhantes a Ethereum, possivelmente um derivado de EVM. Como os nós da cadeia de relés serão obrigados a fazer outros processamentos substanciais, taxa de transferência de transações será minimizado em parte através de grandes taxas de transação e, caso nossos modelos de pesquisa exijam, um limite de tamanho de bloco. 5.4. Comunicação Intercadeia. O ingrediente final crítico de Polkadot é a comunicação entre cadeias. Desde parachains podem ter algum tipo de canal de informação entre eles, nos permitimos considerar Polkadot um multi-cadeia escalável. No caso de Polkadot, a comunicação é tão simples quanto possível: transações executadas em um parachain são (de acordo com a lógica dessa cadeia) capazes de efetuar o envio de uma transação para um segundo parachain ou, potencialmente, a cadeia de retransmissão. Como transações externas na produção blockchains, eles são totalmente assíncronos e não há capacidade intrínseca para eles retornarem qualquer tipo de informação de volta à sua origem. Destino: recebe dados de anteriores validators do bloco. A conta recebe postagem: entrada removida de entrada Merkle tree A conta envia postagem: entrada colocada em saída Merkle tree para destino pára-quedas saída Fonte: ações dados com o próximo bloco validators comprovante postal armazenado em saída de pára-quedas Merkle árvore referência roteada colocada no parachain de destino entrada Merkle tree ingresso Figura 3. Um esquema básico mostrando as principais partes do roteamento para postagem transações (“postagens”). Para garantir complexidade mínima de implementação, risco e mínimo camisa de força de futuro arquiteturas parachain, essas transações interchain são efetivamente indistinguível de transações padrão assinadas externamente. A transação possui um segmento de origem, proporcionando a capacidade de identificar um parachain, e um endereço que pode ser de tamanho arbitrário. Ao contrário dos sistemas atuais comuns, como Bitcoin e Ethereum, as transações interchain não vêm com qualquer tipo de “pagamento” de taxa associada; qualquer pagamento desse tipo deve ser gerenciado por meio de lógica de negociação nos parachains de origem e destino. Um sistema como o proposto para O lançamento do Serenity de Ethereum [7] seria um meio simples de gerenciar esse pagamento de recursos entre cadeias, embora presumimos que outros poderão vir à tona no devido tempo. As transações entre cadeias são resolvidas usando um simples mecanismo de enfileiramento baseado em Merkle tree para garantir fidelidade. É tarefa dos mantenedores da cadeia de retransmissão mover transações na fila de saída de um parachain na fila de entrada do parachain de destino. O as transações passadas são referenciadas na cadeia de retransmissão, mas não são relevantesas próprias transações em cadeia. Para evitar que um parachain envie spam para outro parachain com transações, para que uma transação seja enviada, é necessário que a fila de entrada do destino não seja muito grande em a hora do final do bloco anterior. Se a entrada a fila for muito grande após o processamento do bloco, então ela será considerada “saturada” e nenhuma transação poderá ser roteada para dentro dos blocos subsequentes até ser reduzido abaixo do limite. Essas filas são administradas na cadeia de retransmissão permitindo que parachains determinem a saturação um do outro estado; desta forma, uma tentativa fracassada de postar uma transação para um destino paralisado pode ser relatado de forma síncrona. (Embora não exista nenhum caminho de retorno, se uma transação secundária falhar por esse motivo, ela não poderá ser relatada de volta para o chamador original e alguns outros meios de recuperação teria que acontecer.) 5.5. Polkadot e Ethereum. Devido à integridade de Turing de Ethereum, esperamos que haja ampla oportunidade para Polkadot e Ethereum serem interoperáveis com entre si, pelo menos dentro de alguns limites de segurança facilmente dedutíveis. Em suma, prevemos que as transações de Polkadot pode ser assinado por validators e depois inserido 5Tal tarefa pode ser compartilhada entre validators ou pode se tornar a tarefa designada de um conjunto de validators fortemente ligados, conhecido como fiadores de disponibilidade.

POLKADOT: VISÃO PARA UMA ESTRUTURA MULTI-CADEIA HETEROGÊNEA ESBOÇO 1 8 Ethereum onde podem ser interpretados e promulgados por um contrato de encaminhamento de transação. Na outra direção, prevemos o uso de logs (eventos) especialmente formatados provenientes de um “contrato break-out” para permitir uma verificação rápida de que uma determinada mensagem deve ser encaminhada. 5.5.1. Polkadot a Ethereum. Através da escolha de um BFT mecanismo de consenso com validators formado a partir de um conjunto de partes interessadas determinado através de uma votação de aprovação mecanismo, somos capazes de obter um consenso seguro com uma mudando com pouca frequência e número modesto de validators. Em um sistema com um total de 144 validators, um tempo de bloqueio de 4 segundos e uma finalidade de 900 blocos (permitindo ataques maliciosos). comportamento como votos duplos a serem relatados, punidos e reparado), a validade de um bloqueio pode ser razoavelmente considerado comprovado através de apenas 97 assinaturas (dois terços de 144 mais uma) e um período de verificação subsequente de 60 minutos onde nenhuma contestação é depositada. Ethereum é capaz de hospedar um “contrato de invasão” que pode manter os 144 signatários e ser controlado por eles. Como a recuperação da assinatura digital da curva elíptica (ECDSA) leva apenas 3.000 gás sob o EVM, e desde provavelmente só quereríamos que a validação acontecesse em um supermaioria de validators (em vez de unanimidade total), o custo base de Ethereum confirmando que uma instrução foi devidamente validado como proveniente da rede Polkadot não seria superior a 300.000 gás - apenas 6% do o limite total de gás do bloco em 5,5M. Aumentar o número de validators (conforme seria necessário para lidar com dezenas de redes) inevitavelmente aumenta esse custo, no entanto espera-se que a largura de banda de transação de Ethereum cresça ao longo do tempo à medida que a tecnologia amadurece e a infraestrutura melhora. Juntamente com o facto de não todos os validators precisam estar envolvidos (por exemplo, apenas os mais altos validators apostados podem ser chamados para tal tarefa) o os limites deste mecanismo se estendem razoavelmente bem. Supondo uma rotação diária de tais validators (que é bastante conservador (semanalmente ou mesmo mensalmente pode ser aceitável), então o custo para a rede de manutenção esta ponte de encaminhamento Ethereum seria em torno de 540.000 gás por dia ou, aos preços atuais do gás, US$ 45 por ano. Uma transação básica encaminhada sozinha pela ponte custaria cerca de US$ 0,11; o cálculo adicional do contrato custaria mais, é claro. Ao armazenar em buffer e agrupar transações juntos, os custos de autorização de arrombamento podem ser facilmente compartilhada, reduzindo substancialmente o custo por transação; se 20 transações foram necessárias antes do encaminhamento, então o custo do encaminhamento de uma transação básica cairia para cerca de US$ 0,01. Uma alternativa interessante e mais barata a este modelo de contrato com múltiplas assinaturas seria a utilização de assinaturas limiares, a fim de alcançar a semântica de propriedade multilateral. Embora os esquemas de assinatura de limite para ECDSA são computacionalmente caros, aqueles para outros esquemas como as assinaturas de Schnorr são muito razoáveis. Ethereum planeja introduzir primitivos que tornariam tal esquemas baratos para usar no próximo hardfork Metropolis. Se tal meio pudesse ser utilizado, os custos do gás para encaminhar uma transação Polkadot para o Ethereum rede seria drasticamente reduzida a quase zero despesas gerais além dos custos básicos para validação do assinatura e execução da transação subjacente. Neste modelo, os nós validator de Polkadot teriam fazer pouco além de assinar mensagens. Para que as transações sejam realmente roteadas para a rede Ethereum, nós suponha que os próprios validators também residiriam em a rede Ethereum ou, mais provavelmente, que pequenas recompensas ser oferecido ao primeiro ator que encaminha a mensagem para a rede (a recompensa poderia ser paga trivialmente ao originador da transação). 5.5.2. Ethereum a Polkadot. Fazer com que as transações sejam encaminhado de Ethereum para Polkadot usa a noção simples de logs. Quando um contrato Ethereum deseja despachar uma transação para um parachain específico de Polkadot, basta simplesmente celebrar um “contrato de rescisão” especial. O contrato de ruptura exigiria qualquer pagamento que pudesse ser exigido e emitir uma instrução de registro para que sua existência possa ser comprovada através de uma prova Merkle e uma afirmação de que o cabeçalho do bloco correspondente é válido e canônico. Das duas últimas condições, a validade é talvez a mais simples de provar. Em princípio, o único requisito épara cada nó Polkadot que precisa da prova (ou seja, nós validator designados) para executar uma instância totalmente sincronizada de um nó Ethereum padrão. Infelizmente, esta é em si uma dependência bastante pesada. Um mais método leve seria usar uma prova simples de que o cabeçalho foi avaliado corretamente fornecendo apenas o parte da tentativa de estado de Ethereum necessária para executar corretamente as transações do bloco e verificar se os logs (contidos no recibo do bloco) são válidos. Tal “tipo SPV”6 as provas podem ainda exigir uma quantidade substancial de informações; convenientemente, eles normalmente não seriam necessários em todos: um sistema de títulos dentro de Polkadot permitiria títulos terceiros enviem cabeçalhos sob o risco de perder seus título caso algum terceiro (como um “pescador”, ver 6.2.3) forneça uma prova de que o cabeçalho é inválido (especificamente que a raiz estatal ou as raízes receptoras eram impostoras). Em uma rede PoW não finalizada como Ethereum, o a canonicidade é impossível de ser provada de forma conclusiva. Para resolver isso, os aplicativos que tentam contar com qualquer tipo de causa-efeito dependente da cadeia, espere por uma série de “confirmações” ou até que a transação dependente esteja em algum momento. profundidade específica dentro da cadeia. Em Ethereum, este a profundidade varia de 1 bloco para as transações menos valiosas sem problemas de rede conhecidos até 1.200 blocos como era o caso durante o lançamento inicial do Frontier para trocas. Na rede estável “Homestead”, este número fica em 120 blocos para a maioria das exchanges, e provavelmente levaríamos um parâmetro semelhante. Então nós pode imagine nosso Lado Polkadot Ethereuminterface tenha algumas funções simples: poder aceitar um novo cabeçalho da rede Ethereum e validar o PoW, para poder aceitar alguma prova de que um log específico foi emitido pelo contrato de breakout do lado Ethereum para um cabeçalho de profundidade suficiente (e encaminhamento a mensagem correspondente dentro de Polkadot) e finalmente ser capaz de aceitar provas de que um documento anteriormente aceito, mas o cabeçalho ainda não promulgado contém uma raiz de recibo inválida. Para realmente obter os próprios dados do cabeçalho Ethereum (e quaisquer provas de SPV ou refutações de validade/canonicidade) em a rede Polkadot, um incentivo ao encaminhamento 6SPV refere-se à Verificação Simplificada de Pagamento em Bitcoin e descreve um método para os clientes verificarem transações, mantendo apenas uma cópia de todos os cabeçalhos de blocos da cadeia PoW mais longa.POLKADOT: VISÃO PARA UMA ESTRUTURA MULTI-CADEIA HETEROGÊNEA ESBOÇO 1 9 são necessários dados. Isso pode ser tão simples quanto um pagamento (financiado por taxas cobradas do lado Ethereum) pago para qualquer pessoa capaz de encaminhar um bloco útil cujo cabeçalho seja válido. Os validadores seriam chamados a reter informações relativas aos últimos milhares de blocos, a fim de ser capaz de gerenciar forks, seja através de algum meio protocolar intrínseco ou através de um contrato mantido no cadeia de relé. 5.6. Polkadot e Bitcoin. Bitcoin interoperação apresenta um desafio interessante para Polkadot: um chamado “ligação bidirecional” seria uma peça útil de infraestrutura ter do lado de ambas as redes. No entanto, devido as limitações de Bitcoin, fornecer tal pino com segurança é um empreendimento nada trivial. Entregando uma transação de Bitcoin a Polkadot pode, em princípio, ser feito com um processo semelhante ao de Ethereum; um “endereço de ruptura” controlado de alguma forma pelos Polkadot validators poderia receber tokens transferidos (e dados enviados junto com eles). As provas de SPV podem ser fornecidas por oracles incentivados e, juntamente com um período de confirmação, uma recompensa dada por identificação de blocos não canônicos que implicam a transação foi “gasto em dobro”. Quaisquer tokens de propriedade do O “endereço de fuga” seria então, em princípio, controlado por esses mesmos validators para dispersão posterior. O problema, entretanto, é como os depósitos podem ser controlados com segurança a partir de um conjunto rotativo validator. Ao contrário Ethereum que é capaz de tomar decisões arbitrárias com base mediante combinações de assinaturas, Bitcoin é substancialmente mais limitado, com a maioria dos clientes aceitando apenas transações com múltiplas assinaturas com no máximo 3 partes. Estender este número para 36, ​​ou mesmo para milhares, como seria desejável, é impossível no âmbito do protocolo actual. Uma opção é alterar o protocolo Bitcoin para ativar tal funcionalidade, porém os chamados “hard forks” no Bitcoin mundo são difíceis de organizar a julgar pelas tentativas recentes. Uma possibilidade é o uso de assinaturas de limite, esquemas criptográficos para permitir um público unicamente identificável chave para ser efetivamente controlada por múltiplas “partes” secretas, alguns ou todos eles devem ser utilizados para criar uma assinatura válida. Infelizmente, assinaturas de limite compatíveis com ECDSA de Bitcoin são computacionalmente caros para criar e de complexidade polinomial. Outros esquemas como as assinaturas Schnorr oferecem custos muito mais baixos, no entanto, o cronograma em que eles podem ser introduzidos no Bitcoin protocolo é incerto. Dado que a segurança final dos depósitos cabe uma série de validators ligados, uma outra opção é reduzir os porta-chaves com múltiplas assinaturas a apenas um número fortemente subconjunto vinculado do total de validators tal que limite assinaturas tornam-se viáveis ​​(ou, na pior das hipóteses, o nativo de Bitcoin multi-assinatura é possível). Isto naturalmente reduz o valor total de títulos que poderiam ser deduzidos em indenizações caso os validators se comportassem ilegalmente, no entanto, este é uma degradação graciosa, simplesmente estabelecendo um limite superior de a quantidade de fundos que pode circular com segurança entre o duas redes (ou mesmo, na% de perdas caso um ataque dos validators bem-sucedidos). Como tal, acreditamos que não é irrealista colocar um “parachain virtual” de interoperabilidade Bitcoin razoavelmente seguro entre as duas redes, embora ainda assim seja um esforço substancial com um cronograma incerto e muito possivelmente exigindo a cooperação das partes interessadas dentro desse rede.

ภาพรวมการออกแบบ

ส่วนนี้มีวัตถุประสงค์เพื่อให้ภาพรวมโดยย่อของ ระบบโดยรวม การสำรวจอย่างละเอียดยิ่งขึ้นของ ระบบมีระบุไว้ในหัวข้อต่อไปนี้ 5.1. ฉันทามติ บนรีเลย์เชน Polkadot สำเร็จ ฉันทามติระดับต่ำเหนือชุดที่ตกลงร่วมกันถูกต้อง บล็อกผ่านอัลกอริธึม Byzantine Faulttolerant (BFT) แบบอะซิงโครนัสสมัยใหม่ อัลกอริทึมจะได้รับแรงบันดาลใจ โดย Tendermint ง่ายๆ [11] และอื่นๆ อีกมากมาย เกี่ยวข้องกับ HoneyBadgerBFT [14] หลังให้ ฉันทามติที่มีประสิทธิภาพและทนทานต่อข้อผิดพลาดเหนือกฎเกณฑ์ โครงสร้างพื้นฐานเครือข่ายที่มีข้อบกพร่อง โดยได้รับชุดของหน่วยงานที่ไม่เป็นอันตรายเป็นส่วนใหญ่หรือ validators สำหรับเครือข่ายสไตล์ Proof-of-authority (PoA) เพียงอย่างเดียว จะเพียงพอ แต่ Polkadot จินตนาการว่าเป็น อีกทั้งยังสามารถใช้งานเป็นเครือข่ายแบบเปิดและสาธารณะได้อย่างเต็มที่ สถานการณ์ที่ไม่มีองค์กรใดองค์กรหนึ่งหรือเชื่อถือได้ อำนาจที่จำเป็นในการบำรุงรักษา เช่นนี้เราจำเป็นต้องมี วิธีการกำหนดชุดของ validators และการสร้างแรงจูงใจ พูดตามตรง สำหรับสิ่งนี้ เราใช้การเลือกตาม PoS เกณฑ์ 5.2. การพิสูจน์เดิมพัน เราถือว่าเครือข่าย ก็จะมีวิธีการวัดว่า “เดิมพัน” เท่าไร มีบัญชีใดบัญชีหนึ่งโดยเฉพาะ เพื่อความสะดวกในการเปรียบเทียบกับ ระบบที่มีอยู่แล้วเราจะเรียกหน่วยวัดว่า “tokens” น่าเสียดายที่คำนี้น้อยกว่าอุดมคติสำหรับ a เหตุผลหลายประการ ไม่เพียงแต่เป็นเพียงสเกลาร์เท่านั้น มูลค่าที่เกี่ยวข้องกับบัญชี ไม่มีแนวคิดเกี่ยวกับ บุคลิกลักษณะ เราจินตนาการว่า validator ได้รับการเลือกตั้งไม่บ่อยนัก (มากที่สุด วันละครั้งแต่อาจจะแทบจะไม่เท่ากับไตรมาสละครั้ง) ผ่านโครงการ Nominated Proof-of-Stake (NPoS) การสร้างแรงจูงใจสามารถเกิดขึ้นได้ผ่านการจัดสรรตามสัดส่วนของโพลคาดอท: วิสัยทัศน์สำหรับกรอบการทำงานแบบหลายห่วงโซ่ที่แตกต่างกัน ร่างที่ 1 6 รีเลย์ โซ่ ฝูงผู้ตรวจสอบความถูกต้อง (แต่ละสีตามของมัน พาราเชนที่กำหนด) การทำธุรกรรม (ส่งโดย นักแสดงภายนอก) พาราเชน สะพาน พาราเชนเสมือนจริง (เช่น Ethereum) พาราเชน พาราเชน คิวและ I/O ธุรกรรมที่เผยแพร่ บล็อกการส่งผู้สมัคร ลำดับที่ 2 รีเลย์โซ่ ชุมชนพาราเชน บัญชี ธุรกรรมขาเข้า ธุรกรรมขาออก การทำธุรกรรมระหว่างกัน (จัดการโดย validators) ผู้รวบรวม บล็อกการแพร่กระจาย ชาวประมง รูปที่ 2. แผนผังสรุปของระบบ Polkadot สิ่งนี้แสดงให้ผู้เปรียบเทียบรวบรวมและเผยแพร่ธุรกรรมของผู้ใช้ รวมถึงการเผยแพร่ตัวเลือกบล็อกไปยังชาวประมงและ validators มันยัง แสดงให้เห็นว่าบัญชีสามารถโพสต์ธุรกรรมที่ดำเนินการจาก Parachain ผ่านทาง Relay-Chain ได้อย่างไร และต่อไปยัง parachain อื่นที่สามารถตีความได้ว่าเป็นธุรกรรมไปยังบัญชีที่นั่น เงินทุนที่มาจากการขยายฐาน token (สูงถึง 100% ต่อปีแต่มีแนวโน้มมากกว่าประมาณ 10%) ด้วยกัน ค่าธรรมเนียมการทำธุรกรรมใด ๆ ที่เรียกเก็บ ในขณะที่การขยายฐานการเงินมักจะนำไปสู่ภาวะเงินเฟ้อ เนื่องจากเจ้าของ token ทั้งหมด จะมีโอกาสที่ยุติธรรมในการเข้าร่วม ไม่มีผู้ถือ token รายใดที่ต้องทนทุกข์ทรมานจากการลดมูลค่าของพวกเขา การถือครองเมื่อเวลาผ่านไปหากพวกเขายินดีที่จะรับ บทบาทในกลไกฉันทามติ สัดส่วนเฉพาะ ของ tokens จะถูกกำหนดเป้าหมายสำหรับกระบวนการ staking ที่ ที่มีประสิทธิภาพ token การขยายฐานจะถูกปรับผ่าน กลไกตามตลาดเพื่อบรรลุเป้าหมายนี้ ผู้ตรวจสอบความถูกต้องมีความผูกพันอย่างมากจากการเดิมพันของพวกเขา ออก พันธบัตรของ validators จะคงอยู่เป็นเวลานานหลังจากที่หน้าที่ของ validators สิ้นสุดลง (อาจประมาณ 3 เดือน) ยาวขนาดนี้ ระยะเวลาชำระหนี้พันธบัตรช่วยให้เกิดพฤติกรรมที่ไม่เหมาะสมในอนาคตได้ ลงโทษจนถึงจุดตรวจโซ่เป็นระยะ การประพฤติมิชอบส่งผลให้เกิดการลงโทษ เช่น ลดหย่อน รางวัลหรือในกรณีที่จงใจประนีประนอม ความสมบูรณ์ของเครือข่าย validator สูญเสียบางส่วนหรือทั้งหมด ถือหุ้นกับ validators อื่นๆ ผู้ให้ข้อมูล หรือผู้มีส่วนได้ส่วนเสีย โดยรวม (ผ่านการเผา) ตัวอย่างเช่น validator ผู้พยายามที่จะให้สัตยาบันทั้งสองกิ่งของทางแยก (บางครั้ง ที่เรียกว่าการโจมตี "ระยะสั้น") อาจถูกระบุและ ลงโทษอย่างหลัง. การโจมตีระยะไกลแบบ “ไม่มีเดิมพัน”4 ได้รับการหลบเลี่ยงโดยใช้สลัก “จุดตรวจสอบ” แบบธรรมดา ซึ่งป้องกันการจัดระเบียบห่วงโซ่ที่เป็นอันตรายมากกว่า ความลึกของโซ่โดยเฉพาะ เพื่อให้แน่ใจว่าไคลเอ็นต์การซิงค์ใหม่ ย่อมไม่หลงผิดโซ่ตรวนเป็นธรรมดา “ฮาร์ดฟอร์ค” จะเกิดขึ้น (มากที่สุดในช่วงเวลาเดียวกันของ การชำระหนี้พันธบัตร validators) ที่ฮาร์ดโค้ดบล็อกจุดตรวจสอบล่าสุด hashes ลงในไคลเอนต์ สิ่งนี้เล่นได้ดีกับการวัดการลดรอยเท้าเพิ่มเติมของ "ความยาวโซ่จำกัด" หรือ การรีเซ็ตบล็อกการกำเนิดเป็นระยะ 5.3. Parachains และ Colators พาราเชนแต่ละตัวได้รับ ข้อกำหนดด้านความปลอดภัยที่คล้ายกันกับรีเลย์-เชน: ที่ ส่วนหัวของพาราเชนถูกผนึกไว้ภายในบล็อกรีเลย์-เชน การรับรองว่าไม่มีการปรับโครงสร้างองค์กรใหม่หรือ "การใช้จ่ายซ้ำซ้อน" ภายหลังการยืนยัน นี่เป็นการรับประกันความปลอดภัยที่คล้ายคลึงกับการรับประกันความปลอดภัยที่นำเสนอโดยไซด์เชนของ Bitcoin และการรวมเข้าด้วยกัน อย่างไรก็ตาม Polkadot ยังให้การรับประกันที่แข็งแกร่งว่าการเปลี่ยนสถานะของ parachains นั้นถูกต้อง นี้ เกิดขึ้นผ่านชุดของ validators ที่ถูกสุ่มแบบเข้ารหัสเป็นส่วนย่อย หนึ่งชุดย่อยต่อ parachain ซึ่งเป็นเซ็ตย่อยที่อาจแตกต่างกันไปในแต่ละบล็อก นี้ โดยทั่วไปการตั้งค่าจะบอกเป็นนัยว่าเวลาบล็อกของพาราเชนจะเป็นเช่นนั้น อย่างน้อยก็ตราบเท่าที่รีเลย์-เชน เฉพาะ วิธีการกำหนดการแบ่งพาร์ติชันอยู่นอกขอบเขต 4การโจมตีดังกล่าวเกิดขึ้นเมื่อศัตรูสร้างสายโซ่แห่งประวัติศาสตร์ใหม่ทั้งหมดตั้งแต่ช่วงกำเนิดเป็นต้นไป ผ่านการควบคุมก สัดส่วนการถือหุ้นที่ค่อนข้างไม่มีนัยสำคัญ ณ ที่ตั้ง พวกเขาสามารถค่อยๆ เพิ่มสัดส่วนการถือหุ้นเมื่อเทียบกับส่วนอื่นๆ ทั้งหมด ผู้มีส่วนได้ส่วนเสียเนื่องจากพวกเขาเป็นเพียงผู้มีส่วนร่วมอย่างแข็งขันในประวัติศาสตร์ทางเลือกของพวกเขา เนื่องจากไม่มีข้อจำกัดทางกายภาพที่แท้จริงในการสร้าง ของบล็อก (ต่างจาก PoW ที่ต้องใช้พลังงานการคำนวณค่อนข้างจริง) พวกเขาสามารถสร้างโซ่ที่ยาวกว่าโซ่จริงใน ช่วงเวลาค่อนข้างสั้นและอาจทำให้ยาวนานที่สุดและดีที่สุด โดยเข้ายึดสถานะมาตรฐานของเครือข่ายโพลคาดอท: วิสัยทัศน์สำหรับกรอบการทำงานแบบหลายห่วงโซ่ที่แตกต่างกัน ร่างที่ 1 7 ของเอกสารนี้แต่น่าจะอิงตามอย่างใดอย่างหนึ่ง กรอบการเปิดเผยการกระทำที่คล้ายกับ RanDAO [19] หรือ ใช้ข้อมูลที่รวมจากบล็อกก่อนหน้าของแต่ละพาราเชน ภายใต้การรักษาความปลอดภัยแบบเข้ารหัส hash เซ็ตย่อยของ validators ดังกล่าวจำเป็นต้องจัดเตรียม ตัวเลือกบล็อก parachain ซึ่งรับประกันว่าถูกต้อง (on ความเจ็บปวดจากการผูกมัด) ความถูกต้องหมุนรอบสอง จุดสำคัญ ประการแรกคือว่ามันใช้ได้จริง—นั่น การเปลี่ยนสถานะทั้งหมดได้รับการดำเนินการอย่างซื่อสัตย์และทั้งหมดนั้น ข้อมูลภายนอกที่อ้างอิง (เช่น ธุรกรรม) สามารถนำมารวมได้ ประการที่สอง ข้อมูลใดๆ ก็ตามที่อยู่ภายนอกตัวมัน ผู้สมัคร เช่น ธุรกรรมภายนอกเหล่านั้น มีความพร้อมใช้งานสูงเพียงพอเพื่อให้ผู้เข้าร่วมสามารถทำได้ ดาวน์โหลดและดำเนินการบล็อกด้วยตนเอง5 ผู้ตรวจสอบความถูกต้องอาจจัดเตรียมเฉพาะบล็อก "null" ที่ไม่มีข้อมูล "ธุรกรรม" ภายนอก แต่อาจเสี่ยงต่อการได้รับรางวัลลดลงหากทำเช่นนั้น พวกเขาทำงานเคียงข้างกัน โปรโตคอลการนินทา Parachain กับผู้เปรียบเทียบ - บุคคล ผู้เปรียบเทียบธุรกรรมเป็นบล็อกและให้หลักฐานที่ไม่โต้ตอบและไม่มีความรู้ว่าบล็อกนั้นถือเป็นลูกที่ถูกต้องของผู้ปกครอง (และทำธุรกรรมใด ๆ ค่าธรรมเนียมสำหรับปัญหาของพวกเขา) เหลือเพียงโปรโตคอล parachain เพื่อระบุโปรโตคอลของตนเอง วิธีการป้องกันสแปม: ไม่มีแนวคิดพื้นฐานของ "การวัดทรัพยากรคอมพิวเตอร์" หรือ "ค่าธรรมเนียมการทำธุรกรรม" กำหนดโดยรีเลย์โซ่ นอกจากนี้ยังไม่มีการบังคับใช้โดยตรงในเรื่องนี้โดยโปรโตคอลรีเลย์ลูกโซ่ (แม้ว่าจะเป็นเช่นนั้นก็ตาม) ไม่น่าเป็นไปได้ที่ผู้มีส่วนได้ส่วนเสียจะเลือกใช้ พาราเชนซึ่งไม่มีกลไกที่เหมาะสม) นี่เป็นการพยักหน้าอย่างชัดเจนถึงความเป็นไปได้ของเครือที่ไม่เหมือน Ethereum เช่น Bitcoin-like chain ซึ่งมีรูปแบบค่าธรรมเนียมที่ง่ายกว่ามากหรือรูปแบบการป้องกันสแปมอื่น ๆ ที่ยังไม่ได้เสนอ Polkadot รีเลย์เชนเองก็อาจมีอยู่เป็น Ethereum-บัญชีที่เหมือนกันและห่วงโซ่สถานะ อาจเป็น EVMอนุพันธ์ เนื่องจากโหนดรีเลย์โซ่จะต้องใช้ ทำการประมวลผลอื่น ๆ ที่สำคัญ ปริมาณธุรกรรม จะลดลงบางส่วนด้วยค่าธรรมเนียมการทำธุรกรรมจำนวนมาก และหากแบบจำลองการวิจัยของเราต้องการ ขีดจำกัดขนาดบล็อก 5.4. การสื่อสารระหว่างกัน องค์ประกอบสุดท้ายที่สำคัญของ Polkadot คือการสื่อสารระหว่างเครือข่าย ตั้งแต่ parachains สามารถมีช่องข้อมูลบางอย่างระหว่างพวกมันได้ เราอนุญาตให้ตัวเองพิจารณา Polkadot ก มัลติเชนที่ปรับขนาดได้ ในกรณีของ Polkadot การสื่อสารจะง่ายดายที่สุดเท่าที่จะเป็นไปได้: ธุรกรรมที่ดำเนินการใน parachain นั้น (ตามตรรกะของ chain นั้น) สามารถทำได้ ส่งผลต่อการส่งธุรกรรมไปยังพาราเชนที่สอง หรืออาจเป็นรีเลย์เชน เช่นเดียวกับการทำธุรกรรมภายนอก ในการผลิต blockchains พวกมันเป็นแบบอะซิงโครนัสอย่างสมบูรณ์ และไม่มีความสามารถที่แท้จริงสำหรับพวกเขาที่จะคืนสิ่งใด ๆ ข้อมูลประเภทต่างๆ กลับไปสู่ต้นกำเนิดของมัน ปลายทาง: ได้รับ ข้อมูลจากก่อนหน้านี้ validators ของบล็อก บัญชีได้รับโพสต์: รายการถูกลบออกจาก ทางเข้า Merkle tree บัญชีส่งโพสต์: รายการวางไว้ใน ทางออก Merkle tree เพื่อจุดหมายปลายทาง พาราเชน ทางออก ที่มา: หุ้น ข้อมูลที่มีบล็อกถัดไป validatorส หลักฐานการโพสต์เก็บไว้ใน Parachain ทางออก Merkle ต้นไม้ วางการอ้างอิงที่กำหนดเส้นทางแล้ว ในพาราเชนปลายทาง ทางเข้า Merkle tree ทางเข้า รูปที่ 3 การแสดงแผนผังพื้นฐาน ส่วนหลักของการกำหนดเส้นทางสำหรับการโพสต์ ธุรกรรม (”โพสต์”) เพื่อให้มั่นใจว่าการใช้งานมีความซับซ้อนน้อยที่สุด ความเสี่ยง และ น้อยที่สุด แจ็กเก็ตตรง ของ อนาคต สถาปัตยกรรมพาราเชน ธุรกรรมระหว่างเชนเหล่านี้คือ แยกไม่ออกจากธุรกรรมมาตรฐานที่ลงนามภายนอกอย่างมีประสิทธิภาพ ธุรกรรมมีส่วนต้นทางที่ให้ความสามารถในการระบุ parachain และ ที่อยู่ซึ่งอาจมีขนาดตามอำเภอใจ แตกต่างจากระบบปัจจุบันทั่วไป เช่น Bitcoin และ Ethereum ธุรกรรมระหว่างเครือข่ายไม่ได้มาพร้อมกับ "การชำระ" ค่าธรรมเนียมใดๆ ที่เกี่ยวข้อง การชำระเงินดังกล่าวจะต้องได้รับการจัดการผ่านตรรกะการเจรจาต่อรองบนพาราเชนต้นทางและปลายทาง มีระบบดังกล่าวที่เสนอมาเพื่อ Ethereum การเปิดตัว Serenity [7] เป็นวิธีง่ายๆ ของการจัดการการชำระเงินทรัพยากรข้ามสายโซ่ดังกล่าว เราถือว่าคนอื่นอาจมาถึงข้างหน้าในเวลาอันควร ธุรกรรม Interchain ได้รับการแก้ไขโดยใช้วิธีง่ายๆ กลไกการเข้าคิวตาม Merkle tree เพื่อให้มั่นใจ ความซื่อสัตย์ เป็นหน้าที่ของผู้ดูแลรีเลย์-โซ่ที่จะต้อง ย้ายธุรกรรมบนคิวเอาท์พุตของพาราเชนหนึ่งอัน เข้าไปในคิวอินพุตของพาราเชนปลายทาง ที่ ธุรกรรมที่ส่งผ่านจะถูกอ้างอิงบนรีเลย์-เชน แต่จะไม่สัมพันธ์กันธุรกรรม ay-chain เอง เพื่อป้องกันไม่ให้พาราเชนส่งสแปมพาราเชนอื่นด้วย ธุรกรรม จำเป็นต้องมีการส่งธุรกรรม ว่าคิวอินพุตของปลายทางไม่ใหญ่เกินไป เวลาสิ้นสุดของบล็อกก่อนหน้า ถ้าอินพุต คิวมีขนาดใหญ่เกินไปหลังจากการประมวลผลแบบบล็อก แล้วจะถือว่า "อิ่มตัว" และจะไม่มีการกำหนดเส้นทางธุรกรรมใด ๆ ภายในบล็อกต่อๆ ไปจนกระทั่งลดกลับไปต่ำกว่า ขีด จำกัด คิวเหล่านี้ได้รับการจัดการบนรีเลย์-เชน อนุญาตให้พาราเชนกำหนดความอิ่มตัวของกันและกัน สถานะ; วิธีนี้จะทำให้ความพยายามในการผ่านรายการธุรกรรมล้มเหลว ไปยังปลายทางที่จนตรอกอาจถูกรายงานพร้อมกัน (แม้ว่าจะไม่มีเส้นทางการส่งคืน แต่หากธุรกรรมรองล้มเหลวด้วยเหตุผลดังกล่าว ก็ไม่สามารถรายงานกลับได้ ไปยังผู้โทรเดิมและวิธีการกู้คืนอื่น ๆ จะต้องเกิดขึ้น) 5.5. Polkadot และ Ethereum เนื่องจาก Ethereum ความสมบูรณ์ของทัวริง เราคาดหวังว่าจะมีโอกาสมากมายสำหรับ Polkadot และ Ethereum ที่จะทำงานร่วมกันได้ อย่างน้อยก็อยู่ภายในขอบเขตความปลอดภัยที่อนุมานได้ง่าย กล่าวโดยย่อคือเราจินตนาการว่าการทำธุรกรรมจาก Polkadot สามารถลงนามโดย validators จากนั้นป้อนเข้า 5งานดังกล่าวอาจถูกแบ่งปันระหว่าง validators หรืออาจกลายเป็นงานที่กำหนดของชุด validators ที่เชื่อมโยงกันอย่างแน่นหนาที่เรียกว่า ผู้ค้ำประกันความพร้อม

โพลคาดอท: วิสัยทัศน์สำหรับกรอบการทำงานแบบหลายห่วงโซ่ที่แตกต่างกัน ร่างที่ 1 8 Ethereum โดยที่สามารถตีความและตรากฎหมายได้โดย สัญญาส่งต่อธุรกรรม ในอีกทางหนึ่ง เราคาดการณ์การใช้บันทึก (เหตุการณ์) ที่จัดรูปแบบพิเศษ มาจาก "สัญญาแยกส่วน" เพื่อให้สามารถตรวจสอบได้อย่างรวดเร็วว่าควรส่งต่อข้อความใดข้อความหนึ่ง 5.5.1. Polkadot ถึง Ethereum โดยการเลือกก BFT กลไกฉันทามติที่มี validators เกิดขึ้นจาก กลุ่มผู้มีส่วนได้เสียที่กำหนดผ่านการลงคะแนนเสียงอนุมัติ กลไก เราสามารถได้รับฉันทามติที่ปลอดภัยกับ การเปลี่ยนแปลงไม่บ่อยนักและจำนวนเล็กน้อยของ validators ในระบบที่มีทั้งหมด 144 validators ซึ่งเป็นเวลาบล็อกที่ 4 วินาทีและสิ้นสุด 900 บล็อก (อนุญาตให้เป็นอันตราย พฤติกรรมเช่นการลงคะแนนสองครั้งที่ต้องรายงานการลงโทษ และซ่อมแซมแล้ว) ความถูกต้องของบล็อกก็สมเหตุสมผล ถือว่าพิสูจน์แล้วด้วยลายเซ็นเพียง 97 ลายเซ็น (สองในสามของ 144 บวกหนึ่ง) และช่วงการตรวจสอบยืนยัน 60 นาทีต่อมาซึ่งไม่มีการฝากคำท้าทาย Ethereum สามารถโฮสต์ "สัญญาแบ่ง" ได้ สามารถรักษาผู้ลงนามได้ 144 รายและควบคุมโดย พวกเขา เนื่องจากการกู้คืนลายเซ็นดิจิทัลแบบ Elliptic Curve (ECDSA) ใช้เวลาเพียง 3,000 Gas ภายใต้ EVM และเนื่องจาก เราน่าจะต้องการให้การตรวจสอบเกิดขึ้นใน a เท่านั้น ส่วนใหญ่มากของ validators (แทนที่จะเป็นเอกฉันท์ทั้งหมด) ต้นทุนฐานของ Ethereum ยืนยันว่าเป็นคำสั่ง ได้รับการตรวจสอบอย่างถูกต้องว่ามาจากเครือข่าย Polkadot จะมีก๊าซไม่เกิน 300,000 รายการ หรือเพียง 6% ของ ขีดจำกัดก๊าซบล็อกทั้งหมดที่ 5.5M การเพิ่มจำนวน validators (ตามที่จำเป็นสำหรับการจัดการ) หลายสิบโซ่) ทำให้ต้นทุนนี้เพิ่มขึ้นอย่างหลีกเลี่ยงไม่ได้ เป็นที่คาดกันโดยทั่วไปว่าแบนด์วิดธ์การทำธุรกรรมของ Ethereum จะเพิ่มขึ้นเมื่อเวลาผ่านไปเมื่อเทคโนโลยีเติบโตและ โครงสร้างพื้นฐานดีขึ้น ประกอบกับความจริงที่ว่าไม่ใช่ validators ทั้งหมดต้องมีส่วนร่วม (เช่น เฉพาะระดับสูงสุดเท่านั้น validators ที่เดิมพันไว้อาจถูกเรียกใช้งานดังกล่าว) ขีดจำกัดของกลไกนี้ขยายออกไปพอสมควร สมมติว่ามีการหมุนรายวันของ validators ดังกล่าว (ซึ่งก็คือ ค่อนข้างอนุรักษ์นิยม—รายสัปดาห์หรือรายเดือนอาจยอมรับได้) จากนั้นต้นทุนในการบำรุงรักษาเครือข่าย Ethereum-สะพานส่งต่อนี้จะอยู่ที่ประมาณ 540,000 ค่าน้ำมันต่อวัน หรือ ณ ราคาน้ำมันปัจจุบันอยู่ที่ 45 เหรียญสหรัฐฯ ต่อปี ธุรกรรมพื้นฐานที่ส่งต่อเพียงอย่างเดียวบนสะพานจะมีค่าใช้จ่าย ประมาณ 0.11 ดอลลาร์; การคำนวณสัญญาเพิ่มเติมจะมีค่าใช้จ่าย มากขึ้นแน่นอน โดยการแบ่งแยกและการรวมกลุ่มธุรกรรม ร่วมกันค่าใช้จ่ายในการอนุญาตการบุกรุกสามารถได้อย่างง่ายดาย แบ่งปัน ลดต้นทุนต่อการทำธุรกรรมอย่างมาก หากจำเป็นต้องมีธุรกรรม 20 รายการก่อนที่จะส่งต่อ ค่าใช้จ่ายในการส่งต่อธุรกรรมพื้นฐานจะลดลง ประมาณ 0.01 ดอลลาร์ ทางเลือกหนึ่งที่น่าสนใจและราคาถูกกว่าสำหรับโมเดลสัญญาแบบหลายลายเซ็นนี้คือการใช้ลายเซ็นตามเกณฑ์เพื่อให้บรรลุความหมายการเป็นเจ้าของแบบหลายฝ่าย ในขณะที่แผนลายเซ็นเกณฑ์สำหรับ ECDSA มีราคาแพงในการคำนวณ สำหรับโครงการอื่นๆ เช่นลายเซ็น Schnorr นั้นสมเหตุสมผลมาก Ethereum วางแผนที่จะแนะนำสิ่งดั้งเดิมซึ่งจะทำให้เป็นเช่นนั้น โครงร่างราคาถูกเพื่อใช้ใน hardfork ของ Metropolis ที่กำลังจะมาถึง ถ้าใช้วิธีการดังกล่าวได้ก็จะต้องเสียค่าน้ำมัน สำหรับการส่งต่อธุรกรรม Polkadot ไปยัง Ethereum เครือข่ายจะลดลงอย่างมากจนเหลือใกล้ศูนย์ ค่าใช้จ่ายสูงกว่าต้นทุนพื้นฐานสำหรับการตรวจสอบความถูกต้อง ลงนามและดำเนินการธุรกรรมที่เกี่ยวข้อง ในโมเดลนี้ โหนด validator ของ Polkadot จะมี ที่จะทำอย่างอื่นนอกจากการลงนามข้อความ ในการรับธุรกรรมที่ส่งไปยังเครือข่าย Ethereum จริง ๆ เรา สมมติว่า validators ตัวใดตัวหนึ่งก็จะอาศัยอยู่ด้วย เครือข่าย Ethereum หรือมีแนวโน้มมากกว่านั้นคือค่าหัวเล็กน้อย มอบให้กับนักแสดงคนแรกที่ส่งต่อข้อความต่อไป ไปยังเครือข่าย (สามารถจ่ายค่าหัวเล็กน้อยให้กับ ผู้สร้างธุรกรรม) 5.5.2. Ethereum ถึง Polkadot การรับธุรกรรมให้เป็น ส่งต่อจาก Ethereum ไปยัง Polkadot ใช้แนวคิดง่ายๆ ของบันทึก เมื่อสัญญา Ethereum ต้องการส่งธุรกรรมไปยัง parachain เฉพาะของ Polkadot มันจำเป็นต้องเรียกเข้าสู่ "สัญญาแยกส่วน" พิเศษ สัญญาแบ่งออกจะต้องชำระเงินใด ๆ ที่อาจเป็นไปได้ จำเป็นและออกคำแนะนำในการบันทึกเพื่อให้สามารถพิสูจน์การมีอยู่ได้ผ่านการพิสูจน์ Merkle และการยืนยันว่าส่วนหัวของบล็อกที่เกี่ยวข้องนั้นถูกต้องและ ตามบัญญัติ ในสองเงื่อนไขหลัง ความถูกต้องอาจเป็น ตรงไปตรงมาที่สุดในการพิสูจน์ โดยหลักการแล้วข้อกำหนดเพียงอย่างเดียวคือสำหรับแต่ละโหนด Polkadot ที่ต้องการการพิสูจน์ (เช่น โหนด validator ที่ได้รับการแต่งตั้ง) เพื่อเรียกใช้อินสแตนซ์ที่ซิงโครไนซ์อย่างสมบูรณ์ของโหนด Ethereum มาตรฐาน น่าเสียดายที่นี่เป็นการพึ่งพาที่ค่อนข้างหนัก มากขึ้น วิธีน้ำหนักเบาก็จะใช้การพิสูจน์ง่ายๆว่า ส่วนหัวได้รับการประเมินอย่างถูกต้องโดยการจัดหาเฉพาะ ส่วนหนึ่งของการลองสถานะของ Ethereum จำเป็นต้องดำเนินการอย่างถูกต้อง ธุรกรรมในบล็อกและตรวจสอบว่าบันทึก (มีอยู่ในใบเสร็จรับเงินบล็อก) ถูกต้อง “เหมือน SPV”6 การพิสูจน์อาจต้องใช้ข้อมูลจำนวนมาก สะดวก โดยทั่วไปแล้วพวกเขาจะไม่จำเป็นต้องใช้ที่ ทั้งหมด: ระบบพันธะภายใน Polkadot จะอนุญาตให้มีการเชื่อมโยงได้ บุคคลที่สามในการส่งส่วนหัวที่เสี่ยงต่อการสูญเสีย พันธบัตรควรบุคคลที่สามอื่น ๆ (เช่น "ชาวประมง" ดู 6.2.3) ให้หลักฐานว่าส่วนหัวไม่ถูกต้อง (โดยเฉพาะอย่างยิ่งว่ารากของรัฐหรือรากรับเป็นผู้แอบอ้าง) บนเครือข่าย PoW ที่ยังไม่สิ้นสุด เช่น Ethereum ความเป็นมาตรฐานไม่สามารถพิสูจน์ได้อย่างแน่ชัด เพื่อแก้ไขปัญหานี้ แอปพลิเคชันที่พยายามพึ่งพาชนิดใดก็ตาม ของผลกระทบที่ขึ้นกับลูกโซ่ รอ "การยืนยัน" หลายครั้ง หรือจนกว่าธุรกรรมที่ขึ้นอยู่กับบางรายการ ความลึกเฉพาะภายในห่วงโซ่ เมื่อวันที่ Ethereum สิ่งนี้ ความลึกจะแตกต่างกันไปจาก 1 บล็อกสำหรับธุรกรรมที่มีค่าน้อยที่สุดโดยไม่มีปัญหาเครือข่ายที่ทราบ ไปจนถึง 1200 บล็อกเหมือนเดิม กรณีนี้ในระหว่างการเปิดตัว Frontier ครั้งแรกสำหรับการแลกเปลี่ยน บนเครือข่าย “Homestead” ที่เสถียร รูปนี้อยู่ที่ 120 บล็อกสำหรับการแลกเปลี่ยนส่วนใหญ่ และเราน่าจะรับไป พารามิเตอร์ที่คล้ายกัน ดังนั้น เรา สามารถ ลองจินตนาการดู ของเรา Polkadot-ด้าน Ethereumอินเทอร์เฟซมีฟังก์ชันง่ายๆ: เพื่อให้สามารถ ยอมรับส่วนหัวใหม่จากเครือข่าย Ethereum และตรวจสอบความถูกต้องของ PoW เพื่อให้สามารถยอมรับหลักฐานบางอย่างที่ บันทึกเฉพาะถูกปล่อยออกมาโดยสัญญาฝ่าวงล้อมฝั่ง Ethereum สำหรับส่วนหัวที่มีความลึกเพียงพอ (และส่งต่อ ข้อความที่เกี่ยวข้องภายใน Polkadot) และสุดท้าย เพื่อให้สามารถยอมรับข้อพิสูจน์ที่ได้รับการยอมรับก่อนหน้านี้แต่ ส่วนหัวที่ยังไม่ได้ตรากฎหมายมีรากการรับที่ไม่ถูกต้อง หากต้องการรับข้อมูลส่วนหัว Ethereum จริงๆ (และ การพิสูจน์ SPV หรือการหักล้างความถูกต้อง/ความถูกต้องตามบัญญัติ) เครือข่าย Polkadot สิ่งจูงใจในการส่งต่อ 6SPV อ้างอิงถึงการยืนยันการชำระเงินแบบง่ายใน Bitcoin และอธิบายวิธีการสำหรับลูกค้าในการตรวจสอบธุรกรรมในขณะที่เก็บไว้เท่านั้น สำเนาของส่วนหัวบล็อกทั้งหมดของห่วงโซ่ PoW ที่ยาวที่สุดโพลคาดอท: วิสัยทัศน์สำหรับกรอบการทำงานแบบหลายห่วงโซ่ที่แตกต่างกัน ร่างที่ 1 9 จำเป็นต้องมีข้อมูล ซึ่งอาจง่ายพอๆ กับการชำระเงิน (ได้รับทุนจากค่าธรรมเนียมที่เรียกเก็บจากฝั่ง Ethereum) ที่ชำระแล้ว ถึงใครก็ตามที่สามารถส่งต่อบล็อกที่เป็นประโยชน์ซึ่งมีส่วนหัวเป็นได้ ถูกต้อง ผู้ตรวจสอบความถูกต้องจะถูกเรียกให้เก็บข้อมูลที่เกี่ยวข้องกับบล็อกสองสามพันบล็อกล่าสุดเพื่อที่จะ สามารถจัดการ forks ได้ด้วยวิธีการบางอย่างของโปรโตคอลหรือผ่านสัญญาที่เก็บรักษาไว้บน โซ่รีเลย์ 5.6. Polkadot และ Bitcoin. Bitcoin การทำงานร่วมกัน นำเสนอความท้าทายที่น่าสนใจสำหรับ Polkadot: สิ่งที่เรียกว่า “หมุดสองทาง” จะเป็นโครงสร้างพื้นฐานที่มีประโยชน์ ให้มีที่ฝั่งทั้งสองเครือข่าย อย่างไรก็ตามเนื่องจาก ข้อจำกัดของ Bitcoin การให้หมุดดังกล่าวอย่างปลอดภัยคือ กิจการที่ไม่สำคัญ การส่งมอบธุรกรรมจาก โดยหลักการแล้ว Bitcoin ถึง Polkadot สามารถทำได้ด้วยกระบวนการที่คล้ายกับกระบวนการนั้นสำหรับ Ethereum; “ที่อยู่แยก” ควบคุมในทางใดทางหนึ่งโดย Polkadot validators ทำได้ รับ tokens ที่ถ่ายโอน (และข้อมูลที่ส่งไปพร้อมกับพวกเขา) สามารถจัดเตรียมหลักฐาน SPV ได้ด้วย oracles ที่เป็นแรงจูงใจ และ พร้อมระยะเวลายืนยันเงินรางวัลที่มอบให้ การระบุบล็อกที่ไม่เป็นที่ยอมรับซึ่งบ่งบอกถึงธุรกรรม ถูก "ใช้จ่ายสองเท่า" tokens ใดๆ ก็ตามที่เป็นเจ้าของใน โดยหลักการแล้ว “ที่อยู่แยก” จะถูกควบคุมโดย validators เดียวกันเหล่านั้นเพื่อการกระจายในภายหลัง อย่างไรก็ตาม ปัญหาคือวิธีที่สามารถควบคุมเงินฝากได้อย่างปลอดภัยจากชุดที่หมุนเวียน validator ไม่เหมือน Ethereum ซึ่งสามารถตัดสินใจได้ตามอำเภอใจ จากการรวมลายเซ็น Bitcoin มีความสำคัญอย่างยิ่ง มีข้อจำกัดมากขึ้น โดยลูกค้าส่วนใหญ่ยอมรับเฉพาะธุรกรรมที่มีลายเซ็นหลายลายเซ็นโดยมีได้สูงสุด 3 ฝ่าย การขยายเป็น 36 หรือหลายพันตามที่ต้องการในท้ายที่สุดนั้นเป็นไปไม่ได้ภายใต้ระเบียบการปัจจุบัน ทางเลือกหนึ่งคือแก้ไขโปรโตคอล Bitcoin เพื่อเปิดใช้งาน ฟังก์ชั่นดังกล่าวแม้จะเรียกว่า "ฮาร์ดฟอร์ก" ใน Bitcoin โลกเป็นเรื่องยากที่จะจัดให้มีการตัดสินจากความพยายามครั้งล่าสุด ความเป็นไปได้อย่างหนึ่งคือการใช้ลายเซ็นเกณฑ์ รูปแบบการเข้ารหัสเพื่อให้สาธารณะสามารถระบุตัวได้เพียงลำพัง กุญแจสำคัญที่จะควบคุมอย่างมีประสิทธิภาพโดย "ส่วน" ที่เป็นความลับหลายอัน บางส่วนหรือทั้งหมดต้องใช้เพื่อสร้างลายเซ็นที่ถูกต้อง ขออภัย รองรับลายเซ็นตามเกณฑ์ ด้วย ECDSA ของ Bitcoin นั้นมีราคาแพงในการคำนวณ สร้างและความซับซ้อนพหุนาม แผนการอื่นๆ เช่น ลายเซ็น Schnorr ให้ต้นทุนที่ต่ำกว่ามาก อย่างไรก็ตาม ไทม์ไลน์ที่อาจนำมาใช้ใน Bitcoin โปรโตคอลไม่แน่นอน เนื่องจากความปลอดภัยขั้นสูงสุดของเงินฝากขึ้นอยู่กับ จำนวน validators ที่ถูกผูกมัด อีกทางเลือกหนึ่งคือ ลดผู้ถือกุญแจแบบหลายลายเซ็นให้เหลือเพียงจำนวนมากเท่านั้น ชุดย่อยที่ถูกผูกมัดของทั้งหมด validators ดังกล่าวถึงเกณฑ์นั้น ลายเซ็นเป็นไปได้ (หรือที่แย่ที่สุดคือ Bitcoin เป็นภาษาท้องถิ่น สามารถลงนามหลายลายเซ็นได้) แน่นอนว่าสิ่งนี้จะช่วยลด จำนวนพันธบัตรทั้งหมดที่สามารถหักในการชดใช้หาก validators ประพฤติผิดกฎหมาย อย่างไรก็ตาม สิ่งนี้ เป็นการเสื่อมสลายอย่างงดงาม เพียงแต่กำหนดขอบเขตบนไว้ จำนวนเงินที่สามารถดำเนินการได้อย่างปลอดภัยระหว่าง สองเครือข่าย (หรือแท้จริงแล้ว % การสูญเสียควรถูกโจมตี) จาก validators สำเร็จ) ด้วยเหตุนี้ เราจึงเชื่อว่าการวาง Bitcoin การทำงานร่วมกันที่ปลอดภัยพอสมควร "parachain เสมือน" ไม่ใช่เรื่องไม่สมจริง ระหว่างทั้งสองเครือข่าย แม้ว่าจะเป็นความพยายามอย่างมากโดยมีไทม์ไลน์ที่ไม่แน่นอนและอาจเป็นไปได้ก็ตาม โดยต้องได้รับความร่วมมือจากผู้มีส่วนได้เสียภายในนั้น เครือข่าย

Protocolo em detalhes

O protocolo pode ser dividido em três partes: o mecanismo de consenso, a interface parachain e roteamento de transações entre cadeias. 6.1. Cadeia de relés Operação. O cadeia de relés vontade provavelmente será uma cadeia muito semelhante a Ethereum no sentido de que é baseado no estado com o endereço de mapeamento do estado para a conta informações, principalmente saldos e (para evitar replays) um contador de transações. Colocar contas aqui cumpre um propósito: fornecer contabilidade para a qual a identidade possui qual a quantidade de participação no sistema.7 No entanto, haverá diferenças notáveis: • Os contratos não podem ser implementados através de transações; seguindo o desejo de evitar a funcionalidade da aplicação na cadeia de relés, não será apoiar a implantação pública de contratos. • O uso de recursos computacionais (“gás”) não é contabilizado; já que as únicas funções disponíveis para uso público será corrigido, a lógica por trás da contabilidade do gás não se sustenta mais. Como tal, será aplicada uma taxa fixa em todos os casos, permitindo mais desempenho de qualquer execução dinâmica de código que pode precisar ser feita e um formato de transação mais simples. • Funcionalidade especial é suportada para contratos listados que permite execução automática e saída de mensagens de rede. Caso a cadeia de retransmissão tenha uma VM e seja baseado em EVM, teria uma série de modificações para garantir a máxima simplicidade. Provavelmente seria têm uma série de contratos integrados (semelhantes aos de endereços 1-4 em Ethereum) para permitir especificações específicas da plataforma deveres a serem gerenciados, incluindo um contrato de consenso, um validator contrato e um contrato parachain. Se não for o EVM, então um backend WebAssembly [2] (wasm) é a alternativa mais provável; neste caso o total estrutura seria semelhante, mas não haveria necessidade para os contratos integrados com Wasm sendo um alvo viável para linguagens de uso geral, em vez de imaturas e idiomas limitados para EVM. Outros desvios prováveis do atual protocolo Ethereum são bem possíveis, por exemplo, uma simplificação do formato de recebimento de transação que permite a execução paralela de transações não conflitantes dentro do mesmo bloco, conforme proposto para a série de mudanças Serenity. É possível, embora improvável, que uma situação semelhante à Serenidade cadeia “pura” seja implantada como cadeia de retransmissão, permitindo uma contrato específico para gerenciar coisas como staking token equilíbrio, em vez de fazer disso uma parte fundamental do o protocolo da cadeia. Actualmente, sentimos que é improvável que isso aconteça. oferecerá uma simplificação de protocolo suficientemente grande para ser vale a pena a complexidade adicional e a incerteza envolvidas em desenvolvê-lo. 7Como forma de representar o montante que um determinado titular é responsável pela segurança geral do sistema, estas contas de participação serão inevitavelmente codificam algum valor econômico. No entanto, deve ser entendido que, uma vez que não há intenção de que tais valores sejam utilizados em de qualquer forma, com a finalidade de troca por bens e serviços do mundo real, deve-se notar, portanto, que os tokens não devem ser comparados a moeda e, como tal, a cadeia de retransmissão mantém a sua filosofia niilista em relação às aplicações.POLKADOT: VISÃO PARA UMA ESTRUTURA MULTI-CADEIA HETEROGÊNEA ESBOÇO 1 10 Há uma série de pequenas funcionalidades necessárias para administrar o mecanismo de consenso, conjunto validator, mecanismo de validação e parachains. Estes poderiam ser implementados em conjunto sob um protocolo monolítico. No entanto, por razões de modularidade, descrevemos estes como “contratos” da cadeia de retransmissão. Isso deveria ser entendido como significando que eles são objetos (no sentido de programação orientada a objetos) gerenciada pelo mecanismo de consenso da cadeia de retransmissão, mas não necessariamente isso eles são definidos como programas em opcodes do tipo EVM, nem mesmo que sejam individualmente endereçáveis através do sistema de contas. 6.2. Contrato de piquetagem. Este contrato mantém o conjunto validator. Ele gerencia: • quais contas são atualmente validators; • que estão disponíveis para se tornarem validators em breve aviso prévio; • quais contas colocaram indicação de aposta para um validator; • propriedades de cada um, incluindo volume staking, taxas de pagamento e endereços aceitáveis ​​e identidades de curto prazo (sessão). Ele permite que uma conta registre o desejo de se tornar um validator vinculados (junto com seus requisitos), para nomear alguma identidade, e para validators vinculados pré-existentes registrar seu desejo de sair desse status. Também inclui o próprio mecanismo de validação e canonização. 6.2.1. Participação-token Liquidez. Geralmente é desejável ter o máximo possível do total de staking tokens para ser apostado nas operações de manutenção da rede desde isso vincula diretamente a segurança da rede à “capitalização de mercado” geral de staking token. Isto pode facilmente ser incentivado através da inflação da moeda e da distribuição dos rendimentos para aqueles que participam como validators. No entanto, fazer isso apresenta um problema: se o token está bloqueado no Contrato de Stake sob pena de redução, como pode uma parte substancial permanecer suficientemente líquido para permitir a descoberta de preços? Uma resposta para isso é permitir um contrato de derivativo direto, garantindo tokens fungíveis em um token apostado subjacente. Isso é difícil de organizar de maneira livre de confiança. Além disso, estes derivados tokens não podem ser tratados de forma igual pela mesma razão que diferentes obrigações governamentais da zona euro não são fungíveis: há é uma chance de o ativo subjacente falhar e se tornar inútil. Com os governos da zona euro, poderia haver uma padrão. Com validator com tokens apostados, o validator pode agir maliciosamente e ser punido. Mantendo nossos princípios, optamos pela solução mais simples: nem todos os tokens podem ser apostados. Isso significaria que alguma proporção (talvez 20%) de tokens permanecerá forçosamente líquida. Embora isto seja imperfeito do ponto de vista da segurança, é pouco provável que faça uma diferença fundamental na a segurança da rede; 80% das reparações possíveis decorrentes do confisco de títulos ainda poderiam ser feitas em comparação com o “caso perfeito” de 100% staking. A proporção entre tokens apostados e líquidos pode ser alcançada de forma bastante simples por meio de um mecanismo de leilão reverso. Essencialmente, titulares de token interessados em ser validator cada um postaria uma oferta para o contrato staking declarando a taxa de pagamento mínima que eles exigiriam para assumir parte. No início de cada sessão (as sessões seriam acontecem regularmente, talvez até uma vez por hora) o validator as vagas seriam preenchidas de acordo com cada pretenso Aposta e taxa de pagamento de validator. Um algoritmo possível pois isso seria aceitar aqueles com as ofertas mais baixas que representam uma aposta não superior à aposta total visada dividido pelo número de slots e não inferior a um limite inferior de metade desse valor. Se as vagas não puderem ser preenchidas, o limite inferior pode ser repetidamente reduzido por algum fator para ser satisfeito. 6.2.2. Nomeando. É possível nomear sem confiança uns staking tokens para um validator ativo, dando-lhes a responsabilidade dos deveres de validator. Nomeando trabalhos através de um sistema de votação de aprovação. Cada candidato a nomeador pode postar uma instrução no contrato staking expressando uma ou mais identidades validator sob cujas responsabilidade que estão preparados para confiar seu vínculo. A cada sessão, os títulos dos nominadores são dispersos para serem representado por um ou mais validators. O algoritmo de dispersão otimiza para um conjunto de validators de total equivalente títulos. Os títulos dos nominadores passam a ser de responsabilidade efetiva do validator ae ganhar interesse ou sofrer um redução da punição em conformidade. 6.2.3. Confisco/queima de títulos. Certo comportamento de validator resulta em uma redução punitiva de seu vínculo. Se o título for reduzido abaixo do mínimo permitido, o sessão é encerrada prematuramente e outra iniciada. Uma lista não exaustiva de mau comportamento validator punível inclui: • Fazer parte de um grupo de pára-quedas incapaz de fornecer consenso sobre a validade de um bloco parachain; • assinar ativamente a validade de um documento inválido bloco de pára-quedas; • incapacidade de fornecer cargas úteis de saída anteriormente votado como disponível; • inatividade durante o processo de consenso; • validação de blocos de cadeia de retransmissão em bifurcações concorrentes. Alguns casos de mau comportamento ameaçam a integridade da rede (como a assinatura de blocos de parachain inválidos e a validação de vários lados de uma bifurcação) e, como tal, resultam num exílio efetivo através da redução total do vínculo. Em outros casos menos graves (por exemplo, inatividade no consenso processo) ou casos em que a culpa não pode ser atribuída com precisão (fazer parte de um grupo ineficaz), uma pequena parte do título pode, em vez disso, ser multado. Neste último caso, este funciona bem com a rotatividade de subgrupos para garantir que os nodos sofrem substancialmente mais perdas do que os nodos benevolentes danificados colateralmente. Em alguns casos (por exemplo, validação multi-fork e inválida assinatura de sub-bloco) validators não conseguem detectar facilmente o mau comportamento uns dos outros, pois a verificação constante de cada bloco de parachain seria uma tarefa muito árdua. Aqui é necessário angariar o apoio de partes externas ao o processo de validação para verificar e relatar tal mau comportamento. As partes recebem uma recompensa por denunciar tal atividade; seu termo, “pescadores”, deriva da improbabilidade de tal recompensa. Dado que estes casos são tipicamente muito graves, prevemos que quaisquer recompensas possam ser facilmente pagas a partir do título confiscado. Em geral preferimos equilibrar a queima (ou seja, redução a nada) com realocação, em vez de tentativa de realocação por atacado. Isto tem o efeito de

POLKADOT: VISÃO PARA UMA ESTRUTURA MULTI-CADEIA HETEROGÊNEA ESBOÇO 1 11 aumentando o valor global do token, compensando o até certo ponto, a rede em geral, e não a rede específica. parte envolvida na descoberta. Isto é principalmente como uma segurança mecanismo: as grandes quantias envolvidas poderiam levar a um incentivo extremo e agudo ao comportamento, se todas elas concedido a um único alvo. Em geral, é importante que a recompensa seja suficientemente grande para fazer com que a verificação valha a pena para a rede, mas não tão grande a ponto de compensar os custos de enfrentar um problema. crime de “nível industrial” bem financiado e bem orquestrado ataque de hacking a algum validator azarado para forçar o mau comportamento. Desta forma, o montante reclamado geralmente não deve ser maior que o vínculo direto do errante validator, para que um surgem incentivos perversos de se comportar mal e se reportar à recompensa. Isto pode ser combatido explicitamente através de um requisito mínimo de títulos diretos para ser um validator ou implicitamente, educando os nomeadores que validators com poucos títulos depositados não têm grande incentivo comportar-se bem. 6.3. Registro Parachain. Cada parachain é definido em este registro. É uma construção relativamente simples, semelhante a um banco de dados, e contém informações estáticas e dinâmicas sobre cada cadeia. As informações estáticas incluem o índice da cadeia (um simples inteiro), junto com a identidade do protocolo de validação, um meio de distinguir entre as diferentes classes de parachain para que o algoritmo de validação correto possa ser dirigido por validators encarregados de apresentar um candidato válido. Uma prova de conceito inicial se concentraria em colocar os novos algoritmos de validação nos próprios clientes, exigindo efetivamente um hard fork do protocolo cada vez que um classe adicional de corrente foi adicionada. Em última análise, porém, pode ser possível especificar o algoritmo de validação em de uma forma rigorosa e eficiente o suficiente para que os clientes sejam capaz de trabalhar efetivamente com novos pára-quedas sem garfo duro. Um caminho possível para isso seria especificar o algoritmo de validação parachain de uma forma bem estabelecida, linguagem compilada nativamente e de plataforma neutra, como WebAssembly. Pesquisas adicionais são necessárias para determinar se isso é realmente viável, no entanto, se for, poderia trazer com isso a tremenda vantagem de banir hard-forks para sempre. As informações dinâmicas incluem aspectos do sistema de roteamento de transações que devem ter um acordo global, como como a fila de entrada do parachain (descrita na seção 6.6). O registro só pode adicionar parachains através de votação em referendo completo; isso poderia ser gerenciado internamente, mas seria mais provável que fosse colocado em um ambiente externo contrato de referendo, a fim de facilitar a reutilização sob componentes de governação mais gerais. Os parâmetros a requisitos de votação (por exemplo, qualquer quórum necessário, maioria obrigatório) para registro de cadeias adicionais e outros, atualizações de sistema menos formais serão definidas em um “mestre constituição”, mas provavelmente seguirão uma abordagem bastante tradicional caminho, pelo menos inicialmente. A formulação precisa está fora de escopo para o presente trabalho, mas, e. uma maioria absoluta de dois terços para aprovar com mais de um terço do sistema total votar positivamente pode ser um ponto de partida sensato. As operações adicionais incluem a suspensão e remoção de pára-quedas. Esperançosamente, a suspensão nunca acontecer, no entanto, foi concebido para ser uma salvaguarda menos há algum problema intratável no sistema de validação de um parachain. O exemplo mais óbvio em que poderia necessária é uma diferença crítica de consenso entre as implementações, levando validators a não conseguirem chegar a um acordo sobre validade ou bloqueios. Os validadores seriam incentivados a usar múltiplas implementações de clientes para que eles possam identificar esse problema antes do confisco dos títulos. Sendo a suspensão uma medida emergencial, seria sob os auspícios da votação dinâmica validator, em vez do que um referendo. A reintegração seria possível tanto dos validators ou de um referendo. A remoção total dos pára-quedas viria apenas após um referendo e com o qual seria necessária uma período de carência substancial para permitir uma transição ordenada para uma cadeia independente ou para se tornar parte de alguma outra sistema de consenso. O período de carência provavelmente seria de na ordem de meses e provavelmente será estabelecido por cadeia no registro de parachain para que diferentes parachains podem desfrutar de diferentes períodos de carência de acordo com sua necessidade. 6.4. Vedação de blocos de relés. Vedação refere-se, em essência, ao processo de canonização; isto é, um dado básico transformar o quemapeia o original em algo fundamentalmente singular e significativo. Sob uma cadeia PoW, vedação é efetivamente sinônimo de mineração. No nosso caso, envolve a coleta de declarações assinadas de validators sobre a validade, disponibilidade e canonicidade de um bloco específico da cadeia de retransmissão e os blocos parachain que ele representa. A mecânica do algoritmo de consenso BFT subjacente está fora do escopo do presente trabalho. Nós iremos em vez disso, descreva-o usando uma primitiva que assume um máquina de estado criadora de consenso. Em última análise, esperamos ser inspirado por uma série de consensos BFT promissores algoritmos no núcleo; Tangaora [9] (uma variante BFT de Jangada [16]), Tendermint [11] e HoneyBadgerBFT [14]. O algoritmo terá que chegar a um acordo sobre múltiplos parachains em paralelo, diferindo assim do habitual blockchain mecanismos de consenso. Assumimos que uma vez o consenso é alcançado, somos capazes de registrar o consenso numa prova irrefutável que pode ser fornecida por qualquer um dos os participantes a ele. Também assumimos que o mau comportamento dentro do protocolo pode ser geralmente reduzido a um pequeno grupo contendo participantes malcomportados para minimizar o dano colateral ao aplicar a punição.8 A prova, que assume a forma de nossas declarações assinadas, é colocada no cabeçalho do bloco da cadeia de retransmissão junto com com alguns outros campos, entre eles a raiz da tentativa de estado da cadeia de retransmissão e a raiz da tentativa de transação. O vedação processo leva lugar sob um solteiro gerador de consenso mecanismo endereçamento ambos o bloco da cadeia de relés e os blocos dos parachains que fazem parte do conteúdo do revezamento: os parachains não são “comprometidos” separadamente por seus subgrupos e depois agrupados mais tarde. Isso resulta em um processo mais complexo para a cadeia de retransmissão, mas nos permite completar todo o consenso do sistema em um único estágio, minimizando a latência e permitindo para requisitos de disponibilidade de dados bastante complexos que são útil para o processo de roteamento abaixo. 8Os esquemas de consenso BFT existentes baseados em PoS, como o Tendermint BFT e o Slasher original, atendem a essas afirmações.

POLKADOT: VISÃO PARA UMA ESTRUTURA MULTI-CADEIA HETEROGÊNEA ESBOÇO 1 12 O estado da máquina de consenso de cada participante pode ser modelado como uma tabela simples (bidimensional). Cada participante (validator) possui um conjunto de informações, no formato de declarações assinadas (“votos”) de outros participantes, em relação a cada candidato de bloco parachain, bem como ao candidato de bloco de retransmissão. O conjunto de informações é composto por duas peças de dados: Disponibilidade: faz isso validator tem saída informações de postagem de transação deste bloco, então eles são capazes de validar adequadamente os candidatos parachain no bloco seguinte? Eles podem votar 1 (conhecido) ou 0 (ainda não conhecido). Uma vez que eles voto 1, eles se comprometem a votar de forma semelhante para o resto deste processo. Votos posteriores que não respeitar isso são motivos para punição. Validade: o bloco parachain é válido e é tudo dados referenciados externamente (por ex. transações) disponível? Isso é relevante apenas para validators atribuídos ao parachain no qual estão votando. Eles podem votar 1 (válido), -1 (inválido) ou 0 (ainda não conhecido). Uma vez que votam diferente de zero, eles estão empenhados em votar desta forma durante o resto do o processo. Votos posteriores que não respeitam isso são motivo de punição. Todos os validators devem enviar votos; poderão ser reapresentados votos, qualificados pelas regras acima. A progressão de o consenso pode ser modelado como vários algoritmos de consenso BFT padrão sobre cada parachain acontecendo em paralelo. Uma vez que estas são potencialmente frustradas por uma situação relativamente pequena minoria de atores maliciosos concentrados em um único grupo parachain, existe um consenso geral para estabelecer um mecanismo de apoio, limitando o pior cenário possível impasse para apenas um ou mais blocos de parachain vazios (e uma rodada de punição para os responsáveis). As regras básicas para validade dos blocos individuais (que permitem que o conjunto total de validators como um todo chegue a consenso sobre ele se tornar o único candidato parachain a ser referenciado a partir do relé canônico): • deve ter pelo menos dois terços dos seus validators votando positivamente e nenhum votando negativamente; • deve ter mais de um terço dos validators votando positivamente quanto à disponibilidade de informações da fila de saída. Se houver pelo menos um voto positivo e pelo menos um negativo sobre a validade, é criada uma condição excepcional e todo o conjunto de validators deve votar para determinar se houver partes maliciosas ou se houver um acidente garfo. Além de válidos e inválidos, um terceiro tipo de votos são permitidos, equivalente a votar em ambos, o que significa que o nó tem opiniões conflitantes. Isto pode ser devido ao proprietário do nó executando múltiplas implementações que fazem discordo, indicando uma possível ambiguidade no protocolo. Depois que todos os votos forem contados do conjunto completo validator, se a opinião perdedora tem pelo menos uma pequena proporção (para ser parametrizado; no máximo metade, talvez significativamente menos) dos votos do parecer vencedor, presume-se então será um fork acidental do parachain e o parachain será automaticamente suspenso do processo de consenso. Caso contrário, assumimos que é um ato malicioso e punimos o minoria que votou a favor da opinião divergente. A conclusão é um conjunto de assinaturas demonstrando canonicidade. O bloco da cadeia de relés pode então ser selado e iniciado o processo de selagem do próximo bloco. 6.5. Melhorias para blocos de relé de vedação. Enquanto este método de vedação oferece fortes garantias sobre a operação do sistema, não tem uma escalabilidade particularmente boa uma vez que as principais informações de cada parachain devem ter seu disponibilidade garantida por mais de um terço de todos os validators. Isso significa que a pegada de responsabilidade de cada validator cresce à medida que mais cadeias são adicionadas. Embora a disponibilidade de dados em redes abertas de consenso é essencialmente um problema não resolvido, existem maneiras de mitigar a sobrecarga colocada nos nós validator. Um simples solução é perceber que embora validators devam assumir assumem a responsabilidade pela disponibilidade dos dados, eles próprios não precisam de armazenar, comunicar ou replicar os dados. Silos de dados secundários, possivelmente relacionados (ou mesmo com o próprio mesmo) os compiladores que compilam esses dados, podem gerenciar o tarefa de garantir a disponibilidade com os validators fornecendo uma parcela de seus juros/receitas em pagamento. No entanto, embora isso possa adquirir alguma escalabilidade intermediária, ainda não ajuda no problema subjacente; desde adicionar mais cadeias geralmente exigirá validators adicionais, o consumo contínuo de recursos de rede (particularmente em termos de largura de banda) cresce com o quadrado de ocorrentes, uma propriedade insustentável a longo prazo. Em última análise, é provável que continuemos a bater a cabeça contra a limitação fundamental que afirma que, para uma rede de consenso para ser considerada disponível como segura, o os requisitos contínuos de largura de banda são da ordem do total validators vezes o total de informações de entrada. Isto é devido a a incapacidade de uma rede não confiável de distribuir adequadamente a tarefa de armazenamento de dados entre muitos nós, que fica além da tarefa eminentemente distribuível de processamento. 6.5.1. Apresentando Latência. Um meio de suavizar isso A regra é relaxar a noção de imediatismo. Ao exigir que 33%+1 validators votem pela disponibilidade apenas eventualmente, e não imediatamente, podemos utilizar melhor a propagação exponencial de dados e ajudar a equilibrar os picos no intercâmbio de dados. Uma igualdade razoável (embora não comprovada) pode ser: (1) latência = participantes × cadeias No modelo atual, o tamanho do sistema aumenta com o número de cadeias para garantir que o processamento seja distribuído; já que cada cadeia exigirá pelo menos um validator e fixamos o atestado de disponibilidade para uma constante proporção de validators, então os participantes crescem de forma semelhante com o número de cadeias. Terminamos com: (2) latência = tamanho2 O que significa que à medida que o sistema cresce, a largura de banda necessária e a latência até que a disponibilidade seja conhecida em todo o rede, que também pode ser caracterizada como o número de blocos antes da finalidade, aumenta com seu quadrado. Isto é um factor de crescimento substancial e pode revelar-se um obstáculo notável e forçar-nos a paradigmas “não planos” como compor vários “Polkadotes” em uma hierarquia para roteamento multinível de postagens por meio de uma árvore de cadeias de retransmissão.

POLKADOT: VISÃO PARA UMA ESTRUTURA MULTI-CADEIA HETEROGÊNEA ESBOÇO 1 13 6.5.2. Participação Pública. Mais uma direção possível é conseguir a participação pública no processo através de uma sistema de micro-reclamações. Semelhante aos pescadores, há poderiam ser partes externas para policiar os validators que reivindicam disponibilidade. A sua tarefa é encontrar alguém que pareça incapaz de demonstrar tal disponibilidade. Ao fazer isso eles pode apresentar uma micro-reclamação a outros validators. PoW ou um título apostado pode ser usado para mitigar o ataque de sibila o que tornaria o sistema em grande parte inútil. 6.5.3. Fiadores de Disponibilidade. Um caminho final seria nomear um segundo conjunto de validators vinculados como “disponibilidade fiadores”. Eles seriam ligados da mesma forma que os validators normais e podem até ser retirados do mesmo conjunto (embora, nesse caso, seriam escolhidos durante um período de longo prazo, pelo menos por sessão). Ao contrário dos validators normais, eles não mudaria entre parachains, mas sim formar um único grupo para atestar a disponibilidade de todos os dados intercadeias importantes. Isto tem a vantagem de relaxar a equivalência entre participantes e cadeias. Essencialmente, as cadeias podem crescer (junto com o conjunto original da cadeia validator), enquanto os participantes, e especificamente aqueles que participam do testamento de disponibilidade de dados, podem permanecer pelo menos sublineares e possivelmente constante. 6.5.4. Preferências do agrupador. Um aspecto importante deste sistema é garantir que haja uma seleção saudável de agrupadores criando os blocos em qualquer parachain. Se um único agrupador dominou um parachain e depois alguns ataques tornar-se mais viável, uma vez que a probabilidade da falta de a disponibilidade de dados externos seria menos óbvia. Uma opção é pesar artificialmente blocos de parachain em um mecanismo pseudo-aleatório para favorecer uma ampla variedade de agrupadores. No primeiro caso, precisaríamos como parte do mecanismo de consenso que validators favorece candidatos do bloco parachain determinados como “mais pesados”. Da mesma forma, devemos incentivar validators a tentar sugerir o bloco mais pesado que puderem encontrar - isso pode ser feito através de uma parcela de sua recompensa proporcional ao peso de seu candidato. Para garantir que os agrupadores recebam uma avaliação justa e razoável chance de seu candidato ser escolhido como vencedor candidato em consenso, fazemos o peso específico de um candidato de bloco parachain determinado em uma função aleatória conectada a cada agrupador. Por exemplo, tomando a medida da distância XOR entre o endereço do ordenador e algum número pseudoaleatório criptograficamente seguro determinado próximo ao ponto do bloco que está sendo criado (um “bilhete vencedor” nocional). Isso efetivamente dá a cada agrupador (ou, mais especificamente, o endereço de cada agrupador) um chance aleatória de seu bloco candidato “ganhar” todos os outros. Para mitigar o ataque sybil de um único agrupador “minerando” um endereço próximo ao bilhete vencedor e assim sendo um favorito em cada bloco, adicionaríamos alguma inércia ao endereço de um agrupador. Isso pode ser tão simples quanto exigir que eles ter uma quantia básica de fundos no endereço. Um mais abordagem elegante seria ponderar a proximidade com o bilhete vencedor com o valor dos fundos estacionados no endereço em questão. Embora a modelagem ainda não tenha sido feita, é bem possível que este mecanismo permita até mesmo pequenas partes interessadas contribuam como compiladores. 6.5.5. Blocos de excesso de peso. Se um conjunto validator for comprometido, eles podem criar e propor um bloco que, embora válido, leva uma quantidade excessiva de tempo para ser executado e validar. Isto é um problema já que um grupo validator poderia razoavelmente formar um bloco que leva muito tempo para executar, a menos que alguma informação específica já seja conhecida, permitindo um atalho, por ex. fatorando um grande principal. Se um único compilador conhecesse essa informação, então eles teriam uma clara vantagem em obter o seu próprio os candidatos aceitaram desde que os demais estivessem ocupados processando o bloco antigo. Chamamos esses blocos de excesso de peso. A proteção contra o envio e validação desses blocos por validators cai em grande parte sob o mesmo disfarce que para blocos inválidos, embora com uma ressalva adicional: já que o tempo necessário para executar um bloco (e, portanto, seu status como excesso de peso) é subjetivo, o resultado final de uma votação sobre o mau comportamento cairá essencialmente em três campos. Um possibilidade é que o bloco definitivamente não esteja acima do peso - neste caso, mais de dois terços declaram que poderiam execute o bloco dentro de algum limite (por exemplo, 50% do tempo total permitido entre blocos). Outra é que o bloco é ddefinitivamente acima do peso - isso aconteceria se mais de dois terços declaram que não conseguiram executar o bloco dentro do referido limite. Uma última possibilidade é uma situação razoavelmente igual divisão de opinião entre validators. Neste caso, podemos escolha fazer alguma punição proporcional. Para garantir que validators possam prever quando poderão ser propondo um bloco com excesso de peso, poderá ser sensato exigir-lhes que publiquem informações sobre o seu próprio desempenho para cada bloco. Durante um período de tempo suficiente, isso deve permitir que eles avaliem sua velocidade de processamento em relação aos pares que os julgariam. 6.5.6. Seguro de Colador. Um problema permanece para validators: ao contrário das redes PoW, para verificar o bloco para validade, eles devem realmente executar as transações nele. Coletores maliciosos podem alimentar blocos inválidos ou com excesso de peso para validators, causando-lhes sofrimento (desperdiçando seus recursos) e cobrando um custo de oportunidade potencialmente substancial. Para mitigar esta situação, propomos uma estratégia simples sobre o parte de validators. Em primeiro lugar, os candidatos ao bloco parachain foram enviados para validators devem ser assinados a partir de uma conta de cadeia de retransmissão com fundos; se não estiverem, então o validator deve cair isso imediatamente. Em segundo lugar, esses candidatos devem ser ordenados em prioridade por uma combinação (por exemplo, multiplicação) de a quantidade de fundos na conta até certo limite, o número de blocos anteriores que o ordenador propôs com sucesso no passado (sem mencionar qualquer bloco anterior punições), e o fator de proximidade com o vencedor bilhete conforme discutido anteriormente. A tampa deve ser a mesma como os danos punitivos pagos ao validator no caso deles enviando um bloco inválido. Para desincentivar os agrupadores de enviar candidatos de bloco inválidos ou com excesso de peso para validators, qualquer validator pode colocar no próximo bloco uma transação incluindo o bloco infrator, alegando mau comportamento com o efeito de transferir alguns ou todos os fundos na conta do ordenador que se comportou mal. conta ao lesado validator. Este tipo de transação antecipa qualquer outra para garantir que o ordenador não possa remover os fundos antes da punição. A quantidade de fundos transferidos como indenização é um parâmetro dinâmico ainda

POLKADOT: VISÃO PARA UMA ESTRUTURA MULTI-CADEIA HETEROGÊNEA ESBOÇO 1 14 a ser modelado, mas provavelmente será uma proporção da recompensa do bloco validator para refletir o nível de sofrimento causado. Para evitar que validators maliciosos confisquem arbitrariamente os fundos dos agrupadores, o agrupador poderá apelar da decisão do validator com um júri de validators escolhidos aleatoriamente em troca para fazer um pequeno depósito. Se eles acharem a favor de validator, o depósito será consumido por eles. Se não, o o depósito é devolvido e o validator é multado (já que o validator estiver em uma posição muito mais abobadada, a multa será provavelmente será bastante pesado). 6.6. Intercadeia Transação Roteamento. Intercadeia o roteamento de transações é uma das manutenções essenciais tarefas da cadeia de relés e seus validators. Este é o lógica que governa como uma transação lançada (muitas vezes abreviada para simplesmente “post”) deixa de ser uma saída desejada de um parachain de origem para ser uma entrada não negociável de outro parachain de destino sem qualquer confiança requisitos. Escolhemos cuidadosamente o texto acima; notavelmente nós não exige que tenha havido uma transação na origem parachain por ter sancionado explicitamente esta postagem. O único restrições que colocamos em nosso modelo é que parachains devem fornecer, embalados como parte de seu bloco geral saída de processamento, as postagens que são o resultado do execução do bloco. Essas postagens são estruturadas como diversas filas FIFO; o número de listas é conhecido como base de roteamento e pode ser cerca de 16. Notavelmente, este número representa a quantidade de pára-quedas que podemos apoiar sem ter que recorrer a roteamento multifásico. Inicialmente, Polkadot apoiará isso tipo de roteamento direto, no entanto, descreveremos um possível processo de roteamento multifásico (“hiper-roteamento”) como meio de expandir muito além do conjunto inicial de parachains. Nós assumir isso tudo participantes sabe o subgrupos para os próximos dois blocos n, n + 1. Em resumo, o O sistema de roteamento segue estas etapas: • CollatorS: entre em contato com membros dos Validadores[n][S] • Agrupadores: PARA CADA subgrupo: garantir pelo menos pelo menos 1 membro dos validadores[n][s] em contato • Coletores: PARA CADA subgrupo: assumir egress[n −1][s][S] está disponível (todas as postagens recebidas dados para 'S' do último bloco) • Coletores: Componha o bloco candidato b para S: (b.cabeçalho, b.ext, b.prova, b.recibo, b.egress) • Coletores: Enviar prova informação prova[S] = (b.cabeçalho, b.ext, b.prova, b.recibo) para Validadores[n][S] • CollatorS: Garante dados de transações externas b.ext é disponibilizado para outros agrupadores e validators • Coletores: PARA CADA subgrupo é: Enviar saída informação saída[n][S][s] = (b.cabeçalho, b.recibo, b.egress[s]) para o recebendo subgrupo membros de próximo bloquear Validadores[n + 1][s] • ValidadorV: pré-conecta todos os membros do mesmo conjunto para o próximo bloco: seja N = Chain[n + 1][V ]; conectar todos os validators v tais que Chain[n + 1][v] = N • ValidadorV: Agrupe toda a entrada de dados para isso bloco: PARA CADA subgrupo é: Recuperar egress[n −1][s][Chain[n][V ]], obtém de outros validators v tal que Chain[n][v] = Chain[n][V ]. Possivelmente passando por outros validators selecionados aleatoriamente para prova de tentativa. • ValidadorV: Aceite provas de candidato para isso prova de bloco[Cadeia[n][V]]. Validade do bloco de votação • ValidadorV: Aceitar dados de saída de candidatos para próximo bloco: PARA CADA subgrupo s, aceite saída[n][s][N]. Disponibilidade de saída do bloco de votação; republicar entre validators interessados v de forma que Cadeia[n + 1][v] = Cadeia[n + 1][V ]. • ValidadorV: ATÉ CONSENSO Onde: egress[n][from][to] é a fila de saída atual informações para postagens que vão do parachain ‘de’, para parachain ‘to’ no número do bloco ‘n’. CollatorS é um agrupador para parachain S. V alidators[n][s] é o conjunto de validators para parachain s no bloco número n. Por outro lado, Chain[n][v] é o parachain ao qual validator v é atribuído no bloco número n. block.egress[to] é a saída fila de postagens de algum bloco parachain cujo parachain de destino é. Como os agrupadores cobram taxas (de transação) com base em seus blocos se tornando canônicos, eles são incentivados a garantir que, para cada destino do próximo bloco, o subgrupo os membros são informados da fila de saída do presente bloco. Os validadores são incentivados apenas a formar um consenso sobre um bloco (parachain), portanto, eles pouco se importam com qual bloco do ordenador finalmente se torna canônico. Em princípio, um validator poderia formar uma aliança com um agrupador e conspirar para reduzir as chances de outros agrupadores bloqueia se tornar canônico, no entanto, isso é difícil para organizar devido à seleção aleatóriaação de validators para parachains e poderia ser defendido com uma redução nas taxas a pagar por blocos de parachain que resistem o processo de consenso. 6.6.1. Disponibilidade de dados externos. Garantindo um paraquedas dados externos estão realmente disponíveis é um problema perene com sistemas descentralizados com o objetivo de distribuir a carga de trabalho entre a rede. No centro da questão está a disponibilidade problema que afirma que, como não é possível fazer uma prova de disponibilidade não interativa nem qualquer tipo de prova de indisponibilidade, para que um sistema BFT funcione adequadamente validar qualquer transição cuja correção dependa do disponibilidade de alguns dados externos, o número máximo de nós aceitavelmente bizantinos, mais um, do sistema deve atestar que os dados estão disponíveis. Para que um sistema seja dimensionado corretamente, como Polkadot, isso convida a um problema: se uma proporção constante de validators deve atestar a disponibilidade dos dados, e assumindo que validators desejarão realmente armazenar os dados antes de afirmar que estão disponíveis, então como podemos evitar o problema dos requisitos de largura de banda/armazenamento aumentando com o tamanho do sistema (e, portanto, o número de validators)? Uma resposta possível seria ter um conjunto separado de validators (garantidores de disponibilidade), cujo pedido cresce sublinearmente com o tamanho de Polkadot como um todo. Isto é descrito em 6.5.3. Também temos um truque secundário. Como grupo, os agrupadores têm um incentivo intrínseco para garantir que todos os dados sejam disponível para o parachain escolhido, pois sem ele eles não são capazes de criar mais blocos a partir dos quais possam cobrar taxas de transação. Os agrupadores também formam um grupo cuja composição é variada (devido à natureza aleatória do parachain validator grupos) não trivial de entrar e fácil

POLKADOT: VISÃO PARA UMA ESTRUTURA MULTI-CADEIA HETEROGÊNEA ESBOÇO 1 15 para provar. Os agrupadores recentes (talvez dos últimos milhares de blocos) estão, portanto, autorizados a emitir desafios para a disponibilidade de dados externos para um determinado parachain bloco para validators para um pequeno título. Os validadores devem entrar em contato com aqueles do subgrupo aparentemente infrator validator que testemunharam e adquirir e devolver os dados ao compilador ou escalar o questão, testemunhando a falta de disponibilidade (a recusa direta em fornecer os dados conta como um crime de confisco de títulos, portanto, o mau comportamento validator provavelmente apenas interromper a conexão) e entrar em contato com validators adicionais para executar o mesmo teste. Neste último caso, a caução do colator é retornado. Assim que for alcançado um quórum de validators que possam fazer tais depoimentos de indisponibilidade, eles serão liberados, o o subgrupo que se comporta mal é punido e o bloqueio é revertido. 6.6.2. Roteamento de postagens. Cada cabeçalho parachain inclui um saída-trie-root; esta é a raiz de uma tentativa contendo o compartimentos de base de roteamento, sendo cada compartimento uma lista concatenada de postos de saída. As provas Merkle podem ser fornecidas em parachain validators para provar que um determinado parachain O bloco tinha uma fila de saída específica para um parachain de destino específico. No início do processamento de um bloco parachain, cada a fila de saída de outro parachain com destino ao referido bloco é mesclado na fila de entrada do nosso bloco. Assumimos forte, provavelmente CSPR9, ordenação de subbloco para alcançar uma operação determinística que não oferece favoritismo entre quaisquer emparelhamento de blocos parachain. Os agrupadores calculam a nova fila e drenar as filas de saída de acordo com o parachain lógica. O conteúdo da fila de entrada é escrito explicitamente no bloco de pára-quedas. Isto tem dois propósitos principais: em primeiro lugar, significa que o parachain pode ser sincronizado sem confiança, isoladamente dos outros parachains. Em segundo lugar, simplifica a logística de dados caso todo o ingresso a fila não pode ser processada em um único bloco; validators e agrupadores são capazes de processar os seguintes blocos sem ter que obter os dados da fila especialmente. Se a fila de entrada do parachain estiver acima de um limite valor no final do processamento do bloco, então ele é marcado saturado na cadeia de retransmissão e nenhuma mensagem adicional pode ser entregue a ele até que seja liberado. As provas de Merkle são usado para demonstrar a fidelidade da operação do alceador em a prova do bloco parachain. 6.6.3. Crítica. Uma pequena falha relacionada a este mecanismo é o ataque pós-bomba. É aqui que todos parachains enviam o máximo de posts possíveis para um parachain específico. Embora isso amarre o alvo fila de entrada de uma só vez, nenhum dano é causado além um ataque DoS de transação padrão. Operando normalmente, com um conjunto de sinais bem sincronizados e agrupadores não maliciosos e validators, para N parachains, N × M total de validators e L agrupadores por parachain, nós pode dividir o total de caminhos de dados por bloco para: Validador: M −1+L+L: M −1 para os outros validators no conjunto de parachain, L para cada ordenador fornecendo um bloco de parachain candidato e um segundo L para cada ordenador do próximo bloco exigindo as cargas de saída do bloco anterior. (Este último é na verdade mais parecido com o pior caso operação, uma vez que é provável que os agrupadores compartilhem tais dados.) Collator: M +kN: M para uma conexão com cada bloco parachain validator, kN para semear as cargas úteis de saída para algum subconjunto de cada grupo parachain validator para o próximo bloco (e possivelmente algum(s) agrupador(es) preferido(s)). Como tal, os caminhos dos dados por nó crescem linearmente com a complexidade geral do sistema. Enquanto isso é razoável, à medida que o sistema se expande para centenas ou milhares de parachains, alguma latência de comunicação pode ser absorvido em troca de uma taxa de crescimento de menor complexidade. Neste caso, um algoritmo de roteamento multifásico pode ser usado para reduzir o número de caminhos instantâneos ao custo da introdução de buffers de armazenamento e latência. 6.6.4. Roteamento hipercubo. O roteamento hipercubo é um mecanismo que pode ser construído principalmente como uma extensão do mecanismo básico de roteamento descrito acima. Essencialmente, em vez de aumentar a conectividade do nó com o número de parachains e nós de subgrupos, crescemos apenas com o logaritmo dos parachains. As postagens podem transitar entre várias filas de parachains a caminho da entrega final. O roteamento em si é determinístico e simples. Começamos por limitar o número de compartimentos nas filas de entrada/saída; em vez de serem o número total de pára-quedas, eles são osbase de roteamento (b) . Isso será corrigido como o número de mudanças de parachains, com o expoente de roteamento (e) sendo aumentado. Sob este modelo, nosso volume de mensagens cresce com O (ser), com os caminhos permanecendo constantes e a latência (ou número de blocos necessários para entrega) com O(e). Nosso modelo de roteamento é um hipercubo de dimensões e, com cada lado do cubo tendo b localizações possíveis. Cada bloco roteamos mensagens ao longo de um único eixo. Nós alterne o eixo de forma round-robin, garantindo assim o pior tempo de entrega dos blocos e. Como parte do processamento de parachain, com destino ao exterior as mensagens encontradas na fila de entrada são roteadas imediatamente para o compartimento apropriado da fila de saída, considerando o número do bloco atual (e, portanto, dimensão de roteamento). Isto o processo necessita de transferência de dados adicional para cada salto na rota de entrega, no entanto, isso é um problema em si que pode ser mitigado usando alguns meios alternativos de entrega de carga útil de dados e incluindo apenas uma referência, em vez da carga útil completa da postagem no pós-teste. Um exemplo de roteamento hipercubo para um sistema com 4 parachains, b = 2 e e = 2 pode ser: Fase 0, em cada mensagem M: • sub0: se Mdest ∈{2, 3} então sendTo(2) senão mantém • sub1: se Mdest ∈{2, 3} então sendTo(3) senão mantém • sub2: se Mdest ∈{0, 1} então sendTo(0) senão mantém • sub3: se Mdest ∈{0, 1} então sendTo(1) senão mantém Fase 1, em cada mensagem M: • sub0: se Mdest ∈{1, 3} então sendTo(1) senão mantém • sub1: se Mdest ∈{0, 2} então sendTo(0) senão mantém • sub2: se Mdest ∈{1, 3} então sendTo(3) senão mantém • sub3: se Mdest ∈{0, 2} então sendTo(2) senão mantém As duas dimensões aqui são fáceis de ver como a primeira dois bits do índice de destino; para o primeiro bloco, o apenas um bit de ordem superior é usado. O segundo bloco trata com o bit de ordem inferior. Uma vez que ambos acontecem (de forma arbitrária ordem) então a postagem será roteada. 9pseudo-aleatório criptograficamente seguro

POLKADOT: VISÃO PARA UMA ESTRUTURA MULTI-CADEIA HETEROGÊNEA ESBOÇO 1 16 6.6.5. Maximizando a Serendipidade. Uma alteração do básico proposta veria um total fixo de c2 −c validators, com c−1 validators em cada subgrupo. Cada bloco, em vez de havendo um reparticionamento não estruturado de validators entre parachains, em vez de para cada subgrupo de parachains, cada validator seria atribuído a um único e diferente subgrupo parachain no bloco seguinte. Isso seria levam ao invariante que entre quaisquer dois blocos, para qualquer dois pares de parachain, existem dois validators que trocaram as responsabilidades do parachain. Embora isto não possa ser usado para obter garantias absolutas sobre a disponibilidade (um único validator ocasionalmente ficará off-line, mesmo se benevolente), pode, no entanto, otimizar o caso geral. Esta abordagem não é isenta de complicações. A adição de um parachain também exigiria uma reorganização do conjunto validator. Além disso o número de validators, estando vinculado ao quadrado do número de parachains, começaria inicialmente muito pequeno e eventualmente cresceria muito muito rápido, tornando-se insustentável após cerca de 50 parachains. Nenhum destes são problemas fundamentais. No primeiro caso, reorganização dos conjuntos validator é algo que deve ser feito regularmente de qualquer maneira. Em relação ao tamanho do validator definido, quando muito pequeno, vários validators podem ser atribuídos para o mesmo parachain, aplicando um fator inteiro ao total geral de validators. Um mecanismo de roteamento multifásico, como o roteamento hipercubo, discutido em 6.6.4, aliviar a necessidade de um grande número de validators quando há um grande número de cadeias. 6.7. Validação Parachain. O objetivo principal de um validator é testemunhar, como um ator bem vinculado, que o parachain bloco é válido, incluindo, mas não limitado a, qualquer transição de estado, quaisquer transações externas incluídas, a execução de quaisquer postos de espera na fila de entrada e o estado final da fila de saída. O processo em si é bastante simples. Uma vez que o validator selou o bloco anterior, eles estão livres para começar a trabalhar para fornecer um bloco de parachain candidato candidato para a próxima rodada de consenso. Inicialmente, o validator encontra um candidato a bloco parachain por meio de um agrupamento de parachain (descrito a seguir) ou um de seus co-validators. Os dados do candidato do bloco parachain inclui o cabeçalho do bloco, o cabeçalho do bloco anterior, quaisquer dados de entrada externos incluídos (para Ethereum e Bitcoin, tais dados seriam chamados de transações, no entanto, em princípio, podem incluir estruturas de dados arbitrárias para fins arbitrários), dados de fila de saída e dados internos para provar a validade da transição de estado (para Ethereum estes seriam os vários nós de teste de estado/armazenamento necessários para executar cada transação). Evidências experimentais mostram este conjunto de dados completo para um bloco Ethereum recente ter no máximo algumas centenas de KiB. Simultaneamente, se ainda não for feito, o validator será tentando recuperar informações relativas à transição do bloco anterior, inicialmente a partir do bloco anterior validators e posteriores de todos os validators que assinam o disponibilidade dos dados. Depois que validator receber esse bloco de candidato, eles então o validam localmente. O processo de validação está contido no módulo validator da classe parachain, um módulo de software sensível ao consenso que deve ser escrito para qualquer implementação de Polkadot (embora em princípio uma biblioteca com C ABI poderia permitir que uma única biblioteca ser compartilhado entre implementações com o apropriado redução na segurança resultante de ter apenas uma única implementação de “referência”). O processo pega o cabeçalho do bloco anterior e verifica sua identidade através da cadeia de retransmissão recentemente acordada. bloco no qual seu hash deve ser gravado. Uma vez verificada a validade do cabeçalho pai, o parachain específico a função de validação da classe pode ser chamada. Esta é uma função única que aceita vários campos de dados (aproximadamente aqueles fornecidos anteriormente) e retornando um booleano simples proclamando a validade do bloqueio. A maioria dessas funções de validação verificará primeiro o campos de cabeçalho que podem ser derivados diretamente de o bloco pai (por exemplo, pai hash, número). Seguindo isso, eles preencherão quaisquer estruturas de dados internas como necessários para processar transações e/ou postagens. Para uma cadeia do tipo Ethereum, isso equivale a preencher um teste o banco de dados com os nós que serão necessários para o execução completa das transações. Outros tipos de cadeia podem ter outro pmecanismos reparatórios. Uma vez feito isso, os posts de entrada e as transações externas (ou o que quer que os dados externos representem) serão promulgada, equilibrada de acordo com a especificação da cadeia. (Um o padrão sensato pode ser exigir que todas as postagens de entrada sejam processado antes que as transações externas sejam atendidas, no entanto, isso deve ser decidido pela lógica do parachain.) Através desta lei, uma série de postos de saída serão criados e será verificado se estes realmente correspondem o candidato do colador. Finalmente, o devidamente preenchido o cabeçalho será verificado em relação ao cabeçalho do candidato. Com um bloco candidato totalmente validado, o validator pode então votar no hash de seu cabeçalho e enviar todas as informações de validação necessárias para os co-validators em seu subgrupo. 6.7.1. Coladores Parachain. Os agrupadores de parachain são operadores não vinculados que cumprem grande parte da tarefa dos mineradores nas redes blockchain atuais. Eles são específicos para um parachain específico. Para funcionarem devem manter a cadeia de relés e o totalmente sincronizado pára-quedas. O significado preciso de “totalmente sincronizado” dependerá da classe do parachain, embora sempre inclua o estado atual da fila de entrada do parachain. No caso de Ethereum também envolve pelo menos manter um banco de dados Merkle-tree dos últimos blocos, mas pode também inclui várias outras estruturas de dados, incluindo Bloom filtros para existência de conta, informações familiares, registro saídas e tabelas de pesquisa reversa para número de bloco. Além de manter as duas cadeias sincronizadas, também deve “pescar” transações mantendo uma fila de transações e aceitando transações devidamente validadas da rede pública. Com a fila e a cadeia, é capaz de criar novos blocos candidatos para os validators escolhidos em cada bloco (cuja identidade é conhecida desde que a cadeia de relés esteja sincronizada) e submetê-los, juntamente com o diversas informações auxiliares, como prova de validade, via a rede peer. Por seu problema, cobra todas as taxas relativas às transações que inclui. Várias economias flutuam em torno disso arranjo. Num mercado fortemente competitivo onde há houver um excedente de coladores, é possível que a transação taxas serão compartilhadas com o parachain validators para incentivar a inclusão de um bloco de agrupamento específico. De forma similar,

POLKADOT: VISÃO PARA UMA ESTRUTURA MULTI-CADEIA HETEROGÊNEA ESBOÇO 1 17 alguns agrupadores podem até aumentar as taxas exigidas que precisam a ser pago para tornar o bloco mais atrativo para validators. Neste caso, um mercado natural deve se formar com transações que pagam taxas mais altas evitando a fila e ter uma inclusão mais rápida na cadeia. 6.8. Rede. Rede em blockchains tradicionais como Ethereum e Bitcoin tem requisitos bastante simples. Todas as transações e bloqueios são transmitidos em uma simples fofoca não direcionada. A sincronização está mais envolvida, especialmente com Ethereum mas na realidade esta lógica estava contida em a estratégia de pares, em vez do protocolo em si, que resolve alguns tipos de mensagens de solicitação e resposta. Embora Ethereum tenha feito progresso nas ofertas atuais de protocolo com o protocolo devp2p, o que permitiu muitos subprotocolos sejam multiplexados em uma única conexão de ponto e, portanto, tenham a mesma sobreposição de ponto, suportam muitos protocolos p2p simultaneamente, a parte Ethereum de o protocolo ainda permaneceu relativamente simples e o p2p protocolo por um tempo permanece inacabado com importantes funcionalidade ausente, como suporte QoS. Infelizmente, o desejo de criar um protocolo “web 3” mais onipresente, em grande parte falhou, com os únicos projetos que o utilizam sendo aqueles explicitamente financiado pela venda coletiva Ethereum. Os requisitos para Polkadot são bastante mais substanciais. Em vez de uma rede totalmente uniforme, Polkadot tem vários tipos de participantes, cada um com requisitos diferentes em relação à composição de seus pares e diversas redes “avenidas” cujos participantes tenderão a conversar sobre dados específicos. Isso significa uma sobreposição de rede substancialmente mais estruturada – e um protocolo que suporta isso – provavelmente será necessário. Além disso, a extensibilidade para facilitar adições futuras, como novos tipos de “cadeia”, pode eles próprios exigem uma nova estrutura de sobreposição. Embora uma discussão aprofundada sobre como a rede protocolo pode parecer estar fora do escopo deste documento, algumas análises de requisitos são razoáveis. Nós podemos dividir aproximadamente os participantes da nossa rede em dois conjuntos (relay-chain, parachains) cada um dos três subconjuntos. Nós podemos também afirmam que cada um dos participantes do parachain são apenas interessados em conversar entre si em vez de participantes de outros parachains: • Participantes da cadeia de retransmissão: • Validadores: P, dividido em subconjuntos P[s] para cada pára-quedas • Fiadores de Disponibilidade: A (podem ser representados por Validadores na forma básica do protocolo) • Clientes de cadeia de retransmissão: M (observe os membros de cada conjunto parachain também tenderá a ser membros de M) • Participantes do Parachain: • Coletores Parachain: C[0], C[1], . . . • Pescadores de paraquedas: F[0], F[1], . . . • Clientes Parachain: S[0], S[1], . . . • Clientes leves Parachain: L[0], L[1], . . . Em geral, nomeamos classes específicas de comunicação tenderá a ocorrer entre membros desses conjuntos: • P | Um <-> P | R: O cheio definir de validators/fiadores deve ser bem conectado para alcançar consenso. • P[s] <-> C[s] | P[s]: Cada validator como membro de um determinado grupo parachain tenderá a fofocar com outros membros, bem como com os compiladores desse parachain para descobrir e compartilhar candidatos de bloco. • A <-> P[s] | C | R: Cada fiador de disponibilidade precisará coletar dados de cadeia cruzada sensíveis ao consenso dados dos validators atribuídos a ele; agrupadores também pode otimizar a chance de consenso sobre seus bloquear anunciando-o aos fiadores de disponibilidade. Assim que os tiverem, os dados serão desembolsados para outro fiador para facilitar o consenso. • P[s] <-> A | P[s']: Parachain validators irá precisa coletar dados de entrada adicionais do conjunto anterior de validators ou dos fiadores de disponibilidade. • F[s] <-> P: Ao reportar, os pescadores podem colocar uma reclamação com qualquer participante. • M <-> M | P | R: Os clientes gerais da cadeia de retransmissão desembolsam dados de validators e fiadores. • S[s] <-> S[s] | P[s] | R: Os clientes Parachain desembolsam dados dos validator/fiadores. • L[s] <-> L[s] | S[s]: Clientes leves Parachain desembolsar dados dos clientes completos. Para garantir um mecanismo de transporte eficiente, um “plano” rede de sobreposição - como o devp2p de Ethereum - onde cada nó não diferencia (não arbitrariamente) a aptidão de seu é improvável que os pares sejam adequados. Um razoavelmente extensível o mecanismo de seleção e descoberta de pares provavelmente precisará a serem incluídos no protocolo, bem como agressivos planejando uma previsão para garantir o tipo certo de pares são “acidentalmente” connectado no momento certo. A estratégia precisa de composição de pares será diferente para cada turma de participantes: para uma escalação adequada multi-cadeias, os alceadores precisarão ser continuamente reconectando-se aos validators devidamente eleitos, ou irá precisa de acordos contínuos com um subconjunto de validators para garantir que eles não sejam desconectados durante a grande maioria das vezes em que são inúteis para isso validator. Os agrupadores também tentarão naturalmente manter um ou conexões mais estáveis no garantidor de disponibilidade definido para garantir a rápida propagação de suas ideias sensíveis ao consenso dados. Os fiadores de disponibilidade terão como objetivo principal manter um conexão estável entre si e com validators (para consenso e dados parachain críticos de consenso aos quais eles atestam), bem como a alguns coladores (para o parachain dados) e alguns pescadores e clientes plenos (para dispersão informações). Os validadores tenderão a procurar outros validators, especialmente aqueles do mesmo subgrupo e qualquer agrupadores que podem fornecer-lhes candidatos a blocos de parachain. Pescadores, bem como redes de revezamento e paraquedas em geral os clientes geralmente terão como objetivo manter uma conexão aberta a um validator ou fiador, mas muitos outros nós semelhantes para si mesmos de outra forma. Os clientes Parachain Light terão como objetivo semelhante estar conectados a um cliente completo do parachain, se não apenas outros clientes leves de parachain. 6.8.1. O problema da rotatividade de pares. Na proposta básica do protocolo, cada um desses subconjuntos se altera constantemente de forma aleatória a cada bloco conforme os validators atribuídos para verificar as transições parachain são eleitas aleatoriamente. Isso pode ser um problema caso nós díspares (não pares) precisem passar dados entre si. É preciso confiar em uma rede de pares bem distribuída e bem conectada para

POLKADOT: VISÃO PARA UMA ESTRUTURA MULTI-CADEIA HETEROGÊNEA ESBOÇO 1 18 garantir que a distância do salto (e, portanto, a latência do pior caso) só cresça com o logaritmo do tamanho da rede (um protocolo semelhante ao Kademlia [13] pode ajudar aqui), ou deve-se introduzir tempos de bloqueio mais longos para permitir que a negociação de conexão necessária ocorra para manter um conjunto de pares que reflete as necessidades atuais de comunicação do nó. Nenhuma dessas são ótimas soluções: longos tempos de bloqueio ser forçado na rede pode torná-la inútil para aplicações e cadeias específicas. Mesmo uma situação perfeitamente justa e rede conectada resultará em desperdício substancial de largura de banda à medida que aumenta devido a nós desinteressados tendo para encaminhar dados inúteis para eles. Embora ambas as direções possam fazer parte da solução, uma otimização razoável para ajudar a minimizar a latência seria ser para restringir a volatilidade desses parachain validator conjuntos, reatribuindo a associação apenas entre séries de blocos (por exemplo, em grupos de 15, que em 4 segundos o tempo de bloqueio significaria alterar as conexões apenas uma vez por minuto) ou rotacionando os membros de forma incremental, por ex. mudando por um membro de cada vez (por exemplo, se houver são 15 validators atribuídos a cada parachain, então, em média, seria um minuto inteiro entre completamente único conjuntos). Ao limitar a quantidade de rotatividade entre pares e garantir que conexões vantajosas entre pares sejam bem feitas em avançar através da previsibilidade parcial do parachain conjuntos, podemos ajudar a garantir que cada nó mantenha um permanentemente seleção fortuita de pares. 6.8.2. Caminho para um protocolo de rede eficaz. Provavelmente o o esforço de desenvolvimento mais eficaz e razoável se concentrará na utilização de um protocolo pré-existente, em vez de continuar o nosso. Existem vários protocolos base peer-to-peer que podemos usar ou aumentar, incluindo o próprio devp2p de Ethereum [22], libp2p [1] do IPFS e GNUnet [4] do GNU. Uma revisão completa desses protocolos e sua relevância para a construção de um rede modular de pares que suporta certas garantias estruturais, orientação dinâmica entre pares e subprotocolos extensíveis está muito além do escopo deste documento, mas será um passo importante na implementação de Polkadot. 7. Aspectos práticos do Protocolo 7.1. Pagamento de transações intercadeias. Embora um ótimo quantidade de liberdade e simplicidade é obtida eliminando a necessidade de uma estrutura holística de contabilidade de recursos de computação como o gás de Ethereum, isso levanta uma questão importante: sem gás, como um parachain evitar que outro parachain o force a fazer cálculos? Embora possamos contar com a fila de entrada pós-transação buffers para evitar que uma cadeia envie spam para outra com dados de transação, não há mecanismo equivalente fornecido pelo protocolo para evitar spam no processamento de transações. Este é um problema deixado para o nível superior. Desde cadeias são livres para anexar semântica arbitrária à entrada dados de postagem de transação, podemos garantir que o cálculo deve ser pago antes de começar. Numa linha semelhante à modelo adotado por Ethereum Serenity, podemos imaginar um contrato de “arrombamento” dentro de um parachain que permite um validator terá pagamento garantido em troca do fornecimento de um determinado volume de recursos de processamento. Esses recursos podem ser medidos em algo como gás, mas também pode ser algum modelo totalmente novo, como tempo de execução subjetivo ou um modelo de taxa fixa semelhante a Bitcoin. Por si só, isso não é tão útil, pois não podemos presumir prontamente que o chamador fora da cadeia tenha disponível para ele qualquer que seja o mecanismo de valor reconhecido pela invasão contrato. No entanto, podemos imaginar um contrato secundário de “ruptura” na cadeia de origem. Os dois contratos juntos formariam uma ponte, reconhecendo-se e fornecendo equivalência de valor. (Estaqueamento-tokens, disponível para cada um, poderia ser usado para liquidar o balanço de pagamentos.) Ligar para outra cadeia desse tipo significaria proxy através desta ponte, que forneceria os meios de negociar a transferência de valor entre cadeias para pagar pelos recursos de computação necessários no parachain de destino. 7.2. Adicional Correntes. Enquanto o adição de um parachain é uma operação relativamente barata, não é gratuita. Mais parachains significa menos validators por parachain e, eventualmente, um número maior de validators, cada um com um título médio reduzido. Embora a questão de um menor custo de coerção para atacar um parachain seja mitigada através de pescadores, o crescente conjunto validator essencialmente força um maior grau de latência devido à mecânica do consenso subjacenteisso. Além disso, cada parachain traz consigo o potencial de lamentar validators com um algoritmo de validação excessivamente pesado. Como tal, haverá algum “preço” que validators e/ou a comunidade interessada extrairá para o adição de um novo parachain. Este mercado de correntes possivelmente veja a adição de: • Cadeias que provavelmente terão pagamento de contribuição líquida zero (em termos de bloqueio ou queima de staking tokens) a serem incluídas (por exemplo, cadeias de consórcio, Doge-chains, cadeias específicas de aplicativos); • cadeias que entregam valor intrínseco à rede através da adição de funcionalidades específicas difíceis para chegar a outro lugar (por exemplo, confidencialidade, escalabilidade interna, vínculos de serviço). Essencialmente, a comunidade de partes interessadas precisará ser incentivado a adicionar cadeias infantis - seja financeiramente ou através do desejo de adicionar cadeias funcionais ao relé. Prevê-se que novas cadeias adicionadas terão um impacto muito curto prazo para remoção, permitindo que novas cadeias sejam ser experimentado sem qualquer risco de comprometer a proposta de valor de médio ou longo prazo. 8. Conclusão Descrevemos uma direção que se pode tomar para criar um protocolo multicadeia escalável e heterogêneo com potencial para ser compatível com versões anteriores de determinados protocolos pré-existentes blockchain redes. Sob tal protocolo, os participantes trabalhar com interesse próprio e esclarecido para criar um sistema global que possa ser estendido de maneira excepcionalmente gratuita e sem o custo típico para os usuários existentes que vem de um design padrão blockchain. Nós demos um esboço da arquitetura que seria necessária, incluindo a natureza dos participantes, seus incentivos econômicos e os processos sob os quais eles devem se envolver. Nós temos identificou um projeto básico e discutiu seus pontos fortes e limitações; portanto, temos outras orientações que pode aliviar essas limitações e fornecer mais terreno para uma solução blockchain totalmente escalonável.POLKADOT: VISÃO PARA UMA ESTRUTURA MULTI-CADEIA HETEROGÊNEA ESBOÇO 1 19 8.1. Material faltante e questões abertas. A bifurcação da rede é sempre uma possibilidade devido a implementações divergentes do protocolo. A recuperação de tal condição excepcional não foi discutida. Dado que a rede terá necessariamente um período de finalização diferente de zero, não deve ser um grande problema recuperar-se da bifurcação da cadeia de retransmissão, no entanto, exigirá uma integração cuidadosa no o protocolo de consenso. O confisco de títulos e, inversamente, a provisão de recompensas não foi profundamente explorado. Atualmente assumimos recompensas são fornecidos na base de que o vencedor leva tudo: isso pode não fornecer o melhor modelo de incentivo para os pescadores. Um processo de compromisso-revelação de curto prazo permitiria a muitos pescadores reivindicar o prêmio dando uma distribuição mais justa de recompensas, no entanto, o processo pode levar a latência adicional no descoberta de mau comportamento. 8.2. Agradecimentos. Muito obrigado a todos revisores que ajudaram a colocar isso em uma forma vagamente forma apresentável. Em particular, Peter Czaban, Bjorn Wagner, Ken Kappler, Robert Habermeier, Vitalik Buterin, Reto Trinkler e Jack Petersson. Obrigado a todos as pessoas que contribuíram com ideias ou o início disso, Marek Kotewicz e Aeron Buchanan merecem menção especial. E obrigado a todos pela ajuda ao longo do caminho. Todos os erros são meus. Partes deste trabalho, incluindo pesquisas iniciais sobre algoritmos de consenso, foi financiado em parte pelos britânicos Governo no âmbito do programa Innovate UK.

โปรโตคอลโดยละเอียด

โปรโตคอลสามารถแบ่งออกเป็นสามอย่างคร่าว ๆ ชิ้นส่วน: กลไกฉันทามติ, ส่วนต่อประสานพาราเชน และการกำหนดเส้นทางธุรกรรมระหว่างลูกโซ่ 6.1. รีเลย์โซ่ การดำเนินงาน ที่ รีเลย์โซ่ จะ น่าจะเป็นห่วงโซ่ที่คล้ายกับ Ethereum ในวงกว้าง เป็นแบบรัฐโดยมีที่อยู่การแมปสถานะไปยังบัญชี ข้อมูล ส่วนใหญ่จะสมดุล และ (เพื่อป้องกันการเล่นซ้ำ) เคาน์เตอร์ธุรกรรม การวางบัญชีที่นี่บรรลุจุดประสงค์เดียว นั่นคือ เพื่อจัดเตรียมการบัญชีที่มีเอกลักษณ์เฉพาะตัว จำนวนเดิมพันในระบบ 7 จะมีความแตกต่างที่น่าสังเกตแม้ว่า: • ไม่สามารถปรับใช้สัญญาผ่านธุรกรรมได้ ต่อไปนี้จากความปรารถนาที่จะหลีกเลี่ยงการทำงานของแอปพลิเคชันบนรีเลย์เชนก็จะไม่เป็นเช่นนั้น สนับสนุนการนำสัญญาไปใช้สาธารณะ • การใช้ทรัพยากรคอมพิวเตอร์ (“แก๊ส”) ไม่ได้ถูกนำมาพิจารณา เนื่องจากมีเพียงฟังก์ชันเดียวที่เปิดให้ใช้งานทั่วไปเท่านั้น จะได้รับการแก้ไข เหตุผลเบื้องหลังการบัญชีก๊าซ ไม่ถืออีกต่อไป ด้วยเหตุนี้จึงจะมีค่าธรรมเนียมเพิ่มเติม ทุกกรณีช่วยให้มีประสิทธิภาพมากขึ้นจากกรณีใด ๆ การเรียกใช้โค้ดแบบไดนามิกที่อาจจำเป็นต้องดำเนินการ และรูปแบบธุรกรรมที่ง่ายกว่า • ฟังก์ชั่นพิเศษได้รับการสนับสนุนสำหรับสัญญาที่ระบุไว้ซึ่งช่วยให้สามารถดำเนินการอัตโนมัติและส่งออกข้อความเครือข่าย ในกรณีที่รีเลย์เชนมี VM และเป็นเช่นนั้น จาก EVM นั้น จะมีการปรับเปลี่ยนหลายอย่างเพื่อให้แน่ใจว่ามีความเรียบง่ายสูงสุด ก็น่าจะได้ มีสัญญาในตัวจำนวนหนึ่ง (คล้ายกับที่ ที่อยู่ 1-4 ใน Ethereum) เพื่ออนุญาตเฉพาะแพลตฟอร์ม หน้าที่ที่จะต้องจัดการรวมถึงสัญญาที่เป็นเอกฉันท์ validator สัญญาและสัญญาพาราเชน หากไม่ใช่ EVM ดังนั้นแบ็กเอนด์ WebAssembly [2] (wasm) จึงเป็นทางเลือกที่เป็นไปได้มากที่สุด ในกรณีนี้โดยรวม โครงสร้างจะคล้ายกัน แต่ก็ไม่จำเป็น สำหรับสัญญาในตัวที่มี Wasm เป็นเป้าหมายที่เป็นไปได้ สำหรับภาษาวัตถุประสงค์ทั่วไปมากกว่าที่ยังไม่บรรลุนิติภาวะ และภาษาที่จำกัดสำหรับ EVM การเบี่ยงเบนที่เป็นไปได้อื่นๆ จากโปรโตคอล Ethereum ปัจจุบันค่อนข้างเป็นไปได้ ตัวอย่างเช่น ความเรียบง่ายของ รูปแบบธุรกรรม-ใบเสร็จรับเงินช่วยให้สามารถดำเนินการแบบขนานของธุรกรรมที่ไม่มีความขัดแย้งภายในบล็อกเดียวกัน ตามที่เสนอสำหรับชุดการเปลี่ยนแปลง Serenity เป็นไปได้แม้ว่าจะไม่น่าเป็นไปได้ก็ตามที่เหมือนความสงบสุข โซ่ "บริสุทธิ์" ถูกปรับใช้เป็นรีเลย์-เชน เพื่อให้สามารถ สัญญาเฉพาะเพื่อจัดการสิ่งต่าง ๆ เช่น staking token สมดุลแทนที่จะทำให้สิ่งนั้นเป็นส่วนพื้นฐานของ โปรโตคอลของลูกโซ่ ปัจจุบันเรารู้สึกว่าไม่น่าจะเป็นเช่นนั้น จะนำเสนอความเรียบง่ายของโปรโตคอลที่ดีเยี่ยมพอสมควร คุ้มค่ากับความซับซ้อนและความไม่แน่นอนเพิ่มเติมที่เกี่ยวข้อง ในการพัฒนามัน 7เพื่อเป็นการแสดงจำนวนเงินที่ผู้ถือกำหนดต้องรับผิดชอบต่อความปลอดภัยโดยรวมของระบบ บัญชีเดิมพันเหล่านี้จะ เข้ารหัสมูลค่าทางเศรษฐกิจบางอย่างอย่างหลีกเลี่ยงไม่ได้ อย่างไรก็ตาม ควรเข้าใจว่าเนื่องจากไม่มีเจตนาที่จะใช้ค่าดังกล่าว ไม่ว่าด้วยวิธีใดก็ตามเพื่อวัตถุประสงค์ในการแลกเปลี่ยนสินค้าและบริการในโลกแห่งความเป็นจริง ควรสังเกตว่า tokens นั้นไม่เหมือนกับ สกุลเงินและด้วยเหตุนี้ รีเลย์เชนจึงยังคงรักษาปรัชญาที่ทำลายล้างเกี่ยวกับการใช้งานโพลคาดอท: วิสัยทัศน์สำหรับกรอบการทำงานแบบหลายห่วงโซ่ที่แตกต่างกัน ร่างที่ 1 10 มีฟังก์ชันการทำงานเล็กๆ น้อยๆ จำนวนหนึ่งที่จำเป็นสำหรับการจัดการกลไกฉันทามติ ชุด validator กลไกการตรวจสอบ และพาราเชน เหล่านี้ สามารถนำไปใช้ร่วมกันภายใต้โปรโตคอลเสาหิน อย่างไรก็ตาม ด้วยเหตุผลของการเพิ่มความเป็นโมดูลาร์ เราจึงอธิบายสิ่งเหล่านี้ว่าเป็น "สัญญา" ของรีเลย์-เชน สิ่งนี้ควร ให้เข้าใจว่าเป็นวัตถุ (ในความหมายของ การเขียนโปรแกรมเชิงวัตถุ) จัดการโดยกลไกฉันทามติของรีเลย์เชน แต่ไม่จำเป็นว่าจะเป็นเช่นนั้น พวกเขาถูกกำหนดให้เป็นโปรแกรมใน EVM-like opcodes หรือ แม้ว่าพวกเขาจะสามารถระบุที่อยู่ได้เป็นรายบุคคลผ่านทาง ระบบบัญชี 6.2. สัญญาการปักหลัก สัญญานี้จะรักษาชุด validator มันจัดการ: • บัญชีใดในปัจจุบัน validators; • ซึ่งพร้อมที่จะกลายเป็น validators ในระยะสั้น แจ้งให้ทราบล่วงหน้า; • บัญชีใดที่มีการเสนอชื่อเดิมพัน validator; • คุณสมบัติของแต่ละอย่างรวมถึงปริมาณ staking อัตราการจ่ายเงินและที่อยู่ที่ยอมรับได้ และตัวตนระยะสั้น (เซสชัน) อนุญาตให้บัญชีลงทะเบียนความปรารถนาที่จะเป็น ผูกมัด validator (พร้อมกับข้อกำหนด) เพื่อเสนอชื่อตัวตนบางส่วน และสำหรับ validators ผูกมัดที่มีอยู่แล้ว เพื่อลงทะเบียนความปรารถนาที่จะออกจากสถานะนี้ มันยัง รวมถึงเครื่องจักรสำหรับกลไกการตรวจสอบและการกำหนดมาตรฐาน 6.2.1. เดิมพัน-token สภาพคล่อง เป็นที่พึงปรารถนาโดยทั่วไป มี staking tokens ทั้งหมดมากที่สุดเท่าที่จะเป็นไปได้ เดิมพันภายในการดำเนินงานบำรุงรักษาเครือข่ายตั้งแต่นั้นมา สิ่งนี้เชื่อมโยงโดยตรงกับความปลอดภัยของเครือข่ายกับ "มูลค่าหลักทรัพย์ตามราคาตลาด" โดยรวมของ staking token นี้ได้อย่างง่ายดาย ได้รับการจูงใจด้วยการเพิ่มสกุลเงินและแจกจ่ายรายได้ให้กับผู้ที่เข้าร่วมในฐานะ validators อย่างไรก็ตาม การทำเช่นนี้ทำให้เกิดปัญหา: ถ้า token ถูกล็อคอยู่ในสัญญาการปักหลักภายใต้การลงโทษของการลดลง ส่วนสำคัญจะคงอยู่ได้อย่างเพียงพอได้อย่างไร ของเหลวเพื่อให้สามารถค้นพบราคาได้? คำตอบประการหนึ่งสำหรับเรื่องนี้คือการอนุญาตให้ทำสัญญาอนุพันธ์ที่ตรงไปตรงมา โดยรักษาความปลอดภัย tokens ที่เปลี่ยนกันได้บนหุ้นอ้างอิง token นี่เป็นเรื่องยากที่จะจัดการในลักษณะที่ไว้วางใจได้ นอกจากนี้ tokens อนุพันธ์เหล่านี้ไม่สามารถได้รับการปฏิบัติอย่างเท่าเทียมกันด้วยเหตุผลเดียวกันกับที่ว่าพันธบัตรรัฐบาลยูโรโซนที่แตกต่างกันไม่สามารถทดแทนได้: คือโอกาสที่สินทรัพย์อ้างอิงจะล้มเหลวและกลายเป็น ไร้ค่า กับรัฐบาลยูโรโซนอาจมี ค่าเริ่มต้น ด้วย validator-เดิมพัน tokens validator อาจ กระทำการอันมุ่งร้ายและถูกลงโทษ ตามหลักการของเรา เราเลือกวิธีแก้ปัญหาที่ง่ายที่สุด: ไม่ใช่ token ทั้งหมดจะถูกเดิมพัน นี่ก็จะหมายความอย่างนั้น สัดส่วนบางส่วน (อาจ 20%) ของ tokens จะถูกบังคับให้ยังคงเป็นของเหลว แม้ว่าสิ่งนี้จะไม่สมบูรณ์แบบจากมุมมองด้านความปลอดภัย แต่ก็ไม่น่าจะสร้างความแตกต่างขั้นพื้นฐานได้ ความปลอดภัยของเครือข่าย 80% ของการชดใช้ที่เป็นไปได้จากการยึดพันธบัตรจะยังคงสามารถทำได้ เทียบกับ “กรณีที่สมบูรณ์แบบ” 100% staking อัตราส่วนระหว่างเงินเดิมพันและของเหลว tokens สามารถกำหนดเป้าหมายได้อย่างง่ายดายผ่านกลไกการประมูลแบบย้อนกลับ โดยพื้นฐานแล้ว token ผู้ถือสนใจที่จะเป็น validator แต่ละคนจะโพสต์ข้อเสนอในสัญญา staking ที่ระบุ อัตราการจ่ายเงินขั้นต่ำที่พวกเขาจะต้องได้รับ ส่วนหนึ่ง ในตอนต้นของแต่ละเซสชัน (เซสชันจะ เกิดขึ้นเป็นประจำบางทีอาจเกิดขึ้นครั้งละครั้ง) validator ช่องจะถูกเติมตามแต่ละช่อง validator เดิมพันและอัตราการจ่ายเงิน อัลกอริทึมหนึ่งที่เป็นไปได้ เพราะนี่จะเป็นการเอาผู้ที่มีข้อเสนอต่ำที่สุด เป็นตัวแทนเดิมพันไม่สูงกว่ายอดเดิมพันทั้งหมดที่ตั้งเป้าหมายไว้ หารด้วยจำนวนช่องและไม่ต่ำกว่าขอบล่างของจำนวนนั้น หากไม่สามารถเติมช่องได้ ขอบเขตล่างสามารถลดลงซ้ำๆ ได้ด้วยปัจจัยบางอย่างเพื่อให้เกิดความพึงพอใจ 6.2.2. การเสนอชื่อ เป็นไปได้ที่จะเสนอชื่ออย่างไม่ไว้วางใจ staking tokens ให้กับ validator ที่ใช้งานอยู่ โดยมอบให้พวกเขา ความรับผิดชอบของหน้าที่ validators การเสนอชื่อผลงาน ผ่านระบบอนุมัติ-ลงคะแนนเสียง ผู้ที่จะเป็นผู้เสนอชื่อแต่ละคนสามารถโพสต์คำแนะนำในสัญญา staking ได้ การแสดงตัวตน validator อย่างน้อยหนึ่งรายการภายใต้เจ้าของ ความรับผิดชอบที่พวกเขาพร้อมที่จะมอบความไว้วางใจ ในแต่ละเซสชั่นพันธบัตรของผู้เสนอชื่อจะกระจายออกไป แสดงโดย validator หนึ่งรายการขึ้นไป อัลกอริธึมการกระจายปรับให้เหมาะสมสำหรับชุด validators ของผลรวมที่เทียบเท่ากัน พันธบัตร พันธบัตรของผู้เสนอชื่อจะอยู่ภายใต้ความรับผิดชอบที่มีประสิทธิภาพของ validator aและได้รับดอกเบี้ยหรือประสบ ลดโทษตามสมควร 6.2.3. การยึดพันธบัตร / การเผา พฤติกรรม validator บางอย่างส่งผลให้มีการลดความผูกพันลง ถ้า พันธบัตรจะลดลงต่ำกว่าขั้นต่ำที่อนุญาต เซสชันสิ้นสุดก่อนกำหนดและเซสชันอื่นเริ่มต้นขึ้น รายการพฤติกรรมที่ไม่เหมาะสม validator ที่ได้รับโทษอย่างครบถ้วน รวมถึง: • เป็นส่วนหนึ่งของกลุ่มพาราเชนที่ไม่สามารถให้ได้ ฉันทามติเกี่ยวกับความถูกต้องของบล็อกพาราเชน • กระตือรือร้นในการลงนามเพื่อความถูกต้องของสิ่งที่ไม่ถูกต้อง บล็อกพาราเชน • ไม่สามารถจัดหาเพย์โหลดขาออกได้ก่อนหน้านี้ โหวตว่าใช้ได้; • การไม่ใช้งานในระหว่างกระบวนการฉันทามติ; • ตรวจสอบความถูกต้องของบล็อกรีเลย์-เชนบนส้อมของคู่แข่ง พฤติกรรมที่ไม่เหมาะสมบางกรณีอาจคุกคามความสมบูรณ์ของเครือข่าย (เช่น การเซ็นชื่อบล็อก parachain ที่ไม่ถูกต้อง และการตรวจสอบหลายด้านของทางแยก) และด้วยเหตุนี้จึงส่งผลให้มีการเนรเทศอย่างมีประสิทธิผลโดยการลดพันธะทั้งหมดลง ใน กรณีอื่นๆ ที่ร้ายแรงน้อยกว่า (เช่น การไม่มีการใช้งานตามฉันทามติ กระบวนการ) หรือกรณีที่ไม่สามารถระบุความผิดได้แน่ชัด (เป็นส่วนหนึ่งของกลุ่มที่ขาดประสิทธิภาพ) ส่วนน้อย ของพันธบัตรอาจถูกปรับแทนได้ ในกรณีหลังนี้ ทำงานได้ดีกับการปั่นกลุ่มย่อยเพื่อให้แน่ใจว่าเป็นอันตราย โหนดต้องสูญเสียมากกว่าโหนดใจดีที่เสียหายอย่างมาก ในบางกรณี (เช่น การตรวจสอบ multi-fork และไม่ถูกต้อง การลงนามบล็อกย่อย) validators ไม่สามารถตรวจจับพฤติกรรมที่ไม่เหมาะสมของกันและกันได้อย่างง่ายดายเนื่องจากมีการตรวจสอบอย่างต่อเนื่อง ของแต่ละบล็อกพาราเชนจะเป็นงานที่ยากลำบากเกินไป ที่นี่ มีความจำเป็นต้องขอความช่วยเหลือจากฝ่ายภายนอก กระบวนการตรวจสอบเพื่อตรวจสอบและรายงานพฤติกรรมที่ไม่เหมาะสมดังกล่าว ทุกฝ่ายจะได้รับรางวัลจากการรายงานกิจกรรมดังกล่าว คำว่า “ชาวประมง” มีต้นกำเนิดมาจากสิ่งที่ไม่น่าเป็นไปได้ ของรางวัลดังกล่าว เนื่องจากกรณีเหล่านี้มักมีความร้ายแรงมาก เราจึงคิดว่าสามารถจ่ายรางวัลใดๆ ได้อย่างง่ายดายจากพันธบัตรที่ถูกยึด โดยทั่วไปแล้ว เราชอบที่จะรักษาสมดุลของการเผาไหม้ (เช่น ลดจนเหลืออะไรเลย) ด้วยการจัดสรรใหม่ แทนที่จะเป็น พยายามจัดสรรการขายส่ง สิ่งนี้มีผลกระทบจาก

โพลคาดอท: วิสัยทัศน์สำหรับกรอบการทำงานแบบหลายห่วงโซ่ที่แตกต่างกัน ร่างที่ 1 11 การเพิ่มมูลค่าโดยรวมของ token เพื่อชดเชย เครือข่ายโดยทั่วไปในระดับหนึ่งมากกว่าเฉพาะเจาะจง ฝ่ายที่เกี่ยวข้องกับการค้นพบ นี่เป็นเรื่องความปลอดภัยเป็นหลัก กลไก: เงินจำนวนมากที่เกี่ยวข้องอาจนำไปสู่การจูงใจพฤติกรรมที่รุนแรงและเฉียบพลันได้ทั้งหมด มอบให้กับเป้าหมายเดียว โดยทั่วไป สิ่งสำคัญคือรางวัลจะต้องมีจำนวนมากพอที่จะทำให้การตรวจสอบคุ้มค่าสำหรับเครือข่าย แต่ก็ไม่มากจนเกินไปที่จะชดเชยค่าใช้จ่ายในการเผชิญหน้า อาชญากร "ระดับอุตสาหกรรม" ที่มีเงินทุนดีและจัดการอย่างดี การแฮ็กการโจมตี validator ผู้โชคร้ายบางตัวเพื่อบังคับพฤติกรรมที่ไม่เหมาะสม ด้วยวิธีนี้จำนวนเงินที่เรียกร้องโดยทั่วไปควรเป็นจำนวนไม่ มากกว่าความผูกพันโดยตรงของผู้หลงทาง validator เกรงว่าก แรงจูงใจอันชั่วร้ายเกิดจากการประพฤติผิดและรายงานตัวเพื่อรับเงินรางวัล สิ่งนี้สามารถต่อสู้ได้อย่างชัดเจน ผ่านข้อกำหนดพันธะโดยตรงขั้นต่ำสำหรับการเป็น validator หรือโดยนัยโดยการให้ความรู้แก่ผู้เสนอชื่อว่า validators ที่มีพันธบัตรเพียงเล็กน้อยไม่มีแรงจูงใจที่ดี ประพฤติตัวดี 6.3. Parachain Registry Parachain แต่ละอันถูกกำหนดไว้แล้ว รีจิสทรีนี้ มันเป็นโครงสร้างคล้ายฐานข้อมูลที่ค่อนข้างเรียบง่ายและเก็บข้อมูลทั้งแบบคงที่และไดนามิก แต่ละโซ่ ข้อมูลคงที่รวมถึงดัชนีลูกโซ่ (แบบง่าย จำนวนเต็ม) พร้อมด้วยเอกลักษณ์ของโปรโตคอลการตรวจสอบ วิธีการแยกแยะระหว่างชนชั้นต่างๆ ของ parachain เพื่อให้อัลกอริธึมการตรวจสอบความถูกต้องถูกต้อง ดำเนินการโดย validators ส่งต่อผู้สมัครที่ถูกต้อง การพิสูจน์แนวคิดเบื้องต้นจะเน้นไปที่การวาง อัลกอริธึมการตรวจสอบใหม่เข้าสู่ไคลเอนต์โดยต้องมีการฮาร์ดฟอร์กของโปรโตคอลในแต่ละครั้งอย่างมีประสิทธิภาพ มีการเพิ่มคลาสของโซ่เพิ่มเติม ท้ายที่สุดแล้วแม้ว่า อาจเป็นไปได้ที่จะระบุอัลกอริธึมการตรวจสอบความถูกต้อง วิธีการที่เข้มงวดและมีประสิทธิภาพเพียงพอที่ลูกค้าจะเป็น สามารถทำงานร่วมกับพาราเชนใหม่ได้อย่างมีประสิทธิผลโดยไม่ต้องมี ฮาร์ดฟอร์ก แนวทางหนึ่งที่เป็นไปได้คือการระบุ อัลกอริธึมการตรวจสอบความถูกต้องของพาราเชนที่ได้รับการยอมรับอย่างดี ภาษาที่เป็นกลางและคอมไพล์ตามแพลตฟอร์ม เช่น WebAssembly จำเป็นต้องมีการวิจัยเพิ่มเติมเพื่อพิจารณา ไม่ว่าจะเป็นไปได้จริงหรือไม่ แต่ถ้าเป็นเช่นนั้นก็สามารถนำมาซึ่ง ด้วยข้อได้เปรียบอันมหาศาลของการขับไล่ฮาร์ดฟอร์ก เพื่อความดี ข้อมูลแบบไดนามิกรวมถึงลักษณะของระบบการกำหนดเส้นทางธุรกรรมที่ต้องมีข้อตกลงระดับโลกดังกล่าว เป็นคิวทางเข้าของ parachain (อธิบายไว้ในส่วน 6.6) รีจิสทรีสามารถเพิ่ม parachains ได้เท่านั้น ผ่านการลงประชามติเต็มรูปแบบ สิ่งนี้สามารถจัดการได้ ภายในแต่น่าจะวางไว้ภายนอกมากกว่า สัญญาลงประชามติเพื่ออำนวยความสะดวกในการนำกลับมาใช้ใหม่ตาม องค์ประกอบการกำกับดูแลทั่วไปเพิ่มเติม พารามิเตอร์ที่จะ ข้อกำหนดในการลงคะแนนเสียง (เช่น องค์ประชุมที่ต้องการ เสียงข้างมาก จำเป็น) สำหรับการลงทะเบียนโซ่เพิ่มเติมและอื่น ๆ การอัพเกรดระบบที่เป็นทางการน้อยลงจะมีการกำหนดไว้ใน "ต้นแบบ รัฐธรรมนูญ” แต่มีแนวโน้มว่าจะเป็นไปตามประเพณีที่ค่อนข้างเป็นธรรม เส้นทางอย่างน้อยในตอนแรก สูตรที่แม่นยำหมดแล้ว ขอบเขตสำหรับงานปัจจุบัน แต่เช่น มากสุดสองในสามที่จะผ่านด้วยมากกว่าหนึ่งในสามของระบบทั้งหมด การลงคะแนนเสียงในทางบวกอาจเป็นจุดเริ่มต้นที่สมเหตุสมผล การดำเนินการเพิ่มเติม ได้แก่ การระงับและการถอดพาราเชน หวังว่าการระงับจะไม่เกิดขึ้น เกิดขึ้นอย่างไรก็ตามมันถูกออกแบบให้มีการป้องกันน้อยที่สุด มีปัญหาที่รักษาไม่หายในระบบตรวจสอบความถูกต้องของพาราเชน ตัวอย่างที่ชัดเจนที่สุดที่อาจเป็นไปได้ be need คือความแตกต่างที่เป็นเอกฉันท์ที่สำคัญระหว่างการใช้งานที่ทำให้ validators ไม่สามารถตกลงกันได้ ความถูกต้องหรือบล็อก ผู้ตรวจสอบความถูกต้องจะได้รับการสนับสนุนให้ใช้ การใช้งานไคลเอนต์หลายตัวเพื่อที่จะสามารถทำได้ เพื่อทราบปัญหาดังกล่าวก่อนการยึดพันธบัตร เนื่องจากการระงับเป็นมาตรการฉุกเฉิน ก็คงเป็นเช่นนั้น ภายใต้การอุปถัมภ์ของการลงคะแนนแบบไดนามิก validator มากกว่าการลงประชามติ การกลับมาใหม่จะเป็นไปได้ทั้งสองอย่าง จาก validators หรือการลงประชามติ การถอดพาราเชนออกทั้งหมดจะเกิดขึ้นเท่านั้น หลังจากการลงประชามติและด้วยซึ่งจะต้องมีการ ระยะเวลาผ่อนผันที่สำคัญเพื่อให้เกิดการเปลี่ยนแปลงอย่างเป็นระเบียบ ไม่ว่าจะเป็นเครือข่ายแบบสแตนด์อโลนหรือเป็นส่วนหนึ่งของเครือข่ายอื่น ฉันทามติ-ระบบ ระยะเวลาผ่อนผันน่าจะเป็นของ ลำดับของเดือนและมีแนวโน้มที่จะกำหนดตามลำดับในการลงทะเบียน parachain ตามลำดับที่แตกต่างกัน Parachains สามารถเพลิดเพลินกับช่วงเวลาผ่อนผันที่แตกต่างกันตาม ความต้องการของพวกเขา 6.4. บล็อกรีเลย์ซีล การปิดผนึกหมายถึงโดยพื้นฐานแล้ว ถึงกระบวนการกำหนดรูปแบบบัญญัติ; นั่นคือข้อมูลพื้นฐาน แปลงซึ่งแม็ปต้นฉบับให้เป็นสิ่งที่มีเอกลักษณ์และมีความหมายโดยพื้นฐาน ภายใต้ห่วงโซ่ PoW การปิดผนึกเป็นคำพ้องความหมายสำหรับการขุดอย่างมีประสิทธิผล ในกรณีของเรา มันเกี่ยวข้องกับการรวบรวมข้อความที่ลงนามจาก validators เกี่ยวกับความถูกต้อง ความพร้อมใช้งาน และมาตรฐานของ บล็อกรีเลย์โซ่โดยเฉพาะและบล็อกพาราเชนนั้น มันเป็นตัวแทน กลไกของอัลกอริธึมฉันทามติ BFT พื้นฐานอยู่นอกขอบเขตสำหรับงานปัจจุบัน เราจะ แทนที่จะอธิบายโดยใช้คำดั้งเดิมซึ่งถือว่าก การสร้างเครื่องรัฐที่เป็นเอกฉันท์ ในที่สุดเราก็คาดหวัง ได้รับแรงบันดาลใจจากความเห็นพ้องต้องกันของ BFT ที่มีแนวโน้มหลายประการ อัลกอริธึมในแกนกลาง Tangaora [9] (ตัวแปร BFT ของ แพ [16]), เทนเดอร์มิ้นต์ [11] และ HoneyBadgerBFT [14] อัลกอริธึมจะต้องบรรลุข้อตกลงบนหลาย parachains แบบขนาน ดังนั้นจึงแตกต่างจากปกติ blockchain กลไกฉันทามติ เราถือว่าครั้งหนึ่ง ถึงฉันทามติแล้ว เราก็สามารถบันทึกฉันทามติได้ ในข้อพิสูจน์ที่หักล้างไม่ได้ซึ่งสามารถให้ได้โดยบุคคลใดบุคคลหนึ่ง ผู้เข้าร่วมนั้น เราก็ถือเอาพฤติกรรมที่ไม่เหมาะสมนั้นด้วย ภายในโปรโตคอลโดยทั่วไปสามารถลดลงเหลือเพียงเล็กน้อยได้ กลุ่มที่มีผู้เข้าร่วมประพฤติตัวไม่เหมาะสมเพื่อลด ความเสียหายของหลักประกันเมื่อต้องจัดการกับการลงโทษ8 หลักฐานซึ่งอยู่ในรูปแบบของข้อความที่ลงนามของเรา จะถูกวางไว้ในส่วนหัวของบล็อกสายโซ่รีเลย์ไว้ด้วยกัน กับฟิลด์อื่น ๆ บางอย่างไม่น้อยไปกว่ารูท statetrie ของรีเลย์-เชนและทรานแซคชัน-ทรีรูท ที่ การปิดผนึก กระบวนการ ใช้เวลา สถานที่ ภายใต้ ก โสด การสร้างฉันทามติ กลไก ที่อยู่ ทั้งสองอย่าง ที่ บล็อกของรีเลย์โซ่และบล็อกของพาราเชนที่ทำขึ้น ส่วนหนึ่งของเนื้อหาของรีเลย์: parachains จะไม่ถูก "กระทำ" แยกกันโดยกลุ่มย่อยแล้วจึงเปรียบเทียบ ในภายหลัง สิ่งนี้ส่งผลให้เกิดกระบวนการที่ซับซ้อนมากขึ้นสำหรับรีเลย์เชน แต่ช่วยให้เราสามารถบรรลุฉันทามติของระบบทั้งหมดได้ในขั้นตอนเดียว ลดเวลาแฝงและอนุญาต สำหรับข้อกำหนดด้านความพร้อมใช้งานของข้อมูลที่ค่อนข้างซับซ้อน ได้แก่ มีประโยชน์สำหรับกระบวนการกำหนดเส้นทางด้านล่าง 8แผนงานที่เป็นเอกฉันท์ตาม PoS BFT ที่มีอยู่ เช่น Tendermint BFT และ Slasher ดั้งเดิมจะตอบสนองการยืนยันเหล่านี้

โพลคาดอท: วิสัยทัศน์สำหรับกรอบการทำงานแบบหลายห่วงโซ่ที่แตกต่างกัน ร่างที่ 1 12 สถานะของเครื่องฉันทามติของผู้เข้าร่วมแต่ละคนอาจ จำลองเป็นตารางอย่างง่าย (2 มิติ) ผู้เข้าร่วมแต่ละคน (validator) มีชุดข้อมูลอยู่ในแบบฟอร์ม ของคำแถลงที่ลงนาม (“โหวต”) จากผู้เข้าร่วมคนอื่นๆ เกี่ยวกับตัวเลือกบล็อกพาราเชนแต่ละตัวรวมถึงตัวเลือกบล็อกรีเลย์ ชุดข้อมูลมีสองชิ้น ของข้อมูล: มีจำหน่าย: ไม่ นี้ validator มี ทางออก ข้อมูลธุรกรรมโพสต์จากบล็อกนี้ดังนั้น พวกเขาสามารถตรวจสอบผู้สมัคร parachain ได้อย่างถูกต้องในบล็อกต่อไปนี้หรือไม่ พวกเขาอาจจะลงคะแนนเสียง 1 (รู้จัก) หรือ 0 (ยังไม่ทราบ) เมื่อพวกเขา โหวต 1 พวกเขามุ่งมั่นที่จะลงคะแนนเสียงในทำนองเดียวกัน ส่วนที่เหลือของกระบวนการนี้ ต่อมาโหวตว่าไม่ได้ ความเคารพ นี่เป็นเหตุสำหรับการลงโทษ ความถูกต้อง: บล็อกพาราเชนถูกต้องและเป็นทั้งหมด ข้อมูลอ้างอิงภายนอก (เช่น ธุรกรรม) ใช้ได้เหรอ? สิ่งนี้เกี่ยวข้องเฉพาะกับ validators ที่ได้รับมอบหมายให้กับ parachain ที่พวกเขากำลังลงคะแนนอยู่ พวกเขาอาจลงคะแนนเสียง 1 (ถูกต้อง), -1 (ไม่ถูกต้อง) หรือ 0 (ยังไม่ทราบ) เมื่อพวกเขาลงคะแนนเสียงไม่เป็นศูนย์พวกเขาก็ มุ่งมั่นที่จะลงคะแนนเสียงด้วยวิธีนี้สำหรับส่วนที่เหลือของ กระบวนการ ต่อมาโหวตไม่เคารพเรื่องนี้ เป็นเหตุให้ลงโทษ validators ทั้งหมดต้องส่งการโหวต สามารถส่งคะแนนเสียงอีกครั้งได้ โดยต้องผ่านเกณฑ์ตามกฎข้างต้น ความก้าวหน้าของ ฉันทามติอาจจำลองเป็นอัลกอริธึมฉันทามติมาตรฐาน BFT หลายอันเหนือแต่ละ parachain ที่เกิดขึ้นแบบขนาน เนื่องจากสิ่งเหล่านี้อาจถูกขัดขวางโดยค่อนข้าง มีผู้ประสงค์ร้ายส่วนน้อยที่กระจุกตัวอยู่ กลุ่มพาราเชนกลุ่มเดียว มีมติโดยรวมอยู่ สร้างแบ็คสต็อปเพื่อจำกัดสถานการณ์ที่เลวร้ายที่สุดจาก การหยุดชะงักของบล็อกพาราเชนที่เป็นโมฆะเพียงหนึ่งบล็อกขึ้นไป (และ รอบการลงโทษผู้รับผิดชอบ) กฎพื้นฐานสำหรับความถูกต้องของแต่ละบล็อก (ที่อนุญาตให้ชุดรวมของ validators โดยรวมมาถึง ฉันทามติว่าจะกลายเป็นผู้สมัคร parachain ที่ไม่เหมือนใคร ที่จะอ้างอิงจากการถ่ายทอดตามรูปแบบบัญญัติ): • ต้องมีคะแนนเสียงอย่างน้อยสองในสามของ validators ในทางบวก และไม่มีการลงคะแนนเสียงในทางลบ; • ต้องมี validators มากกว่าหนึ่งในสามลงคะแนนเชิงบวกต่อความพร้อมใช้งานของข้อมูลคิวขาออก หากมีการลงคะแนนเสียงเชิงบวกอย่างน้อยหนึ่งครั้งและเชิงลบอย่างน้อยหนึ่งรายการ เงื่อนไขพิเศษจะถูกสร้างขึ้น และทั้งชุดของ validators ต้องลงคะแนนเพื่อตัดสิน หากมีผู้ประสงค์ร้ายหรือหากมีเหตุบังเอิญ ส้อม นอกเหนือจากการลงคะแนนเสียงที่ถูกต้องและไม่ถูกต้องแล้ว การลงคะแนนเสียงประเภทที่สาม ได้รับอนุญาตเทียบเท่ากับการลงคะแนนเสียงทั้งสองอย่างหมายความว่า โหนดมีความคิดเห็นที่ขัดแย้งกัน ทั้งนี้อาจมีสาเหตุมาจาก เจ้าของโหนดใช้งานหลายอย่างซึ่งทำ ไม่เห็นด้วย ซึ่งบ่งบอกถึงความคลุมเครือที่เป็นไปได้ในระเบียบการ หลังจากการโหวตทั้งหมดจะนับจากชุด validator ทั้งหมด หาก ความคิดเห็นที่แพ้ก็มีสัดส่วนเล็กน้อยเป็นอย่างน้อย (ถึง เป็นพารามิเตอร์; มากที่สุดครึ่งหนึ่ง อาจจะน้อยกว่าอย่างเห็นได้ชัด) ของคะแนนเสียงของผู้มีความเห็นเป็นผู้ชนะให้ถือว่า เป็นส้อมพาราเชนโดยไม่ได้ตั้งใจ และพาราเชนจะถูกระงับโดยอัตโนมัติจากกระบวนการฉันทามติ มิฉะนั้นเราจะถือว่ามันเป็นการกระทำที่เป็นอันตรายและลงโทษ ชนกลุ่มน้อยที่ลงคะแนนเสียงแสดงความเห็นแย้ง ข้อสรุปคือชุดลายเซ็นที่สาธิต ความเป็นมาตรฐาน บล็อกรีเลย์-โซ่อาจถูกปิดผนึก และกระบวนการปิดผนึกบล็อกต่อไปก็เริ่มขึ้น 6.5. การปรับปรุงสำหรับการซีลบล็อกรีเลย์ ในขณะที่ วิธีการปิดผนึกนี้รับประกันการทำงานของระบบได้ดี แต่ก็ไม่ได้ขยายขนาดออกไปมากนัก เนื่องจากข้อมูลสำคัญของพาราเชนทุกอันจะต้องมีข้อมูลของมัน รับประกันความพร้อมใช้งานมากกว่าหนึ่งในสามของ validators ทั้งหมด ซึ่งหมายความว่าทุกๆ รอยเท้าความรับผิดชอบของ validator เติบโตขึ้นเมื่อมีการเพิ่มโซ่มากขึ้น ในขณะที่ข้อมูลมีอยู่ในเครือข่ายเปิดฉันทามติ โดยพื้นฐานแล้วเป็นปัญหาที่ยังไม่ได้รับการแก้ไข มีวิธีบรรเทาค่าใช้จ่ายที่วางไว้บนโหนด validator ง่ายๆ อย่างหนึ่ง วิธีแก้ปัญหาคือการตระหนักว่าในขณะที่ validators ต้องแบกรับ ความรับผิดชอบต่อความพร้อมของข้อมูล ไม่จำเป็นต้องจัดเก็บ สื่อสาร หรือทำซ้ำข้อมูลด้วยตนเอง ไซโลข้อมูลทุติยภูมิ ซึ่งอาจเกี่ยวข้องกับ (หรือแม้แต่ส่วนใหญ่) เดียวกัน) ผู้เปรียบเทียบที่รวบรวมข้อมูลนี้สามารถจัดการได้ งานรับประกันความพร้อมโดย validators มอบดอกเบี้ย/รายได้ส่วนหนึ่งในการชำระเงิน อย่างไรก็ตาม แม้ว่าสิ่งนี้อาจซื้อความสามารถในการปรับขนาดระดับกลาง แต่ก็ยังไม่ได้ช่วยแก้ปัญหาที่ซ่อนอยู่ ตั้งแต่ การเพิ่มเชนโดยทั่วไปจะต้องใช้ validators เพิ่มเติม การใช้ทรัพยากรเครือข่ายอย่างต่อเนื่อง (โดยเฉพาะในแง่ของแบนด์วิดท์) จะเพิ่มขึ้นตามกำลังสองของ ที่โซ่ซึ่งเป็นทรัพย์สินที่ไม่สามารถป้องกันได้ในระยะยาว ในที่สุดเราก็มีแนวโน้มที่จะทุบตีหัวของเราต่อไป ขัดต่อข้อจำกัดพื้นฐานซึ่งระบุไว้ว่าสำหรับ เครือข่ายฉันทามติที่จะถือว่ามีความปลอดภัย ข้อกำหนดแบนด์วิธที่กำลังดำเนินอยู่นั้นเป็นลำดับทั้งหมด validators คูณข้อมูลอินพุตทั้งหมด ทั้งนี้ก็เนื่องมาจาก การไร้ความสามารถของเครือข่ายที่ไม่น่าเชื่อถือในการกระจายงานการจัดเก็บข้อมูลไปยังโหนดต่างๆ ที่มีอยู่อย่างเหมาะสม นอกเหนือจากงานการประมวลผลที่สามารถแจกจ่ายได้อย่างเห็นได้ชัด 6.5.1. ขอแนะนำความหน่วง วิธีหนึ่งในการทำให้สิ่งนี้อ่อนลง กฎคือการผ่อนคลายแนวคิดเรื่องความฉับไว ด้วยการกำหนดให้มีการลงคะแนนเสียง 33%+1 validators สำหรับความพร้อมใช้งานในท้ายที่สุดเท่านั้น และไม่ใช่ในทันที เราจึงสามารถใช้การเผยแพร่ข้อมูลแบบเอ็กซ์โปเนนเชียลได้ดีขึ้น และช่วยให้การแลกเปลี่ยนข้อมูลถึงจุดสูงสุดได้ ความเท่าเทียมกันที่สมเหตุสมผล (แม้ว่าจะไม่ได้รับการพิสูจน์) อาจจะเป็น: (1) เวลาแฝง = ผู้เข้าร่วม × ลูกโซ่ ภายใต้รุ่นปัจจุบัน ขนาดของระบบจะปรับขนาด ด้วยจำนวนโซ่เพื่อให้แน่ใจว่าการประมวลผลเป็น กระจาย; เนื่องจากแต่ละเชนจะต้องมีอย่างน้อยหนึ่ง validator และเราจะแก้ไขการยืนยันความพร้อมเป็นค่าคงที่ สัดส่วน validators จากนั้นผู้เข้าร่วมก็เติบโตขึ้นเช่นเดียวกัน ด้วยจำนวนโซ่ เราจบลงด้วย: (2) เวลาแฝง = ขนาด 2 หมายความว่าเมื่อระบบเติบโตขึ้น แบนด์วิดท์ที่ต้องการและค่าหน่วงเวลาจนกว่าจะทราบความพร้อมใช้งานทั่วทั้งระบบ เครือข่ายซึ่งอาจมีลักษณะเป็นตัวเลขด้วย ของบล็อกก่อนจุดสิ้นสุด เพิ่มขึ้นตามกำลังสอง นี่คือ ปัจจัยการเติบโตที่สำคัญและอาจกลายเป็นอุปสรรคสำคัญและบังคับให้เราเข้าสู่กระบวนทัศน์ "ไม่ราบเรียบ" เช่นการเขียน “Polkadotes” หลายรายการลงในลำดับชั้น สำหรับการกำหนดเส้นทางโพสต์หลายระดับผ่านแผนผังของรีเลย์เชน

โพลคาดอท: วิสัยทัศน์สำหรับกรอบการทำงานแบบหลายห่วงโซ่ที่แตกต่างกัน ร่างที่ 1 13 6.5.2. การมีส่วนร่วมของประชาชน อีกหนึ่งทิศทางที่เป็นไปได้ คือการชักชวนให้ประชาชนมีส่วนร่วมในกระบวนการผ่านก ระบบการร้องเรียนขนาดเล็ก คล้ายกับชาวประมงที่นั่น อาจเป็นบุคคลภายนอกเพื่อทำหน้าที่ตำรวจ validators ที่อ้างสิทธิ์ ความพร้อมใช้งาน หน้าที่ของพวกเขาคือค้นหาผู้ที่ดูเหมือนจะไม่สามารถแสดงให้เห็นถึงความพร้อมดังกล่าวได้ ในการทำเช่นนั้นพวกเขา สามารถยื่นเรื่องร้องเรียนเล็กๆ น้อยๆ ไปยัง validators อื่นๆ ได้ ปตท.หรือ อาจใช้พันธบัตรเดิมพันเพื่อบรรเทาการโจมตีของซีบิล ซึ่งจะทำให้ระบบไร้ประโยชน์อย่างมาก 6.5.3. ผู้รับประกันความพร้อมใช้งาน เส้นทางสุดท้ายก็คงจะเป็น เสนอชื่อชุดที่สองของ validators ที่ถูกผูกมัดเป็น "ความพร้อมใช้งาน ผู้ค้ำประกัน” สิ่งเหล่านี้จะถูกเชื่อมโยงเช่นเดียวกับ validators ปกติ และอาจนำมาจากชุดเดียวกันด้วยซ้ำ (แต่ถ้าเป็นเช่นนั้น พวกเขาจะถูกเลือกเป็นระยะเวลานาน อย่างน้อยต่อเซสชัน) ไม่เหมือนกับ validators ปกติเลย จะไม่สลับระหว่างพาราเชน แต่จะสลับ จัดตั้งกลุ่มเดียวเพื่อยืนยันความพร้อมใช้งานของข้อมูลอินเตอร์เชนที่สำคัญทั้งหมด นี่เป็นข้อได้เปรียบในการผ่อนคลายความเท่าเทียมกันระหว่างผู้เข้าร่วมและเครือข่าย โดยพื้นฐานแล้วโซ่สามารถทำได้ เติบโต (พร้อมกับชุดโซ่เดิม validator) ในขณะที่ ผู้เข้าร่วมและโดยเฉพาะผู้ที่มีส่วนร่วมในพินัยกรรมความพร้อมใช้ของข้อมูล สามารถคงอยู่ในบรรทัดย่อยน้อยที่สุด และค่อนข้างจะคงที่ 6.5.4. การตั้งค่าของผู้รวบรวม สิ่งสำคัญประการหนึ่งของเรื่องนี้ ระบบคือเพื่อให้แน่ใจว่ามีการคัดเลือกที่ดีต่อสุขภาพของ ผู้ทำงานร่วมกันสร้างบล็อกในพาราเชนที่กำหนด ถ้าก ผู้เปรียบเทียบเดี่ยวควบคุม parachain จากนั้นก็มีการโจมตีบ้าง เป็นไปได้มากขึ้นเนื่องจากความน่าจะเป็นของการขาด ความพร้อมใช้งานของข้อมูลภายนอกจะชัดเจนน้อยลง ทางเลือกหนึ่งคือการถ่วงน้ำหนักบล็อกพาราเชนแบบเทียมเข้าไป กลไกการสุ่มหลอกเพื่อสนับสนุนผู้เปรียบเทียบที่หลากหลาย ในกรณีแรกเราจะต้อง ซึ่งเป็นส่วนหนึ่งของกลไกฉันทามติที่ validator เห็นชอบ ตัวเลือกบล็อกพาราเชนระบุว่า "หนักกว่า" ในทำนองเดียวกัน เราต้องจูงใจ validators ให้พยายามทำ แนะนำบล็อกที่มีน้ำหนักมากที่สุดที่พวกเขาหาได้ ซึ่งอาจเป็นได้ ทำโดยการแบ่งส่วนของรางวัลตามสัดส่วนน้ำหนักของผู้สมัคร เพื่อให้ผู้สมรู้ร่วมคิดได้รับความยุติธรรมอย่างสมเหตุสมผล โอกาสที่ผู้สมัครของพวกเขาจะถูกเลือกให้เป็นผู้ชนะ ผู้สมัครที่เป็นเอกฉันท์ เราจะกำหนดน้ำหนักเฉพาะของ a ตัวเลือกบล็อก parachain กำหนดฟังก์ชันสุ่มที่เชื่อมต่อกับแต่ละ collator เช่น การเอา การวัดระยะทาง XOR ระหว่างที่อยู่ของผู้เปรียบเทียบ และหมายเลขสุ่มเทียมที่ปลอดภัยด้วยการเข้ารหัส กำหนดไว้ใกล้กับจุดที่สร้างบล็อก (หรือที่เรียกว่า “ตั๋วที่ชนะ”) สิ่งนี้ให้แต่ละอย่างมีประสิทธิผล ผู้ประสานงาน (หรือโดยเฉพาะอย่างยิ่ง ที่อยู่ของผู้ประสานงานแต่ละคน) โอกาสสุ่มที่บล็อกผู้สมัครของพวกเขาจะ "ชนะ" มากกว่า อื่น ๆ ทั้งหมด เพื่อบรรเทาการโจมตีของ sybil ของผู้รวบรวมรายเดียว "การขุด" ที่อยู่ที่ใกล้กับตั๋วที่ชนะและด้วยเหตุนี้ เป็นรายการโปรดในแต่ละบล็อก เราจะเพิ่มความเฉื่อยให้กับที่อยู่ของผู้เปรียบเทียบ นี่อาจจะง่ายพอ ๆ กับการเรียกร้อง เพื่อให้มีจำนวนเงินพื้นฐานอยู่ในที่อยู่ มากขึ้น แนวทางที่หรูหราคือการชั่งน้ำหนักความใกล้ชิดกับ ตั๋วที่ชนะด้วยจำนวนเงินที่จอดอยู่ที่ ที่อยู่ที่เป็นปัญหา ในขณะที่การสร้างแบบจำลองยังไม่เสร็จสิ้น ค่อนข้างเป็นไปได้ที่กลไกนี้จะช่วยได้มาก ผู้มีส่วนได้ส่วนเสียรายย่อยเพื่อร่วมสมทบทุน 6.5.5. บล็อกน้ำหนักเกิน หากชุด validator ถูกบุกรุก พวกเขาอาจสร้างและเสนอบล็อกซึ่งแม้ว่า ถูกต้อง ใช้เวลาในการดำเนินการมากเกินไป และ ตรวจสอบ นี่เป็นปัญหาเนื่องจากกลุ่ม validator สามารถทำได้ สร้างบล็อกขึ้นมาอย่างสมเหตุสมผลซึ่งใช้เวลานานมากในการ ดำเนินการเว้นแต่ว่าข้อมูลบางอย่างจะทราบอยู่แล้วว่าอนุญาตให้มีทางลัดเช่น การแยกตัวประกอบขนาดใหญ่ สำคัญ หากผู้เปรียบเทียบรายเดียวทราบข้อมูลนั้นแล้ว พวกเขาจะมีข้อได้เปรียบที่ชัดเจนในการได้รับเป็นของตัวเอง ผู้สมัครยอมรับตราบเท่าที่คนอื่นกำลังยุ่งอยู่กับการประมวลผลบล็อกเก่า เราเรียกบล็อกเหล่านี้ว่ามีน้ำหนักเกิน การป้องกัน validators การส่งและตรวจสอบบล็อกเหล่านี้ส่วนใหญ่อยู่ภายใต้การปกปิดเช่นเดียวกับสำหรับ บล็อกที่ไม่ถูกต้อง แม้ว่าจะมีข้อแม้เพิ่มเติม: เนื่องจาก เวลาที่ใช้ในการดำเนินการบล็อก (และสถานะเป็น น้ำหนักเกิน) เป็นเรื่องส่วนตัว ซึ่งเป็นผลลัพธ์สุดท้ายของการลงคะแนนเสียง พฤติกรรมที่ไม่เหมาะสมจะตกเป็น 3 ค่ายหลัก หนึ่ง ความเป็นไปได้ก็คือบล็อกนั้นไม่มีน้ำหนักเกินแน่นอน— ในกรณีนี้มากกว่าสองในสามประกาศว่าทำได้ ดำเนินการบล็อกภายในขีดจำกัด (เช่น 50% ของเวลาทั้งหมดที่อนุญาตระหว่างบล็อก) อีกประการหนึ่งก็คือ บล็อกคือ dน้ำหนักเกินอย่างแน่นอน - นี่จะเป็นถ้ามากกว่านั้น สองในสามประกาศว่าพวกเขาไม่สามารถดำเนินการบล็อกได้ ภายในขอบเขตดังกล่าว ความเป็นไปได้สุดท้ายประการหนึ่งค่อนข้างจะเท่าเทียมกัน การแบ่งความคิดเห็นระหว่าง validators ในกรณีนี้เราก็ได้ เลือกทำโทษตามสมควร เพื่อให้แน่ใจว่า validators สามารถคาดการณ์ได้ว่าจะเกิดขึ้นเมื่อใด เสนอบล็อกที่มีน้ำหนักเกิน อาจสมเหตุสมผลที่จะกำหนดให้พวกเขาเผยแพร่ข้อมูลเกี่ยวกับประสิทธิภาพของตนเองสำหรับแต่ละบล็อก เป็นระยะเวลาพอสมควร สิ่งนี้ควรทำให้พวกเขาสามารถกำหนดโปรไฟล์ความเร็วในการประมวลผลได้ เมื่อเทียบกับคนรอบข้างที่จะตัดสินพวกเขา 6.5.6. ประกันสะสมทรัพย์. ยังคงมีประเด็นหนึ่งสำหรับ validators: ไม่เหมือนกับเครือข่าย PoW เพื่อตรวจสอบผู้ประสานงาน เพื่อความถูกต้อง พวกเขาจะต้องดำเนินการธุรกรรมในนั้นจริงๆ ผู้เปรียบเทียบที่เป็นอันตรายสามารถป้อนบล็อกที่ไม่ถูกต้องหรือมีน้ำหนักเกินให้กับ validators ทำให้เกิดความเศร้าโศก (สิ้นเปลือง ทรัพยากรของพวกเขา) และเรียกร้องค่าเสียโอกาสที่สำคัญที่อาจเกิดขึ้น เพื่อบรรเทาปัญหานี้ เราเสนอกลยุทธ์ง่ายๆ เกี่ยวกับ ส่วนหนึ่งของ validators ประการแรก ผู้สมัครบล็อกพาราเชนถูกส่งไป ถึง validators จะต้องลงนามจากบัญชีลูกโซ่รีเลย์ ด้วยเงินทุน หากไม่เป็นเช่นนั้น validator ควรจะลดลง มันทันที ประการที่สอง ผู้สมัครดังกล่าวควรได้รับลำดับความสำคัญโดยการรวมกัน (เช่น การคูณ) ของ จำนวนเงินในบัญชีถึงขีดจำกัดบางส่วน จำนวนบล็อกก่อนหน้านี้ที่ผู้เปรียบเทียบได้เสนอสำเร็จในอดีต (ไม่ต้องพูดถึงบล็อกใด ๆ ก่อนหน้านี้ การลงโทษ) และปัจจัยความใกล้ชิดต่อการชนะ ตั๋วตามที่กล่าวไว้ก่อนหน้านี้ หมวกควรจะเหมือนกัน เป็นค่าเสียหายเชิงลงโทษที่จ่ายให้กับ validator ในกรณีนี้ ของพวกเขาส่งบล็อกที่ไม่ถูกต้อง เพื่อไม่ให้ผู้เปรียบเทียบส่งผู้สมัครบล็อกที่ไม่ถูกต้องหรือมีน้ำหนักเกินไปที่ validators validator ใดๆ อาจ วางธุรกรรมในบล็อกถัดไป รวมถึงบล็อกที่สิ้นสุดโดยกล่าวหาว่ามีพฤติกรรมที่ไม่เหมาะสมซึ่งส่งผลให้มีการโอนเงินบางส่วนหรือทั้งหมดในผู้ค้ำประกันที่ประพฤติมิชอบ ขอแสดงความเสียใจต่อ validator ที่ได้รับความเดือดร้อน ธุรกรรมประเภทนี้จะดำเนินการล่วงหน้าเพื่อให้แน่ใจว่าผู้ประสานงานไม่สามารถทำได้ นำเงินออกก่อนที่จะมีการลงโทษ จำนวน เงินที่โอนเป็นค่าเสียหายยังเป็นพารามิเตอร์แบบไดนามิก

โพลคาดอท: วิสัยทัศน์สำหรับกรอบการทำงานแบบหลายห่วงโซ่ที่แตกต่างกัน ร่างที่ 1 14 ที่จะสร้างแบบจำลอง แต่น่าจะเป็นสัดส่วนของรางวัลบล็อก validator เพื่อสะท้อนระดับความเศร้าโศกที่เกิดขึ้น ถึง ป้องกันไม่ให้ validators ที่เป็นอันตรายยึดเงินของผู้ร่วมสมทบโดยพลการ ผู้เรียกเก็บเงินอาจอุทธรณ์คำตัดสินของ validator โดยมีคณะลูกขุนของ validators ที่ได้รับการสุ่มเลือกเป็นการตอบแทน เพื่อวางเงินมัดจำเล็กน้อย หากพวกเขาพบว่าเข้าข้าง validator เงินฝากนั้นก็จะถูกใช้ไปโดยพวกเขา ถ้าไม่เช่นนั้น เงินฝากจะถูกส่งคืนและ validator ถูกปรับ (เนื่องจาก validator อยู่ในตำแหน่งโค้งมากกว่ามาก ความปรารถนาดี คงจะค่อนข้างหนัก) 6.6. อินเตอร์เชน การทำธุรกรรม การกำหนดเส้นทาง อินเตอร์เชน การกำหนดเส้นทางธุรกรรมเป็นหนึ่งในการบำรุงรักษาที่สำคัญ งานของรีเลย์เชนและ validators นี่คือ ตรรกะที่ควบคุมว่าธุรกรรมที่ผ่านรายการ (มักเรียกสั้น ๆ ว่า "โพสต์") ได้รับจากการเป็นผลลัพธ์ที่ต้องการอย่างไร จาก parachain ต้นทางหนึ่งไปสู่การเป็นอินพุตที่ไม่สามารถต่อรองได้ของ parachain ปลายทางอื่นโดยปราศจากความเชื่อถือ ข้อกำหนด เราเลือกถ้อยคำข้างต้นอย่างระมัดระวัง สะดุดตาเรา ไม่จำเป็นต้องมีการทำธุรกรรมในแหล่งที่มา parachain เพื่ออนุมัติโพสต์นี้อย่างชัดเจน เท่านั้น ข้อจำกัดที่เราวางไว้กับโมเดลของเราก็คือพาราเชน ต้องจัดให้มีบรรจุเป็นส่วนหนึ่งของบล็อกโดยรวม การประมวลผลเอาต์พุต โพสต์ซึ่งเป็นผลลัพธ์ของ การดำเนินการของบล็อก โพสต์เหล่านี้มีโครงสร้างเป็นคิว FIFO หลายรายการ ที่ จำนวนรายการเรียกว่าฐานเส้นทางและอาจเป็น ประมาณ 16 ปี โดยเฉพาะอย่างยิ่งตัวเลขนี้แสดงถึงปริมาณ ของพาราเชนที่เราสามารถรองรับได้โดยไม่ต้องหันไปพึ่ง การกำหนดเส้นทางแบบหลายเฟส เริ่มแรก Polkadot จะสนับสนุนสิ่งนี้ ประเภทของการกำหนดเส้นทางโดยตรง อย่างไรก็ตาม เราจะสรุปเส้นทางที่เป็นไปได้ กระบวนการกำหนดเส้นทางแบบหลายเฟส (“ไฮเปอร์-เราต์ติ้ง”) เป็นวิธีการ ของการขยายขนาดให้เกินชุดพาราเชนเริ่มต้น เรา ถือว่า นั่น ทั้งหมด ผู้เข้าร่วม รู้ ที่ การจัดกลุ่มย่อยสำหรับสองบล็อกถัดไป n, n + 1 โดยสรุปคือ ระบบกำหนดเส้นทางเป็นไปตามขั้นตอนเหล่านี้: • CollatorS: ติดต่อสมาชิกของ V alidators[n][S] • CollatorS: สำหรับแต่ละกลุ่มย่อย: ตรวจสอบที่ มีสมาชิก V alidators[n][s] อย่างน้อย 1 คนติดต่อกัน • ผู้เรียกเก็บเงิน: สำหรับแต่ละกลุ่มย่อย: ถือว่า egress[n −1][s][S] พร้อมใช้งาน (โพสต์ที่เข้ามาทั้งหมด ข้อมูลเป็น 'S' จากบล็อกที่แล้ว) • ผู้เรียกเก็บเงิน: เขียนผู้สมัครบล็อก b สำหรับ S: (b.header, b.ext, b.proof, b.receipt, b.egress) • ผู้เรียกเก็บเงิน: ส่ง หลักฐาน ข้อมูล หลักฐาน[S] = (b.header, b.ext, b.proof, b.receipt) ถึง V alidators[n][S] • CollatorS: ตรวจสอบข้อมูลธุรกรรมภายนอก b.ext มีให้สำหรับผู้ทำงานร่วมกันคนอื่นๆ และ validators • ผู้เรียกเก็บเงิน: สำหรับ แต่ละ กลุ่มย่อย ส: ส่ง ทางออก ข้อมูล ทางออก[n][S][s] = (b.header, b.receipt, b.egress[s]) ถึง ที่ การรับ กลุ่มย่อย สมาชิก ของ ถัดไป บล็อก ตัวแก้ไข V[n + 1][s] • V alidatorV : เชื่อมต่อสมาชิกชุดเดียวกันทั้งหมดล่วงหน้า สำหรับบล็อกถัดไป: ให้ N = Chain[n + 1][V ]; เชื่อมต่อ ทั้งหมด validators v โดยที่ Chain[n + 1][v] = N • V alidatorV : เปรียบเทียบข้อมูลขาเข้าทั้งหมดสำหรับสิ่งนี้ บล็อก: สำหรับ แต่ละ กลุ่มย่อย ส: ดึงข้อมูล egress[n −1][s][Chain[n][V ]] รับจาก validators v อื่นๆ โดยที่ Chain[n][v] = Chain[n][V ] อาจจะผ่านการสุ่มเลือก validators อื่นๆ เพื่อพิสูจน์ความพยายาม • V alidatorV : ยอมรับหลักฐานของผู้สมัครสำหรับสิ่งนี้ บล็อกหลักฐาน [เชน [n] [V ]] ความถูกต้องของการบล็อกการลงคะแนนเสียง • V alidatorV : ยอมรับข้อมูลทางออกของผู้สมัครสำหรับ บล็อกถัดไป: สำหรับแต่ละกลุ่มย่อย ให้ยอมรับ ทางออก[n][s][N] ความพร้อมใช้งานของบล็อกการลงคะแนนเสียง เผยแพร่ซ้ำในหมู่ผู้สนใจ validators v เช่นนั้น เชน[n + 1][v] = เชน[n + 1][V ] • V alidatorV : จนกว่าจะมีมติ โดยที่: egress[n][from][to] คือคิวทางออกปัจจุบัน ข้อมูลสำหรับการโพสต์จาก parachain 'จาก' ถึง parachain 'ถึง' ในหมายเลขบล็อก 'n' CollatorS คือ collator สำหรับ parachain S. V alidators[n][s] คือเซตของ validators สำหรับ parachain s ที่บล็อกหมายเลข n ในทางกลับกัน Chain[n][v] คือ parachain ซึ่ง validator v ถูกกำหนดให้กับบล็อกหมายเลข n block.egress[to] คือทางออก คิวของโพสต์จากบล็อกบล็อกพาราเชนบางบล็อกที่มี ปลายทางคือพาราเชน เนื่องจากผู้เรียกเก็บเงินเก็บค่าธรรมเนียม (ธุรกรรม) ตาม บล็อกของพวกเขากลายเป็นมาตรฐานที่พวกเขาได้รับแรงจูงใจให้ทำ ตรวจสอบให้แน่ใจว่าสำหรับปลายทางบล็อกถัดไปแต่ละกลุ่มย่อย สมาชิกทราบถึงคิวขาออกจากปัจจุบัน บล็อก Validators จะได้รับแรงจูงใจเพียงเพื่อสร้างฉันทามติเกี่ยวกับบล็อก (parachain) เท่านั้น เนื่องจากพวกเขาไม่สนใจเกี่ยวกับเรื่องนี้มากนัก บล็อกของผู้เปรียบเทียบรายใดกลายเป็น Canonical ในที่สุด ใน โดยหลักการแล้ว validator สามารถสร้างความจงรักภักดีกับผู้สมรู้ร่วมคิดและสมรู้ร่วมคิดเพื่อลดโอกาสของผู้สมรู้ร่วมคิดคนอื่น ๆ การบล็อกกลายเป็นที่ยอมรับ อย่างไรก็ตาม นี่ก็เป็นเรื่องที่ยากทั้งคู่ ที่จะจัดให้เนื่องจากการสุ่มเลือกส่วนของ validators สำหรับ parachains และสามารถป้องกันได้ด้วยการลดค่าธรรมเนียมที่ต้องจ่ายสำหรับบล็อก parachain ที่เก็บไว้ กระบวนการฉันทามติ 6.6.1. ความพร้อมใช้งานของข้อมูลภายนอก มั่นใจของพาราเชน ข้อมูลภายนอกที่มีอยู่จริงเป็นปัญหาที่ยืนต้นด้วย ระบบกระจายอำนาจที่มีจุดมุ่งหมายเพื่อกระจายภาระงานไปทั่ว เครือข่าย หัวใจสำคัญของปัญหาคือความพร้อม ปัญหาที่ระบุว่าเนื่องจากเป็นไปไม่ได้ สร้างหลักฐานความพร้อมแบบไม่โต้ตอบหรือทุกประเภท ของการพิสูจน์ความไม่พร้อมใช้งาน เพื่อให้ระบบ BFT ทำงานได้อย่างถูกต้อง ตรวจสอบการเปลี่ยนแปลงใด ๆ ที่มีความถูกต้องขึ้นอยู่กับ ความพร้อมใช้งานของข้อมูลภายนอกบางส่วนจำนวนสูงสุด ของโหนดไบแซนไทน์ที่ยอมรับได้ บวกหนึ่งโหนดของระบบ จะต้องยืนยันถึงข้อมูลที่มีอยู่ เพื่อให้ระบบขยายขนาดอย่างเหมาะสม เช่น Polkadot สิ่งนี้ เชิญชวนให้เกิดปัญหา: ถ้าสัดส่วนคงที่ของ validators จะต้องยืนยันถึงความมีอยู่ของข้อมูลและสมมติ ว่า validators ต้องการจัดเก็บข้อมูลจริงก่อนที่จะยืนยันว่าข้อมูลนั้นพร้อมใช้งาน แล้วเราจะหลีกเลี่ยงได้อย่างไร ปัญหาความต้องการแบนด์วิธ/พื้นที่เก็บข้อมูลที่เพิ่มขึ้นตามขนาดระบบ (และจำนวน validators) คำตอบหนึ่งที่เป็นไปได้คือต้องมีชุดแยกต่างหาก ของ validators (ผู้ค้ำประกันความพร้อมจำหน่าย) ซึ่งมีคำสั่งซื้อเพิ่มขึ้น ใต้เชิงเส้นด้วยขนาด Polkadot โดยรวม นี่คือ อธิบายไว้ใน 6.5.3 เราก็มีเคล็ดลับรองเช่นกัน ในฐานะกลุ่ม ผู้เปรียบเทียบมีแรงจูงใจที่แท้จริงเพื่อให้แน่ใจว่าข้อมูลทั้งหมดนั้นถูกต้อง มีให้สำหรับพาราเชนที่พวกเขาเลือกเนื่องจากไม่มีมัน ไม่สามารถเขียนบล็อกเพิ่มเติมจากที่สามารถทำได้ เก็บค่าธรรมเนียมการทำธุรกรรม ผู้รวบรวมยังจัดตั้งกลุ่มขึ้นมา ซึ่งสมาชิกมีความหลากหลาย (เนื่องจากลักษณะการสุ่มของ parachain validator กลุ่ม) ไม่สำคัญที่จะเข้าและง่าย

โพลคาดอท: วิสัยทัศน์สำหรับกรอบการทำงานแบบหลายห่วงโซ่ที่แตกต่างกัน ร่างที่ 1 15 เพื่อพิสูจน์ ผู้เปรียบเทียบล่าสุด (อาจเป็นสองสามพันบล็อกสุดท้าย) จึงได้รับอนุญาตให้ออกข้อท้าทายได้ ความพร้อมใช้งานของข้อมูลภายนอกสำหรับพาราเชนเฉพาะ บล็อกไปที่ validators เพื่อความสัมพันธ์เล็กๆ น้อยๆ ผู้ตรวจสอบจะต้องติดต่อผู้ที่มาจากกลุ่มย่อย validator ที่เห็นได้ชัดว่าละเมิด ซึ่งเป็นผู้ให้การเป็นพยานและรับและส่งคืนข้อมูลไปยังผู้เปรียบเทียบหรือยกระดับ สำคัญโดยการให้การเป็นพยานถึงการขาดความพร้อมใช้งาน (การปฏิเสธโดยตรงที่จะให้ข้อมูลถือเป็นความผิดในการผูกมัด ดังนั้นพฤติกรรมที่ไม่เหมาะสม validator มีแนวโน้มเพียง ยกเลิกการเชื่อมต่อ) และติดต่อ validators เพิ่มเติม เพื่อทำการทดสอบเดียวกัน ในกรณีหลังคือพันธบัตรของผู้ค้ำประกัน จะถูกส่งกลับ เมื่อถึงโควรัมของ validators ที่สามารถสร้างคำรับรองที่ไม่พร้อมใช้งานดังกล่าวได้ครบแล้ว พวกเขาก็จะได้รับการเผยแพร่ กลุ่มย่อยที่ประพฤติตัวไม่เหมาะสมจะถูกลงโทษ และบล็อกจะถูกเปลี่ยนกลับ 6.6.2. การกำหนดเส้นทางโพสต์ ส่วนหัวของ Parachain แต่ละอันประกอบด้วย ทางออก-ไตร-รูท; นี่คือรากของไตรที่มี bins ฐานเส้นทาง แต่ละ bin เป็นรายการที่ต่อกัน ของโพสต์ทางออก อาจมีการเตรียมหลักฐาน Merkle ไว้ทั่ว parachain validators เพื่อพิสูจน์ว่า parachain โดยเฉพาะ block มีคิวทางออกเฉพาะสำหรับ parachain ปลายทางเฉพาะ ที่จุดเริ่มต้นของการประมวลผลบล็อกพาราเชนแต่ละอัน คิวทางออกของ parachain อื่นที่ถูกผูกไว้กับบล็อกดังกล่าวคือ รวมเข้ากับคิวทางเข้าของบล็อกของเรา เราถือว่าแข็งแกร่ง อาจเป็น CSPR9 ซึ่งเป็นคำสั่งย่อยเพื่อให้บรรลุการดำเนินการตามที่กำหนดซึ่งไม่มีการเล่นพรรคเล่นพวกระหว่างกัน การจับคู่บล็อกพาราเชน ผู้รวบรวมคำนวณคิวใหม่ และระบายคิวทางออกตามพาราเชน ตรรกะ เนื้อหาของคิวทางเข้าถูกเขียนอย่างชัดเจน เข้าไปในบล็อกพาราเชน สิ่งนี้มีจุดประสงค์หลักสองประการ: ประการแรก หมายความว่าพาราเชนสามารถซิงโครไนซ์ได้อย่างน่าเชื่อถือโดยแยกออกจากพาราเชนอื่นๆ ประการที่สอง มันทำให้การขนส่งข้อมูลง่ายขึ้นหากทางเข้าทั้งหมด คิวไม่สามารถประมวลผลได้ในบล็อกเดียว validators และผู้ทำงานร่วมกันสามารถประมวลผลบล็อกต่อไปนี้ได้ โดยไม่ต้องสืบค้นข้อมูลคิวเป็นพิเศษ หากคิวทางเข้าของ Parachain อยู่เหนือเกณฑ์ จำนวนเงินเมื่อสิ้นสุดการประมวลผลบล็อก จากนั้นจะมีการทำเครื่องหมายไว้ อิ่มตัวบนรีเลย์เชนและไม่สามารถส่งข้อความเพิ่มเติมได้ จัดส่งไปให้จนกว่าจะเคลียร์ได้ หลักฐานจาก Merkle คือ ใช้เพื่อแสดงให้เห็นถึงความเที่ยงตรงในการปฏิบัติงานของผู้ประสานงานใน หลักฐานของบล็อกพาราเชน 6.6.3. วิจารณ์. ข้อบกพร่องเล็กๆ น้อยๆ ประการหนึ่งที่เกี่ยวข้องกับพื้นฐานนี้ กลไกคือการโจมตีหลังระเบิด นี่คือที่ทั้งหมด parachains ส่งจำนวนโพสต์สูงสุดที่เป็นไปได้ ไปยังพาราเชนโดยเฉพาะ ขณะนี้สิ่งนี้เชื่อมโยงเป้าหมายไว้ เข้าคิวพร้อมกัน ไม่มีความเสียหายเกิดขึ้นซ้ำแล้วซ้ำอีก การโจมตี DoS ธุรกรรมมาตรฐาน ใช้งานได้ปกติพร้อมชุดซิงโครไนซ์อย่างดีและ ผู้เปรียบเทียบที่ไม่เป็นอันตรายและ validators สำหรับ N parachains เรารวม N × M validators และ L collators ต่อพาราเชน สามารถแบ่งเส้นทางข้อมูลทั้งหมดต่อบล็อกเป็น: เครื่องมือตรวจสอบความถูกต้อง: M −1+L+L: M −1 สำหรับอีก validators ในชุดพาราเชน L สำหรับแต่ละคอลเลเตอร์จะมีบล็อกพาราเชนให้เลือก และ L ตัวที่สองสำหรับแต่ละคอลเลเตอร์ ของบล็อกถัดไปที่ต้องการเพย์โหลดทางออกของบล็อกก่อนหน้า (อันหลังนี้เป็นเหมือนกรณีที่เลวร้ายที่สุดมากกว่า การดำเนินการเนื่องจากมีแนวโน้มว่าผู้เรียกเก็บเงินจะแบ่งปันข้อมูลดังกล่าว ข้อมูล) Collator: M +kN: M สำหรับการเชื่อมต่อไปยังแต่ละที่เกี่ยวข้อง บล็อก parachain validator, kN สำหรับการเพาะ payloads ทางออกไปยังชุดย่อยบางส่วนของ parachain แต่ละกลุ่ม validator กลุ่มสำหรับ บล็อกถัดไป (และอาจมีผู้เปรียบเทียบบางคนที่ชื่นชอบ) ดังนั้นเส้นทางข้อมูลต่อโหนดจึงเติบโตเป็นเส้นตรง ด้วยความซับซ้อนโดยรวมของระบบ ขณะนี้เป็น สมเหตุสมผล เนื่องจากระบบขยายเป็น parachains นับร้อยหรือหลายพัน ความล่าช้าในการสื่อสารบางอย่างอาจมีอยู่ ดูดซึมเพื่อแลกกับอัตราการเติบโตของความซับซ้อนที่ลดลง ในกรณีนี้ อาจใช้อัลกอริธึมการกำหนดเส้นทางแบบหลายเฟส เพื่อลดจำนวนเส้นทางทันที โดยเสียค่าใช้จ่ายในการแนะนำบัฟเฟอร์การจัดเก็บข้อมูลและเวลาแฝง 6.6.4. การกำหนดเส้นทางไฮเปอร์คิวบ์ การกำหนดเส้นทางไฮเปอร์คิวบ์เป็นกลไกที่ส่วนใหญ่สามารถสร้างเป็นส่วนขยายของ กลไกการกำหนดเส้นทางพื้นฐานที่อธิบายไว้ข้างต้น โดยพื้นฐานแล้ว แทนที่จะเพิ่มการเชื่อมต่อโหนดด้วยจำนวนพาราเชนและโหนดกลุ่มย่อย เราจะเติบโตด้วยเท่านั้น ลอการิทึมของพาราเชน กระทู้อาจมีการส่งต่อระหว่าง การต่อคิวของพาราเชนหลายตัวระหว่างทางเพื่อส่งมอบขั้นสุดท้าย การกำหนดเส้นทางนั้นถูกกำหนดไว้และเรียบง่าย เราเริ่มต้นด้วย การจำกัดจำนวนถังขยะในคิวเข้า/ออก แทนที่จะเป็นจำนวนพาราเชนทั้งหมด เป็นฐานเส้นทาง (b) . โดยจะกำหนดเป็นตัวเลข ของการเปลี่ยนแปลง parachains โดยที่เลขชี้กำลังการกำหนดเส้นทาง (e) จะถูกยกขึ้นแทน ภายใต้โมเดลนี้ ปริมาณข้อความของเรา เติบโตไปพร้อมกับ O(be) โดยวิถีทางยังคงไม่เปลี่ยนแปลง และเวลาแฝง (หรือจำนวนบล็อกที่จำเป็นสำหรับการจัดส่ง) ด้วย O(อี) โมเดลการกำหนดเส้นทางของเราคือไฮเปอร์คิวบ์ของมิติ e โดยแต่ละด้านของลูกบาศก์มีตำแหน่งที่เป็นไปได้ b แต่ละบล็อก เรากำหนดเส้นทางข้อความตามแกนเดียว เรา สลับแกนในลักษณะวนรอบ จึงรับประกันเวลาการส่งมอบในกรณีที่เลวร้ายที่สุดของบล็อก e เป็นส่วนหนึ่งของการประมวลผลพาราเชนที่ถูกผูกไว้จากต่างประเทศ ข้อความที่พบในคิวขาเข้าจะถูกส่งไปยังถังขยะของคิวขาออกที่เหมาะสมทันที โดยกำหนดให้ หมายเลขบล็อกปัจจุบัน (และมิติการกำหนดเส้นทาง) นี้ กระบวนการจำเป็นต้องมีการถ่ายโอนข้อมูลเพิ่มเติมสำหรับการกระโดดแต่ละครั้ง บนเส้นทางการจัดส่ง อย่างไรก็ตาม นี่เป็นปัญหาในตัวมันเอง ซึ่งอาจบรรเทาลงได้โดยใช้วิธีอื่น ของการจัดส่งเพย์โหลดข้อมูลและรวมถึงการอ้างอิงเท่านั้น แทนที่จะเป็นเพย์โหลดเต็มของโพสต์ในโพสต์ทรี ตัวอย่างของการกำหนดเส้นทางไฮเปอร์คิวบ์สำหรับระบบ ด้วย 4 parachains 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) อย่างอื่นเก็บไว้ มิติทั้งสองนี้มองเห็นได้ง่ายเป็นอันดับแรก ดัชนีปลายทางสองบิต สำหรับบล็อกแรกนั้น ใช้บิตลำดับที่สูงกว่าเพียงอย่างเดียว ข้อเสนอบล็อกที่สอง ด้วยบิตลำดับต่ำ เมื่อทั้งสองเกิดขึ้น (โดยพลการ สั่งซื้อ) จากนั้นโพสต์จะถูกส่งไป 9 การสุ่มหลอกที่ปลอดภัยด้วยการเข้ารหัส

โพลคาดอท: วิสัยทัศน์สำหรับกรอบการทำงานแบบหลายห่วงโซ่ที่แตกต่างกัน ร่างที่ 1 16 6.6.5. เพิ่ม Serendipity ให้สูงสุด การเปลี่ยนแปลงขั้นพื้นฐานอย่างหนึ่ง ข้อเสนอจะเห็นจำนวนรวมคงที่ของ c2 −c validators ด้วย c−1 validators ในแต่ละกลุ่มย่อย แต่ละบล็อกมากกว่า มีการแบ่งพาร์ติชันใหม่แบบไม่มีโครงสร้างของ validators ในหมู่พาราเชน แทนที่จะเป็นกลุ่มย่อยพาราเชนแต่ละกลุ่ม validator แต่ละรายการจะได้รับการกำหนดให้มีเอกลักษณ์และแตกต่าง กลุ่มย่อย parachain ในบล็อกต่อไปนี้ นี้จะ นำไปสู่ค่าคงที่ระหว่างสองช่วงตึกใดๆ สำหรับค่าใดๆ ก็ตาม Parachain สองคู่ มี validators สองอันอยู่ ได้สลับความรับผิดชอบของ Parachain แม้ว่าสิ่งนี้จะไม่สามารถใช้เพื่อรับประกันความพร้อมใช้งานได้อย่างสมบูรณ์ (validator ตัวเดียวจะดรอป ofine เป็นครั้งคราว แม้ว่า เมตตากรุณา) แต่ก็สามารถเพิ่มประสิทธิภาพกรณีทั่วไปได้ แนวทางนี้ไม่ได้ปราศจากภาวะแทรกซ้อน การเพิ่มพาราเชนก็จำเป็นต้องมีการปรับโครงสร้างองค์กรใหม่ด้วย ของชุด validator นอกจากนี้จำนวนของ validators ซึ่งเชื่อมโยงกับกำลังสองของจำนวน parachains เริ่มจากเล็กๆ น้อยๆ และเติบโตไปไกลในที่สุด เร็วเกินไป จนไม่สามารถป้องกันได้หลังจากใช้พาราเชนไปประมาณ 50 อัน สิ่งเหล่านี้ไม่ใช่ปัญหาพื้นฐาน ในกรณีแรก การจัดระเบียบชุด validator ใหม่เป็นสิ่งที่ต้องมี ทำเป็นประจำอยู่แล้ว เกี่ยวกับขนาดของ validator ตั้งค่า เมื่อเล็กเกินไป อาจกำหนด validator หลายรายการได้ ไปยังพาราเชนเดียวกัน โดยใช้ตัวประกอบจำนวนเต็มกับ รวมทั้งหมด validators กลไกการกำหนดเส้นทางแบบหลายเฟส เช่น Hypercube Routing ที่จะกล่าวถึงใน 6.6.4 บรรเทาความต้องการสำหรับ validators จำนวนมาก เมื่อมีโซ่จำนวนมาก 6.7. การตรวจสอบ Parachain วัตถุประสงค์หลักของ validator คือการเป็นพยานในฐานะนักแสดงที่มีความผูกพันกันเป็นอย่างดีว่าเป็นนักพาราเชน การบล็อกนั้นถูกต้อง รวมถึงแต่ไม่จำกัดเพียงการเปลี่ยนแปลงสถานะ ธุรกรรมภายนอกใดๆ ที่รวมอยู่ด้วย การดำเนินการของ โพสต์ที่รออยู่ในคิวทางเข้าและสถานะสุดท้าย ของคิวขาออก กระบวนการนี้ค่อนข้างง่าย เมื่อ validator ปิดผนึกบล็อกก่อนหน้า พวกเขาจะเป็นอิสระ เพื่อเริ่มทำงานเพื่อจัดหาบล็อกพาราเชนที่เหมาะสม ผู้สมัครรับฉันทามติรอบต่อไป เริ่มแรก validator ค้นหาตัวเลือกบล็อกพาราเชนผ่านตัวเชื่อมโยงพาราเชน (อธิบายต่อไป) หรือหนึ่งรายการ ของ co-validators ของมัน ข้อมูลผู้สมัครบล็อกพาราเชน รวมถึงส่วนหัวของบล็อก ส่วนหัวของบล็อกก่อนหน้า ข้อมูลอินพุตภายนอกใดๆ ที่รวมอยู่ (สำหรับ Ethereum และ Bitcoin ข้อมูลดังกล่าวจะเรียกว่าธุรกรรม อย่างไรก็ตาม โดยหลักการแล้วอาจรวมถึงโครงสร้างข้อมูลที่กำหนดเองเพื่อวัตถุประสงค์ที่กำหนดเอง) ข้อมูลคิวขาออก และข้อมูลภายในเพื่อพิสูจน์ความถูกต้องของการเปลี่ยนแปลงสถานะ (สำหรับ Ethereum นี่จะเป็นโหนด Trie สถานะ/หน่วยเก็บข้อมูลต่างๆ ที่จำเป็นในการดำเนินการแต่ละธุรกรรม) หลักฐานการทดลองแสดงชุดข้อมูลแบบเต็มสำหรับบล็อก Ethereum ล่าสุด สูงสุดไม่กี่ร้อย KiB พร้อมกันหากยังไม่ได้ดำเนินการ validator จะเป็น พยายามดึงข้อมูลที่เกี่ยวข้องกับการเปลี่ยนแปลงของบล็อกก่อนหน้า โดยเริ่มจากบล็อกก่อนหน้า validators และหลังจากนั้นจากการลงนามของ validators ทั้งหมด ความพร้อมใช้งานของข้อมูล เมื่อ validator ได้รับการบล็อกผู้สมัครดังกล่าวแล้ว จากนั้นพวกเขาจะตรวจสอบภายในเครื่อง กระบวนการตรวจสอบความถูกต้องมีอยู่ภายในโมดูล validator ของคลาส parachain ก โมดูลซอฟต์แวร์ที่มีความละเอียดอ่อนที่ต้องเขียน สำหรับการดำเนินการใด ๆ ของ Polkadot (แม้ว่าโดยหลักการแล้ว ไลบรารีที่มี C ABI สามารถเปิดใช้งานไลบรารีเดียวได้ ร่วมกันระหว่างการนำไปปฏิบัติด้วยความเหมาะสม ความปลอดภัยที่ลดลงจากการมีการดำเนินการ "อ้างอิง" เพียงรายการเดียว) กระบวนการนี้ใช้ส่วนหัวของบล็อกก่อนหน้าและยืนยันตัวตนผ่านรีเลย์เชนที่ตกลงกันเมื่อเร็ว ๆ นี้ บล็อกที่ควรบันทึก hash เมื่อตรวจสอบความถูกต้องของส่วนหัวพาเรนต์แล้ว Parachain ที่เฉพาะเจาะจง ฟังก์ชันการตรวจสอบความถูกต้องของคลาสอาจถูกเรียก นี่เป็นฟังก์ชันเดียวที่ยอมรับช่องข้อมูลจำนวนหนึ่ง (ประมาณ ที่ให้ไว้ก่อนหน้านี้) และส่งคืนบูลีนแบบง่าย ประกาศความถูกต้องของบล็อก ฟังก์ชั่นการตรวจสอบความถูกต้องส่วนใหญ่จะตรวจสอบก่อน ฟิลด์ส่วนหัวซึ่งสามารถได้รับโดยตรงจาก บล็อกหลัก (เช่น parent hash, number) กำลังติดตาม สิ่งนี้จะเติมโครงสร้างข้อมูลภายในใด ๆ เช่น จำเป็นในการประมวลผลธุรกรรมและ/หรือโพสต์ สำหรับห่วงโซ่ที่มีลักษณะคล้าย Ethereum จำนวนนี้คือการเติม a ลองใช้ฐานข้อมูลพร้อมโหนดที่จำเป็นสำหรับ การทำธุรกรรมเต็มรูปแบบ โซ่ประเภทอื่นอาจมี หน้าอื่น ๆกลไกการชดใช้ เมื่อเสร็จแล้ว โพสต์ทางเข้าและธุรกรรมภายนอก (หรืออะไรก็ตามที่เป็นตัวแทนข้อมูลภายนอก) จะเป็นเช่นนั้น ตราขึ้นและสมดุลตามข้อกำหนดของโซ่ (ก ค่าเริ่มต้นที่สมเหตุสมผลอาจต้องกำหนดให้มีการโพสต์ทางเข้าทั้งหมด ประมวลผลก่อนที่จะให้บริการธุรกรรมภายนอก อย่างไรก็ตาม สิ่งนี้ควรเป็นไปตามตรรกะของ Parachain ในการตัดสินใจ) ด้วยการตรากฎหมายนี้ จะมีชุดโพสต์ทางออก สร้างขึ้นและจะได้รับการยืนยันว่าสิ่งเหล่านี้ตรงกันจริงๆ ผู้สมัครของผู้สมรู้ร่วมคิด ในที่สุดก็มีประชากรอย่างเหมาะสม ส่วนหัวจะถูกตรวจสอบกับส่วนหัวของผู้สมัคร ด้วยบล็อกผู้สมัครที่ได้รับการตรวจสอบความถูกต้องครบถ้วน validator จากนั้นสามารถลงคะแนนให้ hash ของส่วนหัวและส่งข้อมูลการตรวจสอบที่จำเป็นทั้งหมดไปยัง co-validators ในกลุ่มย่อย 6.7.1. เครื่องสะสมพาราเชน Parachain collators คือผู้ปฏิบัติงานที่ไม่มีพันธะผูกพัน ซึ่งทำหน้าที่ส่วนใหญ่ของนักขุด บนเครือข่าย blockchain ในปัจจุบัน พวกมันมีความเฉพาะเจาะจง ไปยังพาราเชนโดยเฉพาะ เพื่อที่จะดำเนินการพวกเขาจะต้อง รักษาทั้งรีเลย์-เชนและซิงโครไนซ์อย่างเต็มที่ พาราเชน ความหมายที่ชัดเจนของ "การซิงโครไนซ์อย่างเต็มที่" จะขึ้นอยู่กับคลาสของ parachain แม้ว่าจะรวมถึงสถานะปัจจุบันของคิวทางเข้าของ parachain ก็ตาม ในกรณีของ Ethereum อย่างน้อยก็เกี่ยวข้องกับการบำรุงรักษาด้วย ฐานข้อมูล Merkle-tree ของสองสามช่วงตึกสุดท้าย แต่อาจ รวมถึงโครงสร้างข้อมูลอื่นๆ มากมาย รวมถึง Bloom ตัวกรองสำหรับการมีอยู่ของบัญชี ข้อมูลครอบครัว การบันทึก เอาต์พุตและตารางการค้นหาแบบย้อนกลับสำหรับหมายเลขบล็อก นอกจากจะทำให้โซ่ทั้งสองประสานกันแล้ว ต้อง "จับปลา" สำหรับธุรกรรมด้วยการรักษาคิวธุรกรรมและยอมรับธุรกรรมที่ได้รับการตรวจสอบอย่างถูกต้อง จากเครือข่ายสาธารณะ ด้วยคิวและห่วงโซ่มันคือ สามารถสร้างบล็อกผู้สมัครใหม่สำหรับ validators ที่เลือกในแต่ละบล็อก (ซึ่งทราบข้อมูลประจำตัวเนื่องจากรีเลย์เชนซิงโครไนซ์) และส่งบล็อกเหล่านั้นพร้อมกับ ข้อมูลเสริมต่างๆ เช่น หลักฐานความถูกต้อง ผ่านทาง เครือข่ายเพียร์ สำหรับปัญหาดังกล่าว ระบบจะเก็บค่าธรรมเนียมทั้งหมดที่เกี่ยวข้องกับธุรกรรมที่รวมไว้ เศรษฐศาสตร์ต่างๆ หมุนเวียนไปรอบ ๆ นี้ การจัดการ ในตลาดที่มีการแข่งขันสูงนั่นเอง เป็นส่วนเกินของผู้ค้ำประกันก็เป็นไปได้ว่าการทำธุรกรรม จะมีการแชร์ค่าธรรมเนียมกับ parachain validators เพื่อสร้างแรงจูงใจ การรวมบล็อกของผู้ประสานงานโดยเฉพาะ ในทำนองเดียวกัน

โพลคาดอท: วิสัยทัศน์สำหรับกรอบการทำงานแบบหลายห่วงโซ่ที่แตกต่างกัน ร่างที่ 1 17 ผู้เรียกเก็บเงินบางรายอาจเพิ่มค่าธรรมเนียมที่จำเป็นด้วยซ้ำ จะต้องชำระเพื่อทำให้บล็อกน่าสนใจยิ่งขึ้น validatorส. ในกรณีนี้ ตลาดธรรมชาติควรก่อตัวขึ้น ด้วยการทำธุรกรรมที่จ่ายค่าธรรมเนียมสูงกว่าการข้ามคิว และรวมเข้าเป็นลูกโซ่ได้เร็วขึ้น 6.8. เครือข่าย. การสร้างเครือข่ายบน blockchains แบบดั้งเดิม เช่น Ethereum และ Bitcoin มีข้อกำหนดที่ค่อนข้างง่าย ธุรกรรมและบล็อกทั้งหมดถูกถ่ายทอดในรูปแบบซุบซิบที่ไม่มีทิศทาง การซิงโครไนซ์มีส่วนเกี่ยวข้องมากกว่าโดยเฉพาะ ด้วย Ethereum แต่ในความเป็นจริงแล้วตรรกะนี้มีอยู่ใน กลยุทธ์เพียร์มากกว่าโปรโตคอลเองซึ่งแก้ไขได้กับข้อความคำขอและคำตอบบางประเภท ในขณะที่ Ethereum มีความคืบหน้าในการนำเสนอโปรโตคอลปัจจุบันด้วยโปรโตคอล devp2p ซึ่งอนุญาตสำหรับหลาย ๆ คน โปรโตคอลย่อยที่จะมัลติเพล็กซ์ผ่านการเชื่อมต่อแบบเพียร์เดียว จึงมีเพียร์โอเวอร์เลย์เดียวกันที่รองรับหลาย ๆ ตัว โปรโตคอล p2p พร้อมกัน ส่วน Ethereum ของ โปรโตคอลยังคงค่อนข้างง่ายและ p2p โปรโตคอลในขณะที่ยังไม่เสร็จสิ้นกับความสำคัญ ฟังก์ชันการทำงานที่ขาดหายไป เช่น การสนับสนุน QoS น่าเศร้าที่ความปรารถนาที่จะสร้างโปรโตคอล “web 3” ที่แพร่หลายมากขึ้นเป็นส่วนใหญ่ ล้มเหลว โดยมีเพียงโครงการเดียวที่ใช้โครงการนี้อย่างชัดเจน ได้รับทุนจากการขายฝูงชน Ethereum ข้อกำหนดสำหรับ Polkadot ค่อนข้างสำคัญกว่า แทนที่จะเป็นเครือข่ายที่เหมือนกันทั้งหมด Polkadot มีผู้เข้าร่วมหลายประเภท โดยแต่ละประเภทมีข้อกำหนดที่แตกต่างกันตามรูปแบบเพื่อนและเครือข่ายที่หลากหลาย “ช่องทาง” ที่ผู้เข้าร่วมมักจะพูดคุยถึง ข้อมูลเฉพาะ นี่หมายถึงการซ้อนทับเครือข่ายที่มีโครงสร้างมากขึ้นอย่างมาก—และโปรโตคอลที่รองรับ— คงจะจำเป็น นอกจากนี้ ความสามารถในการขยายเพื่อรองรับการเพิ่มในอนาคต เช่น "ลูกโซ่" รูปแบบใหม่อาจเกิดขึ้น เองจำเป็นต้องมีโครงสร้างการซ้อนทับแบบใหม่ ขณะที่การอภิปรายเชิงลึกเกี่ยวกับวิธีการสร้างเครือข่าย โปรโตคอลอาจดูอยู่นอกขอบเขตของเอกสารนี้ การวิเคราะห์ข้อกำหนดบางอย่างมีความสมเหตุสมผล เราทำได้ โดยคร่าวๆ แบ่งผู้เข้าร่วมเครือข่ายของเราออกเป็นสองชุด (รีเลย์-เชน, พาราเชน) แต่ละชุดย่อยทั้งสามชุด เราทำได้ ยังระบุด้วยว่าผู้เข้าร่วมพาราเชนแต่ละคนเป็นเพียงเท่านั้น สนใจที่จะพูดคุยระหว่างกันเองแทนที่จะเป็นฝ่ายตรงข้าม ผู้เข้าร่วมใน parachachas อื่น: • ผู้เข้าร่วมรีเลย์เชน: • ผู้ตรวจสอบความถูกต้อง: P แบ่งออกเป็นเซตย่อย P[s] สำหรับแต่ละเซต พาราเชน • ผู้รับประกันความพร้อมใช้งาน: A (ซึ่งอาจแสดงโดยผู้ตรวจสอบความถูกต้องในรูปแบบพื้นฐานของโปรโตคอล) • ไคลเอนต์รีเลย์เชน: M (หมายเหตุ สมาชิกแต่ละคน. ชุดพาราเชนก็มีแนวโน้มที่จะเป็นสมาชิกของ M ด้วย) • ผู้เข้าร่วมพาราเชน: • ตัวประสานพาราเชน: C[0], C[1], . . . • ชาวประมงพาราเชน: F[0], F[1], . . • ไคลเอนต์ Parachain: S[0], S[1], . . . • Parachain light-client: L[0], L[1], . . . โดยทั่วไปเราจะตั้งชื่อคลาสของการสื่อสารโดยเฉพาะ มักจะเกิดขึ้นระหว่างสมาชิกของชุดเหล่านี้: • พี | ก <-> ป | ตอบ: ที่ เต็ม ชุด ของ validators/ผู้ค้ำประกัน ต้อง เป็น เชื่อมต่อกันดี ถึง บรรลุฉันทามติ • P[s] <-> C[s] | P[s]: validator แต่ละคนในฐานะสมาชิกของกลุ่ม parachain ที่กำหนดจะมีแนวโน้มที่จะนินทา กับสมาชิกคนอื่นๆ และผู้ร่วมงานด้วย ของพาราเชนนั้นเพื่อค้นหาและแบ่งปันตัวเลือกบล็อก • A <-> P[s] | ซี | ตอบ: ผู้รับประกันความพร้อมในการให้บริการแต่ละราย จะต้องรวบรวม cross-chain ที่ไวต่อฉันทามติ ข้อมูลจาก validators ที่ได้รับมอบหมาย; ผู้ประสานงาน อาจเพิ่มโอกาสในการได้รับฉันทามติด้วย บล็อกโดยการโฆษณากับผู้รับประกันความพร้อม เมื่อได้รับแล้วข้อมูลจะถูกจ่ายไป ผู้ค้ำประกันรายอื่นเพื่ออำนวยความสะดวกในการตกลงกัน • P[s] <-> A | P[s']: Parachain validators จะ จำเป็นต้องรวบรวมข้อมูลอินพุตเพิ่มเติมจากชุดก่อนหน้าของ validators หรือผู้รับประกันความพร้อมใช้งาน • F[s] <-> P: เมื่อรายงาน ชาวประมงอาจส่ง การเรียกร้องกับผู้เข้าร่วมคนใด ๆ • ม <-> ม | ป | ตอบ: ไคลเอนต์รีเลย์เชนทั่วไปจะจ่ายข้อมูลจาก validators และผู้ค้ำประกัน • ส[s] <-> ส[s] | ป[s] | ตอบ: ไคลเอนต์ Parachain กระจายข้อมูลจาก validator/guarantors • L[s] <-> L[s] | S[s]: ไคลเอนต์ Parachain light เบิกจ่ายข้อมูลจากลูกค้าเต็มจำนวน เพื่อให้มั่นใจว่ากลไกการขนส่งมีประสิทธิภาพ “แฟลต” เครือข่ายซ้อนทับ - เช่น devp2p ของ Ethereum โดยที่แต่ละอัน โหนดไม่ (โดยพลการ) ไม่แยกแยะความเหมาะสมของมัน เพื่อนร่วมงานไม่น่าจะเหมาะสม ขยายออกได้พอสมควร กลไกการคัดเลือกและการค้นพบเพื่อนน่าจะจำเป็น ให้รวมอยู่ในระเบียบการและเชิงรุกด้วย การวางแผนมองล่วงหน้าเพื่อให้แน่ใจว่ามีเพื่อนที่เหมาะสม เป็นคอนเน็ก "โดยบังเอิญ"ในเวลาที่เหมาะสม กลยุทธ์ที่ชัดเจนในการคัดเลือกผู้ร่วมงานจะแตกต่างกันสำหรับผู้เข้าร่วมแต่ละชั้นเรียน: เพื่อการปรับขนาดที่เหมาะสม multi-chain ผู้ทำงานร่วมกันจะต้องดำเนินการอย่างต่อเนื่อง เชื่อมต่อกับ validators ที่ได้รับการเลือกตั้งตามนั้นหรือจะ ต้องการข้อตกลงที่กำลังดำเนินการกับชุดย่อยของ validators เพื่อให้แน่ใจว่าจะไม่ถูกตัดการเชื่อมต่อในช่วงเวลาส่วนใหญ่ที่ไม่มีประโยชน์สำหรับ validator นั้น ผู้รวบรวมจะพยายามรักษาไว้โดยธรรมชาติ หรือการเชื่อมต่อที่เสถียรยิ่งขึ้นไปยังผู้รับประกันความพร้อมใช้งาน กำหนดไว้เพื่อให้แน่ใจว่ามีการเผยแพร่อย่างรวดเร็วของความเห็นพ้องต้องกัน ข้อมูล ผู้รับประกันความพร้อมส่วนใหญ่จะมุ่งเป้าไปที่การรักษา การเชื่อมต่อที่เสถียรระหว่างกันและกับ validators (สำหรับข้อมูลที่เป็นเอกฉันท์และข้อมูล Parachain ที่มีความสำคัญเป็นเอกฉันท์ซึ่ง พวกเขายืนยัน) เช่นเดียวกับผู้เปรียบเทียบบางคน (สำหรับ parachain ข้อมูล) และชาวประมงและลูกค้าบางส่วน (สำหรับการกระจายตัว ข้อมูล) ผู้ตรวจสอบความถูกต้องมักจะมองหา validators อื่นๆ โดยเฉพาะที่อยู่ในกลุ่มย่อยเดียวกันและ ผู้ประสานงานที่สามารถจัดหาตัวเลือกบล็อกพาราเชนให้พวกเขาได้ ชาวประมงตลอดจนรีเลย์โซ่และพาราเชนทั่วไป โดยทั่วไปลูกค้าจะมุ่งหวังที่จะรักษาการเชื่อมต่อที่เปิดไว้กับ validator หรือผู้ค้ำประกัน แต่มีโหนดอื่นๆ ที่คล้ายกันอีกมากมาย แก่ตนเองเป็นอย่างอื่น Parachain light client มีเป้าหมายที่จะเชื่อมต่อกับไคลเอนต์แบบเต็มของ parachain ในทำนองเดียวกัน หากไม่ใช่เพียงไคลเอ็นต์ light-client ของ parachain อื่นๆ 6.8.1. ปัญหาของเพื่อนปั่น. ในข้อเสนอโปรโตคอลพื้นฐาน แต่ละชุดย่อยเหล่านี้เปลี่ยนแปลงแบบสุ่มอย่างต่อเนื่องกับแต่ละบล็อกตามที่ validators มอบหมายให้ตรวจสอบ การเปลี่ยนพาราเชนจะถูกสุ่มเลือก นี้สามารถ เป็นปัญหาที่ควรต้องมีโหนดที่แตกต่างกัน (ไม่ใช่เพียร์) ส่งข้อมูลระหว่างกัน ก็ต้องพึ่งเช่นกัน เครือข่ายเพียร์ที่มีการกระจายอย่างเป็นธรรมและเชื่อมต่ออย่างดี

โพลคาดอท: วิสัยทัศน์สำหรับกรอบการทำงานแบบหลายห่วงโซ่ที่แตกต่างกัน ร่างที่ 1 18 ตรวจสอบให้แน่ใจว่าระยะทางกระโดด (และความล่าช้าที่เลวร้ายที่สุด) จะเพิ่มขึ้นตามลอการิทึมของขนาดเครือข่ายเท่านั้น (โปรโตคอลที่คล้ายกับ Kademlia [13] อาจช่วยได้ที่นี่) หรือต้องทำอย่างใดอย่างหนึ่ง แนะนำเวลาบล็อกที่นานขึ้นเพื่อให้การเจรจาการเชื่อมต่อที่จำเป็นเกิดขึ้นเพื่อรักษาเพียร์เซ็ตไว้ สะท้อนถึงความต้องการการสื่อสารในปัจจุบันของโหนด ทั้งสองวิธีไม่ใช่วิธีแก้ปัญหาที่ดี: ใช้เวลาบล็อกนาน การถูกบังคับบนเครือข่ายอาจทำให้ไร้ประโยชน์ได้ การใช้งานและโซ่โดยเฉพาะ แม้กระทั่งงานที่สมบูรณ์แบบ และเครือข่ายที่เชื่อมต่อจะส่งผลให้เกิดการสิ้นเปลืองอย่างมาก ของแบนด์วิธเมื่อขยายขนาดเนื่องจากมีโหนดที่ไม่สนใจ เพื่อส่งต่อข้อมูลไปอย่างไร้ประโยชน์ให้กับพวกเขา แม้ว่าทั้งสองทิศทางอาจเป็นส่วนหนึ่งของสารละลาย การเพิ่มประสิทธิภาพที่เหมาะสมเพื่อช่วยลดเวลาแฝงให้เหลือน้อยที่สุด คือการจำกัดความผันผวนของ parachain เหล่านี้ validator ชุด หรือกำหนดความเป็นสมาชิกใหม่เฉพาะระหว่างชุดของบล็อก (เช่น ในกลุ่ม 15 ซึ่งใน 4 วินาที เวลาบล็อกจะหมายถึงการเปลี่ยนแปลงการเชื่อมต่อเพียงครั้งเดียวต่อ นาที) หรือหมุนเวียนสมาชิกแบบเพิ่มขึ้น เช่น เปลี่ยนแปลงทีละสมาชิก (เช่น ถ้ามี ได้รับมอบหมาย 15 validators ให้กับแต่ละ parachain ดังนั้นโดยเฉลี่ยแล้วจะใช้เวลาหนึ่งนาทีเต็มระหว่างค่าที่ไม่ซ้ำกันโดยสิ้นเชิง ชุด) โดยการจำกัดจำนวนการเลิกใช้งานเพียร์ และรับรองว่าการเชื่อมต่อเพียร์ที่ได้เปรียบจะทำไปด้วยดี ก้าวหน้าผ่านการคาดเดาได้บางส่วนของพาราเชน เราสามารถช่วยให้แน่ใจว่าแต่ละโหนดจะคงไว้อย่างถาวร การคัดเลือกเพื่อนโดยบังเอิญ 6.8.2. เส้นทางสู่โปรโตคอลเครือข่ายที่มีประสิทธิภาพ คงจะ. ความพยายามในการพัฒนาที่มีประสิทธิผลและสมเหตุสมผลมากที่สุดจะมุ่งเน้นไปที่การใช้โปรโตคอลที่มีอยู่แล้วมากกว่าการเผยแพร่ ของเราเอง มีโปรโตคอลฐานเพียร์ทูเพียร์หลายตัว เราอาจใช้หรือเพิ่มรวมถึง devp2p ของ Ethereum ของตัวเองด้วย [22], libp2p ของ IPFS [1] และ GNUnet ของ GNU [4] การทบทวนระเบียบการเหล่านี้ฉบับสมบูรณ์และความเกี่ยวข้องสำหรับการสร้าง เครือข่ายเพียร์แบบโมดูลาร์ที่รองรับการรับประกันโครงสร้างบางอย่าง การควบคุมเพียร์แบบไดนามิก และโปรโตคอลย่อยที่ขยายได้ อยู่นอกเหนือขอบเขตของเอกสารนี้ แต่จะเป็น ขั้นตอนสำคัญในการใช้งาน Polkadot 7. การปฏิบัติจริงของพิธีสาร 7.1. การชำระเงินธุรกรรมระหว่างกัน ในขณะที่ยิ่งใหญ่ ปริมาณความเป็นอิสระและความเรียบง่ายนั้นได้มาจากการลดความต้องการเฟรมเวิร์กการบัญชีทรัพยากรการคำนวณแบบองค์รวม เช่น ก๊าซของ Ethereum สิ่งนี้ทำให้เกิดคำถามสำคัญ: หากไม่มีก๊าซ แล้วพาราเชนหนึ่งตัวจะเป็นอย่างไร หลีกเลี่ยง parachain อื่นจากการบังคับให้ทำการคำนวณหรือไม่ ในขณะที่เราสามารถพึ่งพาคิวการเข้าหลังธุรกรรมได้ บัฟเฟอร์เพื่อป้องกันไม่ให้ห่วงโซ่หนึ่งส่งสแปมด้วย ข้อมูลธุรกรรม ไม่มีกลไกที่เท่าเทียมกันในโปรโตคอลเพื่อป้องกันสแปมในการประมวลผลธุรกรรม นี่เป็นปัญหาที่เหลืออยู่ในระดับที่สูงขึ้น ตั้งแต่โซ่ตรวน มีอิสระที่จะแนบซีแมนทิกส์ตามอำเภอใจกับขาเข้า ข้อมูลธุรกรรมโพสต์เราสามารถรับประกันได้ว่าการคำนวณ จะต้องชำระก่อนที่จะเริ่ม ในลักษณะเดียวกันกับ โมเดลที่ดำเนินการโดย Ethereum ความสงบ เราสามารถจินตนาการได้ สัญญา "แตกหัก" ภายใน parachain ซึ่งอนุญาตให้ validator รับประกันการชำระเงินเพื่อแลกกับ การจัดหาทรัพยากรการประมวลผลในปริมาณเฉพาะ ทรัพยากรเหล่านี้อาจวัดได้ในรูปของก๊าซ แต่ยังอาจเป็นโมเดลที่แปลกใหม่บางอย่าง เช่น เวลาในการดำเนินการแบบอัตนัยหรือแบบจำลองค่าธรรมเนียมแบบ Bitcoin ที่เหมือนค่าธรรมเนียม ด้วยตัวมันเองสิ่งนี้ไม่มีประโยชน์นักเนื่องจากเราไม่สามารถสรุปได้ว่าผู้เรียกแบบ off-chain นั้นว่างสำหรับพวกเขา กลไกคุณค่าใดก็ตามที่ได้รับการยอมรับจากการบุกรุก สัญญา อย่างไรก็ตาม เราสามารถจินตนาการถึงสัญญา "ฝ่าวงล้อม" รองในห่วงโซ่แหล่งที่มาได้ สัญญาทั้งสองร่วมกันจะสร้างสะพานที่รับรู้ซึ่งกันและกันและ ให้ความเท่าเทียมกันของมูลค่า (การปักหลัก-tokens ใช้ได้กับ แต่ละรายการสามารถนำไปใช้ชำระดุลการชำระเงินได้) การโทรเข้าสายโซ่อื่นจะหมายถึงการมอบฉันทะ ผ่านสะพานแห่งนี้ซึ่งจะให้หนทางในการ การเจรจาการถ่ายโอนมูลค่าระหว่างเครือข่ายเพื่อที่จะ ชำระค่าทรัพยากรการคำนวณที่จำเป็นสำหรับพาราเชนปลายทาง 7.2. เพิ่มเติม โซ่. ในขณะที่ ที่ นอกจากนี้ ของ ก parachain เป็นการดำเนินการที่ค่อนข้างถูก มันไม่ฟรี พาราเชนที่มากขึ้นหมายถึง validators ต่อพาราเชนที่น้อยลง และในที่สุด validators จำนวนมากขึ้นแต่ละอันมี a พันธบัตรเฉลี่ยลดลง ในขณะที่ปัญหาเรื่องการบังคับค่าใช้จ่ายในการโจมตี Parachain น้อยลงก็บรรเทาลงได้ ชาวประมง validator ที่กำลังเติบโต กำหนดกำลังสำคัญ ระดับเวลาแฝงที่สูงขึ้นเนื่องจากกลไกของความเห็นพ้องต้องกันท็อด นอกจากนี้พาราเชนแต่ละอัน นำมาซึ่งความโศกเศร้า validators พร้อมด้วย อัลกอริธึมการตรวจสอบที่หนักเกินไป ด้วยเหตุนี้ จะมี "ราคา" บางส่วนที่ validators และ/หรือชุมชนผู้มีส่วนได้ส่วนเสียจะดึงข้อมูลออกมาเพื่อ เพิ่มพาราเชนใหม่ ตลาดสำหรับโซ่นี้จะ อาจเห็นการเพิ่มอย่างใดอย่างหนึ่ง: • เครือข่ายที่มีแนวโน้มว่าจะมีการจ่ายเงินสุทธิเป็นศูนย์ (ในแง่ของการล็อคหรือการเผา staking tokens) ที่จะสร้างเป็นส่วนหนึ่ง (เช่น เครือเครือข่ายสมาคม Doge-chains, เชนเฉพาะแอป); • เครือข่ายที่ส่งมอบคุณค่าที่แท้จริงให้กับเครือข่าย ผ่านการเพิ่มฟังก์ชันการทำงานเฉพาะที่ยุ่งยาก เพื่อไปยังที่อื่น (เช่น การรักษาความลับ ความสามารถในการขยายภายใน การเชื่อมโยงการบริการ) โดยพื้นฐานแล้วชุมชนของผู้มีส่วนได้ส่วนเสียจะต้อง ได้รับการจูงใจให้เพิ่มเครือข่ายย่อย—ทั้งทางการเงินหรือ ด้วยความปรารถนาที่จะเพิ่มโซ่ที่โดดเด่นให้กับรีเลย์ คาดว่าเครือใหม่ที่เพิ่มเข้ามาจะมีมาก ระยะเวลาแจ้งสั้นสำหรับการถอด ทำให้สามารถโซ่ใหม่ได้ ทดลองได้โดยไม่ต้องเสี่ยงต่อการประนีประนอม การนำเสนอคุณค่าระยะกลางหรือระยะยาว 8. บทสรุป เราได้สรุปแนวทางที่อาจนำไปใช้ในการเขียน โปรโตคอลหลายสายโซ่ที่ต่างกันและปรับขนาดได้พร้อมศักยภาพที่จะเข้ากันได้แบบย้อนหลังกับบางโปรโตคอลที่มีอยู่แล้ว blockchain เครือข่าย ภายใต้ระเบียบการดังกล่าวผู้เข้าร่วม ทำงานเพื่อประโยชน์ส่วนตนที่รู้แจ้งเพื่อสร้างระบบโดยรวมที่สามารถขยายออกไปในลักษณะที่ฟรีเป็นพิเศษและไม่มีค่าใช้จ่ายทั่วไปสำหรับผู้ใช้ที่มีอยู่ มาจากการออกแบบมาตรฐาน blockchain เราได้ให้ โครงร่างคร่าวๆ ของสถาปัตยกรรมที่จะต้องรวมไว้ด้วย ลักษณะของผู้เข้าร่วม สิ่งจูงใจทางเศรษฐกิจ และกระบวนการที่พวกเขาต้องมีส่วนร่วม เรามี ระบุการออกแบบขั้นพื้นฐานและหารือถึงจุดแข็งและ ข้อจำกัด; ดังนั้นเราจึงมีแนวทางเพิ่มเติมซึ่ง อาจบรรเทาข้อจำกัดเหล่านั้นและส่งผลให้ได้รับโซลูชัน blockchain ที่ปรับขนาดได้อย่างเต็มที่โพลคาดอท: วิสัยทัศน์สำหรับกรอบการทำงานแบบหลายห่วงโซ่ที่แตกต่างกัน ร่างที่ 1 19 8.1. เนื้อหาที่ขาดหายไปและคำถามเปิด การฟอร์กเครือข่ายนั้นมีความเป็นไปได้เสมอจากการใช้งานโปรโตคอลที่แตกต่างกัน การฟื้นตัวจากการดังกล่าว ไม่ได้กล่าวถึงเงื่อนไขพิเศษ เนื่องจากเครือข่ายจะต้องมีระยะเวลาสรุปที่ไม่เป็นศูนย์ มันไม่ควรเป็นปัญหาใหญ่ในการกู้คืนจากการฟอร์กของรีเลย์เชน แต่จะต้องมีการผสานรวมอย่างระมัดระวัง โปรโตคอลฉันทามติ การยึดพันธบัตรและการให้รางวัลในทางกลับกันมี ไม่ได้รับการสำรวจอย่างลึกซึ้ง ในปัจจุบันเราถือว่ารางวัล มีให้ภายใต้เกณฑ์ผู้ชนะ - รับทั้งหมด: สิ่งนี้อาจไม่ มอบรูปแบบการสร้างแรงจูงใจที่ดีที่สุดสำหรับชาวประมง กระบวนการเปิดเผยข้อผูกพันในระยะเวลาอันสั้นจะทำให้ชาวประมงจำนวนมาก เพื่อรับรางวัลโดยมีการแจกรางวัลอย่างยุติธรรมมากขึ้น อย่างไรก็ตามกระบวนการนี้อาจนำไปสู่เวลาแฝงเพิ่มเติมใน การค้นพบพฤติกรรมที่ไม่เหมาะสม 8.2. รับทราบ ขอบคุณมากสำหรับทั้งหมด ผู้พิสูจน์อักษรที่ได้ช่วยทำความเข้าใจเรื่องนี้อย่างคลุมเครือ รูปร่างเรียบร้อย โดยเฉพาะ Peter Czaban, Bj¨orn วากเนอร์, เคน แคปเปลอร์, โรเบิร์ต ฮาเบอร์ไมเออร์, วิตาลิก บูเทริน, เรโต้ ทริงเกอร์ และแจ็ค ปีเตอร์สสัน ขอบคุณทุกคน คนที่มีส่วนสนับสนุนความคิดหรือจุดเริ่มต้น ด้วยเหตุนี้ Marek Kotewicz และ Aeron Buchanan จึงสมควรได้รับการกล่าวถึงเป็นพิเศษ และขอบคุณทุกคนสำหรับความช่วยเหลือของพวกเขา ระหว่างทาง ข้อผิดพลาดทั้งหมดเป็นของฉันเอง บางส่วนของงานนี้ รวมถึงการวิจัยเบื้องต้นเกี่ยวกับ อัลกอริธึมฉันทามติได้รับทุนบางส่วนจากอังกฤษ รัฐบาลภายใต้โครงการ Innovate UK