
IOTA 2.0 Introducción Parte 8
TL;DR:
Para gestionar la congestión y garantizar la equidad, el protocolo IOTA 2.0 utilizará un enfoque dinámico basado en las tenencias de Mana de los usuarios. Nuestro mecanismo de control de congestión incluye un programador, quema de maná y selección de propinas, todos trabajando juntos para proporcionar un rendimiento de red consistente, justo y seguro con tarifas predecibles.
Como gráfico acíclico dirigido (DAG), Tangle permite crear bloques en paralelo, a diferencia del orden secuencial en las cadenas de bloques. Esto requiere un mecanismo descentralizado para imponer algún tipo de orden sobre cómo y cuándo se procesan los bloques. En un sistema DLT, los mecanismos de control de la congestión gestionan la congestión de la red: sin embargo, cuando un aumento en la actividad de transacciones causa congestión en una red blockchain tradicional, puede haber retrasos impredecibles en el procesamiento de las transacciones y tarifas que aumentan exponencialmente.
Por el contrario, en IOTA 2.0, hemos diseñado un mecanismo de control de congestión donde el rendimiento se asigna dinámicamente entre los usuarios en función del Mana que poseen (recuerde que Mana es el recurso de recompensa generado automáticamente al tener tokens IOTA). Como se muestra en la figura siguiente, los nodos agregan cualquier bloque válido recibido por los nodos vecinos (dado que incluyen el maná necesario para grabar) a su versión local de Tangle antes de agregarlos a su búfer de programación.

Esta publicación de blog describe cómo funcionará el control de congestión en IOTA 2.0 describiendo sus componentes principales: el programador, la quema de maná y la selección de propinas. Para una descripción más detallada, recomendamos la versión Wiki de este artículo, que se publicará el 25 de octubre.
Mecanismo antispam sensible al tráfico: quema de maná
Al crear un bloque, el emisor debe especificar una cantidad en Mana que se deducirá de su saldo de Mana. Esta cantidad depende de las características del bloque (por ejemplo, firma, tipo de carga útil) y el costo de maná de referencia, que se calcula objetivamente para cada compromiso de espacio en función de la actividad de tráfico reciente, es decir, en la cantidad de bloques incluidos en el compromiso de espacio anterior. El usuario conocerá este valor de antemano; no es necesario hacer una apuesta ni adivinar.
Este mecanismo actúa como un antispam donde la cantidad de bloques que cada usuario puede emitir en un determinado intervalo de tiempo está limitada, ya que la acumulación de Mana también está limitada. Sin embargo, si bien los nodos registran esta «quema de maná» tan pronto como se recibe el bloque, los saldos de maná se actualizan solo tras el compromiso. Por esta razón, el protocolo castiga cualquier mala conducta que conduzca a un saldo de Mana negativo bloqueando la cuenta y el depósito del emisor.
Es posible que algunos lectores ya hayan notado similitudes con otros protocolos, por ejemplo EIP-1559 de Ethereum, donde la tarifa base se adapta con el tiempo según el tamaño del bloque. Pero la situación cambia cuando aumenta la carga de tráfico… ¡como veremos a continuación!
Asignación dinámica y función del planificador.
Otros proyectos suelen depender de “tarifas de prioridad” para elegir qué transacciones formarán parte del siguiente bloque. Sin embargo, cuando el rendimiento disponible (o “espacio de bloques” en la terminología blockchain) no es suficiente para contener todas las transacciones nuevas, resulta imposible predecir o limitar el costo de las tarifas a pagar. En IOTA adoptamos un enfoque diferente, compartiendo el espacio de bloques proporcionalmente al Mana del emisor.
Un enfoque dinámico es clave. Es como compartir una pizza con cuatro amigos. Normalmente, lo dividirías en cuatro partes iguales. Pero, ¿qué pasa si Joe quiere más de su porción mientras que a Mary le gustaría un poco menos? Para que todos estén contentos, dividirías la pizza en muchas porciones pequeñas y luego adoptarías un enfoque dinámico: por turnos, dejarías que cada amigo tomara una porción: primero Joe, luego Mary, John y Lisa, luego nuevamente Joe, Mary. etc. – hasta que hayan satisfecho su hambre, comiendo tanto o tan poco como quieran.

Nuestro programador, que decide qué bloque debe procesarse a continuación, funciona de manera similar: cada emisor de bloque (amigo) está vinculado a una cola sobre la cual el programador itera en forma circular (a su vez, uno a la vez). El protocolo programa bloquea a los emisores dependiendo de su déficit (hambre), una cantidad proporcional al Mana del emisor (ver algoritmo de round-robin de déficit).
En cadenas de bloques como Ethereum, debe agregar una tarifa a su transacción para aumentar sus posibilidades de ser procesada y validada, lo que genera precios excesivos bajo congestión debido a subastas impredecibles donde el mejor postor recibe prioridad. Por el contrario, nuestro programador hace que las ofertas sean innecesarias y mantiene al mínimo cualquier retraso entre la creación y la difusión de bloques.
Selección de propinas
En IOTA 2.0, los bloques a los que aún no se ha hecho referencia en bloques posteriores se denominan «consejos». Cada nodo mantiene un conjunto de sugerencias locales y, cuando se crea un nuevo bloque, el nodo elige al azar entre dos y ocho sugerencias elegibles de su conjunto. Para ser elegible, un bloque debe pertenecer a la misma cadena de compromiso de ranura elegida por el nodo y satisfacer ciertas limitaciones de tiempo: después de todo, no queremos hacer referencia a bloques que sean demasiado antiguos o que probablemente sean eliminados.
Los bloques seleccionados por el programador se reenvían a los nodos vecinos y se agregan a los grupos de sugerencias locales. En una DLT, el hecho de que los bloques hagan referencia a otros bloques es importante porque vincula la creación del bloque con el consenso: cuanto más referencian un bloque otros bloques, más «peso» gana, lo que aumenta la probabilidad de ser aprobado y la velocidad de aprobación. confirmado.
Conclusión: un enfoque único
El Mecanismo de Control de Congestión de IOTA 2.0 satisface varios requisitos importantes.
- Es fundamental para consistencia ya que funciona como un consenso previo que garantiza que los bloques emitidos por usuarios honestos sean recibidos por todos los usuarios honestos dentro de un período de tiempo específico con una alta probabilidad.
- Proporcionar justicia al otorgar a los emisores de bloques acceso a una parte del rendimiento disponible de la red proporcional a la cantidad de Mana que tienen en su cuenta.
- Garantizar seguridad en el sentido de que los actores maliciosos no podrán afectar la coherencia y equidad del sistema.
Más allá de eso, nuestro mecanismo de control de congestión ofrece más beneficios:
- Previsibilidad: A diferencia de los mecanismos tradicionales que experimentan tarifas crecientes durante la congestión, IOTA 2.0 establece requisitos de Mana claros y limitados. Como productor de bloques, sabrá exactamente cuánta Mana se necesita para ejecutar su transacción, lo que garantiza transparencia y previsibilidad.
- Sin sentimientos: Los usuarios de IOTA 2.0 pueden generar su propia Mana para emitir bloques y no están obligados a pagar tarifas como en los sistemas similares a subastas. ¡No más preocupaciones por precios exorbitantes!
- Eficiencia: El espacio de bloques se aprovecha al máximo gracias al enfoque dinámico: si uno no quiere un trozo de pizza, otro amigo puede comérselo. En otras palabras, todos pueden acceder a la red durante los períodos de baja congestión.
En conclusión, el Mecanismo de Control de Congestión de IOTA 2.0 es un enfoque único para facilitar un intercambio justo de los recursos de la red, garantizar la entrega eficiente de bloques y brindar garantías predecibles para los emisores de bloques. Al aprovechar Mana e implementar un búfer de programación, IOTA 2.0 allanará el camino para nuestra futura red descentralizada segura y escalable.
el próxima publicación del blog de esta serie analiza cómo los nodos sincronizan el libro mayor para lograr la finalidad.
Únase a la conversación en X
🌐Dirígete al #wiki entrada para encontrar más detalles sobre cómo la congestión de la red en #IOTA Se maneja 2.0. Específicamente, describimos la política de programación para los bloques entrantes y cómo establecer el costo en #maná de un nuevo bloque. 🔗https://t.co/cIo7pivROu
– IOTA (@iota) 25 de octubre 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