-
Los filtros Bloom son la herramienta clave de la técnica de Xthin.
-
Esta técnica mejora la cantidad de información que se transmite entre los nodos de la red Bitcoin.
La saga de Xthin Blocks ha superado la mitad de sus 5 entregas y en esta ocasión se presentan los resultados obtenidos con respecto al tamaño de los bloques que se propagan en la red de Bitcoin. Al emplear los filtros Bloom, Xthin reduce de forma significativa la cantidad de información que contienen los bloques, evitando que se propague información repetida e innecesaria entre los nodos de la red.
En las anteriores entregas publicadas en el perfil de Medium de Peter Rizun, se explica con detalle el funcionamiento de Xtreme Thinblocks (abreviado Xthin), la metodología empleada para llevar a cabo las pruebas con nodos que ejecutan el cliente Bitcoin Unlimited y análisis de resultados en cuanto al tiempo de propagación de los bloques en la red y los efectos del gran cortafuegos de China.
En esta cuarta parte se presentan y analizan los resultados concernientes a la compresión de los bloques de Bitcoin en el proceso de la propagación, comparando el desempeño del método tradicional con la opción de Xthin. Esta técnica, que usa los filtros Bloom para reducir la cantidad de información, logra disminuir el tamaño de los bloques en una proporción de 24 veces menos al tamaño tope (1Mb).
Acorde a los datos registrados en las pruebas, los efectos del gran cortafuegos de China no inciden de manera significativa en la compresión de los bloques, garantizando de esta manera que Xthin logra reducir el tamaño de los bloques propagados tanto dentro como fuera de China. Utilizando bloques entre 900 kb y 1 Mb, Xthin logra reducirlos hasta 41,3 kb en los nodos fuera de China y 42,6 kb en aquellos ubicados dentro del país asiático.
La siguiente tabla muestra de forma ordenada los indicadores estadísticos de Media (mean), Mediana (median) y el percentil de 95%.
El uso de los filtros Bloom
Los filtros Bloom son la herramienta clave de la técnica de Xthin para reducir la cantidad de información a propagar en los bloques de la red Bitcoin. Básicamente, estos filtros hacen que el nodo emisor conozca la información sobre transacciones que el nodo receptor posee, transmitiendo así la información completa de las transacciones desconocidas y tan solo un hash para las conocidas por el nodo receptor.
Según los resultados obtenidos luego de varios bloques propagados entre los nodos que ejecutan Xthin, con el tiempo los nodos receptores ya conocían la mayor parte de la información contenida en los bloques se estaban propagando, con excepción del parametro coinbase de cada bloque. Esto indudablemente reduce los tiempos de propagación de forma muy significativa, tal como ya se analizó en la segunda parte de esta saga.
Además de la información concerniente a las transacciones, los bloques propagados por los nodos Xthin también contienen los filtros Bloom. Sin embargo, los experimentos realizados por el equipo de Bitcoin Unlimited han demostrado que la inclusión de los filtros no altera de forma significativa el tamaño de los bloques a propagar. La siguiente gráfica nos permite visualizar mejor tal comportamiento:
En más de la mitad de los casos (un 53%), el nodo de recepción era consciente de todas las transacciones en el bloque; por lo que todo el bloque se comunicaba mediante los hashes de las transacciones y el filtro Bloom no era utilizado. Un 17% del tiempo al nodo receptor le faltaba una sola transacción, 9% de las veces faltaban 2 transacciones y así sucesivamente, como se muestra en la gráfica de función de densidad de probabilidad (PDF, por sus siglas en inglés) a continuación. En total, se requiere el uso del filtro Bloom para evitar una segunda ronda necesaria el 47% del tiempo.
En conclusión, el uso de los filtros Bloom en la técnica de Xthin agrega una excelente mejora en la cantidad de información que se transmite entre los nodos de la red Bitcoin, disminuyendo así el tamaño de los bloques en el proceso de propagación y por ende también el tiempo en que dichos bloques tardan en propagarse.
De esta forma concluyen los análisis de resultados obtenidos con los experimentos realizados con la técnica de Xthin en los nodos de Bitcoin Unlimited ubicados dentro y fuera de China. En la quinta y última entrega de esta saga, se presentarán recomendaciones de cómo Xthin se puede implementar de forma segura en los nodos para mejorar el desempeño de la red Bitcoin.