El bloque
Los bloques de criptomonedas son paquetes llenos de transacciones. Estas transacciones tienen entradas y salidas donde la cantidad de moneda de entrada debe ser igual a la salida, excepto cuando se prevea la creación de monedas para inversores, desarrolladores y/o mineros. Esta estructura forma un libro mayor llamado libro mayor que muestra el historial de transacciones desde el comienzo de la red.
Un nodo que quiere extraer un bloque debe montarlo a través de un almacenamiento compartido de transacciones llamado mempool, generalmente eligiendo las transacciones que pagan las mejores tarifas. Este bloque se usa junto con un incremento para ensamblar un número a través de un método llamado función hash.
Finalmente, los nodos compiten para ser los primeros en encontrar un hash más pequeño que un objetivo específico. El ganador distribuye su bloque válido por la red y se lleva las ganancias de la minería. Tan pronto como finaliza un concurso, el nuevo bloque ingresa a la cadena de bloques y comienza nuevamente un concurso, formando un ciclo.
Limitaciones
La red Bitcoin tiene límites conocidos. Un bloque tarda una media de 10 minutos en entrar en la cadena de bloques, llegando a las 4000 transacciones, lo que lleva a un valor máximo aproximado de 6,67 transacciones por segundo.
Las bifurcaciones y redes basadas en Bitcoin traen cambios como el tamaño del bloque y el tiempo de procesamiento del bloque para maximizar la escalabilidad. Como ejemplo tenemos Bitcoin Cash que tiene un tamaño de bloque de 8 MB y un tamaño de transacción promedio de 480 bytes, lo que revela una tasa máxima aproximada de 56 transacciones por segundo.
Otras variaciones intentan estrategias similares, pero no se acercan a las 65.000 transacciones por segundo del gigante de pagos VISA. Hoy en día las criptos que alcanzan tasas muy altas utilizan otras formas de consenso, como la Prueba de Participación, que está ganando mucha popularidad con la criptomoneda EOS, pero hay muchas dudas sobre su seguridad, y no cuentan con la validación experimental masiva que bitcoin lo hace. dio a la Prueba de trabajo.
Las monedas que usan prueba de trabajo no aumentan el tamaño de bloque mucho más allá de los 8 MB y no reducen el tiempo de entrada de bloque promedio tanto como pueden ocurrir las bifurcaciones de blockchain.
Las bifurcaciones ocurren cuando dos nodos generan un bloque válido en el concurso casi simultáneamente, ambos lo transmiten a los nodos vecinos y la red se divide según el bloque que los nodos reciben primero. Estos fenómenos ocurren con cierta frecuencia pero, afortunadamente, existen algoritmos para decidir qué libro mayor se continuará, sin necesidad de intervención.
Christian Decker y Roger Wattenhofer modelaron la probabilidad de que ocurran bifurcaciones en la cadena de bloques de bitcoin. Esta probabilidad está directamente relacionada con el tamaño del bloque y el tiempo promedio para cerrar un concurso.
Si una cadena de bloques tiene bloques muy grandes y un tiempo medio de licitación muy bajo, la red genera bifurcaciones más rápido de lo que las maneja, estando dividida en todo momento en varias cadenas laterales con su propio libro mayor.
Tampoco es ideal que la tasa de horquilla esté cerca de la tasa de tratamiento. Las bifurcaciones pequeñas pueden ser casi inofensivas, pero el problema se vuelve relevante cuando la red se separa en bifurcaciones grandes y la cadena de bloques puede terminar creciendo por separado.
La única solución es la intervención, donde solo se seleccionará un libro mayor, los libros paralelos y sus transacciones desaparecerán como si nunca hubieran ocurrido. Las pérdidas son colosales porque mucho dinero acaba circulando en paralelo y de repente las transacciones se revierten. Evidentemente todo el dinero gastado en estas transacciones no se revierte con el blockchain y una buena parte no se recuperará.
Otra preocupación con respecto a la división de la red son los ataques del 51 %. Cuando se divide la red, también se divide la potencia de cómputo, si un grupo tiene más del 50% de la potencia de cómputo de la bifurcación, es posible realizar gastos dobles, algo que ya se hacía incluso en la blockchain de bitcoin cuando había fue una gran división en cadenas laterales debido a problemas de actualización de versión.
Por lo tanto, los problemas de estabilidad y seguridad hacen que sea impracticable cambiar simplemente el tiempo de entrada del bloque o su tamaño. La red no se acercaría a realizar las 65.000 transacciones por segundo de VISA sin romperse, e incluso si fuera suficiente para aumentar la velocidad de la cadena de bloques dos o tres veces, la propagación de bloques en la red será proporcionalmente peor, con solo un intercambio tomando lugar entre la velocidad y la seguridad.
Para aumentar la escalabilidad a valores muy altos se requiere más que equilibrar variables. Es necesario revisar todos los procesos de la red para encontrar desperdicios de poder computacional y reevaluar la necesidad de algunos pasos.