Hechos clave:
-
Antes de lanzar una actualización esta debe pasar por un riguroso sistema de pruebas.
-
Los desarrolladores invitan al resto de usuarios a realizar pruebas antes de actualizar.
Un problema grave, suscitado recientemente con el cliente Lightning Network Daemon (LND), ha causado que los desarrolladores de la red Lightning se cuestionen sobre las actuales metodologías de pruebas contra errores.
En el lanzamiento de LND, el pasado 23 de noviembre, se detectó un problema de compatibilidad, según lo reportó CriptoNoticias, causando que este no pudiese abrir canales con otros nodos de la red que usaran el cliente c-lightning.
A propósito de la falla, el usuario bajo el pseudónimo X Raid, comentó la semana pasada, en la lista de correos Lightning-Dev, el desarrollo de una solución conocida como rBOX. Este tipo de protocolo permitiría que un cliente, próximo a salir, verifique su compatibilidad con el resto de clientes de la red.
Para X Raid, cada cliente, que actualmente se ejecuta en la red Lightning, debería desarrollar su propio rBOX, el cual permitiría ejecutar las pruebas necesarias para verificar la compatibilidad.
«Esto para asegurar que la naturaleza crítica de LN está bien probada antes de que cualquier se convierta en un lanzamiento público» X Raid, desarrollador de Lightning Network.
Otro de los desarrolladores, en este caso Christian Decker, considera que, las pruebas de interoperabilidad, es «poco probable que detecten cualquier problema» en caso de que no sean «muy serios». En este caso, recomienda a todos los usuarios, bien sean desarrolladores de Lightning Network, o solo tengan conocimientos técnicos del área e interés, hacer las pruebas técnicas de los posibles candidatos a salir. A mayor cantidad de prueba, menor podrá ser el porcentaje de error.
Buenas prácticas a nivel de desarrollo
A nivel de producción, tomando como ejemplo una empresa de desarrollo de software, el ciclo de vida pasa por dos etapas importantes, la programación del código y la prueba del mismo. En empresas grandes, estas dos etapas se separan en desarrolladores y testers (anglicismo de test o prueba). Los testers se encargan de la verificación y control para que un software, pronto a salir a producción, cumpla con los estándares de calidad.
Ahora bien, el ejemplo anterior se da en empresas establecidas. En el ámbito Bitcoin trabajan, mayormente, programadores independientes. Si bien hay empresas que desarrollan tecnologías para Bitcoin, las pruebas de calidad son auditadas por los mismos desarrolladores.
En el caso de lo ocurrido con LND, el cual es un software desarrollado por Lightning Labs, una empresa dentro del rubro Bitcoin, la comunidad no pudo detectar el error. Para evitar que este tipo de problemas ocurra de nuevo, y como lo aconsejó el propio Decker, el boletín informativo Bitcoin Optech ha recopilado algunos de los principales clientes de Lightning Network en los que los interesados pueden hacer las pruebas correspondientes para ayudar a las mejoras de calidad.