Una guía sobre cómo se versiona Cardano. Traducción al español. 🇪🇸

Documento original Publicado el 18 de Diciembre de 2018

Ver link a IOHK de Tatyana Valkevych, Directora de Lanzamiento

Ver Documento Original aquí.

Tatyana Valkevych, Darko Mijić, y Jacob Mitchell explican

image

Cardano, la cadena de bloques (blockchain) de tercera generación, está evolucionando. Los cambios en Cardano se planifican como incrementos de producto dentro de las fases de desarrollo de Cardano, y se implementan y lanzan como software de Cardano. En este blog, el director de producto Darko Mijic, la directora de lanzamiento Tatyana Valkevych y el líder de devOps Jacob Mitchell aclaran cómo Cardano es versionado como un producto de blockchain y como software, y la correspondencia entre ellos.

Versionar Cardano como producto y como software

La versión del producto Cardano refleja la evolución de Cardano como una secuencia de despliegues de nuevos conjuntos de características dentro de una fase de desarrollo de Cardano, y utiliza el siguiente esquema de versionado de tres números separados por puntos:

development_phase.feature_set-1.refinement

(desarrollo_fase.característica_set-1.refinamiento)

donde se puede omitir la parte de refinamiento. Por ejemplo, la versión de Cardano en producción en el momento de escribir este artículo es 1.3.2, lo que significa que es el segundo refinamiento del cuarto conjunto de características para la primera fase de desarrollo.

Cardano se acerca actualmente al final de su primera fase de desarrollo llamada Byron.

Las fases de desarrollo de Cardano son:

Byron (Cardano 1.N) En la fase de Byron se diseñó y construyó una pila de tecnología criptográfica completamente nueva, que incluía código completamente nuevo y la implementación de la primera generación de Ouroboros, un protocolo probadamente seguro de Prueba de Participación (Proof of Stake -PoS) en su núcleo. La capa de contabilidad (Settlement Layer, Cardano SL) de Cardano fue lanzada de manera federada con el sistema operado por IOHK, Fundación Cardano y Emurgo. Permitió el lanzamiento de la criptomoneda ADA y permitió a los usuarios transferir y comerciar con ADA.

Shelley (Cardano 2.N) La fase Shelley hará la transición de la capa de contabilidad de Cardano de un sistema federado a un sistema completamente descentralizado que permitirá a todos los usuarios participar en el protocolo y obtener recompensas por la producción de bloques mediante las acumulaciones (staking) individuales o dentro de pools de participación (stake pools).

Goguen (Cardano 3.N) La fase de Goguen traerá la segunda colección de protocolos con la capa de computación (Cardano CL) desplegada como cadenas laterales (sidechains) a Cardano con soporte para contratos inteligentes.

Basho (Cardano 4.N) La fase Basho se centrará en mejoras de rendimiento, seguridad y escalabilidad. Esto permitirá a Cardano escalar a millones y miles de millones de usuarios.

Voltaire (Cardano 5.N) La fase final de desarrollo, Voltaire, añadirá un sistema de tesorería y gobernanza que permitirá la sustentabilidad y la autosuficiencia de Cardano.

Hasta ahora hemos lanzado cuatro versiones principales estables de Byron, que se denominan Cardano 1.0, Cardano 1.1, Cardano 1.2 y Cardano 1.3.

La implementación de un nuevo conjunto de características se realiza a través de una versión estable principal. En este caso, una versión puede estar representada sólo por los dos primeros números: por ejemplo, Cardano 1.3 es lo mismo que Cardano 1.3.0. Todas las versiones principales pueden tener versiones posteriores mejoradas que incluyen correcciones de errores y otras mejoras, pero no nuevas características. Hasta ahora todas las principales versiones de Cardano han sido seguidas por versiones de refinamiento. Es importante destacar que aunque la versión completa del producto de Cardano consta de tres números, no sigue la versión semántica.

El producto vivo de Cardano está representado por la última versión de software, desplegada en la red principal de Cardano. Cuando se discute una versión de Cardano en los canales públicos, es la versión del producto Cardano la que se utiliza por defecto. Cuando lanzamos un incremento de producto Cardano, especificamos sus versiones de componentes de software en las notas de lanzamiento de daedaluswallet.io y de GitHub[Daedalus releases, Cardano SL releases]. A continuación se aclara la correspondencia entre el producto Cardano y las versiones de software de Cardano.

En el momento de escribir este artículo, Cardano consta de los siguientes dos componentes de software:

  • Cardano settlement layer (CSL) es un componente de software backend y su código vive en el repositorio de Cardano SL. Se trata de la implementación del nodo Cardano con todos los componentes necesarios como la red y también la implementación de la cartera Cardano y su API. Cardano SL se implementa en Cardano Core (núcleo) y relé de los nodos de la blockchain , y también se envía como un componente de software backend con la interfaz de Daedalus.

  • El componente de software (D) de Daedalus es una aplicación de escritorio para computadoras personales que ejecutan Windows, Mac y Linux y su código vive en el repositorio de Daedalus. Es un frontend para usuarios finales de Cardano, y se envía con el componente CLS como backend.

Estos componentes de software están versionados de acuerdo con el esquema de versionado semántico que la mayoría de los programas siguen, que consiste en los tres números major.minor.patch donde:

  • major se incrementa cuando los cambios de código son incompatibles hacia atrás

  • minor se incrementa cuando la funcionalidad añadida es compatible con versiones anteriores.

  • el parche se incrementa cuando sólo se corrigen los errores de una manera compatible con la anterior

La versión principal de Cardano 1.3.0 consistía en Cardano SL 1.3.0 y Daedalus 0.11.0, o simbólicamente se puede escribir como:

C_1.3.0 = CSL_1.3.0 + D_0.11.0

La versión de refinamiento de Cardano 1.3.2 incluye Cardano SL 1.3.2 y Daedalus 0.11.2:

C_1.3.2 = CSL_1.3.2 + D_0.11.2

Las versiones de software de Cardano SL y Daedalus se etiquetan con sus etiquetas de versión en el repositorio de IOHK GitHub (ver etiquetas de Cardano SL y etiquetas de Daedalus).

Las versiones de software de Cardano SL y Daedalus también se reflejan actualmente en el nombre de archivo del instalador de Daedalus y en el enlace de descarga de la página https://daedaluswallet.io/#download, por ejemplo, el instalador de Windows de Cardano 1.3.2 tiene el nombre

daedalus-0.11.2-cardano-sl-1.3.2-mainnet-windows-10311.exe

que incluye la versión de Daedalus, la versión de Cardano SL, la red, el sistema operativo y el número de compilación.

Mientras que hasta ahora la versión del producto Cardano y la versión Cardano SL han coincidido, este no es el caso de la versión Cardano 1.4 debido a cambios incompatibles en la API de la billetera de Cardano. La billetera API es parte de Cardano SL, y por lo tanto debido a estos cambios incompatibles se ha incrementado el mayor número de versiones de Cardano SL, lo que ha dado como resultado Cardano SL 2.0.0. Por lo tanto, Cardano 1.4 se compone de Cardano SL 2.0.0 y Daedalus 0.12.0:

C_1.4.0 = CSL_2.0.0 + D_0.12.0

Conclusión

Existe una distinción entre la versión del producto Cardano y las versiones de los componentes del software de Cardano. Aunque siempre ha sido así, Cardano 1.4 es la primera versión en la que la distinción es evidente, así que queríamos explicar exactamente cómo funciona el versionado.

Cardano 1.4 es la quinta versión principal de la fase Byron y consta de los dos componentes de software Cardano SL 2.0.0 y Daedalus 0.12.0 versionados según el versionado semántico. En el futuro, Cardano incluirá más componentes que seguirán sus propios esquemas de versionado. Por ejemplo, la billetera Cardano está siendo reescrita como un componente de software independiente. La siguiente fase en el desarrollo de Cardano Shelley será versionada como Cardano 2.N.

Material gráfico, Mike Beeple

2 Likes