Erlay: Un nuevo protocolo de retransmisión de transacciones Bitcoin. Erlay es un nuevo tipo de protocolo de difusión de transacciones que tiene como objetivo reducir significativamente el ancho de banda requerido para conectar nodos Bitcoin.
Según la investigación realizada por Gleb Naumenko y otros expertos en criptografía como Gregory Maxwell y Peter Wuille, Erlay podría reducir la cantidad de ancho de banda requerida para mantener los niveles actuales de conectividad entre los nodos Bitcoin en aproximadamente un 40%.
El protocolo actual y el problema de recursos
Uno de los problemas más urgentes con respecto a la conectividad de nodos de Bitcoin es el hecho de que se necesitan grandes cantidades de ancho de banda para mantener la conexión abierta con todos los demás nodos dada la naturaleza descentralizada y abierta del protocolo.
Como se describe en el resumen del documento de investigación: «La seguridad de la red Bitcoin depende de la conectividad entre los nodos. Esto significa que una mayor conectividad proporciona una mejor seguridad».
Las principales observaciones de los autores fueron:
La conectividad actual en la red Bitcoin es demasiado baja para una seguridad óptima.
Al mismo tiempo, el aumento de la conectividad aumentará sustancialmente el ancho de banda utilizado por el protocolo de difusión de transacciones.
En esencia, aumentar la conectividad entre nodos esencialmente haría prohibitivamente costoso operar un nodo Bitcoin. Otro punto clave hecho por los autores es que «la mitad del ancho de banda total necesario para operar un nodo Bitcoin se utiliza actualmente para anunciar transacciones».
Al centrarse en el proceso de difusión de transacciones, los autores recomiendan un enfoque que transmita los identificadores de transacciones de manera más eficiente, reduciendo así el número de mensajes enviados entre nodos y apoyando la transmisión de nuevas transacciones a todos los nodos al mismo tiempo.
Actualmente, los nodos comparten identificadores de transacción incluso con pares que ya se han enviado la transacción. Esto significa que hay una gran cantidad de mensajes redundantes que se comparten en la red Bitcoin.
Podría decirse que el 50% del ancho de banda requerido para ejecutar un nodo Bitcoin se usa actualmente para anunciar transacciones. Otro 45% del ancho de banda es necesario para retransmitir el cuerpo de la transacción real y solo el 5% es necesario para varios otros mensajes, como la información de encabezado de bloque, por ejemplo.
El documento de investigación de Erlay estima que el 44% de todo el tráfico entre nodos Bitcoin consiste en mensajes redundantes.
La conclusión es que hay un gran margen de mejora.
Minisketch de Erlay: una solución elegante
El protocolo Erlay reduce el número de mensajes pasados entre nodos Bitcoin usando una solución llamada «Minisketch», propuesta previamente por Naumenko, Wuille y Maxwell. Además de los ID de transacción, los nodos Bitcoin comparten «bocetos» de transacciones entre sí.
Como se explica en el foro de Bitcoin-Dev:
«La idea principal es que en lugar de anunciar cada transacción a cada par, los anuncios solo se envían directamente a través de un pequeño número de conexiones (solo ocho salientes). Más retransmisión se logra ejecutando periódicamente un protocolo de reconciliación de conjuntos sobre cada conexión entre los conjuntos de anuncios retenidos en ambas direcciones.
«El protocolo de conciliación de conjuntos utiliza códigos de corrección de errores para comunicar un conjunto de transacciones a un par con un conjunto desconocido pero similar utilizando ancho de banda sólo igual al tamaño de la diferencia y no al tamaño de los propios conjuntos.
«Resultados: ahorramos la mitad del ancho de banda que consume un nodo, lo que permite una mayor conectividad casi gratis - y, como efecto secundario, Bitcoin puede soportar mejor los ataques de sincronización».
La idea de los bocetos es tener un paquete de datos que contenga identificadores para todas las transacciones que un nodo ha aceptado (desde la última reconciliación) pero en forma compacta. Usando los bocetos, un nodo puede averiguar qué transacciones no tiene que tener sus pares. Después, solo puede solicitar las transacciones de aquellos pares que no aparecen en su boceto.
Este enfoque consume mucho menos ancho de banda que compartir todos los ID de transacción.
Si esta nueva propuesta se implementa, podríamos ver un gran incentivo para los entusiastas de Bitcoin para ejecutar nodos completos.
Disclaimer: The views and opinions expressed by the author should not be considered as financial advice. We do not give advice on financial products.