¿Qué es el sharding en criptografía?

10 de junio de 2022

Empezar a trabajar
La falta de escalabilidad ha sido un problema en la industria de las criptomonedas, especialmente entre las grandes redes de blockchain. Sorprendentemente, añadir más ordenadores a la red peer-to-peer degrada aún más la eficiencia de todo el sistema. Entonces, ¿qué pueden adoptar las criptomonedas para impulsar la escalabilidad y resolver los problemas de latencia?

Aunque ha habido numerosos conceptos, tecnologías y soluciones para ayudar a escalar las cadenas de bloques, la fragmentación promete ser la solución definitiva al problema de escalar las redes de cadenas de bloques. En esencia, la fragmentación es la técnica de dividir una gran base de datos de cadenas de bloques en múltiples bases de datos del mismo tipo con el objetivo de escalar la plataforma para que pueda albergar a muchos más usuarios.

Este post cubrirá exhaustivamente la fragmentación en criptografía, haciendo hincapié en cómo puede ayudar a mejorar su escalabilidad y eficiencia.

¿Qué es la fragmentación?

La fragmentación es una forma de dividir una red de cadenas de bloques en particiones más pequeñas conocidas como fragmentos. El proceso ayuda a repartir la carga de trabajo computacional y de almacenamiento en la red peer-to-peer, lo que permite a la red procesar eficazmente más transacciones por unidad de tiempo.

Normalmente, las redes de cadenas de bloques están formadas por múltiples nodos completos, en los que cada nodo registra copias de todo el historial de la cadena de bloques. Para que cualquier información se registre en un libro de contabilidad, todos los nodos de la red deben estar de acuerdo con ella. Mantener la carga transaccional de toda la red en múltiples nodos ayuda a asegurar que los datos no puedan corromperse, lo que garantiza la descentralización.

La fragmentación promete ayudar a reducir la congestión partiendo la red de manera que no todos los nodos procesen y almacenen todos los datos relacionados con las transacciones de toda la red. En cambio, esta técnica se centra en aliviar a los nodos, de modo que cada nodo (ordenador) sólo mantiene la información relacionada con su fragmento (o partición). Al liberar a los nodos de cierta carga computacional, la fragmentación ayuda a aumentar las transacciones por segundo. Lo más interesante es que la fragmentación no compromete la privacidad y la seguridad de la red.

¿Cómo funciona la fragmentación?

La fragmentación se considera una solución viable para los problemas de latencia y escalabilidad a los que se enfrentan las redes de cadenas de bloques. Sin embargo, en realidad es más difícil de lo que parece. Por ejemplo, después de particionar una red, cada fragmento debe ser capaz de conocer los datos procedentes de todos los demás fragmentos; de lo contrario, puede ser engañado, lo que puede dar lugar a graves amenazas. Entonces, ¿cómo funciona esta fascinante tecnología?

En el mundo de las criptomonedas, la fragmentación se produce cuando los nodos de la red se dividen en fragmentos, y los datos almacenados en la red se dividen para ser almacenados en las particiones en función de sus características únicas. El proceso consiste principalmente en dividir la base de datos de la red horizontalmente y asignar a cada partición una función específica. A diferencia de los nodos típicos, que almacenan toda la carga transaccional de la red, los shards almacenan datos con determinadas características o tipos específicos de información.

En particular, la fragmentación debe realizarse de forma que todos los fragmentos puedan comunicarse entre sí. Esto ayuda a mantener la seguridad y la descentralización, aspectos clave de la tecnología blockchain. La integración garantiza que los fragmentos procesen y almacenen la información que requieren sus funciones, al tiempo que ponen la información a disposición de otros fragmentos cuando la necesitan.

Precisamente, la compartición de fragmentos permite a los usuarios de la red de cadenas de bloques acceder a toda la información almacenada en la cadena de bloques, lo que significa que la división de una cadena de bloques no supone ningún cambio en el protocolo.

La fragmentación puede implementarse en las bases de datos de blockchain para reducir la carga de los nodos, permitiendo así que el sistema funcione de forma eficiente sin necesidad de aumentar el ancho de banda de la red, la potencia de cálculo y el almacenamiento.

Ventajas de la aplicación de la fragmentación

La fragmentación está diseñada para repartir la carga de trabajo de las redes y permitir que se realicen muchas transacciones paralelas simultáneamente. Estos son los beneficios que una empresa de blockchain puede obtener al implementar la fragmentación:

  • Mejora de la escalabilidad: La fragmentación no sólo permite realizar transacciones en paralelo, sino que también ayuda a garantizar que las transacciones se procesen y validen más rápidamente. La reducción del tiempo de procesamiento de las transacciones significa que las redes procesarán más transacciones cada segundo.
  • Mejor accesibilidad y participación: Con la implementación de la fragmentación, se requerirá menos hardware para ejecutar un cliente, lo que permitirá a los usuarios realizar prácticamente cualquier cosa, garantizará la accesibilidad y más personas participarán en la red.

El sharding parece útil, especialmente para los proyectos de blockchain con redes considerablemente grandes. Sin embargo, no con algunas preocupaciones.

Empezar a trabajar

Seguridad y fragmentación

Ha habido dudas sobre si la implementación de la fragmentación afectará a la seguridad de los usuarios de la cadena de bloques. Pues bien, aunque cada fragmento trabaja por separado para procesar y almacenar datos específicos de sus funciones, es necesario protegerse de la toma de fragmentos para mantener la seguridad de la cadena de bloques.

Los fragmentos pueden corromperse, lo que puede llevar a la pérdida permanente de la parte de datos asociada. Afortunadamente, la fragmentación no provoca ningún cambio en el protocolo de consenso. Dado que los fragmentos individuales utilizan el protocolo de consenso y los mecanismos utilizados en toda la red, los nodos completos de la red (no particionados) descargarán, combinarán y almacenarán la carga transaccional. De este modo, cuando se implementa la fragmentación, se pueden mantener suficientes nodos para garantizar las propiedades de seguridad del sistema y, al mismo tiempo, darle la capacidad de procesar más transacciones por segundo.

Por otro lado, el muestreo aleatorio puede ayudar a resolver el problema de los fragmentos individuales atacados. Con el muestreo aleatorio, los nodos se asignan al azar a un fragmento y se reasignan de nuevo a otros fragmentos elegidos al azar en momentos aleatorios. Este truco hace que sea difícil para un atacante predecir el fragmento que se asignará a cada nodo.

Con las medidas adecuadas, la fragmentación puede abordar la escalabilidad y seguir el ritmo de la seguridad y la descentralización de la cadena de bloques. Esto puede contribuir en gran medida a garantizar que una cadena de bloques funcione con eficacia y rapidez.

En general, se puede decir que la fragmentación es segura. Sin embargo, esto solo es cierto cuando se aplican las medidas adecuadas para evitar posibles actividades maliciosas.

¿Dónde se utiliza la fragmentación?

El sharding aún está en desarrollo, y sus desarrolladores están estudiando cómo pueden implementarlo eficazmente en las redes. Otras criptomonedas se han apresurado a adoptar la técnica y ya la han implementado en sus blockchains.

El sharding de Ethereum es posiblemente el caso de uso más destacado del sharding en el mundo de las criptomonedas. La implementación de la fragmentación en Ethereum, la segunda mayor criptomoneda, forma parte de su actualización Ethereum 2.0 y está previsto que aparezca en 2023. Cuando se implemente, la técnica proporcionará a esta criptodivisa de larga data más capacidad de almacenamiento y acceso a los datos.

Mientras Ethereum (ETH) se anticipa a mostrar el poder del sharding, algunas blockchains ya han adoptado esta impresionante técnica. Zilliqa es una de las criptomonedas verdaderamente escalables, gracias a la implementación de la fragmentación. Actualmente, despliega cuatro shards de blockchain, donde todas las transacciones son validadas por los nodos dentro de uno de sus shards. Los shards de la blockchain de Zilliqa son capaces de procesar transacciones en paralelo y la hacen constantemente más competitiva.

Polkadot (DOT) es otra red de blockchain que utiliza la técnica de fragmentación para mejorar la escalabilidad. La blockchain utiliza fragmentos heterogéneos, en los que los fragmentos están ordenados alrededor de la red principal y tienen una función de transición de estado específica para el caso de uso.

Conclusión

La fragmentación se está convirtiendo progresivamente en un tema importante de debate en torno a las criptomonedas, especialmente cuando la mejora de la escalabilidad es una preocupación importante. En esencia, la técnica consiste en dividir la base de datos de la red en partes denominadas "shards" con la intención de repartir las funciones de la red, como la carga de trabajo de cálculo y almacenamiento. Cuando se hace correctamente, la fragmentación puede ayudar a garantizar que se completen muchas más transacciones en un segundo, ya que permite el procesamiento paralelo de la información.