¿Qué es el sharding en blockchain?

#34. Cryptocurrencies and Blockchain

¿Qué es el sharding en blockchain?

El término sharding o fragmentación es familiar para los administradores de bases de datos y los aficionados a MMORPG. En el contexto de las criptomonedas, el término se utiliza gracias al fundador de Ethereum, Vitalik Buterin. Vamos a ver, ¿qué es el sharding en la blockchain?

El sharding en los proyectos de blockchain

El sharding es una tecnología para distribuir la carga en una red repartiéndola uniformemente entre servidores individuales o segmentos de la red. La necesidad de esta tecnología surgió para resolver una de las limitaciones más importantes de la red Ethereum: la velocidad de procesamiento de las transacciones. Esta limitación se interpone en la escalabilidad de Ethereum, con una red capaz de procesar hasta 20 transacciones por segundo. En comparación, el sistema de pago de Visa es capaz de procesar unas 24.000 transacciones por segundo.

¿Cómo funciona el sharding?

¿Qué es el sharding en blockchain?

La tecnología original de Ethereum funciona (hasta ahora) con el protocolo Proof-of-Work y requiere que todos los nodos de la red confirmen la entrada de nueva información en un bloque. Dada la escala de la red, esto es lo que ralentiza el procesamiento de las transacciones. La fragmentación implica que la carga computacional y de almacenamiento se distribuye de forma que cada nodo procesa y almacena información sólo en su propio fragmento (shard).

¿Qué es un shard?

Una sola blockchain se divide programáticamente en varias cadenas discretas, un shard es una cadena de bloques de este tipo. Los fragmentos individuales se agregan a una blockchain común mediante una red de validadores. Este proceso puede basarse en el algoritmo Proof-of-Work o Proof-of-Stake. Desde el anuncio de la tecnología de sharding en 2017, ha habido rumores de una transición a Ethereum 2.0. La primera fase de la transición debería ser la introducción del protocolo Casper, que permitirá el uso de un protocolo híbrido PoW y PoS y la prueba de un modelo básico de sharding dentro de 64 fragmentos separados dentro de la blockchain Beacon Chain (la blockchain principal de Ethereum 2.0). 

Puntos débiles del sharding

Puntos débiles del sharding

La tecnología tiene dos problemas principales: 

  1. La seguridad. La segmentación de la blockchain hace que cada fragmento individual sea vulnerable a los hackers, que necesitan muchos menos recursos informáticos para tomar el control. Si se lleva a cabo un secuestro, los datos falsos empiezan a fluir hacia la blockchain principal y los datos del shard secuestrado pueden ser destruidos. 
  2. La comunicación. Se necesitarán soluciones de software adicionales para la comunicación entre los usuarios y las aplicaciones de los distintos shards. 

El tercer problema es la necesidad de un hardfork para implementar el sharding. Y aunque los dos primeros problemas pueden resolverse teóricamente por medios técnicos, un hardfork podría provocar una disensión dentro de la comunidad. 

El potencial del sharding

La fragmentación tiene el potencial de resolver el trilema de la blockchain articulado por Vitalik Buterin. Y es que la blockchain tiene tres características clave: seguridad, funcionamiento descentralizado y escalabilidad. Pero una blockchain sólo puede mantener dos de estas tres características a la vez. Si se puede poner en práctica la fragmentación y abordar sus puntos débiles, se puede conseguir la escalabilidad sin sacrificar la descentralización o la seguridad.