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:

NombrePrincipal del préstamoTipo de interés anualPrincipal amortizadoPlazo (años)
Álvaro Gutiérrez200.0005%40.0005
Ana Guerra250.0004,5%100.0004
Estefanía Alcántara230.0006%50.00006
Ernesto Huertas321.0007,1%60.0004
Salvador Rosales380.0006,5%80.0006
Augusto Ramos290.0006,2%70.0005
Uriel Smith310.0005,5%75.0006
Olga Casas270.0004,7%30.0005
Patricia Husillos210.0005,3%110.0004
Ignacio Mustios390.0007,5%120.0006
  • 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.
NombrePrincipal del préstamoTipo de interés anualPrincipal amortizadoPlazo (años)
Álvaro Gutiérrez200.0005%40.0005
Ana Guerra250.0004,5%100.0004
Shard 1
NombrePrincipal del préstamoTipo de interés anualPrincipal amortizadoPlazo (años)
Estefanía Alcántara230.0006%50.00006
Ernesto Huertas321.0007,1%60.0004
Shard 2
  • 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.
NombrePrincipal del préstamo
Álvaro Gutiérrez200.000
Ana Guerra250.000
Estefanía Alcántara230.000
Ernesto Huertas321.000
Salvador Rosales380.000
Augusto Ramos290.000
Uriel Smith310.000
Olga Casas270.000
Patricia Husillos210.000
Ignacio Mustios390.000

*Como curiosidad, el sharding es utilizado por la criptomoneda Ethereum.

¿Quieres referenciar este artículo?

Guillermo Westreicher , 13 de mayo, 2022
Sharding. Economipedia.com