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
Acceso abierto
Artículo científico
2023
Nero: un algoritmo de consenso líder sin líder determinístico para criptomonedas basadas en DAG
Categoría
Ingeniería y Tecnología
Subcategoría
Ingeniería de Software
Palabras clave
Algoritmo de consenso
Criptomonedas
Latencia
Rendimiento
Escalabilidad
Basado en DAG
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 34
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.