Avances en el Consenso Bizantino: Gorilla Sandglass
Gorilla Sandglass mejora los protocolos de consenso en entornos bizantinos con una gran seguridad y vitalidad.
― 5 minilectura
Tabla de contenidos
En términos simples, el consenso bizantino se trata de cómo un grupo de nodos (o participantes) puede ponerse de Acuerdo en un solo valor, incluso si algunos nodos están fallando o actuando en contra del interés del grupo. Esta situación refleja escenarios de la vida real donde algunas partes pueden no ser confiables. El reto es alcanzar un acuerdo confiable sin asumir que todos los participantes son honestos.
El consenso de Nakamoto, popularizado por Bitcoin, muestra que se puede llegar a un acuerdo sin necesitar permiso de ninguna autoridad central. Sin embargo, este enfoque solo ofrece un acuerdo probabilístico, lo que significa que puede no siempre funcionar.
El Problema con Enfoques Anteriores
Se han hecho varios intentos de crear protocolos de consenso mejores que funcionen bajo la amenaza de participantes maliciosos, conocidos como nodos Bizantinos. Los protocolos tradicionales dependen mucho de tiempos estrictos y a menudo requieren que el número de nodos defectuosos sea limitado. Esto crea escenarios donde el sistema puede fallar si un atacante tiene suficientes recursos o si la red es lenta.
Protocolos como Sandglass han avanzado en mejorar el acuerdo determinista (donde los resultados siempre se pueden garantizar) pero siguen siendo limitados; requieren ciertas condiciones que pueden no estar siempre presentes. Sandglass solo funciona en un entorno benigno, lo que significa que sus suposiciones sobre el comportamiento de los nodos son demasiado optimistas.
Presentando Gorilla Sandglass
Gorilla Sandglass busca mejorar los protocolos anteriores al ofrecer una forma de alcanzar un acuerdo sólido en un entorno sin permisos donde los nodos pueden unirse y salir libremente. A diferencia de protocolos anteriores que dependen de condiciones específicas sobre cómo fallan los nodos, Gorilla ofrece una solución más robusta, brindando tanto Seguridad como disponibilidad, lo que significa que puede alcanzar un consenso de manera segura mientras permite que los nodos sigan participando.
Gorilla utiliza un componente llamado Funciones de Retardo Verificables (VDFs). La función principal de un VDF es asegurar que pase un cierto tiempo antes de que se pueda generar un valor, lo que ayuda a regular cuán rápido se pueden enviar y procesar los mensajes.
Cómo Funciona Gorilla
La estructura básica de Gorilla es sencilla. El protocolo avanza en pasos. Durante cada paso, los nodos recopilan soluciones a VDFs de sus pares, construyendo sobre estas soluciones para progresar. La idea es que los nodos correctos siempre superarán a los nodos bizantinos gracias a su enfoque organizado y estructurado a la comunicación.
- Ejecución por Pasos: Cada vez que un nodo recibe suficientes mensajes válidos, pasa a la siguiente ronda.
- Cofre de Mensajes: Cada mensaje contiene mensajes anteriores para asegurar que todos los nodos correctos estén alineados en sus propuestas.
- Prioridad y Elección Aleatoria: Al enfrentar múltiples opciones, los nodos eligen según la mayor prioridad o seleccionan un valor al azar, asegurando imparcialidad y previniendo manipulaciones.
Estableciendo la Corrección
Para probar que Gorilla funciona correctamente, los investigadores mapean posibles escenarios de fallo en Gorilla a protocolos existentes como Sandglass, donde se puede asegurar la seguridad. Este método implica establecer que si un fallo pudiera ocurrir en Gorilla, también resultaría en una contradicción dentro de la seguridad probada de Sandglass.
Este mapeo funciona a través de dos fases:
- Mapeo de Ejecuciones: Cualquier escenario en Gorilla puede transformarse en un escenario equivalente en Sandglass donde se cumplen todos los requisitos de seguridad.
- Prueba de Seguridad: Al establecer que si se viola un acuerdo en Gorilla, también se violaría un acuerdo en Sandglass, concluimos que Gorilla debe, de hecho, mantener su acuerdo.
Limitaciones de Gorilla
Aunque Gorilla muestra que es posible lograr un acuerdo determinista en entornos bizantinos, también tiene limitaciones. Requiere un gran número de rondas de comunicación, lo que puede llevar a impracticabilidad en aplicaciones del mundo real. La cantidad de mensajes intercambiados puede crecer exponencialmente, dificultando su aplicación en escenarios que requieren toma de decisiones rápida.
Explorando Direcciones Futuras
El éxito de Gorilla plantea nuevas preguntas sobre lo que viene a continuación. ¿Podemos construir sobre su marco para crear un protocolo más eficiente? El objetivo sería mantener las sólidas garantías de seguridad de Gorilla mientras se reduce la sobrecarga y complejidad asociada con muchas rondas de comunicación.
Conclusión
Gorilla Sandglass se presenta como un avance significativo en el campo de los protocolos de consenso, ofreciendo seguridad determinista y disponibilidad en un entorno sin permisos. Aunque reconoce los desafíos de los fallos bizantinos, también abre puertas a más investigación y exploración destinada a crear soluciones prácticas aplicables a escenarios del mundo real. El futuro del consenso bizantino se ve prometedor, con Gorilla allanando el camino para protocolos más efectivos y eficientes.
Título: Gorilla: Safe Permissionless Byzantine Consensus
Resumen: Nakamoto's consensus protocol works in a permissionless model and tolerates Byzantine failures, but only offers probabilistic agreement. Recently, the Sandglass protocol has shown such weaker guarantees are not a necessary consequence of a permissionless model; yet, Sandglass only tolerates benign failures, and operates in an unconventional partially synchronous model. We present Gorilla Sandglass, the first Byzantine tolerant consensus protocol to guarantee, in the same synchronous model adopted by Nakamoto, deterministic agreement and termination with probability 1 in a permissionless setting. We prove the correctness of Gorilla by mapping executions that would violate agreement or termination in Gorilla to executions in Sandglass, where we know such violations are impossible. Establishing termination proves particularly interesting, as the mapping requires reasoning about infinite executions and their probabilities.
Autores: Youer Pu, Ali Farahbakhsh, Lorenzo Alvisi, Ittay Eyal
Última actualización: 2023-12-08 00:00:00
Idioma: English
Fuente URL: https://arxiv.org/abs/2308.04080
Fuente PDF: https://arxiv.org/pdf/2308.04080
Licencia: https://creativecommons.org/licenses/by/4.0/
Cambios: Este resumen se ha elaborado con la ayuda de AI y puede contener imprecisiones. Para obtener información precisa, consulte los documentos originales enlazados aquí.
Gracias a arxiv por el uso de su interoperabilidad de acceso abierto.