¿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 el procesamiento paralelo de transacciones y un mayor rendimiento de la red. Aunque este enfoque puede mejorar significativamente la escalabilidad y eficiencia, también introduce desafíos como la compleja comunicación entre shards y mayores riesgos de seguridad, ya que los shards individuales son más vulnerables a ataques. Redes como Zilliqa, NEAR y Ethereum están explorando el sharding, que, si supera sus desventajas, podría ayudar a resolver la trilema de blockchain al permitir escalabilidad 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 que consiste en dividir las bases 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 separados. 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. 

Estos 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 nodes is responsible for a particular segment of the ledger, all the nodes in the network are relieved of the requirement to maintain the entire blockchain for every transaction to be completed. 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 nodes que use sharding work more efficiently without increasing computing power due to the reduced load.

Cómo funciona

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

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

El principio del sharding consiste en abandonar el modelo de ejecución lineal en favor de uno paralelo, donde los shards solo realizan ciertos cálculos y procesan muchas transacciones al mismo tiempo. Son una especie de "blockchain dentro de una blockchain", transfiriendo toda su información a la cadena principal, aunque en formato comprimido.

Desventajas del sharding

Existen dos problemas clave en el sharding: communication between shards and security. 

  1. Communication. Si se divide la red en sectores aislados, cada uno se convierte en una blockchain separada. Los usuarios y aplicaciones descentralizadas de un shard solo podrán comunicarse con los de otro 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 barato y sencillo.

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

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

Una implementación incorrecta puede provocar problemas como el doble gasto, lo que afecta significativamente 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 propone una solución a este problema usando 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 sharding fue Zilliqa. Se presenta como una plataforma blockchain que busca resolver los problemas de escalabilidad mediante 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 que los nodos sean lo suficientemente pequeños como para ejecutarse en dispositivos de bajo rendimiento.

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

Conclusión

En teoría, el sharding puede resolver finalmente la trilema de blockchain si logra superar sus limitaciones. De ser así, sería 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.