Aplicaciones prácticas de Blockchain¶
En el documento anterior hemos visto los fundamentos teóricos sobre los que se sustenta la tecnología de blockchain, y su funcionamiento general. Veremos a continuación algunas aplicaciones prácticas que puede tener, en especial aquellas referidas al campo de la inteligencia artificial.
1. Aplicaciones descentralizadas¶
En general, las aplicaciones que se desarrollan con la tecnología blockchain son aplicaciones descentralizadas (DApps), que se ejecutan dentro de una cadena en una red P2P. Esto, entre otras cosas, ha traído nuevos paradigmas de programación web, la llamada Web 3.0, donde las aplicaciones pueden estar descentralizadas, sin una autoridad única (Google, Facebook, Amazon...) que las controle.
La forma en que se especifican las condiciones de funcionamiento de las aplicaciones, para que los futuros clientes o usuarios determinen si merece la pena invertir en ellas o no, es a través de documentos llamados whitepapers, que contienen los fundamentos principales de la empresa o aplicación, y su funcionamiento. Algunos ejemplos de proyectos descentralizados son:
- Steemit, una red social descentralizada (aquí su whitepaper)
- Sia, un sistema de almacenamiento descentralizado (aquí su whitepaper)
- Cryptokitties, un juego online para cuidar gatos virtuales (aquí su whitepaper)
2. Blockchain aplicado a IA¶
Si unimos el concepto de Blockchain con el concepto de inteligencia artificial, nos puede venir a la mente la posibilidad de desarrollar una inteligencia artificial descentralizada. Una de las principales limitaciones que tiene la inteligencia artificial actualmente es la propiedad: los principales modelos o sistemas que utilizamos habitualmente pertenecen a una empresa, que normalmente cobra por su uso y que, en un momento determinado, si el sistema no le es rentable, lo podrá hacer desaparecer, dejando "colgados" a los usuarios que lo estén utilizando.
Desde un punto de vista descentralizado, se podría desarrollar un sistema donde toda la comunidad pudiera participar aportando los datos con los que entrenar el modelo, y donde todos fueran co-responsables del funcionamiento del sistema. Podría haber incluso incentivos para aquellos participantes que más contribuyan a mejorar el modelo (con medidas como el Proof of Stake para bloquear temporalmente fondos de quienes participan hasta que el sistema evolucione y confirme que ha sido una aportación positiva), y dicho modelo estaría disponible para todos.
Un problema derivado de los modelos de IA es la gran cantidad de memoria que necesitan, tanto para almacenar los datos como para definir los parámetros del modelo (pesos y conexiones de la red neuronal, por ejemplo). Si el coste de almacenar los datos en la cadena es muy elevado, se puede optar por una estrategia off-chain, en la que los datos se almacenan en algún sistema externo (Google Drive, Amazon S3, etc), y lo que se almacena en la cadena es un hash que enlace con esos datos externos. Esto trae consigo el problema de depender de un sistema externo para almacenar los datos y que, si se corrompen o borran, no tendremos forma de recuperarlos.
Basándonos en estas premisas, vamos a ver a continuación algunas aplicaciones prácticas de la IA apoyada en Blockchain.
- Automatización de smart contracts: a través de la IA se puede optimizar la ejecución de estos smart contracts en las cadenas, mediante análisis en tiempo real de cuándo deben activarse o ajustarse dinámicamente.
- Detección de fraudes: algoritmos de IA pueden analizar patrones de transacciones en blockchain para detectar fraudes o comportamientos anómalos.
- Optimización del consenso: se pueden mejorar los mecanismos de consenso en redes blockchain, tales como Proof-of-Work o Proof-of-Stake, ayudando a reducir el consumo energético y la validación de transacciones.
- Análisis predictivo: analizando grandes volúmenes de datos presentes en las cadena se pueden prever tendencias de mercado o riesgos financieros
- Identidad digital: podemos emplear la IA para verificar la autenticidad de documentos o identidades.