Diseño y Prototipado de un Simulador Modular Blockchain de Código Abierto y Uso Libre para Investigación (2020)
“Diseño y Prototipado de un Simulador Modular Blockchain de Código Abierto y Uso Libre Para Investigación” está inspirado por parte de la academia y el gran auge que ha tenido la tecnología Blockchain. Blockchain representa una revolución tecnología que viene con gran variedad de aplicaciones y usos casi ilimitados. Por este motivo analizar su comportamiento con diferentes configuraciones y situaciones significa un gran beneficio para optimizar su proceso cual haya sido el área aplicada. En el ámbito de la programación de sistemas Blockchain existen muchas combinaciones posibles, pero no existen muchas herramientas que permitan ver en funcionamiento las variaciones posibles en su configuración y composición en un sistema que no haya sido desplegado. Nuestro objetivo realizando este proyecto es Diseñar y prototipar un sistema Blockchain Modular que pueda simular el comportamiento de intercambio de moneda como Bitcoin, incluyendo una estructura lógica que le permita evolucionar y poder implementar un sistema más complejo como Ethereum con el uso de contratos inteligentes e intercambiar otros bienes digitales, sin excluir el registro de información en la cadena de bloques. La solución propuesta en este proyecto consiste en 3 pilares. El primer pilar del proyecto hace referencia al diseño y prototipado de un Simulador Blockchain el cual su estructura sea orientada a la modularidad y de código abierto para la investigación bajo el lenguaje de programación JAVA y el paradigma de desarrollo orientado objetos. En el segundo pilar nos referimos a la comunicación Peer2Peer. Este proceso será desarrollado mediante la aplicación llamada SCRIBE bajo la librería FreePastry de Java. Toda información es transmitidas mediante una estructura JSON usando la librería JACKSON de JAVA. Por último, tenemos el pilar de la virtualización de Docker, este consiste en que cada nodo va a ser un contenedor el cual se podrá comunicar con los otros contenedores mediante la docker network.