¿Qué es el sharding en blockchain y cómo funciona?

Este artículo está disponible en los siguientes idiomas:

Author logo
Patrick Dike-Ndulue
Post image

Ideas clave

El sharding es una técnica de escalado de bases de datos que divide una blockchain en segmentos más pequeños llamados shards, permitiendo procesar transacciones en paralelo y aumentar el rendimiento de la red. Aunque este enfoque puede mejorar notablemente la escalabilidad y eficiencia, también presenta desafíos como la comunicación compleja entre shards y mayores riesgos de seguridad, ya que cada shard es más vulnerable a ataques. Redes como Zilliqa, NEAR y Ethereum están explorando el sharding, que, si supera sus inconvenientes, podría ayudar a resolver la trilema de la blockchain al permitir escalar sin sacrificar descentralización ni seguridad.

Uno de los desafíos más importantes para los desarrolladores de bases de datos es la escalabilidad. A medida que crecen los volúmenes de datos y la cantidad de operaciones, el rendimiento del sistema también debe mejorar.

El sharding es una tecnología de escalado de bases de datos que consiste en dividir la base de datos en segmentos independientes, cada uno de los cuales puede alojarse en un servidor diferente.

Si aplicamos esta tecnología a la blockchain, el sharding representa la división de la red en sectores independientes. Cada sector, o shard, contiene un conjunto único de contratos inteligentes y saldos de cuentas, y a cada shard se le asignan nodos específicos de la red. 

These nodes are responsible for verifying transactions only in their assigned shard rather than for all transactions on the blockchain.

¿Qué problemas resuelve el sharding?

Cuanto más popular se vuelve un proyecto, más usuarios atrae. Estos usuarios realizan más transacciones, lanzan más DApps y ejecutan más procesos en la red. Como resultado, la velocidad de las transacciones disminuye y las comisiones aumentan, lo que dificulta la expansión y el desarrollo futuro del proyecto. Dividir la red en shards permite resolver este problema al aumentar la capacidad de procesamiento de la blockchain.

Cuando un grupo de nodos es responsable de un segmento específico del libro mayor, todos los nodos de la red se liberan del requisito de mantener toda la blockchain para cada transacción. Las operaciones se validan en paralelo en lugar de linealmente, lo que incrementa el rendimiento de la red y elimina el problema de escalabilidad.

Además, los nodos de blockchain que usan sharding trabajan de manera más eficiente sin aumentar la potencia de cómputo, gracias a la reducción de carga.

Cómo funciona

Las blockchains requieren el trabajo de miles de computadoras para funcionar, y su potencia de cómputo permite que los libros contables distribuidos realicen transacciones, ejecuten contratos inteligentes, desplieguen DApps y más. Si la red opera bajo una ejecución secuencial, cada nodo debe procesar cada transacción. Por lo tanto, la verificación de las operaciones toma mucho tiempo. Ethereum, por ejemplo, procesa hasta 10 transacciones por segundo.

Si se agregan nodos a la blockchain, su rendimiento no aumentará. Lo único que sucederá es que la cadena de verificación será más larga.

El principio del sharding consiste en abandonar el modelo de ejecución lineal en favor de uno paralelo, en el que los shards solo realizan ciertos cálculos y procesan muchas transacciones simultáneamente. Son una especie de “blockchain dentro de una blockchain”, que transfieren toda su información a la cadena principal, aunque en formato comprimido.

Desventajas del sharding

Existen dos problemas clave en el sharding: la comunicación entre shards y la seguridad. 

  1. Communication. Si divides la red en sectores aislados, cada uno se convierte en una blockchain separada. Los usuarios y aplicaciones descentralizadas en un shard solo podrán comunicarse con otros usuarios y aplicaciones en otro shard mediante un protocolo de comunicación específico.
     
  2. Security. En una red con sharding, es mucho más fácil tomar el control total de un shard que de toda la red sin sharding, ya que la tasa de hash requerida es mucho menor. Por ejemplo, un ataque del 51% a la red de Bitcoin requeriría miles de millones de dólares en hardware y cientos de millones diarios en electricidad. Es costoso, poco rentable e inviable. Sin embargo, capturar un solo shard es mucho más económico y sencillo.

El sharding no es una solución perfecta. Trae consigo complejidades y preocupaciones de seguridad. Los hackers podrían explotar un shard dentro de una blockchain segmentada, ya que se necesita menos potencia de cómputo para controlar secciones individuales. Esto podría permitir transacciones maliciosas que afecten a toda la red.

Además, debido a que diferentes grupos de nodos gestionan distintos segmentos de la blockchain, cada shard opera esencialmente como una red separada. Se requieren mecanismos especiales para permitir una comunicación fluida entre estos segmentos.

Una implementación incorrecta puede provocar problemas como el doble gasto, que afecta gravemente la seguridad de la red. El sharding también es difícil de implementar en blockchains existentes, ya que implica dividir la red y reasignar los datos.

Ethereum ofrece una solución a este problema utilizando muestreo aleatorio. Los protocolos de los shards se asignan aleatoriamente a diferentes secciones para confirmar la autenticidad de los bloques. Esto fue posible gracias al cambio de la red al método de consenso proof-of-stake.

Redes que ya implementan sharding

La primera red en introducir el sharding fue Zilliqa. Se presenta como una plataforma blockchain que busca resolver los problemas de escalabilidad mediante el sharding. En la etapa de testnet, logró 2,828 transacciones por segundo.

El ecosistema blockchain de NEAR se define como una blockchain PoS con sharding y afirma que su tecnología permite nodos lo suficientemente pequeños como para funcionar en dispositivos de bajo rendimiento.

Ethereum también planea implementar la tecnología de sharding. Otras redes con sharding incluyen Cardano, QuarkChain y Plian.

Conclusión

En teoría, la tecnología de sharding podría finalmente resolver la trilema de la blockchain si logra superar sus debilidades. Si lo consigue, será posible escalar las blockchains sin sacrificar la descentralización ni la seguridad.
 

Author logo
Autor Patrick Dike-Ndulue

Senior editor covering crypto, onchain equities, and technology.

Author logo
Revisado por Rukkayah Jigam

Writer & editor covering digital assets and product updates.