En el mes de Septiembre la Fundación IOTA publicó el artículo «Una introducción al ecosistema empresarial de IOTA» para que podamos tener una perspectiva clara y así poder entender los componentes y compromisos de IOTA para un ecosistema de negocios. Hacia el final del post se linkeaban 2 artículos acerca del camino a la integración que se escribieron el año pasado, pero que nos pareció oportuno refrescar a esta altura.
Esperamos que disfruten esta primera parte!
Al igual que muchos otros en el ámbito de la innovación basada en datos, es posible que ya haya empezado a comprender el valor de la descentralización.
Sabe que los datos no deben permanecer atrapados en silos, siendo los custodios de estos silos los únicos responsables (y obligados) de la integridad de los datos y de su correcto uso.
Usted sabe que los datos generan más valor cuando se comparten y cuando la confianza en su integridad no tiene que depender de una sola organización.
Está buscando construir una solución basada en una tecnología de ledger distribuido (DLT) o blockchain. Y está pensando en utilizar el protocolo IOTA.
La Fundación IOTA puede ayudarle a conseguir su objetivo. Construimos soluciones y podemos asesorar sobre la mejor manera de utilizar e integrar la tecnología IOTA o desarrollar nuevos componentes e interfaces de habilitación utilizando nuestros planos. Organizamos talleres y podemos ayudar a educar a una clase emergente de desarrolladores IOTA para replicar, adaptar y escalar el protocolo IOTA en nuevas soluciones impulsadas por IOTA.
Antes de ver cómo integrar el protocolo IOTA, es importante entender las razones por las que IOTA es adecuado para su propósito.
¿Por qué DLT?
Suponemos que ya te has hecho -y respondido- esta pregunta clave: ¿Necesito una DLT o una blockchain? Suponiendo que la respuesta sea afirmativa, seguramente se habrá hecho una pregunta posterior: ¿por qué debería utilizar IOTA?
Exploremos juntos por qué IOTA es una tecnología adecuada para lo que necesita.
Para ayudarte a ello, hemos creado un modelo sencillo que te permite identificar las características únicas de IOTA que debes aprovechar para tu solución.
Partiendo de las dos primeras preguntas derivadas de un modelo anterior, nuestro modelo se centra en las preguntas y características específicas de IOTA.
Si estás considerando este modelo, puede que te encuentres en la siguiente situación:
«Mi solución requiere compartir datos a través de un ecosistema de múltiples partes interesadas, donde las partes no confían entre sí o no quieren confiar en un almacenamiento central para compartir datos». Si este es el caso, parece que SÍ necesitas una DLT.
¿Por qué IOTA?
Hay tantos DLTs hoy en día, que es difícil determinar cuál Tecnología Distribuida correcta para usar. Así que vamos a intentar entender por qué IOTA debería ser tu elección.
Podemos hacerlo considerando el siguiente ejemplo:
Un ayuntamiento quiere promover el transporte basado en vehículos eléctricos (VE). Para incentivar a los ciudadanos a utilizar los VE, el ayuntamiento quiere proporcionar una plataforma de intercambio de información sobre la disponibilidad de energía de los VE conectados y las estaciones de carga. Con esta información, los agentes de IA pueden realizar una asignación óptima de las estaciones de carga a los coches. Esto maximizará la eficiencia global, reducirá los retrasos y equilibrará la carga de la red. Las estaciones de carga pueden ser instaladas y ofrecidas por diferentes proveedores de servicios. Para reducir la carga de cumplimiento, la plataforma debe permitir que los pagos por la energía se procesen en función del uso de la misma (pago por uso). Para permitir la flexibilidad del mercado, los pagos también deberían realizarse «de igual a igual», es decir, directamente del coche al operador de la estación de carga específica, sin necesidad de un intermediario.
Como hay diferentes estaciones de recarga, proveedores y conductores, está claro que será una gran desventaja competitiva compartir todos estos datos en un almacenamiento central, y ninguna parte estaría de acuerdo en hacerlo. Así que se necesita una DLT. Pero, ¿por qué IOTA?
La primera pregunta que hay que responder es: ¿se requiere que las partes compartan una mezcla de datos del Internet de las Cosas (IoT) y de datos no relacionados con el IoT? En el ejemplo anterior, no sólo se comparten los datos del IoT (como el estado actual de la batería del coche), sino una mezcla que incluye las tarifas eléctricas, el horario de las estaciones de carga y otras notificaciones de eventos. Los datos ajenos al IoT suelen estar más estructurados y sólo se comparten ocasionalmente cuando se necesita una actualización. En cambio, los datos del IoT, como el estado de la batería, suelen ser más frecuentes, con pequeñas series de datos en el tiempo.
Las transacciones de IOTA admiten cualquier tipo de carga útil
La carga útil flexible de las transacciones de IOTA puede soportar cualquier tipo de datos. Las transacciones financieras, obviamente, también son soportadas por otros ledgers, pero donde IOTA sobresale es en ser una capa de datos de confianza para los dispositivos conectados. Gracias a su ligero protocolo de transacciones, cualquier dispositivo puede emitir transacciones IOTA.
Sin embargo, compartir datos y garantizar la integridad de los mismos entre partes no confiables a través de una DLT suele tener un coste. La mayoría de las veces esto depende de la cantidad de información compartida. En el ejemplo anterior, la información compartida para cada transacción podría no ser mucha. Sin embargo, el número de partes implicadas y de transacciones puede crecer muy rápidamente, lo que resulta en una gran cantidad de información asegurada a través de un libro de contabilidad.
El envío de transacciones de IOTA no requiere de comisiones o fees
Por lo tanto, hay que considerar el aspecto de la ventaja económica: ¿se benefician las partes de una infraestructura de bajo coste o de uso gratuito para compartir datos inmutables, independientemente de la cantidad de datos compartidos? Esta suele ser una propiedad deseable a la hora de diseñar una nueva solución, ya que elimina las barreras a la adopción y no impone ninguna tasa adicional a los futuros usuarios de la solución para cubrir los costes de la infraestructura. La mayoría de las blockchains y DLT existentes, en las que los usuarios tienen que pagar fees para emitir transacciones, no sólo limitan los futuros modelos de negocio, sino que añaden una desventaja económica. Por ejemplo, para compartir datos utilizando Ethereum, los usuarios tienen que poseer primero tokens de criptomonedas antes de poder utilizar la infraestructura para enviar transacciones de datos. Junto con la decisión de utilizar una DLT con fees de transacción, hay que hacer consideraciones legales, financieras y reguladoras adicionales sobre cómo gestionar los aspectos relacionados con la criptomoneda, que están inevitablemente ligados a ella.
A diferencia de muchas blockchains y DLTs, IOTA utiliza transacciones sin fees. Esto hace posible emitir transacciones de valor cero, utilizadas únicamente para compartir datos inmutables. Gracias a su modelo feeless, su solución IOTA proporciona una escalabilidad económica mucho mejor. Esto no es posible con otros ledgers, en los que cada transacción tiene que incurrir en un fee que puede ser fijo o variable, que varía con el precio de variación del token asociado.
Si has llegado hasta aquí y la respuesta a todas las preguntas anteriores es afirmativa, es probable que IOTA sea la opción adecuada para construir tu solución.
Ahora que entiendes por qué IOTA es tu elección, podría ser útil identificar algunos principios de diseño que te permitan entender los diferentes bloques de construcción del stack tecnológico de IOTA que podrías querer utilizar.
¿Entorno de producción o de experimentación?
En primer lugar, es bueno entender si estás listo para desplegar tu solución en la red principal de IOTA, utilizando su naturaleza sin permisos, o si necesitas probarlo primero en una configuración experimental de Tangle privado con permisos. Una Tangle privada es una red IOTA privada con permiso que está totalmente bajo tu control y puede ser utilizada para explorar, probar aplicaciones o mostrar la tecnología IOTA fuera de línea.
Para entender esto, pregúntate: ¿Requiere la solución procesar pagos con tokens IOTA? En referencia al ejemplo anterior, este podría ser el caso cuando un coche paga directamente a una estación de carga que proporciona la energía necesaria para la batería del coche. Con IOTA, cualquier dispositivo conectado puede tener una dirección y gestionar una billetera IOTA para la gestión unificada de la identidad y para enviar y recibir (micro)pagos. Como resultado, se pueden evitar los problemas asociados a los fees al momento de un cambio cuando se utilizan otras monedas.
En este caso, definitivamente hay que utilizar la red principal de IOTA. Los tokens de valor de IOTA sólo existen en esta red, que gracias a su naturaleza, permite que estos tokens se gasten en cualquier lugar.
Si no necesitas tokens de valor IOTA, entonces también podrías considerar desplegar tu propio Tangle privado.
¿Entorno con o sin permisos?
Para entender mejor el uso de Tangles privadas en escenarios de producción, considera lo siguiente: ¿Necesitará alguna parte desconocida/no confiable escribir datos en el ledger? Por ejemplo, esto ocurre cuando el ayuntamiento quiere desplegar una infraestructura abierta sin saber de antemano si se desplegarán nuevas estaciones de recarga en un futuro lejano y quién sería su propietario.
Si la respuesta a lo anterior es afirmativa (las partes desconocidas podrían unirse más tarde), se debería utilizar el ledger de IOTA sin permisos. La red principal sin permisos de IOTA es una infraestructura como servicio y puedes conectarte a ella simplemente conectándote a un nodo IRI y empezar a publicar transacciones, utilizando nuestras bibliotecas de clientes.
Pero si la respuesta a la pregunta anterior es no, entonces una Tangle privada podría ser más adecuada. Este puede ser el caso cuando el ayuntamiento quiere formar un consorcio cerrado y seleccionar e investigar a todos los proveedores y certificar sus estaciones de recarga, antes de permitirles anunciar servicios en la infraestructura proporcionada.
La razón para utilizar una Tangle privada en un entorno de producción es cuando sólo las partes autorizadas (es decir, un consorcio) leen y escriben información en el ledger. En este caso, también es probable que cada parte quiera mantener una copia del ledger y sepa quiénes son las otras partes que acceden al ledger.
En el ejemplo anterior, cada proveedor de carga ejecutará un nodo de implementación de referencia IOTA (IRI) y, por tanto, mantendrá una copia del estado del ledger, así como un punto de acceso a través del cual sus propias estaciones de carga se conectan a la red.
También se prefiere una Tangle privada cuando las diferentes partes necesitan compartir datos regulados. Es posible que algunos de estos datos deban limitarse a una zona geográfica concreta. En el ejemplo anterior, los datos de los coches y los conductores podrían estar sujetos a diferentes normativas, dependiendo de los distintos países en los que se despliegue la infraestructura o de la nacionalidad de sus conductores.
En este caso, una Tangle privada permitiría a los proveedores de la infraestructura (es decir, a los miembros del consorcio) controlar dónde se replican los datos y evitar que se dispersen en varios nodos de todo el mundo.
Sin embargo, en el ejemplo anterior, lo deseable sería que el ayuntamiento pretendiera una competencia justa entre proveedores. Los propietarios de coches y los turistas pueden unirse en cualquier momento y cargar sus coches sin pasar por un proceso de registro. No se comparten datos regulados. El Token IOTA se utiliza como una parte de pago integrada para que IOTA proporcione la confianza subyacente para todas las transacciones de datos, así como los pagos monetarios sin una ruptura en la seguridad. En este caso, la red principal de IOTA es la opción óptima para garantizar todo eso.
La siguiente figura resume los diferentes criterios para decidir entre la mainnet y una Tangle privada.
Nuestro Manual del Desarrollador te proporciona un buen punto de partida para entender por qué y cómo utilizar las diferentes redes IOTA disponibles.
Una vez que hayas decidido tu red IOTA, el siguiente paso es entender qué otros bloques del stack de IOTA necesitas integrar.
Considera la posibilidad de restringir el acceso a ciertos datos
Hasta ahora, hemos considerado quién debe escribir en el ledger. Un punto adicional a considerar es quién debería leer esta información. Empiece por preguntarse: ¿puede cualquier parte leer toda la información? Si la respuesta es afirmativa, la arquitectura de tu solución no requiere bloques adicionales de IOTA. Pero si la respuesta es no, el uso de canales de Mensajería como Streams debería incluirse en su arquitectura. En el ejemplo anterior, por ejemplo, es posible que quieras que los datos de la batería de un determinado coche sólo sean accesibles para las estaciones de carga autorizadas cercanas, pero no para nadie más. Los canales de Streams permiten implementar un control de acceso granular a los datos compartidos en el Tangle. Sin la información sobre la ubicación (raíz) del canal o la clave para descifrarlo, cualquier información en un canal permanece privada.
¿Es necesario almacenar los datos de forma permanente?
Un último principio de diseño a tener en cuenta es: ¿necesitan las partes almacenar los datos de forma permanente? Este es el caso cuando la normativa exige un tiempo determinado de conservación de los datos recogidos. En el escenario anterior, también podría ser el caso cuando los datos de pago de las estaciones de recarga deben conservarse durante 10 años debido a la normativa financiera.
Si la respuesta es no, no es necesario almacenar los datos de forma permanente, siempre se puede utilizar la red IOTA sin permisos como una capa pública de confianza para compartir datos y (micro)pagos de forma segura y en tiempo real/cercano.
Sin embargo, si la respuesta es sí, necesitas almacenar permanentemente los datos de las transacciones, entonces puede que necesites personalizar la arquitectura de tu solución considerando algunas opciones:
Despliegue su propio nodo, configúrelo para el almacenamiento de transacciones a largo plazo (deshabilitando las Snapshots y siguiendo estas mejores prácticas) y conéctelo a la mainnet sin permisos de IOTA. De esta manera, tu nodo mantendrá todas tus transacciones y podrás crear una referencia pública para demostrar la inmutabilidad de una transacción. Recuerda que la búsqueda de información histórica carece de eficacia en una DLT pública, ya que ningún contenido está indexado. Siempre puedes rastrear tus transacciones desde tu semilla, pero tendrías que optimizar el rendimiento almacenando las referencias de tus transacciones también localmente, donde puedes desplegar tu propio etiquetado o indexación.
Despliegue uno o más nodos de chronicle, la solución de permanencia de IOTA con búsqueda eficiente de información, almacenamiento redundante y resistencia a las actualizaciones del protocolo. Al instalar varios nodos, cada parte conservará un historial completo de transacciones a través de las actualizaciones del protocolo.
Hasta ahora hemos entendido cuándo IOTA es la opción correcta para ti y qué bloques de infraestructura de construcción y aplicación (nodos de chronicle, etc) debe incluir tu solución.
En el futuro, otra entrada del blog se sumergirá en PoCs, aplicaciones y cómo la Fundación IOTA puede apoyarte en el desarrollo de tus soluciones y servicios impulsados por IOTA.
Mientras tanto, si tienes alguna pregunta, no dudes en ponerte en contacto con nuestro equipo a través de nuestro servidor Discord o [email protected].
Post original: The Road to Integration: Part 1