Sharding
Sharding es una técnica aplicada a ciertas cadenas de bloques o blockchain. Consiste en dividir una red en partes más pequeñas denominadas shards. Esto facilita la escalabilidad y la mayor velocidad de procesamiento de operaciones.
Es decir, sharding es un sistema implementado a partir de la tecnología blockchain por el cual la red se separa en compartimentos diferenciados. Esto, en lugar de que todo forme parte de una misma red.
El sharding tiene, como habíamos mencionado, el propósito de propiciar la escalabilidad del negocio. Este concepto se refiere a la capacidad de una empresa, proyecto o sistema informático de alcanzar un crecimiento exponencial.
Asimismo, el sharding busca mejorar la velocidad del sistema. Es decir, se van a poder efectuar más operaciones o transacciones por segundo.
Para entender por qué el sharding mejora la escalabilidad y la velocidad, debemos recordar cómo funciona el blockchain.
El problema del blockchain y la solución del sharding
Blockchain es una base de datos digital donde se comparten todas las transacciones realizadas sobre algo en concreto. La información se agrupa en bloques.
Las operaciones se registran en los ordenadores de todos los que forman parte de la cadena, incluyendo datos como cantidad, fecha, operación y participantes.
Si una parte de la cadena sufre, por ejemplo, el ataque de un hacker o un malware, los participantes de la red pueden identificar qué dato ha sido modificado. Esto, ya que todos mantienen una copia de la información.
Este sistema del blockchain, que crea una red de testigos públicos, reduce el riesgo de fraude. Sin embargo, en la medida que aumenta el número de operaciones por procesar, el sistema se puede ralentizar. Esto representa un reto importante, pues los sistemas convencionales por los cuales se efectúan, por ejemplo, operaciones bancarias en línea, son más rápidos.
Para evitar que se generen estos problemas de velocidad, se diseñó el sharding.
En blockchain, cada nodo o punto de conexión debe procesar todas las operaciones que se efectúan en la red. El sharding propone solucionar esto distribuyendo la carga de trabajo de manera que cada nodo no deba procesar toda la información de la red, sino únicamente lo de una porción de esa red.
Tipos
Existen dos tipos de sharding. Para explicarlo, imaginemos que tenemos una tabla dinámica como la siguiente:
Nombre | Principal del préstamo | Tipo de interés anual | Principal amortizado | Plazo (años) | |
Álvaro Gutiérrez | 200.000 | 5% | 40.000 | 5 | |
Ana Guerra | 250.000 | 4,5% | 100.000 | 4 | |
Estefanía Alcántara | 230.000 | 6% | 50.0000 | 6 | |
Ernesto Huertas | 321.000 | 7,1% | 60.000 | 4 | |
Salvador Rosales | 380.000 | 6,5% | 80.000 | 6 | |
Augusto Ramos | 290.000 | 6,2% | 70.000 | 5 | |
Uriel Smith | 310.000 | 5,5% | 75.000 | 6 | |
Olga Casas | 270.000 | 4,7% | 30.000 | 5 | |
Patricia Husillos | 210.000 | 5,3% | 110.000 | 4 | |
Ignacio Mustios | 390.000 | 7,5% | 120.000 | 6 |
- Horizontal: Cada nuevo shard tiene información sobre las mismas variables, pero los datos son diferentes. Es decir, en el caso de créditos, cada shard contiene información sobre préstamos diferentes, como observamos debajo. También podrían agruparse en el shard los préstamos de más de dos deudores. Por ejemplo, de los primeros cinco de la tabla de arriba.
Nombre | Principal del préstamo | Tipo de interés anual | Principal amortizado | Plazo (años) | |
Álvaro Gutiérrez | 200.000 | 5% | 40.000 | 5 | |
Ana Guerra | 250.000 | 4,5% | 100.000 | 4 |
Nombre | Principal del préstamo | Tipo de interés anual | Principal amortizado | Plazo (años) | |
Estefanía Alcántara | 230.000 | 6% | 50.0000 | 6 | |
Ernesto Huertas | 321.000 | 7,1% | 60.000 | 4 |
- Vertical: Continuando con el ejemplo anterior, en este caso, un shard tendría los datos de los nombres de los deudores y el principal del préstamo. Otro shard podría contener el tipo de interés anual y el principal amortizado.
Nombre | Principal del préstamo | |
Álvaro Gutiérrez | 200.000 | |
Ana Guerra | 250.000 | |
Estefanía Alcántara | 230.000 | |
Ernesto Huertas | 321.000 | |
Salvador Rosales | 380.000 | |
Augusto Ramos | 290.000 | |
Uriel Smith | 310.000 | |
Olga Casas | 270.000 | |
Patricia Husillos | 210.000 | |
Ignacio Mustios | 390.000 |
*Como curiosidad, el sharding es utilizado por la criptomoneda Ethereum.