Avalanche: “Aerodinámica” en protocolos de consenso

AVA Labs Español
Avalanche en español
7 min readApr 1, 2020

Traducción al español del artículo original de Ryan Chen publicado en chino, para consultar el artículo original pueden consultarlo aquí

Previo a la invención del avión, había dos tipos de inventores dedicados al estudio de la fabricación de aeronaves: quienes estudiaban y querían imitar el vuelo de las aves y un segundo grupo que estudiaba la aerodinámica. Los ornitólogos intentaron imitar la forma en que vuelan las aves, y la aerodinámica trató de explorar otra forma. Al final, vimos que la aerodinámica dominó todo el campo de la fabricación de aviones.

Vuelo de aves

Antes de que aparezcan cosas nuevas, la gente trata de “imitar” cosas viejas, porque el pensamiento humano es continuo, tratando de usar el pensamiento antiguo para comprender cosas nuevas. A menudo, las cosas nuevas deberían ser diferentes a las viejas. Se puede decir que la diferencia entre lo viejo y lo nuevo es un “cambio de paradigma”.

El mecanismo de consenso de blockchain, para decirlo claramente, es esperar que un grupo de computadoras puedan llegar a un acuerdo. El contenido del consenso puede ser decidir si una transacción es correcta, el orden de ciertas transacciones, la autenticidad de un grupo de información, etc. La investigación en esta área se remonta al siglo pasado, en la década de 1970, estudiosos de las ciencias computacionales como Leslie Lamport y Barbara Liskov comenzaron a tratar de resolver el siguiente cuestionamiento: ¿Cómo lograr que un grupo de máquinas esté de acuerdo?

El problema parece simple, pero hay demasiadas formas de atacar un consenso y evitar que una red llegue a un acuerdo, -cortar la comunicación entre nodos o ataques intencionales a nodos, por ejemplo-. La solución debe considerar varias situaciones, lo que no es tan simple. El campo de investigación del llamado “mecanismo de consenso” surgió y se ha convertido en un tema central en el campo de la investigación de sistemas distribuidos.

Durante décadas, ha habido innumerables debates sobre el mecanismo de consenso, pero solo se destaca una serie de protocolos de consenso, que es lo que a menudo llamamos el “protocolo de consenso clásico”. Esta serie de protocolos tiene una característica obvia: todos los nodos deben participar en la votación.

El protocolo de consenso clásico básicamente es una continuación del pensamiento con el que los humanos llegan a un consenso. Por ejemplo, en el congreso, cuando se lanza una propuesta, cada miembro del mismo votará a favor o en contra. Es similar en el protocolo de consenso clásico: después de que se inicia una transacción, cada validador (computadora) vota para aceptar o rechazar la transacción.

Junto con una compleja serie de intercambios de información, los validadores obtienen toda la información de votación necesaria para llegar a un consenso. Generalmente, estas computadoras necesitan enviar al menos O(n^2) mensajes (donde n es el número de validadores). Todos los verificadores deben comunicarse entre sí.

El protocolo de consenso clásico confirma las transacciones de manera rápida, a menudo se pueden completar en solo unos segundos. Sin embargo, al igual que el parlamento humano, el participante no puede ser una persona con una identidad anónima. Todos los participantes deben conocer la información de todos los demás participantes (como direcciones IP), por lo que también limita el mecanismo de consenso clásico en general. No se puede establecer como una red abierta para permitir que los nodos entren y salgan cuando se usan dentro del rango. Entonces, si desea utilizar el protocolo de consenso clásico para construir una moneda digital abierta y global operada por cientos de miles de nodos que puedan participar directamente en el consenso, no es viable.

De esta forma, en 2008, Satoshi Nakamoto diseñó el conocido consenso de Nakamoto basado en la prueba de trabajo, red punto a punto y otras tecnologías. Se convirtió en el segundo tipo de serie de protocolos de consenso después del protocolo de consenso clásico. En comparación con el protocolo de consenso clásico, el consenso de Nakamoto puede operar bajo una red abierta, y los nodos pueden unirse o salir de la red libremente, sin importar cuántos nodos haya, no afectará la velocidad del consenso. La operación estable de diez años de Bitcoin es el consenso de Nakamoto. El primer caso y más exitoso.

Sin embargo, hay ganancias y pérdidas. Como el primer protocolo de consenso capaz de implementar una red abierta, el Consenso de Satoshi adolece de un bajo rendimiento: el rendimiento solo puede ser de unas pocas transacciones por segundo, y la confirmación de la transacción debe esperar docenas de minutos o incluso horas. La visión de Bitcoin es que cada computadora personal se convierta en un nodo para lograr la descentralización. Pero el advenimiento de mineros dedicados y grupos mineros ha hecho que las redes Bitcoin y Ethereum ya no estén descentralizadas. Según las estadísticas, los nueve grupos mineros en la red de Bitcoin representan el 99% del poder de cómputo. ¿Se puede decir que está descentralizado?

Por supuesto, las variantes de los protocolos Consenso de Nakomoto y Clásico han aparecido una tras otra , jugando con la base original, pero con mejoras limitadas, siendo básicamente imposible revertir las desventajas inherentes de estos protocolos.

Llegó 2018, y el protocolo de consenso ha alcanzado una nueva etapa: de la “escuela del vuelo de aves” a la “escuela de aerodinámica”.

Un equipo anónimo publicó un artículo en colaboración con un grupo de especialistas en sistemas distribuidos, describiendo la serie de protocolos de consenso “Snow”. Posteriormente, AVA Labs diseñó y lanzó el protocolo de consenso Avalanche sobre esta base, que es el primer miembro más completo y conocido de la serie de protocolos “Snow”.

Como el tercer protocolo de consenso, la serie de protocolos “Snow” tiene sus propias características únicas. En otras palabras, ya no es lo mismo que el consenso clásico, donde todos los nodos necesitan comunicarse con otros nodos. En cambio, proveyó nuevas ideas, en el protocolo “Snow” los participantes no necesitan votar globalmente, sino que seleccionan aleatoriamente un grupo de participantes como muestra y les preguntan el estado actual, i.e. saber si una transacción es válida. Más adelante, si encuentra que los resultados de la mayoría de las personas en esta muestra no son los mismos que los tuyos, modifica sus resultados para que sean consistentes con la mayoría de las personas en la muestra. Luego selecciona una muestra aleatoria y repite el mismo proceso. Todos los nodos continúan repitiendo el proceso de muestreo, modificando su estado y volviendo a muestrear hasta que todos los nodos hayan alcanzado básicamente un acuerdo o “convergencia”. Esta nueva idea es bastante simple, pero su efecto es muy poderoso.

¿Suena más abstracto? La siguiente animación puede explicar de manera más intuitiva:

Supongamos ahora que un usuario en la red envía dos transacciones contradictorias de doble gasto, algunas de las cuales han recibido transacciones A, estos nodos son nodos amarillos; los otros nodos han recibido transacciones B, que son azules. A y B son contradictorios. Para que el sistema funcione correctamente, solo puede pasar una transacción. Posteriormente, cada nodo selecciona aleatoriamente un grupo de otros nodos para preguntar. Si la mayoría de la muestra es diferente de su propio color, modifica su color para que sean consistentes con la mayoría. Elije y modifica constantemente sus propios colores… Después de docenas o incluso cientos de muestras, toda la red se vuelve mágicamente azul.

En casos extremos, la mitad de los nodos reciben la transacción A y la mitad de la transacción B. La red requiere cientos de muestras para llegar a un consenso. En el documento de AVA, se muestra que alrededor de 17 repeticiones pueden llegar a un consenso. En general, tales condiciones extremas no ocurren, por lo que las transacciones pueden confirmarse en unas pocas rondas, es decir, en 1–2 segundos.

La serie de cálculos de consenso “Snow” es muy ligera. Requiere muy poco ancho de banda, e incluso un teléfono celular puede ejecutar un nodo ligero que puede verificar completamente la red. Por lo tanto, la serie de consenso “Snow” es muy respetuosa con el medio ambiente. Es diferente al consenso de Nakamoto, que requiere que se guarde toda la cadena de bloques y todos los datos. Un nodo solo necesita guardar el conjunto de transacciones más reciente o el bloque más reciente, por lo que los requisitos de almacenamiento son muy bajos.

El protocolo se demostró detalladamente en el documento de AVA Labs, que incluye no solo el rendimiento sino también las garantías de seguridad. Bitcoin solo puede garantizar el 51% de seguridad, y el consenso clásico tradicional solo puede garantizar el 33.33% de seguridad. La serie de consenso “Snow” puede garantizar más del 51% mediante el ajuste de parámetros.

Al final, la serie de protocolos “Snow” puede combinar las ventajas tanto del protocolo de consenso clásico como del protocolo de consenso Nakamoto: puede tener un rendimiento suficientemente robusto, el rendimiento puede alcanzar miles al mismo tiempo, rápida finalidad y suficiente descentralización. Permitir que miles de nodos se unan a la red hace que el protocolo “Snow” sea la mejor opción para protocolos de consenso en un entorno abierto y sin licencia.

El consenso de Avalanche es casi perfecto. AVA Labs ha desarrollado la plataforma blockchain AVA basada en Avalanche. La red de prueba se lanzará pronto. ¿Qué efecto puede lograr? Todos estamos a la expectativa.

--

--

AVA Labs Español
Avalanche en español

Difusión de noticias e información sobre @avalabs en español