IOHK lanza Ícarus a la Comunidad Cardano. Traducción al español. 🇪🇸

Documento original Publicado el 15 de Agosto de 2018.

Brian McKenna

Ver Documento Original aquí.

Los desarrolladores ahora pueden construir sus propias billeteras livianas (light wallets)

image

Hoy IOHK lanza Ícarus, una implementación de referencia para una billetera liviana desarrollada por el equipo de ingeniería de IOHK.

Esperamos que esta base de código se utilice como punto de referencia para que los desarrolladores puedan crear sus propias billeteras móviles y livianas seguras para Cardano. Ícarus es una base de código abierto que será el primer paso en una serie de iniciativas de código abierto para proporcionar a los desarrolladores un conjunto de herramientas para Cardano.

Ícarus nació de una serie de pruebas de conceptos que comenzaron en marzo de este año. Una pequeña sección del equipo de ingeniería de IOHK estaba interesada en saber si podían demostrar que sería posible crear una billetera Cardano liviana con todas las características de Daedalus pero que fuera fácil de usar y rápida de configurar. Mientras mejoramos las velocidades de sincronización de Daedalus todo el tiempo, especialmente en la reciente versión 1.3, queríamos ver si podíamos construir algo rápido para los usuarios de Ada que no necesitaran todas las funciones de Daedalus, o que no tuvieran el ancho de banda o los requisitos de máquina necesarios para ejecutar fácilmente Daedalus.

Por lo tanto, investigar si sería posible construir una billetera en la que el usuario no tuviera que descargar toda la cadena de bloques - y pudiera ejecutarse en un navegador o en un dispositivo móvil - valió la pena el esfuerzo de un pequeño equipo dedicado.

Para construir una billetera como ésta, tendríamos que demostrar que podemos almacenar de forma segura las claves privadas (private keys) y ejecutar operaciones criptográficas en el lado del cliente en el navegador. En tándem, necesitaríamos comunicarnos con los nodos de Cardano para proporcionar a los usuarios su estado actual de UTxO. Si esto pudiera lograrse, no sería una hazaña despreciable, de ahí el nombre de Ícaro - desde el principio supimos que estaríamos volando cerca del sol.

El equipo se puso en marcha a principios de Marzo con ambiciosos objetivos para ver si, en el plazo de un mes, podíamos construir una aplicación esqueleto de extensión Chrome y verificar que la criptografía de Cardano se pudiera ejecutar en el navegador utilizando WebAssembly compilado a partir de Rust. La librería primitiva Rust de Cardano ha sido desarrollada por Vincent Hanquez y Nicolas Di Prima, ingenieros criptográficos especializados de IOHK, y ya se ha utilizado para el certificado de billetera en papel (papel wallet) de Daedalus .

Para construir esta extensión Chrome, necesitaríamos demostrar con éxito que podemos importar y hacer un seguimiento de un saldo de billetera. Por supuesto, tendríamos que hacer todo esto sin sacrificar los principios de calidad y seguridad de la ingeniería de IOHK.

La Demo de finales de Marzo fue bien y produjo un prototipo funcional que pudimos desarrollar. Una vez que se hizo la demostración, el equipo de ingeniería de IOHK tuvo la oportunidad de revisar, criticar y proporcionar retroalimentación sobre las decisiones de diseño que el equipo del proyecto Ícarus estaba tomando, lo que resultó ser invaluable para el proceso. Después de la prueba del concepto 1, se sintió que se estaba progresando bien y que valdría la pena el esfuerzo de otro mes del equipo.

La prueba del concepto 2 se entregó a mediados de Abril. Los ingenieros de Rust habían pasado el tiempo intermedio ampliando la biblioteca Rust para dar soporte a los primitivos de Cardano para la creación, firma y emisión de transacciones, y proporcionando una API para que éstas pudieran ejecutarse en el navegador. En cuanto a la aplicación, queríamos ver si podíamos reutilizar los componentes UX/UI de Daedalus para proporcionar una experiencia de usuario sin problemas. Afortunadamente, el equipo de desarrollo de Daedalus de IOHK ha mantenido una estructura de interfaz de usuario portátil de alta calidad para React, llamada React-Polymorph, que encontramos fácilmente transportable a la extensión Chrome.

La prueba de concepto 3 a finales de Mayo supuso que Ícarus fuera totalmente interoperable con la billetera de Daedalus. El equipo trabajó para desarrollar un nuevo esquema de direcciones Determinista Jerárquico (HD) que Daedalus utilizará en el futuro y que garantizará una compatibilidad continua. Una característica importante que construimos en este punto fue permitir al usuario introducir la frase de recuperación de su billetera de Daedalus en Ícaro, y que su Ada en Daedalus fuera transferida a la billetera de Ícarus. En efecto, esto permite a los usuarios recuperar su Ada sin necesidad de utilizar la cartera de Daedalus. También optimizamos los tiempos de restauración de billeteras. Finalmente, después de sólo tres meses y tres demostraciones, tuvimos un prototipo totalmente funcional y liviano de la billetera Cardano.

Antes de que pudiéramos asegurarnos de que ésta fuera una implementación de referencia que pudiéramos entregar a la comunidad, queríamos asegurarnos de que funcionara a escala. Esto, junto con la limpieza del código, fue la tarea principal de la prueba final del concepto 4 a principios de Junio. Recurrimos a la experiencia de Philipp Kant, en el benchmarking de IOHK, y Neil Davies, líder de establecimiento de redes, y realizamos con éxito una serie de rigurosas pruebas de estrés y tolerancia a fallos en la arquitectura.

El código base ha sido garantizado por Allied Testing, una compañía líder en aseguramiento de calidad y pruebas. También contratamos a Kudelski Security, una consultora de ciberseguridad, para realizar una auditoría de seguridad completa del código, cuyo informe se publicará en breve.

Nicolás Arqueros, Alan Verbner, Brian McKenna, Sebastien Guillemot

image

Sabíamos que Emurgo, la organización que apoya los nuevos emprendimientos de Cardano, estaba interesada en lanzar la primera implementación de Ícarus a la comunidad. Para ello, invitamos a dos empleados de Emurgo - Nicolás Arqueros, director de tecnología, y Sebastien Guillemot, director técnico - a Buenos Aires para reunirse con el desarrollador líder de Ícarus, Alan Verbner, y su equipo en Julio. El objetivo de este viaje era ver si el código podía ser entendido e implementado por los miembros de la comunidad de código abierto. Emurgo nos dio su opinión sobre cómo podríamos hacer que la implementación de referencia estuviera lista para ser lanzada como producto y ellos escribieron una especificación técnica para el código base. Estamos entusiasmados de que Emurgo pronto lanzará su implementación de Ícarus, la billetera Yoroi, y esperamos ver cómo llevan a cabo su visión del producto".

A mediados de Julio, Hayley McCool Smith, Product Marketing Manager de IOHK, visitó Emurgo en sus oficinas de Tokio. Uno de los objetivos del viaje era participar en un taller de nombramiento que ayudaría a Emurgo a dar vida a su producto. Después de pasar un día trabajando con una plétora de aspirantes que Emurgo había preseleccionado, se decidió que "Yoroi" era el candidato perfecto. En japonés, Yoroi significa "gran armadura" y es un ejemplo prominente del tipo de armamento seguro que los Samuráis usarían para protegerse. Con el nombre decidido, le tocó al equipo crear un logotipo que reflejara una nueva billetera liviana, a la vez que incorporara el significado tradicional Samurái de la palabra.

Equipo Emurgo en Tokio

image

La biblioteca Rust que se utilizó para llevar la criptografía de Cardano al navegador ha generado otro proyecto de IOHK, el proyecto Cardano Rust. (Esto se conoce internamente como Proyecto Prometheus.) IOHK publicará más información sobre esto en su momento. El proyecto Cardano Rust mantendrá el espíritu de código abierto de Ícarus y ampliará aún más la caja de herramientas de los módulos Rust. El proyecto se pondrá a disposición de la comunidad de código abierto para construir fácilmente aplicaciones de alta calidad utilizando Cardano. El primer producto del proyecto será una billetera completa de interfaz de línea de comandos, que se espera ver en Septiembre.

El equipo de desarrollo segmentado y el enfoque de iteración rápida para el desarrollo de software ha funcionado bien en el Proyecto Ícarus y volveremos a emplear esta estrategia. Estamos encantados de que los titulares de Ada tengan la posibilidad de guardar su Ada en la billetera Yoroi, que es realmente genial, y de que los desarrolladores dispongan de una implementación de referencia de alta calidad en la que basar sus nuevas billeteras livianas y móviles para Cardano". El proyecto también ha dado lugar al Proyecto Prometheus, que es la evolución natural del espíritu de Ícarus.

Sentimos que hemos desarrollado, en muy poco tiempo, una implementación de referencia de calidad asegurada y auditada de seguridad muy útil para una billetera liviana de Cardano. Animamos a la comunidad de código abierto a que bifurque el código base de Ícarus, lo compile, y tal vez incluso construya su propia billetera para Cardano. Damos la bienvenida a las contribuciones y esperamos que este esfuerzo beneficie a toda la comunidad.

Este blog ha sido modificado para actualizar el nombre del proyecto Rust de Cardano del Proyecto Prometheus.

1 Like