
IOTA 2.0 Introducción Parte 12
TL;DR:
La mayoría de los libros de contabilidad distribuidos pueden ser seguros pero lentos o rápidos pero vulnerables. IOTA 2.0 es un protocolo disponible dinámicamente, lo que significa que la red no se detendrá incluso si la mayoría de los nodos se desconectan; en cambio, sigue incluyendo transacciones y las confirma una vez que los validadores vuelven a estar en línea. Esto permite a los usuarios encontrar su propio equilibrio entre cautela y optimismo según sus expectativas sobre el libro mayor.
Cuando interactúa con un libro de contabilidad distribuido, es probable que tenga dos expectativas fundamentales. Quiere estar seguro de que los datos enviados eventualmente encontrarán un lugar en el libro mayor y que, una vez incluidos, el destino de sus datos se determinará definitivamente. Si bien esta doble expectativa puede parecer obvia en el contexto de los libros de contabilidad distribuidos, la realidad es que muchas cadenas de bloques solo son capaces de cumplir un aspecto de esta promesa (como se analiza en tsu artículo del Simposio IEEE sobre seguridad y privacidad de 2021).
Una de las características destacadas de IOTA 2.0 es su capacidad para garantizar disponibilidad dinámica. Esto le permite procesar sus transacciones sin problemas a pesar de cualquier falla transitoria que pueda surgir en el protocolo de consenso, al mismo tiempo que garantiza que sus transacciones serán finalizado definitivamente por el protocolo de consenso.
En esta publicación de blog, exploraremos la disponibilidad dinámica y descubriremos las razones por las que lograr simultáneamente la disponibilidad dinámica y la finalidad definitiva puede ser un desafío, pero es un desafío que IOTA 2.0 aborda de manera efectiva.
Falta de confiabilidad de las redes
Para comprender por qué es difícil lograr simultáneamente disponibilidad dinámica y finalidad definitiva, es importante recordar una realidad de las redes informáticas actuales que a menudo se pasa por alto: su falta de confiabilidad inherente. Las redes informáticas comprenden estructuras en capas donde cada capa es susceptible a numerosos tipos de fallas, que van desde fallas de hardware en los dispositivos de red hasta anomalías en el medio físico o mal comportamiento imprevisto en los algoritmos de comunicación.
Las implicaciones de la falta de confiabilidad de la red, combinadas con la probabilidad de un comportamiento conflictivo intencional por parte de pares en la red, dan lugar a algunos desafíos de comunicación importantes. Por ejemplo, consideramos un escenario en el que establece una conexión por cable directa con alguien en una configuración de comunicación de igual a igual. Después de establecer la conexión, envía un mensaje a su compañero preguntándole «¿Estás ahí?» al cual no recibe respuesta. Dada la naturaleza poco confiable del medio de comunicación, resulta imposible distinguir entre dos situaciones potenciales:
- Tu compañero es un honesto participante y envió una respuesta SÍ, pero no recibió el mensaje debido a fallas en la red o tiempo de espera insuficiente. (Nota: en teoría, el tiempo de espera nunca es lo suficientemente largo como para garantizar la recepción).
- Tu compañero es un adversario participante y decidió no enviarle una respuesta a pesar de que la conexión funciona perfectamente.
Este ejemplo destaca el desafío central que plantea la falta de confiabilidad de la red: se vuelve imposible determinar la honestidad de los participantes dentro de la red. Esto significa que en cualquier red peer-to-peer, no es posible determinar ni la existencia ni el número de nodos adversarios. Además, si existe algún nodo adversario, puede proporcionarle a su par respuestas contradictorias, dificultando cualquier colaboración entre nodos. Ésta es la realidad de cómo funciona Internet, y los libros de contabilidad distribuidos que se crean en Internet no son una excepción a estos desafíos.
La colaboración entre nodos distribuidos es una tarea desafiante. Durante los últimos 50 años se han estudiado varios enfoques para este problema. Profundicemos en estos enfoques, analizándolos en dos categorías: asegurar la finalidad y asegurar la disponibilidad.
Garantizar la finalidad: protocolos de consenso basados en votaciones
La primera categoría de soluciones se basa en la supermayoría de un conjunto predeterminado de nodos en la red, conocido como protocolos de consenso basados en votaciones. Estos protocolos se basan en dos supuestos clave:
- Cada nodo que participa en el protocolo de consenso tiene conocimiento del número total de nodos en el protocolo.
- Existe un límite superior en el número de nodos adversarios, que todos los participantes conocen. (Nota: ha sido teóricamente probado Ese consenso no se puede lograr cuando más de un tercio de los nodos son adversarios).
En los libros de contabilidad distribuidos que se basan en los supuestos anteriores, el consenso entre los nodos sobre qué datos deben agregarse al libro de contabilidad se logra buscando la aprobación de una supermayoría (en otras palabras, más de dos tercios) de los pares. Este requisito garantiza que los nodos honestos nunca tendrán puntos de vista contradictorios sobre el libro mayor. En consecuencia, los datos aprobados pueden escribirse en el libro mayor de forma irreversible, lo que significa que la transacción (o cualquier otro dato considerado) es finalizado.
Para comprender el comportamiento de los protocolos de consenso basados en votación bajo participación dinámica, consideramos el siguiente escenario. Imagine un libro de contabilidad distribuido por una red de 10 pares. Estos pares deciden la inclusión de transacciones en el libro mayor utilizando el procedimiento antes mencionado: se escribe un conjunto de transacciones en el libro mayor distribuido si recibe la confirmación de siete pares.
Ahora imagina una situación en la que cuatro de los pares pierden conectividad con los seis restantes debido a un problema de red. Afortunadamente, los seis pares restantes continúan aplicando con benevolencia el protocolo de consenso. Sin embargo, dado que los nodos desconectados no pueden determinar si el problema radica en la conectividad de la red o si el conjunto de transacciones candidato carece de confirmaciones suficientes, no se puede escribir ningún conjunto de transacciones en el libro mayor hasta que se resuelva el problema de conexión. En otras palabras, el libro mayor sufre una pérdida de disponibilidad.
En resumen, los protocolos de consenso basados en votación utilizados en soluciones blockchain como Algorando, mente tierna, avalanchay IUE garantizar que todo lo que esté escrito en el libro mayor esté definitivamente finalizado, mientras que el protocolo de consenso puede detener el procesamiento de transacciones en caso de falta de un número suficiente de participantes predeterminados.
Garantizar la disponibilidad: protocolos de consenso basados en pruebas
Antes de presentar el segundo conjunto de soluciones de consenso, vale la pena mencionar que antes se creía ampliamente que el consenso entre pares en los que no se confiaba con participación dinámica era imposible, ya que esto El documento de 2010 sobre computación multipartita deja en claro. Esta noción se mantuvo firme hasta que surgió una idea innovadora, que reúne una combinación de técnicas establecidas como prueba de trabajo, cadenas de hash y árboles Merkle. Esta solución, conocida como Consenso de Nakamoto, marcó el inicio de la revolución blockchain con la introducción de la blockchain Bitcoin.
El algoritmo del Consenso de Nakamoto se basa en un principio simple. Los participantes del consenso, llamados mineros, compiten entre sí para resolver un rompecabezas criptográfico (es decir, demostrar sus recursos computacionales), sin necesidad de saber cuantos mineros existen en la red. El procedimiento de resolución de acertijos es similar a una lotería en la que la probabilidad de ganar para un nodo es proporcional a la potencia de cálculo del nodo. El solucionador del rompecabezas tiene el derecho de determinar el conjunto de transacciones que se escribirán en el siguiente bloquear del libro mayor.
La característica distintiva de los protocolos de consenso basados en pruebas es el hecho de que el protocolo continúa funcionando incluso cuando solo hay un minero. Por lo tanto, los nudos mineros son libres de abandonar y volver a ingresar a la competencia en cualquier momento. Así, el protocolo se mantiene. disponibilidad incluso en condiciones de red indeseables.
Para hacer frente a los casos en los que hay varios líderes (solucionadores simultáneos del rompecabezas), los nodos honestos siguen una regla simple: seleccionar el libro mayor con el mayor número de bloques (es decir, la cadena más larga). En los casos en que las cadenas tengan la misma longitud, elija la que haya visto antes.
Tenga en cuenta que, en el escenario dado, no hay manera de determinar si hay un conjunto de adversarios que están procesando un libro de contabilidad paralelo sin informar al resto de la red hasta que su libro de contabilidad sea más largo que la cadena del nodo. benévolo. Cuando tienen una cadena más larga, revelan su cadena, esperando que el resto de la red se adapte a ella, ignorando así efectivamente todas las transacciones que estaban en los bloques descuidados. Debido a esto, nunca se puede estar seguro de si una transacción es irreversible.
Bitcoin y los protocolos de consenso basados en pruebas se basan en una finalidad probabilística: En ausencia de nodos maliciosos, la probabilidad de que se revoque una transacción en un bloque se reduzca exponencialmente con el número de bloques sucesivos. A análisis reciente muestra que una transacción contenida en un bloque de Bitcoin que tiene seis rondas más antigua que el bloque más nuevo puede ser revertida con éxito con una probabilidad de entre 0,11% y 0,16% por un adversario que controle el 10% del poder minero. Cardano y Ethereum basado en prueba de trabajo son otros ejemplos de blockchains con garantías probabilísticas de finalidad.

Elegir lo mejor de ambos mundos: consenso flexible
Como hemos visto, las dos categorías de consenso tienen sus fortalezas y debilidades. Mientras que los protocolos de consenso basados en votaciones priorizan la coherencia sobre la disponibilidad, los modelos de consenso basados en pruebas, similares a los de Nakamoto, garantizan una participación dinámica a costa de una finalidad definitiva.
En los sistemas distribuidos, es bien sabido que lograr tanto la participación dinámica y garantizar la seguridad bajo las particiones de la red es imposible, como sostiene este artículo de 2002.
Sin embargo, es posible diseñar un protocolo de consenso en el que coexistan dos tipos de modelos de consenso y permitirle al usuario determinar el nivel de seguridad en el espectro entre la finalidad definitiva y la disponibilidad dinámica.
Este es el enfoque adoptado por IOTA 2.0.
IOTA 2.0: finalidad definitiva y disponibilidad dinámica
Como exploramos en la Parte 6 de esta serie de publicaciones de blog, IOTA 2.0 adopta un enfoque en capas para alcanzar el consenso. Se garantiza que los bloques emitidos por los usuarios y enviados a la red se incluirán en Tangle y recibirán una respuesta más rápida. aceptación bandera, mientras que un mecanismo de consenso en curso f Finalmente decida sobre su irreversibilidad. Este enfoque es similar a tener un dispositivo de finalidad ejecutándose junto con un procedimiento de creación de bloques disponible dinámicamente, como se implementa en Ethererum (Prueba de participación)) y Lunares cadenas de bloques.

Por lo tanto, en IOTA 2.0, depende de usted, el usuario, determinar el nivel de seguridad. Al revelar sus transacciones a la red y recibir una rápida aceptación, puede comenzar a construir de manera optimista sobre las transacciones aceptadas antes de que el protocolo de consenso tome la decisión final sobre su transacción. Por el contrario, un usuario más conservador puede optar por esperar a que sus transacciones reciban el finalizado. bandera antes de realizar cualquier acción que dependa de la transacción aceptada. No hace falta decir que puedes ajustar dinámicamente tu nivel de precaución al usar IOTA 2.0: continúa construyendo sobre tus transacciones de bajo riesgo tan pronto como estén aceptadoy espere a que se realicen sus transacciones de alto riesgo. finalizado antes de continuar.
La próxima publicación del blog de esta serie presenta La tokenonomía sostenible de IOTA 2.0.
Únase a la conversación en X
🌐 #IOTA 2.0 es un protocolo disponible dinámicamente que le permite encontrar su propio equilibrio entre precaución y optimismo. Continúe leyendo para descubrir por qué un enfoque híbrido permite garantizar finalidad y disponibilidad al mismo tiempo: 🔗https://t.co/sJYEI7C06e pic.twitter.com/tuwMyATFkR
– IOTA (@iota) 13 de noviembre de 2023
Introducción a IOTA 2.0
Parte 1: Autonomía digital para todos: el futuro de IOTA
Parte 2: Cinco principios: los fundamentos que toda DLT necesita
Parte 3: Explicación del flujo de datos: cómo procesan los bloques los nodos
Parte 4: Explicación de las estructuras de datos: los componentes básicos que forman el conjunto
Parte 5: Cuentas, tokens, maná y apuestas
Parte 6: Un nuevo modelo de consenso: el consenso de Nakamoto sobre un DAG
Parte 7: Bloques de confirmación: cómo funcionan los validadores
Parte 8: Control de congestión: regulación del acceso en un sistema sin permisos
Parte 9: Explicación de la finalidad: cómo los nodos sincronizan el libro mayor
Parte 10: Una elección obvia: ¿Por qué DAG en lugar de Blockchain?
Parte 11: ¿Qué hace que IOTA 2.0 sea seguro?
Parte 12: Disponibilidad dinámica: garantías basadas en protocolos
Parte 13: Tokenómica justa para todos los poseedores de tokens
Parte 14: UTXO vs Cuentas: fusionando lo mejor de ambos mundos
Parte 15: Sin Mempool, sin MEV: proteger a los usuarios contra la extracción de valor
Parte 16: Escritura accesible: reduciendo las barreras de entrada