Tecnología

¿Qué es el sharding en criptomonedas?

Publicado hace

1. Qué es el sharding?

El sharding es un método para separar y almacenar un único conjunto lógico de datos en forma de múltiples bases de datos. Otra definición de sharding es la partición horizontal de datos.

2. ¿Cuándo y quién inventó el sharding?

El concepto de sharding se utiliza en la gestión de bases de datos centralizadas tradicionales desde finales de los años 90. El término «shard» (fragmento) cobró fuerza gracias a uno de los primeros juegos de rol multijugador en línea, Ultima Online, en el que los desarrolladores distribuyeron a los jugadores en diferentes servidores (diferentes «mundos» en el juego) para gestionar el tráfico.

Un escenario de aplicación popular para el sharding en las empresas es dividir la base de datos de usuarios en ubicaciones geográficas. Los usuarios que pertenecen a la misma ubicación geográfica se combinan en un grupo y se alojan en un único servidor.

3. ¿Qué es el sharding en el contexto de la cadena de bloques?

Una cadena de bloques es una base de datos con nodos que representan servidores individuales. En el contexto de la cadena de bloques, el sharding se refiere a la división de la red de la cadena de bloques en segmentos individuales (fragmentos). Cada fragmento contiene un conjunto único de contratos inteligentes y saldos de cuentas.

A cada fragmento se le asigna un nodo que verifica las transacciones y operaciones, a diferencia de un esquema en el que cada nodo es responsable de verificar cada transacción en toda la red.

Dividir la cadena de bloques en segmentos más manejables aumenta el rendimiento de las transacciones y, por tanto, resuelve el problema de escalabilidad al que se enfrentan la mayoría de las cadenas de bloques modernas.

4. ¿Cómo funciona el sharding?

Una explicación utilizando Ethereum como ejemplo:

La cadena de bloques de Ethereum está formada por miles de ordenadores o nodos, cada uno de los cuales «presta» una determinada cantidad de hashrate a la red. Este hashrate es el que permite el funcionamiento de la máquina virtual de Ethereum (EVM), para ejecutar contratos inteligentes y gestionar aplicaciones descentralizadas (DApps).

Actualmente, Ethereum funciona en base a una ejecución secuencial, en la que cada uno de los nodos debe calcular cada transacción y procesarla. Por lo tanto, una transacción tarda un tiempo considerable en pasar por el proceso de verificación: Ethereum realiza aproximadamente 10 transacciones por segundo, mientras que Visa, por ejemplo, tiene la cifra en torno a 24.000.

Añadir ordenadores a la red no aumenta necesariamente la eficiencia, ya que todo el registro se almacena en cada dispositivo, y la cadena de verificación simplemente se alarga.

La idea que subyace a el sharding es abandonar el modelo en el que cada nodo tiene que computar todas las operaciones, en favor de un modelo de ejecución en paralelo en el que los nodos sólo procesan determinados cálculos. Esto permite procesar múltiples transacciones en paralelo.

La cadena de bloques se divide en fragmentos separados (subdominios o segmentos). Los nodos sólo gestionan la parte del registro a la que están adscritos (ejecutando procesos y confirmando transacciones), en lugar de soportar todo el registro.

5. ¿Qué problemas resuelve el sharding?

El sharding es una solución potencial al problema de la escala.

Cuanto más popular se hace el blockchain, más usuarios inician transacciones, lanzan aplicaciones descentralizadas y otros procesos en la red. Como resultado, la velocidad de las transacciones disminuye, impidiendo que la cadena de bloques se amplíe a largo plazo. El aumento de la actividad de las transacciones requiere que los nodos intensifiquen el proceso de verificación de las mismas. Existe el peligro de que estas blockchains se «atasquen», como ocurrió con Ethereum durante el boom de CryptoKitties, cuando el juego representó el 11% de las transacciones de la red.

Si los grupos de nodos son responsables de segmentos individuales, entonces cada nodo no necesita mantener un registro completo para realizar cada transacción. Así, las transacciones pueden validarse en paralelo y no de forma lineal, lo que aumenta la velocidad de la red. De este modo, se resuelve el problema de la escala.

6. ¿Cuáles son las desventajas de el sharding?

Los principales problemas de el sharding son la comunicación y la seguridad. Si la cadena de bloques se divide en segmentos aislados, cada fragmento se convierte en una red independiente. Los usuarios y aplicaciones de un subdominio no podrán comunicarse con los usuarios y aplicaciones de otro subdominio sin utilizar un mecanismo de comunicación específico.

Un blockchain segmentado también plantea un problema de seguridad porque es más fácil para los hackers secuestrar un solo fragmento, debido a la menor tasa de hash requerida para controlar segmentos individuales (el llamado ataque del 1%).

Una vez que un segmento ha sido secuestrado, los atacantes pueden canalizar las transacciones no válidas en la red principal. Además, los datos de ese segmento concreto pueden dejar de ser válidos y perderse irremediablemente. Ethereum ofrece una solución en forma de muestreo aleatorio: los protocolos de los fragmentos se asignan al azar a diferentes secciones para confirmar la autenticación de los bloques.

7. ¿Cuáles son las alternativas a el sharding?

Los desarrolladores han propuesto dos soluciones para mejorar el rendimiento y la velocidad de las transacciones de blockchain.

La primera solución es aumentar el tamaño de los bloques. La idea clave es que cuanto mayor sea el tamaño del bloque, más transacciones se pueden colocar en él y, por tanto, mayor será el número de transacciones por segundo.

Sin embargo, cuanto más grande sea el bloque, mayor será la capacidad de procesamiento necesaria para verificarlo. Si el tamaño de los bloques aumenta considerablemente, sólo los ordenadores más potentes podrán gestionar la potencia de cálculo necesaria para funcionar como nodos.

El elevado coste de este tipo de hardware informático significa que los grupos de nodos serán inevitablemente más pequeños y estarán más centralizados, lo que aumentará el riesgo de un ataque del 51%. Aumentar el tamaño de los bloques también requiere un hardforward, que amenaza con dividir a la comunidad: si no todos los usuarios aceptan la actualización, surgirán dos circuitos diferentes que utilizarán monedas distintas. Aumentar el tamaño del bloque no puede ser una solución a largo plazo.

La segunda sugerencia es utilizar altcoins para que las diferentes funciones y aplicaciones se implementen en sus propias redes con sus propias monedas.

Este modelo mejoraría el rendimiento, ya que no se sobrecargaría una sola blockchain, pero también aumentaría los riesgos de seguridad, ya que la capacidad de procesamiento se repartiría entre varias blockchains. De nuevo, el riesgo de que la red se vea comprometida también aumentaría porque la potencia de cálculo necesaria para ejecutar un ataque del 51% sería mucho menor.

8. ¿Quién utiliza el sharding?

Zilliqa es la primera plataforma que implementa el sharding. En el banco de pruebas, ha logrado alcanzar 2.828 transacciones por segundo.

El ecosistema Near blockchain permite a los desarrolladores crear y aplicar aplicaciones descentralizadas. Near se autodenomina «blockchain fragmentada en PoS» y afirma que su tecnología de fragmentación permite que los nodos sean lo suficientemente pequeños como para funcionar en dispositivos de bajo rendimiento, incluso en teléfonos móviles.

Ethereum ofrece un ecosistema de blockchain para el despliegue de DApps basadas en contratos inteligentes. La Fundación Ethereum tiene previsto incluir el sharding en una versión actualizada del protocolo Ethereum 2.0.

Otros proyectos que trabajan con sharding son Cardano, QuarkChain y PChain.

9. ¿Cuál es el futuro de el sharding?

La tecnología Sharding aparece en el libro blanco de la moneda digital Libra. Antes del lanzamiento, Facebook ha adquirido Chainspace, cuyo equipo de desarrollo está especializado en sharding. Todavía no se conocen los detalles concretos, pero cabe suponer que se introducirá una forma de fragmentación en la blockchain de Libra.

El sharding podría ser, en teoría, una solución al llamado trilema de la cadena de bloques.

El trilema de la cadena de bloques, como explicó Vitalik Buterin, es que sólo dos de las tres características clave de la cadena de bloques -seguridad, descentralización y escalabilidad- pueden preservarse simultáneamente. Si se superan los retos de el sharding, será posible escalar las redes distribuidas sin sacrificar la descentralización o la seguridad.

Trader de criptomonedas y mercados de capitales tradicionales. Miembro del Programa de Becarios Profesionales del Departamento de Estado de los Estados Unidos. Es analista financiero colegiado y miembro de pleno derecho del CFA Institute y de la CFA Society. Licenciado en finanzas Universidad de Europea (Madrid).

Pulse para comentar

Debe iniciar sesión para enviar un comentario Login

Dejar una respuesta

Artículos de actualidad

© 2011-2024 Freedomfinance.es, Redactor Jefe: Gaspar Montero (España).