Browse By

Tangle: una introduccion ilustrada – 5ta parte

Parte 5: Consenso, intervalo de confianza, y el coordinador

La semana pasada mencionamos el problema del doble gasto, que surge cuando Alice intenta gastar su dinero más de una vez. En este post, que será el último de la serie, mostramos cómo se resuelve este problema en la Tangle, y cómo decidimos qué historia es la válida.

Para ilustrar el problema, examinaremos el siguiente escenario de gastos dobles:

Como puedes ver, Alice tiene 5i, que le da tanto a Charlie como a Bob. Esto es claramente un problema: no podemos tratar ambas transacciones como válidas. Usando la terminología de la Tangle, no podemos tener una transacción futura aprobando ambas, ya que terminará con un saldo negativo en la cuenta de Alice.

Hemos aprendido que usando el algoritmo de caminata aleatoria ponderada, eventualmente una de las ramas se hará mucho más grande. Así se forma un consenso sobre la validez de la transacción. Desde la perspectiva de Bob o Charlie, sin embargo, hay un problema: ¿cómo saben si realmente obtuvieron el dinero de Alice?

Imagina que Bob y Charlie son vendedores de dinosaurios, y Alice le compró un T-Rex a cada uno de ellos. Si ambos le envían el T-Rex inmediatamente después de ver su transacción en el Tangle, eventualmente uno de ellos descubrirá que no ha sido pagado. ¿Cómo pueden saber cuándo es seguro transportar el lagarto?

Se trata de un problema grave y, de hecho, Bitcoin fue la primera tecnología que lo solucionó con éxito en 2009. Para mostrar cómo la Tangle lo resuelve, presentamos un concepto llamado intervalo de confianza. Este intervalo es una medida del nivel de aceptación de una transacción por el resto de la red.

El intervalo de confianza de la confirmación de una transacción se calcula de la siguiente manera:

– Ejecute el algoritmo de selección de tips 100 veces.
– Cuenta cuántos de esos 100 consejos aprueban nuestra transacción, y llámalo A.
– El intervalo de confianza de nuestra transacción es de «A por ciento».

En otras palabras, la confianza de una transacción es el porcentaje de tips que la aprueban. No todos las tips se consideran iguales; a las tips más probables se les da más importancia. Para ilustrar este punto, añadimos el concepto de intervalo de confianza a la simulación. Las transacciones con un intervalo de más del 95% se muestran con un borde grueso a su alrededor.

En la tangle anterior, la transacción 9 es aprobada por dos de las cuatro tips. Si usáramos una selección aleatoria uniforme de tips, tendría una confianza de exactamente el 50%. Sin embargo, las tips que lo aprueban son aparentemente más probables que las que no, lo que aumenta un poco la confianza.

Ahora está claro cómo Bob y Charlie pueden saber cuándo es seguro enviar su T-Rex a Alice. Una vez que la transacción de Alice alcanza un umbral de confianza muy alto, digamos del 95%, es muy poco probable que sea expulsada del consenso. Debemos tener cuidado y decir muy improbable, en lugar de imposible; si Alicia quiere hacer trampas, y tiene suficiente poder computacional, puede intentar el doble gasto.

Para hacer eso, ella emitirá una transacción pagando a Charlie, en vez de a Bob. Tendrá que aprobar dos antiguas transacciones con él, que no hacen referencia a su pago a Charlie. A continuación, comenzará a emitir tantas transacciones como pueda, tratando de aumentar el peso acumulado de su nueva rama. Si tiene suficiente poder computacional, puede hacer que toda la red de IOTA le crea y siga su nueva rama, reescribiendo así la historia y gastando dos veces. Si observamos el nivel de confianza de su transacción con Bob, veremos que disminuye del 95% a finalmente cero.

Este ataque se ilustra en la imagen de abajo, con el tiempo descendiendo:

Este escenario es sólo un riesgo si Alice puede enviar más transacciones que cualquier otra persona combinada, o cerca de ella. Aunque no es un riesgo importante en una red madura y activa, es un problema real para la red IOTA actual. No hay suficientes transacciones pasando por el sistema para estar a salvo de un ataque concentrado de doble gasto.

Dado que la red IOTA fue construida para el escalamiento, empleamos un mecanismo de consenso diferente voluntario y temporal por razones de seguridad: el coordinador. Cada dos minutos, la Fundación IOTA emite una transacción de hito o milestone, y todas las transacciones aprobadas por ella se consideran con una confianza de confirmación del 100%, inmediatamente. Usando al coordinador, la segunda transacción de Alice nunca habrá sido aprobada en primer lugar. Esto actúa como un mecanismo de protección mientras la red IOTA sigue creciendo hacia la actividad necesaria desde la adopción necesaria para mantener la red segura de una manera 100% descentralizada, donde se activara el algoritmo de consenso distribuido que hemos estado viendo. En ese momento la Fundación IOTA cerrará el Coordinador y dejará que la Tangle evolucione por sí sola. Esto ocurrirá en fases iterativas. Cuando la red esté lo suficientemente madura para deshacerse del Coordinador, la red se volvera instantáneamente más eficiente en varios ordenes de magnitud.

Quiero agradecer a todos los que siguieron esta serie. Me divertí mucho escribiéndolo y respondiendo a sus comentarios y preguntas. Estaré encantado de aceptar solicitudes de posts de seguimiento sobre temas más avanzados. Algunos candidatos son: vectores de ataque en la maraña, una explicación de cómo se define alfa, optimizaciones prácticas para el algoritmo de selección de tips, y cualquier otra cosa que quieras saber más.

Puedes escribirme en la sección de comentarios abajo, o en Discord: @alongal#3938.

Parte 1: Introducción a la tangle.
Parte 2: tasas de transacciones, latencia y caminatas aleatorias.
Parte 3: Pesos acumulados y caminatas aleatorias ponderadas.
Parte 4: Aprobadores, balances, y doble-gastos.
Parte 5: Consenso, intervalo de confianza, y el coordinador.

Traducción realizada con el traductor www.DeepL.com/Translator

Articulo original

Comentarios

comentarios