Tema

Polkadot SDK

Artículos, guías y notas de laboratorio relacionados con Polkadot SDK.

Artículos

20

Índice

Topic

SubstrateNota de investigación14 min

Qué es Substrate hoy: el Polkadot SDK por dentro

Qué es Substrate dentro del Polkadot SDK, cómo se reparten FRAME, Cumulus y XCM, y cómo ubicar un crate por su prefijo sc-, sp- o pallet-.

SubstrateNota de investigación14 min

La cadena como función de transición de estado

Estado N más bloque N da estado N+1: qué significa que el runtime de Substrate sea la función de transición de estado y qué queda para el nodo.

SubstrateNota de investigación15 min

El runtime en Wasm: nodo y runtime hablan por dos puertas

Dónde vive el runtime de Substrate (la clave :code del estado) y cómo conversa con el nodo: host functions de sp_io y runtime APIs de sp_api.

SubstrateNota de investigación14 min

FRAME: pallets que se ensamblan en un runtime

Cómo FRAME arma un runtime de Substrate con pallets: Config, storage, llamadas, eventos y errores unidos con construct_runtime, y en qué difiere de un contrato.

SubstrateNota de investigación16 min

Tu primer nodo local: templates, omni-node y chain spec

Tres caminos para levantar una cadena Substrate local: polkadot-omni-node con chain spec, un template o el nodo kitchensink, y qué guarda el génesis.

SubstrateNota de investigación16 min

Extrinsics: transacciones firmadas, sin firmar e inherentes

Qué entra a un bloque Substrate desde fuera del runtime, cómo se codifica un extrinsic versión 5 y qué comprueban las transaction extensions antes de ejecutarlo.

SubstrateNota de investigación13 min

El estado: clave-valor, trie radix-16 y raíz de estado

Cómo guarda Substrate el estado como bytes opacos, cómo FRAME arma las claves y cómo el trie radix-16 permite probar un valor con unos pocos nodos.

SubstrateNota de investigación13 min

Pesos y comisiones: medir antes de ejecutar

Por qué Substrate no mide gas instrucción por instrucción, qué son ref_time y proof_size, cómo se escribe un benchmark del peor caso y cómo se calcula la comisión.

SubstrateNota de investigación14 min

Actualizar sin fork: set_code, versiones y migraciones

Cómo una cadena Substrate cambia su lógica escribiendo un Wasm nuevo en :code, qué comprueba set_code, por qué hay que subir spec_version y cómo se prueban las migraciones.

SubstrateNota de investigación12 min

Offchain workers: lo que el runtime hace fuera de la cadena

Qué es un offchain worker en Substrate, por qué puede llamar a una API HTTP sin romper el determinismo y por qué su única vía para cambiar el estado es enviar un extrinsic.

SubstrateNota de investigación17 min

Producción de bloques por turnos: slots y Aura

Cómo Substrate divide el tiempo en slots, por qué Aura asigna cada slot a A[s mod |A|] y qué falta para que esos bloques sean definitivos.

SubstrateNota de investigación18 min

BABE: una lotería VRF para producir bloques

Cómo BABE sortea cada slot con una VRF secreta, por qué a veces ganan dos o nadie, y qué hacen las épocas, los slots secundarios y el fork choice.

SubstrateNota de investigación18 min

GRANDPA: finalizar cadenas, no bloques

Cómo GRANDPA finaliza prefijos de cadena con prevotes, precommits y 2/3-GHOST, por qué tolera f < n/3 y qué pasa cuando la finalidad se detiene.

SubstrateNota de investigación15 min

Ponerse al día: full, fast y warp sync; light clients

Cómo un nodo nuevo llega al estado actual de una cadena Substrate sin confiar en un peer: full, fast y warp sync, justificaciones GRANDPA y light clients.

SubstrateNota de investigación16 min

Parachains con Cumulus: seguridad compartida

Qué cambia cuando una cadena Substrate deja de finalizarse sola: collators, PoV, función de validación, respaldo e inclusión en la relay chain y proof_size.

SubstrateNota de investigación18 min

XCM: un lenguaje de intenciones entre sistemas de consenso

Qué es XCM en el Polkadot SDK: programas que ejecuta la XCVM, ubicaciones relativas, reserva frente a teletransporte y la confianza que fija el executor.

SubstrateNota de investigación18 min

Sassafras: un solo productor por slot, en secreto

Cómo Sassafras busca un bloque por slot sin revelar al productor: tickets con ring VRF, repetidores y orden outside-in. Estado real en el Polkadot SDK: experimental.

SubstrateNota de investigación17 min

BEEFY: finalidad compacta para puentes

Por qué GRANDPA es caro de verificar en Ethereum y cómo BEEFY firma compromisos ECDSA sobre una raíz MMR, con muestreo aleatorio en el light client del puente.

SubstrateNota de investigación21 min

Anatomía del consenso en un nodo Substrate

El recorrido de un bloque por el nodo, leído en el código del Polkadot SDK: import queue, BlockImport, fork choice, justificaciones, finalidad y autoría.

SubstrateNota de investigación21 min

Capstone: conectar un consenso BFT propio (estilo HotStuff) a un nodo Substrate

Guía de ingeniería, desde el código del Polkadot SDK, para reemplazar GRANDPA o la producción por un protocolo BFT estilo HotStuff: QC como justificación, sync y pruebas.