Gestión de certificados académicos sobre la blockchain Ethereum

En los próximos años, cada vez más, será habitual que como usuarios interactuemos con aplicaciones descentralizadas que funcionan de manera independiente sin necesitar de ningún intermediario.

Detrás de estas aplicaciones existe la tecnología blockchain, que ofrece varias características de seguridad como por ejemplo: integridad y autenticidad de los datos, aplicaciones inmutables (ej. una aplicación en Ethereum o EOS), alta disponibilidad, resistencia a la censura…

De aplicaciones descentralizadas, existen varios tipos. En este post se describe una que pertenece al grupo de las aplicaciones que utilizan otro protocolo blockchain para implementarse. Esta aplicación -OpenDCert- se ha desarrollado para el trabajo final de grado (TFG) donde la versión pública utiliza una de las redes de pruebas (Rinkeby) del blockchain de Ethereum.

OpenDCert: Aplicación descentralizada para certificados académicos

La aplicación desarrollada está planteada para que entidades de formación (escuelas, universidades, centros de formación…) puedan gestionar los certificados de los alumnos de manera segura y sin intermediarios, mostrando una posible alternativa de gestión mediante la tecnología blockchain.

La aplicación evita almacenar cualquier dato privado, y siempre se utilizan claves públicas que estarán asociadas a cada tipología de usuario. Las tipologías establecidas en la aplicación son tres: las organizaciones, los alumnos y un administrador.

La funcionalidad de las organizaciones o entidades de formación es gestionar los certificados de los alumnos de forma que queden asociados a su clave pública. Los estudiantes sólo podrán consultar, descargar y compartir sus certificados. El administrador valida que las entidades dadas de alta sean correctas.

Tecnologías utilizadas:

Se han utilizado las tecnologías Ethereum, IPFS, React.js, Web3.js y Metamask.

Ethereum [https://ethereum.org/] implementa el protocolo blockchain que se utiliza para crear el back-end de la aplicación mediante un smart contract.

IPFS [https://ipfs.io/] es un protocolo que define un sistema de ficheros distribuidos. Cada vez que un fichero es subido al servicio, este devuelve un hash único que lo identifica.

El uso que se realizará de la tecnología IPFS es guardar parte de la información de las organizaciones y el alumno, y los certificados en PDF de los estudiantes. También, el front-end de la aplicación se aloja en este mismo protocolo.

Reactjs [https://reactjs.org/] es una librería Javascript de código libre que permite crear interfaces de usuario.

Web3.js [https://web3js.readthedocs.io/en/1.0/] es una librería Javascript que permite la interacción con los nodo de Ethereum. Esta librería se situará a la parte del front-end, y permitirá la comunicación con el contrato inteligente de Ethereum.

Metamask [https://metamask.io/] es una extensión de código libre para los navegadores Chrome y Firefox que permite gestionar las claves públicas de Ethereum. La utilización de la extensión en la aplicación es disponer de diferentes claves y así poder simular y cambiar fácilmente entre las tipologías de usuarios (administrador, estudiantes y entidades).

La siguiente imagen muestra de manera gráfica cómo se ha estructurado la aplicación:

Despliegue de la aplicación y resultados

La aplicación OpenDCert se ha implementado como prueba-de-concepto. La siguiente figura muestra una captura parcial de la interfaz de un usuario tipo organización, estudiantes y entidades.

El despliegue de la aplicación se ha realizado en el entorno local y en Internet. El uso de la red de Ethereum (tanto local como Rinkeby) no presentó problemas al publicar el contrato inteligente (smart contract) e interactuar con este.

Para publicar ficheros en IPFS se ha utilizado el servicio de Infura que permite crear un nodo IPFS y subir los ficheros que se gestionan vía el contrato implementado en Ethereum.

Después de realizar pruebas con la aplicación desplegada, se ha podido comprobar la seguridad y fiabilidad que puede aportar la tecnología blockchain al usuario final, puesto que cualquier ejecución de los métodos que modifican el estado del contrato quedará registrado en la cadena de bloques.

En definitiva, la tecnología blockchain puede ser una opción a considerar para cualquier sector donde se desee ofrecer una mayor seguridad y transparencia de los datos con los que se trabajen.

En las siguientes entradas del blog se puede obtener más información de la tecnología blockchain: Descentralizando el mundo con blockchain (I), Descentralizando el mundo con blockchain (II), Descentralizando el mundo con blockchain (III).

Respecto la memoria y código fuente presentado como trabajo final de grado (TFG) se puede encontrar en la siguiente página: http://hdl.handle.net/10609/81745.

Daniel Atienza es graduado en Ingeniería Informática por la Universitat Oberta de Catalunya. Desarrollo de una aplicación descentralizada es el título de su Trabajo de Final de Grado.

Vida académica en Southampton

Invitada por mi colega el profesor Hugh Davis, estoy disfrutando de una estancia de investigación de un mes en la University of Southampton. Un colaborador suyo, Manu, ha facilitado logística personal, accesos y permisos en la universidad, así como organización de la agenda. En solamente dos semanas, variados han sido los diálogos no previstos y sorprendentes algunas conclusiones fruto de presentaciones y seminarios. Os mostraré dos ejemplos.

Si bien inicialmente tenía que trabajar en temas de e-assesment y feedback en asignaturas de matemáticas, he terminado por hurgar en la categorización de los tipos de mentoraje a partir de sus intervenciones en los foros de un MOOC en Future Learn. La estrategia metodológica de esta plataforma, eminentemente constructivista, se basa en el concepto de “learning by conversation”. En dicha estrategia, los mentores juegan un papel central en la creación de un diálogo que se sostiene durante todo el curso. Esta universidad, de la mano del profesor Davis, ha sido pionera en la creación de MOOCs y análisis de su eficacia desde distintos puntos de vista. Han hecho un esfuerzo considerable en la creación de un dashboard (cuadro de mando) que permite explotar los datos de cada participante para cada curso. Pero todavía somos pocos los que lo utilizamos.

Captura de pantalla de una extracción de datos mediante el dashboard

En una de las primeras reuniones hablamos de la importancia del mentor como facilitador del curso. Les pregunté qué evidencia tenían de su eficacia en términos de aprendizaje. Me dijeron que mucha, que en el curso que ellos habían diseñado “Understanding Language: Learning and Teaching” (hasta el momento 8 ediciones, la primera en 2014 y la última finalizó en junio, con un total de 213.702 joiners), sin cuestionarios de autoevaluación y con la intervención de un equipo de mentores, siempre se había producido mucha actividad. He empezado a jugar con los datos relativos a las intervenciones y a buscar la forma de caracterizarlas, a buscar modelos y taxonomías que permitan comprender la naturaleza del diálogo. Es así como he entrado en contacto con investigadores en lingüística computacional, en la problemática asociada al análisis textual, un mundo desconocido para mí y apasionante.

No cabe duda que para nuestro modelo educativo en la UOC es necesario profundizar en el conocimiento del rol que juegan los consultores y tutores en las aulas. En este estudio podemos encontrar las claves para ajustar nuestro modelo y convertir los foros en los auténticos lugares de un aprendizaje basado en la interacción.

El segundo ejemplo se basa en el seminario que hice el pasado jueves sobre cómo planteamos el aprendizaje de las matemáticas y la estadística en la UOC. Alargamos la sesión hablando sobre la docencia de las matemáticas en general con distintos profesores de Southampton. Dos de ellos, docentes en carreras de informática y matemáticas, me explicaron que hacían lo mismo en ambas titulaciones: tres horas de teoría (clase magistral) y una de problemas por semana. Aunque su aproximación es tradicional, les interesó el concepto de evaluación continua a través de cuestionarios con corrección y feedback automáticos. Les pregunté si habían probado la evaluación (o revisión) por pares –peer assessment– y comentaron que después de hacer alguna prueba, un grupo de estudiantes se habían quejado, diciendo que no era propiamente su trabajo. No les vi muy convencidos a excepción de un investigador en educación matemática, holandés, con quien ya hemos iniciado un trabajo en colaboración. He podido constatar, una vez más, la distancia existente entre el profesorado de una materia y los expertos en educación. ¿Por qué no apoyamos nuestras decisiones docentes en hallazgos contrastados de forma rigurosa bajo marcos teóricos que sustenten análisis y experimentos?

En sólo un par de semanas en la Universidad de Southampton he podido contrastar experiencias e intercambiar ideas con el propósito de realizar análisis con datos y mejorar la comprensión de los procesos de aprendizaje en línea. Sin lugar a dudas es esta una oportunidad única para continuar creciendo como docente e investigadora.

Teresa Sancho es Doctora en Ingeniería Electrónica por la Universitat Ramon Llull y Licenciada en Matemáticas por la Universitat de Barcelona. Actualmente es profesora de los Estudios de Informática, Multimedia y Telecomunicación de la UOC, donde enseña matemáticas para ingenieros y dirige líneas de investigación en e-assessment, feedback y learning analytics como líder del grupo LAIKA.

Inteligencia artificial en la educación

En el marco del London Festival of Learning, se celebró recientemente la 19ª edición de la Conferencia Internacional sobre Inteligencia Artificial en la Educación (AIED-2018). La conferencia fue muy concurrida e interesante gracias a numerosos trabajos de investigación sobre aplicaciones innovadoras de técnicas y tecnologías inteligentes que abren la puerta a un futuro muy prometedor para la educación. Se mostraron, entre otras, aplicaciones de robots y chatbots, tutores artificiales, aprendizaje automático, analíticas de aprendizaje, gamificación y aprendizaje emocional, que de forma más o menos significativa consiguen elevar los niveles de personalización, motivación y eficiencia en los procesos de enseñanza y aprendizaje. El propósito último de la inteligencia artificial en la educación es incrementar (e incluso predecir) el rendimiento y satisfacción, así como identificar y reducir el abandono del alumno en los distintos ciclos y modalidades formativas.

En el departamento de Informática, Multimedia y Telecomunicación de la UOC tenemos amplia experiencia en este campo. A continuación, se presentan tres proyectos actualmente en marcha que son representativos de la investigación e innovación docente que explota la inteligencia artificial para mejorar aspectos clave de la educación, con expectativas muy prometedoras y con resultados experimentales interesantes.

colMOOC” es un proyecto europeo que investiga y desarrolla modelos y tecnologías de agentes artificiales para dar soporte automático al aprendizaje colaborativo virtual. La problemática que pretende resolver se encuentra especialmente en cursos virtuales masivos (como los MOOC) donde el seguimiento de foros y debates virtuales participados por miles de alumnos es inviable por parte de tutores humanos, debido al ingente volumen de mensajes que se generan. En consecuencia, la mayoría de estos mensajes no encuentran respuesta ni ningún tipo de atención, lo que desanima al alumno a continuar participando en el foro, y a su vez repercute en su continuidad en el curso. Por otra parte, sabemos por experiencia que en la educación a distancia, el acompañamiento constante del alumno es fundamental para reducir la sensación de aislamiento y mantener su motivación hasta lograr los objetivos académicos.

La metodología del proyecto se basa en la integración de agentes conversacionales en foros y chats de plataformas MOOC. Estos agentes artificiales están diseñados para ser expertos en dominios, y apoyados por analíticas de aprendizaje, hacen un seguimiento constante del progreso de las conversaciones en los debates virtuales, donde identifican situaciones problemáticas, como alumnos que no participan, contribuciones que no son atendidas, son incorrectas o se encuentran fuera del dominio de la discusión. A partir de un modelado correcto y la configuración adecuada, el agente es capaz de generar automáticamente interacciones productivas en forma de preguntas, respuestas y actividades simples dentro del dominio de la discusión (ver siguiente figura). El objetivo del agente es inducir y provocar el diálogo entre los participantes mediante reglas y mensajes predefinidos como resultado de aplicar técnicas de lingüística computacional, entre otras.

Los primeros resultados del proyecto fueron presentados en la conferencia EIDWT-2018, aun sin disponer de datos experimentales. El plan de evaluación incluye la integración de prototipos de agentes conversacionales en varias plataformas reales de MOOC, lo que permitirá recoger feedback sobre el impacto de estas innovaciones en el aprendizaje, que se espera sea relevante, especialmente en términos de aumento de satisfacción y reducción del abandono en entornos educativos altamente participativos y colaborativos.

Un segundo proyecto es el “Termómetro emocional para la docencia” que tiene como objetivo identificar el clima emocional de las aulas virtuales durante el curso y detectar momentos emocionalmente negativos que puedan derivar en situaciones críticas en el aprendizaje (como un contenido o actividad de aprendizaje compleja). Esta información es enviada al equipo docente para que pueda anticipar intervenciones correctoras. Este proyecto se encuentra en el ámbito de la computación afectiva y explota técnicas de inteligencia artificial como el análisis de los sentimientos y aprendizaje automático.

La metodología del proyecto consiste en analizar los mensajes de texto de los foros de las aulas objetivo. Estos mensajes son recogidos a diario y analizados individualmente para extraer su polaridad emocional (positivo, negativo o neutro). El análisis se basa, por una parte, en identificar y seleccionar el tipo gramatical de aquellas palabras que puedan contener información emocional (sustantivos, adjetivos y verbos), además de otros elementos textuales con connotación emocional (emoticones y signos de puntuación) mediante librerías de análisis lingüístico. También se calcula la relevancia de las palabras según su frecuencia de aparición. Por otra parte, se clasifican automáticamente los mensajes según su polaridad emocional mediante el entrenamiento de sistemas de aprendizaje (redes neuronales y bosques aleatorios) a partir de un gran número de mensajes ya clasificados por investigadores expertos. Finalmente, el resultado de los mensajes clasificados según su polaridad emocional determina el clima emocional del aula que es mostrado de forma gráfica al profesor para que tome las decisiones oportunas (ver siguiente figura).

Los primeros resultados experimentales se han presentado recientemente en el congreso CIDUI-2018 mostrando un nivel de acierto notable en la clasificación automática de los mensajes, pero aún con margen de mejora. Estos resultados también han evidenciado la gran influencia de los aspectos emocionales en el proceso de aprendizaje de los alumnos.

El último proyecto en marcha es el “Botterque utiliza la robótica para el acompañamiento del alumno a distancia más allá de los límites de las aulas virtuales. Explotando las capacidades de los robots y los nuevos canales interactivos que ofrecen se pretende elevar el nivel de personalización del acompañamiento, dinamizar el proceso formativo, mejorar la experiencia de uso e incrementar la motivación durante el aprendizaje, y reducir el abandono en la educación a distancia.

La metodología del proyecto se basa en configurar pequeños robots autónomos que pueden moverse físicamente en pequeños espacios (como una mesa de estudio), emiten sonidos, vibraciones y mensajes por voz, y algunos además disponen de reconocimiento facial, como canales innovadores para interactuar con el alumno de manera más cercana, natural y personalizada. El sistema que controla el robot accede al componente de analíticas de aprendizaje para obtener información del alumno (fechas clave de su plan de estudios, notas de sus actividades, etc.) y le avisa de cualquier novedad. Además, con el establecimiento de reglas de gamificación, el robot anima al alumno a conseguir sus logros académicos mediante recompensas. Por último, la capacidad del robot para identificar el estado de ánimo del alumno (reconocimiento facial) permite una nueva forma de abordar el aprendizaje emocional. Explotando todas las capacidades de esta nueva tecnología se pretende construir confianza, motivación y satisfacción del alumno durante su acompañamiento en el curso.

Este proyecto se ha presentado también en el congreso CIDUI-2018, aun sin resultados experimentales, pero despertando unas expectativas importantes en cuanto a las posibilidades que ofrecen los robots para la educación. Al mismo tiempo se plantean retos muy interesantes, por ejemplo ¿cómo hacer robots que se adecúen perfectamente a diferentes competencias y a diferentes alumnos? ¿Cómo mantener en el tiempo la capacidad motivadora y de acompañamiento del robot? ¿Qué tipo de respuesta del robot es la más adecuada para revertir situaciones problemáticas del aprendizaje? El proyecto tratará de responder a éstas y otras muchas preguntas.

 

Santi Caballé es Ingeniero y Doctor en Informática por la Universitat Oberta de Catalunya y profesor de los Estudios de Informática, Multimedia y Telecomunicación de esta misma universidad, donde dirige el grupo de investigación SmartLearn. Sus líneas de investigación más activas son: ingeniería de la educación, e-learning y tecnologías distribuidas.

Las Smart Cities han llegado para quedarse

Después de varios años en los que el concepto Smart ligado a las ciudades no ha estado exento de debate, tanto por las connotaciones que podían hacer pensar que antes las ciudades “no eran tan inteligentes”, como porque la tecnología se abría camino entre ciudad y ciudadanos sin tener referentes de cómo hacerlo, cada vez más se apuesta por avanzar hacia la Ciudad Inteligente o Smart City, también conocida por alguna otra nomenclatura como Ciudad Digital o Smart Citizens.

Lo mejor del caso es que todos podemos participar de una u otra forma en este “nuevo” contexto, ya sea de forma activa, siendo parte del cambio, o bien beneficiándonos de los resultados obtenidos de diferentes acciones realizadas, porque todo ahorro (p. ej. uso de iluminación más eficiente), mejora (p.ej. relación del gobierno local con la ciudadanía) o cambio (p. ej. integración de la tecnología en el paisaje urbano) nos afecta.

Quizás no debería de extrañarnos esta evolución, especialmente si tenemos en cuenta que grandes verticales como Energía, Movilidad o Residuos son temas complejos que afectan a una ciudad de forma importante y, en general, a todo el territorio. Ejemplos de la importancia que las administraciones públicas locales dan a este hecho se traduce en colaboraciones, compartición de buenas prácticas, etc. Por ejemplo, de una forma más “local” se podría encontrar el soporte que da la Diputación de Barcelona a diferentes municipios, yendo más allá de la ciudad y pasándose a hablar de regiones inteligentes o Smart Region. Otro ejemplo que abarca una región geográfica más “amplia” sería la Red Española de Ciudades Inteligentes (RECI), que según su propia definición ha de “promover la gestión automática y eficiente de las infraestructuras y los servicios urbanos, así como la mejora de la calidad de los servicios, consiguiendo de este modo atraer la actividad económica y generando progreso”.

No obstante, no todas las políticas o acciones a realizar por parte de la administración pública tienen que ver con grandes infraestructuras o proyectos tecnológicos. Hay casos concretos que, desde un punto de vista más próximo al ciudadano, también podrían considerarse Smart, ya que si tenemos en cuenta que las ciudades inteligentes promueven la participación de la ciudadanía en el avance de la Ciudad (cocreación ciudadana) o su participación en el gobierno y en la toma de decisiones, el hecho de permitir a sus ciudadanos y ciudadanas decidir en qué se gasta parte del presupuesto de su municipio es una acción muy interesante. Ejemplos de estas iniciativas de presupuesto participativo son los casos de las ciudades de Rubí (con 200.000€) y Esplugues de Llobregat (con 267.500€) en la provincia de Barcelona, que el año 2018 han conseguido 61 propuestas la primera y 100 la segunda, que pasan diferentes fases de priorización a partir de la votación de la ciudadanía y de la participación de la administración local. Además de estas acciones, también se da el caso de la introducción abiertamente del concepto Smart City en el plan estratégico de ciudades como Esplugues de Llobregat, donde la tecnología está en la base pero no es el fin, pudiendo converger ambas iniciativas en los proyectos concretos que la ciudadanía propone.

Desde la UOC apostamos por esta visión de las Smart Cities, ofreciendo formación de posgrado transversal entre ciudad y tecnología, donde la tecnología es la base para la creación de servicios para la ciudad y quienes en ella cohabitan, ya sean los ciudadanos, las empresas o las instituciones, con el objetivo último de ser más eficientes, sostenibles, mejorar la calidad de vida y, en definitiva, aprovechar las oportunidades que la tecnología nos brinda. La visión de la tecnología que tenemos se alinea con la tendencia de la Ciudad Inteligente, que es crear la infraestructura, disponer de las herramientas para su correcta gestión y gobernanza e impulsar las posibilidades que ciudadano, empresas, instituciones y demás, que en la ciudad conviven, tienen dentro de ella.

 

Carlos Monzo es Ingeniero de Telecomunicación y Doctor por la Universidad Ramon Llull. Actualmente trabaja como profesor en la Universitat Oberta de Catalunya, donde es el Director académico del Posgrado en “Smart Cities: Ciudad y Tecnología”.

Joan Melià es Ingeniero de Telecomunicación por la Universitat Politècnica de Catalunya, y Doctor por la Universidad Oberta de Catalunya. Actualmente trabaja como profesor en la Universitat Oberta de Catalunya, donde participa en el Posgrado en “Smart Cities: Ciudad y Tecnología”.

Crear una nube en tu casa

El concepto de Nube o Cloud Computing ha tenido un éxito tremendo: ha pasado de ser un término de marketing para vender servicios de computación remota a estar en boca de todos nuestros conocidos -incluso los más legos tecnológicamente- que no tienen ningún reparo en usar la Nube para hacer sus copias de seguridad, guardar sus datos personales o utilizar la multitud de servicios que nos puede proporcionar.

Usada correctamente, la Nube permite a los usuarios utilizar aplicaciones (redes sociales, inteligencia artificial, aplicaciones en alta disponibilidad o almacenamiento masivo de datos) que no podríamos ejecutar nunca en nuestra infraestructura doméstica por falta de recursos, ya sea informáticos o humanos.

Pero, aplicada sin criterio, la Nube limita nuestra libertad y pone en peligro nuestros datos: puede ocurrir que un servicio que fuese gratuito pase a ser de pago, que nuestros datos sean revelados o utilizados, o que un servicio sea eliminado por no ser ya rentable para el proveedor.

Es especialmente sangrante la moda de ejecutar arbitrariamente servicios en la Nube que podrían ser ejecutados localmente sin problema. En este caso, la Nube no aporta ninguna ventaja, solo inconvenientes como: lentitud de respuesta, dependencia del proveedor, dependencia de la conexión a Internet y pérdida de privacidad.

En algunos casos, incluso, se ligan unos dispositivos físicos a un servicio en la Nube, que se proporciona bien de forma gratuita, bien mediante el pago de una cuota mensual. De esta manera, estos dispositivos quedarán siempre bajo el control del proveedor y aunque los hayamos pagado, no podremos usarlos cuándo y cómo queramos.

Por esa razón, al proponer mi Trabajo de Fin de Grado de Ingeniería Informática pensé que sería interesante investigar alternativas viables a los servicios en la Nube con la idea de aplicarlas a los servicios que podamos necesitar en nuestros hogares o en redes colaborativas como Guifi.net. Esto equivaldría a poner una nube en nuestra casa.

La solución ha sido un conjunto de componentes de software, hardware y tecnologías abiertas (Raspberry, Cloudy, Docker, Swarm, Node-Red, Mosquitto, keepalived, syncthing), que juntos conforman una microCloud, una infraestructura que podemos ejecutar de manera local, con la mayoría de las ventajas de la Nube, pero sin sus grandes inconvenientes.

Esta microCloud abierta tiene las siguientes características:

  • Ofrece alta disponibilidad a cualquier servicio Docker que ejecutemos.
  • Es escalable, permitiéndonos añadir más nodos, internos o externos, para ajustar los recursos de la microCloud a nuestras necesidades.
  • Gracias a la tecnología de Docker Swarm, permite ejecutar sistemas distribuidos complejos de servicios preconfigurados desde un único fichero de configuración.
  • Nos proporciona pleno control sobre nuestros servicios.
  • Nos proporciona pleno control sobre nuestros datos.
  • Es de bajo coste, con 3 nodos iniciales y menos de 50 Euros por nodo de computación.

En el transcurso de mi trabajo, he creado un sistema en el que no solo la microCloud reemplaza con éxito un servicio de hogar inteligente en la Nube proporcionado por el fabricante, sino que también permite ejecutar localmente aplicaciones avanzadas tales como análisis y monitorización de datos o una infraestructura FaaS con OpenFaas. Podréis encontrar este trabajo de fin de carrera, llamado “Diseño e implementación de una microCloud abierta para IoT” en el repositorio O2 de la UOC.

 

Elías Rael es un profesional de la informática que se ha dedicado a su hobby desde hace más de 30 años y que ha decidido adaptar su Ingeniería Técnica de Informática de Sistemas por la Universidad de Alicante a Grado de Ingeniería Informática en la UOC, 22 años después. Sus intereses actuales son los sistemas distribuidos y open source.