Input your search keywords and press Enter.

¿Qué es Avalanche?

El protocolo Avalanche es un algoritmo de consenso robusto, construido con Tolerancia a Fallas Bizantinas (BFT). Tiene un marco de trabajo y propiedades muy distintas pero compatibles con el protocolo de Prueba de Trabajo (PoW), lo que la hace adecuada para ser utilizada como complemento de PoW, usado en la blockchain de Bitcoin.

Avalanche permite que una red de nodos pueda comunicarse en tiempo real y llegar a un consenso confiable. Esto se logra, gracias al sistema de verificación y consenso que usa Avalanche. Un ejemplo sencillo de este sistema sería el siguiente: digamos que seleccionando Transacción A en lugar de Transacción B, un nodo de Avalanche consultará otros nodos en la red y le preguntará cuál es su preferencia. La consulta se genera sobre un conjunto aleatorio de nodos, y si la mayoría está de acuerdo con su elección, se quedará con esa elección, de lo contrario, cambiará. Sobre la base de los resultados de la ronda, puede volver a consultar, eligiendo un nuevo conjunto aleatorio de pares. El número de nodos aleatorios consultados, el número de rondas y los criterios para detener la consulta, y el número esperado de nodos maliciosos son todos parámetros del protocolo.

Este proceso a simple vista parece muy simple, pero es muy seguro, ya que se ha demostrado que el protocolo proporciona garantías de seguridad probabilísticas basadas en los parámetros del sistema. Esto significa que se puede utilizar para llegar de manera confiable al consenso para un modelo de amenaza dado, ajustando parámetros como el número de rondas y los criterios para detener y aceptar una decisión.

El desarrollador de OpenBazaar, Chris Pacia, describe cómo el protocolo Avalanche podría proteger las transacciones no confirmadas al hacer que un grupo de nodos participantes lleguen al consenso previo. En tal sentido, Pacia explica que:

Avalanche es un nuevo protocolo de consenso que se introdujo a principios de este año. Proporciona una forma novedosa para que los nodos de una red elijan entre dos transacciones en conflicto y lleguen a un consenso sobre cuál de ellos debería incluirse en el siguiente bloque.

Además agrega:

El uso de Avalanche en Bitcoin Cash para la coordinación de mineros proporciona un mecanismo de coordinación descentralizado muy elegante que potencialmente puede evitar que los mineros acepten sobornos de doble gasto y cuando se combinan con notificaciones de doble gasto, hacen que las transacciones de zeroconf sean muy seguras.

Fundamentos del protocolo

Supongamos que tenemos dos transacciones en conflicto: la transacción A y la transacción B. Sin importar cual transacción seleccionamos, nuestra real preocupación es que los todos los nodos acepten que A o B sean válidos. Con esto se quiere evitar que haya un consenso mixto, en el que una parte de la red piensa que A es valido, y la otra que B lo es.

Para lograr esto, Avalanche hace que cada nodo que participa en el proceso de consenso seleccionare un número de otros nodos al azar para consultarlos y les preguntará cuáles son sus preferencias entre A y B. Digamos que para este ejemplo, cada nodo selecciona ocho nodos aleatorios.

Si un nodo comienza con una preferencia inicial por la transacción A, y la mayoría de los nodos que consulta responden y dicen que prefieren A, entonces se mantendrá la preferencia sobre la transacción A. Si la mayoría regresa y dice ellos prefieren B, el nodo inicial cambia su preferencia a B. Con esto cada nodo en la red hace lo mismo.

El proceso no termina allí. Apenas es la ronda #1. El proceso continuará por el resto de las siete rondas faltantes hasta terminarlas todas. En cada ronda se eligen una serie de nodos aleatorios, y en función de la elección se cambia o se mantiene la preferencia.

Esta situación es positiva puesto que incluso en una red con mayoría de nodos maliciosos, la extensión de las rondas y el seguimiento del protocolo Avalanche garantiza que se llegará a un consenso certero sobre la validez o no de la transacción, y todo ello sin extender innecesariamente la cantidad de rondas para llegar a dicho consenso.

De esta manera que da en claro, que para que el protocolo Avalanche funcione, es necesario algún tipo de mecanismo anti-sybil que evite que cualquiera pueda cambiar un montón de nodos que participan en el proceso de consenso. Afortunadamente el protocolo PoW es un buen mecanismo de este tipo, y es lo que precisamente permite la complementariedad con Avalanche.

Conclusión

Interesante acercamiento para permitir operaciones zeroconf sin poner en riesgo la seguridad de la Red. Con la aplicación de Avalanche, blockchain como las de Bitcoin o parecidas pueden beneficiarse de un salto cualitativo y de escalabilidad sin precedentes, que les permitirá posicionase mejor frente a alternativas como PoS, DPoS o PoA. Será muy interesante la evolución que Bitcoin y Bitcoin Cash sufrirán al implementar esta técnica en sus blockchain, y como la comunidad reaccionará ante esto. Sin dudas, grandes cosas vienen para el mundo blockchain este año 2019.

Apasionado por el mundo de la tecnologías y el Software Libre. Activista en las comunidades de soporte y desarrollo de GNU/Linux (Debian, Ubuntu y Gentoo). Blogger y redactor de todo lo relacionado con tecnologías.