IOTA es la primera arquitectura de contabilidad distribuida que no tiene tarifas de transacción y está diseñada para ecosistemas como «Internet of Things»(IOT) o Web 3.0; permitiendo un futuro en el que los dispositivos se puedan comunicar de forma segura y compensarse de forma autónoma entre sí. En esencia, IOTA usa un protocolo de chismes para propagar transacciones a través de la red. Este mecanismo significa que cualquier dato con suficiente peso se puede dispersar en el lado opuesto del clúster de manera eficiente. Estas transacciones pueden transportar valor o datos enviados desde un automóvil, un buque de carga o una aplicación en su teléfono, lo que permite que cualquier dispositivo o humano envíe mensajes a todo el mundo.
¿Qué es la mensajería autenticada enmascarada?
Es un módulo experimental actualmente bajo revisión por pares, Masked Authenticated Messaging (MAM) es un protocolo de comunicación de datos de segunda capa que agrega funcionalidad para emitir y acceder a un flujo de datos encriptados (como RSS) a través de la Tangle (Libro mayor IOTA), independientemente del tamaño o costo del dispositivo. El protocolo de consenso de IOTA agrega integridad a estos flujos de mensajes. Dadas estas propiedades, MAM (Masked Authenticated Messaging) cumple una necesidad importante en industrias donde la integridad y la privacidad se encuentran.
En IOTA, un usuario puede publicar un mensaje en cualquier momento. Solo necesitan realizar una pequeña cantidad de prueba de trabajo (similar al minado de BTC) para permitir que los datos se propaguen a través de la red (esto es necesario para evitar el spam en la red). Si los nodos están escuchando la identificación del canal (Iota address) en tiempo real, el suscriptor recibirá el mensaje (cotilleado a través de la red) cuando llegue al nodo del suscriptor. Estos mensajes pueden tener cualquier tamaño; sin embargo, una evaluación heurística demostraría que los mensajes más pequeños generan un mayor potencial para la integridad de los datos. Por ejemplo, uno podría transmitir un video encriptado de 4k usando MAM, pero esto saturará la red y la experiencia del usuario será menor. Por lo tanto, es más eficiente usar MAM para señalar algún protocolo fuera de la Tangle para la transmisión real. Otros conceptos que encontrarían una gran ventaja en MAM incluyen la transmisión de comandos de control remoto y la organización de actualizaciones.
Como estos mensajes son parte de la Tangle, ambos contribuyen a la seguridad de la red al aumentar el poder de hashing total y beneficiarse de las propiedades de integridad de datos de la red a medida que otras transacciones continúan refiriéndolos indirectamente.
Los ejemplos funcionales existentes de MAM que se utilizan en los dispositivos integrados son: el kit de desarrollo Bosch XDK IoT o el RuuviTag, un sensor de fuente abierta de Ruuvi Labs. Usando XDK o RuuviTags, se pueden crear estaciones meteorológicas portátiles, faros de proximidad Eddystone, localizadores de vehículos y muchas otras aplicaciones ingeniosas que transmiten telemetría a un público limitado a través de la Tangle o reciben comandos a través de una transmisión MAM. Otro caso de uso que se anunció recientemente es una estación de carga EV del gigante energético holandés Elaad, con pagos habilitados por IOTA que permiten una integridad de datos transparente. (Lee el articulo Aquí)
Análisis:
MAM utiliza un esquema de firma basado en el árbol de Merkle para firmar el resumen de cifrado de un mensaje encriptado. La raíz de este árbol de Merkle se usa como el ID del canal. Como un solo árbol solo dura un corto período de tiempo, cada mensaje contiene la raíz del siguiente árbol de Merkle (o la dirección futura del canal). Como los árboles anteriores no están referenciados, esto podría usarse para añadir un elemento de confidencialidad hacia el próximo canal.
Cada mensaje se encripta con One Time Pad que consiste en la identificación del canal y el índice de la clave utilizada para firmar el mensaje; un nonce adicional se puede usar como una clave de cifrado revocable. El hash de cifrado resultante se firma con la clave privada que pertenece a una de las hojas. La carga cifrada, la firma y los hermanos de la hoja se publican en la tangle donde cualquier persona que conoce la clave simétrica puede encontrarla y descifrarla.
Nonce (el número generado una vez) es un hash 81-tryte que es la salida del hash de la prueba de trabajo una vez que se ha alcanzado el valor objetivo. Cada transacción debe tener un nonce para que sea aceptada por la red.
Al consumir una secuencia MAM, el mensaje primero se autentica validando la firma y verificando que la firma pertenece a una de las hojas del árbol y luego se desenmascara. Si la verificación de la firma falla, el mensaje completo se considera inválido.
Modos de privacidad y encriptación
MAM se puede usar de múltiples maneras para controlar la visibilidad y el acceso. Describo algunos de estos patrones que proporcionan usos matizados de MAM mucho más allá de una simple secuencia de mensajes cifrados.
Público
El modo público usa la raíz del árbol como la dirección de la transacción en la que se publica el mensaje. Un usuario aleatorio que tropiece con un mensaje puede decodificarlo usando la dirección del mensaje. Este modo es similar a la transmisión en la radio HAM. Podría ser utilizado para anuncios públicos desde un dispositivo o individuo y un posible caso de uso sería un clon de Twitter, sin embargo, ahora tiene las propiedades adicionales de inmutabilidad e integridad de datos.
Privado
El modo privado se puede usar para transmisiones encriptadas que no están destinadas al consumo público. En modo privado, el hash de la raíz de Merkle se usa como la dirección. Esto evita que un usuario aleatorio descifre su mensaje si se topa con él debido a que no pueden derivar la raíz del hash. Esto hace que una secuencia MAM solo sea legible por aquellos a quienes se proporciona la raíz. Este modo es más similar a una transmisión de radio encriptada: cualquiera puede verlo, pero solo aquellos que lo busquen pueden descifrarlo. El modo privado es útil para que los dispositivos de propiedad se comuniquen de forma privada entre ellos.
Restringido
El modo restringido agrega una clave de autorización al modo privado. La dirección utilizada para adjuntar a la red es el hash de la clave de autorización y la raíz de Merkle. Un editor de mensajes podría dejar de usar la clave de autenticación sin cambiar su ID de canal (es decir, el árbol de merkles), por lo que el acceso podría ser, en esencia, revocado por los suscriptores si así lo desea. Cuando se produce un evento de cambio de clave, la nueva clave de autenticación debe distribuirse a las partes que pueden seguir la transmisión.
Perfect Forward Secrecy (PFS)
Como cada mensaje contiene la raíz del siguiente árbol de merkles, es fácil para los usuarios seguir la secuencia dada una vez que se agota el árbol actual si también conocen el tipo de flujo y la clave de autorización opcional que se utiliza. Dado que un mensaje actual solo apunta al siguiente árbol de merkle, no hay forma de que un usuario que lee la secuencia MAM lea los mensajes antes de la raíz que se le haya dado. Es más fácil pensar en una transmisión MAM como una autopista: cuando comienzas a leer una secuencia, estás ingresando a la autopista y no puedes ir contra el flujo del tráfico.
Canal de división
Un editor de MAM puede decidir dividir el canal en cualquier momento. Esto significa que los mensajes futuros usan un nuevo árbol de Merkle cuya raíz no se ha revelado antes. Esto permite canales secundarios para subconjuntos de datos específicos, cuya totalidad no está destinada a ser compartida, lo que permite datos y proporciona un acceso detallado.
Un ejemplo podría ser el registro de identidad personal. Este registro puede tener dos ramas principales: datos públicos y privados. La rama pública utiliza el modo MAM privado y permite que todos los usuarios que tengan la raíz lean los mensajes. Esto podría incluir un nombre, una lista de intereses y una imagen de perfil codificada en base64. Cuando vaya a un médico, el usuario puede compartir la subcorriente de datos de peso diarios. Pueden hacer esto al compartir la raíz y la clave de autenticación de la corriente de peso. Dado que hay un secreto a futuro, el médico no podrá obtener acceso a datos adicionales a los que no se haya tenido acceso.
Otro enfoque serían las divisiones de canales de corta duración para flujos de datos. Un dispositivo puede hacer un informe diario sobre datos ambientales. Cuando detecta una anomalía, divide el canal y comienza a informar datos en un intervalo menor. Además de comunicar valores en el intervalo regular al canal principal, también podría notificar a los oyentes el nuevo canal dividido que contiene las actualizaciones más frecuentes. Esto mantiene el espaciado temporal de la secuencia principal al tiempo que permite la flexibilidad de agregar en la secuencia secundaria para casos de uso especiales.
Conclusión
MAM es uno de los módulos IXI más potentes de IOTA y abre un nuevo campo de casos de uso sobre IOTA. Ser capaz de asegurar la integridad de los datos y controlar su administración de acceso es un requisito previo para cosas como actualizaciones por aire (OTA), mercados de datos, análisis de niebla, cadenas de suministro verificables de extremo a extremo, seguros automatizados y mucho más.