Sharding

Definición

El sharding es una técnica de escalado horizontal, tomada de la arquitectura de bases de datos, que divide una red blockchain en unidades de procesamiento paralelas más pequeñas llamadas "shards". En lugar de que cada nodo valide todas las transacciones (el enfoque tradicional que crea cuellos de botella en el rendimiento), cada shard procesa solo un subconjunto de transacciones simultáneamente, con diferentes nodos responsables de cada shard. Esto permite que el rendimiento escale linealmente: duplicar el número de shards prácticamente duplica la capacidad de transacciones. Aplicado a blockchain, el sharding resuelve el "trilema de la escalabilidad" al aumentar el rendimiento sin sacrificar la seguridad ni la descentralización. La actualización de sharding de Ethereum, planificada desde hace tiempo (ahora evolucionada a "danksharding", que se centra en la disponibilidad de datos), y Nightshade de NEAR Protocol representan importantes implementaciones de sharding en blockchain.

Origen e Historia

FechaEventos
Años 1990El concepto de fragmentación se desarrolló para sistemas de gestión de bases de datos (Oracle, MySQL).
2014Vitalik Buterin Se analiza la fragmentación de la cadena de bloques en las primeras investigaciones sobre Ethereum.
2018Se formaliza la hoja de ruta de fragmentación de Ethereum; se identifica el requisito previo de PoS.
2019El protocolo NEAR diseña la fragmentación Nightshade como arquitectura central.
2020La red principal de NEAR se lanza con la fragmentación integrada desde su origen.
2020Lanzamiento de Ethereum Beacon Chain; comienza la fase 0 de la hoja de ruta de Ethereum 2.0.
2022Ethereum Merge se completa; el plan original de cadenas de fragmentos (anteriormente Fase 1) evoluciona hacia una hoja de ruta de danksharding.
2024EIP-4844 (Proto-Danksharding) introduce los "blobs" como un paso hacia el danksharding completo.
2024Near Protocol logra una operación de 4 particiones con Nightshade 2.0; escala dinámicamente.
2024–?Se planea implementar el danksharding completo en Ethereum; esto proporciona escalabilidad en la disponibilidad de datos.
“El sharding es la forma en que las cadenas de bloques pasan de 15 TPS a 15,000 TPS sin sacrificar la descentralización que las hace valiosas en primer lugar.”
Investigador de Ethereum

Cómo Funciona

BlockchainTipo de fragmentaciónfragmentosTPS (teórico)
EthereumDanksharding (disponibilidad de datos)~64 fragmentos de datosMás de 100,000 (con acumulaciones)
NEARBelladona (dinámica)Actualmente 4100,000+
HarmonyPoS efectivo + fragmentación4 fragmentos10,000+
MultiversosXFragmento de estado adaptativo3 fragmentos15,000+

En términos simples

  1. Dividir el trabajoEn lugar de que cada nodo realice todo el trabajo, el particionamiento asigna diferentes partes a distintos nodos. Es como dividir una autopista en varios carriles, lo que permite que un mayor volumen de tráfico fluya simultáneamente.
  2. Escalado de rendimiento linealCada fragmento adicional agrega un rendimiento proporcional. 10 fragmentos equivalen aproximadamente a 10 veces la capacidad de transacción de una red sin fragmentar.
  3. El desafío de los fragmentos cruzadosCuando un usuario del fragmento 1 necesita enviar datos a un usuario del fragmento 3, se requiere un mecanismo de coordinación. Esto añade latencia y complejidad a las transacciones entre fragmentos.
  4. El enfoque evolucionado de EthereumLa hoja de ruta de fragmentación de Ethereum evolucionó desde la fragmentación de ejecución (procesamiento de transacciones en paralelo) hasta la fragmentación de disponibilidad de datos (almacenamiento económico de datos consolidados en paralelo). Esto complementa las consolidaciones de capa 2 en lugar de reemplazarlas.
  5. Consideración de seguridad por fragmentoSi los fragmentos tienen muy pocos validadores, son más fáciles de atacar. Las soluciones incluyen la asignación aleatoria de validadores (para evitar ataques dirigidos), pruebas de fraude entre fragmentos y consenso intra-fragmento al estilo BFT.

Ejemplos del mundo real

EscenarioImplementaciónResultado
Cerca de BelladonaNEAR aumenta automáticamente los fragmentos a medida que aumenta el uso.Más de 100,000 transacciones por segundo (TPS) teóricas; el coste se mantiene en torno a 0.001 $/transacción independientemente de la escala.
Proto-Danksharding de EthereumLos blobs EIP-4844 reducen los costos de datos L2 entre 10 y 100 veces.red Arbitrum Las tarifas bajan de 0.10 dólares a 0.01 dólares tras la actualización EIP-4844.
Fragmentación Harmony ONE4 fragmentos activos; transacciones entre fragmentos ~2 segundosSe demostró la fragmentación de la producción; posteriormente, el puente fue pirateado por 100 millones de dólares.
Fragmentación adaptativa de MultiversXComienza con 1 fragmento; se añaden fragmentos a medida que se unen los validadores.Demostró escalabilidad dinámica; 3 fragmentos = 15,000 TPS en el lanzamiento.

Ventajas

La VentajaMareas Ideales para Lecciones
escalabilidad linealAgregar fragmentos aumenta proporcionalmente el rendimiento.
Descentralización mantenidaCada fragmento puede tener muchos validadores; no se requiere centralización.
Requisitos de nodos reducidosLos nodos solo almacenan/procesan los datos de su fragmento; menores requisitos de hardware.
Escalabilidad de capa 1Escalabilidad nativa sin supuestos de confianza L2

Desventajas y riesgos

DesventajaMareas Ideales para Lecciones
Complejidad entre fragmentosLas transacciones entre particiones añaden latencia y complejidad de programación.
Seguridad por fragmentoMenos validadores por fragmento reduce el coste del ataque en comparación con una cadena monolítica.
Dificultad de implementaciónEl sharding es uno de los enfoques de escalado de blockchain más complejos desde el punto de vista técnico.
fragmentación del estadoLa división de datos y estado entre fragmentos aumenta la complejidad para el desarrollador.
Gastos generales de coordinaciónLa capa de coordinación/cadena de balizas añade complejidad a la infraestructura.

Consejos de gestión de riesgos:

  • Al usar cadenas de bloques fragmentadas, es importante comprender en qué fragmento se encuentran sus activos; algunos exploradores son específicos de cada fragmento.
  • Las transacciones entre fragmentos pueden tener una latencia mayor; tenga esto en cuenta en las operaciones DeFi que dependen del tiempo.
  • Supervise la distribución de los validadores de fragmentos; los conjuntos de validadores de fragmentos muy pequeños presentan un riesgo de ataque concentrado.

Preguntas Frecuentes

¿Por qué Ethereum cambió su plan de fragmentación?

El diseño original de Ethereum (fragmentación de ejecución) contemplaba la ejecución de transacciones en 64 fragmentos paralelos. Sin embargo, la agregación de capas L2 se convirtió en el enfoque de escalabilidad dominante, y Ethereum optó por la "danksharding" —que proporciona acceso a datos a bajo costo para las agregaciones— en lugar de competir con las capas L2. El resultado es una mayor eficiencia: las agregaciones gestionan la fragmentación de ejecución, mientras que Ethereum proporciona la fragmentación de disponibilidad de datos.

¿El sharding es lo mismo que la capa 2?

No. El sharding es una solución de escalado de capa 1: divide el procesamiento de la propia cadena de bloques en fragmentos paralelos. La capa 2 escala procesando las transacciones fuera de la cadena y liquidándolas periódicamente en la capa 1. El enfoque de Ethereum combina ambos: sharding de datos de capa 1 (danksharding) + escalado de ejecución de capa 2 (rollups).

¿Qué es Danksharding?

Danksharding es la implementación de fragmentación planificada por Ethereum (llamada así en honor al investigador Dankrad Feist) que se centra en proporcionar 64 canales de datos "blob" paralelos para almacenar datos agregados de forma económica. No fragmenta la ejecución (Ethereum L1 sigue procesando todos los bloques); fragmenta el almacenamiento de disponibilidad de datos.

¿Qué es Proto-Danksharding (EIP-4844)?

EIP-4844 introdujo los "blobs" (grandes fragmentos de datos temporales adjuntos a los bloques) como paso previo a la implementación completa de danksharding. Los blobs reducen drásticamente los costos de datos de capa 2 sin la complejidad de danksharding. Se implementó en Ethereum en marzo de 2024.

¿El particionamiento compromete la seguridad?

Un diseño adecuado de particionamiento mantiene la seguridad mediante: la asignación aleatoria de validadores a los fragmentos (lo que evita ataques dirigidos), pruebas de fraude o de validez entre fragmentos, y la garantía de que cada fragmento cuente con suficientes validadores. Un diseño deficiente de particionamiento (con muy pocos validadores por fragmento) puede reducir la seguridad.

Noticias y Eventos