Fragmento
Uno de los procesos revisados en Bywise es la validación de bloques completos antes de la transmisión a otros nodos. Esta medida es sumamente necesaria porque un atacante puede realizar spam, generando una gran cantidad de bloques inválidos para congestionar la red.
Durante la validación cada nodo termina reteniendo la información por un tiempo, generando un retraso. Este retraso aumenta el tiempo de propagación del bloque, permitiendo que aparezca otro bloque válido y genere una bifurcación en la red, aunque sea temporal.
Este fenómeno se denomina colisión de bloques y para minimizarlo es necesario que la red propague un bloque muy rápidamente. Cuanto más corta sea la ventana de tiempo disponible para la colisión, menor será su probabilidad.
Para evitar el spam, el bloque debe validarse antes de transmitirse, pero se pueden realizar optimizaciones. La estrategia de Bywise es utilizar el mempool de la red para preprocesar las transacciones.
Debido al uso del mempool, cualquier criptomoneda ya conoce las transacciones mucho antes de que ingresen oficialmente a la cadena de bloques. Luego puede validar todas las transacciones de mempool incluso antes de tener un bloque listo. El hash del bloque sirve como identificador y, si es necesario, también puede verificar cualquier cambio.
Al almacenar solo hashes de transacciones en los bloques y usar sha-256, el bloque estará compuesto por hashes de 32 bytes. Si cada bloque tiene 10 MB entonces tenemos una tasa de 546,1 transacciones por segundo.