En el día de ayer se anunció el lanzamiento de IOTA Identity Beta. El cual fué el primer paso en el camino hacia la versión 1.0. Esta versión incluye varios hitos importantes, como la actualización a la fase 2 de Chrysalis, una API simplificada de alto nivel que incluye soporte para Stronghold y una implementación inicial de los mensajes de comunicación DID basados en el estándar de la Fundación de Identidad Descentralizada (DIF) y el trabajo de Hyperledger Aries.
Esta versión se basa en el trabajo realizado anteriormente para la versión Alpha, en la que se implementaron los estándares del W3C (World Wide Web Consortium) para los Identificadores Descentralizados (DID) y las Credenciales Verificables. Esta implementación ha sido perfeccionada y se ha presentado este nuevo método DID al W3C para que se incluya como una de las especificaciones del método DID.
Breve parentesís
El World Wide Web Consortium, más conocido como W3C, es un consorcio internacional de organizaciones vinculadas a las tecnologías de información que busca promover la evolución de la Red a través del establecimiento de distintas pautas para su estandarización.
Resumen de Identidad IOTA (IOTA Identity)
IOTA Identity es un marco de identidad auto-soberana (SSI) que permite a las personas, organizaciones o máquinas crear y tener un control completo sobre una identidad digital – sin el permiso de un intermediario o parte central. Además, permite controlar cómo se comparten y utilizan los datos personales.
Las plataformas de medios sociales como Facebook y Linkedin nos muestran cada día que las cuentas en línea dependen en gran medida del contenido enviado por los usuarios. La información proporcionada en estas plataformas no es fiable y puede ser fácilmente falsificada – esto se quiere evitar con la solución de Identidad Digital.
Aquí es donde entran las credenciales verificables (VC). Se trata de declaraciones digitales sobre un aspecto de la identidad, como el «nombre», firmadas digitalmente por otra identidad, que tiene autoridad sobre el tema. Por ejemplo: Mi título de licenciado es fiable si lo firma una universidad, pero no tanto si lo firma tu madre. Estas declaraciones hacen que los datos sean fiables y valiosos. Las CV permiten que una solución SSI no sólo sea más respetuosa con la privacidad, sino que también compita con los perfiles de Facebook / LinkedIn, ya que son más fiables y precisos.
Este concepto quiere llevarse un paso más allá, aplicándolo a los dispositivos. Innumerables dispositivos y sensores del IoT interactúan entre sí todos los días. Como resultado, se generan grandes cantidades de datos, pero hasta ahora los programas rara vez han utilizado los datos de los dispositivos de terceros para la toma de decisiones. Una de las razones por las que no se hace es que el origen de los datos y, en última instancia, la confianza en un dispositivo no puede determinarse suficientemente con la tecnología tradicional. IOTA Identity permite a los dispositivos IoT crear sus propias identidades y recoger declaraciones verificables sobre ellos mismos, como por ejemplo:
- El fabricante del dispositivo
- El software instalado y por quién
- El certificado de calibración
- Declaraciones de otras identidades que han utilizado los datos y los han considerado precisos (Revisión)
Con esto se permite que los dispositivos IoT construyan una reputación y se conviertan en confiables. A continuación, podemos aprovechar los datos proporcionados por los dispositivos para tomar decisiones. Piensa en el flujo de tráfico de una ciudad:
Ahora mismo, una ciudad sólo confía en los sensores que ella misma ha desplegado para determinar el flujo de tráfico. Imagínese cuánta más información, y a su vez mayor precisión, podría lograrse si los coches pudieran identificarse y compartir los datos que generan. Esto constituiría la base de una economía de datos de confianza, habilitada por IOTA Identity. Si no se prevé una arquitectura que permita la creación de confianza, cualquiera podría falsificar los datos de tráfico y causar estragos en un sistema de tráfico automatizado que dependa de datos externos. Por lo tanto, las identidades de confianza son la base para hacer cualquier uso de los datos que se generan. Cualquier sistema digital se beneficia de la confianza, no sólo los sistemas de tráfico como en el ejemplo anterior.
Cuenta de identidad
La primera característica importante que se introduce con esta versión beta es la cuenta, una API de alto nivel para utilizar IOTA Identity. Al igual que la reciente actualización de Chrysalis, IOTA Identity se vuelve mucho más fácil de usar utilizando una cuenta. Se pretende proporcionar una interfaz mucho más simplificada que es perfecta para más del 90% de los casos de uso. El otro 10% son casos de uso más complejos que todavía pueden querer utilizar las API de nivel inferior para tener más control sobre las identidades. La cuenta no sólo simplifica las interacciones con los Documentos DID, sino también con el Tangle y el Stronghold.
Los mensajes de identidad en el Tangle son bastante complicados. Hay dos formatos para optimizar los tiempos de resolución de los DID y deben ser creados y utilizados de una manera específica. Con la cuenta, una sola línea de código se encarga de todo el formato del mensaje y de su publicación en el Tangle. Del mismo modo, la creación de una identidad es un proceso bastante complicado, ya que primero hay que generar un par de claves, del que se deriva un DID. Después, se crea un documento DID, en el que hay que incrustar la clave pública y publicarlo en el Tangle. Por último, hay que almacenar y gestionar la clave privada de forma segura. La cuenta hace todo esto en una sola línea de código, almacenando la clave privada dentro de un Stronghold, o un método de almacenamiento diferente definido por el desarrollador.
Actualmente la característica de la cuenta sólo está disponible en Rust y todavía no está disponible en bindings de Javascript, ya que esto requiere algunas mejoras de diseño más grandes en el proyecto que se quiere abordar en el transcurso hacia la versión 1.0.
Comunicaciones DID
La otra característica importante que se ha implementado son los mensajes de comunicación DID. Estos son mensajes estandarizados que dos actores de Identidad IOTA se enviarían entre sí para hacer cualquier cosa que esté relacionada con la identidad. Por ejemplo, pueden pedir al otro que demuestre el control de sus identidades, pero también solicitar credenciales verificables para compartirlas o incluso firmarlas. El uso de estos mensajes no sólo facilita la creación de aplicaciones alimentadas por IOTA Identity, sino que también crea una interoperabilidad inmediata entre las aplicaciones. Así, una aplicación de IOTA Identity hecha por una empresa podría interactuar con una aplicación hecha por otra.
Hasta ahora, se ha definido una versión propia del diseño exacto de los mensajes y se ha creado un actor básico de ejemplo sobre cómo generar y responder automáticamente a los mensajes de DID Communications en Rust. El concepto será revisado y se añadirán enlaces de Javascript antes del lanzamiento de la versión 1.0.
Próximos pasos
Como se ha mencionado, se seguirá trabajando sobre IOTA Identity para refinarla y mejorarla para el lanzamiento de la versión 1.0, con un enfoque en el rendimiento, la calidad del código, la documentación y el soporte de Javascript. La próxima versión 1.0 marcará un hito muy importante para la identidad, ya que se apoyará la compatibilidad con versiones anteriores y la transición de versiones de las identidades en el futuro, lo que hace posible construir aplicaciones listas para la producción en la parte superior de IOTA Identity y actualizar fácilmente a las nuevas versiones en el futuro.
Aunque nuestra versión 1.0 es el próximo gran hito, el viaje de IOTA Identity no termina ahí. Tenemos muchas ideas de características adicionales para futuras actualizaciones, como mejoras en la privacidad, agentes de identidad, pero también proporcionar más bibliotecas específicas de casos de uso para hacer que IOTA Identity sea fácil de adoptar en los casos de uso más prometedores. De hecho, estamos muy contentos de comenzar pronto a trabajar junto con la Fundación LINKS, que está creando una especificación Zero Knowledge Proof (ZKP) para IOTA Identity, aumentando masivamente las características de privacidad de IOTA Identity. Son investigadores experimentados en ciberseguridad que proporcionarán una especificación basada en los resultados de la literatura científica establecida.
Mientras que IOTA Identity no es ampliamente conocido todavía, con el lanzamiento de la versión beta la Fundación IOTA se está acercando e incluso superando a algunos de los marcos SSI populares en calidad y conjuntos de características. Todo este esfuerzo se centrará en el desarrollo de un marco increíble que es seguro y eficaz, pero también fácil de usar. Si estás interesado en trabajar con IOTA Identity, por favor, echa un vistazo a nuestro repositorio y considera la posibilidad de unirte al X-team de IOTA Identity, donde los desarrolladores, empresarios y estudiantes con ideas afines se reúnen semanalmente con los desarrolladores de IOTA Identity para discutir el marco en un ambiente relajado pero educativo.
Para conseguir la versión Alpha, la Fundación IOTA se apoyó en un grupo de desarrolladores financiados por el EDF: Thoralf, Sebastian (huhn) y Tensor. Esta vez tenemos que agradecer a Filancore, (una startup de la comunidad IOTA) su apoyo para hacer posible la liberación Beta. La Fundación dijo estar realmente disfrutando del trabajo con los miembros de la comunidad, así como también que el equipo esté creciendo de manera significativa con el fin de continuar el desarrollo del framework de Identidad de IOTA, las herramientas de desarrollo, los enlaces a otros idiomas y las pruebas de concepto con mano de obra propia.
Registro de Cambios
Para poder ver algunos de los cambios de las características más importantes entre las versiones podemos encontrar el registro aún no completo de los cambios entre la versión 0.2 alfa y la 0.3 beta en el siguiente enlace: https://blog.iota.org/iota-identity-beta-release/
Post original: IOTA Identity Beta release