Explorando el sustrato de Parity Technologies

A partir de 2021, Bitcoin y las criptomonedas en general se han convertido en fenómenos bien conocidos en todo el mundo. Además, el uso de tales monedas virtuales está creciendo rápidamente a medida que las personas se interesan cada vez más en las criptomonedas y blockchain. Junto con este mayor interés en las criptomonedas, la cantidad de inversiones está creciendo a un ritmo similar. Blockchain es la tecnología que sustenta las criptomonedas y que las hace posibles. A medida que crece la conciencia y la adopción de las criptomonedas, sigue la demanda entre industrias de blockchain. Sin embargo, aunque la mayoría de la gente ha oído hablar de blockchain, la mayoría de ellos desconocen cómo funciona realmente y cómo construir uno. Crear una cadena de bloques en pleno funcionamiento puede ser desafiante y requerir mucho tiempo. Una de las iniciativas que intenta solucionar este problema es el sustrato de Parity Technologies.

En resumen, Substrate es un marco de módulos que permite a los desarrolladores crear cadenas de bloques especialmente diseñadas, combinando módulos preconstruidos o personalizados. Quizás ya conozca a Substrate como la columna vertebral del ecosistema Polkadot. Substrate proporciona al usuario varios componentes necesarios para crear una red blockchain distribuida. Algunos de estos componentes son una base de datos, capas de red, motores de consenso y colas de transacciones. Sin embargo, antes de intentar comprender el sustrato, debemos establecer y comprender qué es la tecnología blockchain.

Si aprecia desgloses fácilmente comprensibles de varias facetas de la tecnología blockchain como esta, debe unirse a más de 30,000 personas e inscribirse en Ivan en Tech Academy. Ivan on Tech Academy ofrece docenas de cursos de blockchain y criptomonedas, que cubren todo, desde conceptos básicos de criptografía hasta codificación de contratos inteligentes, DeFi, programación de juegos Ethereum y mucho, mucho más. ¿Que estas esperando?

¿Qué es una Blockchain?

Por lo tanto, para comprender completamente la premisa del sustrato de paridad, primero debemos asegurarnos de comprender las cadenas de bloques. En su forma más pura, una cadena de bloques es una secuencia de bloques que consta de datos que forman una cadena. Las blockchains pueden variar en detalle dependiendo de la funcionalidad que tenga la cadena. Sin embargo, en un sentido superior, prácticamente todas las blockchains comparten algunas características.

Bloques

Como su nombre indica, una cadena de bloques consta de bloques que esencialmente forman una cadena o “cadena de bloques”. Todos estos bloques contienen datos, y estos datos pueden generar un identificador único que se adjunta a este bloque. Además, una parte de los datos del bloque es el identificador único del bloque padre. El bloque padre puede entenderse como un bloque precedente en esta cadena de bloques.

Si ocurre algún cambio dentro de un bloque, el identificador único cambia con él. Dado que el bloque posterior al bloque modificado contiene este identificador, cualquier bloque nuevo que siga a este también cambiará. Esto tendrá una reacción en cadena literal en todo el sistema, cambiando todos los bloques de la cadena siguiendo un bloque modificado. En consecuencia, este sistema facilita la verificación de si algún bloque de la cadena ha cambiado, ya que todo lo que se necesita es mirar el último bloque.

Producir bloques

Debido a las propiedades inmutables y transparentes de los bloques, hace que blockchain sea perfecto para realizar un seguimiento de un libro mayor distribuido. Los datos en el libro mayor cambian con cada bloque nuevo agregado y contienen instrucciones sobre cómo se debe convertir el estado del libro mayor de cada bloque.

Sin embargo, en realidad existen reglas sobre cómo puede cambiar el libro mayor, y una función de transición de estado define estas reglas. Para algunas criptomonedas, estas reglas pueden ser muy básicas como: “Los usuarios solo pueden gastar los fondos que poseen”.

Siempre que se acumula una colección de transacciones, forman un nuevo bloque que se agrega al final de la cadena. Este proceso permite que el estado de la cadena de bloques cambie durante un período de tiempo.

Finalizando los bloques

Una vez que se crea un bloque que contiene varias transacciones, se puede compartir con otros al construir el mismo libro mayor. Dado que estas cadenas son de naturaleza descentralizada, es posible tener dos bloques diferentes compitiendo por la misma posición en la cadena. Aquí es donde entran en juego los mecanismos de finalización de bloques, para determinar qué cadena de bloques es la blockchain canónica. Para todas las cadenas de bloques, solo debe existir un verdadero estado final del libro mayor. El nombre de cualquier otra cadena que se separe de esta forma real del libro mayor se conoce como “bifurcaciones”.

Sin embargo, las bifurcaciones son bastante normales y esperadas en cualquier blockchain, y son un mecanismo previsto más que un problema. El proceso de finalización ayuda a que las bifurcaciones de la cadena se vuelvan a sincronizar.

Nodos

Puede que ya le resulte obvio que la estructura de las cadenas de bloques está descentralizada y que se distribuyen en la naturaleza. Por lo tanto, confían en numerosos usuarios de todo el mundo para realizar un seguimiento del libro mayor y asegurarse de que todo funcione correctamente. Además, estos participantes del libro mayor pueden ejecutar lo que se conoce como un nodo. Un nodo es básicamente un programa de computadora que se adhiere a las reglas de la red en cadena y se conecta con los otros nodos.

Además, las redes blockchain a menudo están abiertas a todos, lo que significa que todos pueden participar en este proceso. Sin embargo, dado que están abiertos a todos, esto también significa que los actores malintencionados pueden unirse a la red. Pero existen mecanismos en la mayoría de las cadenas de bloques que incentivan el buen comportamiento y castigan el mal comportamiento. Esto significa que las cadenas pueden funcionar sin una autoridad central.

El marco del sustrato – ¿Qué es el sustrato?

Ahora que hemos establecido qué es una cadena de bloques y comprendemos mejor cómo funcionan, podemos pasar a la parte central de este artículo. Como se mencionó en la introducción, Substrate es un marco modular.

Esto significa que el marco permite a los usuarios de Substrate agregar componentes prediseñados para crear y modificar una cadena de bloques en un corto período de tiempo. Además, Substrate fue anunciado en 2018 por el científico de datos y cofundador de Ethereum, Gavin Wood, en la Cumbre Web3 en Berlín. El Diccionario de Oxford define un sustrato como “una sustancia o capa que subyace a algo, sobre el cual ocurren los procesos”. Como tal, está claro que la visión de Substrate es respaldar las cadenas de bloques, o que las cadenas de bloques se crearán utilizando Substrate y “en qué procesos ocurrirán”.

Varias cadenas de bloques diferentes ya ejecutan Substrate, como Polkadot y la “cadena canaria” de Kusama. En esencia, Parity Substrate busca proporcionar un desarrollo de blockchain rápido y fácil. Un punto crítico sobre el marco Substrate es que es extensible. Esto básicamente significa que los sustratos harán algunas suposiciones sobre sus diseños de blockchain con el propósito de ser lo más genéricos posible.

Aunque el marco de Substrate tiene el propósito de hacer que el desarrollo de blockchain sea más fácil y más accesible para todos, todavía existen requisitos necesarios para beneficiarse del potencial completo de Substrate. Los desarrolladores de Substrate sugieren que un buen conocimiento de los conceptos básicos de blockchain, así como de la informática, son buenas habilidades que debe tener antes de probar Substrate.

Junto con esto, Substrate se construye utilizando el lenguaje de programación Rust. Por lo tanto, es beneficioso, pero no necesario, tener algunas habilidades básicas de Rust para aquellos que buscan trabajar con el marco Substrate. Además, Substrate presenta una estrecha integración con el tiempo de ejecución de WebAssembly (Wasm).

Arquitectura: el cliente de sustrato

El marco de Substrate se ejecuta en un nodo blockchain basado en Substrate a través de la aplicación Substrate. Este nodo consta de varios módulos diferentes, como almacenamiento, tiempo de ejecución y una red de igual a igual. Ahora veremos seis componentes que forman parte del marco.

Componentes:

  • Almacenamiento: como establecimos anteriormente con respecto a las cadenas de bloques, representan un sistema descentralizado. El almacenamiento, en este caso, se utiliza para mantener el estado en constante evolución de este sistema descentralizado o blockchain.
  • Tiempo de ejecución: el tiempo de ejecución es otro mecanismo o componente importante en el nodo Sustrato. La lógica de tiempo de ejecución define cómo se procesan los bloques donde, por ejemplo, podemos encontrar la lógica de transición de estado. En el marco, el código de tiempo de ejecución se acumula en Wasm (WebAssembly) y es parte del estado de almacenamiento de la cadena de bloques.
  • Debido a esta función, es posible utilizar una de las características principales de una cadena de bloques de productos de sustrato que son las actualizaciones en tiempo de ejecución sin horquillas. Esta es una función interesante que entra en juego cuando se actualiza la lógica de tiempo de ejecución de una cadena. Tradicionalmente, al actualizar la función de transición de estado de una cadena, se requiere un hard fork. Sin embargo, estas actualizaciones de tiempo de ejecución sin bifurcaciones permiten que la lógica de tiempo de ejecución se actualice en tiempo real sin la necesidad de provocar una bifurcación en la cadena.
  • Red Peer-to-Peer (P2P): las capacidades de Substrate permiten al cliente comunicarse con otros participantes en la red.
  • Motores de consenso: uno de los módulos del marco son los motores de consenso. Estos motores proporcionan una lógica que permite a los usuarios de la red ponerse de acuerdo sobre el estado de la cadena de bloques. Con el marco, es posible suministrar o crear un motor de consenso personalizado y también se envía con diferentes mecanismos de consenso. Estos mecanismos se han desarrollado y construido sobre la base de la investigación fundamental de Web3.
  • RPC: RPC significa llamada a procedimiento remoto y permite a los usuarios de la cadena interactuar con la red. También significa que el marco proporciona servidores WebSocket y HTTP RPC.
  • Telemetría: el último componente son las métricas de telemetría que se revelan mediante el uso de un servidor Prometheus integrado.

Uso de sustrato

Los usuarios de sustratos pueden utilizar el marco de tres formas diferentes: con Substrate Node, Substrate FRAME y Substrate Core. Todos cumplen diferentes funciones de Substrato, y repasaremos cada una de las opciones para los usuarios.

Nodo

Con el marco, es posible utilizar Substrate Node prediseñado y luego diseñar y configurar el bloque de génesis del Node. Si esto es lo que busca hacer un desarrollador, todo lo que se necesita para lanzar la cadena de bloques es proporcionar un archivo JSON. Un archivo JSON es un archivo que almacena estructuras de datos simples en formato JSON. JSON son las siglas de JavaScript Object Notation y es un formato de intercambio de datos estándar.

El archivo JSON permite al usuario personalizar el estado de génesis de los módulos en los que consiste el tiempo de ejecución del Nodo. Esto significa que las configuraciones son posibles para conceptos como saldos, sudo y replanteo.

MARCO

Una segunda opción en la que un desarrollador puede usar Substrate es a través de FRAME. Esto permite al usuario crear un tiempo de ejecución personalizable y que puede satisfacer las necesidades del desarrollador.

FRAME también se usa para construir el Nodo de sustrato. La opción FRAME proporciona a los usuarios una gran libertad sobre la lógica de la cadena de bloques. Esto significa que el usuario puede cambiar los tipos de datos y seleccionar módulos de una biblioteca. Estos módulos también se conocen como “pallets”, e incluso es posible crear y agregar pallets personalizados a la cadena del desarrollador.

Centro

Por último, el desarrollador también puede optar por utilizar Substrate Core. Como mencionamos anteriormente, el sistema FRAME permite al usuario crear un tiempo de ejecución con la ayuda de módulos prediseñados y paletas personalizadas. Es posible ignorar FRAME por completo y crear un tiempo de ejecución desde cero. Entonces es posible diseñar un tiempo de ejecución usando cualquier lenguaje que tenga la capacidad de apuntar a Wasm.

Si un tiempo de ejecución funciona con la lógica de bloques abstractos del Nodo, entonces es posible crear un nuevo bloque génesis usando WebAssembly (comúnmente conocido como Wasm). Después de esto, el usuario puede lanzar la cadena con la aplicación Substrato. Si el tiempo de ejecución no está diseñado para funcionar con la lógica de bloques abstractos del nodo, entonces la lógica de creación de bloques del cliente debe modificarse. Esta opción es la más desafiante y compleja de las formas en que alguien puede usar Substrate. Sin embargo, con la complejidad, también hay más libertad para innovar, lo que puede ser beneficioso para el desarrollador de la cadena.

Resumen de sustrato

A medida que aumenta la popularidad y el conocimiento público de la criptomoneda y la cadena de bloques, también aumenta el interés en la cadena de bloques. La demanda de blockchain nunca ha sido tan alta, lo que significa que la oferta debe ser igual a la de su contraparte. Cada vez más personas se están dando cuenta de la tecnología blockchain, pero aún desconocen cómo funciona realmente.

Blockchain puede ser complejo y difícil de entender para los no iniciados. Y sin comprensión sobre blockchain, desarrollar uno puede ser aún más difícil. Sin embargo, para facilitar el desarrollo de una cadena de bloques, Parity proporciona al mundo el marco Substrate. El propósito del marco es facilitar el desarrollo de una cadena de bloques.

El marco tiene un diseño modular, lo que significa que el usuario puede construir una cadena de bloques utilizando una biblioteca probada y agregar los componentes que se buscan para satisfacer las necesidades de la cadena.

El marco proporciona al usuario varios componentes esenciales que son útiles para la cadena, como almacenamiento, tiempo de ejecución, redes P2P y motores de consenso. Junto con esto, es posible utilizar el framework de tres formas diferentes: ya sea a través del Nodo, el FRAME o desde el Core básico. Esto significa que es posible desarrollar una cadena con tiempos de ejecución previos al desarrollador o crear una desde cero con Substrate Core. Sin embargo, dependiendo de la alternativa seleccionada, el grado de libertad varía, al igual que la dificultad del proceso de desarrollo.

Si está interesado en aprender más sobre las criptomonedas o la tecnología blockchain detrás de estas monedas virtuales, no dude en sintonizarse con la plataforma educativa blockchain número uno, Ivan en Tech Academy. La academia ofrece cursos de blockchain básicos y más avanzados. Por tanto, no importa si es nuevo en la programación o si es un desarrollador con más experiencia; hay cursos para ti!

CriptoMundo

CriptoMundo.com es un medio digital independiente que difunde noticias y contenido sobre criptomonedas y tendencias emergentes de tecnologías financieras. Ofrece noticias, guías, artículos de opinión y gráficos en tiempo real.

Monedas

Bitcoin

Ethereum