¿Mejoras que podrían hacerse en la forma en que Bitcoin propaga sus transacciones y bloques?

A partir de 2018, ¿cuáles son las mejoras conocidas que podrían realizarse en la forma en que Bitcoin propaga sus transacciones y bloques?

Alguien preguntó esto en reddit: reddit.com/r/Bitcoin/comments/9w7i95/…

Respuestas (1)

La respuesta depende en parte de lo que quiera decir con "cómo se propaga bitcoin" y "mejoras": la fibra transmite bloques muy cerca de la latencia más baja posible, pero a expensas del uso de ancho de banda adicional. No parece probable que sea posible una mejora significativamente mayor de la latencia en cuanto al protocolo, más allá de un uso más generalizado de la misma.

BIP 152 evita el desperdicio de ancho de banda, pero no logra una latencia tan baja de forma predeterminada. El uso de ancho de banda de la transmisión similar a BIP152 podría mejorarse aún más, pero las mejoras parecen un poco inútiles: ahora mismo, con BIP-152, los bloques se transfieren con un promedio de 11802 bytes cada uno... Tengo un código que lo reduce a unos 550 bytes/bloque. en promedio, a un costo considerable de la CPU. Pero, ¿a quién le importa realmente ahorrar 1,54 MB/día frente a un fondo de >>288 MB (datos de transacciones), excepto quizás para aplicaciones especializadas como la transmisión por satélite que utiliza sus propios protocolos?

Por otro lado, la retransmisión de transacciones claramente tiene margen de mejora . El enfoque existente no es muy eficiente, especialmente para nodos con muchos pares. El problema es que, para ser robusto contra los nodos de pares maliciosos, se anuncian todas las transacciones a todos los pares. Las transacciones se anuncian mediante el envío de hashes cortos en lugar de transacciones completas, pero esto aún genera una tonelada de duplicación. Efectivamente, los nodos de Bitcoin usan el ancho de banda O (peers*transactions) para la retransmisión de tx, el uso de hashes de inversión cortos solo reduce el ancho de banda en un factor constante (de 10). Hace mucho tiempo propuse usar la reconciliación de conjuntos(también descrito en la publicación del foro anterior con menos detalle) para hacer que la retransmisión de transacciones perdidas sea más eficiente sin comprometer la solidez. Gleb Naumenko, Pieter Wuille y yo pasamos gran parte del último año diseñando e implementando un protocolo práctico basado en esta idea y deberíamos tener algo pronto.

La retransmisión también se puede mejorar de formas distintas a la eficiencia del ancho de banda. Por ejemplo, ha habido varios esfuerzos recientes para mejorar la privacidad de la retransmisión de TX, incluida la agrupación de pares de salida en 0.17 y el trabajo en curso sobre la retransmisión de abanico bajo en diente de león.