Polkadot: Tầm nhìn về Khung đa chuỗi không đồng nhất

Por Gavin Wood · 2016

Resumen

POLKADOT: VISIÓN PARA UN MARCO MULTICADENA HETEROGÉNEO BORRADOR 1 DR. MADERA GAVÍN FUNDADOR, ETHEREUM Y PARIDAD [email protected] Resumen. Todas las arquitecturas blockchain actuales sufren de una serie de problemas, entre ellos los medios prácticos de extensibilidad y escalabilidad. Creemos que esto surge de vincular dos partes muy importantes de la arquitectura del consenso, a saber canonicidad y validez, demasiado juntas. Este artículo presenta una arquitectura, la multicadena heterogénea, lo que fundamentalmente los diferencia. Al compartimentar estas dos partes y mantener la funcionalidad general proporcionada al mínimo absoluto de seguridad y transporte, introducimos medios prácticos de extensibilidad del núcleo in situ. La escalabilidad se aborda mediante un enfoque de divide y vencerás para estas dos funciones, ampliando su núcleo vinculado a través de la incentivación de Nodos públicos que no son de confianza. La naturaleza heterogénea de esta arquitectura permite que muchos tipos muy divergentes de sistemas de consenso interoperen en una “federación” totalmente descentralizada y sin confianza, lo que permite que las redes abiertas y cerradas tengan acceso libre de confianza a unos a otros. Proponemos un medio para proporcionar compatibilidad con versiones anteriores de una o más redes preexistentes, como Ethereum. Creemos que un sistema de este tipo proporciona un componente básico útil en la búsqueda general de una solución prácticamente sistema implementable capaz de alcanzar niveles de escalabilidad y privacidad de comercio global. 1. Prefacio Este pretende ser un resumen técnico de la “visión” de una posible dirección que se puede tomar para seguir desarrollando el paradigma blockchain junto con alguna justificación de por qué esta dirección es sensata. Se establece en Tantos detalles como sea posible en esta etapa de desarrollo. un sistema que puede dar una mejora concreta en un número de aspectos de la tecnología blockchain. No pretende ser una especificación, formal o de otro tipo. No pretende ser exhaustivo ni ser un diseño final. No pretende cubrir aspectos no esenciales. del marco, como API, enlaces, lenguajes y uso. Esto es notablemente experimental; donde los parámetros se especifican, es probable que cambien. Los mecanismos agregarse, refinarse y eliminarse en respuesta a las necesidades de la comunidad. ideas y críticas. Es probable que gran parte de este documento ser revisado a medida que la evidencia experimental y la creación de prototipos proporcionen información sobre qué funcionará y qué no. Este documento incluye una descripción básica del protocolo junto con ideas de direcciones que se pueden tomar. para mejorar diversos aspectos. Se prevé que el núcleo La descripción se utilizará como punto de partida para una evaluación inicial. serie de pruebas de concepto. Una “versión 1.0” final sería basado en este protocolo refinado junto con las ideas adicionales que se prueban y están decididas a implementar. necesarios para que el proyecto alcance sus objetivos. 1.1. Historia. • 10/09/2016: 0.1.0-prueba1 • 20/10/2016: 0.1.0-prueba2 • 11/01/2016: 0.1.0-prueba3 • 11/10/2016: 0.1.0 2. Introducción Las cadenas de bloques han demostrado ser muy prometedoras en cuanto a utilidad en varios campos, incluido el "Internet de las cosas". (IoT), finanzas, gobernanza, gestión de identidades, descentralización web y seguimiento de activos. Sin embargo, a pesar de la promesa tecnológica y gran charla, todavía tenemos que ver implementación significativa en el mundo real de la tecnología actual. Creemos que esto se debe a cinco fallos clave del presente pilas de tecnología: Escalabilidad: cuántos recursos se gastan globalmente sobre procesamiento, ancho de banda y almacenamiento para que el sistema procese una sola transacción y cuántas las transacciones pueden procesarse razonablemente bajo condiciones pico? Aislabilidad: ¿Pueden las necesidades divergentes de múltiples ¿Las partes y las solicitudes se abordarán en un grado casi óptimo bajo el mismo marco? Desarrollabilidad: ¿Qué tan bien funcionan las herramientas? hacer ¿Las API abordan las necesidades de los desarrolladores? ¿Hay materiales educativos disponibles? ¿Existen las integraciones adecuadas? Gobernanza: ¿Puede la red seguir siendo flexible ante ¿Evolucionar y adaptarse con el tiempo? ¿Pueden las decisiones ser hecho con suficiente inclusividad, legitimidad y transparencia para proporcionar un liderazgo efectivo de una ¿Sistema descentralizado? Aplicabilidad: ¿La tecnología realmente aborda una necesidad urgente por sí sola? ¿Se requiere otro “middleware” para cerrar la brecha con aplicaciones reales? En el presente trabajo pretendemos abordar los dos primeros Cuestiones: escalabilidad y aislabilidad. Dicho esto, creemos el marco Polkadot puede proporcionar mejoras significativas en cada una de estas clases de problemas. Implementaciones modernas y eficientes blockchain como el cliente Parity Ethereum [17] puede procesareses en exceso de 3000 transacciones por segundo cuando se ejecuta en hardware de consumo de alto rendimiento. Sin embargo, el mundo real actual Las redes blockchain están prácticamente limitadas a unas 30 transacciones por segundo. Esta limitación se origina principalmente en el hecho de que los actuales mecanismos de consenso sincrónico requieren amplios márgenes temporales de seguridad en el tiempo de procesamiento esperado, que se ve agravado por el 1

Tóm tắt

POLKADOT: TẦM NHÌN VỀ KHUNG KHUNG ĐA CHUỖI KHÔNG ĐỒNG THỂ DỰ THẢO 1 DR. GỖ GAVIN NGƯỜI SÁNG LẬP, ETHEREUM & PARITY [email protected] Trừu tượng. Các kiến ​​trúc blockchain ngày nay đều gặp phải một số vấn đề, đặc biệt là các phương tiện thực tế về khả năng mở rộng và khả năng mở rộng. Chúng tôi tin rằng điều này bắt nguồn từ việc ràng buộc hai phần rất quan trọng của cấu trúc đồng thuận, đó là tính chuẩn tắc và tính giá trị quá chặt chẽ với nhau. Bài viết này giới thiệu một kiến trúc đa chuỗi không đồng nhất, về cơ bản làm cho hai điều này trở nên khác biệt. Trong việc chia thành hai phần này và bằng cách giữ cho chức năng tổng thể được cung cấp ở mức tối thiểu về an ninh và vận tải, chúng tôi giới thiệu các phương tiện thực tế về khả năng mở rộng cốt lõi tại chỗ. Khả năng mở rộng được giải quyết thông qua một cách tiếp cận phân chia và chinh phục đối với hai chức năng này, mở rộng ra khỏi cốt lõi liên kết của nó thông qua việc khuyến khích các nút công khai không đáng tin cậy. Bản chất không đồng nhất của kiến trúc này cho phép nhiều loại hệ thống đồng thuận rất khác nhau tương tác trong một “liên đoàn” phi tập trung hoàn toàn, không cần tin cậy, cho phép các mạng mở và đóng có quyền truy cập không cần tin cậy vào lẫn nhau. Chúng tôi đưa ra phương tiện cung cấp khả năng tương thích ngược với một hoặc nhiều mạng có sẵn như Ethereum. Chúng tôi tin rằng một hệ thống như vậy cung cấp một thành phần cấp cơ sở hữu ích trong việc tìm kiếm tổng thể một giải pháp thực tế. hệ thống có thể triển khai có khả năng đạt được mức độ thương mại toàn cầu về khả năng mở rộng và quyền riêng tư. 1. Lời nói đầu Đây được coi là bản tóm tắt “tầm nhìn” kỹ thuật về một hướng khả thi có thể được thực hiện để phát triển hơn nữa mô hình blockchain cùng với một số lý do căn bản giải thích tại sao hướng này lại hợp lý. Nó đặt ra trong càng nhiều chi tiết càng tốt ở giai đoạn phát triển này một hệ thống có thể mang lại sự cải thiện cụ thể về số khía cạnh của công nghệ blockchain. Nó không nhằm mục đích cụ thể hóa, hình thức hay cách khác. Nó không nhằm mục đích toàn diện cũng như không phải là một thiết kế cuối cùng. Nó không nhằm mục đích bao gồm các khía cạnh không cốt lõi của khung như API, ràng buộc, ngôn ngữ và cách sử dụng. Điều này đáng chú ý là mang tính thử nghiệm; thông số ở đâu được chỉ định, chúng có thể thay đổi. Cơ chế sẽ được thêm vào, tinh chỉnh và loại bỏ để đáp ứng với cộng đồng ý tưởng và phê bình. Phần lớn của bài viết này có thể sẽ được sửa đổi như bằng chứng thực nghiệm và nguyên mẫu cung cấp cho chúng tôi thông tin về điều gì sẽ hiệu quả và điều gì không. Tài liệu này bao gồm mô tả cốt lõi của giao thức cùng với các ý tưởng về các hướng dẫn có thể được thực hiện để cải thiện các khía cạnh khác nhau. Người ta hình dung rằng cốt lõi mô tả sẽ được sử dụng làm điểm bắt đầu cho lần đầu tiên một loạt các bằng chứng về khái niệm. “Phiên bản 1.0” cuối cùng sẽ là dựa trên giao thức được cải tiến này cùng với các ý tưởng bổ sung đã được chứng minh và quyết tâm thực hiện cần thiết để dự án đạt được mục tiêu của nó. 1.1. Lịch sử. • 10/09/2016: 0.1.0-proof1 • 20/10/2016: 0.1.0-proof2 • 11/01/2016: 0.1.0-proof3 • 11/10/2016: 0.1.0 2. Giới thiệu Blockchain đã chứng tỏ nhiều hứa hẹn về tiện ích trên một số lĩnh vực bao gồm “Internet of Things” (IoT), tài chính, quản trị, quản lý danh tính, phân quyền web và theo dõi tài sản. Tuy nhiên, mặc dù hứa hẹn về công nghệ và những cuộc nói chuyện hoành tráng, chúng ta vẫn chưa thấy triển khai đáng kể trong thế giới thực của công nghệ hiện tại. Chúng tôi tin rằng đây là do năm thất bại chính của hiện tại. ngăn xếp công nghệ: Khả năng mở rộng: Bao nhiêu tài nguyên được chi tiêu trên toàn cầu về xử lý, băng thông và lưu trữ để hệ thống xử lý một giao dịch và có bao nhiêu giao dịch giao dịch có thể được xử lý hợp lý theo điều kiện cao điểm? Tính cô lập: Liệu nhu cầu khác nhau của nhiều người có thể các bên và đơn đăng ký có được giải quyết ở mức độ gần như tối ưu trong cùng một khuôn khổ không? Khả năng phát triển: Các công cụ này hoạt động tốt như thế nào? làm API có giải quyết được nhu cầu của nhà phát triển không? Tài liệu giáo dục có sẵn không? Có sự tích hợp phù hợp ở đó không? Quản trị: Mạng có thể duy trì tính linh hoạt để phát triển và thích nghi theo thời gian? Liệu các quyết định có thể được được thực hiện với tính toàn diện, hợp pháp và minh bạch để cung cấp sự lãnh đạo hiệu quả của một hệ thống phi tập trung? Khả năng ứng dụng: Công nghệ này có thực sự giải quyết được nhu cầu cấp bách không? “Phần mềm trung gian” khác có cần thiết để thu hẹp khoảng cách với ứng dụng thực tế? Trong công việc hiện tại, chúng tôi mong muốn giải quyết hai vấn đề đầu tiên vấn đề: khả năng mở rộng và khả năng cô lập. Điều đó nói lên rằng, chúng tôi tin khuôn khổ Polkadot có thể cung cấp những cải tiến có ý nghĩa cho từng loại vấn đề này. Triển khai blockchain hiện đại, hiệu quả như ứng dụng Parity Ethereum [17] có thể sản xuấtess vượt quá 3.000 giao dịch mỗi giây khi chạy trên phần cứng tiêu dùng hiệu suất cao. Tuy nhiên, thực tế hiện nay blockchain mạng thực tế bị giới hạn ở khoảng 30 giao dịch mỗi giây. Hạn chế này chủ yếu bắt nguồn từ thực tế là các cơ chế đồng thuận đồng bộ hiện tại yêu cầu biên độ an toàn về thời gian rộng. thời gian xử lý dự kiến, điều này càng trở nên trầm trọng hơn do 1

Introducción

Las cadenas de bloques han demostrado ser muy prometedoras en cuanto a utilidad en varios campos, incluido el "Internet de las cosas". (IoT), finanzas, gobernanza, gestión de identidades, descentralización web y seguimiento de activos. Sin embargo, a pesar de la promesa tecnológica y gran charla, todavía tenemos que ver implementación significativa en el mundo real de la tecnología actual. Creemos que esto se debe a cinco fallos clave del presente pilas de tecnología: Escalabilidad: cuántos recursos se gastan globalmente sobre procesamiento, ancho de banda y almacenamiento para que el sistema procese una sola transacción y cuántas las transacciones pueden procesarse razonablemente bajo condiciones pico? Aislabilidad: ¿Pueden las necesidades divergentes de múltiples ¿Las partes y las solicitudes se abordarán en un grado casi óptimo bajo el mismo marco? Desarrollabilidad: ¿Qué tan bien funcionan las herramientas? hacer ¿Las API abordan las necesidades de los desarrolladores? ¿Hay materiales educativos disponibles? ¿Existen las integraciones adecuadas? Gobernanza: ¿Puede la red seguir siendo flexible ante ¿Evolucionar y adaptarse con el tiempo? ¿Pueden las decisiones ser hecho con suficiente inclusividad, legitimidad y transparencia para proporcionar un liderazgo efectivo de una ¿Sistema descentralizado? Aplicabilidad: ¿La tecnología realmente aborda una necesidad urgente por sí sola? ¿Se requiere otro “middleware” para cerrar la brecha con aplicaciones reales? En el presente trabajo pretendemos abordar los dos primeros Cuestiones: escalabilidad y aislabilidad. Dicho esto, creemos el marco Polkadot puede proporcionar mejoras significativas en cada una de estas clases de problemas. Implementaciones modernas y eficientes blockchain como el cliente Parity Ethereum [17] puede procesar más de 3000 transacciones por segundo cuando se ejecuta en hardware de consumo de alto rendimiento. Sin embargo, el mundo real actual Las redes blockchain están prácticamente limitadas a unas 30 transacciones por segundo. Esta limitación se origina principalmente en el hecho de que los actuales mecanismos de consenso sincrónico requieren amplios márgenes temporales de seguridad en el tiempo de procesamiento esperado, que se ve agravado por elPOLKADOT: VISIÓN PARA UN MARCO MULTICADENA HETEROGÉNEO BORRADOR 1 2 deseo de soportar implementaciones más lentas. Esto se debe a la arquitectura de consenso subyacente: el mecanismo de transición estatal, o los medios por los cuales los partidos cotejan y ejecutar transacciones, tiene su lógica fundamentalmente ligada en el mecanismo de “canonicalización” por consenso, o el Medio por el cual las partes acuerdan uno de varios historias posibles y válidas. Esto se aplica igualmente a los sistemas proof-of-work (PoW) como Bitcoin [15] y Ethereum [5,23] y a los sistemas de prueba de participación (PoS) como NXT [8] y Bitshares [12]: En última instancia, todos sufren la misma desventaja. es un sencillo estrategia que ayudó a que blockchains fuera un éxito. Sin embargo, acoplando firmemente estos dos mecanismos en una sola unidad del protocolo, también agrupamos múltiples diferentes actores y aplicaciones con diferentes perfiles de riesgo, diferentes requisitos de escalabilidad y diferentes necesidades de privacidad. Una talla única no sirve para todos. Con demasiada frecuencia ocurre que en un deseo de un amplio atractivo, una red adopta un grado de conservadurismo que resulta en un mínimo común denominador. servir de manera óptima a unos pocos y, en última instancia, conducir a un fracaso en la capacidad de innovar, actuar y adaptarse, a veces dramáticamente. Algunos sistemas como p.e. Factom [21] elimina por completo el mecanismo de transición de estado. Sin embargo, gran parte de los La utilidad que deseamos requiere la capacidad de cambiar de estado. según una máquina de estados compartida. Soltándolo se resuelve un problema alternativo; no proporciona una alternativa solución. Por lo tanto, parece claro que una dirección razonable explorar como una ruta hacia una computación descentralizada escalable plataforma es desacoplar la arquitectura de consenso de el mecanismo de transición estatal. Y, tal vez como era de esperar, esta es la estrategia que adopta Polkadot como solución a la escalabilidad. 2.1. Protocolo, Implementación y Red. Me gusta Bitcoin y Ethereum, Polkadot se refiere a la vez a un protocolo de red y al protocolo primario (hasta ahora presupuesto) red pública que ejecuta este protocolo. Polkadot pretende ser un proyecto gratuito y abierto, la especificación del protocolo está bajo una licencia Creative Commons y el el código se coloca bajo una licencia FLOSS. El proyecto es desarrollado de manera abierta y acepta contribuciones dondequiera que sean útiles. Un sistema de RFC, no muy diferente las propuestas de mejora de Python, permitirán un medio de colaborar públicamente en cambios y actualizaciones de protocolos. Nuestra implementación inicial del protocolo Polkadot se conocerá como Plataforma Parity Polkadot y se incluir una implementación de protocolo completa junto con API fijaciones. Al igual que otras implementaciones de Parity blockchain, PPP está diseñado para ser una pila de tecnología blockchain de uso general, no exclusivamente para una red pública ni para operación privada/consorcio. El desarrollo del mismo así hasta ahora ha sido financiado por varios partidos, incluso a través de una subvención del gobierno británico. No obstante, este documento describe Polkadot bajo el contexto de una red pública. La funcionalidad que imaginamos en una red pública es un superconjunto de la requerida en entornos alternativos (por ejemplo, privados y/o consorcios). Además, en este contexto, el alcance completo de Polkadot puede ser descritos y discutidos más claramente. Esto significa El lector debe ser consciente de que ciertos mecanismos pueden describirse (por ejemplo, interoperación con otras redes públicas) que no sean directamente relevantes para Polkadot cuando se implementa en situaciones no públicas (“permitidas”). 2.2. Trabajo anterior. Se ha propuesto informalmente desvincular el consenso subyacente de la transición estatal en privado durante al menos dos años: Max Kaye fue un defensor de tal estrategia durante los primeros días de Ethereum. Una solución escalable más compleja conocida como Chain fibras, que se remonta a junio de 2014 y se publicó por primera vez más tarde ese año1, defendió una única cadena de relés y múltiples cadenas homogéneas que proporcionaran un mecanismo de ejecución transparente entre cadenas. La decoherencia fue pagada a través de la latencia de transacciones: transacciones que requieren la La coordinación de porciones dispares del sistema tomar más tiempo para procesar. Polkadot toma gran parte de su arquitectura de eso y de las conversaciones de seguimiento con varias personas, aunque difiere mucho en gran parte de su diseño y prestaciones. Si bien no existen sistemas comparables a Polkadot actualmente en producción, varios sistemas de cierta relevancia Se han propuesto, aunque pocos en un nivel sustancial de detalle. Estas propuestas pueden serdividido en sistemas que abandonan o reducen la noción de un mundo globalmente coherente. máquina de estados, aquellas que intentan proporcionar una máquina singleton coherente a través de fragmentos homogéneos y aquellos que apuntan únicamente a la heterogeneidad. 2.2.1. Sistemas sin Estado Global. Factom [21] es un sistema que demuestra canonicidad sin el acuerdo validez, permitiendo efectivamente la crónica de los datos. Debido a la evitación del estado global y las dificultades Con la escala que esto trae, se puede considerar una solución escalable. Sin embargo, como se mencionó anteriormente, el conjunto de problemas que resuelve es estricta y sustancialmente menor. Tangle [18] es un enfoque novedoso para los sistemas de consenso. En lugar de organizar las transacciones en bloques y formar consenso sobre una lista estrictamente vinculada para dar un orden canónico global de los cambios de estado, abandona en gran medida la idea de un ordenamiento fuertemente estructurado y en su lugar impulsa un gráfico acíclico dirigido de transacciones dependientes con elementos posteriores que ayuden a canonicalizar elementos anteriores mediante referencias explícitas. Para cambios de estado arbitrarios, este gráfico de dependencia rápidamente se volvería intratable, sin embargo, para el modelo UTXO2 mucho más simple, esto se convierte en bastante razonable. Debido a que el sistema sólo es vagamente coherente y las transacciones son generalmente independientes entre sí Por otra parte, una gran cantidad de paralelismo global se vuelve bastante naturales. Usar el modelo UTXO tiene el efecto de limitar Tangle a una “moneda” puramente de transferencia de valor sistema en lugar de algo más general o extensible. Además, sin la estricta coherencia global, la interacción con otros sistemas (que tienden a necesitar un control absoluto) Un grado de conocimiento sobre el estado del sistema se vuelve poco práctico. 1https://github.com/ethereum/wiki/wiki/Chain-Fibers-Redux 2salida de transacción no gastada, el modelo que utiliza Bitcoin mediante el cual el estado es efectivamente el conjunto de direcciones asociadas con algún valor; Las transacciones recopilan dichas direcciones y las transforman en un nuevo conjunto de direcciones cuya suma total es equivalente.

POLKADOT: VISIÓN PARA UN MARCO MULTICADENA HETEROGÉNEO BORRADOR 1 3 2.2.2. Sistemas de cadenas heterogéneas. Las cadenas laterales [3] son una adición propuesta al protocolo Bitcoin que permitiría una interacción sin confianza entre la cadena principal Bitcoin y cadenas laterales adicionales. No hay ninguna disposición para ningún grado de interacción "rica" entre cadenas laterales: la interacción se limitaría a permitir que las cadenas laterales se custodios de los activos de cada uno, efectuando, en el ámbito local, jerga: una vinculación bidireccional 3. La visión final es la de un marco en el que la moneda Bitcoin pueda recibir funcionalidad adicional, si es periférica, mediante su vinculación en algunas otras cadenas con transición de estado más exótica sistemas que los que permite el protocolo Bitcoin. En este sentido, las cadenas laterales abordan la extensibilidad en lugar de la escalabilidad. De hecho, fundamentalmente no existe ninguna disposición sobre la validez de las cadenas laterales; tokens de una cadena (por ejemplo, Bitcoin) mantenidos en nombre de una cadena lateral están asegurados sólo por el la capacidad de la cadena lateral para incentivar a los mineros a canonicalizar transiciones válidas. La seguridad de la red Bitcoin no se puede hacer fácilmente la transición para trabajar en nombre de otros blockchains. Además, un protocolo para garantizar Bitcoin los mineros fusionan la mina (es decir, duplican su poder de canonicalización en el de la cadena lateral) y, lo que es más importante, validan que las transiciones de la cadena lateral estén fuera del alcance de esta propuesta. Cosmos [10] es un sistema multicadena propuesto en el Lo mismo que las cadenas laterales, intercambiando el PoW de Nakamoto. Método de consenso para el algoritmo Tendermint de Jae Kwon. Esencialmente, describe múltiples cadenas (que operan en zonas) cada una utilizando instancias individuales de Tendermint, junto con un medio para la comunicación libre de confianza a través de un cadena del cubo maestro. Esta comunicación entre cadenas se limita a la transferencia de activos digitales ("específicamente acerca de tokens") en lugar de información arbitraria; sin embargo, dicha comunicación entre cadenas tiene una ruta de retorno para los datos. por ej. informar al remitente sobre el estado de la transferencia. Conjuntos de validadores para las cadenas zonificadas y, en particular, los medios para incentivarlos, quedan, como cadenas laterales, como un problema no resuelto. La suposición general es que cada cadena zonificada tendrá un token de valor cuya inflación se utiliza para pagar validators. Aún en las primeras etapas de diseño, en la actualidad la propuesta carece de detalles completos sobre los medios económicos para lograr el escalable certeza sobre la validez global. Sin embargo, la escasa coherencia requerida entre las zonas y el centro permitirá para mayor flexibilidad sobre los parámetros de la zona cadenas en comparación con la de un sistema que impone medidas más estrictas. coherencia. 2.2.3. Casper. Hasta el momento no hay una revisión exhaustiva ni una comparación lado a lado entre Casper [6] y Polkadot Se han hecho, aunque se puede hacer un análisis bastante amplio. (y en consecuencia inexacta) caracterización de los dos. Casper es una reinvención de cómo funciona un algoritmo de consenso PoS podría basarse en que los participantes apuesten en qué bifurcación finalmente se volvería canónico. Se prestó especial atención a garantizar que fuera robusto para la red. se bifurca, incluso cuando es prolongado, y tiene cierto grado adicional de escalabilidad además del modelo básico Ethereum. como Casper hasta la fecha ha tendido a ser un personaje sustancialmente más protocolo más complejo que Polkadot y sus antepasados, y un desviación sustancial del formato básico blockchain. eso Aún no se sabe cómo repetirá Casper en el futuro. y cómo se verá si finalmente se implementa. Si bien Casper y Polkadot representan nuevos protocolos interesantes y, en cierto sentido, aumentos de Ethereum, existen diferencias sustanciales entre sus objetivos finales y caminos hacia el despliegue. Casper es un Ethereum Proyecto centrado en la cimentación diseñado originalmente ser una alteración de PoS al protocolo sin deseo de cree un blockchain fundamentalmente escalable. Fundamentalmente, es diseñado para ser un hard-fork, en lugar de algo más expansivo y, por lo tanto, todos los Ethereum clientes y usuarios serían requerido actualizar o permanecer en una bifurcación de adopción incierta. Como tal, el despliegue se hace sustancialmente más difícil, como es inherente a un proyecto descentralizado donde es necesaria la coordinación. Polkadot difiere en varios aspectos; ante todo, Polkadot está diseñado para ser totalmente extensible y escalable. blockchain prueba de desarrollo, implementación e interacción cama. Está diseñado para ser un arnés en gran medida preparado para el futuro, capaz de asimilar nuevo blockchaintecnología a medida que esté disponible sin una coordinación descentralizada demasiado complicada o bifurcaciones duras. Ya imaginamos varios casos de uso como como cadenas de consorcio cifradas y cadenas de alta frecuencia con tiempos de bloqueo muy bajos que no son realistas de hacer en cualquier versión futura de Ethereum actualmente prevista. Finalmente, el acoplamiento entre él y Ethereum es extremadamente suelto; no es necesaria ninguna acción por parte de Ethereum para permitir el reenvío de transacciones sin confianza entre los dos redes. En resumen, mientras Casper/Ethereum 2.0 y Polkadot comparten algunas similitudes fugaces, creemos que su objetivo final es sustancialmente diferente y que en lugar de competir, Es probable que en última instancia los dos protocolos coexistan bajo un relación mutuamente beneficiosa en el futuro previsible.

Giới thiệu

Blockchain đã chứng tỏ nhiều hứa hẹn về tiện ích trên một số lĩnh vực bao gồm “Internet of Things” (IoT), tài chính, quản trị, quản lý danh tính, phân quyền web và theo dõi tài sản. Tuy nhiên, mặc dù hứa hẹn về công nghệ và những cuộc nói chuyện hoành tráng, chúng ta vẫn chưa thấy triển khai đáng kể trong thế giới thực của công nghệ hiện tại. Chúng tôi tin rằng đây là do năm thất bại chính của hiện tại. ngăn xếp công nghệ: Khả năng mở rộng: Bao nhiêu tài nguyên được chi tiêu trên toàn cầu về xử lý, băng thông và lưu trữ để hệ thống xử lý một giao dịch và có bao nhiêu giao dịch giao dịch có thể được xử lý hợp lý theo điều kiện cao điểm? Tính cô lập: Liệu nhu cầu khác nhau của nhiều người có thể các bên và đơn đăng ký có được giải quyết ở mức độ gần như tối ưu trong cùng một khuôn khổ không? Khả năng phát triển: Các công cụ này hoạt động tốt như thế nào? làm API có giải quyết được nhu cầu của nhà phát triển không? Tài liệu giáo dục có sẵn không? Có sự tích hợp phù hợp ở đó không? Quản trị: Mạng có thể duy trì tính linh hoạt để phát triển và thích nghi theo thời gian? Liệu các quyết định có thể được được thực hiện với tính toàn diện, hợp pháp và minh bạch để cung cấp sự lãnh đạo hiệu quả của một hệ thống phi tập trung? Khả năng ứng dụng: Công nghệ này có thực sự giải quyết được nhu cầu cấp bách không? “Phần mềm trung gian” khác có cần thiết để thu hẹp khoảng cách với ứng dụng thực tế? Trong công việc hiện tại, chúng tôi mong muốn giải quyết hai vấn đề đầu tiên vấn đề: khả năng mở rộng và khả năng cô lập. Điều đó nói lên rằng, chúng tôi tin khuôn khổ Polkadot có thể cung cấp những cải tiến có ý nghĩa cho từng loại vấn đề này. Triển khai blockchain hiện đại, hiệu quả như ứng dụng Parity Ethereum [17] có thể xử lý vượt quá 3.000 giao dịch mỗi giây khi chạy trên phần cứng tiêu dùng hiệu suất cao. Tuy nhiên, thực tế hiện nay blockchain mạng thực tế bị giới hạn ở khoảng 30 giao dịch mỗi giây. Hạn chế này chủ yếu bắt nguồn từ thực tế là các cơ chế đồng thuận đồng bộ hiện tại yêu cầu biên độ an toàn về thời gian rộng. thời gian xử lý dự kiến, điều này càng trở nên trầm trọng hơn doPOLKADOT: TẦM NHÌN VỀ KHUNG KHUNG ĐA CHUỖI KHÔNG ĐỒNG THỂ DỰ THẢO 1 2 mong muốn hỗ trợ việc triển khai chậm hơn. Điều này là do kiến trúc đồng thuận cơ bản: cơ chế chuyển đổi trạng thái hoặc phương tiện để các bên đối chiếu và thực hiện các giao dịch, về cơ bản logic của nó gắn liền với vào cơ chế “chuẩn hóa” đồng thuận, hoặc có nghĩa là các bên đồng ý về một trong số các có thể, hợp lệ, lịch sử. Điều này áp dụng như nhau cho cả hai hệ thống proof-of-work (PoW) như Bitcoin [15] và Ethereum [5,23] và các hệ thống bằng chứng cổ phần (PoS) như NXT [8] và Bitshares [12]: cuối cùng tất cả đều phải chịu đựng những bất lợi giống nhau. Nó đơn giản chiến lược đã giúp blockchain thành công. Tuy nhiên, bằng cách kết hợp chặt chẽ hai cơ chế này thành một đơn vị duy nhất của giao thức, chúng tôi cũng kết hợp nhiều giao thức khác nhau các tác nhân và ứng dụng có hồ sơ rủi ro khác nhau, yêu cầu về khả năng mở rộng khác nhau và nhu cầu riêng tư khác nhau. Một kích thước không phù hợp với tất cả. Trường hợp này thường xảy ra là trong một mong muốn thu hút rộng rãi, mạng lưới áp dụng một mức độ bảo thủ dẫn đến mẫu số chung thấp nhất phục vụ tối ưu cho một số ít và cuối cùng dẫn đến thất bại trong khả năng đổi mới, thực hiện và thích ứng, đôi khi đột ngột như vậy. Một số hệ thống như v.d. Factom [21] bỏ hoàn toàn cơ chế chuyển trạng thái. Tuy nhiên, phần lớn các tiện ích mà chúng tôi mong muốn đòi hỏi khả năng chuyển trạng thái theo một máy trạng thái dùng chung. Bỏ nó đi là giải quyết được một vấn đề thay thế; nó không cung cấp một sự thay thế giải pháp. Do đó, có vẻ rõ ràng rằng một hướng đi hợp lý để khám phá như một lộ trình dẫn đến một máy tính phi tập trung có thể mở rộng nền tảng là tách rời kiến trúc đồng thuận khỏi cơ chế chuyển trạng thái. Và có lẽ không có gì đáng ngạc nhiên, đây là chiến lược mà Polkadot áp dụng như một giải pháp cho khả năng mở rộng. 2.1. Giao thức, triển khai và mạng. thích Bitcoin và Ethereum, Polkadot đề cập ngay đến giao thức mạng và giao thức chính (cho đến nay được giả định trước) mạng công cộng chạy giao thức này. Polkadot được dự định là một dự án mở và miễn phí, đặc tả giao thức theo giấy phép Creative Commons và mã được đặt theo giấy phép FLOSS. Dự án là được phát triển một cách cởi mở và chấp nhận sự đóng góp bất cứ nơi nào chúng hữu ích. Một hệ thống RFC, không khác gì Đề xuất cải tiến Python, sẽ cho phép một phương tiện cộng tác công khai về các thay đổi và nâng cấp giao thức. Triển khai ban đầu của chúng tôi về giao thức Polkadot sẽ được gọi là Nền tảng chẵn lẻ Polkadot và sẽ bao gồm việc triển khai giao thức đầy đủ cùng với API ràng buộc. Giống như các triển khai Parity blockchain khác, PPP được thiết kế để trở thành một ngăn xếp công nghệ blockchain có mục đích chung, không dành riêng cho mạng công cộng cũng như cho hoạt động tư nhân/liên doanh. Sự phát triển của nó vì thế cho đến nay đã được tài trợ bởi một số bên bao gồm thông qua một khoản trợ cấp từ chính phủ Anh. Tuy nhiên, bài viết này mô tả Polkadot theo bối cảnh của một mạng công cộng. Chức năng mà chúng ta hình dung trong một mạng công cộng là một tập hợp siêu chức năng được yêu cầu trong cài đặt thay thế (ví dụ: tư nhân và/hoặc tập đoàn). Hơn nữa, trong bối cảnh này, phạm vi đầy đủ của Polkadot có thể được mô tả và thảo luận rõ ràng hơn. Điều này có nghĩa người đọc nên biết rằng một số cơ chế nhất định có thể được mô tả (ví dụ: tương tác với các mạng công cộng khác) không liên quan trực tiếp đến Polkadot khi được triển khai trong các tình huống không công khai (“được phép”). 2.2. Công việc trước đây. Việc tách rời sự đồng thuận cơ bản khỏi quá trình chuyển đổi trạng thái đã được đề xuất một cách không chính thức riêng tư trong ít nhất hai năm—Max Kaye là người đề xuất chiến lược như vậy trong những ngày đầu của Ethereum. Một giải pháp có thể mở rộng phức tạp hơn được gọi là Chuỗi bers, có từ tháng 6 năm 2014 và được xuất bản lần đầu sau đó Năm đó1, đã đưa ra trường hợp về một chuỗi chuyển tiếp duy nhất và nhiều chuỗi đồng nhất cung cấp cơ chế thực thi liên chuỗi minh bạch. Sự mất kết hợp đã được trả giá cho thông qua độ trễ giao dịch—các giao dịch yêu cầu sự phối hợp của các phần khác nhau của hệ thống sẽ mất nhiều thời gian hơn để xử lý. Polkadot lấy phần lớn kiến trúc của nó từ đó và các cuộc trò chuyện tiếp theo với nhiều người khác nhau, mặc dù nó khác nhau rất nhiều về phần lớn thiết kế và quy định. Mặc dù không có hệ thống nào có thể so sánh được với Polkadot thực tế trong sản xuất, một số hệ thống có liên quan đã được đề xuất, mặc dù rất ít ở mức độ đáng kể chi tiết. Những đề xuất này có thểchia thành các hệ thống loại bỏ hoặc làm giảm khái niệm về một hệ thống thống nhất toàn cầu máy trạng thái, những máy cố gắng cung cấp một cách toàn cầu máy đơn kết hợp thông qua các mảnh đồng nhất và những mục tiêu chỉ nhắm đến sự không đồng nhất. 2.2.1. Hệ thống không có trạng thái toàn cầu. Factom [21] là một hệ thống thể hiện tính chuẩn mực mà không cần tuân theo giá trị, cho phép ghi chép dữ liệu một cách hiệu quả. Bởi vì sự tránh né trạng thái toàn cầu và những khó khăn với khả năng mở rộng mà điều này mang lại, nó có thể được coi là một giải pháp có thể mở rộng. Tuy nhiên, như đã đề cập trước đó, bộ số vấn đề mà nó giải quyết được nhỏ hơn đáng kể và nghiêm ngặt. Tangle [18] là một cách tiếp cận mới đối với các hệ thống đồng thuận. Thay vì sắp xếp các giao dịch thành các khối và hình thành sự đồng thuận về một danh sách được liên kết chặt chẽ để đưa ra thứ tự chuẩn mực toàn cầu về các thay đổi trạng thái, nó phần lớn từ bỏ ý tưởng về một trật tự có cấu trúc chặt chẽ và thay vào đó thúc đẩy biểu đồ tuần hoàn có hướng của các giao dịch phụ thuộc với các mục sau giúp chuẩn hóa các mục trước đó thông qua tài liệu tham khảo rõ ràng. Đối với những thay đổi trạng thái tùy ý, biểu đồ phụ thuộc này sẽ nhanh chóng trở nên khó hiểu, tuy nhiên đối với UTXO model2 đơn giản hơn nhiều thì điều này trở thành khá hợp lý. Bởi vì hệ thống chỉ có tính mạch lạc lỏng lẻo và các giao dịch thường độc lập với nhau. mặt khác, một lượng lớn sự song song toàn cầu trở nên khá tự nhiên. Sử dụng mô hình UTXO có tác dụng về việc giới hạn Tangle thành một loại “tiền tệ” chuyển giao giá trị thuần túy hệ thống hơn là bất cứ điều gì chung chung hoặc có thể mở rộng. Hơn nữa, nếu không có sự gắn kết chặt chẽ toàn cầu, sự tương tác với các hệ thống khác có xu hướng cần một sự kết nối tuyệt đối. kiến thức về trạng thái hệ thống—trở nên không thực tế. 1https://github.com/ethereum/wiki/wiki/Chain-Fibers-Redux 2đầu ra giao dịch chưa được chi tiêu, mô hình mà Bitcoin sử dụng, theo đó trạng thái thực sự là tập hợp địa chỉ được liên kết với một số giá trị; các giao dịch đối chiếu các địa chỉ đó và cải tổ chúng thành một bộ địa chỉ mới có tổng số tiền tương đương

POLKADOT: TẦM NHÌN VỀ KHUNG KHUNG ĐA CHUỖI KHÔNG ĐỒNG THỂ DỰ THẢO 1 3 2.2.2. Hệ thống chuỗi không đồng nhất. Chuỗi bên [3] là một đề xuất bổ sung vào giao thức Bitcoin sẽ cho phép tương tác không đáng tin cậy giữa chuỗi Bitcoin chính và các chuỗi bên bổ sung. Không có quy định nào cho bất kỳ mức độ tương tác 'phong phú' giữa các chuỗi bên: sự tương tác sẽ bị giới hạn ở việc cho phép các chuỗi bên được người giám sát tài sản của nhau, có hiệu lực—ở địa phương biệt ngữ—một chốt hai chiều 3. Tầm nhìn cuối cùng là về một khuôn khổ trong đó loại tiền tệ Bitcoin có thể được cung cấp chức năng bổ sung, nếu là ngoại vi, thông qua việc chốt nó lên một số chuỗi khác với sự chuyển đổi trạng thái kỳ lạ hơn hệ thống hơn giao thức Bitcoin cho phép. Theo nghĩa này, chuỗi bên giải quyết khả năng mở rộng hơn là khả năng mở rộng. Thật vậy, về cơ bản không có quy định nào về tính hợp lệ của chuỗi bên; tokens từ một chuỗi (ví dụ: Bitcoin) được tổ chức thay mặt cho chuỗi bên chỉ được bảo mật bởi khả năng của chuỗi bên để khuyến khích các thợ mỏ chuẩn hóa chuyển tiếp hợp lệ. Tính bảo mật của mạng Bitcoin không thể dễ dàng chuyển sang làm việc thay mặt cho người khác blockchains. Hơn nữa, một giao thức để đảm bảo Bitcoin các công cụ khai thác hợp nhất khai thác (nghĩa là nhân đôi sức mạnh chuẩn hóa của họ lên sức mạnh của chuỗi bên) và quan trọng hơn là xác thực các chuyển đổi của chuỗi bên nằm ngoài phạm vi phạm vi của đề xuất này. Cosmos [10] là một hệ thống đa chuỗi được đề xuất trong cùng một mạch với chuỗi bên, hoán đổi Nakamoto PoW phương pháp đồng thuận cho thuật toán Tendermint của Jae Kwon. Về cơ bản, nó mô tả nhiều chuỗi (hoạt động trong vùng) mỗi vùng sử dụng các phiên bản riêng lẻ của Tendermint, cùng với phương tiện liên lạc không tin cậy thông qua chuỗi trung tâm chính. Giao tiếp giữa các chuỗi này được giới hạn ở việc chuyển giao tài sản kỹ thuật số (“cụ thể là về tokens”) thay vì thông tin tùy ý, tuy nhiên, giao tiếp giữa các chuỗi như vậy có đường dẫn trở lại cho dữ liệu, ví dụ: để báo cáo cho người gửi về tình trạng chuyển tiền. Bộ xác thực cho các chuỗi được khoanh vùng và đặc biệt phương tiện khuyến khích họ, giống như chuỗi bên, được để lại như một bài toán chưa được giải quyết. Giả định chung là mỗi chuỗi được phân vùng sẽ tự giữ token giá trị mà lạm phát được sử dụng để thanh toán cho validators. Vẫn đang ở giai đoạn đầu về thiết kế, hiện tại đề xuất thiếu chi tiết toàn diện về các phương tiện kinh tế để đạt được khả năng mở rộng sự chắc chắn về giá trị toàn cầu. Tuy nhiên, sự gắn kết lỏng lẻo cần có giữa các vùng và trung tâm sẽ cho phép để có thêm tính linh hoạt đối với các tham số của vùng được khoanh vùng chuỗi so với chuỗi của một hệ thống thực thi mạnh hơn sự mạch lạc. 2.2.3. Casper. Chưa có đánh giá toàn diện hoặc so sánh song song giữa Casper [6] và Polkadot đã được thực hiện, mặc dù người ta có thể thực hiện khá sâu rộng (và do đó không chính xác) đặc tính của cả hai. Casper là sự mô phỏng lại cách thức thuật toán đồng thuận PoS có thể dựa trên việc người tham gia đặt cược vào ngã ba nào cuối cùng sẽ trở thành kinh điển. Sự xem xét đáng kể đã được đưa ra để đảm bảo rằng nó mạnh mẽ cho mạng phân nhánh, ngay cả khi được kéo dài và có một số mức độ mở rộng bổ sung dựa trên mô hình Ethereum cơ bản. Như như vậy, Casper cho đến nay có xu hướng trở thành một giải pháp đáng kể hơn giao thức phức tạp hơn Polkadot và các giao thức trước đó của nó, và một sai lệch đáng kể so với định dạng blockchain cơ bản. Nó vẫn chưa rõ Casper sẽ lặp lại như thế nào trong tương lai và cuối cùng nó sẽ trông như thế nào nếu được triển khai. Trong khi Casper và Polkadot đều đại diện cho các giao thức mới thú vị và, theo một nghĩa nào đó, là sự gia tăng của Ethereum, có sự khác biệt đáng kể giữa chúng mục tiêu cuối cùng và con đường để triển khai. Casper là một Ethereum Dự án lấy nền tảng làm trung tâm được thiết kế ban đầu là một sự thay đổi PoS đối với giao thức mà không mong muốn về cơ bản tạo ra blockchain có thể mở rộng quy mô. Điều quan trọng là nó được thiết kế để trở thành một hard-fork, thay vì bất kỳ thứ gì mở rộng hơn và do đó tất cả khách hàng và người dùng Ethereum sẽ cần phải nâng cấp hoặc duy trì một nhánh của việc áp dụng không chắc chắn. Do đó, việc triển khai trở nên khó khăn hơn đáng kể như vốn có trong một dự án phi tập trung có yêu cầu chặt chẽ. sự phối hợp là cần thiết. Polkadot khác nhau ở một số điểm; đầu tiên và quan trọng nhất, Polkadot được thiết kế để có thể mở rộng và thay đổi quy mô hoàn toàn blockchain thử nghiệm phát triển, triển khai và tương tác giường. Nó được chế tạo để trở thành một dây đai an toàn cho tương lai, có khả năng đồng hóa mới blockchaincông nghệ khi nó trở nên sẵn có mà không cần sự phối hợp phi tập trung quá phức tạp hoặc hard fork. Chúng tôi đã hình dung ra một số trường hợp sử dụng như như chuỗi liên minh được mã hóa và chuỗi tần số cao với thời gian chặn rất thấp, điều này không thực tế để thực hiện trong bất kỳ phiên bản tương lai nào của Ethereum hiện được hình dung. Cuối cùng, sự kết hợp giữa nó và Ethereum là vô cùng lỏng lẻo; không cần thực hiện hành động nào từ phía Ethereum để cho phép chuyển tiếp giao dịch không đáng tin cậy giữa hai mạng. Tóm lại, trong khi Casper/Ethereum 2.0 và Polkadot chia sẻ một số điểm tương đồng thoáng qua mà chúng tôi tin rằng mục tiêu cuối cùng của họ về cơ bản là khác nhau và thay vì cạnh tranh, hai giao thức cuối cùng có khả năng cùng tồn tại dưới một mối quan hệ đôi bên cùng có lợi trong tương lai gần.

Resumen

Polkadot es una multicadena heterogénea escalable. esto significa que a diferencia de implementaciones anteriores blockchain que se han centrado en proporcionar una única cadena de diferentes grados de generalidad sobre aplicaciones potenciales, Polkadot en sí está diseñado para no proporcionar ninguna funcionalidad inherente a la aplicación. Más bien, Polkadot proporciona la base “cadena de relevos” sobre la cual un gran número de datos validables, Se pueden alojar estructuras de datos dinámicas globalmente coherentes. lado a lado. A estas estructuras de datos las llamamos "paralelizadas". cadenas o paracaídas, aunque no hay una necesidad específica de son blockchain de naturaleza. En otras palabras, Polkadot puede considerarse equivalente a un conjunto de cadenas independientes (por ejemplo, el conjunto que contiene Ethereum, Ethereum Classic, Namecoin y Bitcoin) excepto dos puntos muy importantes: • Seguridad mancomunada; • Transacciones entre cadenas sin confianza. Estos puntos son el motivo por el que consideramos que Polkadot es "escalable". En principio, un problema que se implementará en Polkadot se puede paralelizar sustancialmente (ampliarse) a lo largo de una gran cantidad de paracaídas. Dado que todos los aspectos de cada Parachain puede ser conducido en paralelo por un segmento diferente de la red Polkadot, el sistema tiene cierta capacidad a escala. Polkadot proporciona una pieza bastante básica de 3a diferencia de una vinculación unidireccional que es esencialmente la acción de destruir tokens en una cadena para crear tokens en otra sin el mecanismo para hacer lo contrario para recuperar los tokens originalesPOLKADOT: VISIÓN PARA UN MARCO MULTICADENA HETEROGÉNEO BORRADOR 1 4 infraestructura, dejando que gran parte de la complejidad se aborde en el nivel de middleware. Se trata de una decisión consciente destinada a reducir el riesgo de desarrollo, permitiendo a la Software necesario que debe desarrollarse en un corto período de tiempo. y con un buen nivel de confianza sobre su seguridad y robustez. 3.1. La Filosofía de Polkadot. Polkadot debería proporcionar una base absoluta y sólida sobre la cual construir la próxima ola de sistemas de consenso, a través de El espectro de riesgos de los diseños maduros con capacidad de producción. a las ideas nacientes. Al proporcionar sólidas garantías de seguridad, aislamiento y comunicación, Polkadot puede permitir paracaídas para seleccionar entre una variedad de propiedades. De hecho, prevemos varios blockchains experimentales que impulsan las propiedades de lo que podría considerarse sensato. hoy. Nos vemos conservadores, cadenas de alto valor similares a Bitcoin o Z-cash [20] coexistiendo con valores de menor valor “cadenas temáticas” (qué marketing, tan divertido) y redes de prueba con tarifas cero o casi cero. Vemos completamente encriptado, cadenas de consorcios “oscuras” que operan paralelamente (e incluso Proporcionar servicios a cadenas abiertas y altamente funcionales. como aquellos como Ethereum. Vemos novedades experimentales. Cadenas basadas en VM, como un wasm subjetivo cargado de tiempo La cadena se utiliza como un medio para subcontratar problemas informáticos difíciles de una cadena más madura similar a Ethereum. o una cadena más restringida tipo Bitcoin. Para gestionar las actualizaciones de la cadena, Polkadot inherentemente apoyar algún tipo de estructura de gobernanza, probablemente basada sobre los sistemas políticos estables existentes y que tiene un aspecto bicameral similar al Consejo del Libro Amarillo [24]. como la autoridad última, los tenedores subyacentes de token tendrían el control del “referéndum”. Para reflejar la opinión de los usuarios. necesidad de desarrollo sino la necesidad de legitimidad de los desarrolladores, esperamos que una dirección razonable sería formar las dos cámaras de un comité de “usuarios” (compuesto por bonded validators) y un comité “técnico” formado de los principales desarrolladores de clientes y actores del ecosistema. el El cuerpo de titulares de token mantendría la legitimidad última y formaría una supermayoría para aumentar, reparar, reemplazar o disolver esta estructura, algo que No dudes de la eventual necesidad de: en palabras de Twain. “Los gobiernos y los pañales deben cambiarse con frecuencia, y por la misma razón”. Mientras que la reparametrización suele ser trivial de organizar dentro de un mecanismo de consenso más amplio, cambios más cualitativos como el reemplazo y el aumento serían necesarios. probablemente deban ser “decretos blandos” no automatizados (p. ej. mediante la canonicalización de un número de bloque y la hash de un documento que especifica formalmente el nuevo protocolo) o necesitar que el mecanismo central de consenso contenga un lenguaje suficientemente rico para describir cualquier aspecto de sí mismo que puede necesitar cambiar. Este último es un objetivo eventual, sin embargo, es más probable que se elija el primero para facilitar un cronograma de desarrollo razonable. Los principios principales de Polkadot y las reglas dentro de las cuales evaluamos todas las decisiones de diseño son: Mínimo: Polkadot debe tener la menor funcionalidad posible. Simple: no debe haber ninguna complejidad adicional en el protocolo base de lo que razonablemente puede ser descargado en middleware, colocado a través de un parachain o introducido en una optimización posterior. General: sin requisitos innecesarios, restricciones o se debe imponer una limitación a las paracaídas; Polkadot debería ser un banco de pruebas para el desarrollo de sistemas de consenso que pueda optimizarse a través de hacer que el modelo en el que encajan las extensiones sea lo más abstracto posible. Robusto: Polkadot debería proporcionar una base fundamentalmente capa base estable. Además de la solidez económica, esto también significa descentralizar para minimizar los vectores de ataques de alta recompensa.

Bản tóm tắt

Polkadot là một chuỗi đa chuỗi không đồng nhất có thể mở rộng. Cái này có nghĩa là không giống như các lần triển khai blockchain trước đây đã tập trung vào việc cung cấp một chuỗi duy nhất các sản phẩm khác nhau mức độ tổng quát về các ứng dụng tiềm năng, Polkadot bản thân nó được thiết kế để không cung cấp chức năng ứng dụng vốn có nào cả. Đúng hơn, Polkadot cung cấp nền tảng “chuỗi chuyển tiếp” trên đó có một số lượng lớn các thông tin có thể xác nhận, cấu trúc dữ liệu động mạch lạc toàn cầu có thể được lưu trữ bên cạnh nhau. Chúng tôi gọi những cấu trúc dữ liệu này là “song song” chuỗi hoặc parachain, mặc dù không có nhu cầu cụ thể về về bản chất chúng là blockchain. Nói cách khác, Polkadot có thể được coi là tương đương với một tập hợp các chuỗi độc lập (ví dụ: tập hợp chứa Ethereum, Ethereum Classic, Namecoin và Bitcoin) ngoại trừ hai điểm rất quan trọng: • Bảo mật tổng hợp; • khả năng giao dịch liên chuỗi không cần tin cậy. Những điểm này là lý do tại sao chúng tôi coi Polkadot là “có thể mở rộng”. Về nguyên tắc, một vấn đề được triển khai trên Polkadot có thể được thực hiện song song—mở rộng quy mô—trên một số lượng lớn parachain. Vì tất cả các khía cạnh của mỗi parachain có thể được tiến hành song song bởi một phân đoạn khác nhau của mạng Polkadot, hệ thống có một số khả năng để mở rộng quy mô. Polkadot cung cấp một thông tin khá đơn giản 3trái ngược với chốt một chiều về cơ bản là hành động phá hủy tokens trong một chuỗi để tạo tokens trong một chuỗi khác mà không có cơ chế thực hiện ngược lại để khôi phục tokens ban đầuPOLKADOT: TẦM NHÌN VỀ KHUNG KHUNG ĐA CHUỖI KHÔNG ĐỒNG THỂ DỰ THẢO 1 4 cơ sở hạ tầng khiến phần lớn sự phức tạp phải được giải quyết ở cấp độ phần mềm trung gian. Đây là một quyết định có ý thức nhằm giảm thiểu rủi ro phát triển, tạo điều kiện cho phần mềm cần thiết được phát triển trong một khoảng thời gian ngắn và với mức độ tin cậy cao về tính bảo mật và sự vững chãi. 3.1. Triết lý của Polkadot. Polkadot nên cung cấp một nền tảng vững chắc tuyệt đối để xây dựng làn sóng hệ thống đồng thuận tiếp theo, ngay thông qua phổ rủi ro từ các thiết kế trưởng thành có khả năng sản xuất đến những ý tưởng non trẻ. Bằng cách cung cấp sự đảm bảo mạnh mẽ về bảo mật, cách ly và liên lạc, Polkadot có thể cho phép parachains để tự mình chọn từ một loạt thuộc tính. Thật vậy, chúng tôi đã thấy trước nhiều blockchain thử nghiệm khác nhau sẽ thúc đẩy các thuộc tính của những gì có thể được coi là hợp lý hôm nay. Chúng tôi thấy bảo thủ, chuỗi giá trị cao tương tự như Bitcoin hoặc Z-cash [20] cùng tồn tại cùng với giá trị thấp hơn “chuỗi chủ đề” (tiếp thị như vậy, rất thú vị) và mạng thử nghiệm với mức phí bằng 0 hoặc gần bằng 0. Chúng tôi thấy được mã hóa đầy đủ, “đen tối”, các chuỗi liên minh hoạt động song song—và thậm chí cung cấp dịch vụ cho—các chuỗi mở và có chức năng cao chẳng hạn như những thứ như Ethereum. Chúng tôi thấy thử nghiệm mới Các chuỗi dựa trên VM chẳng hạn như wasm tính phí theo thời gian chủ quan chuỗi đang được sử dụng như một phương tiện để gia công các vấn đề tính toán khó khăn từ chuỗi giống Ethereum hoàn thiện hơn hoặc một chuỗi giống Bitcoin bị hạn chế hơn. Để quản lý việc nâng cấp chuỗi, Polkadot vốn sẽ hỗ trợ một số loại cơ cấu quản trị, có thể dựa trên về các hệ thống chính trị ổn định hiện có và có khía cạnh lưỡng viện tương tự như Hội đồng Sách Vàng [24]. Như có thẩm quyền tối cao, những người nắm giữ token có thể đặt cược cơ bản sẽ có quyền kiểm soát "trưng cầu dân ý". Để phản ánh ý kiến của người dùng nhu cầu phát triển nhưng nhà phát triển cần tính hợp pháp, chúng tôi mong đợi một hướng đi hợp lý sẽ hình thành hai viện từ một ủy ban “người sử dụng” (gồm ngoại quan validators) và một ủy ban “kỹ thuật” được thành lập của các nhà phát triển khách hàng lớn và người chơi trong hệ sinh thái. các nhóm chủ sở hữu token sẽ duy trì tính hợp pháp cao nhất và hình thành đại đa số để tăng cường, điều chỉnh lại tham số, thay thế hoặc giải thể cấu trúc này, điều mà chúng tôi đừng nghi ngờ sự cần thiết cuối cùng của: theo lời của Twain “Chính phủ và tã lót phải được thay đổi thường xuyên, và để lý do giống nhau”. Trong khi việc tái tham số hóa thường không quan trọng để sắp xếp trong một cơ chế đồng thuận lớn hơn, thì những thay đổi về chất hơn như thay thế và tăng cường sẽ có thể cần phải là “nghị định mềm” không tự động hóa (ví dụ: thông qua việc chuẩn hóa số khối và hash của tài liệu chỉ định chính thức giao thức mới) hoặc yêu cầu cơ chế đồng thuận cốt lõi để chứa một ngôn ngữ đủ phong phú để mô tả bất kỳ khía cạnh nào của chính nó mà có thể cần phải thay đổi. Cái sau là mục đích cuối cùng, tuy nhiên, cái trước có nhiều khả năng được chọn hơn để tạo điều kiện cho một mốc thời gian phát triển hợp lý. Nguyên lý chính của Polkadot và các quy tắc trong đó chúng tôi đánh giá mọi quyết định thiết kế là: Tối thiểu: Polkadot phải có càng ít chức năng càng tốt. Đơn giản: không có sự phức tạp bổ sung nào trong giao thức cơ sở hơn mức có thể hợp lý được tải vào phần mềm trung gian, được đặt thông qua một parachain hoặc được giới thiệu trong lần tối ưu hóa sau này. Tổng quát: không có yêu cầu, ràng buộc không cần thiết hoặc nên áp dụng giới hạn đối với parachain; Polkadot phải là nơi thử nghiệm để phát triển hệ thống đồng thuận có thể được tối ưu hóa thông qua làm cho mô hình có phần mở rộng phù hợp càng trừu tượng càng tốt. Mạnh mẽ: Polkadot sẽ cung cấp cơ bản lớp nền ổn định. Ngoài sự lành mạnh về kinh tế, điều này còn có nghĩa là phân cấp để giảm thiểu các vectơ cho các cuộc tấn công có phần thưởng cao.

Participación en Polkadot

Hay cuatro funciones básicas en el mantenimiento de un Polkadot red: recopilador, pescador, nominador y validator. en una posible implementación de Polkadot, este último rol en realidad, puede dividirse en dos roles: básico validator y garante de disponibilidad; esto se discute en la sección 6.5.3. alzador pescador Validadores (este grupo) Validadores (otros grupos) aprueba se convierte monitores informes malo comportamiento hacia proporciona bloque candidatos para Nominador Figura 1. La interacción entre los cuatro roles de Polkadot. 4.1. Validadores. Un validator es el cargo más alto y ayuda a sellar nuevos bloques en la red Polkadot. El papel del validator depende de un vínculo suficientemente alto siendo depositado, aunque permitimos que otras partes vinculadas nominar a uno o más validators para que actúen en su nombre y como tal parte del bono de validator no necesariamente puede ser propiedad del validator mismo sino de estos nominadores. Un validator debe ejecutar una implementación de cliente de cadena de retransmisión con alta disponibilidad y ancho de banda. en cada bloque El nodo debe estar preparado para aceptar el papel de ratificador. un nuevo bloque en una parachain nominada. este proceso Implica recibir, validar y republicar el candidato. bloques. La nominación es determinista pero prácticamente impredecible con mucha antelación. Dado que el validator no puede Se puede esperar razonablemente que mantenga un sistema totalmente sincronizado. base de datos de todas las paracaídas, se espera que validator designe la tarea de diseñar una nueva sugerencia bloque de parachain a un tercero, conocido como alzador. Una vez que todos los nuevos bloques de parachain hayan sido ratificados adecuadamente por sus subgrupos validator designados, validators entonces debe ratificar el propio bloque de la cadena de relevos. Esto implica actualizar el estado de las colas de transacciones (esencialmente mover datos de la cola de salida de una parachain a otra cola de entrada de parachain), procesando las transacciones de el conjunto de transacciones de cadena de retransmisión ratificado y la ratificación del bloque final, incluidos los cambios finales de parachain.POLKADOT: VISIÓN PARA UN MARCO MULTICADENA HETEROGÉNEO BORRADOR 1 5 Un validator que no cumple con su deber de encontrar consenso bajo las reglas de nuestro algoritmo de consenso elegido es castigado. En el caso de fallos iniciales involuntarios, esto se realiza mediante retener la recompensa del validator. Los fallos repetidos resultan en la reducción de su vínculo de seguridad (mediante la quema). Acciones demostrablemente maliciosas como doble firma o conspirar para proporcionar un bloque no válido resultará en la pérdida de todo el bono (que está parcialmente quemado pero en su mayor parte dado al informante y a los actores honestos). En cierto sentido, los validators son similares a los pools de minería. de PoW actuales blockchains. 4.2. Nominadores. Un nominador es una parte interesada quien aporta a la fianza de seguridad de un validator. ellos no tienen ningún papel adicional excepto el de colocar capital de riesgo y como tal para indicar que confían en un validator en particular (o conjunto de los mismos) para actuar responsablemente en el mantenimiento de la red. Reciben un aumento o reducción prorrateada en su depósito según el crecimiento del bono al que ellos contribuyen. Junto con los cotejadores, a continuación, los nominadores están en algunos sentido similar a los mineros de las redes PoW actuales. 4.3. Alzadoras. Clasificadores de transacciones (alzadores para abreviar) son partes que ayudan a validators a producir documentos válidos bloques de paracaídas. Mantienen un "nodo completo" para una paracadena en particular; lo que significa que conservan todo lo necesario información para poder crear nuevos bloques y ejecutar transacciones de la misma manera que lo hacen los mineros en los PoW actuales blockchains. En circunstancias normales, ellos cotejará y ejecutará transacciones para crear un documento no sellado bloquear y proporcionarlo, junto con un conocimiento cero prueba, a uno o más validators actualmente responsables de proponiendo un bloque de parachain. La naturaleza precisa de la relación entre recopiladores, nominadores y validators probablemente cambiará con el tiempo. tiempo. Inicialmente, esperamos que los alzapadores trabajen muy estrechamente con validators, ya que solo habrá unos pocos (quizás solo uno) parachain(s) con poco volumen de transacciones. el La implementación inicial del cliente incluirá RPC para permitir una nodo intercalador de parachain para suministrar incondicionalmente un nodo (cadena de retransmisión) validator con un parachain demostrablemente válido bloque. Como el costo de mantener una versión sincronizada de Todos estos aumentos de paracaídas, esperamos ver más infraestructura existente que ayudará a separar los deberes a partidos independientes y motivados económicamente. Con el tiempo, esperamos ver grupos de clasificadores que compitan por cobrar la mayor cantidad de tarifas de transacción. Dichos recopiladores pueden ser contratados para prestar servicios a validator particulares durante un período de tiempo para obtener una participación continua en los ingresos de la recompensa. Alternativamente, los recopiladores “independientes” pueden simplemente crear un mercado que ofrece bloques de parachain válidos a cambio de una parte competitiva de la recompensa pagadera de inmediato. De manera similar, los grupos de nominadores descentralizados permitirían múltiples participantes vinculados para coordinar y compartir el deber de un validator. Esta capacidad de agruparse garantiza una participación abierta. conducente a un sistema más descentralizado. 4.4. Pescadores. A diferencia de los otros dos partidos activos, Los pescadores no están directamente relacionados con la autoría del bloque. proceso. Más bien son “cazarrecompensas” independientes. motivado por una gran recompensa única. Precisamente debido a En la existencia de pescadores, esperamos que los eventos de mala conducta ocurran raramente, y cuando suceden sólo debido a la parte vinculada es descuidada con la seguridad de la clave secreta, en lugar de hacerlo con intenciones maliciosas. el nombre viene desde la frecuencia esperada de la recompensa, los requisitos mínimos para participar y el tamaño final de la recompensa. Los pescadores obtienen su recompensa al demostrar oportunamente que al menos una parte vinculada actuó ilegalmente. Acciones ilegales incluir firmar dos bloques cada uno con el mismo padre ratificado o, en el caso de paracaídas, ayudar a ratificar un bloque no válido bloque. Para evitar recompensas excesivas o el compromiso y uso ilícito de la clave secreta de una sesión, la recompensa base por proporcionar un único mensaje firmado ilegalmente por validator es mínimo. Esta recompensa aumenta asintóticamente cuanto más corroborar firmas ilegales de otros validators son proporcionado implicando un ataque genuino. La asíntota está establecida al 66% siguiendo nuestra afirmación de seguridad básica de que al menos dos tercios de los validators actúan con benevolencia. Los pescadores son algo similares a los "nodos completos" en sistemas actuales blockchain que los recursos necesarios son relativamente pequeños y el compromiso de un tiempo de actividad estable y el ancho de banda no es necesario. Los pescadores se diferencian en tanto como deben pagar una pequeña fianza.Este vínculo evita Los ataques de Sybil hacen perder el tiempo y el cálculo de validators recursos. Se puede retirar inmediatamente, probablemente no. más que el equivalente de unos pocos dólares y puede llevar a obtener una gran recompensa al detectar un mal comportamiento validator.

Tham gia Polkadot

Có bốn vai trò cơ bản trong việc duy trì Polkadot mạng: người đối chiếu, ngư dân, người đề cử và validator. trong một khả năng triển khai Polkadot, vai trò thứ hai thực tế có thể được chia thành hai vai trò: validator cơ bản và người bảo đảm tính sẵn có; điều này được thảo luận trong phần 6.5.3. đối chiếu ngư dân Trình xác nhận (nhóm này) Trình xác nhận (các nhóm khác) chấp thuận trở thành màn hình báo cáo xấu hành vi để cung cấp khối ứng viên cho Người đề cử Hình 1. Sự tương tác giữa bốn vai trò của Polkadot. 4.1. Trình xác nhận. validator là mức phí cao nhất và giúp niêm phong các khối mới trên mạng Polkadot. Vai trò của validator phụ thuộc vào mức độ liên kết đủ cao được ký gửi, mặc dù chúng tôi cho phép các bên liên kết khác đề cử một hoặc nhiều validator hành động thay mặt họ và với tư cách là một phần nào đó trong trái phiếu của validator có thể không nhất thiết phải thuộc sở hữu của chính validator mà là của những người này người đề cử. validator phải chạy triển khai ứng dụng khách chuỗi chuyển tiếp với độ khả dụng và băng thông cao. Tại mỗi khối nút phải sẵn sàng chấp nhận vai trò phê chuẩn một khối mới trên parachain được chỉ định. Quá trình này liên quan đến việc tiếp nhận, xác nhận và xuất bản lại ứng cử viên khối. Việc đề cử mang tính quyết định nhưng hầu như không thể đoán trước được nhiều. Vì validator không thể được mong đợi một cách hợp lý là sẽ duy trì một hệ thống được đồng bộ hóa hoàn toàn cơ sở dữ liệu của tất cả các parachain, dự kiến validator sẽ chỉ định nhiệm vụ đưa ra một đề xuất mới khối parachain cho bên thứ ba, được gọi là đối tác. Sau khi tất cả các khối parachain mới đã được phê duyệt hợp lệ bởi các nhóm con validator được chỉ định của chúng, validators sau đó phải phê chuẩn chính khối chuỗi chuyển tiếp. Điều này liên quan đến cập nhật trạng thái của hàng đợi giao dịch (về cơ bản di chuyển dữ liệu từ hàng đợi đầu ra của parachain sang hàng đợi khác hàng đợi đầu vào của parachain), xử lý các giao dịch của bộ giao dịch chuỗi chuyển tiếp đã được phê duyệt và phê chuẩn khối cuối cùng, bao gồm cả những thay đổi cuối cùng của parachain.POLKADOT: TẦM NHÌN VỀ KHUNG KHUNG ĐA CHUỖI KHÔNG ĐỒNG THỂ DỰ THẢO 1 5 validator không hoàn thành nghĩa vụ tìm kiếm sự đồng thuận theo các quy tắc của thuật toán đồng thuận đã chọn của chúng tôi sẽ bị trừng phạt. Đối với những thất bại ban đầu, không chủ ý, điều này là thông qua giữ lại phần thưởng của validator. Những thất bại lặp đi lặp lại dẫn đến việc giảm liên kết bảo mật của họ (thông qua việc đốt cháy). Các hành động có hại có thể xảy ra như ký hai lần hoặc âm mưu cung cấp một khối không hợp lệ dẫn đến việc mất toàn bộ trái phiếu (bị đốt cháy một phần nhưng phần lớn được trao cho cho người cung cấp thông tin và người trung thực). Theo một nghĩa nào đó, validator tương tự như nhóm khai thác của PoW hiện tại blockchains. 4.2. Người đề cử. Người được đề cử là bên nắm giữ cổ phần người đóng góp vào trái phiếu bảo đảm của validator. Họ không có vai trò bổ sung nào ngoại trừ việc bố trí vốn rủi ro và như như vậy để báo hiệu rằng họ tin tưởng một validator cụ thể (hoặc được thiết lập) để hành động có trách nhiệm trong việc duy trì mạng. Họ nhận được sự tăng hoặc giảm theo tỷ lệ trong khoản tiền gửi của họ tùy theo mức tăng trưởng của trái phiếu họ đóng góp. Cùng với những người đối chiếu, tiếp theo, những người được đề cử nằm trong một số có ý nghĩa tương tự như các công cụ khai thác của mạng PoW ngày nay. 4.3. Người hợp tác. Đối chiếu giao dịch (gọi tắt là đối chiếu) là các bên hỗ trợ validator tạo ra các khối parachain. Họ duy trì một “nút đầy đủ” cho một parachain cụ thể; có nghĩa là họ giữ lại tất cả những gì cần thiết thông tin để có thể tạo các khối mới và thực thi giao dịch theo cách tương tự như cách các thợ mỏ thực hiện trên PoW blockchain hiện tại. Trong hoàn cảnh bình thường, họ sẽ đối chiếu và thực hiện các giao dịch để tạo ra một bản ghi chưa được niêm phong chặn và cung cấp nó cùng với kiến thức bằng không bằng chứng cho một hoặc nhiều validator hiện chịu trách nhiệm về đề xuất một khối parachain. Bản chất chính xác của mối quan hệ giữa người đối chiếu, người đề cử và validator có thể sẽ thay đổi theo thời gian. Ban đầu, chúng tôi mong đợi những người cộng tác sẽ hợp tác rất chặt chẽ với validators, vì sẽ chỉ có một vài (có lẽ chỉ một) parachain với khối lượng giao dịch ít. các Việc triển khai ứng dụng khách ban đầu sẽ bao gồm các RPC để cho phép nút đối chiếu parachain để cung cấp vô điều kiện nút (chuỗi chuyển tiếp) validator với một parachain hợp lệ có thể được chứng minh khối. Vì chi phí duy trì phiên bản được đồng bộ hóa của tất cả các parachain như vậy đều tăng lên, chúng tôi hy vọng sẽ thấy thêm cơ sở hạ tầng sẵn có sẽ giúp tách biệt các nghĩa vụ đối với các đảng độc lập, có động cơ kinh tế. Cuối cùng, chúng tôi hy vọng sẽ thấy các nhóm đối tác cạnh tranh thu nhiều phí giao dịch nhất. Những người đối chiếu như vậy có thể ký hợp đồng để phục vụ validator cụ thể trong một khoảng thời gian để được chia sẻ liên tục trong số tiền thưởng. Ngoài ra, những người cộng tác “tự do” có thể chỉ cần tạo một thị trường cung cấp các khối parachain hợp lệ để đổi lấy phần thưởng cạnh tranh được trả ngay lập tức. Tương tự, nhóm đề cử phi tập trung sẽ cho phép nhiều những người tham gia liên kết để phối hợp và chia sẻ nhiệm vụ của một validator. Khả năng tập hợp này đảm bảo sự tham gia cởi mở dẫn đến một hệ thống phi tập trung hơn. 4.4. Ngư dân. Không giống như hai bên hoạt động còn lại, ngư dân không liên quan trực tiếp đến việc tạo khối quá trình. Đúng hơn họ là những “thợ săn tiền thưởng” độc lập được thúc đẩy bởi một phần thưởng lớn. Chính xác là do sự tồn tại của ngư dân, chúng tôi cho rằng những hành vi sai trái hiếm khi xảy ra và khi chúng xảy ra chỉ do bên liên quan bất cẩn với việc bảo mật khóa bí mật, chứ không phải thông qua mục đích xấu. Cái tên đến từ tần suất thưởng dự kiến, yêu cầu tối thiểu để tham gia và quy mô phần thưởng cuối cùng. Ngư dân nhận được phần thưởng thông qua việc chứng minh kịp thời rằng ít nhất một bên liên quan đã hành động trái pháp luật. Hành động trái pháp luật bao gồm việc ký hai khối với cùng một khối gốc đã được phê duyệt hoặc, trong trường hợp của parachain, giúp phê chuẩn một khối không hợp lệ khối. Để ngăn chặn việc khen thưởng quá mức hoặc sự thỏa hiệp và sử dụng trái phép khóa bí mật của phiên, phần thưởng cơ bản cho việc cung cấp tin nhắn được ký bất hợp pháp của một validator là tối thiểu. Phần thưởng này tăng tiệm cận khi càng nhiều chứng thực chữ ký bất hợp pháp từ validator khác là được cung cấp ngụ ý một cuộc tấn công thực sự. Đường tiệm cận được thiết lập ở mức 66% theo khẳng định bảo mật cơ sở của chúng tôi rằng ít nhất hai phần ba validator hành động nhân từ. Fishermen có phần giống với “các nút đầy đủ” trong hệ thống blockchain ngày nay mà tài nguyên cần thiết tương đối nhỏ và cam kết về thời gian hoạt động ổn định và băng thông là không cần thiết. Ngư dân có sự khác biệt ở điểm này nhiều như họ phải đăng một trái phiếu nhỏ.Liên kết này ngăn cản các cuộc tấn công sybil do lãng phí validators thời gian và tính toán tài nguyên. Có thể rút ngay lập tức, có lẽ là không nhiều hơn số tiền tương đương với một vài đô la và có thể dẫn đến để gặt hái một phần thưởng khổng lồ từ việc phát hiện ra hành vi sai trái validator.

Descripción general del diseño

Esta sección tiene como objetivo dar una breve descripción general de la sistema en su conjunto. Una exploración más profunda de la El sistema se proporciona en la sección siguiente. 5.1. Consenso. En la cadena de relés, Polkadot logra consenso de bajo nivel sobre un conjunto de acuerdos válidos mutuamente acordados. bloques a través de un moderno algoritmo asincrónico bizantino tolerante a fallas (BFT). El algoritmo se inspirará. por el simple Tendermint [11] y el sustancialmente más involucrado HoneyBadgerBFT [14]. Este último proporciona una consenso eficiente y tolerante a fallos sobre una solución arbitrariamente infraestructura de red defectuosa, dado un conjunto de autoridades en su mayoría benignas o validators. Para una red de estilo prueba de autoridad (PoA), esto solo sería suficiente, sin embargo, se imagina que Polkadot es También se puede implementar como red en un entorno totalmente abierto y público. situación sin ninguna organización particular o confianza autoridad requerida para mantenerlo. Como tal necesitamos un medios para determinar un conjunto de validators e incentivar ellos para ser honestos. Para esto utilizamos la selección basada en PoS. criterios. 5.2. Demostrando lo que está en juego. Suponemos que la red tendrá algún medio para medir cuánta “participación” cualquier cuenta en particular tiene. Para facilitar la comparación con sistemas preexistentes, llamaremos a la unidad de medida “tokens”. Desafortunadamente el término no es ideal para una varias razones, entre ellas la de ser simplemente un escalar valor asociado con una cuenta, no existe noción de individualidad. Imaginamos que validators serán elegidos, con poca frecuencia (como máximo una vez al día, pero quizás tan raramente como una vez por trimestre), a través de un esquema de Prueba de Participación Nominada (NPoS). La incentivación puede ocurrir a través de una asignación prorrateada dePOLKADOT: VISIÓN PARA UN MARCO MULTICADENA HETEROGÉNEO BORRADOR 1 6 Relevo cadena enjambre de validadores (cada uno coloreado por su paracadena designada) Transacción (presentado por actor externo) Paracadena puente paracaídas virtual (por ejemplo, Ethereum) Paracadena Paracadena colas y E/S Transacciones propagadas Bloquear el envío de candidatos 2do orden cadena de relevo Comunidad paracadena cuenta Transacción entrante Transacción saliente Transacciones entre cadenas (gestionado por validators) alzador bloque propagado pescador Figura 2. Un esquema resumido del sistema Polkadot. Esto muestra a los recopiladores recopilando y propagando transacciones de usuarios, así como propagando candidatos de bloque a pescadores y validators. También muestra cómo una cuenta puede registrar una transacción que se lleva a cabo desde su paracadena, a través de la cadena de retransmisión y luego a otra parachain donde puede interpretarse como una transacción a una cuenta allí. fondos provenientes de una expansión de base token (hasta 100% por año, aunque lo más probable es que sea alrededor del 10%), junto con cualquier tarifa de transacción cobrada. Si bien la expansión de la base monetaria generalmente conduce a la inflación, dado que todos los propietarios de token tendría una oportunidad justa de participación, ningún titular de token necesitaría sufrir una reducción en el valor de su tenencias a lo largo del tiempo siempre que estuvieran felices de tomar una papel en el mecanismo de consenso. una proporción particular de tokens serían objeto del proceso staking; el La expansión base efectiva token se ajustaría a través de un mecanismo basado en el mercado para alcanzar este objetivo. Los validadores están fuertemente unidos por sus intereses; saliendo Los bonos de validators permanecen vigentes mucho después de que cesen las funciones de los validators (quizás alrededor de 3 meses). este tiempo El período de liquidación de bonos permite que futuras malas conductas sean castigados hasta el control periódico de la cadena. La mala conducta da lugar a castigos, como la reducción de recompensa o, en los casos que comprometan intencionalmente la integridad de la red, el validator pierde parte o la totalidad de su participación a otros validators, informantes o partes interesadas en su conjunto (mediante la quema). Por ejemplo, un validator quien intenta ratificar ambas ramas de una bifurcación (a veces conocido como ataque de “corto alcance”) puede ser identificado y castigado de esta última manera. Los ataques de largo alcance en los que “no hay nada en juego”4 se evitan mediante un simple pestillo de “punto de control” que evita una peligrosa reorganización en cadena de más de un profundidad de cadena particular. Para garantizar que los clientes recién sincronizados no se dejan engañar por la cadena equivocada, regular Se producirán “bifurcaciones duras” (de como máximo el mismo período del liquidación de bonos de validators) que codifica el bloque de puntos de control reciente hashes en los clientes. Esto funciona bien con una medida adicional para reducir la huella de “longitud de cadena finita” o reinicio periódico del bloque génesis. 5.3. Paracaídas y Alzadores. Cada paracadena obtiene Medidas de seguridad similares a las de la cadena de relevos: el Los encabezados de las paracaídas están sellados dentro del bloque de la cadena de relés. garantizar que no sea posible ninguna reorganización o “doble gasto” después de la confirmación. Esta es una garantía de seguridad similar a la que ofrecen las cadenas laterales y la fusión de Bitcoin. Polkadot, sin embargo, también ofrece sólidas garantías de que las transiciones de estado de las paracaídas son válidas. esto ocurre cuando el conjunto de validators se segmenta criptográficamente de forma aleatoria en subconjuntos; un subconjunto por parachain, los subconjuntos potencialmente difieren por bloque. esto La configuración generalmente implica que los tiempos de bloqueo de las paracaídas serán ser al menos tan largo como el de la cadena de relés. El específico Los medios para determinar la partición están fuera del alcance. 4En tal ataque el adversario forja una cadena histórica completamente nueva desde el bloque génesis en adelante. A través del control de un porción relativamente insignificante de la participación en la compensación, son capaces de aumentar incrementalmente su porción de la participación en relación con todos los demás partes interesadas ya que son los únicos participantes activos en su historia alternativa. Dado que no existe ninguna limitación física intrínseca a la creación de bloques (a diferencia de PoW, donde se debe gastar energía computacional bastante real), son capaces de crear una cadena más larga que la cadena real en un período de tiempo relativamente corto y potencialmente convertirlo en el mejor y más largo, asumiendo el estado canónico de la red.POLKADOT: VISIÓN PARA UN MARCO MULTICADENA HETEROGÉNEO BORRADOR 1 7 de este documento, pero probablemente se basaría en torno a un marco de confirmación-revelación similar a RanDAO [19] o utilizar datos combinados de bloques anteriores de cada parachain bajo un hash criptográficamente seguro. Dichos subconjuntos de validators deben proporcionar una candidato de bloque de parachain que está garantizado como válido (en pena de confiscación de la fianza). La validez gira en torno a dos puntos importantes; En primer lugar, que es intrínsecamente válido: que todas las transiciones estatales se ejecutaron fielmente y que todas Los datos externos a los que se hace referencia (es decir, transacciones) son válidos para su inclusión. En segundo lugar, que cualquier dato que sea extrínseco a su candidato, como aquellas transacciones externas, tiene una disponibilidad suficientemente alta para que los participantes puedan descárgalo y ejecuta el bloque manualmente.5 Los validadores pueden proporcionar sólo un bloque "nulo" que no contenga datos de "transacciones" externas, pero pueden correr el riesgo de obtener una recompensa reducida si lo hacen. ellos trabajan junto un protocolo de chismes de parachain con recopiladores: individuos que recopilan transacciones en bloques y proporcionan una prueba no interactiva y sin conocimiento de que el bloque constituye un hijo válido de su padre (y toman cualquier transacción honorarios por sus problemas). Queda en manos de los protocolos parachain especificar los suyos propios. Medios de prevención de spam: no existe una noción fundamental de “medición de recursos informáticos” o “tarifa de transacción”. impuesto por la cadena de relevos. Tampoco existe una aplicación directa de esto por parte del protocolo de cadena de retransmisión (aunque Es poco probable que las partes interesadas decidan adoptar una paracadena que no proporcionaba un mecanismo decente). Este es un guiño explícito a la posibilidad de que existan cadenas a diferencia de Ethereum, p.ej. una cadena similar a Bitcoin que tiene un modelo de tarifas mucho más simple o algún otro modelo de prevención de spam aún por proponer. La propia cadena de relés de Polkadot probablemente existirá como un Cadena de estados y cuentas similares a Ethereum, posiblemente un derivado EVM. Dado que los nodos de la cadena de retransmisión deberán realizar otros procesamientos sustanciales, rendimiento de transacciones se minimizará en parte a través de altas tarifas de transacción y, si nuestros modelos de investigación lo requieren, un límite de tamaño de bloque. 5.4. Comunicación entre cadenas. El ingrediente final crítico de Polkadot es la comunicación entre cadenas. desde las paracaídas pueden tener algún tipo de canal de información entre ellas, nos permitimos considerar Polkadot un multicadena escalable. En el caso de Polkadot, la comunicación es tan simple como puede ser: transacciones que se ejecutan en un parachain son (de acuerdo con la lógica de esa cadena) capaces de efectuar el envío de una transacción a una segunda paracadena o, potencialmente, la cadena de relevos. Como transacciones externas en producción blockchains, son completamente asíncronos y no tienen la capacidad intrínseca de devolver nada tipo de información hasta su origen. Destino: consigue datos de antes validators del bloque. La cuenta recibe la publicación: entrada eliminada de ingreso Merkle tree La cuenta envía la publicación: entrada colocada en salida Merkle tree para destino paracaídas salida Fuente: acciones datos con el siguiente bloque validators prueba de envío almacenada en salida de parachain Merkle árbol referencia enrutada colocada en destino parachain ingreso Merkle tree ingreso Figura 3. Un esquema básico que muestra las partes principales del enrutamiento para publicados transacciones (“publicaciones”). Para garantizar una complejidad mínima de implementación, se requiere un mínimo riesgo y mínimo camisa de fuerza de futuro arquitecturas parachain, estas transacciones entre cadenas son efectivamente indistinguibles de las transacciones estándar firmadas externamente. La transacción tiene un segmento de origen, que brinda la capacidad de identificar una paracadena, y una dirección que puede ser de tamaño arbitrario. A diferencia de los sistemas actuales comunes como Bitcoin y Ethereum, las transacciones entre cadenas no vienen con ningún tipo de “pago” de tarifa asociado; Cualquier pago de este tipo debe gestionarse mediante la lógica de negociación en las paracadenas de origen y destino. Un sistema como el propuesto para La versión Serenity de Ethereum [7] sería un medio simple de gestionar dicho pago de recursos entre cadenas, aunque suponemos que otros pueden pasar a primer plano a su debido tiempo. Las transacciones entre cadenas se resuelven mediante un simple Mecanismo de cola basado en Merkle tree para garantizar fidelidad. Es tarea de los mantenedores de la cadena de relevos mover transacciones en la cola de salida de una parachain en la cola de entrada de la parachain de destino. el Las transacciones pasadas se hacen referencia en la cadena de retransmisión, sin embargo, no son relevantes.las propias transacciones de la cadena ay. Para evitar que una parachain envíe spam a otra parachain con transacciones, para que se envíe una transacción, se requiere que la cola de entrada del destino no sea demasiado grande en la hora del final del bloque anterior. Si la entrada La cola es demasiado grande después del procesamiento del bloque, entonces se considera "saturada" y no se pueden enrutar transacciones a ella. dentro de los bloques siguientes hasta que se reduzca nuevamente por debajo del límite. Estas colas se administran en la cadena de retransmisión. Permitir que las paracaídas determinen la saturación de cada una. estado; de esta manera un intento fallido de publicar una transacción a un destino detenido se puede informar de forma sincrónica. (Aunque, dado que no existe una ruta de retorno, si una transacción secundaria falla por ese motivo, no se podrá informar de ella). a la persona que llama originalmente y algunos otros medios de recuperación tendría que ocurrir.) 5.5. Polkadot y Ethereum. Debido a la integridad de Turing de Ethereum, esperamos que haya amplias oportunidades para que Polkadot y Ethereum sean interoperables con entre sí, al menos dentro de algunos límites de seguridad fácilmente deducibles. En resumen, prevemos que las transacciones de Polkadot puede ser firmado por validators y luego ingresado en 5Tal tarea podría ser compartida entre validators o podría convertirse en la tarea designada de un conjunto de validators fuertemente vinculados conocido como Garantes de disponibilidad.

POLKADOT: VISIÓN PARA UN MARCO MULTICADENA HETEROGÉNEO BORRADOR 1 8 Ethereum donde pueden ser interpretados y promulgados por un contrato de reenvío de transacciones. En la otra dirección, Prevemos el uso de registros (eventos) especialmente formateados. proveniente de un “contrato de ruptura” para permitir una verificación rápida de que se debe reenviar un mensaje en particular. 5.5.1. Polkadot a Ethereum. A través de la elección de un BFT mecanismo de consenso con validators formado a partir de un conjunto de partes interesadas determinadas mediante una votación de aprobación mecanismo, podemos lograr un consenso seguro con un cambios poco frecuentes y un número modesto de validators. En un sistema con un total de 144 validators, un tiempo de bloqueo de 4 segundos y una finalidad de 900 bloques (lo que permite ataques maliciosos Comportamientos como votos dobles deben ser denunciados y sancionados. y reparado), la validez de un bloque puede razonablemente ser se considera probado mediante tan solo 97 firmas (dos tercios de 144 más una) y un período de verificación posterior de 60 minutos en el que no se depositan impugnaciones. Ethereum puede albergar un "contrato de asentamiento" que puede mantener a los 144 firmantes y ser controlado por ellos. Dado que la recuperación de la firma digital de curva elíptica (ECDSA) requiere solo 3000 gases según el EVM, y desde Probablemente solo querríamos que la validación se realice en un supermayoría de validators (en lugar de unanimidad total), el costo base de Ethereum confirmando que una instrucción fue validado adecuadamente como proveniente de la red Polkadot no sería más de 300,000 gas, apenas el 6% del el límite total de gas del bloque es de 5,5 millones. Aumentar el número de validators (como sería necesario para tratar con docenas de cadenas) inevitablemente aumenta este costo, sin embargo En general, se espera que el ancho de banda de transacciones de Ethereum crezca con el tiempo a medida que la tecnología madure y la infraestructura mejora. Junto con el hecho de que no todos los validator deben estar involucrados (por ejemplo, solo el más alto Los validators apostados pueden ser llamados para tal tarea) el Los límites de este mecanismo se extienden razonablemente bien. Suponiendo una rotación diaria de dichos validators (que es bastante conservador (semanal o incluso mensual puede ser aceptable), entonces el costo para la red de mantener este puente de reenvío Ethereum costaría alrededor de 540.000 gas por día o, a los precios actuales del gas, $45 por año. Una transacción básica enviada sola a través del puente costaría alrededor de 0,11 dólares; el cálculo adicional del contrato costaría más, por supuesto. Al almacenar en búfer y agrupar transacciones juntos, los costos de autorización de robo pueden ser fácilmente compartido, reduciendo sustancialmente el costo por transacción; si se requirieron 20 transacciones antes del reenvío, entonces el costo de reenviar una transacción básica se reduciría a alrededor de $0,01. Una alternativa interesante y más económica a este modelo de contrato con múltiples firmas sería utilizar firmas de umbral para lograr la semántica de propiedad multilateral. Mientras que los esquemas de firma de umbral para ECDSA son computacionalmente costosos, los de otros esquemas como las firmas Schnorr son muy razonables. Ethereum planea introducir primitivos que harían tales esquemas baratos de usar en el próximo hardfork de Metropolis. Si se pudiera utilizar este medio, los costes del gas para reenviar una transacción Polkadot al Ethereum La red se reduciría drásticamente a casi cero. gastos generales adicionales a los costos básicos para validar el firma y ejecución de la transacción subyacente. En este modelo, los nodos validator de Polkadot tendrían hacer poco más que firmar mensajes. Para que las transacciones realmente se enruten a la red Ethereum, nosotros supongamos que los validators también residirían en la red Ethereum o, más probablemente, que pequeñas recompensas ser ofrecido al primer actor que reenvía el mensaje en a la red (la recompensa podría trivialmente pagarse al originador de la transacción). 5.5.2. Ethereum a Polkadot. Conseguir que las transacciones sean reenviado de Ethereum a Polkadot utiliza la noción simple de registros. Cuando un contrato Ethereum desea enviar una transacción a una paracadena particular de Polkadot, simplemente necesita concertar un “contrato de ruptura” especial. El contrato de ruptura aceptaría cualquier pago que pudiera ser requerido y emitir una instrucción de registro para que su existencia pueda ser probada a través de una prueba Merkle y una afirmación de que el encabezado del bloque correspondiente es válido y canónico. De las dos últimas condiciones, la validez es quizás la más sencillo de demostrar. En principio, el único requisito espara cada nodo Polkadot que necesita la prueba (es decir, nodos validator designados) para ejecutar una instancia completamente sincronizada de un nodo Ethereum estándar. Desafortunadamente, esto es en sí mismo una dependencia bastante grande. un mas Un método ligero sería utilizar una prueba simple de que El encabezado se evaluó correctamente al proporcionar solo el parte del intento de estado de Ethereum necesario para ejecutarse correctamente las transacciones en el bloque y verifique que los registros (contenidos en el recibo del bloque) sean válidos. Tales “tipo SPV”6 las pruebas aún pueden requerir una cantidad sustancial de información; convenientemente, normalmente no serían necesarios en todos: un sistema de unión dentro de Polkadot permitiría unir terceros a enviar encabezados a riesgo de perder su fianza en caso de que algún otro tercero (como un “pescador”, ver 6.2.3) proporcione una prueba de que el encabezado no es válido (específicamente que la raíz estatal o las raíces receptoras eran impostores). En una red PoW no finalizada como Ethereum, el La canonicidad es imposible de probar de manera concluyente. Para solucionar este problema, las aplicaciones que intentan basarse en cualquier tipo de causa-efecto dependiente de la cadena, espere una serie de "confirmaciones", o hasta que la transacción dependiente esté en algún profundidad particular dentro de la cadena. El Ethereum, esto la profundidad varía desde 1 bloque para las transacciones menos valiosas sin problemas de red conocidos hasta 1200 bloques como era el caso durante el lanzamiento inicial de Frontier para intercambios. En la red estable “Homestead”, esta cifra se ubica en 120 bloques para la mayoría de los intercambios, y probablemente tomaríamos un parámetro similar. entonces nosotros puede imagina nuestro Polkadot-lado Ethereuminterfaz para tener algunas funciones simples: poder aceptar un nuevo encabezado de la red Ethereum y validar el PoW, para poder aceptar alguna prueba de que un registro particular fue emitido por el contrato de ruptura del lado Ethereum para un cabezazo de suficiente profundidad (y hacia adelante) el mensaje correspondiente dentro de Polkadot) y finalmente poder aceptar pruebas de que un documento previamente aceptado pero El encabezado aún no promulgado contiene una raíz de recibo no válida. Para obtener realmente los datos del encabezado Ethereum (y cualquier prueba de SPV o refutaciones de validez/canonicidad) en la red Polkadot, un incentivo al reenvío 6SPV se refiere a Verificación de pago simplificada en Bitcoin y describe un método para que los clientes verifiquen transacciones manteniendo solo una copia de todos los encabezados de bloques de la cadena PoW más larga.POLKADOT: VISIÓN PARA UN MARCO MULTICADENA HETEROGÉNEO BORRADOR 1 9 se necesitan datos. Esto podría ser tan simple como un pago. (financiado con tarifas cobradas del lado Ethereum) pagado a cualquiera capaz de reenviar un bloque útil cuyo encabezado sea válido. Se pediría a los validadores que retengan información relacionada con los últimos miles de bloques para poder ser capaz de gestionar bifurcaciones, ya sea a través de algún medio intrínseco del protocolo o mediante un contrato mantenido en el cadena de relevo. 5.6. Polkadot y Bitcoin. Bitcoin interoperación presenta un desafío interesante para Polkadot: un llamado La “vinculación bidireccional” sería una pieza útil de infraestructura. tener del lado de ambas redes. Sin embargo, debido a las limitaciones de Bitcoin, proporcionar dicha clavija de forma segura es una tarea nada trivial. Entregar una transacción desde Bitcoin a Polkadot se puede realizar en principio con un proceso similar al de Ethereum; una “dirección de ruptura” controlado de alguna manera por los Polkadot validators podrían recibir tokens transferidos (y los datos enviados junto con ellos). Las pruebas de SPV podrían ser proporcionadas por oracles incentivados y, junto con un período de confirmación, una recompensa otorgada por identificar bloques no canónicos que implican la transacción ha sido “doble gastado”. Cualquier tokens que posea en el La “dirección de ruptura” entonces, en principio, sería controlada por esos mismos validators para su posterior dispersión. Sin embargo, el problema es cómo se pueden controlar de forma segura los depósitos desde un conjunto validator giratorio. a diferencia Ethereum que es capaz de tomar decisiones arbitrarias basadas tras combinaciones de firmas, Bitcoin es sustancialmente más limitado, y la mayoría de los clientes aceptan solo transacciones con múltiples firmas con un máximo de 3 partes. Ampliar esta cifra a 36, ​​o incluso a miles, como en última instancia se desearía, es imposible con el protocolo actual. Una opción es modificar el protocolo Bitcoin para habilitar dicha funcionalidad, sin embargo, las llamadas “bifurcaciones duras” en el Bitcoin mundo son difíciles de organizar a juzgar por los intentos recientes. Una posibilidad es el uso de firmas de umbral, esquemas criptográficos para permitir que un público pueda identificarse individualmente clave para ser controlada efectivamente por múltiples “partes” secretas algunos o todos los cuales deben utilizarse para crear una firma válida. Lamentablemente, las firmas de umbral son compatibles con ECDSA de Bitcoin son computacionalmente costosos de crear y de complejidad polinomial. Otros esquemas como Las firmas Schnorr ofrecen costos mucho más bajos; sin embargo, cronograma en el que pueden introducirse en el Bitcoin El protocolo es incierto. Dado que la seguridad última de los depósitos recae en varios validators vinculados, otra opción es reducir los poseedores de claves de firmas múltiples a solo un subconjunto vinculado del total validators tal que el umbral las firmas se vuelven factibles (o, en el peor de los casos, las firmas nativas de Bitcoin es posible la firma múltiple). Esto por supuesto reduce la cantidad total de bonos que podrían deducirse en concepto de reparaciones si los validator se comportaran ilegalmente; sin embargo, esto es una degradación elegante, simplemente estableciendo un límite superior de la cantidad de fondos que pueden circular de forma segura entre los dos redes (o incluso, en el % de pérdidas en caso de un ataque de los validators exitosos). Como tal, creemos que no es poco realista colocar una “paracadena virtual” de interoperabilidad Bitcoin razonablemente segura. entre las dos redes, aunque no deja de ser un esfuerzo sustancial con un cronograma incierto y muy posiblemente requiriendo la cooperación de las partes interesadas dentro de ese red.

Tổng quan về thiết kế

Phần này nhằm mục đích cung cấp một cái nhìn tổng quan ngắn gọn về toàn bộ hệ thống. Sự thăm dò kỹ lưỡng hơn về hệ thống được đưa ra trong phần tiếp theo nó. 5.1. Sự đồng thuận. Trên chuỗi chuyển tiếp, Polkadot đạt được sự đồng thuận ở mức độ thấp đối với một tập hợp các thông tin có giá trị được các bên đồng ý chặn thông qua thuật toán chịu lỗi Byzantine không đồng bộ hiện đại (BFT). Thuật toán sẽ được lấy cảm hứng bởi Tendermint đơn giản [11] và hơn thế nữa có liên quan đến HoneyBadgerBFT [14]. Cái sau cung cấp một sự đồng thuận hiệu quả và có khả năng chấp nhận sai sót đối với một hành động tùy tiện cơ sở hạ tầng mạng bị lỗi, được cung cấp một tập hợp các cơ quan có thẩm quyền hầu như lành tính hoặc validator. Đối với mạng kiểu bằng chứng xác thực (PoA), riêng điều này sẽ là đủ, tuy nhiên Polkadot được cho là cũng có thể triển khai như một mạng hoàn toàn mở và công khai tình huống mà không có bất kỳ tổ chức cụ thể hoặc đáng tin cậy nào thẩm quyền cần thiết để duy trì nó. Như vậy chúng ta cần một phương tiện xác định một tập hợp validator và khuyến khích họ phải thành thật. Đối với điều này, chúng tôi sử dụng lựa chọn dựa trên PoS tiêu chí. 5.2. Chứng minh tiền đặt cược. Chúng tôi giả sử rằng mạng sẽ có một số phương tiện để đo lường “cổ phần” là bao nhiêu bất kỳ tài khoản cụ thể nào cũng có. Để dễ so sánh với các hệ thống có sẵn, chúng ta sẽ gọi đơn vị đo là “tokens”. Thật không may, thuật ngữ này ít lý tưởng hơn cho một nhiều lý do, nhất là việc chỉ đơn giản là một đại lượng vô hướng giá trị liên quan đến một tài khoản, không có khái niệm về tính cá nhân. Chúng tôi cho rằng validator sẽ được bầu không thường xuyên (nhiều nhất là một lần mỗi ngày nhưng có lẽ hiếm khi một lần mỗi quý), thông qua chương trình Bằng chứng cổ phần được đề cử (NPoS). Việc khuyến khích có thể xảy ra thông qua việc phân bổ theo tỷ lệPOLKADOT: TẦM NHÌN VỀ KHUNG KHUNG ĐA CHUỖI KHÔNG ĐỒNG THỂ DỰ THẢO 1 6 Rơle chuỗi Nhóm xác thực (mỗi màu được tô màu bởi nó parachain được chỉ định) Giao dịch (gửi bởi tác nhân bên ngoài) Parachain cầu parachain ảo (ví dụ: Ethereum) Parachain Parachain hàng đợi và I/O Giao dịch lan truyền Chặn việc nộp hồ sơ ứng viên đơn hàng thứ 2 Chuỗi rơle cộng đồng parachain Tài khoản Giao dịch trong nước Giao dịch đi Giao dịch liên chuỗi (được quản lý bởi validators) đối chiếu Khối lan truyền ngư dân Hình 2. Sơ đồ tóm tắt của hệ thống Polkadot. Điều này cho thấy các bộ đối chiếu đang thu thập và truyền bá các giao dịch của người dùng, cũng như truyền bá các ứng cử viên khối cho ngư dân và validators. Nó cũng cho thấy cách một tài khoản có thể đăng một giao dịch được thực hiện từ parachain của nó, thông qua chuỗi chuyển tiếp và vào một parachain khác, nơi nó có thể được hiểu là một giao dịch đối với một tài khoản ở đó. số tiền đến từ việc mở rộng cơ sở token (tối đa 100% mỗi năm, mặc dù nhiều khả năng là khoảng 10%) cùng với bất kỳ khoản phí giao dịch nào được thu thập. Trong khi việc mở rộng cơ sở tiền tệ thường dẫn đến lạm phát, vì tất cả chủ sở hữu token sẽ có cơ hội tham gia công bằng, không chủ sở hữu token nào sẽ phải chịu sự giảm giá trị tài sản của mình nắm giữ theo thời gian miễn là họ vui vẻ chấp nhận vai trò trong cơ chế đồng thuận Một tỷ lệ cụ thể trong số token sẽ được nhắm mục tiêu cho quy trình staking; cái việc mở rộng cơ sở token hiệu quả sẽ được điều chỉnh thông qua một cơ chế dựa trên thị trường để đạt được mục tiêu này. Những người xác nhận được liên kết chặt chẽ bởi cổ phần của họ; thoát ra Trái phiếu của validator vẫn được giữ nguyên lâu sau khi nhiệm vụ của validator chấm dứt (có thể là khoảng 3 tháng). Dài thế này thời gian thanh lý trái phiếu cho phép hành vi sai trái trong tương lai có thể xảy ra bị trừng phạt cho đến khi kiểm tra dây chuyền định kỳ. Hành vi sai trái dẫn đến hình phạt, chẳng hạn như giảm thưởng hoặc, trong trường hợp cố ý làm tổn hại đến tính toàn vẹn của mạng, validator mất một phần hoặc toàn bộ cổ phần cho validator khác, người cung cấp thông tin hoặc các bên liên quan nói chung (thông qua việc đốt cháy). Ví dụ: validator người cố gắng phê chuẩn cả hai nhánh của một ngã ba (đôi khi được gọi là cuộc tấn công “tầm ngắn”) có thể được xác định và bị trừng phạt theo cách thứ hai. Các cuộc tấn công tầm xa “không có gì đáng đe dọa”4 bị phá vỡ thông qua một chốt “điểm kiểm tra” đơn giản nhằm ngăn chặn việc tổ chức lại chuỗi nguy hiểm của nhiều hơn một độ sâu chuỗi cụ thể. Để đảm bảo các máy khách mới được đồng bộ hóa không thể bị lừa vào chuỗi sai, thường xuyên “hard fork” sẽ xảy ra (nhiều nhất là trong cùng thời kỳ của validators' thanh lý trái phiếu) mã hóa cứng khối điểm kiểm tra gần đây hash vào khách hàng. Điều này hoạt động tốt với một biện pháp giảm dấu chân hơn nữa là “độ dài chuỗi hữu hạn” hoặc thiết lập lại định kỳ khối Genesis. 5.3. Parachains và Collators. Mỗi parachain được các điều kiện bảo mật tương tự như chuỗi chuyển tiếp: cái Các tiêu đề của parachains được niêm phong trong khối chuỗi chuyển tiếp đảm bảo không tổ chức lại hoặc "chi tiêu gấp đôi" sau khi được xác nhận. Đây là sự đảm bảo an ninh tương tự như sự đảm bảo an ninh được cung cấp bởi chuỗi bên và hoạt động khai thác hợp nhất của Bitcoin. Tuy nhiên, Polkadot cũng cung cấp sự đảm bảo mạnh mẽ rằng việc chuyển đổi trạng thái của parachain là hợp lệ. Cái này xảy ra thông qua tập hợp validator được phân chia ngẫu nhiên bằng mật mã thành các tập hợp con; một tập hợp con cho mỗi parachain, các tập hợp con có khả năng khác nhau trên mỗi khối. Cái này thiết lập thường ngụ ý rằng thời gian chặn của parachains sẽ ít nhất phải dài bằng chuỗi chuyển tiếp. cụ thể phương tiện xác định phân vùng nằm ngoài phạm vi 4Cuộc tấn công như vậy là lúc đối thủ tạo ra một chuỗi lịch sử hoàn toàn mới từ khối khởi đầu trở đi. Thông qua việc kiểm soát một phần cổ phần tương đối không đáng kể khi bù đắp, họ có thể tăng dần phần cổ phần của mình so với tất cả những người khác các bên liên quan vì họ là những người tham gia tích cực duy nhất trong lịch sử thay thế của họ. Vì không có giới hạn vật lý nội tại nào tồn tại trong quá trình tạo ra của các khối (không giống như PoW nơi phải tiêu tốn năng lượng tính toán khá thực), họ có thể tạo ra một chuỗi dài hơn chuỗi thực trong một khoảng thời gian tương đối ngắn và có khả năng làm cho nó dài nhất và tốt nhất, tiếp quản trạng thái chuẩn của mạng.POLKADOT: TẦM NHÌN VỀ KHUNG KHUNG ĐA CHUỖI KHÔNG ĐỒNG THỂ DỰ THẢO 1 7 của tài liệu này nhưng có thể sẽ dựa trên khung tiết lộ cam kết tương tự như RanDAO [19] hoặc sử dụng dữ liệu kết hợp từ các khối trước của mỗi parachain theo mật mã hash được bảo mật. Các tập hợp con validator như vậy được yêu cầu để cung cấp ứng cử viên khối parachain được đảm bảo hợp lệ (trên nỗi đau của sự tịch thu trái phiếu). Hiệu lực xoay quanh hai điểm quan trọng; trước hết là nó có giá trị về bản chất—rằng tất cả các chuyển đổi trạng thái đều được thực hiện một cách trung thực và tất cả dữ liệu bên ngoài được tham chiếu (tức là các giao dịch) có giá trị để đưa vào. Thứ hai, bất kỳ dữ liệu nào nằm ngoài phạm vi của nó ứng viên, chẳng hạn như các giao dịch bên ngoài, có tính sẵn sàng cao để người tham gia có thể tải xuống và thực thi khối theo cách thủ công.5 Người xác thực chỉ có thể cung cấp khối “null” không chứa dữ liệu “giao dịch” bên ngoài, nhưng có thể gặp rủi ro bị giảm phần thưởng nếu họ làm như vậy. Họ làm việc bên cạnh một giao thức tin đồn parachain với các đối tác—các cá nhân người đối chiếu các giao dịch thành các khối và cung cấp bằng chứng không tương tác, không có kiến thức rằng khối đó cấu thành một phần tử con hợp lệ của phần tử mẹ của nó (và thực hiện bất kỳ giao dịch nào phí cho rắc rối của họ). Các giao thức parachain phải tự xác định phương tiện ngăn chặn thư rác: không có khái niệm cơ bản nào về “đo lường tài nguyên máy tính” hoặc “phí giao dịch” được áp đặt bởi chuỗi chuyển tiếp. Giao thức chuỗi chuyển tiếp cũng không có sự thực thi trực tiếp nào về vấn đề này (mặc dù nó khó có khả năng các bên liên quan sẽ chọn áp dụng một parachain không cung cấp một cơ chế phù hợp). Đây là một sự đồng ý rõ ràng về khả năng của các chuỗi không giống như Ethereum, ví dụ: một chuỗi giống Bitcoin có mô hình tính phí đơn giản hơn nhiều hoặc một số mô hình ngăn chặn thư rác khác chưa được đề xuất. Bản thân chuỗi chuyển tiếp của Polkadot có thể sẽ tồn tại dưới dạng Ethereum giống như tài khoản và chuỗi trạng thái, có thể là phái sinh EVM. Vì các nút chuỗi chuyển tiếp sẽ được yêu cầu thực hiện các xử lý đáng kể khác, thông lượng giao dịch sẽ được giảm thiểu một phần thông qua phí giao dịch lớn và nếu mô hình nghiên cứu của chúng tôi yêu cầu, giới hạn kích thước khối. 5.4. Truyền thông liên chuỗi. Thành phần quan trọng cuối cùng của Polkadot là giao tiếp giữa các chuỗi. Kể từ khi parachains có thể có một số loại kênh thông tin giữa chúng, chúng tôi cho phép mình xem xét Polkadot một đa chuỗi có thể mở rộng. Trong trường hợp Polkadot, việc giao tiếp càng đơn giản càng tốt: các giao dịch được thực hiện trong một parachain (theo logic của chuỗi đó) có thể ảnh hưởng đến việc gửi một giao dịch vào parachain thứ hai hoặc có thể là chuỗi chuyển tiếp. Giống như các giao dịch bên ngoài trên blockchains sản xuất, chúng hoàn toàn không đồng bộ và không có khả năng nội tại để họ trả lại bất kỳ loại thông tin trở lại nguồn gốc của nó. Điểm đến: được dữ liệu từ trước validator của khối. Tài khoản nhận được bài viết: mục nhập bị xóa khỏi xâm nhập Merkle tree Tài khoản gửi bài: mục được đặt trong đi ra Merkle tree cho điểm đến parachain đi ra Nguồn: chia sẻ dữ liệu với khối tiếp theo validators bằng chứng của bài viết được lưu trữ trong lối ra parachain Merkle cây tham chiếu định tuyến được đặt trong parachain đích xâm nhập Merkle tree xâm nhập Hình 3. Sơ đồ cơ bản thể hiện các phần chính của định tuyến cho bài đăng giao dịch (“bài đăng”). Để đảm bảo độ phức tạp thực hiện tối thiểu, tối thiểu rủi ro và tối thiểu áo khoác thẳng của tương lai kiến trúc parachain, các giao dịch liên chuỗi này được thực sự không thể phân biệt được với các giao dịch được ký kết bên ngoài tiêu chuẩn. Giao dịch có phân đoạn gốc, cung cấp khả năng xác định parachain và một địa chỉ có thể có kích thước tùy ý. Không giống như các hệ thống phổ biến hiện nay như Bitcoin và Ethereum, các giao dịch liên chuỗi không đi kèm với bất kỳ hình thức “thanh toán” phí liên quan nào; mọi khoản thanh toán như vậy phải được quản lý thông qua logic đàm phán trên parachain nguồn và đích. Một hệ thống như vậy được đề xuất cho Bản phát hành Serenity của Ethereum [7] sẽ là một phương tiện đơn giản Tuy nhiên, việc quản lý việc thanh toán tài nguyên xuyên chuỗi như vậy chúng tôi cho rằng những người khác có thể chiếm ưu thế vào thời điểm thích hợp. Các giao dịch liên chuỗi được giải quyết bằng cách sử dụng một cách đơn giản cơ chế xếp hàng dựa trên Merkle tree để đảm bảo sự chính xác. Nhiệm vụ của người bảo trì chuỗi chuyển tiếp là di chuyển các giao dịch trên hàng đợi đầu ra của một parachain vào hàng đợi đầu vào của parachain đích. các các giao dịch đã được thông qua sẽ được tham chiếu trên chuỗi chuyển tiếp, tuy nhiên không liên quanbản thân các giao dịch chuỗi ay. Để ngăn chặn một parachain gửi thư rác cho một parachain khác bằng giao dịch, để một giao dịch được gửi đi, cần phải có hàng đợi đầu vào của đích không quá lớn thời điểm kết thúc khối trước đó. Nếu đầu vào hàng đợi quá lớn sau khi xử lý khối thì nó được coi là “bão hòa” và không có giao dịch nào có thể được chuyển đến nó trong các khối tiếp theo cho đến khi giảm trở lại dưới mức giới hạn. Những hàng đợi này được quản lý trên chuỗi chuyển tiếp cho phép các parachain xác định độ bão hòa của nhau tình trạng; theo cách này, một nỗ lực thất bại trong việc đăng một giao dịch đến một đích bị đình trệ có thể được báo cáo đồng bộ. (Mặc dù không có đường dẫn trở lại tồn tại nên nếu giao dịch thứ cấp không thành công vì lý do đó thì nó không thể được báo cáo lại tới người gọi ban đầu và một số phương tiện phục hồi khác sẽ phải diễn ra.) 5.5. Polkadot và Ethereum. Do tính hoàn thiện Turing của Ethereum, chúng tôi hy vọng có nhiều cơ hội để Polkadot và Ethereum có thể tương tác với nhau, ít nhất là trong một số giới hạn an ninh dễ dàng được khấu trừ. Nói tóm lại, chúng tôi hình dung rằng các giao dịch từ Polkadot có thể được ký bởi validators và sau đó được đưa vào 5Nhiệm vụ như vậy có thể được chia sẻ giữa các validator hoặc có thể trở thành nhiệm vụ được chỉ định của một tập hợp các validator được liên kết chặt chẽ được gọi là người bảo đảm sẵn có.

POLKADOT: TẦM NHÌN VỀ KHUNG KHUNG ĐA CHUỖI KHÔNG ĐỒNG THỂ DỰ THẢO 1 8 Ethereum nơi chúng có thể được diễn giải và ban hành bởi một hợp đồng chuyển tiếp giao dịch. Ở hướng khác, chúng tôi thấy trước việc sử dụng nhật ký (sự kiện) được định dạng đặc biệt đến từ một “hợp đồng đột phá” để cho phép xác minh nhanh chóng rằng một tin nhắn cụ thể sẽ được chuyển tiếp. 5.5.1. Polkadot đến Ethereum. Thông qua việc lựa chọn một BFT cơ chế đồng thuận với validator được hình thành từ một tập hợp các bên liên quan được xác định thông qua bỏ phiếu phê duyệt cơ chế, chúng ta có thể đạt được sự đồng thuận an toàn với một thay đổi không thường xuyên và số lượng khiêm tốn validators. Trong một hệ thống có tổng cộng 144 validators, thời gian khối là 4 giây và độ chính xác 900 khối (cho phép mã độc hành vi như bỏ phiếu hai lần sẽ bị báo cáo, bị trừng phạt và được sửa chữa), tính hợp lệ của một khối có thể được xác định một cách hợp lý được coi là đã được chứng minh thông qua ít nhất 97 chữ ký (hai phần ba của 144 cộng một) và thời gian xác minh kéo dài 60 phút sau đó mà không có khiếu nại nào được đưa ra. Ethereum có thể lưu trữ một “hợp đồng đột nhập” có thể duy trì 144 bên ký kết và được kiểm soát bởi họ. Vì việc khôi phục chữ ký số theo đường cong elip (ECDSA) chỉ mất 3.000 gas trong EVM và kể từ đó chúng tôi có thể chỉ muốn việc xác thực diễn ra trên một siêu đa số validators (thay vì hoàn toàn nhất trí), chi phí cơ bản của Ethereum xác nhận rằng một lệnh đã được xác thực hợp lệ vì đến từ mạng Polkadot sẽ tiêu tốn không quá 300.000 gas—chỉ 6% trong số đó tổng giới hạn khí khối ở mức 5,5M. Tăng số lượng validators (cần thiết để xử lý hàng chục chuỗi) chắc chắn sẽ làm tăng chi phí này, tuy nhiên Người ta mong đợi băng thông giao dịch của Ethereum sẽ tăng theo thời gian khi công nghệ hoàn thiện và cơ sở hạ tầng được cải thiện. Cùng với thực tế là không tất cả validator đều cần được tham gia (ví dụ: chỉ có mức cao nhất validator đã đặt cược có thể được yêu cầu thực hiện một nhiệm vụ như vậy) giới hạn của cơ chế này mở rộng khá tốt. Giả sử luân chuyển hàng ngày validators như vậy (tức là khá thận trọng—hàng tuần hoặc thậm chí hàng tháng có thể được chấp nhận), thì chi phí cho mạng lưới duy trì cầu chuyển tiếp Ethereum này sẽ có giá khoảng 540.000 gas mỗi ngày hoặc, theo giá gas hiện tại, là 45 USD mỗi năm. Một giao dịch cơ bản được chuyển tiếp qua cầu sẽ có chi phí khoảng 0,11 USD; việc tính toán hợp đồng bổ sung sẽ tốn kém tất nhiên là nhiều hơn nữa. Bằng cách đệm và đóng gói các giao dịch cùng với nhau, chi phí ủy quyền đột nhập có thể dễ dàng được tính toán được chia sẻ, giảm đáng kể chi phí cho mỗi giao dịch; nếu cần 20 giao dịch trước khi chuyển tiếp thì chi phí để chuyển tiếp một giao dịch cơ bản sẽ giảm xuống khoảng 0,01 USD. Một giải pháp thay thế thú vị và rẻ hơn cho mô hình hợp đồng đa chữ ký này là sử dụng chữ ký ngưỡng để đạt được ngữ nghĩa quyền sở hữu đa phương. Trong khi các sơ đồ chữ ký ngưỡng cho ECDSA đắt tiền về mặt tính toán, đối với các chương trình khác chẳng hạn như chữ ký Schnorr là rất hợp lý. Ethereum có kế hoạch giới thiệu những thứ nguyên thủy sẽ tạo ra những thứ như vậy các chương trình rẻ tiền để sử dụng trong đợt hardfork Metropolis sắp tới. Nếu một phương tiện như vậy có thể được sử dụng, chi phí khí đốt để chuyển tiếp giao dịch Polkadot vào Ethereum mạng sẽ giảm đáng kể xuống gần bằng không chi phí chung vượt quá chi phí cơ bản để xác nhận ký và thực hiện giao dịch cơ bản. Trong mô hình này, các nút validator của Polkadot sẽ có không làm gì khác ngoài việc ký tin nhắn. Để các giao dịch thực sự được định tuyến trên mạng Ethereum, chúng tôi giả sử chính validator cũng sẽ cư trú trên mạng Ethereum hoặc nhiều khả năng là những khoản tiền thưởng nhỏ đó được cung cấp cho tác nhân đầu tiên chuyển tiếp tin nhắn trên vào mạng (tiền thưởng có thể được trả một cách tầm thường cho người khởi tạo giao dịch). 5.5.2. Ethereum tới Polkadot. Bắt các giao dịch được thực hiện được chuyển tiếp từ Ethereum đến Polkadot sử dụng khái niệm nhật ký đơn giản. Khi hợp đồng Ethereum muốn gửi giao dịch đến một parachain cụ thể của Polkadot, nó chỉ cần gọi đến một “hợp đồng đột phá” đặc biệt. Hợp đồng đột phá sẽ nhận bất kỳ khoản thanh toán nào có thể được yêu cầu và đưa ra hướng dẫn ghi nhật ký để sự tồn tại của nó có thể được chứng minh thông qua bằng chứng Merkle và xác nhận rằng tiêu đề của khối tương ứng là hợp lệ và kinh điển. Trong hai điều kiện sau, tính hợp lệ có lẽ là điều kiện dễ chứng minh nhất. Về nguyên tắc, yêu cầu duy nhất làcho mỗi nút Polkadot cần bằng chứng (tức là các nút validator được chỉ định) để chạy một phiên bản được đồng bộ hóa hoàn toàn của nút Ethereum tiêu chuẩn. Thật không may, bản thân điều này lại là một sự phụ thuộc khá nặng nề. Thêm nữa phương pháp nhẹ nhàng sẽ là sử dụng một bằng chứng đơn giản rằng tiêu đề được đánh giá chính xác thông qua việc chỉ cung cấp cần có một phần trạng thái của Ethereum để thực thi đúng cách các giao dịch trong khối và kiểm tra xem nhật ký (có trong biên lai khối) có hợp lệ hay không. Những thứ “giống SPV”6 bằng chứng có thể vẫn yêu cầu một lượng thông tin đáng kể; một cách thuận tiện, chúng thường không cần thiết ở tất cả: hệ thống liên kết bên trong Polkadot sẽ cho phép liên kết bên thứ ba gửi tiêu đề có nguy cơ bị mất mối ràng buộc nếu một số bên thứ ba khác (chẳng hạn như “ngư dân”, xem 6.2.3) cung cấp bằng chứng rằng tiêu đề không hợp lệ (cụ thể là gốc nhà nước hoặc gốc nhận là kẻ mạo danh). Trên mạng PoW chưa hoàn thiện như Ethereum, tính kinh điển không thể được chứng minh một cách thuyết phục. Để giải quyết vấn đề này, các ứng dụng cố gắng dựa vào bất kỳ loại nguyên nhân-kết quả phụ thuộc vào chuỗi, hãy đợi một số “xác nhận” hoặc cho đến khi giao dịch phụ thuộc ở một mức nào đó độ sâu cụ thể trong chuỗi. Vào Ethereum, cái này độ sâu thay đổi từ 1 khối đối với các giao dịch ít giá trị nhất mà không có sự cố mạng nào được xác định đến 1200 khối như trước đây trường hợp này trong lần phát hành Frontier đầu tiên cho các sàn giao dịch. Trên mạng “Homestead” ổn định, hình này nằm ở 120 khối cho hầu hết các sàn giao dịch và chúng tôi có thể sẽ lấy một tham số tương tự. Vì vậy chúng tôi có thể tưởng tượng của chúng tôi Polkadot bên Ethereumgiao diện có một số chức năng đơn giản: có thể chấp nhận tiêu đề mới từ mạng Ethereum và xác thực PoW, để có thể chấp nhận một số bằng chứng cho thấy nhật ký cụ thể được phát ra bởi hợp đồng đột phá bên Ethereum cho tiêu đề có đủ độ sâu (và chuyển tiếp tin nhắn tương ứng trong Polkadot) và cuối cùng để có thể chấp nhận bằng chứng rằng một bằng chứng đã được chấp nhận trước đó nhưng tiêu đề chưa được ban hành chứa gốc biên nhận không hợp lệ. Để thực sự có được dữ liệu tiêu đề Ethereum (và bất kỳ bằng chứng SPV hoặc sự bác bỏ tính hợp lệ/kinh điển nào) vào mạng Polkadot, một sự khuyến khích chuyển tiếp 6SPV đề cập đến Xác minh thanh toán đơn giản hóa trong Bitcoin và mô tả phương pháp để khách hàng xác minh giao dịch trong khi chỉ giữ lại một bản sao của tất cả các tiêu đề khối của chuỗi PoW dài nhất.POLKADOT: TẦM NHÌN VỀ KHUNG KHUNG ĐA CHUỖI KHÔNG ĐỒNG THỂ DỰ THẢO 1 9 dữ liệu là cần thiết. Điều này có thể đơn giản như một khoản thanh toán (được tài trợ từ phí thu được từ phía Ethereum) đã thanh toán cho bất kỳ ai có thể chuyển tiếp một khối hữu ích có tiêu đề là hợp lệ. Người xác thực sẽ được yêu cầu lưu giữ thông tin liên quan đến vài nghìn khối cuối cùng để có thể quản lý các nhánh, thông qua một số phương tiện giao thức nội tại hoặc thông qua hợp đồng được duy trì trên chuỗi rơle. 5.6. Polkadot và Bitcoin. Bitcoin tương tác đưa ra một thử thách thú vị dành cho Polkadot: cái gọi là “chốt hai chiều” sẽ là một phần cơ sở hạ tầng hữu ích có ở phía của cả hai mạng. Tuy nhiên, do những hạn chế của Bitcoin, việc cung cấp chốt như vậy một cách an toàn là một công việc không tầm thường. Thực hiện giao dịch từ Bitcoin tới Polkadot về nguyên tắc có thể được thực hiện bằng quy trình tương tự như quy trình dành cho Ethereum; một “địa chỉ đột phá” được kiểm soát theo cách nào đó bởi Polkadot validator có thể nhận token được chuyển (và dữ liệu được gửi cùng với chúng). Bằng chứng SPV có thể được cung cấp bởi oracle được khuyến khích và, cùng với thời gian xác nhận, tiền thưởng được trao cho xác định các khối không chuẩn ngụ ý giao dịch đã được “chi tiêu gấp đôi”. Bất kỳ token nào sau đó được sở hữu trong Về nguyên tắc, “địa chỉ đột phá” sẽ được kiểm soát bởi chính validator đó để phân tán sau này. Tuy nhiên, vấn đề là làm thế nào để có thể kiểm soát khoản tiền gửi một cách an toàn từ bộ validator luân phiên. Không giống Ethereum có thể đưa ra quyết định tùy ý dựa trên dựa trên sự kết hợp của chữ ký, Bitcoin về cơ bản là hạn chế hơn, với hầu hết khách hàng chỉ chấp nhận các giao dịch đa chữ ký với tối đa 3 bên. Việc mở rộng con số này lên 36, hoặc thậm chí hàng nghìn như mong muốn cuối cùng, là không thể theo giao thức hiện tại. Một tùy chọn là thay đổi giao thức Bitcoin để kích hoạt chức năng như vậy, tuy nhiên cái gọi là “hard fork” trong Bitcoin thế giới rất khó sắp xếp việc đánh giá bằng những nỗ lực gần đây. Một khả năng là việc sử dụng chữ ký ngưỡng, các sơ đồ mật mã cho phép một công chúng có thể nhận dạng được một cách duy nhất khóa được kiểm soát hiệu quả bởi nhiều “bộ phận” bí mật, một số hoặc tất cả trong số đó phải được sử dụng để tạo chữ ký hợp lệ. Thật không may, chữ ký ngưỡng tương thích với ECDSA của Bitcoin rất tốn kém về mặt tính toán tạo và có độ phức tạp đa thức. Các phương án khác như chữ ký Schnorr mang lại chi phí thấp hơn nhiều, tuy nhiên dòng thời gian mà chúng có thể được đưa vào Bitcoin giao thức không chắc chắn. Vì sự an toàn cuối cùng của tiền gửi phụ thuộc vào một số validator được liên kết, một tùy chọn khác là giảm số lượng người nắm giữ khóa đa chữ ký xuống chỉ còn rất nhiều tập hợp con liên kết của tổng validators sao cho ngưỡng đó chữ ký trở nên khả thi (hoặc tệ nhất là chữ ký gốc của Bitcoin có thể có nhiều chữ ký). Điều này tất nhiên làm giảm tổng số tiền trái phiếu có thể được khấu trừ để bồi thường nếu validator hành xử bất hợp pháp, tuy nhiên điều này là một sự xuống cấp duyên dáng, chỉ đơn giản là thiết lập giới hạn trên của số tiền có thể chạy một cách an toàn giữa hai mạng (hoặc thực tế là trên % tổn thất nếu một cuộc tấn công từ validators thành công). Vì vậy, chúng tôi tin rằng sẽ không phi thực tế khi đặt một “parachain ảo” có khả năng tương tác an toàn hợp lý Bitcoin giữa hai mạng, mặc dù vậy vẫn là một nỗ lực đáng kể với thời gian không chắc chắn và hoàn toàn có thể đòi hỏi sự hợp tác của các bên liên quan trong đó mạng.

Protocolo en detalle

El protocolo se puede dividir aproximadamente en tres partes: el mecanismo de consenso, la interfaz parachain y enrutamiento de transacciones entre cadenas. 6.1. cadena de relevo Operación. el cadena de relevos voluntad Probablemente sea una cadena muy similar a Ethereum en que está basado en el estado con la dirección de asignación del estado a la cuenta información, principalmente saldos y (para evitar repeticiones) una contador de transacciones. Colocar cuentas aquí cumple un propósito: dar cuenta de lo que la identidad posee. qué cantidad de participación en el sistema.7 Sin embargo, habrá diferencias notables: • Los contratos no pueden implementarse a través de transacciones; Siguiendo el deseo de evitar la funcionalidad de la aplicación en la cadena de relés, no apoyar el despliegue público de los contratos. • No se contabiliza el uso de recursos informáticos (“gas”); ya que las únicas funciones disponibles para uso público será arreglado, la razón detrás de la contabilidad del gas ya no aguanta. Como tal, se aplicará una tarifa fija en todos los casos, lo que permite un mayor rendimiento de cualquier ejecución de código dinámico que puede ser necesario realizar y un formato de transacción más simple. • Se admite una funcionalidad especial para los contratos listados que permite la ejecución automática y la salida de mensajes de red. En el caso de que la cadena de relés tenga una VM y sea Basado en EVM, tendría una serie de modificaciones para garantizar la máxima simplicidad. probablemente tener una serie de contratos incorporados (similares a los de direcciones 1-4 en Ethereum) para permitir la configuración específica de la plataforma. deberes a gestionar, incluido un contrato de consenso, un Contrato validator y un contrato parachain. Si no es el EVM, entonces la alternativa más probable es un backend WebAssembly [2] (wasm); en este caso el total La estructura sería similar, pero no habría necesidad. para los contratos incorporados con Wasm como un objetivo viable para lenguajes de propósito general en lugar de los inmaduros e idiomas limitados para EVM. Otras posibles desviaciones del protocolo actual Ethereum son bastante posibles, por ejemplo, una simplificación del formato de recibo de transacción que permite la ejecución paralela de transacciones no conflictivas dentro del mismo bloque, como se propone para la serie de cambios Serenity. Es posible, aunque poco probable, que un modelo similar al Serenity La cadena "pura" se implementará como cadena de relevos, lo que permitirá una contrato particular para gestionar cosas como el staking token equilibrios en lugar de convertirlos en una parte fundamental El protocolo de la cadena. En la actualidad, creemos que es poco probable que esto ofrecerá una simplificación del protocolo lo suficientemente grande como para ser Vale la pena la complejidad e incertidumbre adicionales involucradas. en desarrollarlo. 7 Como medio para representar la cantidad que un titular determinado es responsable de la seguridad general del sistema, estas cuentas de participación inevitablemente codifican algún valor económico. Sin embargo, debe entenderse que dado que no existe la intención de que dichos valores se utilicen en de cualquier manera con el fin de intercambiar bienes y servicios del mundo real, debe tenerse en cuenta que los tokens no deben compararse con moneda y, como tal, la cadena de retransmisiones conserva su filosofía nihilista con respecto a las aplicaciones.POLKADOT: VISIÓN PARA UN MARCO MULTICADENA HETEROGÉNEO BORRADOR 1 10 Hay una serie de pequeñas funciones necesarias para administrar el mecanismo de consenso, el conjunto validator, el mecanismo de validación y las paracaídas. estos podrían implementarse juntos bajo un protocolo monolítico. Sin embargo, por motivos de modularidad, los describimos como "contratos" de la cadena de retransmisiones. Esto debería entenderse en el sentido de que son objetos (en el sentido de programación orientada a objetos) gestionada por el mecanismo de consenso de la cadena de retransmisión, pero no necesariamente eso se definen como programas en códigos de operación similares a EVM, ni incluso que sean direccionables individualmente a través del sistema de cuentas. 6.2. Contrato de participación. Este contrato mantiene el conjunto validator. Gestiona: • qué cuentas son actualmente validators; • que están disponibles para convertirse en validators en breve aviso; • qué cuentas han colocado participación nominando a un validator; • propiedades de cada uno, incluido el volumen staking, tasas y direcciones de pago aceptables e identidades de corto plazo (sesión). Permite que una cuenta registre el deseo de convertirse en vinculado validator (junto con sus requisitos), para nominar a alguna identidad y para validators vinculados preexistentes para registrar su deseo de salir de este estado. También incluye la propia maquinaria para el mecanismo de validación y canonicalización. 6.2.1. Participación-token Liquidez. Generalmente es deseable tener la mayor cantidad posible del total de staking tokens para ser en juego dentro de las operaciones de mantenimiento de la red desde esto vincula directamente la seguridad de la red con la "capitalización de mercado" general de staking token. Esto puede fácilmente ser incentivado inflando la moneda y entregando las ganancias a quienes participan como validators. Sin embargo, hacerlo presenta un problema: si el token está bloqueado en el contrato de participación bajo castigo de reducción, ¿cómo puede una parte sustancial permanecer lo suficientemente ¿Líquido para permitir el descubrimiento de precios? Una respuesta a esto es permitir un contrato de derivados sencillo, asegurando tokens fungibles sobre un token subyacente apostado. Esto es difícil de arreglar de manera libre de confianza. Además, estos derivados tokens no pueden tratarse por igual por la misma razón por la que los diferentes bonos gubernamentales de la eurozona no son fungibles: hay existe la posibilidad de que el activo subyacente falle y se convierta en inútil. Con los gobiernos de la eurozona, podría haber una predeterminado. Con validator apostados tokens, el validator puede actuar maliciosamente y ser castigado. Siguiendo nuestros principios, elegimos la solución más simple: no se apostarán todos los token. Esto significaría que una proporción (quizás el 20%) de tokens permanecerá líquida por la fuerza. Aunque esto es imperfecto desde una perspectiva de seguridad, es poco probable que marque una diferencia fundamental en la seguridad de la red; El 80% de las reparaciones posibles derivadas de la confiscación de bonos todavía podrían hacerse en comparación con el "caso perfecto" del 100% staking. La relación entre tokens apostados y líquidos se puede determinar de forma bastante sencilla mediante un mecanismo de subasta inversa. Básicamente, titulares de token interesados en ser validator cada uno publicaría una oferta para el contrato staking indicando la tasa de pago mínima que necesitarían para tomar parte. Al comienzo de cada sesión (las sesiones sucede regularmente, tal vez tan a menudo como una vez por hora) el validator espacios se llenarían de acuerdo con cada aspirante Tasa de participación y pago de validator. Un posible algoritmo porque esto sería tomar aquellos con las ofertas más bajas que representar una participación no superior a la participación total objetivo dividido por el número de espacios y no inferior a un límite inferior de la mitad de esa cantidad. Si las plazas no se pueden llenar, el límite inferior podría reducirse repetidamente en algún factor para satisfacerlo. 6.2.2. Nominación. Es posible nominar sin confianza unos staking tokens a un validator activo, dándoles la responsabilidad de los deberes de validator. Nominación de obras a través de un sistema de votación de aprobación. Cada posible nominador puede publicar una instrucción en el contrato staking expresando una o más identidades validator bajo cuyas responsabilidad que están dispuestos a confiar a su vínculo. En cada sesión, los bonos de los nominadores se distribuyen para ser representado por uno o más validators. El algoritmo de dispersión se optimiza para un conjunto de validators de total equivalente bonos. Los bonos de los nominadores quedan bajo la responsabilidad efectiva del validator ay ganar interés o sufrir una reducción del castigo en consecuencia. 6.2.3. Confiscación/quema de bonos. Cierto comportamiento validator resulta en una reducción punitiva de su vínculo. si la fianza se reduce por debajo del mínimo permitido, el La sesión finaliza prematuramente y se inicia otra. Una lista no exhaustiva de mala conducta punible validator incluye: • Ser parte de un grupo parachain que no puede proporcionar consenso sobre la validez de un bloque de parachain; • firmar activamente por la validez de un documento inválido bloque de paracaídas; • incapacidad de suministrar cargas útiles de salida anteriormente votado como disponible; • inactividad durante el proceso de consenso; • validación de bloques de cadena de relés en horquillas de la competencia. Algunos casos de mala conducta amenazan la integridad de la red (como firmar bloques de parachain no válidos y validar múltiples lados de una bifurcación) y, como tal, resultan en un exilio efectivo mediante la reducción total del vínculo. en otros casos menos graves (por ejemplo, inactividad en el consenso proceso) o casos en los que no se puede asignar la culpa con precisión (ser parte de un grupo ineficaz), una pequeña porción de la fianza podrá ser multado. En este último caso, este funciona bien con la rotación de subgrupos para garantizar que las personas maliciosas Los nodos sufren sustancialmente más pérdidas que los nodos benévolos con daños colaterales. En algunos casos (por ejemplo, validación de múltiples bifurcaciones y no válida firma de subbloque) validators no pueden detectar fácilmente el mal comportamiento de los demás debido a la verificación constante de cada bloque de parachain sería una tarea demasiado ardua. aquí es necesario conseguir el apoyo de partidos externos a el proceso de validación para verificar y denunciar dicha mala conducta. Las partes obtienen una recompensa por denunciar dicha actividad; su término, “pescadores”, surge de la improbabilidad de tal recompensa. Dado que estos casos suelen ser muy graves, imaginamos que cualquier recompensa puede pagarse fácilmente con la fianza confiscada. En general preferimos equilibrar la quema (es decir, reducción a nada) con reasignación, en lugar de intentar una reasignación total. Esto tiene el efecto de

POLKADOT: VISIÓN PARA UN MARCO MULTICADENA HETEROGÉNEO BORRADOR 1 11 aumentando el valor total del token, compensando el red en general hasta cierto punto en lugar de la red específica parte involucrada en el descubrimiento. Esto es principalmente como medida de seguridad. mecanismo: las grandes cantidades involucradas podrían llevar a una incentivación extrema y aguda del comportamiento si todas otorgado a un solo objetivo. En general, es importante que la recompensa sea lo suficientemente grande como para que la verificación valga la pena para la red, pero no tan grande como para compensar los costos de afrontar una transacción. criminal bien financiada y bien orquestada a “nivel industrial” ataque de piratería a algún desafortunado validator para forzar un mal comportamiento. De esta manera, la cantidad reclamada en general no debería ser mayor que el vínculo directo del errante validator, no sea que un El incentivo perverso surge de comportarse mal y reportarse para recibir la recompensa. Esto puede combatirse explícitamente a través de un requisito mínimo de vinculación directa por ser validator o implícitamente educando a los nominadores que los validators con pocos bonos depositados no tienen grandes incentivos portarse bien. 6.3. Registro de paracaídas. Cada paracadena se define en este registro. Es una construcción similar a una base de datos relativamente simple y contiene información tanto estática como dinámica sobre cada cadena. La información estática incluye el índice de cadena (un simple entero), junto con la identidad del protocolo de validación, un medios para distinguir entre las diferentes clases de parachain para que el algoritmo de validación correcto pueda ser dirigido por validators dedicados a presentar un candidato válido. Una prueba de concepto inicial se centraría en colocar los nuevos algoritmos de validación en los propios clientes, lo que efectivamente requiere una bifurcación dura del protocolo cada vez que Se agregaron clases adicionales de cadena. Aunque en última instancia, es posible especificar el algoritmo de validación en de una manera lo suficientemente rigurosa y eficiente para que los clientes estén capaz de trabajar eficazmente con nuevas paracaídas sin bifurcación dura. Una posible vía para lograrlo sería especificar el algoritmo de validación de parachain en un bien establecido, lenguaje compilado de forma nativa y neutral a la plataforma, como WebAssembly. Se necesitan investigaciones adicionales para determinar si esto es realmente factible; sin embargo, si es así, podría traer con ello la tremenda ventaja de desterrar los hard-forks para siempre. La información dinámica incluye aspectos del sistema de enrutamiento de transacciones que deben tener un acuerdo global, como como la cola de ingreso de la parachain (descrita en la sección 6.6). El registro solo puede agregar paracaídas mediante votación plena en referéndum; esto podría ser manejado internamente, pero lo más probable es que se coloque en un lugar externo. contrato de referéndum para facilitar la reutilización en virtud de componentes de gobernanza más generales. Los parámetros a requisitos de votación (por ejemplo, cualquier quórum requerido, mayoría requerido) para el registro de cadenas adicionales y otros, Las actualizaciones menos formales del sistema se establecerán en un “documento maestro”. constitución”, pero es probable que sigan una política bastante tradicional. camino, al menos inicialmente. La formulación precisa está fuera de alcance para el presente trabajo, pero p.e. una supermayoría de dos tercios para aprobar con más de un tercio del sistema total La votación positiva en juego puede ser un punto de partida sensato. Las operaciones adicionales incluyen la suspensión y eliminación de paracaídas. Es de esperar que la suspensión nunca suceder, sin embargo, está diseñado para ser una salvaguardia menos Puede haber algún problema intratable en el sistema de validación de una parachain. El caso más obvio en el que podría Lo que se necesita es una diferencia crítica de consenso entre las implementaciones que lleven a validators a no poder ponerse de acuerdo sobre validez o bloqueos. Se alentaría a los validadores a utilizar múltiples implementaciones de clientes para que puedan para detectar tal problema antes de la confiscación de la fianza. Dado que la suspensión es una medida de emergencia, sería bajo los auspicios de la dinámica validator-votación en lugar que un referéndum. La reinstalación sería posible tanto de los validators o un referéndum. La eliminación total de las paracaídas se produciría sólo después de un referéndum y con el que se requeriría una período de gracia sustancial para permitir una transición ordenada a ya sea una cadena independiente o para formar parte de alguna otra sistema de consenso. El período de gracia probablemente sería de el orden de meses y es probable que se establezca por cadena en el registro de parachain para que diferentes Las paracaídas pueden disfrutar de diferentes períodos de gracia según su necesidad. 6.4. Bloques de relés de sellado. El sellado se refiere, en esencia, al proceso de canonicalización; es decir, un dato básico transformar cualmapea el original en algo fundamentalmente singular y significativo. Bajo una cadena PoW, Sellado es efectivamente sinónimo de minería. En nuestro caso, Implica la recopilación de declaraciones firmadas de validators sobre la validez, disponibilidad y canonicidad de un bloque de cadena de relés particular y los bloques de paracadena que representa. La mecánica del algoritmo de consenso subyacente BFT está fuera del alcance del presente trabajo. nosotros lo haremos en su lugar, descríbalo usando una primitiva que asume una máquina estatal creadora de consenso. En definitiva esperamos inspirarse en una serie de consensos prometedores BFT algoritmos en el núcleo; Tangaora [9] (una variante BFT de Balsa [16]), Tendermint [11] y HoneyBadgerBFT [14]. El algoritmo tendrá que llegar a un acuerdo sobre múltiples paracaídas en paralelo, diferenciándose así del habitual blockchain mecanismos de consenso. Suponemos que una vez Se alcanza el consenso, podemos registrar el consenso. en una prueba irrefutable que puede ser aportada por cualquiera de los participantes en el mismo. También asumimos que el mal comportamiento dentro del protocolo generalmente se puede reducir a una pequeña grupo que contiene participantes que se portan mal para minimizar los daños colaterales a la hora de aplicar el castigo.8 La prueba, que toma la forma de nuestras declaraciones firmadas, se coloca juntas en el encabezado del bloque de la cadena de retransmisión. con algunos otros campos, entre ellos la raíz de estado de la cadena de retransmisión y la raíz de transacción. el sellado proceso toma lugar bajo un soltero generación de consenso mecanismo dirigiéndose ambos el bloque de la cadena de relés y los bloques de paracaídas que hacen forman parte del contenido del relevo: las paracaídas no son "comprometidas" por separado por sus subgrupos y luego cotejadas más tarde. Esto resulta en un proceso más complejo para la cadena de retransmisión, pero nos permite completar el consenso de todo el sistema en una sola etapa, minimizando la latencia y permitiendo para requisitos bastante complejos de disponibilidad de datos que son útil para el proceso de enrutamiento a continuación. 8Los esquemas de consenso BFT existentes basados ​​en PoS, como Tendermint BFT y el Slasher original, cumplen estas afirmaciones.

POLKADOT: VISIÓN PARA UN MARCO MULTICADENA HETEROGÉNEO BORRADOR 1 12 El estado de la máquina de consenso de cada participante puede modelarse como una tabla simple (bidimensional). Cada participante (validator) tiene un conjunto de información, en la forma de declaraciones firmadas ("votos") de otros participantes, con respecto a cada candidato del bloque de parachain así como al candidato del bloque de retransmisión. El conjunto de información es de dos piezas. de datos: Disponibilidad: ¿no? esto validator tener salida información de publicación de transacciones de este bloque para que ¿Pueden validar adecuadamente los candidatos de parachain en el siguiente bloque? ellos pueden votar ya sea 1 (conocido) o 0 (aún no conocido). Una vez que ellos voto 1, se comprometen a votar de manera similar por el resto de este proceso. Votos posteriores que no respetar esto son motivo de castigo. Validez: ¿es válido el bloque parachain y es todo? datos de referencia externa (p. ej. transacciones) disponible? Esto solo es relevante para validators asignados a la paracadena por la que están votando. Pueden votar 1 (válido), -1 (inválido) o 0 (aún no conocido). Una vez que votan distinto de cero, Estamos comprometidos a votar de esta manera durante el resto del año. el proceso. Votos posteriores que no respetan esto. son motivo de castigo. Todos los validators deben enviar votos; Los votos podrán ser reenviados, calificados por las reglas anteriores. La progresión de El consenso se puede modelar como múltiples algoritmos de consenso estándar BFT sobre cada paracadena que ocurren en paralelo. Dado que estos se ven potencialmente frustrados por una relativamente pequeña minoría de actores maliciosos concentrados en un solo grupo parachain, existe el consenso general para establecer un respaldo que limite el peor de los casos. punto muerto a simplemente uno o más bloques de parachain vacíos (y ronda de castigo para los responsables). Las reglas básicas para la validez de los bloques individuales (que permiten que el conjunto total de validators en su conjunto llegue a consenso para que se convierta en el único candidato parachain para ser referenciado desde el relé canónico): • debe tener al menos dos tercios de sus validators votando positivamente y ninguno votando negativamente; • debe tener más de un tercio de validators votando positivamente a la disponibilidad de información de la cola de salida. Si hay al menos un voto positivo y al menos uno negativo sobre la validez, se crea una condición excepcional. y todo el conjunto de validators debe votar para determinar si hay partes maliciosas o si hay un accidente tenedor. Además de válidos e inválidos, existe un tercer tipo de votos. están permitidos, equivalente a votar por ambos, lo que significa que el nodo tiene opiniones contradictorias. Esto podría deberse a la propietario del nodo ejecuta múltiples implementaciones que no no están de acuerdo, lo que indica una posible ambigüedad en el protocolo. Después de contar todos los votos del conjunto completo validator, si la opinión perdedora tiene al menos una pequeña proporción (a estar parametrizado; como máximo la mitad, quizás significativamente menos) de los votos de la opinión ganadora, entonces se supone que ser una bifurcación accidental de la parachain y la parachain se suspende automáticamente del proceso de consenso. En caso contrario, asumimos que se trata de un acto doloso y castigamos al minoría que votó a favor de la opinión disidente. La conclusión es un conjunto de firmas que demuestran canonicidad. A continuación se puede sellar el bloque de la cadena de relés. y comenzó el proceso de sellado del siguiente bloque. 6.5. Mejoras para el sellado de bloques de relés. mientras este método de sellado ofrece fuertes garantías sobre el funcionamiento del sistema, no se escala particularmente bien ya que la información clave de cada parachain debe tener su Disponibilidad garantizada por más de un tercio de todos los validator. Esto significa que la huella de responsabilidad de cada validator crece a medida que se añaden más cadenas. Si bien la disponibilidad de datos dentro de redes de consenso abierto es esencialmente un problema sin resolver, existen formas de mitigar la sobrecarga colocada en validator nodos. uno simple La solución es darse cuenta de que si bien validators deben asumir asumen la responsabilidad de la disponibilidad de los datos, no necesitan almacenar, comunicar o replicar los datos ellos mismos. Silos de datos secundarios, posiblemente relacionados (o incluso con los mismos) mismos) los recopiladores que recopilan estos datos, podrán gestionar la tarea de garantizar la disponibilidad con los validator proporcionando una parte de sus intereses/ingresos en pago. Sin embargo, si bien esto podría permitir cierta escalabilidad intermedia, todavía no soluciona el problema subyacente; desde agregar más cadenas en general requerirá validators adicionales, el consumo continuo de recursos de la red (particularmente en términos de ancho de banda) crece con el cuadrado de elcadenas, una propiedad insostenible en el largo plazo. Al final, es probable que sigamos golpeándonos la cabeza. contra la limitación fundamental que establece que para una red de consenso para ser considerada disponible segura, la Los requisitos continuos de ancho de banda son del orden del total. validators multiplicado por la información de entrada total. Esto se debe a la incapacidad de una red que no es de confianza para distribuir adecuadamente la tarea de almacenamiento de datos entre muchos nodos, que se encuentra aparte de la tarea eminentemente distribuible de procesamiento. 6.5.1. Presentamos la latencia. Una manera de suavizar esto La regla es relajar la noción de inmediatez. Al requerir que el 33%+1 validators voten por la disponibilidad solo eventualmente, y no inmediatamente, podemos utilizar mejor la propagación exponencial de datos y ayudar a nivelar los picos en el intercambio de datos. Una igualdad razonable (aunque no demostrada) puede ser: (1) latencia = participantes × cadenas Según el modelo actual, el tamaño del sistema aumenta con el número de cadenas para garantizar que el procesamiento sea distribuido; ya que cada cadena requerirá al menos un validator y fijamos la atestación de disponibilidad a una constante proporción de validators, entonces los participantes crecen de manera similar con el número de cadenas. Terminamos con: (2) latencia = tamaño2 Lo que significa que a medida que el sistema crece, el ancho de banda requerido y la latencia hasta la disponibilidad se conocen en todo el mundo. red, que también podría caracterizarse como el número de bloques antes de la finalidad, aumenta con su cuadrado. esto es un factor de crecimiento sustancial y puede convertirse en un obstáculo notable y obligarnos a adoptar paradigmas “no planos” como componer varios “Polkadotes” en una jerarquía para enrutamiento multinivel de publicaciones a través de un árbol de cadenas de relés.

POLKADOT: VISIÓN PARA UN MARCO MULTICADENA HETEROGÉNEO BORRADOR 1 13 6.5.2. Participación pública. Una dirección más posible es lograr la participación pública en el proceso a través de un Sistema de microdenuncias. Al igual que los pescadores, hay podrían ser partes externas para vigilar a los validators que afirman disponibilidad. Su tarea es encontrar a alguien que parezca incapaz de demostrar tal disponibilidad. Al hacerlo ellos puede presentar una microdenuncia a otros validators. prisionero de guerra o Se puede utilizar un bono apostado para mitigar el ataque de Sybil. lo que haría que el sistema fuera en gran medida inútil. 6.5.3. Garantes de disponibilidad. Una ruta final sería nominar un segundo conjunto de validators vinculados como "disponibilidad garantes”. Estos se unirían igual que con los validator normales, e incluso podrían tomarse del mismo conjunto. (aunque de ser así, se elegirían a lo largo de un período prolongado, al menos por sesión). A diferencia de los validator normales, ellos no cambiaría entre paracaídas sino que más bien Forme un solo grupo para dar fe de la disponibilidad de todos los datos importantes entre cadenas. Esto tiene la ventaja de relajar la equivalencia entre participantes y cadenas. Básicamente, las cadenas pueden crecer (junto con el conjunto de cadena original validator), mientras que Los participantes, y específicamente aquellos que participan en el testamento de disponibilidad de datos, pueden permanecer al menos sublineales. y muy posiblemente constante. 6.5.4. Preferencias del clasificador. Un aspecto importante de este sistema es asegurar que haya una selección saludable de alzadores que crean los bloques en cualquier paracadena determinada. si un un solo alzador dominó una paracadena y luego algunos ataques volverse más factible ya que la probabilidad de la falta de la disponibilidad de datos externos sería menos obvia. Una opción es pesar artificialmente los bloques de paracaídas en un mecanismo pseudoaleatorio para favorecer una amplia variedad de alzadoras. En primera instancia requeriríamos como parte del mecanismo de consenso que favorece a validators Se determinó que los candidatos del bloque parachain son "más pesados". De manera similar, debemos incentivar a validators para que intenten sugerir el bloque más pesado que puedan encontrar; este podría ser Esto se hace haciendo que una parte de su recompensa sea proporcional al peso de su candidato. Para garantizar que los alzadores reciban una remuneración justa posibilidades de que su candidato sea elegido ganador candidato en consenso, hacemos el peso específico de un Candidato de bloque de parachain determinado en una función aleatoria conectada con cada alzador. Por ejemplo, tomando la medida de distancia XOR entre la dirección del alzador y algún número pseudoaleatorio criptográficamente seguro determinado cerca del punto del bloque que se está creando (un “billete ganador” ficticio). Esto efectivamente le da a cada clasificador (o, más específicamente, la dirección de cada clasificador) un probabilidad aleatoria de que su bloque de candidatos “gane” todos los demás. Para mitigar el ataque sybil de un solo alzador que “extrae” una dirección cercana al boleto ganador y, por lo tanto, es un favorito en cada bloque, agregaríamos algo de inercia a la dirección de un clasificador. Esto puede ser tan simple como exigirles tener una cantidad base de fondos en la dirección. un mas Un enfoque elegante sería ponderar la proximidad al boleto ganador con la cantidad de fondos estacionados en el dirección en cuestión. Si bien aún no se ha hecho el modelado, es muy posible que este mecanismo permita incluso pequeños interesados para que contribuyan como recopiladores. 6.5.5. Bloques con sobrepeso. Si un conjunto validator está comprometido, pueden crear y proponer un bloque que, aunque válido, requiere una cantidad excesiva de tiempo para ejecutarse y validar. Esto es un problema ya que un grupo validator podría formar razonablemente un bloque que tarda mucho tiempo en ejecutar a menos que ya se conozca alguna información particular que permita un atajo, p. factorizar un gran prima. Si un solo recopilador conociera esa información, entonces tendrían una clara ventaja al conseguir su propio Los candidatos aceptaron siempre que los demás estuvieran ocupados procesando el antiguo bloque. A estos bloques los llamamos sobrepeso. La protección contra validators que envía y valida estos bloques se presenta en gran medida de la misma manera que para bloques no válidos, aunque con una advertencia adicional: dado que el tiempo necesario para ejecutar un bloque (y por lo tanto su estado como sobrepeso) es subjetivo, el resultado final de una votación sobre El mal comportamiento se dividirá esencialmente en tres campos. uno Lo más probable es que el bloque definitivamente no tenga sobrepeso. en este caso más de dos tercios declaran que podrían ejecutar el bloque dentro de algún límite (por ejemplo, 50% del tiempo total permitido entre bloques). Otra es que el el bloque es ddefinitivamente sobrepeso: esto sería si más de dos tercios declaran que no pudieron ejecutar el bloqueo dentro de dicho límite. Una última posibilidad es una situación bastante igual. división de opiniones entre validators. En este caso, podemos optar por aplicar algún castigo proporcionado. Para garantizar que los validators puedan predecir cuándo pueden ser Al proponer un bloque con sobrepeso, puede ser sensato exigirles que publiquen información sobre su propio desempeño para cada bloque. Durante un período de tiempo suficiente, esto debería permitirles perfilar su velocidad de procesamiento en relación con los pares que los juzgarían. 6.5.6. Seguro de alzador. Queda un problema para validators: A diferencia de las redes PoW, para comprobar el estado de un alzador. bloque para su validez, en realidad deben ejecutar las transacciones en él. Los alzadores maliciosos pueden alimentar a los validator con bloques no válidos o con sobrepeso, causándoles dolor (desperdiciando sus recursos) y exigir un costo de oportunidad potencialmente sustancial. Para mitigar esto, proponemos una estrategia simple sobre la parte de validators. En primer lugar, se enviaron candidatos a bloques de parachain a validators debe estar firmado desde una cuenta de cadena de retransmisión con fondos; si no es así, entonces el validator debería desaparecer inmediatamente. En segundo lugar, dichos candidatos deben ordenarse en prioridad mediante una combinación (por ejemplo, multiplicación) de la cantidad de fondos en la cuenta hasta cierto límite, el número de bloques anteriores que el clasificador ha propuesto con éxito en el pasado (sin mencionar cualquier castigos), y el factor de proximidad al ganador. billete como se explicó anteriormente. La gorra debe ser la misma. como los daños punitivos pagados al validator en el caso de ellos enviando un bloque no válido. Para disuadir a los recopiladores de enviar candidatos de bloque no válidos o con sobrepeso a validators, cualquier validator puede colocar en el siguiente bloque una transacción que incluya el bloque infractor que alega mala conducta con el efecto de transferir parte o la totalidad de los fondos en la cuenta del cotejador que se porta mal. cuenta al agraviado validator. Este tipo de transacción anticipa cualquier otra para garantizar que el clasificador no pueda retirar los fondos antes del castigo. la cantidad de Los fondos transferidos como daños y perjuicios son un parámetro dinámico todavía.

POLKADOT: VISIÓN PARA UN MARCO MULTICADENA HETEROGÉNEO BORRADOR 1 14 se modelará, pero probablemente será una proporción de la recompensa del bloque validator para reflejar el nivel de duelo causado. a Para evitar que validators maliciosos confisquen arbitrariamente los fondos de los cotejadores, el cotejador puede apelar la decisión de validator ante un jurado de validators elegidos al azar a cambio Para realizar un pequeño depósito. Si fallan a favor de validator, el depósito es consumido por ellos. Si no, el Se devuelve el depósito y se multa el validator (ya que el validator está en una posición mucho más abovedada, la multa probablemente sea bastante pesado). 6.6. Intercadena Transacción Enrutamiento. Intercadena El enrutamiento de transacciones es uno de los mantenimientos esenciales. tareas de la cadena de relés y sus validators. Este es el Lógica que rige cómo una transacción publicada (a menudo abreviada como simplemente "publicar") pasa de ser un resultado deseado. de una parachain de origen a ser una entrada no negociable de otra parachain de destino sin ninguna confianza requisitos. Elegimos cuidadosamente la redacción anterior; notablemente nosotros no requiere que haya habido una transacción en la fuente parachain haber sancionado explícitamente esta publicación. el unico limitaciones que imponemos a nuestro modelo es que las paracaídas debe proporcionar, empaquetado como parte de su bloque general salida del procesamiento, las publicaciones que son el resultado de la ejecución del bloque. Estas publicaciones están estructuradas como varias colas FIFO; el número de listas se conoce como base de enrutamiento y puede ser alrededor de 16. En particular, este número representa la cantidad de paracaídas que podemos soportar sin tener que recurrir a enrutamiento multifase. Inicialmente, Polkadot admitirá esto tipo de ruta directa, sin embargo, describiremos una posible proceso de enrutamiento multifase (“hiperenrutamiento”) como medio de escalar mucho más allá del conjunto inicial de paracaídas. nosotros asumir eso todos participantes saber el subgrupos para los dos bloques siguientes n, n + 1. En resumen, el El sistema de enrutamiento sigue estas etapas: • CollatorS: miembros de contacto de V alidators[n][S] • Clasificadores: PARA CADA subgrupo: asegurar al menos al menos 1 miembro de V alidators[n][s] en contacto • Alzadoras: PARA CADA subgrupo s: asumir salida[n −1][s][S] está disponible (todas las publicaciones entrantes datos a 'S' del último bloque) • Alzadoras: Componga el bloque candidato b para S: (b.encabezado, b.ext, b.prueba, b.recibo, b.salida) • Alzadoras: enviar prueba información prueba[S] = (b.encabezado, b.ext, b.prueba, b.recibo) a V alidadores[n][S] • CollatorS: garantiza datos de transacciones externas b.ext se pone a disposición de otros alzadores y validators • Alzadoras: PARA CADA UNO subgrupo es: enviar salida información salida[n][S][s] = (b.encabezado, b.recibo, b.salida[s]) a el recibiendo subgrupos miembros de siguiente bloquear V alidadores[n + 1][s] • V alidatorV: preconecta todos los miembros del mismo conjunto para el siguiente bloque: sea N = Chain[n + 1][V]; conectar todos los validators v tales que Chain[n + 1][v] = N • ValidadorV : Cotejar todos los datos ingresados para esto bloque: PARA CADA UNO subgrupo es: recuperar salida[n −1][s][Chain[n][V ]], obtenga de otros validators v tal que Chain[n][v] = Chain[n][V ]. Posiblemente recurriendo a otros validator seleccionados al azar como prueba del intento. • ValidadorV : Aceptar pruebas candidatas para esto. prueba de bloque[Cadena[n][V ]]. Validez del bloque de votos • ValidadorV : Aceptar datos de salida del candidato para siguiente bloque: PARA CADA subgrupo, aceptar salida[n][s][N]. Disponibilidad de salida del bloque de votación; volver a publicar entre los validators interesados v de modo que Cadena[n + 1][v] = Cadena[n + 1][V]. • V alidadorV : HASTA EL CONSENSO Donde: salida[n][desde][hasta] es la cola de salida actual información para publicaciones que van desde parachain 'desde', hasta parachain 'a' en el bloque número 'n'. CollatorS es un clasificador para parachain S. V alidators[n][s] es el conjunto de validators para parachain s en el bloque número n. Por el contrario, Chain[n][v] es la paracadena a la que se asigna validator v en el bloque número n. block.egress[to] es la salida cola de publicaciones de algún bloque de parachain cuyo El destino de la parachain es. Dado que los alzadores cobran tarifas (de transacción) basadas en sus bloques se vuelven canónicos y se les incentiva a asegúrese de que para cada destino del siguiente bloque, el subgrupo los miembros son informados de la cola de salida del presente bloque. Los validadores solo están incentivados a formar un consenso sobre un bloque (parachain), como tal, les importa poco cuyo bloque de alzador finalmente se vuelve canónico. en En principio, un validator podría formar una alianza con un recopilador y conspirar para reducir las posibilidades de que otros recopiladores Los bloques se vuelven canónicos, sin embargo, esto es difícil. para organizar debido a la selección aleatoriación de validators para parachains y podría defenderse con una reducción en las tarifas pagaderas por los bloques de parachain que resisten el proceso de consenso. 6.6.1. Disponibilidad de datos externos. Garantizar la seguridad de una paracadena La disponibilidad de datos externos es un problema constante con sistemas descentralizados destinados a distribuir la carga de trabajo entre la red. El meollo del problema es la disponibilidad problema que establece que dado que no es posible hacer una prueba de disponibilidad no interactiva ni ningún tipo de prueba de no disponibilidad, para que un sistema BFT funcione correctamente validar cualquier transición cuya corrección dependa de la disponibilidad de algunos datos externos, el número máximo de nodos aceptablemente bizantinos, más uno, del sistema debe dar fe de que los datos están disponibles. Para que un sistema se amplíe correctamente, como Polkadot, esto invita a un problema: si una proporción constante de validators debe dar fe de la disponibilidad de los datos, y suponiendo que validators realmente querrá almacenar los datos antes de afirmar que están disponibles, entonces, ¿cómo evitamos el ¿Problema de que los requisitos de ancho de banda/almacenamiento aumentan con el tamaño del sistema (y por lo tanto con el número de validators)? Una posible respuesta sería tener un conjunto separado de validators (garantes de disponibilidad), cuyo pedido crece sublinealmente con el tamaño de Polkadot en su conjunto. esto es descrito en 6.5.3. También tenemos un truco secundario. Como grupo, los recopiladores tienen un incentivo intrínseco para garantizar que todos los datos sean disponible para su parachain elegido ya que sin él no pueden crear más bloques a partir de los cuales puedan cobrar tarifas de transacción. Los recopiladores también forman un grupo cuya composición es variada (debido a la naturaleza aleatoria de parachain validator grupos) no trivial de ingresar y fácil

POLKADOT: VISIÓN PARA UN MARCO MULTICADENA HETEROGÉNEO BORRADOR 1 15 para probar. Por lo tanto, a los recopiladores recientes (quizás de los últimos miles de bloques) se les permite emitir desafíos a la disponibilidad de datos externos para una parachain en particular bloquee a validators para obtener un pequeño bono. Los validadores deben comunicarse con aquellos del subgrupo validator aparentemente infractor que testificó y adquirir y devolver los datos al recopilador o escalar la situación. asunto testificando sobre la falta de disponibilidad (la negativa directa a proporcionar los datos cuenta como un delito de confiscación de fianza, por lo tanto, el mal comportamiento de validator probablemente solo desconectar la conexión) y contactar a validators adicionales para ejecutar la misma prueba. En este último caso, la fianza del alzador es devuelto. Una vez que se alcanza un quórum de validators que pueden hacer dichos testimonios de no disponibilidad, son liberados, el El subgrupo que se porta mal es castigado y el bloqueo se revierte. 6.6.2. Enrutamiento de publicaciones. Cada encabezado de parachain incluye un salida-trie-raíz; esta es la raíz de un trie que contiene el contenedores de base de enrutamiento, siendo cada contenedor una lista concatenada de puestos de salida. Se pueden proporcionar pruebas de Merkle en parachain validators para demostrar que una parachain en particular El bloque tenía una cola de salida particular para una parachain de destino particular. Al comienzo del procesamiento de un bloque de parachain, cada La cola de salida de otra parachain con destino a dicho bloque es fusionado en la cola de ingreso de nuestro bloque. Asumimos fuerte, probablemente CSPR9, ordenamiento de subbloques para lograr una operación determinista que no ofrece favoritismo entre ningún Emparejamiento de bloques de paracaídas. Los alzadores calculan la nueva cola y drenar las colas de salida de acuerdo con la parachain lógica. El contenido de la cola de entrada está escrito explícitamente. en el bloque de parachain. Esto tiene dos propósitos principales: En primer lugar, significa que la paracaídas se puede sincronizar sin confianza de forma aislada de las otras paracaídas. En segundo lugar, Simplifica la logística de datos en caso de que todo el ingreso la cola no se puede procesar en un solo bloque; validators y alzadoras pueden procesar los siguientes bloques sin tener que obtener los datos de la cola especialmente. Si la cola de ingreso de la parachain está por encima de un umbral cantidad al final del procesamiento del bloque, luego se marca saturado en la cadena de relés y no pueden recibir más mensajes. se le entregará hasta que sea liquidado. Las pruebas de Merkle son utilizado para demostrar la fidelidad del funcionamiento de la alzadora en La prueba del bloque parachain. 6.6.3. Crítica. Un defecto menor relacionado con este básico El mecanismo es el ataque posterior a la bomba. Aquí es donde todos Las paracaídas envían la máxima cantidad de publicaciones posibles. a una paracadena en particular. Si bien esto ata el objetivo cola de ingreso a la vez, no se produce ningún daño más allá un ataque DoS de transacción estándar. Funcionando con normalidad, con un conjunto de bien sincronizados y alzadores no maliciosos y validators, para N parachains, N × M total validators y L alzadoras por parachain, nosotros Puede desglosar las rutas de datos totales por bloque para: Validador: M −1+L+L: M −1 para los otros validators en el conjunto de parachain, L para cada alzador que proporciona un bloque de parachain candidato y un segundo L para cada alzador del siguiente bloque que requiere las cargas útiles de salida del bloque anterior. (Esto último es en realidad más bien el peor de los casos). operación ya que es probable que los alzadores compartan dichos datos.) Alzador: M +kN: M para una conexión a cada uno relevante bloque de parachain validator, kN para sembrar las cargas útiles de salida en algún subconjunto de cada grupo de parachain validator para el siguiente bloque (y posiblemente algún clasificador favorito). Como tal, las rutas de datos por nodo crecen linealmente con la complejidad general del sistema. Si bien esto es Es razonable, a medida que el sistema se escala a cientos o miles de paracaídas, es posible que se produzca cierta latencia en la comunicación. absorbido a cambio de una menor tasa de crecimiento de la complejidad. En este caso, se puede utilizar un algoritmo de enrutamiento de múltiples fases. para reducir el número de vías instantáneas a costa de introducir buffers de almacenamiento y latencia. 6.6.4. Enrutamiento de hipercubo. El enrutamiento de hipercubos es un mecanismo que en su mayoría puede construirse como una extensión del mecanismo de enrutamiento básico descrito anteriormente. Esencialmente, en lugar de aumentar la conectividad de los nodos con la cantidad de paracaídas y nodos de subgrupos, crecemos solo con el logaritmo de las paracaídas. Los correos pueden transitar entre colas de varias paracaídas en su camino hacia la entrega final. El enrutamiento en sí es determinista y simple. Empezamos por limitar el número de contenedores en las colas de entrada/salida; en lugar de ser el número total de paracaídas, son son losbase de enrutamiento (b). Esto se fijará como el número de cambios de paracaídas, y en su lugar se eleva el exponente de enrutamiento (e). Bajo este modelo, nuestro volumen de mensajes crece con O(be), y las vías permanecen constantes y la latencia (o número de bloques necesarios para la entrega) con O(mi). Nuestro modelo de enrutamiento es un hipercubo de dimensiones e, teniendo cada lado del cubo b posibles ubicaciones. En cada bloque, enrutamos mensajes a lo largo de un solo eje. nosotros alterne el eje en forma circular, garantizando así el peor tiempo de entrega de los bloques e. Como parte del procesamiento de parachain, con destino al extranjero Los mensajes que se encuentran en la cola de entrada se enrutan inmediatamente al contenedor de la cola de salida correspondiente, dada la número de bloque actual (y, por tanto, dimensión de enrutamiento). esto El proceso requiere una transferencia de datos adicional para cada salto. en la ruta de entrega, sin embargo, esto es un problema en sí mismo. que puede mitigarse mediante el uso de algunos medios alternativos de entrega de carga útil de datos e incluye solo una referencia, en lugar de la carga útil completa de la publicación en el post-trie. Un ejemplo de enrutamiento de hipercubo para un sistema con 4 paracaídas, b = 2 y e = 2 podrían ser: Fase 0, en cada mensaje M: • sub0: si Mdest ∈{2, 3} entonces sendTo(2) en caso contrario mantener • sub1: si Mdest ∈{2, 3} entonces sendTo(3) en caso contrario mantener • sub2: si Mdest ∈{0, 1} entonces sendTo(0) en caso contrario mantener • sub3: si Mdest ∈{0, 1} entonces sendTo(1) en caso contrario mantener Fase 1, en cada mensaje M: • sub0: si Mdest ∈{1, 3} entonces sendTo(1) en caso contrario mantener • sub1: si Mdest ∈{0, 2} entonces sendTo(0) en caso contrario mantener • sub2: si Mdest ∈{1, 3} entonces sendTo(3) en caso contrario mantener • sub3: si Mdest ∈{0, 2} entonces sendTo(2) en caso contrario mantener Las dos dimensiones aquí son fáciles de ver como la primera. dos bits del índice de destino; para el primer bloque, el Se utiliza solo el bit de orden superior. El segundo bloque trata con el bit de orden inferior. Una vez que ambas cosas suceden (en forma arbitraria) pedido) entonces la publicación será enrutada. 9 pseudoaleatorio criptográficamente seguro

POLKADOT: VISIÓN PARA UN MARCO MULTICADENA HETEROGÉNEO BORRADOR 1 16 6.6.5. Maximizando la serendipia. Una alteración de lo básico. propuesta vería un total fijo de c2 −c validators, con c−1 validators en cada subgrupo. Cada bloque, en lugar de hay una repartición no estructurada de validators entre paracaídas, en lugar de cada subgrupo de paracaídas, cada validator sería asignado a un único y diferente subgrupo parachain en el siguiente bloque. esto seria llevar a la invariante que entre dos bloques cualesquiera, para cualquier dos pares de parachain, existen dos validators que han intercambiado responsabilidades de parachain. Si bien esto no puede utilizarse para obtener garantías absolutas de disponibilidad (un solo validator ocasionalmente se desconectará, incluso si benévolo), no obstante, puede optimizar el caso general. Este enfoque no está exento de complicaciones. La adición de una paracadena también requeriría una reorganización del conjunto validator. Además, el número de validator, vinculado al cuadrado del número de paracaídas, comenzaría inicialmente muy pequeño y eventualmente crecería mucho demasiado rápido, volviéndose insostenible después de alrededor de 50 paracaídas. Ninguno de estos son problemas fundamentales. En el primer caso, La reorganización de conjuntos validator es algo que debe realizarse. hecho regularmente de todos modos. Respecto al tamaño del validator establecido, cuando es demasiado pequeño, se pueden asignar varios validator a la misma paracadena, aplicando un factor entero a la total general de validators. Un mecanismo de enrutamiento de múltiples fases como el enrutamiento Hypercube, discutido en 6.6.4, aliviar el requisito de una gran cantidad de validators cuando hay una gran cantidad de cadenas. 6.7. Validación de paracadena. El propósito principal de un validator es testificar, como actor bien vinculado, que una paracadena El bloque es válido, incluyendo, entre otros, cualquier transición de estado, cualquier transacción externa incluida, la ejecución de cualquier puesto de espera en la cola de ingreso y el estado final de la cola de salida. El proceso en sí es bastante sencillo. Una vez que el validator selló el bloque anterior quedan libres para comenzar a trabajar para proporcionar un bloque de parachain candidato candidato para la próxima ronda de consenso. Inicialmente, el validator encuentra un candidato a bloque de parachain a través de un intercalador de parachain (descrito a continuación) o uno de sus co-validators. Los datos candidatos del bloque parachain incluye el encabezado del bloque, el encabezado del bloque anterior, cualquier dato de entrada externo incluido (para Ethereum y Bitcoin, dichos datos se denominarían transacciones; sin embargo, en principio pueden incluir estructuras de datos arbitrarias para fines arbitrarios), datos de la cola de salida y datos internos para demostrar la validez de la transición de estado (para Ethereum (estos serían los distintos nodos de prueba de estado/almacenamiento necesarios para ejecutar cada transacción). La evidencia experimental muestra este conjunto de datos completo para un bloque Ethereum reciente ser como máximo unos cientos de KiB. Simultáneamente, si aún no se ha hecho, el validator será intentar recuperar información relativa a la transición del bloque anterior, inicialmente del bloque anterior validators y posteriores de todos los validators que firman para el disponibilidad de los datos. Una vez que validator haya recibido dicho bloque candidato, luego lo validan localmente. El proceso de validación está contenido dentro del módulo validator de la clase parachain, un módulo de software sensible al consenso que debe escribirse para cualquier implementación de Polkadot (aunque en principio una biblioteca con una C ABI podría permitir que una sola biblioteca ser compartido entre implementaciones con el apropiado reducción de la seguridad derivada de tener una sola implementación de “referencia”). El proceso toma el encabezado del bloque anterior y verifica su identidad a través de la cadena de retransmisión recientemente acordada. bloque en el que se debe registrar su hash. Una vez que se determina la validez del encabezado principal, la paracadena específica Se puede llamar a la función de validación de la clase. Esta es una función única que acepta varios campos de datos (aproximadamente los dados anteriormente) y devolver un valor booleano simple proclamando la validez del bloque. La mayoría de estas funciones de validación comprobarán primero la campos de encabezado que pueden derivarse directamente de el bloque principal (por ejemplo, padre hash, número). Siguiendo esto, llenarán cualquier estructura de datos interna como necesarios para procesar transacciones y/o publicaciones. Para una cadena similar a Ethereum, esto equivale a poblar una Pruebe la base de datos con los nodos que serán necesarios para la ejecución completa de las transacciones. Otros tipos de cadenas pueden tener otro pMecanismos reparadores. Una vez hecho esto, las publicaciones de ingreso y las transacciones externas (o lo que sea que representen los datos externos) serán promulgado, equilibrado según las especificaciones de la cadena. (Un El valor predeterminado sensato podría ser exigir que todas las publicaciones de ingreso sean procesado antes de que se atiendan las transacciones externas, sin embargo, esto debería ser decisión de la lógica de la parachain). A través de esta promulgación, se establecerán una serie de puestos de salida creados y se verificará que estos efectivamente coincidan el candidato del clasificador. Finalmente, el lugar debidamente poblado El encabezado se comparará con el encabezado del candidato. Con un bloque candidato completamente validado, el validator Luego puede votar por el hash de su encabezado y enviar toda la información de validación necesaria a los co-validators de su subgrupo. 6.7.1. Alzadores de paracaídas. Los alzadores de Parachain son operadores no vinculados que cumplen gran parte de la tarea de los mineros. en las redes blockchain actuales. son especificos a una paracadena en particular. Para poder operar deben mantener tanto la cadena de relevos como el sistema completamente sincronizado. paracadena. El significado preciso de "completamente sincronizado" dependerá de la clase de parachain, aunque siempre incluirá el estado actual de la cola de ingreso de parachain. En el caso de Ethereum también implica al menos mantener una base de datos Merkle-tree de los últimos bloques, pero podría También incluye varias otras estructuras de datos, incluido Bloom. Filtros para la existencia de cuentas, información familiar, registro. salidas y tablas de búsqueda inversa para el número de bloque. Además de mantener sincronizadas las dos cadenas, También debe “pescar” transacciones manteniendo una cola de transacciones y aceptando transacciones validadas adecuadamente. de la red pública. Con la cola y la cadena, es capaz de crear nuevos bloques candidatos para los validators elegidos en cada bloque (cuya identidad se conoce ya que la cadena de retransmisión está sincronizada) y enviarlos, junto con el diversa información auxiliar, como prueba de validez, a través de la red de pares. Por su problema, cobra todas las tarifas relacionadas con las transacciones que incluye. Varias economías flotan en torno a esto. arreglo. En un mercado altamente competitivo donde hay hay un excedente de alzadoras, es posible que la transacción las tarifas se compartirán con la parachain validators para incentivar la inclusión de un bloque alzador particular. Similarmente,

POLKADOT: VISIÓN PARA UN MARCO MULTICADENA HETEROGÉNEO BORRADOR 1 17 algunos alzadores pueden incluso aumentar los honorarios requeridos a pagar para hacer el bloque más atractivo para validators. En este caso, debería formarse un mercado natural. con transacciones que pagan tarifas más altas y se saltan la cola y tener una inclusión más rápida en la cadena. 6.8. Redes. Creación de redes en blockchains tradicionales como Ethereum y Bitcoin tiene requisitos bastante simples. Todas las transacciones y bloqueos se transmiten en un simple chisme no dirigido. La sincronización es más complicada, especialmente con Ethereum pero en realidad esta lógica estaba contenida en la estrategia de pares en lugar del protocolo en sí, que se resolvió en torno a algunos tipos de mensajes de solicitud y respuesta. Si bien Ethereum avanzó en las ofertas de protocolos actuales con el protocolo devp2p, que permitió a muchos Los subprotocolos se multiplexarán a través de una única conexión de pares y, por lo tanto, tendrán la misma superposición de pares. Admiten muchos protocolos p2p simultáneamente, la parte Ethereum de el protocolo seguía siendo relativamente simple y el p2p El protocolo por ahora permanece inconcluso con importantes Faltan funciones como la compatibilidad con QoS. Lamentablemente, el deseo de crear un protocolo “web 3” más ubicuo se ha extendido en gran medida. falló, y los únicos proyectos que lo utilizaron fueron aquellos explícitamente financiado por la venta colectiva Ethereum. Los requisitos para Polkadot son bastante más sustanciales. Más bien una red totalmente uniforme, Polkadot tiene varios tipos de participantes, cada uno con diferentes requisitos sobre la composición de sus pares y varias redes “vías” cuyos participantes tenderán a conversar sobre datos particulares. Esto significa una superposición de red sustancialmente más estructurada (y un protocolo que la respalde). probablemente será necesario. Además, la extensibilidad para facilitar adiciones futuras, como nuevos tipos de “cadenas”, puede ellos mismos requieren una estructura superpuesta novedosa. Si bien una discusión en profundidad sobre cómo la creación de redes El protocolo puede parecer fuera del alcance de este documento, algunos análisis de requisitos son razonables. podemos dividir aproximadamente a los participantes de nuestra red en dos conjuntos (cadena de relés, paracaídas) cada uno de los tres subconjuntos. podemos También indique que cada uno de los participantes de parachain son solo interesados en conversar entre ellos mismos en lugar de participantes en otras paracaídas: • Participantes de la cadena de retransmisiones: • Validadores: P, dividido en subconjuntos P[s] para cada paracaídas • Garantes de Disponibilidad: A (esto puede estar representado por Validadores en la forma básica del protocolo) • Clientes de cadena de retransmisión: M (nota los miembros de cada El conjunto de paracadenas también tenderá a ser miembros de M) • Participantes de Parachain: • Alzadores de Parachain: C[0], C[1], . . . • Pescadores de Parachain: F[0], F[1],. . . • Clientes de Parachain: S[0], S[1], . . . • Clientes ligeros de Parachain: L[0], L[1], . . . En general nombramos clases particulares de comunicación. tenderá a tener lugar entre miembros de estos conjuntos: • P | un <-> P | R: el lleno conjunto de validators/garantes debe ser bien conectado a lograr consenso. • P[s] <-> C[s] | P[s]: Cada validator como miembro de un grupo parachain determinado tenderá a chismorrear con otros miembros similares, así como con los coladores de esa parachain para descubrir y compartir candidatos de bloque. • A <-> P[s] | C | R: Cada garante de disponibilidad necesitará recopilar cadenas cruzadas sensibles al consenso datos de los validators que se le asignaron; alzadoras también puede optimizar las posibilidades de consenso sobre sus bloquear anunciándolo a los garantes de disponibilidad. Una vez que los tengan, los datos serán desembolsados a otro garante similar para facilitar el consenso. • P[s] <-> A | P[s']: Parachain validators Es necesario recopilar datos de entrada adicionales del conjunto anterior de validators o de los garantes de disponibilidad. • F[s] <-> P: Al informar, los pescadores pueden colocar un reclamo ante cualquier participante. • M <-> M | P | R: Los clientes generales de la cadena de retransmisión desembolsan datos de validators y garantes. • S[s] <-> S[s] | P[s] | R: Los clientes de Parachain desembolsan datos de validator/garantes. • L[s] <-> L[s] | S[s]: clientes ligeros de Parachain desembolsar datos de los clientes completos. Para garantizar un mecanismo de transporte eficiente, se necesita un red superpuesta, como devp2p de Ethereum, donde cada El nodo no diferencia (no arbitrariamente) la idoneidad de sus Es poco probable que sus compañeros sean adecuados. Un razonablemente extensible Es probable que se necesite un mecanismo de selección y descubrimiento de pares. para ser incluido dentro del protocolo así como agresivo planificar una anticipación para garantizar el tipo correcto de pares están conectados “por casualidad”realizado en el momento adecuado. La estrategia precisa de composición de pares será diferente para cada clase de participante: para una escala adecuadamente ampliada multicadena, las alzadoras deberán estar continuamente reconectarse con los validators elegidos en consecuencia, o lo haremos Necesita acuerdos continuos con un subconjunto de validators. para asegurar que no estén desconectados durante la gran mayoría del tiempo que son inútiles para ese validator. Naturalmente, los alzadores también intentarán mantener uno o conexiones más estables en el garante de disponibilidad preparados para garantizar una rápida propagación de sus políticas sensibles al consenso. datos. Los garantes de disponibilidad intentarán principalmente mantener una conexión estable entre sí y con validators (para el consenso y los datos de parachain críticos para el consenso a los que dan fe), así como a algunos alzadores (para el parachain datos) y algunos pescadores y clientes completos (para dispersar información). Los validadores tenderán a buscar otros validator, especialmente aquellos en el mismo subgrupo y cualquier alzadores que puedan suministrarles candidatos a bloques de parachain. Pescadores, así como cadenas de relevos y paracaídas en general. Los clientes generalmente intentarán mantener una conexión abierta a un validator o garante, pero muchos otros nodos similares a sí mismos de otra manera. Los clientes ligeros de Parachain también intentarán estar conectados a un cliente completo de parachain, si no solo otros clientes ligeros de parachain. 6.8.1. El problema de la rotación de pares. En la propuesta de protocolo básico, cada uno de estos subconjuntos se modifica constantemente de forma aleatoria con cada bloque como los validators asignados para verificar las transiciones de parachain se eligen al azar. esto puede ser un problema si es necesario conectar nodos dispares (no pares). pasar datos entre sí. Uno debe confiar en una red de pares bastante distribuida y bien conectada para

POLKADOT: VISIÓN PARA UN MARCO MULTICADENA HETEROGÉNEO BORRADOR 1 18 Asegúrese de que la distancia de salto (y, por lo tanto, la latencia en el peor de los casos) solo crezca con el logaritmo del tamaño de la red. (un protocolo similar a Kademlia [13] puede ayudar aquí), o uno debe introducir tiempos de bloqueo más largos para permitir que se lleve a cabo la negociación de conexión necesaria para mantener un conjunto de pares que Refleja las necesidades de comunicación actuales del nodo. Ninguna de estas son grandes soluciones: tiempos de bloqueo prolongados ser forzado a la red puede hacerla inútil para aplicaciones y cadenas particulares. Incluso un perfectamente justo y la red conectada provocará un desperdicio sustancial del ancho de banda a medida que escala debido a que los nodos desinteresados tienen transmitirles datos que no les son útiles. Si bien ambas direcciones pueden formar parte de la solución, una optimización razonable para ayudar a minimizar la latencia sería ser para restringir la volatilidad de estas parachain validator conjuntos, ya sea reasignando la membresía solo entre series de bloques (por ejemplo, en grupos de 15, que a los 4 segundos El tiempo de bloqueo significaría alterar las conexiones solo una vez por minuto) o rotando los miembros de forma incremental, p. cambiando por un miembro a la vez (por ejemplo, si hay hay 15 validators asignados a cada parachain, entonces, en promedio, sería un minuto completo entre completamente únicos conjuntos). Limitando la cantidad de abandono de pares y garantizando que las conexiones ventajosas entre pares se establezcan bien en avanzar a través de la previsibilidad parcial de parachain conjuntos, podemos ayudar a garantizar que cada nodo mantenga un estado permanente selección fortuita de compañeros. 6.8.2. Camino hacia un protocolo de red eficaz. Probablemente el El esfuerzo de desarrollo más efectivo y razonable se centrará en utilizar un protocolo preexistente en lugar de implementarlo. el nuestro. Existen varios protocolos base peer-to-peer que Podemos usar o aumentar, incluido el propio devp2p de Ethereum. [22], libp2p de IPFS [1] y GNUnet de GNU [4]. Una revisión completa de estos protocolos y su relevancia para construir un Red modular de pares que admite ciertas garantías estructurales, dirección dinámica de pares y subprotocolos extensibles. está mucho más allá del alcance de este documento, pero será una paso importante en la implementación de Polkadot. 7. Aspectos prácticos del Protocolo 7.1. Pago de transacciones entre cadenas. Si bien es un gran Se gana mucha libertad y simplicidad al eliminar la necesidad de un marco de contabilidad de recursos computacionales holístico como el gas de Ethereum, esto plantea una pregunta importante: sin gas, ¿cómo se puede hacer parachain? ¿Evitar que otra paracadena la obligue a realizar cálculos? Si bien podemos confiar en la cola de ingreso posterior a las transacciones buffers para evitar que una cadena envíe spam a otra con datos de transacciones, no existe ningún mecanismo equivalente proporcionado por el protocolo para evitar el spam del procesamiento de transacciones. Este es un problema que se deja al nivel superior. desde cadenas son libres de adjuntar semántica arbitraria al mensaje entrante datos de publicación de transacciones, podemos garantizar que el cálculo debe pagarse antes de comenzar. En una línea similar a la modelo adoptado por Ethereum Serenidad, podemos imaginar un contrato de "intrusión" dentro de una paracadena que permite una validator se le garantizará el pago a cambio del provisión de un volumen particular de recursos de procesamiento. Estos recursos pueden medirse en algo como gas, pero también podría ser algún modelo completamente nuevo, como el tiempo de ejecución subjetivo o un modelo de tarifa fija similar a Bitcoin. Por sí solo, esto no es tan útil, ya que no podemos asumir fácilmente que la persona que llama fuera de la cadena tenga disponible cualquier mecanismo de valor que sea reconocido por el robo contrato. Sin embargo, podemos imaginar un contrato secundario de “ruptura” en la cadena de origen. Los dos contratos juntos formarían un puente, reconociéndose mutuamente y proporcionando equivalencia de valor. (Replanteo-tokens, disponible para cada uno, podría utilizarse para liquidar la balanza de pagos.) Llamar a otra cadena similar significaría hacer proxy a través de este puente, que proporcionaría los medios para negociar la transferencia de valor entre cadenas para pagar los recursos informáticos necesarios en la parachain de destino. 7.2. Adicional Cadenas. mientras el adición de un Parachain es una operación relativamente barata, no es gratuita. Más paracaídas significa menos validators por paracaídas y, eventualmente, un número mayor de validators cada uno con un bono promedio reducido. Si bien la cuestión de un menor costo de coerción por atacar una parachain se mitiga mediante pescadores, el creciente conjunto validator esencialmente obliga a Mayor grado de latencia debido a la mecánica del consenso subyacente.método. Además, cada paracadena trae consigo el potencial de entristecer a validators con un Algoritmo de validación demasiado engorroso. Como tal, habrá algún “precio” que validators y/o la comunidad interesada extraerá para el Adición de una nueva paracadena. Este mercado de cadenas posiblemente vea la adición de: • Cadenas que probablemente tengan un pago de contribución neta cero (en términos de bloquear o quemar staking tokens) para formar parte (por ejemplo, cadenas de consorcio, cadenas Doge, cadenas específicas de aplicaciones); • cadenas que entregan valor intrínseco a la red mediante la adición de una funcionalidad particular difícil llegar a otra parte (por ejemplo, confidencialidad, escalabilidad interna, vinculaciones de servicios). Esencialmente, la comunidad de partes interesadas necesitará ser incentivado a agregar cadenas infantiles, ya sea financiera o a través del deseo de agregar cadenas características al relevo. Se prevé que las nuevas cadenas añadidas tendrán un efecto muy breve plazo de aviso para la retirada, lo que permite la instalación de nuevas cadenas. ser experimentado sin ningún riesgo de comprometer la propuesta de valor a medio o largo plazo. 8. Conclusión Hemos esbozado una dirección que uno puede tomar para escribir un Protocolo multicadena heterogéneo y escalable con el potencial de ser compatible con ciertas versiones preexistentes. blockchain redes. Según dicho protocolo, los participantes trabajar con un interés propio ilustrado para crear un sistema global que pueda ampliarse de una manera excepcionalmente gratuita y sin el coste típico para los usuarios existentes que proviene de un diseño estándar blockchain. hemos dado un esbozo aproximado de la arquitectura que se necesitaría, incluyendo la naturaleza de los participantes, sus incentivos económicos y los procesos bajo los cuales deben participar. tenemos identificó un diseño básico y discutió sus fortalezas y limitaciones; en consecuencia tenemos más direcciones que puede aliviar esas limitaciones y avanzar más hacia una solución blockchain totalmente escalable.POLKADOT: VISIÓN PARA UN MARCO MULTICADENA HETEROGÉNEO BORRADOR 1 19 8.1. Material faltante y preguntas abiertas. La bifurcación de red siempre es una posibilidad debido a implementaciones divergentes del protocolo. La recuperación de tal La condición excepcional no fue discutida. Dado que la red necesariamente tendrá un período de finalización distinto de cero, No debería ser un gran problema recuperarse de la bifurcación de la cadena de retransmisión, sin embargo, requerirá una integración cuidadosa en el protocolo de consenso. La confiscación de bonos y, a la inversa, la provisión de recompensas no ha sido explorado profundamente. Actualmente asumimos recompensas. se proporcionan sobre la base de que el ganador se lo lleva todo: es posible que esto no Ofrecer el mejor modelo de incentivos para los pescadores. Un proceso de confirmación-revelación de corto plazo permitiría a muchos pescadores para reclamar el premio dando una distribución más justa de las recompensas, sin embargo, el proceso podría provocar una latencia adicional en el descubrimiento de mala conducta. 8.2. Expresiones de gratitud. Muchas gracias a todos los correctores que han ayudado a que esto quede vagamente forma presentable. En particular, Peter Czaban, Björn Wagner, Ken Kappler, Robert Habermeier, Vitalik Buterin, Reto Trinkler y Jack Petersson. gracias a todos las personas que han aportado ideas o los inicios Entre ellos, merecen una mención especial Marek Kotewicz y Aeron Buchanan. Y gracias a todos los demás por su ayuda. a lo largo del camino. Todos los errores son míos. Partes de este trabajo, incluida la investigación inicial sobre algoritmos de consenso, fue financiado en parte por los británicos Gobierno bajo el programa Innovate UK.

Giao thức chi tiết

Giao thức có thể được chia đại khái thành ba các bộ phận: cơ chế đồng thuận, giao diện parachain và định tuyến giao dịch liên chuỗi. 6.1. Chuỗi rơle Hoạt động. các chuỗi chuyển tiếp sẽ có thể là một chuỗi tương tự như Ethereum ở chỗ nó dựa trên trạng thái với địa chỉ ánh xạ trạng thái tới tài khoản thông tin, chủ yếu là số dư và (để tránh lặp lại) quầy giao dịch. Việc đặt tài khoản ở đây nhằm đáp ứng một mục đích: cung cấp thông tin kế toán mà danh tính sở hữu số lượng cổ phần trong hệ thống là bao nhiêu.7 Tuy nhiên, sẽ có những khác biệt đáng chú ý: • Hợp đồng không thể triển khai thông qua giao dịch; xuất phát từ mong muốn tránh chức năng ứng dụng trên chuỗi chuyển tiếp, nó sẽ không hỗ trợ triển khai công khai các hợp đồng. • Tính toán việc sử dụng tài nguyên (“gas”) không được tính; vì các chức năng duy nhất có sẵn cho mục đích sử dụng công cộng sẽ được khắc phục, cơ sở lý luận đằng sau việc tính toán khí đốt không còn giữ được nữa. Do đó, một khoản phí cố định sẽ được áp dụng trong mọi trường hợp, cho phép đạt được hiệu suất cao hơn từ bất kỳ thực thi mã động có thể cần phải được thực hiện và một hình thức giao dịch đơn giản hơn. • Chức năng đặc biệt được hỗ trợ cho các hợp đồng được liệt kê cho phép thực hiện tự động và xuất ra thông báo mạng. Trong trường hợp chuỗi chuyển tiếp có VM và nó được dựa trên EVM, nó sẽ có một số sửa đổi để đảm bảo tính đơn giản tối đa. Nó có thể sẽ có một số hợp đồng được xây dựng sẵn (tương tự như ở địa chỉ 1-4 trong Ethereum) để cho phép nền tảng cụ thể nhiệm vụ phải được quản lý bao gồm một hợp đồng đồng thuận, một hợp đồng validator và hợp đồng parachain. Nếu không phải là EVM thì phần phụ trợ WebAssembly [2] (wasm) là lựa chọn thay thế phù hợp nhất; trong trường hợp này tổng thể cấu trúc sẽ tương tự, nhưng sẽ không cần vì các hợp đồng tích hợp với Wasm là mục tiêu khả thi cho các ngôn ngữ có mục đích chung hơn là ngôn ngữ chưa trưởng thành và ngôn ngữ hạn chế cho EVM. Những sai lệch có thể xảy ra khác so với giao thức Ethereum hiện tại là hoàn toàn có thể xảy ra, ví dụ như việc đơn giản hóa định dạng biên nhận giao dịch cho phép thực hiện song song các giao dịch không xung đột trong cùng một khối, như đề xuất cho chuỗi thay đổi Serenity. Có thể, mặc dù không chắc chắn, rằng một thứ giống như Serenity Chuỗi “thuần túy” được triển khai như chuỗi chuyển tiếp, cho phép hợp đồng cụ thể để quản lý những thứ như staking token cân đối hơn là biến nó thành một phần cơ bản của giao thức của chuỗi. Hiện tại, chúng tôi cảm thấy điều này khó có thể xảy ra sẽ cung cấp một sự đơn giản hóa giao thức đủ lớn để đáng giá thêm sự phức tạp và sự không chắc chắn liên quan trong việc phát triển nó. 7Là phương tiện thể hiện số tiền mà một chủ sở hữu nhất định chịu trách nhiệm về tính bảo mật chung của hệ thống, các tài khoản cổ phần này sẽ chắc chắn mã hóa một số giá trị kinh tế. Tuy nhiên, cần hiểu rằng vì không có ý định sử dụng những giá trị đó trong bằng bất kỳ cách nào nhằm mục đích trao đổi hàng hóa và dịch vụ trong thế giới thực, cần lưu ý rằng token không được so sánh với tiền tệ và do đó, chuỗi chuyển tiếp vẫn giữ nguyên triết lý hư vô về các ứng dụng.POLKADOT: TẦM NHÌN VỀ KHUNG KHUNG ĐA CHUỖI KHÔNG ĐỒNG THỂ DỰ THẢO 1 10 Có một số phần chức năng nhỏ cần thiết để quản lý cơ chế đồng thuận, bộ validator, cơ chế xác thực và parachain. Những cái này có thể được thực hiện cùng nhau theo một giao thức nguyên khối. Tuy nhiên, vì lý do tăng cường tính mô-đun, chúng tôi mô tả đây là “hợp đồng” của chuỗi chuyển tiếp. Điều này nên được hiểu là chúng là đối tượng (theo nghĩa lập trình hướng đối tượng) được quản lý bởi cơ chế đồng thuận của chuỗi chuyển tiếp, nhưng không nhất thiết phải như vậy chúng được định nghĩa là các chương trình có mã opcode giống EVM, cũng như thậm chí chúng có thể được định địa chỉ riêng lẻ thông qua hệ thống tài khoản. 6.2. Hợp đồng đặt cọc. Hợp đồng này duy trì bộ validator. Nó quản lý: • tài khoản nào hiện là validators; • có sẵn để trở thành validator trong thời gian ngắn thông báo; • tài khoản nào đã đặt cược đề cử vào một validator; • thuộc tính của từng loại bao gồm staking khối lượng, tỷ lệ thanh toán và địa chỉ được chấp nhận cũng như danh tính (phiên) ngắn hạn. Nó cho phép một tài khoản đăng ký mong muốn trở thành một validator được liên kết (cùng với các yêu cầu của nó), để đề cử một số danh tính và để các validator được liên kết trước đó đăng ký mong muốn thoát khỏi trạng thái này. Nó cũng bao gồm chính bộ máy dành cho cơ chế xác nhận và chuẩn hóa. 6.2.1. Cổ phần-token Thanh khoản. Nói chung là mong muốn có tổng số staking token càng nhiều càng tốt tham gia vào các hoạt động bảo trì mạng kể từ điều này liên kết trực tiếp an ninh mạng với “vốn hóa thị trường” tổng thể của staking token. Điều này có thể dễ dàng được khuyến khích thông qua việc lạm phát tiền tệ và trao số tiền thu được cho những người tham gia với tư cách validators. Tuy nhiên, làm như vậy sẽ có một vấn đề: nếu token bị khóa trong Hợp đồng đặt cược với hình phạt giảm bớt, làm sao một phần đáng kể có thể vẫn còn đủ thanh khoản để cho phép khám phá giá? Một câu trả lời cho vấn đề này là cho phép một hợp đồng phái sinh chuyển tiếp thẳng, đảm bảo token có thể thay thế được trên token đặt cược cơ bản. Điều này rất khó để sắp xếp một cách không tin cậy. Hơn nữa, các token phái sinh này không thể được đối xử bình đẳng vì cùng một lý do khiến các trái phiếu chính phủ khác nhau của các chính phủ Eurozone không thể thay thế được: ở đó là khả năng tài sản cơ bản thất bại và trở thành vô giá trị. Với các chính phủ khu vực đồng Euro, có thể có một mặc định. Với validator đặt cọc token, validator có thể hành động ác ý và bị trừng phạt. Tuân thủ các nguyên lý của mình, chúng tôi chọn giải pháp đơn giản nhất: không phải tất cả token đều được đặt cược. Điều này có nghĩa là một số tỷ lệ (có lẽ là 20%) trong số token sẽ buộc phải duy trì trạng thái thanh khoản. Mặc dù điều này không hoàn hảo xét từ góc độ bảo mật nhưng nó khó có thể tạo ra sự khác biệt cơ bản trong sự an toàn của mạng; 80% số tiền bồi thường có thể từ việc tịch thu trái phiếu vẫn có thể được thực hiện so với “trường hợp hoàn hảo” 100% staking. Tỷ lệ giữa số tiền đặt cọc và số tiền thanh khoản token có thể được nhắm mục tiêu khá đơn giản thông qua cơ chế đấu giá ngược. Về cơ bản, những người nắm giữ token quan tâm đến việc trở thành validator mỗi người sẽ đăng một lời đề nghị cho hợp đồng staking nêu rõ tỷ lệ thanh toán tối thiểu mà họ sẽ yêu cầu thực hiện một phần. Vào đầu mỗi buổi học (các buổi học sẽ xảy ra thường xuyên, có lẽ thường xuyên như một lần mỗi giờ) validator các vị trí sẽ được lấp đầy theo từng vị trí validator cổ phần và tỷ lệ xuất chi. Một thuật toán có thể vì điều này có nghĩa là sẽ nhận những người có giá chào hàng thấp nhất đại diện cho số cổ phần không cao hơn tổng số cổ phần được nhắm mục tiêu chia cho số lượng vị trí và không thấp hơn giới hạn dưới của một nửa số tiền đó. Nếu các khe không thể lấp đầy, giới hạn dưới có thể được giảm đi nhiều lần bởi một số yếu tố để thỏa mãn. 6.2.2. Đề cử. Có thể đề cử một cách đáng tin cậy những cái staking token thành validator đang hoạt động, mang lại cho chúng trách nhiệm về nhiệm vụ của validator. Đề cử tác phẩm thông qua hệ thống bỏ phiếu phê duyệt. Mỗi người đề cử tương lai có thể đăng hướng dẫn lên hợp đồng staking thể hiện một hoặc nhiều validator danh tính dưới quyền của ai trách nhiệm mà họ sẵn sàng giao phó mối quan hệ của mình. Mỗi phiên, trái phiếu của người đề cử được phân tán để được đại diện bởi một hoặc nhiều validators. Thuật toán phân tán tối ưu hóa cho tập hợp validator có tổng số tương đương trái phiếu. Trái phiếu của người đề cử trở thành trách nhiệm thực sự của validator avà thu được lãi suất hoặc phải gánh chịu một giảm nhẹ hình phạt cho phù hợp. 6.2.3. Tịch thu/đốt trái phiếu. Một số hành vi validator nhất định dẫn đến việc giảm bớt mối quan hệ ràng buộc của họ. Nếu trái phiếu bị giảm xuống dưới mức tối thiểu cho phép, phiên kết thúc sớm và một phiên khác bắt đầu. Danh sách không đầy đủ các hành vi sai trái validator có thể bị trừng phạt bao gồm: • Là thành viên của nhóm parachain không thể cung cấp sự đồng thuận về tính hợp lệ của khối parachain; • chủ động ký xác nhận tính hợp lệ của giấy tờ không hợp lệ khối parachain; • không có khả năng cung cấp tải trọng đầu ra trước đó được bình chọn là có sẵn; • không hoạt động trong quá trình đồng thuận; • xác nhận các khối chuỗi chuyển tiếp trên các nhánh cạnh tranh. Một số trường hợp hành vi sai trái đe dọa tính toàn vẹn của mạng (chẳng hạn như ký các khối parachain không hợp lệ và xác thực nhiều mặt của một fork) và do đó dẫn đến việc bị lưu đày hiệu quả thông qua việc giảm tổng số trái phiếu. trong các trường hợp khác ít nghiêm trọng hơn (ví dụ: không hoạt động trong thỏa thuận đồng thuận quy trình) hoặc những trường hợp trách nhiệm không được phân bổ một cách chính xác (là một phần của một nhóm kém hiệu quả), một phần nhỏ thay vào đó, trái phiếu có thể bị phạt. Trong trường hợp sau, điều này hoạt động tốt với việc rời bỏ nhóm phụ để đảm bảo rằng các nút chịu thiệt hại nhiều hơn đáng kể so với các nút nhân từ bị thiệt hại tài sản thế chấp. Trong một số trường hợp (ví dụ: xác thực nhiều nhánh và không hợp lệ ký khối phụ) validator bản thân họ không thể dễ dàng phát hiện hành vi sai trái của nhau do việc xác minh liên tục của mỗi khối parachain sẽ là một nhiệm vụ quá khó khăn. đây cần tranh thủ sự ủng hộ của các bên bên ngoài quá trình xác nhận để xác minh và báo cáo hành vi sai trái đó. Các bên nhận được phần thưởng khi báo cáo hoạt động đó; thuật ngữ của họ, “ngư dân” bắt nguồn từ sự khó có thể xảy ra về phần thưởng như vậy. Vì những trường hợp này thường rất nghiêm trọng nên chúng tôi hình dung rằng bất kỳ phần thưởng nào cũng có thể được thanh toán dễ dàng từ trái phiếu bị tịch thu. Nói chung, chúng tôi muốn cân bằng việc đốt cháy (tức là giảm xuống không có gì) bằng cách tái phân bổ, thay vì đang cố gắng tái phân bổ bán buôn. Điều này có tác dụng

POLKADOT: TẦM NHÌN VỀ KHUNG KHUNG ĐA CHUỖI KHÔNG ĐỒNG THỂ DỰ THẢO 1 11 tăng giá trị tổng thể của token, bù đắp cho mạng nói chung ở một mức độ nào đó hơn là cụ thể bên tham gia khám phá. Điều này chủ yếu là để đảm bảo an toàn cơ chế: số lượng lớn có liên quan có thể dẫn đến việc khuyến khích hành vi cực đoan và gay gắt ban cho một mục tiêu duy nhất. Nói chung, điều quan trọng là phần thưởng phải đủ lớn để khiến việc xác minh trở nên có giá trị đối với mạng, nhưng không quá lớn để bù đắp chi phí cho việc trả trước một tội phạm "cấp công nghiệp" được tài trợ tốt, được tổ chức tốt hack tấn công vào một số validator không may mắn để ép buộc hành vi sai trái. Bằng cách này, số tiền yêu cầu nói chung sẽ là không lớn hơn mối ràng buộc trực tiếp của người phạm tội validator, kẻo động cơ sai trái phát sinh từ hành vi sai trái và báo cáo bản thân để nhận tiền thưởng. Điều này có thể được giải quyết một cách rõ ràng thông qua yêu cầu trái phiếu trực tiếp tối thiểu để trở thành một validator hoặc ngầm giáo dục những người được đề cử rằng validator với ít trái phiếu được ký gửi sẽ không có động lực lớn để cư xử tốt. 6.3. Cơ quan đăng ký Parachain. Mỗi parachain được xác định trong sổ đăng ký này. Nó là một cấu trúc giống cơ sở dữ liệu tương đối đơn giản và chứa cả thông tin tĩnh và động trên mỗi chuỗi. Thông tin tĩnh bao gồm chỉ số chuỗi (một cách đơn giản số nguyên), cùng với nhận dạng giao thức xác nhận, một phương pháp phân biệt giữa các loại khác nhau của parachain để có thể có được thuật toán xác thực chính xác được điều hành bởi validators được giao nhiệm vụ đưa ra một ứng cử viên hợp lệ. Bằng chứng khái niệm ban đầu sẽ tập trung vào việc đặt các thuật toán xác thực mới vào chính các máy khách, đòi hỏi phải có một phân nhánh cứng của giao thức mỗi lần lớp chuỗi bổ sung đã được thêm vào. Tuy nhiên, cuối cùng, có thể chỉ định thuật toán xác nhận trong một cách vừa nghiêm ngặt vừa hiệu quả để khách hàng có thể có thể làm việc hiệu quả với các parachain mới mà không cần cái nĩa cứng. Một con đường khả thi cho việc này là chỉ định thuật toán xác thực parachain được thiết lập tốt, ngôn ngữ trung lập về nền tảng, được biên dịch nguyên bản như WebAssembly. Nghiên cứu bổ sung là cần thiết để xác định liệu điều này có thực sự khả thi hay không, tuy nhiên nếu vậy, nó có thể mang lại cùng với đó là lợi thế to lớn của việc loại bỏ hard fork mãi mãi. Thông tin động bao gồm các khía cạnh của hệ thống định tuyến giao dịch phải có sự thống nhất toàn cầu như như hàng đợi vào của parachain (được mô tả trong phần 6.6). Cơ quan đăng ký chỉ có thể thêm parachains thông qua bỏ phiếu trưng cầu dân ý đầy đủ; điều này có thể được quản lý nội bộ nhưng nhiều khả năng sẽ được đặt ở bên ngoài hợp đồng trưng cầu dân ý để tạo thuận lợi cho việc tái sử dụng theo các thành phần quản trị tổng quát hơn. Các thông số để yêu cầu bỏ phiếu (ví dụ: bất kỳ số đại biểu cần thiết, đa số bắt buộc) để đăng ký chuỗi bổ sung và các chuỗi khác, nâng cấp hệ thống ít chính thức hơn sẽ được đặt ra trong một “bản chính hiến pháp” nhưng có khả năng tuân theo một cách khá truyền thống con đường, ít nhất là ban đầu. Công thức chính xác không còn nữa phạm vi cho công việc hiện tại, nhưng ví dụ: hai phần ba đại đa số sẽ vượt qua với hơn một phần ba tổng số hệ thống bỏ phiếu tích cực có thể là điểm khởi đầu hợp lý. Các hoạt động bổ sung bao gồm việc đình chỉ và loại bỏ parachains. Việc đình chỉ hy vọng sẽ không bao giờ xảy ra, tuy nhiên nó được thiết kế để ít nhất là một biện pháp bảo vệ có một số vấn đề khó giải quyết trong hệ thống xác thực của parachain. Ví dụ rõ ràng nhất nơi nó có thể cần có sự khác biệt quan trọng về mặt đồng thuận giữa các cách triển khai khiến validator không thể đồng ý về tính hợp lệ hoặc khối. Người xác nhận sẽ được khuyến khích sử dụng triển khai nhiều ứng dụng khách để họ có thể để phát hiện vấn đề như vậy trước khi tịch thu trái phiếu. Vì đình chỉ là một biện pháp khẩn cấp nên nó sẽ dưới sự bảo trợ của validator-bỏ phiếu năng động hơn một cuộc trưng cầu dân ý. Có thể cài đặt lại cả hai từ validator hoặc một cuộc trưng cầu dân ý. Việc loại bỏ hoàn toàn parachain sẽ chỉ đến sau một cuộc trưng cầu dân ý và với điều đó sẽ được yêu cầu thời gian ân hạn đáng kể để cho phép chuyển đổi có trật tự sang hoặc là một chuỗi độc lập hoặc trở thành một phần của chuỗi khác hệ thống đồng thuận. Thời gian ân hạn có thể sẽ là thứ tự các tháng và có thể được đặt ra trên cơ sở perchain trong sổ đăng ký parachain theo thứ tự khác nhau parachains có thể tận hưởng thời gian ân hạn khác nhau tùy theo nhu cầu của họ. 6.4. Niêm phong khối chuyển tiếp. Về bản chất, niêm phong đề cập đến đến quá trình phong thánh hóa; tức là dữ liệu cơ bản biến đổi cái nàoánh xạ bản gốc thành một cái gì đó về cơ bản là duy nhất và có ý nghĩa. Trong chuỗi PoW, niêm phong thực sự là một từ đồng nghĩa với khai thác mỏ. Trong trường hợp của chúng tôi, nó liên quan đến việc thu thập các tuyên bố đã được ký từ validator về tính hợp lệ, tính sẵn có và tính chuẩn mực của một khối chuỗi chuyển tiếp cụ thể và các khối parachain nó đại diện. Cơ chế của thuật toán đồng thuận BFT cơ bản nằm ngoài phạm vi của công việc hiện tại. chúng tôi sẽ thay vào đó hãy mô tả nó bằng cách sử dụng một nguyên thủy giả định một máy trạng thái tạo ra sự đồng thuận. Cuối cùng chúng tôi mong đợi được truyền cảm hứng từ một số sự đồng thuận đầy hứa hẹn BFT các thuật toán trong lõi; Tangaora [9] (một biến thể BFT của Bè [16]), Tendermint [11] và HoneyBadgerBFT [14]. Thuật toán sẽ phải đạt được thỏa thuận song song trên nhiều parachain, do đó khác với thông thường blockchain cơ chế đồng thuận. Chúng tôi cho rằng một lần đạt được sự đồng thuận, chúng tôi có thể ghi lại sự đồng thuận bằng chứng không thể chối cãi có thể được cung cấp bởi bất kỳ ai trong số những người tham gia vào nó. Chúng tôi cũng cho rằng hành vi sai trái trong giao thức nói chung có thể được giảm xuống một lượng nhỏ nhóm chứa những người tham gia có hành vi sai trái để giảm thiểu thiệt hại tài sản thế chấp khi xử lý hình phạt.8 Bằng chứng, ở dạng tuyên bố đã ký của chúng tôi, được đặt cùng nhau trong tiêu đề của khối chuỗi chuyển tiếp với một số trường nhất định khác, nhất là gốc trạng thái và gốc tri giao dịch của chuỗi chuyển tiếp. các niêm phong quá trình mất địa điểm dưới một độc thân tạo sự đồng thuận cơ chế địa chỉ cả hai cái khối chuỗi chuyển tiếp và khối parachains tạo nên một phần nội dung của chuyển tiếp: parachains không được các nhóm phụ của chúng “cam kết” riêng biệt và sau đó được đối chiếu sau này. Điều này dẫn đến một quy trình phức tạp hơn cho chuỗi chuyển tiếp, nhưng cho phép chúng tôi hoàn thành sự đồng thuận của toàn bộ hệ thống trong một giai đoạn duy nhất, giảm thiểu độ trễ và cho phép đối với các yêu cầu về tính sẵn có của dữ liệu khá phức tạp, hữu ích cho quá trình định tuyến dưới đây. 8Các chương trình đồng thuận BFT dựa trên PoS hiện có như Tendermint BFT và Slasher ban đầu đáp ứng các xác nhận này.

POLKADOT: TẦM NHÌN VỀ KHUNG KHUNG ĐA CHUỖI KHÔNG ĐỒNG THỂ DỰ THẢO 1 12 Trạng thái của máy đồng thuận của mỗi người tham gia có thể được mô hình hóa dưới dạng bảng (2 chiều) đơn giản. Mỗi người tham gia (validator) có một tập hợp thông tin, ở dạng các tuyên bố đã ký (“phiếu bầu”) từ những người tham gia khác, liên quan đến từng ứng cử viên khối parachain cũng như ứng cử viên khối chuỗi chuyển tiếp. Tập hợp thông tin gồm hai phần của dữ liệu: Sẵn có: có cái này validator có đi ra thông tin bài đăng giao dịch từ khối này vì vậy họ có thể xác thực chính xác các ứng cử viên parachain trên khối sau không? Họ có thể bỏ phiếu 1 (đã biết) hoặc 0 (chưa biết). Một khi họ bỏ phiếu 1, họ cam kết bỏ phiếu tương tự cho phần còn lại của quá trình này. Phiếu bầu sau đó không tôn trọng điều này là căn cứ để trừng phạt. Hiệu lực: khối parachain có hợp lệ không và là tất cả dữ liệu được tham chiếu bên ngoài (ví dụ: giao dịch) có sẵn? Điều này chỉ liên quan đến validator được chỉ định cho parachain mà họ đang bỏ phiếu. Họ có thể bỏ phiếu 1 (hợp lệ), -1 (không hợp lệ) hoặc 0 (chưa biết). Một khi họ bỏ phiếu khác 0, họ cam kết bỏ phiếu theo cách này cho phần còn lại của quá trình này. Những phiếu bầu sau này không tôn trọng điều này là căn cứ để xử phạt. Tất cả validator phải gửi phiếu bầu; phiếu bầu có thể được gửi lại, đủ điều kiện theo các quy tắc trên. Sự tiến triển của sự đồng thuận có thể được mô hình hóa thành nhiều thuật toán đồng thuận BFT tiêu chuẩn trên mỗi parachain diễn ra song song. Vì những điều này có khả năng bị cản trở bởi một tương đối thiểu số nhỏ các tác nhân độc hại tập trung ở một nhóm parachain duy nhất, có sự đồng thuận chung thiết lập một điểm dừng, hạn chế trường hợp xấu nhất xảy ra bế tắc đối với chỉ một hoặc nhiều khối parachain trống (và một hình phạt dành cho những người có trách nhiệm). Các quy tắc cơ bản về tính hợp lệ của các khối riêng lẻ (cho phép toàn bộ tập hợp validator đạt tới sự đồng thuận về việc nó trở thành ứng cử viên parachain duy nhất được tham chiếu từ rơle chính tắc): • phải có ít nhất hai phần ba số validator bỏ phiếu tích cực và không có phiếu bầu tiêu cực; • phải có hơn một phần ba validator bỏ phiếu ủng hộ tính khả dụng của thông tin hàng đợi đi ra. Nếu có ít nhất một phiếu thuận và ít nhất một phiếu phản đối về tính hợp lệ thì một điều kiện ngoại lệ sẽ được tạo và toàn bộ validator phải bỏ phiếu để xác định nếu có các bên có ác ý hoặc nếu có sự cố tình cờ cái nĩa. Ngoài loại phiếu hợp lệ và không hợp lệ, còn có loại phiếu bầu thứ ba được phép, tương đương với việc bỏ phiếu cho cả hai, nghĩa là nút có những ý kiến trái ngược nhau. Điều này có thể là do chủ sở hữu của nút đang chạy nhiều triển khai không đồng ý, cho thấy có thể có sự mơ hồ trong giao thức. Sau khi tất cả phiếu bầu được tính từ bộ validator đầy đủ, nếu ý kiến thua cuộc ít nhất cũng có một tỷ lệ nhỏ nào đó (so với được tham số hóa; nhiều nhất là một nửa, có lẽ ít hơn đáng kể) số phiếu của ý kiến thắng cuộc thì được coi là là một sự phân nhánh parachain ngẫu nhiên và parachain đó sẽ tự động bị đình chỉ khỏi quá trình đồng thuận. Nếu không, chúng tôi cho rằng đó là hành động ác ý và trừng phạt thiểu số bỏ phiếu cho ý kiến bất đồng. Kết luận là một tập hợp các chữ ký chứng minh tính kinh điển. Khối chuỗi chuyển tiếp sau đó có thể được niêm phong và quá trình niêm phong khối tiếp theo bắt đầu. 6.5. Những cải tiến cho khối chuyển tiếp niêm phong. Trong khi phương pháp niêm phong này mang lại sự đảm bảo chắc chắn cho hoạt động của hệ thống, nhưng nó không mở rộng quy mô một cách đặc biệt vì thông tin chính của mỗi parachain phải có tính khả dụng được đảm bảo bởi hơn một phần ba tổng số validator. Điều này có nghĩa là dấu ấn trách nhiệm của mỗi validator phát triển khi có nhiều chuỗi được thêm vào. Mặc dù tính sẵn có của dữ liệu trong các mạng đồng thuận mở về cơ bản là một vấn đề chưa được giải quyết, có nhiều cách để giảm thiểu chi phí hoạt động trên các nút validator. Một điều đơn giản giải pháp là nhận ra rằng trong khi validator phải gánh vác trách nhiệm về tính sẵn có của dữ liệu, họ không thực sự cần phải lưu trữ, truyền đạt hoặc sao chép dữ liệu. Kho chứa dữ liệu thứ cấp, có thể liên quan đến (hoặc thậm chí chính tương tự) những người đối chiếu biên soạn dữ liệu này, có thể quản lý nhiệm vụ đảm bảo tính khả dụng với validator cung cấp một phần tiền lãi/thu nhập của họ để thanh toán. Tuy nhiên, mặc dù điều này có thể mang lại khả năng mở rộng trung gian nhưng nó vẫn không giúp giải quyết được vấn đề cơ bản; kể từ khi việc thêm nhiều chuỗi nói chung sẽ yêu cầu thêm validators, mức tiêu thụ tài nguyên mạng liên tục (đặc biệt là về băng thông) sẽ tăng theo bình phương của cáidây chuyền, một tài sản không thể bảo vệ được về lâu dài. Cuối cùng, chúng ta có xu hướng tiếp tục đập đầu mình chống lại giới hạn cơ bản nói rằng đối với một mạng lưới đồng thuận được coi là có sẵn an toàn, các yêu cầu về băng thông hiện tại có tổng số validators lần tổng thông tin đầu vào. Điều này là do mạng không đáng tin cậy không có khả năng phân phối hợp lý nhiệm vụ lưu trữ dữ liệu trên nhiều nút. ngoài nhiệm vụ xử lý được phân phối rõ ràng. 6.5.1. Giới thiệu độ trễ. Một phương tiện để làm dịu đi điều này quy tắc là để nới lỏng khái niệm về tính tức thời. Bằng cách yêu cầu 33%+1 validator bỏ phiếu cho tính khả dụng cuối cùng chứ không phải ngay lập tức, chúng tôi có thể tận dụng tốt hơn việc truyền dữ liệu theo cấp số nhân và thậm chí giúp đạt được mức cao nhất trong trao đổi dữ liệu. Một sự bình đẳng hợp lý (mặc dù chưa được chứng minh) có thể là: (1) độ trễ = người tham gia × chuỗi Theo mô hình hiện tại, quy mô của hệ thống với số lượng chuỗi để đảm bảo rằng quá trình xử lý được thực hiện phân phối; vì mỗi chuỗi sẽ yêu cầu ít nhất một validator và chúng tôi cố định chứng thực tính khả dụng thành một hằng số tỷ lệ validator giây thì số người tham gia sẽ tăng lên tương tự với số lượng chuỗi. Chúng tôi kết thúc với: (2) độ trễ = kích thước2 Có nghĩa là khi hệ thống phát triển, băng thông được yêu cầu và độ trễ cho đến khi biết được tính khả dụng trên toàn mạng. mạng, cũng có thể được mô tả là số của các khối trước khối cuối cùng, tăng theo bình phương của nó. Đây là một yếu tố tăng trưởng đáng kể và có thể trở thành vật cản đường đáng chú ý và buộc chúng ta đi vào các mô hình “không phẳng” chẳng hạn như soạn một số “Polkadotes” thành một hệ thống phân cấp để định tuyến các bài đăng đa cấp thông qua một cây chuỗi chuyển tiếp.

POLKADOT: TẦM NHÌN VỀ KHUNG KHUNG ĐA CHUỖI KHÔNG ĐỒNG THỂ DỰ THẢO 1 13 6.5.2. Sự tham gia của công chúng. Một hướng đi khả thi hơn là huy động sự tham gia của công chúng vào quá trình này thông qua một hệ thống khiếu nại vi mô. Tương tự như các ngư dân, có có thể là các bên bên ngoài để giám sát validator những người khiếu nại sự sẵn có. Nhiệm vụ của họ là tìm ra một người dường như không thể chứng minh được khả năng sẵn sàng đó. Khi làm như vậy họ có thể gửi khiếu nại vi mô tới validators khác. PoW hoặc một trái phiếu đặt cược có thể được sử dụng để giảm thiểu cuộc tấn công sybil điều này sẽ khiến hệ thống phần lớn trở nên vô dụng. 6.5.3. Người bảo lãnh sẵn có. Con đường cuối cùng sẽ là chỉ định một bộ validator ngoại quan thứ hai là “khả năng sẵn sàng người bảo lãnh”. Chúng sẽ được liên kết giống như validators bình thường và thậm chí có thể được lấy từ cùng một bộ (mặc dù nếu vậy, chúng sẽ được chọn trong thời gian dài, ít nhất là mỗi phiên). Không giống như validator thông thường, chúng sẽ không chuyển đổi giữa các parachain mà thay vào đó sẽ thành lập một nhóm duy nhất để chứng thực sự sẵn có của tất cả dữ liệu liên chuỗi quan trọng. Điều này có ưu điểm là nới lỏng sự tương đương giữa người tham gia và chuỗi. Về cơ bản, chuỗi có thể phát triển (cùng với chuỗi ban đầu validator được đặt), trong khi những người tham gia, và cụ thể là những người tham gia vào chứng thực tính sẵn có của dữ liệu, có thể duy trì ở mức độ tuyến tính ít nhất và có thể là hằng số. 6.5.4. Tùy chọn Collator. Một khía cạnh quan trọng của điều này Hệ thống là đảm bảo rằng có sự lựa chọn lành mạnh các người đối chiếu tạo các khối trong bất kỳ parachain cụ thể nào. Nếu một người đối chiếu duy nhất thống trị một parachain sau đó một số cuộc tấn công trở nên khả thi hơn vì khả năng thiếu sự sẵn có của dữ liệu bên ngoài sẽ ít rõ ràng hơn. Một lựa chọn là cân các khối parachain một cách giả tạo một cơ chế giả ngẫu nhiên để hỗ trợ nhiều loại đối chiếu. Trong trường hợp đầu tiên, chúng tôi sẽ yêu cầu như một phần của cơ chế đồng thuận mà validator ủng hộ Các ứng cử viên khối parachain được xác định là “nặng hơn”. Tương tự, chúng ta phải khuyến khích validator cố gắng đề xuất khối nặng nhất mà họ có thể tìm thấy—đây có thể là được thực hiện thông qua việc chia một phần phần thưởng tương ứng với trọng lượng của ứng cử viên của họ. Để đảm bảo rằng các nhà đối chiếu được hưởng sự công bằng hợp lý cơ hội ứng cử viên của họ được chọn là người chiến thắng ứng cử viên đồng thuận, chúng tôi đưa ra trọng số cụ thể của Ứng viên khối parachain xác định dựa trên một hàm ngẫu nhiên được kết nối với mỗi bộ đối chiếu. Ví dụ, lấy thước đo khoảng cách XOR giữa địa chỉ của đối chiếu và một số số giả ngẫu nhiên được bảo mật bằng mật mã được xác định gần với điểm của khối được tạo (một “vé trúng thưởng” mang tính khái niệm). Điều này mang lại hiệu quả cho mỗi người đối chiếu (hoặc cụ thể hơn là địa chỉ của mỗi người đối chiếu) a cơ hội ngẫu nhiên để khối ứng cử viên của họ “chiến thắng” tất cả những người khác. Để giảm thiểu cuộc tấn công sybil của một người đối chiếu duy nhất “khai thác” một địa chỉ gần với vé trúng thưởng và do đó mỗi khối được yêu thích, chúng tôi sẽ thêm một số quán tính vào địa chỉ của người đối chiếu. Điều này có thể đơn giản như việc yêu cầu họ để có số tiền cơ bản trong địa chỉ. Thêm nữa cách tiếp cận tao nhã sẽ là cân nhắc sự gần gũi với vé trúng thưởng với số tiền đậu tại địa chỉ trong câu hỏi. Trong khi việc lập mô hình vẫn chưa được thực hiện, rất có thể cơ chế này cho phép thậm chí rất các bên liên quan nhỏ đóng góp với tư cách là người đối chiếu. 6.5.5. Khối thừa cân. Nếu bộ validator bị xâm phạm, họ có thể tạo và đề xuất một khối, tuy nhiên hợp lệ, mất nhiều thời gian để thực hiện và xác thực. Đây là sự cố vì nhóm validator có thể hợp lý tạo thành một khối mà phải mất một thời gian rất dài để thực thi trừ khi một số thông tin cụ thể đã được biết cho phép cắt ngắn, ví dụ: bao thanh toán lớn nguyên tố. Nếu một người đối chiếu biết thông tin đó thì họ sẽ có lợi thế rõ ràng trong việc có được các ứng cử viên được chấp nhận miễn là những người khác đang bận xử lý khối cũ. Chúng tôi gọi những khối này là thừa cân. Việc bảo vệ chống lại việc validator gửi và xác thực các khối này phần lớn có cùng chiêu bài như đối với các khối không hợp lệ, mặc dù có một cảnh báo bổ sung: Vì thời gian thực hiện một khối (và do đó trạng thái của nó là thừa cân) mang tính chủ quan, kết quả cuối cùng của cuộc bỏ phiếu về hành vi sai trái về cơ bản sẽ rơi vào ba phe. một khả năng là khối đó chắc chắn không nặng— trong trường hợp này hơn hai phần ba tuyên bố rằng họ có thể thực thi khối trong một số giới hạn (ví dụ: 50% tổng thời gian được phép giữa các khối). Một điều nữa là khối là dchắc chắn là thừa cân—điều này sẽ xảy ra nếu nhiều hơn hai phần ba tuyên bố rằng họ không thể thực thi khối trong giới hạn nói trên. Một khả năng cuối cùng là khá bình đẳng sự chia rẽ quan điểm giữa validators. Trong trường hợp này, chúng ta có thể chọn thực hiện một số hình phạt tương xứng. Để đảm bảo validator có thể dự đoán khi nào họ có thể đề xuất một khối thừa cân, có thể hợp lý nếu yêu cầu họ công bố thông tin về hiệu suất của chính họ đối với từng khối. Trong một khoảng thời gian đủ dài, điều này sẽ cho phép họ lập hồ sơ tốc độ xử lý của mình so với những người ngang hàng sẽ đánh giá họ. 6.5.6. Bảo hiểm Collator. Vẫn còn một vấn đề đối với validators: không giống như mạng PoW, để kiểm tra khối để có hiệu lực, họ phải thực sự thực hiện các giao dịch trong đó. Những người đối chiếu độc hại có thể cung cấp các khối không hợp lệ hoặc thừa cân cho validator khiến họ đau buồn (lãng phí nguồn lực của họ) và đòi hỏi chi phí cơ hội tiềm tàng đáng kể. Để giảm thiểu điều này, chúng tôi đề xuất một chiến lược đơn giản về một phần của validators. Đầu tiên, các ứng cử viên khối parachain đã gửi tới validator phải được ký từ tài khoản chuỗi chuyển tiếp bằng tiền; nếu không thì validator sẽ bị loại bỏ nó ngay lập tức. Thứ hai, các ứng cử viên như vậy nên được sắp xếp thứ tự ưu tiên bằng cách kết hợp (ví dụ: phép nhân) của số tiền trong tài khoản lên đến một giới hạn nhất định, số khối trước đó mà đối chiếu đã đề xuất thành công trong quá khứ (chưa kể bất kỳ khối nào trước đó hình phạt), và yếu tố gần gũi với chiến thắng vé như đã thảo luận trước đó. Mũ phải giống nhau như số tiền bồi thường mang tính trừng phạt được trả cho validator trong vụ án trong số họ gửi một khối không hợp lệ. Để ngăn cản người cộng tác gửi các ứng cử viên bị chặn không hợp lệ hoặc thừa cân tới validator, bất kỳ validator nào cũng có thể đặt vào khối tiếp theo một giao dịch bao gồm khối vi phạm cáo buộc hành vi sai trái dẫn đến việc chuyển một phần hoặc toàn bộ số tiền vào tài khoản của người đối chiếu có hành vi sai trái. tài khoản cho người bị hại validator. Loại giao dịch này chạy trước bất kỳ giao dịch nào khác để đảm bảo người đối chiếu không thể rút tiền trước khi bị trừng phạt. Số lượng của tiền được chuyển dưới dạng thiệt hại là một tham số động

POLKADOT: TẦM NHÌN VỀ KHUNG KHUNG ĐA CHUỖI KHÔNG ĐỒNG THỂ DỰ THẢO 1 14 được mô hình hóa nhưng có thể sẽ là một phần của phần thưởng khối validator để phản ánh mức độ đau buồn gây ra. Đến ngăn chặn validator độc hại tự ý tịch thu quỹ của người cộng tác, người cộng tác có thể kháng cáo quyết định của validator với bồi thẩm đoàn gồm validator được chọn ngẫu nhiên để đổi lại để đặt một khoản tiền gửi nhỏ. Nếu họ có lợi cho validator, họ sẽ tiêu hết số tiền đặt cọc. Nếu không, tiền đặt cọc được trả lại và validator bị phạt (vì validator ở vị trí hình vòm hơn nhiều, mức phạt sẽ có thể là khá nặng). 6.6. liên chuỗi Giao dịch Định tuyến. liên chuỗi định tuyến giao dịch là một trong những công việc bảo trì thiết yếu nhiệm vụ của chuỗi chuyển tiếp và validator của nó. Đây là logic chi phối cách một giao dịch được đăng (thường được rút ngắn thành “đăng”) để trở thành đầu ra mong muốn từ một parachain nguồn trở thành đầu vào không thể thương lượng của một parachain đích khác mà không có bất kỳ sự tin tưởng nào yêu cầu. Chúng tôi chọn từ ngữ ở trên một cách cẩn thận; đáng chú ý là chúng tôi không yêu cầu phải có giao dịch trong nguồn parachain đã phê chuẩn rõ ràng bài đăng này. duy nhất những hạn chế mà chúng tôi đặt ra cho mô hình của mình là parachains phải cung cấp, đóng gói như một phần của khối tổng thể của họ xử lý đầu ra, các bài đăng là kết quả của việc thực thi khối. Những bài đăng này được cấu trúc như một số hàng đợi FIFO; cái số lượng danh sách được gọi là cơ sở định tuyến và có thể khoảng 16. Đáng chú ý, con số này thể hiện số lượng của parachains mà chúng ta có thể hỗ trợ mà không cần phải dùng đến định tuyến nhiều pha. Ban đầu, Polkadot sẽ hỗ trợ việc này loại định tuyến trực tiếp, tuy nhiên chúng tôi sẽ phác thảo một cách có thể quá trình định tuyến nhiều pha (“siêu định tuyến”) như một phương tiện mở rộng quy mô vượt xa nhóm parachain ban đầu. Chúng tôi giả sử đó tất cả người tham gia biết cái các nhóm con cho hai khối tiếp theo n, n + 1. Tóm lại, Hệ thống định tuyến trải qua các giai đoạn sau: • CollatorS: Liên hệ với các thành viên của V alidators[n][S] • Đối chiếu: CHO MỖI nhóm con: đảm bảo tại ít nhất 1 thành viên của V alidators[n][s] có liên hệ • Người hợp tác: ĐỐI VỚI MỖI nhóm con: giả sử egress[n −1][s][S] có sẵn (tất cả bài đăng đến dữ liệu đến 'S' từ khối cuối cùng) • Người hợp tác: Soạn đề cử khối b cho S: (b.header, b.ext, b.proof, b.receipt, b.egress) • Người hợp tác: Gửi bằng chứng thông tin proof[S] = (b.header, b.ext, b.proof, b.receipt) thành Trình xác thực V[n][S] • CollatorS: Đảm bảo dữ liệu giao dịch bên ngoài b.ext được cung cấp cho những người đối chiếu khác và validators • Người hợp tác: CHO MỖI nhóm con s: Gửi đi ra thông tin đi ra[n][S][s] = (b.header, b.receipt, b.egress[s]) để cái nhận được nhóm phụ thành viên của tiếp theo khối Trình xác thực V[n + 1][s] • V alidatorV : Kết nối trước tất cả các thành viên cùng tập hợp đối với khối tiếp theo: đặt N = Chuỗi[n + 1][V ]; kết nối tất cả validators v sao cho Chuỗi[n + 1][v] = N • V alidatorV : Đối chiếu tất cả dữ liệu nhập vào cho việc này khối: CHO MỖI nhóm con s: Truy xuất egress[n −1][s][Chain[n][V ]], lấy từ validators v khác sao cho Chain[n][v] = Chain[n][V ]. Có thể đi qua các validator khác được chọn ngẫu nhiên để làm bằng chứng cho nỗ lực. • V alidatorV : Chấp nhận bằng chứng ứng cử viên cho việc này bằng chứng khối[Chuỗi[n][V ]]. Hiệu lực của khối biểu quyết • V alidatorV : Chấp nhận dữ liệu đầu ra của ứng viên cho khối tiếp theo: CHO MỖI nhóm con, chấp nhận đi ra[n][s][N]. Tính khả dụng của khối bỏ phiếu đầu ra; xuất bản lại giữa những validators quan tâm sao cho Chuỗi[n + 1][v] = Chuỗi[n + 1][V ]. • V alidatorV : ĐẾN ĐẾN ĐỒNG Ý Trong đó: egress[n][from][to] là hàng đợi đi ra hiện tại thông tin cho các bài đăng từ parachain ‘from‘, đến parachain ‘to‘ trong số khối ‘n‘. CollatorS là một công cụ đối chiếu cho parachain S. V alidators[n][s] là tập hợp validators cho parachain s ở số khối n. Ngược lại, Chain[n][v] là parachain mà validator v được gán trên số khối n. block.egress[to] là lối ra hàng bài đăng từ một số khối khối parachain có đích đến là parachain. Vì người đối chiếu thu phí (giao dịch) dựa trên các khối của họ trở thành chuẩn, họ được khuyến khích đảm bảo rằng đối với mỗi đích đến của khối tiếp theo, nhóm con các thành viên được thông báo về hàng đợi đi ra từ hiện tại khối. Người xác thực chỉ được khuyến khích để hình thành sự đồng thuận về một khối (parachain), vì vậy họ ít quan tâm đến khối đối chiếu nào cuối cùng sẽ trở thành chuẩn. trong về nguyên tắc, validator có thể hình thành lòng trung thành với người đối chiếu và âm mưu làm giảm cơ hội của những người đối chiếu khác' các khối trở thành chuẩn, tuy nhiên điều này vừa khó khăn sắp xếp do chọn ngẫu nhiênhành động của validator giây cho parachains và có thể được bảo vệ bằng cách giảm phí phải trả cho các khối parachain tồn tại quá trình đồng thuận. 6.6.1. Tính sẵn có của dữ liệu bên ngoài. Đảm bảo parachain dữ liệu bên ngoài thực sự có sẵn là một vấn đề lâu năm với các hệ thống phi tập trung nhằm phân phối khối lượng công việc trên mạng lưới. Trọng tâm của vấn đề là sự sẵn có vấn đề nói rằng vì không thể tạo bằng chứng không tương tác về tính khả dụng cũng như bất kỳ loại nào bằng chứng về tính không khả dụng để hệ thống BFT hoạt động bình thường xác nhận bất kỳ quá trình chuyển đổi nào có tính chính xác phụ thuộc vào sự sẵn có của một số dữ liệu bên ngoài, số lượng tối đa của các nút Byzantine có thể chấp nhận được, cộng với một, của hệ thống phải chứng thực dữ liệu có sẵn. Để hệ thống có thể mở rộng quy mô đúng cách, như Polkadot, điều này gây ra sự cố: nếu tỷ lệ cố định validators phải chứng thực sự sẵn có của dữ liệu và giả sử validator thực sự muốn lưu trữ dữ liệu trước khi xác nhận rằng nó có sẵn, thì làm cách nào để chúng ta tránh được vấn đề về yêu cầu băng thông/lưu trữ ngày càng tăng theo kích thước hệ thống (và do đó là số validators)? Một câu trả lời có thể là có một bộ riêng trong số validators (người bảo đảm tính sẵn có), có đơn đặt hàng tăng lên tuyến tính với kích thước tổng thể là Polkadot. Đây là được mô tả trong 6.5.3. Chúng tôi cũng có một thủ thuật phụ. Với tư cách là một nhóm, những người đối chiếu có động lực nội tại để đảm bảo rằng tất cả dữ liệu đều được có sẵn cho parachain đã chọn của họ vì nếu không có nó thì họ không thể tạo thêm các khối để từ đó họ có thể thu phí giao dịch. Những người cộng tác cũng tạo thành một nhóm, thành viên trong đó rất đa dạng (do tính chất ngẫu nhiên của parachain validator nhóm) không tầm thường để tham gia và dễ dàng

POLKADOT: TẦM NHÌN VỀ KHUNG KHUNG ĐA CHUỖI KHÔNG ĐỒNG THỂ DỰ THẢO 1 15 để chứng minh. Do đó, các nhà đối chiếu gần đây (có lẽ trong số vài nghìn khối cuối cùng) được phép đưa ra các thách thức đối với sự sẵn có của dữ liệu bên ngoài cho một parachain cụ thể chặn tới validators để có một trái phiếu nhỏ. Người xác thực phải liên hệ với những người thuộc nhóm phụ validator có vẻ vi phạm đã làm chứng và thu thập cũng như trả lại dữ liệu cho người đối chiếu hoặc chuyển lên cấp trên vấn đề bằng cách chứng minh sự thiếu sẵn có (từ chối trực tiếp cung cấp dữ liệu được coi là hành vi phạm tội tịch thu trái phiếu, do đó hành vi sai trái validator có thể sẽ chỉ ngắt kết nối) và liên hệ với validators khác để chạy thử nghiệm tương tự. Trong trường hợp sau, trái phiếu thế chấp được trả lại. Khi đã đạt đến số đại biểu validator người có thể đưa ra những lời chứng thực không có sẵn như vậy, họ sẽ được giải phóng, nhóm phụ có hành vi sai trái sẽ bị trừng phạt và khối được hoàn nguyên. 6.6.2. Định tuyến bài viết. Mỗi tiêu đề parachain bao gồm một đi ra-trie-root; đây là gốc của một thử nghiệm có chứa các thùng cơ sở định tuyến, mỗi thùng là một danh sách được nối của bài viết đi ra. Bằng chứng Merkle có thể được cung cấp trên parachain validators để chứng minh rằng một parachain cụ thể khối có một hàng đợi đầu ra cụ thể cho một parachain đích cụ thể. Khi bắt đầu xử lý một khối parachain, mỗi khối hàng đợi đầu ra của parachain khác bị ràng buộc cho khối nói trên là đã được hợp nhất vào hàng đợi vào của khối của chúng tôi. Chúng tôi cho rằng mạnh mẽ, có lẽ là CSPR9, thứ tự khối phụ để đạt được một hoạt động xác định không mang lại sự thiên vị giữa bất kỳ ghép nối khối parachain. Collators tính toán hàng đợi mới và rút hết hàng đợi đi ra theo parachain logic. Nội dung của hàng đợi vào được viết rõ ràng vào khối parachain. Điều này có hai mục đích chính: đầu tiên, điều đó có nghĩa là parachain có thể được đồng bộ hóa một cách đáng tin cậy và tách biệt với các parachain khác. Thứ hai, nó đơn giản hóa việc hậu cần dữ liệu nên toàn bộ quá trình xâm nhập hàng đợi không thể được xử lý trong một khối duy nhất; validators và người đối chiếu có thể xử lý các khối sau mà không cần phải tìm nguồn dữ liệu đặc biệt của hàng đợi. Nếu hàng đợi vào của parachain vượt quá ngưỡng số tiền ở cuối quá trình xử lý khối, sau đó nó được đánh dấu đã bão hòa trên chuỗi chuyển tiếp và không có thông báo nào khác có thể được thực hiện được chuyển đến nó cho đến khi nó được thông quan. Bằng chứng Merkle là được sử dụng để chứng minh tính chính xác của hoạt động của bộ đối chiếu trong bằng chứng của khối parachain. 6.6.3. Phê bình. Một sai sót nhỏ liên quan đến cơ bản này cơ chế là cuộc tấn công sau bom. Đây là nơi tất cả parachains gửi số lượng bài viết tối đa có thể đến một parachain cụ thể. Trong khi điều này ràng buộc mục tiêu hàng đợi vào cùng một lúc, không có thiệt hại nào xảy ra nhiều lần một cuộc tấn công DoS giao dịch tiêu chuẩn. Hoạt động bình thường, với bộ thiết bị đồng bộ tốt và trình đối chiếu không độc hại và validators, dành cho N parachain, Tổng cộng N × M validator số bộ đối chiếu và L trên mỗi parachain, chúng tôi có thể chia nhỏ tổng đường dẫn dữ liệu trên mỗi khối thành: Trình xác thực: M −1+L+L: M −1 cho validators khác trong bộ parachain, L cho mỗi bộ đối chiếu cung cấp khối parachain ứng cử viên và L thứ hai cho mỗi bộ đối chiếu của khối tiếp theo yêu cầu tải trọng đầu ra của khối trước đó. (Cái sau thực sự giống trường hợp xấu nhất hoạt động vì có khả năng các nhà đối chiếu sẽ chia sẻ những điều đó dữ liệu.) Collator: M +kN: M để kết nối với từng liên quan khối parachain validator, kN để gieo tải trọng đầu ra vào một số tập hợp con của mỗi nhóm parachain validator cho khối tiếp theo (và có thể một số đối chiếu được ưa thích). Như vậy, các đường dẫn dữ liệu trên mỗi nút phát triển tuyến tính với độ phức tạp tổng thể của hệ thống. Trong khi đây là hợp lý, vì hệ thống có quy mô thành hàng trăm hoặc hàng nghìn parachain, một số độ trễ giao tiếp có thể được hấp thụ để đổi lấy tốc độ tăng trưởng phức tạp thấp hơn. Trong trường hợp này, thuật toán định tuyến nhiều pha có thể được sử dụng để giảm số lượng đường truyền tức thời với chi phí giới thiệu bộ đệm lưu trữ và độ trễ. 6.6.4. Định tuyến siêu khối. Định tuyến siêu khối là một cơ chế có thể được xây dựng chủ yếu như một phần mở rộng cho cơ chế định tuyến cơ bản được mô tả ở trên. Về cơ bản, thay vì phát triển khả năng kết nối nút bằng số lượng nút parachain và nút nhóm phụ, chúng tôi chỉ phát triển với logarit của parachains. Bài viết có thể chuyển tiếp giữa hàng đợi của một số parachains đang trên đường đến khâu giao hàng cuối cùng. Bản thân việc định tuyến là xác định và đơn giản. Chúng tôi bắt đầu bằng giới hạn số lượng thùng trong hàng đợi vào/ra; thay vì là tổng số parachain, chúng làcơ sở định tuyến (b) . Điều này sẽ được cố định là số thay đổi của parachain, với số mũ định tuyến (e) thay vào đó được nâng lên. Theo mô hình này, khối lượng tin nhắn của chúng tôi phát triển với O(be), với đường đi không đổi và độ trễ (hoặc số khối cần thiết để phân phối) với O(e). Mô hình định tuyến của chúng tôi là một siêu khối có kích thước e, với mỗi cạnh của khối lập phương có b vị trí có thể. Mỗi khối, chúng tôi định tuyến tin nhắn dọc theo một trục. Chúng tôi luân phiên trục theo kiểu vòng tròn, do đó đảm bảo thời gian giao hàng trong trường hợp xấu nhất của các khối e. Là một phần của quá trình xử lý parachain, liên kết nước ngoài các tin nhắn được tìm thấy trong hàng đợi đi vào sẽ được chuyển ngay đến thùng của hàng đợi đi ra thích hợp, với điều kiện là số khối hiện tại (và do đó kích thước định tuyến). Cái này quá trình yêu cầu truyền dữ liệu bổ sung cho mỗi bước nhảy trên đường giao hàng, tuy nhiên bản thân đây cũng là một vấn đề có thể được giảm thiểu bằng cách sử dụng một số phương tiện thay thế phân phối tải trọng dữ liệu và chỉ bao gồm một tài liệu tham khảo, thay vì toàn bộ tải trọng của bài đăng trong lần thử sau. Một ví dụ về định tuyến siêu khối cho hệ thống với 4 parachain, b = 2 và e = 2 có thể là: Giai đoạn 0, trên mỗi tin nhắn M: • sub0: nếu Mdest ∈{2, 3} thì sendTo(2) nếu không giữ nguyên • sub1: nếu Mdest ∈{2, 3} thì sendTo(3) nếu không giữ nguyên • sub2: nếu Mdest ∈{0, 1} thì sendTo(0) nếu không giữ nguyên • sub3: nếu Mdest ∈{0, 1} thì sendTo(1) nếu không giữ nguyên Giai đoạn 1, trên mỗi tin nhắn M: • sub0: nếu Mdest ∈{1, 3} thì sendTo(1) nếu không giữ nguyên • sub1: nếu Mdest ∈{0, 2} thì sendTo(0) nếu không giữ nguyên • sub2: nếu Mdest ∈{1, 3} thì sendTo(3) nếu không giữ nguyên • sub3: nếu Mdest ∈{0, 2} thì sendTo(2) nếu không giữ nguyên Hai chiều ở đây dễ dàng được coi là chiều đầu tiên hai bit của chỉ mục đích; đối với khối đầu tiên, chỉ bit bậc cao hơn được sử dụng. Giao dịch khối thứ hai với bit bậc thấp. Một khi cả hai xảy ra (tùy ý order) thì bài viết sẽ được định tuyến. 9 giả ngẫu nhiên an toàn bằng mật mã

POLKADOT: TẦM NHÌN VỀ KHUNG KHUNG ĐA CHUỖI KHÔNG ĐỒNG THỂ DỰ THẢO 1 16 6.6.5. Tối đa hóa sự may mắn. Một sự thay đổi cơ bản đề xuất sẽ có tổng số cố định là c2 −c validators, với c−1 validators trong mỗi nhóm phụ. Mỗi khối, thay vì đang có sự phân vùng lại không có cấu trúc của validators giữa các parachain, thay vào đó cho từng nhóm con parachain, mỗi validator sẽ được gán cho một địa chỉ duy nhất và khác nhau nhóm con parachain trên khối sau. Điều này sẽ dẫn đến bất biến giữa hai khối bất kỳ, đối với bất kỳ khối nào hai cặp parachain, tồn tại hai validators đã hoán đổi trách nhiệm của parachain. Mặc dù điều này không thể được sử dụng để đạt được sự đảm bảo tuyệt đối về tính khả dụng (một validator thỉnh thoảng sẽ ngừng hoạt động, ngay cả khi nhân từ), tuy nhiên nó có thể tối ưu hóa trường hợp chung. Cách tiếp cận này không phải là không có biến chứng. Việc bổ sung parachain cũng sẽ đòi hỏi phải tổ chức lại của bộ validator. Hơn nữa, số validator, được gắn với bình phương của số lượng parachain, ban đầu sẽ bắt đầu rất nhỏ và cuối cùng phát triển xa quá nhanh, trở nên không thể trụ được sau khoảng 50 parachain. Không có vấn đề nào trong số này là vấn đề cơ bản. Trong trường hợp đầu tiên, việc sắp xếp lại các bộ validator là điều cần phải làm dù sao cũng được thực hiện thường xuyên. Về kích thước của validator được đặt, khi quá nhỏ, nhiều validator có thể được chỉ định cho cùng một parachain, áp dụng hệ số nguyên cho tổng cộng là validator giây. Cơ chế định tuyến nhiều pha như Định tuyến Hypercube, được thảo luận trong phần 6.6.4 sẽ giảm bớt yêu cầu về số lượng lớn validators khi có một số lượng lớn các chuỗi. 6.7. Xác thực Parachain. Mục đích chính của validator là để chứng minh, với tư cách là một tác nhân có mối quan hệ tốt, rằng hoạt động của parachain khối là hợp lệ, bao gồm nhưng không giới hạn ở bất kỳ chuyển đổi trạng thái nào, bao gồm mọi giao dịch bên ngoài, việc thực hiện bất kỳ bài đăng đang chờ nào trong hàng đợi vào và trạng thái cuối cùng của hàng đợi đi ra. Quá trình này khá đơn giản. Khi validator đã niêm phong khối trước đó, chúng sẽ miễn phí bắt đầu làm việc để cung cấp khối parachain ứng viên ứng cử viên cho vòng đồng thuận tiếp theo. Ban đầu, validator tìm thấy ứng viên khối parachain thông qua bộ đối chiếu parachain (mô tả tiếp theo) hoặc một trong số đồngvalidator của nó. Dữ liệu ứng cử viên khối parachain bao gồm tiêu đề của khối, tiêu đề của khối trước đó, bất kỳ dữ liệu đầu vào bên ngoài nào được bao gồm (đối với Ethereum và Bitcoin, dữ liệu đó sẽ được gọi là giao dịch, tuy nhiên về nguyên tắc, chúng có thể bao gồm các cấu trúc dữ liệu tùy ý cho các mục đích tùy ý), dữ liệu hàng đợi đầu ra và dữ liệu nội bộ để chứng minh tính hợp lệ của quá trình chuyển đổi trạng thái (đối với Ethereum đây sẽ là các nút trie trạng thái/lưu trữ khác nhau cần thiết để thực hiện mỗi giao dịch). Bằng chứng thực nghiệm cho thấy tập dữ liệu đầy đủ này cho khối Ethereum gần đây nhiều nhất là vài trăm KiB. Đồng thời, nếu chưa thực hiện thì validator sẽ là cố gắng truy xuất thông tin liên quan đến quá trình chuyển đổi của khối trước đó, ban đầu từ khối trước đó validator giây trở đi từ tất cả validator ký kết sự sẵn có của dữ liệu. Khi validator đã nhận được khối ứng cử viên như vậy, sau đó họ xác nhận nó tại địa phương. Quá trình xác thực được chứa trong mô-đun validator của lớp parachain, một mô-đun phần mềm nhạy cảm với sự đồng thuận phải được viết đối với bất kỳ việc triển khai Polkadot nào (mặc dù về nguyên tắc một thư viện có C ABI có thể cho phép một thư viện duy nhất được chia sẻ giữa các lần thực hiện với giảm độ an toàn do chỉ thực hiện một “tài liệu tham khảo” duy nhất). Quá trình lấy tiêu đề của khối trước đó và xác minh danh tính của nó thông qua chuỗi chuyển tiếp đã được thống nhất gần đây khối trong đó hash của nó sẽ được ghi lại. Khi tính hợp lệ của tiêu đề gốc được xác định chắc chắn, parachain cụ thể chức năng xác nhận của lớp có thể được gọi. Đây là một hàm duy nhất chấp nhận một số trường dữ liệu (khoảng những cái đã cho trước đó) và trả về một giá trị Boolean đơn giản công bố tính hợp lệ của khối. Hầu hết các chức năng xác nhận như vậy trước tiên sẽ kiểm tra các trường tiêu đề có thể được lấy trực tiếp từ khối cha (ví dụ: cha hash, số). Đang theo dõi điều này, họ sẽ điền bất kỳ cấu trúc dữ liệu nội bộ nào dưới dạng cần thiết để xử lý các giao dịch và/hoặc bài viết. Đối với một chuỗi giống Ethereum, điều này tương đương với việc điền vào một thử cơ sở dữ liệu với các nút sẽ cần thiết cho thực hiện đầy đủ các giao dịch. Các loại chuỗi khác có thể có p kháccác cơ chế khắc phục. Sau khi hoàn tất, các bài đăng nhập và các giao dịch bên ngoài (hoặc bất kỳ dữ liệu bên ngoài nào thể hiện) sẽ được được ban hành, cân bằng theo đặc điểm kỹ thuật của chuỗi. (A mặc định hợp lý có thể là yêu cầu tất cả các bài viết xâm nhập phải được được xử lý trước khi các giao dịch bên ngoài được thực hiện, tuy nhiên điều này phải do logic của parachain quyết định.) Thông qua đạo luật này, một loạt các bài đăng đi ra sẽ được được tạo ra và nó sẽ được xác minh rằng những điều này thực sự phù hợp ứng cử viên của người đối chiếu. Cuối cùng, dân số hợp lý tiêu đề sẽ được kiểm tra dựa trên tiêu đề của ứng viên. Với khối ứng cử viên được xác thực đầy đủ, validator sau đó có thể bỏ phiếu cho hash của tiêu đề của nó và gửi tất cả thông tin xác thực cần thiết đến các co-validator trong nhóm con của nó. 6.7.1. Bộ sưu tập Parachain. Người đối chiếu Parachain là những người vận hành không liên kết, hoàn thành phần lớn nhiệm vụ của người khai thác trên các mạng blockchain ngày nay. Chúng cụ thể đến một parachain cụ thể. Để hoạt động họ phải duy trì cả chuỗi chuyển tiếp và đồng bộ hóa hoàn toàn parachain. Ý nghĩa chính xác của “được đồng bộ hóa hoàn toàn” sẽ phụ thuộc vào loại parachain, mặc dù sẽ luôn bao gồm trạng thái hiện tại của hàng đợi vào của parachain. Trong trường hợp của Ethereum, ít nhất nó cũng liên quan đến việc duy trì cơ sở dữ liệu cây Merkle của vài khối cuối cùng, nhưng có thể cũng bao gồm nhiều cấu trúc dữ liệu khác bao gồm Bloom bộ lọc để tồn tại tài khoản, thông tin gia đình, ghi nhật ký kết quả đầu ra và bảng tra cứu ngược cho số khối. Ngoài việc giữ cho hai chuỗi được đồng bộ hóa, nó cũng phải “câu” các giao dịch bằng cách duy trì hàng đợi giao dịch và chấp nhận các giao dịch được xác thực hợp lệ từ mạng công cộng. Với hàng đợi và chuỗi, nó là có thể tạo các khối ứng cử viên mới cho validator được chọn ở mỗi khối (có danh tính được biết do chuỗi chuyển tiếp được đồng bộ hóa) và gửi chúng cùng với thông tin phụ trợ khác nhau như bằng chứng về tính hợp lệ, thông qua mạng ngang hàng. Vì rắc rối của mình, nó thu tất cả các khoản phí liên quan đến các giao dịch mà nó bao gồm. Nhiều nền kinh tế khác nhau xoay quanh vấn đề này sắp xếp. Trong một thị trường cạnh tranh khốc liệt, nơi có là sự dư thừa của người đối chiếu, có thể giao dịch phí được chia sẻ với parachain validators để khuyến khích sự bao gồm của một khối đối chiếu cụ thể. Tương tự,

POLKADOT: TẦM NHÌN VỀ KHUNG KHUNG ĐA CHUỖI KHÔNG ĐỒNG THỂ DỰ THẢO 1 17 một số đối tác thậm chí có thể tăng các khoản phí cần thiết được trả tiền để làm cho khối này trở nên hấp dẫn hơn đối với validator giây. Trong trường hợp này, một thị trường tự nhiên sẽ hình thành với các giao dịch trả phí cao hơn, bỏ qua hàng đợi và tham gia vào chuỗi nhanh hơn. 6.8. Kết nối mạng. Kết nối mạng trên blockchains truyền thống như Ethereum và Bitcoin có những yêu cầu khá đơn giản. Tất cả các giao dịch và khối được phát đi trong một tin đồn đơn giản, không có định hướng. Đồng bộ hóa được tham gia nhiều hơn, đặc biệt là với Ethereum nhưng trên thực tế logic này được chứa trong chiến lược ngang hàng thay vì chính giao thức giải quyết xung quanh một số loại thông báo yêu cầu và trả lời. Trong khi Ethereum đã đạt được tiến bộ trong việc cung cấp giao thức hiện tại với giao thức devp2p, điều này cho phép nhiều các giao thức con được ghép kênh trên một kết nối ngang hàng duy nhất và do đó có cùng lớp phủ ngang hàng hỗ trợ nhiều p2p đồng thời, phần Ethereum của giao thức vẫn còn tương đối đơn giản và p2p giao thức trong một thời gian vẫn chưa được hoàn thành với những điều quan trọng thiếu chức năng như hỗ trợ QoS. Đáng buồn thay, mong muốn tạo ra một giao thức “web 3” phổ biến hơn phần lớn đã thất bại, với những dự án duy nhất sử dụng nó là những dự án rõ ràng được tài trợ từ đợt bán hàng cộng đồng Ethereum. Các yêu cầu đối với Polkadot khá quan trọng hơn. Thay vào đó là một mạng thống nhất hoàn toàn, Polkadot có nhiều loại người tham gia, mỗi loại có những yêu cầu khác nhau về thành phần ngang hàng của họ và một số mạng lưới “đại lộ” mà những người tham gia sẽ có xu hướng thảo luận về dữ liệu cụ thể. Điều này có nghĩa là lớp phủ mạng có cấu trúc chặt chẽ hơn—và một giao thức hỗ trợ điều đó— có thể sẽ cần thiết. Hơn nữa, khả năng mở rộng để tạo thuận lợi cho việc bổ sung trong tương lai chẳng hạn như các loại “chuỗi” mới có thể bản thân chúng đòi hỏi một cấu trúc lớp phủ mới. Trong khi thảo luận chuyên sâu về cách mạng giao thức có thể nằm ngoài phạm vi của tài liệu này, một số phân tích yêu cầu là hợp lý. Chúng tôi có thể chia nhỏ những người tham gia mạng lưới của chúng tôi thành hai nhóm (chuỗi chuyển tiếp, chuỗi parachain) mỗi tập hợp con trong số ba tập hợp con. Chúng tôi có thể cũng tuyên bố rằng mỗi người tham gia parachain chỉ quan tâm đến việc trò chuyện giữa họ chứ không phải người tham gia các parachain khác: • Những người tham gia chuỗi chuyển tiếp: • Trình xác nhận: P, chia thành các tập con P[s] cho mỗi tập parachain • Người bảo đảm tính khả dụng: A (điều này có thể được thể hiện bởi Người xác nhận ở dạng cơ bản của giao thức) • Máy khách chuỗi chuyển tiếp: M (lưu ý các thành viên của mỗi bộ parachain cũng sẽ có xu hướng là thành viên của M) • Người tham gia Parachain: • Bộ hợp tác Parachain: C[0], C[1], . . . • Ngư dân Parachain: F[0], F[1], . . . • Khách hàng Parachain: S[0], S[1], . . . • Các ứng dụng khách nhẹ của Parachain: L[0], L[1], . . . Nói chung, chúng tôi đặt tên cho các lớp giao tiếp cụ thể sẽ có xu hướng diễn ra giữa các thành viên của các tập hợp này: • P | A <-> P | Đáp: các đầy đủ đặt của validators/người bảo lãnh phải được kết nối tốt để đạt được sự đồng thuận. • P[s] <-> C[s] | P[s]: Mỗi validator với tư cách là thành viên của một nhóm parachain nhất định sẽ có xu hướng buôn chuyện với các thành viên khác cũng như các đối tác của parachain đó để khám phá và chia sẻ các ứng cử viên khối. • A <-> P[s] | C | A: Mỗi người bảo đảm tính sẵn có sẽ cần thu thập chuỗi chéo nhạy cảm với sự đồng thuận dữ liệu từ validator được gán cho nó; người đối chiếu cũng có thể tối ưu hóa cơ hội đồng thuận về chặn bằng cách quảng cáo nó cho những người bảo đảm tính sẵn có. Sau khi họ có nó, dữ liệu sẽ được chuyển tới người bảo lãnh khác để tạo thuận lợi cho sự đồng thuận. • P[s] <-> A | P[s']: Parachain validators sẽ cần thu thập dữ liệu đầu vào bổ sung từ tập validator trước đó hoặc những người bảo đảm tính khả dụng. • F[s] <-> P: Khi báo cáo, ngư dân có thể đặt một yêu cầu với bất kỳ người tham gia. • M <-> M | P | Đáp: Các khách hàng chuỗi chuyển tiếp chung giải ngân dữ liệu từ validator và người bảo lãnh. • S[s] <-> S[s] | P[s] | Trả lời: Khách hàng Parachain giải ngân dữ liệu từ validator/người bảo lãnh. • L[s] <-> L[s] | S[s]: Máy khách nhẹ Parachain giải ngân dữ liệu từ các khách hàng đầy đủ. Để đảm bảo một cơ chế vận chuyển hiệu quả, một “phẳng” mạng lớp phủ—như devp2p của Ethereum—trong đó mỗi mạng nút không (không tùy ý) phân biệt tính phù hợp của nó đồng nghiệp có thể sẽ không phù hợp. Có khả năng mở rộng hợp lý cơ chế lựa chọn và khám phá ngang hàng có thể sẽ cần được đưa vào trong giao thức cũng như tích cực lập kế hoạch nhìn về phía trước để đảm bảo chọn đúng loại đồng nghiệp là một cách tình cờct vào đúng thời điểm. Chiến lược chính xác của việc thành lập bạn bè sẽ khác nhau đối với mỗi lớp người tham gia: để có quy mô phù hợp đa chuỗi, các bộ đối chiếu sẽ cần phải liên tục kết nối lại với validator được bầu tương ứng, hoặc sẽ cần các thỏa thuận đang diễn ra với một tập hợp con validators để đảm bảo chúng không bị ngắt kết nối trong phần lớn thời gian chúng vô dụng đối với validator đó. Người hợp tác đương nhiên cũng sẽ cố gắng duy trì một hoặc kết nối ổn định hơn vào người bảo đảm sẵn có được thiết lập để đảm bảo truyền bá nhanh chóng các thông tin nhạy cảm với sự đồng thuận của họ dữ liệu. Những người bảo đảm tính sẵn sàng sẽ chủ yếu nhằm mục đích duy trì một kết nối ổn định với nhau và với validators (để có được sự đồng thuận và dữ liệu parachain quan trọng đồng thuận mà họ chứng thực), cũng như với một số đối tác (đối với parachain dữ liệu) và một số ngư dân và khách hàng đầy đủ (để phân tán thông tin). Người xác nhận sẽ có xu hướng tìm kiếm validator khác, đặc biệt là những người trong cùng một nhóm phụ và bất kỳ các đối tác có thể cung cấp cho họ các ứng viên khối parachain. Ngư dân, cũng như chuỗi chuyển tiếp và parachain nói chung khách hàng thường sẽ hướng tới mục tiêu duy trì kết nối mở cho một validator hoặc người bảo lãnh, nhưng có nhiều nút khác tương tự đối với chính họ bằng cách khác. Tương tự, các máy khách nhẹ của Parachain sẽ hướng tới mục tiêu được kết nối với một máy khách đầy đủ của parachain, nếu không chỉ các client ánh sáng parachain khác. 6.8.1. Vấn đề về sự rời bỏ ngang hàng. Trong đề xuất giao thức cơ bản, mỗi tập hợp con này liên tục thay đổi ngẫu nhiên theo từng khối dưới dạng validator được chỉ định để xác minh quá trình chuyển đổi parachain được chọn ngẫu nhiên. Điều này có thể là một vấn đề nên các nút khác nhau (không ngang hàng) cần phải truyền dữ liệu cho nhau. Người ta hoặc phải dựa vào một mạng ngang hàng được phân phối khá tốt và được kết nối tốt với

POLKADOT: TẦM NHÌN VỀ KHUNG KHUNG ĐA CHUỖI KHÔNG ĐỒNG THỂ DỰ THẢO 1 18 đảm bảo rằng khoảng cách hop (và do đó độ trễ trong trường hợp xấu nhất) chỉ tăng theo logarit của kích thước mạng (giao thức giống Kademlia [13] có thể hữu ích ở đây) hoặc người ta phải giới thiệu thời gian chặn dài hơn để cho phép diễn ra quá trình đàm phán kết nối cần thiết nhằm duy trì một tập hợp ngang hàng phản ánh nhu cầu liên lạc hiện tại của nút. Cả hai đều không phải là giải pháp tuyệt vời: thời gian chặn dài bị ép buộc vào mạng có thể khiến nó trở nên vô dụng đối với các ứng dụng và chuỗi cụ thể. Thậm chí là hoàn toàn công bằng và mạng được kết nối sẽ gây lãng phí đáng kể băng thông khi nó tăng quy mô do các nút không quan tâm có để chuyển tiếp dữ liệu vô dụng cho họ. Mặc dù cả hai hướng có thể tạo thành một phần của giải pháp, tối ưu hóa hợp lý để giúp giảm thiểu độ trễ sẽ nhằm hạn chế tính biến động của các parachain này validator các bộ, hoặc chỉ gán lại tư cách thành viên giữa các chuỗi khối (ví dụ: trong nhóm 15, với tốc độ 4 giây thời gian chặn có nghĩa là chỉ thay đổi kết nối một lần mỗi lần phút) hoặc bằng cách luân phiên thành viên theo kiểu tăng dần, ví dụ: thay đổi bởi một thành viên tại một thời điểm (ví dụ: nếu có là 15 validator được gán cho mỗi parachain, thì trung bình sẽ mất trọn một phút giữa các chuỗi hoàn toàn duy nhất bộ). Bằng cách hạn chế số lượng rời bỏ ngang hàng và đảm bảo rằng các kết nối ngang hàng thuận lợi được thực hiện tốt trong tiến lên nhờ khả năng dự đoán một phần của parachain các bộ, chúng tôi có thể giúp đảm bảo mỗi nút duy trì vĩnh viễn sự lựa chọn tình cờ của các đồng nghiệp. 6.8.2. Đường dẫn đến một giao thức mạng hiệu quả. Có khả năng nỗ lực phát triển hợp lý và hiệu quả nhất sẽ tập trung vào việc sử dụng giao thức có sẵn thay vì triển khai của riêng chúng tôi. Một số giao thức cơ sở ngang hàng tồn tại chúng tôi có thể sử dụng hoặc bổ sung thêm devp2p của chính Ethereum [22], libp2p [1] của IPFS và GNUnet [4] của GNU. Đánh giá đầy đủ về các giao thức này và sự liên quan của chúng đối với việc xây dựng một mạng ngang hàng mô-đun hỗ trợ các đảm bảo về cấu trúc nhất định, định hướng ngang hàng năng động và các giao thức phụ có thể mở rộng vượt xa phạm vi của tài liệu này nhưng sẽ là một bước quan trọng trong việc triển khai Polkadot. 7. Tính thực tiễn của Nghị định thư 7.1. Thanh toán giao dịch liên chuỗi. Trong khi tuyệt vời mức độ tự do và đơn giản đạt được thông qua việc loại bỏ nhu cầu về khung kế toán tài nguyên tính toán tổng thể như gas của Ethereum, điều này đặt ra một câu hỏi quan trọng: không có gas, làm thế nào một parachain tránh việc parachain khác buộc nó thực hiện tính toán? Mặc dù chúng ta có thể dựa vào hàng đợi nhập sau giao dịch bộ đệm để ngăn chặn một chuỗi gửi thư rác cho một chuỗi khác bằng dữ liệu giao dịch, không có cơ chế tương đương nào được cung cấp bởi giao thức để ngăn chặn việc gửi thư rác trong quá trình xử lý giao dịch. Đây là một vấn đề còn lại ở cấp độ cao hơn. Vì chuỗi được tự do đính kèm ngữ nghĩa tùy ý vào dữ liệu đến dữ liệu sau giao dịch, chúng tôi có thể đảm bảo rằng việc tính toán phải được thanh toán trước khi bắt đầu. Theo cách tương tự như người mẫu được tán thành bởi Ethereum Serenity, chúng ta có thể tưởng tượng một hợp đồng “đột nhập” trong parachain cho phép validator được đảm bảo thanh toán để đổi lấy cung cấp một khối lượng tài nguyên xử lý cụ thể. Những tài nguyên này có thể được đo bằng thứ gì đó như khí đốt, nhưng cũng có thể là một số mô hình hoàn toàn mới, chẳng hạn như thời gian thực hiện chủ quan hoặc mô hình phí cố định giống Bitcoin. Bản thân điều này không hữu ích lắm vì chúng ta không thể dễ dàng cho rằng người gọi ngoài chuỗi có sẵn cho họ bất kỳ cơ chế giá trị nào được nhận ra khi đột nhập hợp đồng. Tuy nhiên, chúng ta có thể tưởng tượng một hợp đồng “đột phá” thứ cấp trong chuỗi nguồn. Hai bản hợp đồng với nhau sẽ tạo thành cầu nối, nhận biết nhau và cung cấp giá trị tương đương. (Stake-tokens, có sẵn cho mỗi khoản, có thể được sử dụng để giải quyết cán cân thanh toán.) Gọi vào một chuỗi khác như vậy có nghĩa là ủy quyền thông qua cây cầu này, nó sẽ cung cấp phương tiện đàm phán về việc chuyển giao giá trị giữa các chuỗi để trả tiền cho các tài nguyên tính toán cần thiết trên parachain đích. 7.2. bổ sung Dây chuyền. Trong khi cái phép cộng của một parachain là một hoạt động tương đối rẻ và không miễn phí. Nhiều parachain hơn có nghĩa là ít validator trên mỗi parachain hơn và cuối cùng, số lượng validator lớn hơn, mỗi số có một trái phiếu trung bình giảm. Mặc dù vấn đề về chi phí ép buộc nhỏ hơn khi tấn công parachain được giảm thiểu thông qua ngư dân, bộ validator ngày càng tăng về cơ bản buộc phải độ trễ cao hơn do cơ chế đồng thuận cơ bản của tôithod. Hơn nữa, mỗi parachain mang theo nó khả năng gây đau buồn cho validator với một thuật toán xác nhận quá nặng nề. Như vậy sẽ có một số “giá” validators và/hoặc cộng đồng nắm giữ cổ phần sẽ khai thác để bổ sung một parachain mới. Thị trường dây chuyền này sẽ có thể thấy việc bổ sung một trong hai: • Các chuỗi có khả năng không đóng góp ròng (về mặt khóa hoặc đốt staking tokens) để trở thành một phần (ví dụ: chuỗi liên minh, Chuỗi Doge, chuỗi dành riêng cho ứng dụng); • chuỗi mang lại giá trị nội tại cho mạng thông qua việc thêm chức năng cụ thể khó khăn để đi nơi khác (ví dụ: tính bảo mật, khả năng mở rộng nội bộ, liên kết dịch vụ). Về cơ bản, cộng đồng các bên liên quan sẽ cần phải được khuyến khích thêm các chuỗi con—về mặt tài chính hoặc thông qua mong muốn bổ sung thêm các chuỗi tính năng vào rơle. Người ta hình dung rằng các chuỗi mới được thêm vào sẽ có tác dụng rất thời gian thông báo ngắn để loại bỏ, cho phép các chuỗi mới được thử nghiệm mà không có bất kỳ nguy cơ ảnh hưởng nào đề xuất giá trị trung hoặc dài hạn. 8. Kết luận Chúng tôi đã vạch ra một hướng đi mà người ta có thể thực hiện để viết một giao thức đa chuỗi không đồng nhất, có thể mở rộng, có khả năng tương thích ngược với một số giao thức nhất định đã tồn tại từ trước blockchain mạng. Theo một giao thức như vậy, những người tham gia làm việc vì lợi ích cá nhân rõ ràng để tạo ra một hệ thống tổng thể có thể được mở rộng theo cách đặc biệt miễn phí và không phải trả chi phí thông thường cho người dùng hiện tại đến từ thiết kế blockchain tiêu chuẩn. Chúng tôi đã đưa ra một phác thảo sơ bộ về kiến trúc cần bao gồm bản chất của những người tham gia, động cơ kinh tế của họ và các quá trình mà họ phải tham gia. Chúng tôi có xác định một thiết kế cơ bản và thảo luận về điểm mạnh và những hạn chế; theo đó chúng tôi có thêm hướng dẫn có thể giảm bớt những hạn chế đó và mang lại nền tảng vững chắc hơn cho giải pháp blockchain có thể mở rộng hoàn toàn.POLKADOT: TẦM NHÌN VỀ KHUNG KHUNG ĐA CHUỖI KHÔNG ĐỒNG THỂ DỰ THẢO 1 19 8.1. Thiếu tài liệu và câu hỏi mở. Việc phân nhánh mạng luôn có thể xảy ra do việc triển khai giao thức khác nhau. Sự phục hồi từ tình trạng như vậy tình trạng đặc biệt đã không được thảo luận. Do mạng nhất thiết phải có thời gian hoàn thiện khác 0, việc khôi phục sau quá trình phân nhánh chuỗi chuyển tiếp không phải là vấn đề lớn, tuy nhiên sẽ yêu cầu tích hợp cẩn thận vào giao thức đồng thuận. Việc tịch thu trái phiếu và ngược lại, cung cấp phần thưởng có chưa được tìm hiểu sâu. Hiện tại chúng tôi giả định phần thưởng được cung cấp theo nguyên tắc người thắng được tất cả: điều này có thể không đưa ra mô hình khuyến khích tốt nhất cho ngư dân. Một quá trình tiết lộ cam kết trong thời gian ngắn sẽ cho phép nhiều ngư dân để nhận giải thưởng và phân phối phần thưởng công bằng hơn, tuy nhiên quá trình này có thể dẫn đến độ trễ bổ sung trong việc phát hiện hành vi sai trái. 8.2. Lời cảm ơn. Rất cám ơn tất cả các những người đọc thử đã giúp giải quyết vấn đề này một cách mơ hồ hình dạng có thể trình bày. Đặc biệt, Peter Czaban, Bj¨orn Wagner, Ken Kappler, Robert Habermeier, Vitalik Buterin, Reto Trinkler và Jack Petersson. Cảm ơn tất cả những người đã đóng góp ý tưởng hoặc sự khởi đầu vì vậy, Marek Kotewicz và Aeron Buchanan xứng đáng được đề cập đặc biệt. Và cảm ơn mọi người vì sự giúp đỡ của họ trên đường đi. Tất cả các lỗi là của riêng tôi. Các phần của công việc này, bao gồm cả nghiên cứu ban đầu về thuật toán đồng thuận, được tài trợ một phần bởi người Anh Chính phủ theo chương trình Đổi mới của Vương quốc Anh.