Cardano alcanza un hito en su desarrollo. Traducción al español 🇪🇸

Documento Original publicado el 22 de Marzo de 2019

Duncan Coutts

Los ingenieros concluyen la fase de Bryon a medida que avanza el trabajo de Shelley

El lanzamiento de Cardano 1.5 marca el inicio del cambio de la era Cardano Byron a la era Shelley y es una excelente oportunidad para describir el trabajo en curso para Shelley y cómo sucederá la transición.

Hace aproximadamente seis meses, cambiamos casi todos nuestros esfuerzos de desarrollo a la base de código Shelley, y el trabajo ha progresado rápidamente desde entonces. El último trabajo importante en la base de código de Byron se completó para Cardano 1.4, y para 1.5 limitamos el trabajo a sólo aquellos cambios necesarios para una transición sin problemas a Shelley.

La base de código Shelley no es sólo una extensión de la base de código Byron, sino una base completamente nueva. Para la era Shelley, hemos aprovechado la oportunidad para desmontar y reconstruir el sistema, así como para incluir las nuevas funciones de participación (staking) y delegación. Como resultado, hemos sido capaces de remediar una serie de limitaciones arquitectónicas en el código de Byron, así como participar en el enfoque de desarrollo de software semiformal que sigo discutiendo en mis videos.

En particular, ahora tenemos especificaciones matemáticas formales de las reglas de validación para la cadena de bloques (blockchain) Byron y Shelley, y presentaremos estas especificaciones en la conferencia IOHK en Abril. Cuando el desarrollo esté completo, podremos proporcionar pruebas de que el código implementa correctamente nuestras especificaciones. Este es un emocionante paso adelante en la calidad del sistema y será el primero en nuestra industria.

Una transición sin fisuras

Por supuesto, debemos gestionar la transición de Byron a Shelley con sumo cuidado. No es sólo un cambio significativo en las reglas, sino también una migración de un código base a otro. Hemos hecho todo lo posible para garantizar que el proceso de transición sea lo más suave posible.

Aunque se puede esperar que la transición de Shelly involucre una única bifurcación dura (hard fork), en realidad comprenderá dos. Vale la pena subrayar que, si bien se trata de bifurcaciones técnicamente duras, no perturbarán en el sentido que las bifurcaciones duras suelen serlo. Los cambios han sido diseñados para utilizar nuestro sistema de actualización existente y ser mínimamente perturbadores. Para los usuarios de Daedalus, será como cualquier otra actualización.

Para ambas bifurcaciones, desplegaremos una actualización que incluye las reglas de la nueva era en un estado no activado, que se activará varias semanas después. Esto es clave para evitar interrupciones en la bifurcación: no se actualiza ningún software en el momento de la bifurcación. La actualización del software ocurre antes, y una vez que todos estén listos, podemos activar el cambio sin problemas.

La única diferencia entre una bifurcación dura y una actualización regular es que la actualización es obligatoria entre la versión del software y la activación de la bifurcación dura. Para los usuarios de Daedalus, esto ocurre a través del sistema de actualización de software estándar. Los intercambios tendrán que actualizarse manualmente, pero tienen varias semanas para hacerlo.

¿Por qué dos bifurcaciones?

Por razones técnicas, la transición de Byron a Shelley es más sencilla si pasamos por una etapa intermedia de transición. Hay una bifurcación dura para entrar en la era de transición y luego una segunda para comenzar la era de Shelley propiamente dicha. La era Byron utiliza Ouroboros Classic, y la era Shelley utiliza Ouroboros Genesis (que es una extensión de Ouroboros Praos). Ambos son protocolos complejos. Para que una sola implementación de un nodo completo pueda gestionar una bifurcación dura sin problemas, es necesario que implemente las reglas antes y después de la bifurcación dura. Una bifurcación directa de Byron a Shelley requeriría una sola implementación para entender Ouroboros Classic, Ouroboros Genesis, y todas las demás reglas de validez - lo cual es una perspectiva muy complicada de hecho.
No sólo eso, sino que la versión Byron de Ouroboros Classic tiene cierta complejidad adicional que necesitaría ser replicada en una nueva implementación para preservar el consenso perfecto. En su lugar, estamos utilizando Ouroboros BFT, una simple variante de Ouroboros, para la era de transición. Esto significa que la base de código Byron sólo tiene que entender Ouroboros Classic y Ouroboros BFT, mientras que la base de código Shelley sólo tiene que entender Ouroboros BFT y Ouroboros Genesis. Ninguno de los dos tiene que entender tanto el Ouroboros Clásico como el Ouroboros Génesis. En particular, esto significa que la nueva base de código Shelley no necesita replicar cada detalle de la implementación de Byron de Ouroboros Classic, logrando una reducción genuina de la complejidad - y en el desarrollo de software, la complejidad es el enemigo.

Una era de transición

Así que esto explica para qué sirve realmente la versión Cardano 1.5: es la versión en la que la base de código de Byron comienza a entender Ouroboros BFT, lo que nos permite completar la primera bifurcación dura gestionada en pocas semanas. Después de la bifurcación, estaremos en la era de transición usando Ouroboros BFT y seremos capaces de empezar a desplegar el nuevo código base con el tiempo a medida que se desarrolle. Esta es la nueva base de código que se utilizará para las versiones de Shelley más adelante, pero que inicialmente sigue utilizando Ouroboros BFT para lograr una compatibilidad perfecta durante la transición.

Durante este período de transición, también llevaremos a cabo una red de pruebas para la delegación y la participación (staking). Inicialmente, esta red de prueba utilizará un subconjunto de las reglas de Shelley, pero la actualizaremos con el tiempo hasta que se implementen todas las reglas de Shelley y se resuelva cualquier otro problema que descubra la red de prueba.

Una vez que estemos satisfechos con la implementación completa de las reglas de Shelley, entonces desplegaremos una actualización de la nueva base de código en red principal (mainnet). Unas semanas más tarde activaremos la bifurcación dura y finalmente estaremos en la era de Shelley en la red principal!

En resumen, la versión 1.5 de Cardano es emocionante no por sus características principales, o por las numerosas mejoras incrementales de Daedalus, sino porque es el hito que marca el comienzo del fin de Cardano Byron y el comienzo del proceso de transición a Cardano Shelley.

Trabajo de Arte, Creative Commons IOHK | Agencia & Dimitris Ladopoulos

3 Likes