¿Qué es sharding en crypto?

Sharding

¿Qué es sharding en crypto?

Sharding es un concepto que mejora la escalabilidad de las blockchains, al dividir el proceso de grandes blockchains en partes más pequeñas (shards). En esencia, mediante shards, los datos se distribuyen en paralelo, lo que permite que se procesen simultáneamente. Esto se realiza a través de múltiples cadenas paralelas que procesan cada una su propio conjunto de datos (subred). Este enfoque permite mayor escalabilidad, mayor capacidad de procesamiento y más transacciones por segundo (TPS).

Los shards resuelven un problema fundamental: cada nodo debe registrar y procesar todas las transacciones, lo cual genera una alta carga y limita la escalabilidad de la red. En su lugar, los shards hacen la mayor parte del trabajo antes de que los datos sean enviados a los nodos para ser agregados a la blockchain.

Los shards funcionan sin el uso de sistemas centralizados (como procesadores de datos centralizados) ni soluciones off-chain, lo que permite que la red continúe operando de forma completamente descentralizada.

Sharding es una solución de Layer-1, también conocida como capa 1. Las blockchains suelen componerse de la cadena principal (mainnet), la Layer 1 y la Layer 2. El mainnet y la Layer 1 son inseparables. Layer 1 es la base técnica de una blockchain, y el mainnet es su ejecución activa. Todas las transacciones reales ocurren en el mainnet, y cualquier modificación en la Layer 1 impacta directamente en su funcionamiento.

Ejemplo: Es como una casa. La Layer 1 es la cimentación y la estructura: paredes, tuberías y electricidad. El mainnet es cuando ya vives en la casa y todo realmente funciona. Si haces cambios en la base, como una ampliación o un nuevo baño, esto impacta en la forma en que habitas la casa. Sharding actúa de la misma manera en una blockchain: si el hogar crece demasiado y se congestiona, puedes dividirlo en habitaciones organizadas, cada una con sus propios servicios. Eso es lo que hace el sharding en una blockchain: divide la red en partes más pequeñas (shards), para que las transacciones se procesen en paralelo sin colapsar el sistema.


Puntos clave

  • Sharding divide una blockchain en ‘shards’ que trabajan en paralelo, permitiendo el procesamiento simultáneo de transacciones. Esto aumenta significativamente la velocidad de transacción (TPS).

  • Los nodos solo deben procesar una parte de la blockchain en lugar del conjunto completo. Esto mejora la eficiencia y reduce los requisitos de hardware.

  • La coordinación de transacciones entre shards requiere protocolos complejos. Además, shards más pequeños son más vulnerables a ataques como el 51%-attack.

  • Como solución Layer-1, el sharding opera dentro de la blockchain misma sin comprometer la descentralización ni la seguridad.


¿Cómo funciona el sharding?

El sharding en crypto funciona dividiendo la blockchain en diferentes procesadores de datos (shards) que operan en paralelo. Gracias al procesamiento paralelo, se puede manejar más información al mismo tiempo, lo cual mejora la velocidad de procesamiento de transacciones, medida en transacciones por segundo (TPS).

Cada shard contiene su propio subconjunto de datos y smart contracts. Los validadores o nodos dentro de un shard son responsables de procesar transacciones y mantener el estado de la blockchain, también conocido como "state".

El funcionamiento de los shards es supervisado por mecanismos de coordinación. Estos supervisan cómo colaboran los shards entre sí y facilitan el intercambio de información entre ellos. Esto evita gastos dobles o conflictos, y permite procesar transacciones en paralelo en lugar de forma lineal como en blockchains tradicionales.

No todas las blockchains utilizan el mismo sistema de sharding. Por ejemplo, Ethereum 2.0 (donde aún no se ha implementado sharding) usa una Beacon Chain que coordina los shards y mantiene el consenso. Polkadot utiliza un sistema similar, la Relay Chain, que coordina y gestiona las parachains.

Existen otras blockchains que experimentan con modelos de sharding alternativos, como estructuras más autónomas donde los shards operan de forma independiente con mínima coordinación central.

Por tanto, existen distintos modelos, cada uno con su propia implementación. Sin embargo, todos persiguen los mismos objetivos:

  • Evitar gastos dobles

  • Mantener el estado del libro mayor digital

  • Coordinar correctamente las transacciones entre shards

Estructura de los shards

Cada shard opera de forma independiente, lo que significa que es responsable de tareas específicas, como asegurar una correcta transferencia de datos hacia otros shards y hacia el resto de la blockchain. Cada shard:

  • Mantiene su propio estado, como los saldos de wallet y los datos de smart contracts

  • Recibe y procesa su propio subconjunto de datos de transacción

  • Es mantenido por un grupo de validadores o nodos asignados a dicho shard

Comunicación entre shards

Puede ocurrir que se ejecuten transacciones que involucren varios shards. Esto sucede, por ejemplo, cuando el usuario A desea enviar tokens al usuario B y sus wallets están en shards diferentes. Otro ejemplo sería cuando un smart contract necesita acceder a otro contrato alojado en un shard distinto.

Este tipo de interacción entre shards presenta desafíos técnicos, como la necesidad de procesar transacciones en varios pasos. Existen diversas soluciones, tales como:

  • Procesamiento asincrónico donde una transacción fluye entre shards en múltiples etapas.

  • Protocolos de transferencia de mensajes que permiten a los shards enviarse mensajes mediante un mecanismo de coordinación.

Técnicas de verificación y seguridad dentro del Sharding

Los shards también deben verificar datos de otros shards para asegurar su validez e integridad. Por eso se han desarrollado mecanismos que garantizan la confiabilidad del sistema. Las siguientes técnicas se aplican:

  • Fraud proof
    Un fraud proof es una prueba que demuestra que una transacción o bloque es inválido. Si un shard comete un error, otra parte puede demostrarlo con un fraud proof. Esto es común en sistemas como la distributed ledger technology (que también usan blockchains), donde se asume que todas las transacciones son válidas a menos que se demuestre lo contrario.

  • Validity proof
    Un validity proof (como un zk-SNARK o zk-STARK) es una prueba criptográfica que demuestra que un cálculo o transacción se ha realizado correctamente. Es más eficiente que los fraud proofs porque no requiere detectar un error. Los validity proofs se utilizan frecuentemente en ZK-rollups (soluciones de layer 2).

  • Data availability sampling
    Esta técnica permite a los nodos solicitar aleatoriamente partes de un bloque para verificar si los datos completos están disponibles para la red. Esto previene que un shard o rollup envíe datos incompletos que no puedan ser verificados.

¿Ethereum utiliza sharding?

Sí, Ethereum planea implementar sharding como parte de su estrategia de escalabilidad. En el momento de escribir este artículo, aún no se ha implementado. No obstante, ya se han introducido componentes como la Beacon Chain y la incorporación de blobs mediante EIP-4844, que permiten procesar datos de forma más eficiente sin almacenarlos permanentemente en la blockchain.

Con la futura implementación de danksharding, Ethereum aplicará sharding, lo que tendrá un gran impacto en su uso, ya que aumentará significativamente su escalabilidad y facilidad de uso. Sharding es parte de la hoja de ruta de Ethereum 2.0, que incluye diversas actualizaciones como la transición de Proof of Work a Proof of Stake y la introducción de rollups.

El objetivo de Ethereum 2.0 es procesar miles de transacciones por segundo sin comprometer la descentralización o seguridad. Esto debe permitir la adopción masiva por millones de usuarios alrededor del mundo, haciendo que Ethereum sea más rápido, económico y accesible.

¿Qué criptomonedas usan sharding?

Existen varias blockchains que utilizan sharding. Todas han desarrollado su propia infraestructura, lo que significa que el sharding se aplica de forma distinta en cada una. El objetivo común es mejorar la eficiencia de la red. Algunos ejemplos son:

  • Zilliqa: Una de las primeras blockchains en utilizar sharding en producción. El sistema distribuye todas las transacciones entre múltiples shards.

  • Elrond (MultiversX): Utiliza Adaptive State Sharding y afirma alcanzar velocidades de transacción muy altas.

  • NEAR Protocol: Aplica sharding dinámico, donde el número de shards se ajusta en función de la carga de la red.

¿Cuál es la diferencia entre sharding y tecnología blockchain?

La tecnología blockchain es el sistema base, mientras que sharding es una técnica que optimiza su uso al ofrecer una solución de escalabilidad. Sharding se construye sobre la blockchain, específicamente en la capa 1 (layer 1). Esta capa define el funcionamiento de la blockchain y regula el consenso, la validación de transacciones y la seguridad de la red.

Sharding respalda a la blockchain procesando datos de forma más eficiente. Alivia la carga de la blockchain procesando los datos en paralelo con otros shards. Si se elimina el sharding, un nodo tendría que validar toda la blockchain y todas las transacciones. Con sharding, solo necesita manejar una fracción de la red, lo que mejora la escalabilidad.

En otras palabras: la blockchain es la base, el sharding es una técnica de construcción que mejora la eficiencia de esa estructura.

Ventajas del sharding

Sharding ofrece varias ventajas para las redes blockchain:

  • Escalabilidad: El procesamiento paralelo aumenta la escalabilidad, lo que puede elevar significativamente el número de transacciones por segundo.

  • Eficiencia: Los nodos procesan menos datos y no tienen que revisar toda la blockchain, lo que mejora la eficiencia y reduce significativamente la carga total de la red.

  • Reducción de costes: Menor carga en la red puede traducirse en menores comisiones por transacción.

  • Accesibilidad: Como los nodos procesan menos datos, los requisitos de hardware son menores, haciendo la red más accesible para los participantes.

Desafíos del sharding

A pesar de sus ventajas, el sharding también presenta varios desafíos complejos:

  • Seguridad: Los shards más pequeños pueden ser más vulnerables a ataques, ya que cuentan con menos validadores o nodos para protegerlos. Esto hace más viable un posible 51%-attack dentro de un shard.

  • Complejidad: Diseñar un mecanismo de sharding confiable requiere protocolos avanzados para la comunicación y coordinación entre shards.

  • Comunicación entre shards: Las transacciones entre shards son técnicamente más complejas que dentro de una única cadena.

  • Disponibilidad de datos: Asegurar que los datos de otros shards estén disponibles y sean verificables es esencial para la integridad de la red, especialmente porque los nodos suelen procesar solo una parte de la blockchain.

  • Descentralización: Dividir la red en shards más pequeños puede hacer que algunos shards se vuelvan más atractivos o importantes que otros, lo que podría generar una distribución desigual de poder o participación, afectando la descentralización general de la red.

Reflexión final

Sharding ofrece una solución prometedora a uno de los mayores desafíos de la tecnología blockchain: la escalabilidad sin comprometer la descentralización o la seguridad. Al dividir la red en shards que operan en paralelo, blockchains como Ethereum podrán procesar muchas más transacciones con menor carga por nodo. Aunque la técnica aún está en desarrollo y enfrenta retos en coordinación y seguridad, el sharding representa una pieza clave para la próxima generación de redes descentralizadas. No es una solución temporal, sino un cambio estructural que puede mejorar considerablemente la escalabilidad de las blockchains.

Acerca de Finst

Finst es uno de los principales proveedores de criptomonedas en los Países Bajos y ofrece una plataforma de inversión de primera clase junto con estándares de seguridad de nivel institucional y tarifas de transacción ultra bajas. Finst está liderado por el antiguo equipo central de DEGIRO y está autorizado como proveedor de servicios de criptoactivos por la Autoridad Neerlandesa para los Mercados Financieros (AFM). Finst ofrece una gama completa de servicios cripto, incluyendo trading, custodia, pasarela fiat, y staking, tanto para inversores particulares como institucionales.

La criptoplataforma que le encantará

Estamos aquí para darle las herramientas, la inspiración y el apoyo que necesita para convertirse en un mejor inversor.