Presentación de Komodo Zebra (Kebra): Una implementación de nodos de segunda generación basada en Rust
Nos complace anunciar que nuestra implementación de nodos modulares, Zebra, ha alcanzado el estado alfa.
¿Qué es Zebra?
Zebra está escrito en Rust, un lenguaje seguro para la memoria, y se espera que se convierta en un importante contribuyente al crecimiento del ecosistema de Komodo, permitiendo el desarrollo de nuevas herramientas y servicios, así como la integración en otro software de apoyo a Komodo.
La blockchain de Komodo es una bifurcación de ZCash y proporciona un nivel de seguridad adicional a la blockchain a través de su sistema de prueba de trabajo retardada (dPoW), que utiliza la tasa de hash de Litecoin para proteger tanto a Komodo como a proyectos de terceros que utilizan dPoW para una defensa contra ataques del 51%. Sin embargo, Komodo heredó su protocolo de red de ZCash, que a su vez es un fork de Bitcoin construido a partir de una base de código C++ mal especificada.
Los ingenieros de la Zcash Foundation decidieron remediar esto lanzando una reimplementación de su nodo en Rust llamada Zebra. Komodo siguió su ejemplo, pero también tuvo que hacer un trabajo adicional para adoptar la implementación inicial de Zebra a la mainnet de Komodo, como la implementación de reglas de consenso específicas de Komodo, entidades de Nodos Notariales y la capa de seguridad dPoW. Al utilizar código fuente escrito en Rust también obtenemos una verdadera base de código multiplataforma que se puede ejecutar en cualquier plataforma compatible con Rust.
Implementación de Komodo Zebra
Ahora que este trabajo está completo, el equipo de Komodo se enorgullece de presentar la implementación de Zebra (también conocida como Kebra) "con sabor a Komodo". Zebra ya es capaz de sincronizar la red Komodo (KMD) y actuar como un daemon de red. Dado que Zebra de Komodo y Zebra de ZCash comparten el mismo código base, la mayoría de las declaraciones y artículos aplicados a la implementación original de Zebra de la Fundación Zcash también se aplican a la versión de Komodo.
Zebra tiene algunas limitaciones en comparación con komodod (daemon existente). Zebra es un nodo completo capaz de validar y propagar transacciones y bloques, descubrir y mantener conexiones con pares, y mantener una copia completa y actualizada del blockchain. No tiene funcionalidad de minería para resolver el algoritmo Proof of Work por sí mismo, pero tendrá la funcionalidad para soportar bloques de producción de software de pool.
Tampoco proporciona ninguna funcionalidad de monedero de usuario, que deberá implementarse en otros módulos y monederos independientes que puedan interactuar con Zebra a través de su subsistema RPC. En resumen, Zebra es un nodo blockchain completo que contiene una base de datos blockchain completa y un nodo de enrutamiento de red en la red P2P Komodo.
El nodo de red Zebra de Komodo utiliza tanto el lenguaje Rust como la biblioteca Tower para su nueva pila. La propia biblioteca Tower consta de componentes modulares y reutilizables para crear clientes y servidores de red robustos. Utilizar Rust en lugar de C++ para la aplicación tiene muchas ventajas, como una mayor seguridad de la memoria, un mejor rendimiento y una mejor experiencia de desarrollo. Rust también es más fiable y fácil de mantener, lo que lo convierte en una gran opción para aplicaciones de misión crítica. Para más información sobre la nueva pila de red y las ventajas de utilizar Tower, consulta el artículo de ZCash Foundation.
¿Y ahora qué?
Se trata de un hito importante para Komodo y su equipo de desarrollo, ya que ha abierto la posibilidad de desarrollar nuevas herramientas, servicios e integraciones que aprovecharán la avanzada tecnología de Komodo. El equipo de desarrollo se centra ahora en mejorar la estabilidad del software y luego pasar a las pruebas beta, así como trabajar en nuevas integraciones con servicios y proyectos de terceros.
El equipo de Komodo ha hecho grandes progresos en el desarrollo de una implementación de nodos modular y segura para la memoria de la red Komodo. La adopción de Rust como lenguaje de elección ha sido un gran beneficio para el desarrollo del software, y los esfuerzos del equipo para integrar la implementación inicial de Zebra con la red principal de Komodo han demostrado ser un éxito. Con el software ahora en estado Alpha, estamos en camino de crear un nodo avanzado que proporcionará una base para el desarrollo de nuevas herramientas, servicios e integraciones.