La arquitectura de Polkadot puede dividirse en dos partes diferentes, el runtime (tiempo de ejecución) de Polkadot y el host de Polkadot. El runtime (tiempo de ejecución) de Polkadot es el núcleo de la lógica de transición de estado de la cadena y puede actualizarse con el paso del tiempo y sin necesidad de un hard fork. En comparación, el host de Polkadot es el entorno en el que se ejecuta el tiempo de ejecución y se espera que permanezca estable y mayormente estático durante la vida de Polkadot.
El host de Polkadot interactúa con el tiempo de ejecución de Polkadot de forma limitada y bien específica. Por esta razón, los equipos de implementación pueden construir una implementación alternativa del host de Polkadot mientras tratan el tiempo de ejecución de Polkadot como una caja negra. Para más detalles sobre las interacciones entre el host y el tiempo de ejecución, por favor, consulta la especificación.
Componentes del host Polkadot #
- Componentes de red como Libp2p que facilita las interacciones de red.
- Almacenamiento de estados y el trie de almacenamiento junto con la capa de base de datos.
- Motor de consenso para GRANDPA y BABE.
- Intérprete y máquina virtual de Wasm.
- Primitivas de bajo nivel para una blockchain, como las primitivas criptográficas como las funciones hash.
Un tiempo de ejecución compilado de Polkadot, un blob de código Wasm, puede ser cargado en el host Polkadot y utilizado como la lógica para la ejecución de las transiciones de estado. Sin un tiempo de ejecución, el host Polkadot no puede realizar transiciones de estado ni producir ningún bloque.
Diagrama #
A continuación se muestra un diagrama que muestra el host Polkadot rodeando el tiempo de ejecución Polkadot. Piensa en el tiempo de ejecución (en blanco) como un componente que puede ser insertado, intercambiado o eliminado por completo. Mientras que las partes en gris son estables y no pueden cambiar sin un hard fork explícito.
Recursos #
- Polkadot Host Protocol Specification – Incubadora para la especificación de Polkadot Host, incluyendo pruebas.
- ChainSafe’s Go PH es un equipo de desarrollo de 25 personas con sede en Toronto, Canadá. ChainSafe está construyendo una implementación de la beacon chain para el cliente Ethereum 2.0 en TypeScript y esta implementación Go de Polkadot.