Traducción al español de “Implementing Hydra Heads: the first step towards the full Hydra vision”
, escrito por Matías Benkort, Jefe de Ingeniería de Software en IOG, el 2 de febrero de 2022.
La Cabeza de Hydra, el primero de un paquete de protocolos, es un componente clave en el proceso de escalado de Cardano. Examinemos de qué manera encaja en el panorama general. Y quizás acabemos también con algunos mitos.
Hemos hecho la parte científica y la teoría. Hemos sentado las bases de una blockchain escalable, versátil y de alto rendimiento. Ha llegado el momento de crecer y mejorar el sistema. Teniendo como objetivo la creación de un ecosistema optimizado para sustentar y fomentar el desarrollo de aplicaciones descentralizadas (DApps), Cardano se encuentra en las primeras etapas de la fase Basho. Tras la puesta en marcha de los smart contracts, Basho se centra en escalar y en la optimización de la red. La familia de protocolos Hydra constituye un componente clave para ello.
Anteriormente hemos hablado sobre Hydra. Se trata de un conjunto de soluciones de capa 2 [layer 2] concebidas con el fin de afrontar las capacidades de seguridad y escalabilidad de la red. Inicialmente se concibió dentro del trabajo del equipo de investigación de Ouroboros, pero en realidad se ha forjado una senda independiente desde la publicación del documento original. Con Hydra se consigue un incremento del rendimiento, se minimiza la latencia y se obtienen soluciones rentables sin necesidad de grandes requisitos de almacenamiento. El protocolo de la Cabeza de Hydra empezaba a perfilarse ya en 2020 y desde entonces nuestra idea ha evolucionado, sobre todo a lo largo de esta primera fase de implementación y prueba de concepto. Partiendo de esa idea inicial, el protocolo Cabeza de Hydra ha madurado hasta convertirse en una prueba de concepto y ha continuado haciéndolo mientras nos dirigimos hacia una implementación más definida para el MVP ¹ de la red de pruebas.
Vemos mucho entusiasmo (¡genial!) y también conceptos inexactos y equivocaciones (no tan geniales). Muchos de ellos han surgido a partir de la declaración de la idea, más que de la implementación real del protocolo y puede que algunos de nuestros blogs anteriores quizás hayan contribuido a estos malentendidos. Pero el protocolo Hydra Head no se refiere únicamente a la implementación SPO, sino también al teórico “1 millón de TPS”, que hay que matizar y explicar mejor.
A lo largo de este artículo, el equipo de ingenieros de Hydra presenta nuestros progresos actuales, nuestro enfoque y nuestra hoja de ruta a corto y largo plazo. Aclararemos algunos conceptos erróneos, las ventajas y reflexionaremos sobre los retos de desarrollo.
Una Cabeza Head [Hydra Head], en pocas palabras
En primer lugar, volvamos a presentar a las cabezas de Hydra, que no sólo implican una robusta capa de red entre pares y un libro mayor de Cardano integrado, sino también varios scripts en la cadena (contratos inteligentes) que impulsan el ciclo de vida de una cabeza de Hydra.
Una cabeza de hidra es un canal de estado isomórfico demostrablemente seguro. En términos sencillos, es un mini-libro fuera de la cadena entre un conjunto restringido de participantes, con un funcionamiento similar (aunque significativamente más rápido) al del libro mayor en la cadena.
La primera cuestión que hay que entender es que un canal es una vía de comunicación entre dos o más pares. Formar parte de una Cabeza significa ser uno de esos pares. Los canales forman redes aisladas que pueden evolucionar en paralelo a la red principal. Dentro de estas redes alternativas, los participantes siguen un algoritmo de consenso diferente y más sencillo: todos tienen que estar de acuerdo con todas las transacciones que pasan. En consecuencia, como participante, es imposible perder dinero que no haya acordado perder de forma explícita. ¿Por qué? Porque cualquier transacción válida requiere mi aprobación explícita.
Cuando se forma una Cabeza, los participantes podrán depositar fondos en ella. Eso implica trasladar los fondos en la cadena a una dirección de script que los bloquea bajo reglas específicas. El script garantiza la ejecución segura del protocolo en la cadena sobre todo que los participantes no puedan engañarse unos a otros. Sin embargo, en cualquier momento, cualquier participante puede decidir abandonar la cabeza cerrándola. Si lo hace, todos los participantes se marchan con el último estado que habían acordado fuera de la cadena, en su red paralela.
Considere las Cabezas como “mesas de póquer privadas” en las que los participantes traen sus propias fichas para jugar la partida. Todos los participantes pueden jugar todo el tiempo que quieran. Si alguien no juega, la partida no avanza. Sin embargo, los participantes siguen siendo libres de marcharse con sus fichas. Si lo hacen, el juego termina con la distribución de la riqueza actual.
Figure 1 . Ciclo de vida de una Cabeza de Hydra (simplificada)
El crupier de la mesa (el script de la cadena) se encarga de que los jugadores respeten las reglas y no hagan trampas. Al final, hay tantas fichas fuera como fichas dentro, pero pueden haber sido redistribuidas durante el curso del juego. Mientras que el resultado final se conoce fuera de la mesa, el historial de todas las acciones ocurridas durante la partida sólo lo conocen los participantes.
Este protocolo forma parte de un conjunto de protocolos que solemos denominar “Hydra”. El esfuerzo de ingeniería actual se centra en la implementación del protocolo Hydra Head tal y como se publicó en Hydra: Fast Isomorphic State-Channels por Chakravarty et al.
A finales de 2021, Maxim Jourenko, Mario Larangeira y Keisuke Tanaka publicaron una iteración sobre Hydra Head llamada Interhead Hydra: Two Heads are Better than One. Esta iteración define un método para interconectar dos cabezas entre sí permitiendo, a largo plazo, la creación de una red de cabezas Hydra interconectadas. Anteriormente, se mencionaron otros protocolos como el “Hydra Tail”. Sin embargo, éstos siguen siendo objeto de investigación, junto con las nuevas ideas procedentes del reciente trabajo sobre el protocolo de las Cabezas de Hidra.
Los conceptos incorrectos sobre Hydra
Últimamente hemos visto muchos comentarios que posicionan a Hydra como la solución “definitiva” para la escalabilidad de Cardano. Ciertamente, las cabezas Hydra constituyen una base sólida para construir una capa de escalabilidad para Cardano. Constituyen un bloque de construcción esencial que aprovecha la potencia del modelo Extended Unspent Transaction Output (EUTXO) para permitir soluciones más complejas en la parte superior. Representan un elemento crítico del viaje de la escalabilidad, pero no son el destino final.
La escalabilidad no es cuestión de un millón de TPS
Pero antes de hablar de las métricas de escalabilidad, vamos a aclarar algunas cosas sobre las transacciones por segundo (TPS). Dentro de todas las disponibles, las TPS son probablemente la métrica menos significativa a considerar como medio de comparación. Existen diferentes formas y tamaños de transacciones. Si bien esto es cierto para Cardano, es aún más esencial cuando se comparan dos sistemas drásticamente diferentes.
Considere una autopista y los vehículos. Uno puede mirar cuántos “vehículos por segundo” (VPS) puede manejar la autopista entre dos puntos. Ahora bien, si no hay una definición común de lo que es un vehículo, comparar 10 VPS con 100 VPS carece aparentemente de sentido. Si los 10 vehículos del ejemplo se refieren a enormes camiones de carga, ¿tiene sentido compararlos con 100 scooters en cuanto a su capacidad de entrega? Lo mismo ocurre con las transacciones. Definitivamente, no es lo mismo una transacción con cientos de activos y salidas nativas que un único pago ada entre dos actores.
Utilizar las TPS como métrica dentro del mismo contexto (por ejemplo, para comparar dos versiones del nodo Cardano) tiene sentido. Emplearlo como medio de comparación entre blockchains no lo es.
Teniendo esto en cuenta, sugerimos mirar no sólo el rendimiento, sino también la finalidad y la concurrencia como métricas importantes para considerar y discutir la escalabilidad:
- Rendimiento: volumen de datos procesados por un sistema en un tiempo determinado.
- Finalidad: tiempo que tarda el resultado de una acción en ser inmutable y verdadero para todos los participantes en el sistema.
- Concurrencia: cantidad de trabajo que pueden realizar los diferentes actores sin bloquearse mutuamente
Las Cabezas de Hydra destacan por conseguir una finalidad casi instantánea dentro de una Cabeza. El proceso de creación y cierre de una cabeza puede llevar unos cuantos bloques, pero una vez establecida, las transacciones pueden fluir rápidamente entre los participantes de la colaboración. Como las cabezas Hydra también utilizan el modelo EUTXO, pueden procesar simultáneamente transacciones no conflictivas, lo que, unido a una buena conexión en red, permite un uso óptimo de los recursos disponibles. Las primeras simulaciones del protocolo Hydra Head en 2020 sugirieron un muy prometedor “1000 TPS”. Ahora estamos en proceso de evaluar la implementación real en términos de rendimiento y finalidad.
Hay que tener en cuenta que una cabeza de hidra es una construcción muy local dentro de un pequeño grupo de participantes. Al principio, estos grupos serán independientes y, por lo tanto, mirar la suma de sus métricas individuales como un todo es engañoso. Puesto que los grupos son independientes y pueden crearse de forma independiente a voluntad, es fácil alcanzar cualquier cifra con sólo sumarlos: diez, mil, un millón, mil millones, etc.
Por consiguiente, aunque la primera versión del protocolo Hydra Head permitirá a pequeños grupos de participantes aumentar su tráfico a bajo coste, no ofrecerá inmediatamente una solución para los pagos globales de consumidor a consumidor (micro) o las ventas NFT. ¿Por qué? Porque el consenso dentro de una cabeza requiere que cada participante reaccione a cada transacción. Una cabeza individual no es infinitamente escalable con el número de participantes, al menos no sin un esfuerzo adicional de ingeniería. Por ejemplo, la interconexión de las cabezas de Hydra allana el camino a redes más grandes de participantes, convirtiendo efectivamente las cabezas locales en una red global. Estamos explorando otras ideas para ampliar el protocolo de las Cabezas de Hidra, con el fin de extender el conjunto de casos de uso que puede cubrir. Hablaremos más de ello en las próximas secciones y en futuras actualizaciones.
Casos de uso y el papel de los SPO
¿Cuándo son útiles las Cabezas? Suelen ser útiles cuando un pequeño grupo de participantes necesita procesar muchas interacciones rápidas. Imagínese, por ejemplo, un servicio API de pago por uso, una red privada de banco a banco o una subasta rápida entre un vendedor y un pequeño grupo de postores. Son muchos los casos de uso y adoptan diversas formas. Hay casos que pueden ser de larga duración, mientras que otros pueden ser mucho más cortos y durar sólo unas horas.
Nuestra investigación inicial de Hydra en 2020 indicó que los operadores de stake pool (SPO) eran candidatos probables para ejecutar cabezas de Hydra. Sin embargo, como el protocolo Hydra Head ha sido investigado y construido como una prueba de concepto, podemos afirmar firmemente que es un malentendido decir que sólo los SPOs deben ejecutar un Hydra Head para garantizar la escalabilidad del libro mayor. De hecho, los SPO no tienen ningún interés intrínseco en abrir cabezas entre sí sin una razón para realizar transacciones (propinas o comercio de NFT, por ejemplo). En cierto modo, los SPO son como cualquier otro actor cuando se trata del protocolo Hydra Head. Pueden ser un participante y abrir Cabezas con otros compañeros, pero también puede hacerlo cualquier persona interesada.
Hay que reconocer que los SPO son buenos en el funcionamiento de la infraestructura y pueden encontrarse entre los primeros usuarios que ejecutan instancias del protocolo Cabeza de Hydra. Sin embargo, esto sólo les permite a los SPO participantes realizar transacciones entre sí, lo que limita los casos de uso para los usuarios finales. Únicamente los diseños avanzados de sistemas de capa 2, como el protocolo Interhead Hydra, requieren intermediarios para ejecutar la infraestructura en beneficio de los usuarios finales. A decir verdad, prevemos que una configuración probable para las cabezas de hidra será proporcionar a los usuarios cabezas de hidra gestionadas como servicio (HaaS). Esto se puede conseguir sin renunciar a la custodia de los fondos, gestionando la infraestructura en nombre de los usuarios finales, que por lo general no tienen ni el interés ni los conocimientos técnicos para mantener dicha infraestructura.
Esto se parece mucho al modelo de funcionamiento actual de wallets ligeras y de proveedores de wallets ligeras que, a la larga, tienen muchas más probabilidades de ejecutar Hydra Heads. Se puede imaginar una red compuesta por los principales proveedores de monederos ligeros dentro del ecosistema de Cardano. Dichos proveedores pueden entonces facilitar los pagos instantáneos y baratos entre sus usuarios al tiempo que garantizan la confianza general.
También prevemos que los servicios para desarrolladores y los proveedores de DApps serán candidatos probables para ejecutar cabezas de Hydra. En efecto, los desarrolladores de DApps necesitan acceder a la información de la cadena. Para ello, los desarrolladores pueden recurrir a servicios en línea que proporcionan interfaces adecuadas y suelen cobrar cuotas mensuales de uso. Los Hydra Heads pueden mejorar este proceso permitiendo un modelo de negocio más descentralizado con llamadas a la API de pago por uso entre los proveedores de servicios y los desarrolladores de DApps.
La hoja de ruta
Al tratarse de un grupo de protocolos que se entregarán a lo largo del tiempo, y que implicarán diseños de sistemas de capa 2 más elaborados sobre el protocolo Hydra Head, es de vital importancia que nos comprometamos frecuentemente con los desarrolladores del ecosistema Cardano. No hablamos de un lanzamiento “big bang”, sino de un ciclo de lanzamiento iterativo. Tenemos que entender los retos de los desarrolladores, asegurarnos de satisfacer sus necesidades y, en última instancia, garantizar que estamos construyendo algo útil. Por eso estamos desarrollando Hydra Head como un proyecto de código abierto en GitHub, que comenzó con una prueba de concepto el año pasado. A fin de mantener una cadencia de publicación regular y frecuente, en septiembre publicamos nuestra primera versión preliminar para desarrolladores (0.1.0), seguida de una segunda iteración (0.2.0) antes de Navidad. El siguiente incremento (0.3.0) llegará en febrero. Seguimos el sistema de versiones semánticas y cada uno de estos pre-lanzamientos (0.x.0) añade características que estarán disponibles para nuestros socios y los primeros en adoptarlas para que las prueben en redes de prueba privadas y públicas de Cardano.
Nos complace anunciar que nuestra hoja de ruta ahora también está disponible en Github! A fin de comprometernos con nuestra comunidad de desarrolladores y ser transparentes sobre el curso de nuestros esfuerzos de desarrollo, encontrará cuestiones de características, hitos y tableros de proyectos disponibles en el repositorio de Hydra Head
Aunque nuestro objetivo es crear versiones significativas y repletas de funciones a medida que avanzamos en la madurez de la red de pruebas y, posteriormente, de la red principal con la versión 1.0.0, la hoja de ruta también incluye fechas provisionales. Estos pronósticos se derivan tanto del trabajo realizado hasta ahora como de nuestras estimaciones del trabajo que queda por delante. Reflexionaremos periódicamente sobre el contenido y las fechas de forma ágil para que la hoja de ruta sea lo más precisa posible.
##Las opiniones de la comunidad son esenciales
Vamos a medir nuestro éxito por la cantidad de tráfico que se ejecutará a través de las Cabezas de Hydra en comparación con la red principal de Cardano. Eso quiere decir que no podemos alcanzar nuestro objetivo sin la comunidad, e Hydra sólo puede tener éxito si es útil para los usuarios actuales y futuros de Cardano.
En función de su tiempo, habilidades y experiencia, le invitamos a participar con nosotros para compartir preguntas, comentarios o contribuir al esfuerzo de desarrollo. Se trata de una oportunidad estupenda para construir juntos todo un ecosistema de soluciones de capa 2 para Cardano. El protocolo Hydra Head será el primer bloque de construcción de muchas soluciones avanzadas por venir. En el IOG, ya hemos empezado a trabajar en algunas de ellas, pero otras serán inevitablemente (¡y afortunadamente!) construidas por los miembros de nuestra comunidad, a la que esperamos apoyar.
Trataremos sobre las Cabezas de Hydra con más detalle durante la actualización de desarrollo de mitad de mes de febrero. Suscríbase a nuestro canal de Youtube y únase a nosotros.
Agradezco a Sebastian Nagel, Olga Hryniuk, Mark Irwin y Tim Harrison su aportación y apoyo en la preparación de este artículo
Notas del traductor
-
Desde Cardanians Hispanos en Twitter, puede usted seguir a los tweets oficiales traducidos al español , de la Fundación Cardano, EMURGO, IOG, Yoroi y Comunidad Cardano.
-
Desde Anuncios de Cardano en Español puede usted seguir los anuncios oficiales traducidos al español , de Cardano, EMURGO y Yoroi.
-
Corchetes del traductor.
-
indica que el enlace apunta a un contenido en idioma inglés.
-
indica que el enlace apunta a un contenido en idioma español.