¿Qué es este nuevo concepto que se traduce como “fragmentación”? ¿Para qué funciona? En el siguiente artículo de Satoshi Tango te explicamos todo lo que tenés que saber acerca del sharding.
Definición de sharding:
Si tenemos que otorgarle una definición a este concepto, podemos decir que un sharding es una forma de fragmentación de base de datos, también conocida como un método de fragmentación horizontal.
Dicho proceso implica una división de la gran base de datos en segmentos más pequeños y más manejables, con la idea de mejorar el rendimiento y reducir el tiempo de respuesta de la consulta.
De todos modos, hay que aclarar que el término “sharding” no es algo novedoso, sino que ya ha sido utilizado en la gestión tradicional y centralizada de bases de datos desde los años 90. El concepto comenzó a popularizarse con uno de los primeros videojuegos de rol multijugador masivo en línea, el mismísimo Ultima Online, en el que los desarrolladores agrupan a los jugadores en diferentes servidores para hacer frente al tráfico.
Sharding y Blockchain:
Con respecto al sharding y la blockchain, el proceso es exactamente el mismo. La red blockchain es la base de datos con los nodos que representan servidores de datos individuales. Si aplicamos la fragmentación a la blockchain, esto significa dividir la red de blockchain en segmentos individuales. Cada fragmento tendrá entonces un conjunto único de contratos inteligentes y saldos de cuentas.
Los nodos se asignan a fragmentos individuales para verificar las transacciones y operaciones, en lugar de que cada uno sea responsable de verificar cada transacción en toda la red.
La idea es que, al dividir la cadena de bloques en segmentos más manejables, esta deberá conducir a un mayor rendimiento de las transacciones y, por lo tanto, superar los problemas de escalabilidad que enfrentan la mayoría de las principales cadenas de bloques en la actualidad.
¿Cómo funciona el sharding?
Para entender cómo es que funciona la fragmentación, utilizaremos a la red de blockchain de Ethereum como ejemplo. Dicha cadena está compuesta por miles de computadoras que funcionan como nodos, dándole una cierta cantidad de poder de hash a la red. Por el momento, Ethereum funciona sobre una base de ejecución secuencial en la que cada uno de estos nodos tiene que calcular cada operación y procesar cada transacción.
Esto quiere decir que las operaciones que pasan por este proceso demoran una gran cantidad de tiempo. Con el proceso de fragmentación, la idea es pasar de un modelo de ejecución lineal, en el que cada nodo tiene que calcular cada operación, a un modelo de ejecución en paralelo, en el que los nodos se asignan para procesar solo ciertos cálculos. Esto permitirá el procesamiento de transacciones múltiples y paralelas al mismo tiempo.
De esta forma, el sharding es una solución potencial para los problemas de escalabilidad en el curso de la blockchain. Este es uno de las complicaciones más grandes que enfrentan este tipo de redes y es que cuanto más populares se vuelven, más usuarios inician transacciones, aplicaciones descentralizadas y demás.