Esta semana, tuvimos la alegria que Elizabeth Leonhardt, estudiante de intercambio, aprobó su tesis sobre Blockchain obteniendo así su título de Ingeniera en Computación. Tanto ella como su co-director, Matías Cuenca son parte del equipo de investigación.
A continuación, compartimos un extracto de las conclusiones de su trabajo final de grado:
En el proyecto se realizó un estudio profundo de la tecnología Blockchain, sus características más importantes como también sus aplicaciones y casos de uso.
Se comparó una variedad de plataformas Blockchain diferentes. Luego, se eligió una plataforma de las analizadas para probar su funcionamiento en un caso práctico que no involucrara la necesidad de una criptomoneda. Se investigó la utilidad de un sistema de validación de actas académicas y se llegó a la cclusión que un sistema con arquitectura Blockchain puede superar en utilidad a un sistema de base de datos tradicional.Se comparó una variedad de plataformas Blockchain diferentes. Luego, se eligió una plataforma de las analizadas para probar su funcionamiento en un caso práctico que no involucrara la necesidad de una criptomoneda. Se investigó la utilidad de un sistema de validación de actas académicas y se llegó a la conclusión que un sistema con arquitectura Blockchain puede superar en utilidad a un sistema de base de datos tradicional.
Después de la etapa de investigación se procedió a desarrollar un prototipo con el fin de evaluar la implementabilidad y utilidad de la propuesta. Para eso, el proyecto se dividió en tres partes:
1. La primera parte consiste en la configuración de la red Blockchain con el framework elegido. Se configuraron 3 organizaciones diferentes con 2 nodos cada una, que comparten el mismo canal y usan el mecanismo de aprobación de transacciones solo. Ambos nodos por cada organización funcionan como nodos de aprobación de transacciones y un nodo por cada organización se configuró adicional mente como anchor node para posibilitar el descubrimiento de nodos de otras organizaciones. El desarrollo del chaincode permite agregar y modificar información al Blockchain, una vez que toda la red fue iniciada.
2. La segunda parte consiste en la programación de la API con la ayuda del SDK provisto por Hyperledger Fabric. Se implementaron los diferentes endpoints que invocan al chaincode correspondiente, el cual consulta por información existente o agrega información nueva. Se implementaron las siguientes funcionalidades:
a) Almacenar un acta nueva.
b) Consultar por un acta almacenada.
c) Validar una nota.
d) Validar una historia académica.
e) Rectificar un acta.
f ) Consultar por todas las actas rectificadas.
3. En la última parte, se desarrolló una aplicación web para que el usuario pueda interactuar con el sistema a través de una interfaz gráfica. Con Angular, se crearon diferentes páginas que interactúan con la API y dan una retroalimentación visual
al usuario para indicar si su operación fue exitosa o fracaso.