Para obtener información sobre cómo participar en los crowdloans (préstamos colectivos) y subastas de parachain en Rococo, consulta el contenido de Rococo en la guía de desarrollo de parachain.
Una parachain es una estructura de datos de específica aplicación que es globalmente coherente y validable por los validadores de la Relay Chain. Toman su nombre del concepto de cadenas paralelas que se ejecutan en paralelo a la Relay Chain. Lo más habitual es que una parachain adopte la forma de una blockchain, pero no es necesario que sean blockchains reales.
Debido a su naturaleza paralela, son capaces de paralelizar el procesamiento de transacciones y lograr la escalabilidad del sistema Polkadot. Comparten la seguridad de toda la red y pueden comunicarse con otras parachains a través del formato XCM.
Las parachains son mantenidos por un mantenedor de la red conocido como collator (recolector). El rol del nodo collator es mantener un nodo completo de la parachain, retener toda la información necesaria de la parachain, y producir nuevos bloques candidatos para pasar a los validadores de la Relay Chain para su verificación e inclusión en el estado compartido de Polkadot . El incentivo de un nodo collator es un detalle de implementación de la parachain. No es necesario que estén en staking en la Relay Chain o que posean el token nativo a menos que lo estipule la implementación de la parachain.
El Polkadot Host (PH) requiere que las transiciones de estado realizadas en las parachains se especifiquen como un ejecutable Wasm. Las pruebas de las nuevas transiciones de estado que ocurren en una parachain deben ser validadas contra la función de transición de estado registrada (STF) que es almacenada en la Relay Chain por los validadores antes de que Polkadot reconozca que una transición de estado ha ocurrido en una parachain. La restricción clave con respecto a la lógica de una parachain es que debe ser verificable por los validadores de la Relay Chain. La verificación suele adoptar la forma de una prueba agrupada de una transición de estado conocida como Proof of Verification (PoV) block (bloque de prueba de verificación), que se envía a los validadores desde uno o más de los collators de parachain para que la comprueben.
Economías de las Parachains #
Las parachains pueden tener sus propias economías con sus propios tokens nativos. Los esquemas como Proof-of-Stake se utilizan normalmente para seleccionar el conjunto de validadores que se encargan de la validación y la finalización; las parachains no tendrán que hacer ninguna de esas cosas. Sin embargo, ya que Polkadot no es demasiado particular sobre lo que la parachain puede implementar, puede ser la elección de la parachain para implementar un token de staking, pero generalmente no es necesario.
Los collators pueden ser incentivados a través de la inflación de un token nativo de parachain. Puede haber otras formas de incentivar a los nodos collators que no impliquen inflar el token nativo de parachain.
Las tarifas de transacción en un token de parachain nativo también pueden ser una opción de implementación de parachains. Polkadot no establece reglas estrictas sobre cómo las parachains deciden la validez original de las transacciones. Por ejemplo, una parachain puede ser implementada de manera que las transacciones deben pagar una tarifa mínima a los collators para ser válidas. La Relay Chain hará cumplir esta validez. Del mismo modo, una parachain podría no incluir eso en su implementación, y Polkadot seguiría haciendo cumplir su validez.
Las parachains no están obligadas a tener su propio token. Si lo hacen, depende de la parachain hacer el caso económico para su token, no de Polkadot.
Parachain Hubs #
Aunque Polkadot permite la funcionalidad de cadena cruzada (cross chain) entre las parachains, es necesario que haya cierta latencia entre el envío de un mensaje desde una parachain hasta que la parachain de destino recibe el mensaje. En el escenario optimista, la latencia de este mensaje debería ser de al menos dos bloques: un bloque para el envío del mensaje y un bloque para que la parachain receptora lo procese y produzca un bloque que actúe sobre el mensaje. Sin embargo, en algunos casos, podemos ver que la latencia de los mensajes es mayor si hay muchos mensajes en cola para ser procesados o si no hay nodos que ejecuten ambas redes de parachain que puedan rumorear rápidamente el mensaje a través de las redes.
Debido a la latencia necesaria para el envío de mensajes entre cadenas, algunas parachains planean convertirse en hubs (centros) para toda una industria. Por ejemplo, el proyecto de parachain Acala planea convertirse en un centro para aplicaciones financieras descentralizadas (DeFi). Muchas aplicaciones DeFi aprovechan una propiedad conocida como composabilidad, que significa que las funciones de una aplicación pueden componerse sinérgicamente con otras para crear nuevas aplicaciones. Un ejemplo de ello son los préstamos flash, que toman prestados fondos para ejecutar cierta lógica en la cadena siempre que el préstamo se devuelva al final de la transacción.
Un problema de la latencia crosschain (entre cadenas) significa que la propiedad de componibilidad se debilita entre las parachains en comparación con una sola blockchain. Esta implicación es común a todos los diseños de blockchain fragmentadas, incluidos Polkadot, Eth2.0 y otros. La solución a esto es la introducción de hubs (núcleos) de parachain, que mantienen la propiedad más fuerte de la componibilidad de un solo bloque.
Adquisición de Slots de Parachain #
Polkadot soporta un número limitado de parachains, que actualmente se estima en unos 100. Como el número de slot (ranuras) es limitado, hay varias formas de asignarlas:
- Parachains concedidas por la gobernanza, o parachains de “bien común”
- Parachains concedidas por la subasta
- Parathreads
Las parachains de “bien común” o Common Good Parachains son asignadas por el sistema de gobernanza en cadena (on chain) de Polkadot, y son consideradas como un “bien común” para la red, como puentes a otras redes o cadenas. Suelen considerarse cadenas a nivel de sistema o cadenas de utilidad pública. Normalmente no tienen un modelo económico y ayudan a eliminar las transacciones de la Relay Chain, permitiendo un procesamiento de parachains más eficiente.
Las parachains concedidas en subasta se otorgan en una subasta sin permisos. Los equipos de parachain pueden pujar con sus propios tokens DOT, o bien obtenerlos de la comunidad utilizando la funcionalidad de crowdloan.
Las parathreads tienen la misma API que las parachains, pero se programan para su ejecución sobre la base de pago por uso con una subasta para cada bloque.
Expiración de los Bloques #
Cuando una parachain gana una subasta, los tokens con los que se puja se reservan hasta el final del arrendamiento. Los saldos reservados son intransferibles y no pueden utilizarse para hacer staking. Al final del arrendamiento, los tokens se desbloquean. Las parachains que no hayan asegurado un nuevo arrendamiento para extender su slot (ranura) se convertirán automáticamente en parathreads.
Parachains de Bien Común #
Las parachains de “Bien Común” o Common Good Parachains son slots (ranuras) de parachain reservadas para la funcionalidad que beneficia al ecosistema en su conjunto. Al asignar un subconjunto de slots (ranuras) de parachain a las cadenas de bien común, toda la red puede obtener el beneficio de valiosas parachains que, de otro modo, estarían infra-financiadas debido al problema del free-rider. No se asignan a través del proceso de subasta de parachains, sino por el sistema de gobernanza en la cadena. En general, el arrendamiento de una parachain de bien común no expiraría; sólo se removería a través de la gobernanza.
Consulta el artículo del blog de Polkadot y la página de parachains de bien común para más información.
Ejemplos #
Algunos ejemplos de parachains:
- Cadenas de Consorcio Encriptadas: Estas son cadenas posiblemente privadas que no filtran ninguna información al público, pero aún así se puede interactuar con ellas sin confianza debido a la naturaleza del protocolo XCMP.
- Cadenas de Alta Frecuencia: Son cadenas que pueden computar muchas transacciones en poco tiempo tomando ciertas compensaciones o haciendo optimizaciones.
- Cadenas de Privacidad: Son cadenas que no filtran ninguna información al público mediante el uso de criptografía novedosa.
- Cadenas de Contratos Inteligentes: Son cadenas que pueden tener una lógica adicional implementada en ellas mediante el despliegue de un código conocido como contratos inteligentes.
Preguntas Frecuentes #
¿Qué es el “consenso de parachain”? #
El “consenso de Parachain” es especial en el sentido de que seguirá la Relay Chain de Polkadot. Las parachains no pueden utilizar otros algoritmos de consenso que proporcionen su propia finalidad. Sólo las cadenas soberanas (que deben hacer un puente con la Relay Chain a través de una parachain) pueden controlar su propio consenso. Las parachains tienen control sobre cómo se crean los bloques y por quién. Polkadot garantiza transiciones de estado válidas. Ejecutar una finalidad de bloque fuera del contexto de la Relay Chain está fuera del ámbito de confianza que proporciona Polkadot.
¿Qué pasa con las parachains que no están basadas en Substrate? #
Substrate proporciona Pallets FRAME como parte de su marco para construir sin problemas una blockchain basada en Substrate. Parte de FRAME son las paletas que se pueden utilizar para el consenso. Polkadot, al ser una cadena basada en Substrate, se basa en BABE como esquema de producción de bloques y en GRANDPA como dispositivo de finalización como parte de su mecanismo de consenso. En conjunto, se trata de un Modelo de Consenso Híbrido, en el que la producción de bloques y la finalidad de los mismos están separadas. Las parachains sólo necesitan producir bloques, ya que pueden depender en la Relay Chain para validar las transiciones de estado. Por lo tanto, las parachains pueden tener su propia producción de bloques en la que los collators actúan como productores de bloques, incluso si la parachain no está basada en Substrate.
¿Cómo se distribuirán los slots de las parachains? #
Los slots (ranuras) de las parachains se podrán adquirir mediante subasta, por favor, consulta el artículo sobre los slots de las parachains. Además, algunos slots (ranuras) de parachain se reservarán para ejecutar parathreads – cadenas que pujan por bloque para ser incluidas en la Relay Chain.
¿Qué ocurre con las parachains cuando el número de validadores cae por debajo de un determinado umbral? #
La proporción mínima segura de validadores por parachain es de 5:1. Con un conjunto suficientemente grande de validadores, la aleatoriedad de su distribución junto con la disponibilidad y la validez garantizarán la seguridad. Sin embargo, si se produce una gran interrupción de un proveedor de nube popular u otra catástrofe de conectividad de red, es razonable esperar que el número de validadores por cadena disminuya.
Dependiendo de cuántos validadores se desconecten, el resultado es diferente.
Si unos pocos validadores se desconectan, las parachains cuyos grupos de validadores son demasiado pequeños para validar un bloque se saltarán esos bloques. Su velocidad de producción de bloques se reducirá a un incremento de seis segundos hasta que se resuelva la situación y vuelva a haber el número óptimo de validadores en el grupo de validadores de esa parachain.
Si entre el 30% y el 50% de los validadores se desconectan, la disponibilidad se verá afectada porque necesitamos dos tercios del conjunto de validadores para respaldar a los candidatos a parachain. En otras palabras, todas las parachains se detendrán hasta que se resuelva la situación. La finalidad también se detendrá, pero las transacciones de bajo valor en la Relay Chain deberían ser lo suficientemente seguras para ejecutarse, a pesar de las bifurcaciones comunes. Una vez que el número requerido de validadores esté de nuevo en el conjunto de validadores, las parachains reanudarán la producción de bloques.
Dado que los collators son nodos completos de la Relay Chain y de la parachain que están ejecutando, serán capaces de reconocer una interrupción tan pronto como se produzca y deberían dejar de producir candidatos a bloque. Del mismo modo, debería ser fácil para ellos reconocer cuándo es seguro reanudar la producción de bloques – tal vez basado en el retraso de la finalidad, el tamaño del conjunto de validadores o algún otro factor que aún está por decidir dentro de Cumulus.
Kits de desarrollo de Parachain (PDKs) #
Los Kits de Desarrollo de Parachain son un conjunto de herramientas que permiten a los desarrolladores crear sus propias aplicaciones como parachains. Para más información, consulta el contenido de los PDK.
Para más información, consulta la página de Desarrollo de Parachain.
Recursos #
Polkadot: The Parachain – Blog del cofundador de Polkadot, Rob Habermeier, que introdujo las parachains en 2017 como “una forma más simple de blockchain, que se une a la seguridad proporcionada por una Relay Chain en lugar de proporcionar la suya propia. La Relay Chain proporciona seguridad a las parachains adjuntas, pero también proporciona una garantía de paso de mensajes seguros entre ellas.”
The Path of a Parachain Block – Un recorrido técnico de cómo las parachains interactúan con la Relay Chain.