Nero: un algoritmo de consenso líder sin líder determinístico para criptomonedas basadas en DAG
Autores: Morais, Rui; Crocker, Paul; Leithardt, Valderi
Idioma: Inglés
Editor: MDPI
Año: 2023
Disponible con Suscripción Virtualpro
Artículos
Categoría
Ingeniería y Tecnología
Licencia
Atribución – Compartir igual
Consultas: 1
Citaciones: Sin citaciones
Este documento presenta la investigación realizada con el objetivo de diseñar un algoritmo de consenso para criptomonedas con menos latencia que el estado del arte actual, manteniendo un nivel de rendimiento y escalabilidad suficiente para pagos del mundo real. El resultado es Nero, un nuevo algoritmo de consenso bizantino determinista y sin líder en el modelo parcialmente síncrono que es especialmente adecuado para criptomonedas basadas en Grafos Acíclicos Dirigidos (DAG). De hecho, Nero tiene una complejidad de comunicación de O() y termina en dos retrasos de mensajes en el caso bueno (cuando hay sincronía). Se demuestra que el algoritmo es correcto, y también mostramos que puede proporcionar un orden eventual. Finalmente, se presentan algunos resultados de rendimiento basados en una implementación de prueba de concepto en el lenguaje Rust.
Descripción
Este documento presenta la investigación realizada con el objetivo de diseñar un algoritmo de consenso para criptomonedas con menos latencia que el estado del arte actual, manteniendo un nivel de rendimiento y escalabilidad suficiente para pagos del mundo real. El resultado es Nero, un nuevo algoritmo de consenso bizantino determinista y sin líder en el modelo parcialmente síncrono que es especialmente adecuado para criptomonedas basadas en Grafos Acíclicos Dirigidos (DAG). De hecho, Nero tiene una complejidad de comunicación de O() y termina en dos retrasos de mensajes en el caso bueno (cuando hay sincronía). Se demuestra que el algoritmo es correcto, y también mostramos que puede proporcionar un orden eventual. Finalmente, se presentan algunos resultados de rendimiento basados en una implementación de prueba de concepto en el lenguaje Rust.