Gleb Naumenko, un desarrollador de Bitcoin, anunció recientemente a través de un post en el sitio web de la Fundación Linux la llegada de Erlay, un nuevo protocolo para el envío y la propagación de transacciones.
Una de las preocupaciones que enfrentan los desarrolladores de Bitcoin es la cantidad de ancho de banda utilizado por los nodos. La cadena de bloques de Bitcoin ahora pesa más de 200 gigabytes, lo que significa que descargarla en su totalidad lleva mucho tiempo.
Por defecto, un nodo se conecta a 8 nodos y recibe información de ellos. Erlay propone aumentar este número a 32 para reducir considerablemente la cantidad de ancho de banda utilizado por cada nodo.
La idea detrás del protocolo es la siguiente: en lugar de anunciar cada transacción a cada par, los anuncios se envían directamente solo a través de un número limitado de conexiones. La comunicación adicional se lleva a cabo periódicamente gracias a un protocolo de reconciliación basado en la biblioteca de Minisketch.
Bitcoin, aquí viene el protocolo de Erlay
El resultado de este enfoque lleva a ahorrar la mitad de la banda consumida por un nodo y, como efecto secundario, una mejor resistencia a los ataques de temporización. Al aumentar el número de pares salientes a 32, el protocolo Erlay ahorra el 75% del ancho de banda en comparación con la implementación actual.
Erlay, an efficient transaction relay protocol for Bitcoin, is quite exciting for those of us running highly connected nodes. As you can see from my node's stats, the "inv" messages use up ~90% of incoming bandwidth and ~20% of outgoing bandwidth. https://t.co/LKwLq8RIis pic.twitter.com/tzDRBU8lMj
— Jameson Lopp (@lopp) 28 de mayo de 2019
Erlay presenta el concepto de “difusión” que reemplazaría la inundación, que actualmente se implementa. Del libro blanco de Erlay:
“La versión actual del protocolo de retransmisión de transacciones de Bitcoin propaga mensajes entre nodos mediante difusión, que es una variación de la inundación aleatoria. La inundación es un protocolo donde cada nodo anuncia cada transacción que recibe a cada uno de sus pares. Los anuncios pueden enviarse en los enlaces entrantes y salientes. Con la difusión, un par inyecta un retraso aleatorio antes de anunciar una transacción recibida a sus compañeros. Esto mitiga los ataques de tiempo y reduce significativamente la probabilidad de colisiones en vuelo (cuando dos nodos anuncian simultáneamente la misma transacción a través del enlace entre ellos)”.
La adopción de Erlay, por lo tanto, conduciría a mejoras en términos de rendimiento y seguridad. Su implementación aún no se ha formalizado, pero probablemente suceda pronto.