Browse By

Solución de escalabilidad en Iota

 

 

 

 

 

Por Daniel De Michele (Carpincho Dem)
Publicado originalmente en Hello IOTA

VISA es capaz de procesar miles de transacciones por segundo (TPS), pero cualquiera puede lograr esos números en sistemas centralizados. Los problemas comienzan a surgir cuando se intenta descentralizar los datos y tener un esquema de confianza. Se logra una arquitectura de datos confiable e inmutable cuando mucha gente tiene simultáneamente una copia de los datos. Cuanto mayor sea el grupo de propietarios de datos, más confiable será el sistema. La escalabilidad es el gran objetivo en el mundo de la «confianza» y la «inmutabilidad».

 

El protocolo Bitcoin podría considerarse la primera implementación de un sistema descentralizado, confiable e inmutable que permite la transferencia de datos que representan valor. Satoshi Nakamoto diseñó Bitcoin con una estructura de datos llamada Blockchain. A pesar de que discutir Blockchain está fuera del alcance de este artículo, veremos brevemente cómo funciona y por qué nunca se escalará a los niveles de VISA.

Los problemas de escalabilidad en Blockchain son fáciles de comprender: tiene bloques lineales que contienen una cantidad de transacciones (es decir, personas que envían Bitcoin), agregadas a una cadena cada X vez. Para Bitcoin, la variable x es de 10 minutos, y la cantidad de transacciones que encajan en cada bloque solo permite un máximo actual de 5 TPS. Esto crea un cuello de botella inherente.

Image result for bottleneck image

 

 

 

 

Mientras que otras criptomonedas aplican variaciones a las variables de Blockchain para lograr un TPS incrementado, todas tienen este cuello de botella inherente en común, lo que les impide acercarse a los números de procesamiento de VISA. Es justo decir que el método de Satoshi para lograr un sistema descentralizado para el dinero digital no parece ser ideal para los pagos diarios. Si tiene más de 4 usuarios dispuestos a pagar un café con Bitcoin al mismo tiempo, tiene un problema.

LIBERATE DE LAS CADENAS

Sergey Ivancheglo, David Sonstebo y Serguei Popov sabían que Blockchain tenía estas limitaciones inherentes cuando comenzaron a pensar en una nueva forma de lograr la descentralización y la inmutabilidad en el año 2015. Era claro para ellos que la cantidad de dispositivos que necesitaban realizar transacciones entre ellos iba a aumentar significativamente, y también que el mundo estaba entrando en una «era verde» en términos de consumo de energía y sostenibilidad. Por lo tanto, un modelo de Blockchain no fue la solución por varias razones.

Su respuesta vino en la forma de una estructura de datos basada en DAG llamada «Tangle«. Básicamente, esto les permitió deshacerse de los bloques y la cadena. Los usuarios realizan su propia minería como un requisito para colocar su propia transacción en la Tangle. Esta minería basada en CPU consiste en una pequeña cantidad de trabajo de hash para aprobar otras dos transacciones en la red, llamadas sugerencias. Cuanto más mejor, y si desea que se envíe su transacción, ayudará a otros usuarios a enviar la suya. Así nació Amaranth. Sí, ese era el nombre del proyecto hasta que terminó siendo IOTA.

Debido a que IOTA fue diseñado para el Internet de las Cosas, las tarifas de Bitcoin eran lo suficientemente altas como para ser prohibitivas. La era del IoT marcará el comienzo de cientos de miles de transacciones pequeñas con valor bajo o cero. Los honorarios no pueden existir en un sistema de este tipo ya que terminarían costando más que lo que se envía en primer lugar.

Por lo tanto, aunque sigue siendo una proof of concept, la red de IOTA crece mientras el equipo trabaja en formas de mejorar las tasas de confirmación. Las pruebas de estrés muestran que la Tangle puede ser la solución para manejar grandes cantidades de transacciones de forma descentralizada. Pero todavía hay un problema por resolver.

LIMITACIONES EN EL TROUGHPUT

Regresemos a la expresión «cuanto más, mejor». IOTA no tiene limitaciones en cuanto al tamaño del contenedor (como en los bloques Blockchain), y parece aprovechar un alto volumen de transacciones. Uno podría pensar que este factor 1*2 y la falta de límites permiten una escalabilidad infinita, lo que significa que la Tangle está lista para manejar cientos de miles de transacciones.

Pero hay algo más que considerar. IOTA permite la inmutabilidad de la misma manera que lo hace Blockchain: cuando se agregan nuevos datos al libro mayor, se comprueba la coherencia del libro contable al ejecutarlo contra todas las copias contables distribuidas en los nodos de todo el mundo. Como se puede imaginar, estos nodos tienen limitaciones en cuanto a la cantidad de datos que pueden procesar y servir debido al hecho de que transmiten en un ancho de banda limitado. Nos referiremos a esto como la limitación en el throughput. Si le dio copias de sus datos a 1000 personas en todo el mundo, tomaría necesariamente algún tiempo llegar a ser consistente en todos esos nodos.

Incluso con un mecanismo perfecto que garantice la confirmación más eficiente con el factor 1*2, IOTA tal como la conocemos hoy nunca podrá manejar todas las transacciones del mundo de IoT. Esto no es una limitación en la estructura de datos, sino más bien una limitación en la forma en que se logra la inmutabilidad. Una transacción es válida si el remitente tiene la cantidad de fondos en la transacción, y esta verificación se debe realizar en cada base de datos de nodo completo para ver que todos tengan el mismo valor. Esto es lo que hace que los DLT no tengan confianza.

ECONOMIC CLUSTERING

El problema de throughput, delineado anteriormente, necesita ser resuelto para servir a las masivas necesidades transaccionales de IoT. Aquí es donde la económía en clusters entra en escena.

Imagínese en un mundo de IoT con dispositivos pequeños que realizan transacciones de datos a través de IOTA. Digamos que su refrigerador tiene acceso a fondos y autorización para pedir algunos comestibles cuando se están acabando. ¿Es necesario validar esta transacción entre miles de nodos de todo el mundo para que sea confiable? ¿No podríamos simplemente tomar un subconjunto de nodos en nuestra área para validar este tipo de operaciones conservando el carácter de confianza?

La respuesta es sí y de eso se trata la economía en clusters. Tienes subtangles (clusters) en diferentes áreas con sus propios nodos que se encargan de las validaciones de esa zona. De esta forma, se ocupará de la limitación en el throughput al evitar cargar nodos en China con la validación de su transacción de pedido de leche en una tienda de comestibles de Nueva York. Esto permite que el usuario solo necesite comprobaciones de confirmación para transacciones en nodos de clúster locales, lo que reduce la latencia y mitiga el volumen sistémico de transacciones para evitar cuellos de botella. Escalabilidad al fin.

Para resolver los bottlenecks, se agregan mas botellas

La idea detrás del Economic Clustering es que habrá un interés económico en tener subenlaces basados en la proximidad geográfica. Dependiendo de la cantidad de transacciones involucradas, los clusters podrían ser más grandes o más pequeños, ya que deben atender las limitaciones en el throughput del nodo y la demanda de transacciones (probablemente tendrá zonas en las que una cantidad muy baja de transacciones no justificará tener un Cluster y deberá usar «Cluster 0» para esos casos).

USANDO LOS CLUSTERS

Tomemos rápidamente el ejemplo de roadtrip para ilustrar un poco cómo sería esta EC en un escenario real. Tenemos un automóvil con una billetera y estamos a punto de viajar por algunas ciudades. Queremos que nuestro saldo de IOTA sea suficiente para pagar los peajes de la carretera, el estacionamiento e incluso una multa de tráfico (estamos planeando lo peor aquí).

Deberíamos transferir algo de IOTA de nuestra billetera personal a la billetera del automóvil. Esta primera operación se procesaría en «Clúster 0». A medida que avanzamos en nuestro viaje, pasamos por diferentes conglomerados regionales. Cada vez que estamos a punto de ingresar a un nuevo clúster, el saldo de la billetera de nuestro auto se reenviará al nuevo clúster. Necesitaremos que nuestros fondos se registren en el clúster adecuado antes de poder gastar ese saldo. A pesar de que aún no se ha explicado, se podría suponer que este flujo continuo de transacciones de clúster a clúster se realizará automáticamente. Dado que IOTA no tiene tarifas, se pueden enviar nuevamente tantas veces como sea necesario sin causar ningún problema.

CONCLUSIONES

EC es la clave para que IOTA sea el protocolo usado para el Internet de las Cosas. Esto permite una infinita escalabilidad a través del factor 1*2 y puede lidiar con el ancho de banda, la única limitación será el sistema de internet.

Debido a la tolerancia de partición de IOTA, es posible tener subtangles sin crear una bifurcación. Otros proyectos basados en Blockchain necesitarán algún tipo de solución para esto (una curita, en palabras de CFB) para encontrar el camino hacia una solución similar a los Economic Clusters. Es probable que esta sea la única forma en que podrán lidiar con las limitaciones de ancho de banda y lograr una verdadera escalabilidad.

 

Si te gusta lo que estamos haciendo, ayúdanos para continuar con el trabajo!
Donacione: http://www.iotahispano.com/donate/

 

Fuente: https://helloiota.com/iotas-scalability-solution/

Comentarios

comentarios