¿Qué es el Sharding?

PrincipianteNov 21, 2022
La fragmentación es una técnica de partición de bases de datos que ayuda a las cadenas de bloques a generar escalabilidad, lo que permite que las transacciones se procesen en paralelo mediante múltiples cadenas de fragmentación para reducir la congestión de la red y aumentar las transacciones por segundo (TPS).
¿Qué es el Sharding?

Introducción

En una cadena de bloques convencional, cada nodo de la red debe confirmar las transacciones, mientras que se debe llegar a un consenso entre los nodos antes de empaquetar las transacciones para generar un nuevo bloque. La seguridad está totalmente garantizada ya que cada nodo registra el historial completo del libro mayor, lo que dificulta que los piratas informáticos manipulen subrepticiamente los datos sin ser detectados.
Seguridad y escalabilidad son incompatibles
Sin embargo, la alta seguridad tiene un precio. La frecuencia de los nodos que se comunican y el intercambio de información ocupa el ancho de banda de la red y ralentiza el procesamiento de transacciones. Para evitar que la falla de un solo nodo detenga toda la red, se necesitan más nodos para mejorar la descentralización y dispersar el riesgo. Estas diferentes compensaciones también se conocen como el "triángulo imposible", lo que significa que la escalabilidad, la descentralización y la seguridad de la red blockchain no se pueden lograr al mismo tiempo.


Fuente: blog de Vitalik Buterin "Por qué la fragmentación es excelente: desmitificación de las propiedades técnicas"

La fragmentación permite un escalado eficiente al mismo tiempo que se logra la seguridad y la descentralización
Sharding es una solución que aumenta la escalabilidad de una red blockchain sin renunciar a la seguridad y la descentralización. Sharding divide una única cadena de bloques en múltiples cadenas de bloques más pequeñas, cada una de las cuales administra sus propios registros por separado, y el intercambio de fechas solo se realiza cuando es necesario. Por lo tanto, los nodos en diferentes cadenas de fragmentación pueden verificar solo las transacciones que pertenecen a sus propias cadenas de forma sincrónica, en lugar de los datos de toda la cadena de bloques.
Siempre que la cantidad de nodos en cada cadena de fragmentación sea lo suficientemente grande, se confirmará la seguridad y la descentralización. La aplicación de fragmentación puede aumentar el rendimiento de las cadenas de bloques para satisfacer la creciente demanda de los usuarios. ETH 2.0 también mejorará su escalabilidad mediante fragmentación.

¿Qué es fragmentación?

La fragmentación es una técnica de optimización para mejorar el rendimiento del acceso a la base de datos al dividir la base de datos original en múltiples fragmentos según las condiciones de la demanda, lo que puede distribuir la carga y el tráfico de usuarios para brindar un servicio más rápido. Teniendo en cuenta que una cadena de bloques es esencialmente un gran libro mayor descentralizado, es posible mejorar la escalabilidad mediante la fragmentación.
Por ejemplo, hay una gran cantidad de productos con diferentes precios en los sitios de compras, los consumidores vienen con una variedad de necesidades, mientras que algunos prefieren productos baratos y con descuento y otros les gustan los caros y premium. Para hacer frente a un pedido grande como este, se puede realizar una clasificación simple utilizando rangos de precios para acelerar el procesamiento de las fichas.

Fuente: Digital Ocean
La fragmentación clasifica los datos y los procesa de acuerdo con las diferentes necesidades
Un verificador (nodo) tiene que confirmar toda la información del pedido sin dividir los datos del pedido (fragmentación), lo que requiere mucho tiempo para realizar tareas repetitivas. Por el contrario, dividir los datos de la orden en varios fragmentos permite que diferentes verificadores procesen las órdenes de bajo y alto precio por separado.
Dado que cada tipo de orden es una pequeña parte de la orden completa, y los verificadores a cargo de artículos de diferentes precios pueden trabajar simultáneamente sin afectarse entre sí, la fragmentación permite operaciones paralelas; cada verificador solo necesita verificar parte del pedido, por lo que la fragmentación reduce la carga de trabajo de los nodos y acelera la verificación.
Una base de datos fragmentada es como un rompecabezas, y cada pieza del rompecabezas representa un fragmento. Una cadena de bloques no fragmentada tiene que volver a dibujar todo el rompecabezas cada vez que se genera un nuevo bloque (replicación de estado) y luego modificar una pequeña parte del rompecabezas (actualización de estado). Una cadena de bloques fragmentada solo necesita encontrar la pieza específica que requiere modificación (fragmento) y reemplazarla por una nueva al agregar un nuevo registro de transacción.

¿Por qué es necesario fragmentar?

Las aplicaciones en cadena son más diversas y la demanda crece exponencialmente
Una vez que hay un aumento significativo en el tamaño del usuario, sin importar de qué tipo sea el sistema, inevitablemente necesita escalar para acomodar el tráfico creciente. Por ejemplo, si un juego en línea es tan popular que el número de jugadores aumenta de 100 000 a un millón o incluso diez millones por día, es necesario configurar un nuevo servidor para desviar el tráfico y evitar retrasos. Una situación similar se puede ver en la vida real. Durante las vacaciones, los turistas a los lugares de interés siempre sufren terribles atascos de tráfico. Lo que normalmente tomaba solo dos horas para llegar a un destino ahora toma mucho más tiempo debido al aumento del tráfico. Las rutinas alternativas son la solución común para aliviar efectivamente la congestión del tráfico.
Escalar encuentra cuellos de botella, buscando alternativas
Blockchain también se ha encontrado con el cuello de botella de la escalabilidad durante su desarrollo. En una cadena de bloques P2P con solo 10 nodos, todo el intercambio de datos se puede completar después de 10 9 veces de comunicación entre nodos; cuando el número de nodos llega a 100, significa 100 99 veces de comunicación entre nodos si no hay optimización de algoritmo. En general, una red blockchain P2P con N nodos, donde cada nodo intercambia datos con otros N-1 nodos, es concebible que la cantidad de tiempo y cómputo dedicado a cada transacción crezca exponencialmente siguiendo la escala de las redes blockchain.

Al ser la corriente principal, Bitcoin y Ethereum todavía están aplicando un mecanismo obsoleto
Bitcoin, actualmente la criptomoneda más grande por capitalización de mercado, y Ethereum preactualizado son de baja velocidad, con Bitcoin procesando alrededor de 7 transacciones por segundo (TPS) y Ethereum un poco más a 15 TPS. Durante mucho tiempo, esto ha sido insuficiente para satisfacer las necesidades de una gran cantidad de usuarios, y se ve eclipsado por el sistema centralizado, como el de la compañía líder de tarjetas de crédito VISA, que procesa hasta 24,000 transacciones por segundo. Además de la congestión de la red, la baja velocidad también aumenta los costos y los usuarios deben pagar tarifas más altas para priorizar sus transacciones, lo que empeora aún más la experiencia del usuario.


Fuente: Etherscan

No es necesario que cada nodo posea el historial de transacciones completo en una cadena de bloques fragmentada, ya que un nodo solo necesita retener información relacionada con el fragmento al que pertenece, el costo de configurar nodos y el umbral de participación se reducen con la fragmentación. Es posible que las redes de cadena de bloques se vuelvan más descentralizadas con la ayuda de la fragmentación. Las especificaciones del equipo de hardware necesario para ejecutar nodos serán cada vez más altas sin fragmentación. Al final, solo sobrevivirán los participantes con condiciones económicas favorables. La fragmentación permite que las computadoras, las computadoras portátiles e incluso los teléfonos inteligentes comunes se conviertan en nodos, lo que conducirá a la adopción masiva de las cadenas de bloques y las dAPP.

¿Cómo funciona la fragmentación en ETH 2.0?

El mecanismo de consenso de Ethereum se convertirá de Prueba de trabajo (PoW) a Prueba de participación (PoS) en ETH 2.0 y la red principal original de Ethereum se fusionará con Beacon Chain. Como resultado, ya no se necesita una potencia informática masiva para que los nodos de Ethereum generen nuevos bloques. En cambio, apuestan su ETH en contratos inteligentes para convertirse en validadores y obtener el derecho a obtener tarifas de transacción al enviar nuevos bloques.
En ETH 2.0, se crearán 64 fragmentos para mejorar la escalabilidad, uno de los cuales se llama Beacon Chain. Desempeña un papel central en las actualizaciones de fragmentos de Ethereum y es responsable de coordinar y compartir información entre diferentes fragmentos. Todos los nodos ETH 2.0 también apostarán ETH en las cadenas de fragmentos y procesarán transacciones en diferentes fragmentos de acuerdo con las instrucciones, y los bloques en las cadenas de fragmentos solo serán válidos con la aprobación de Beacon Chain.

Fuente: Hsiao-wei Wang
Sharding valida las transacciones pendientes por clasificación
Cuando ETH 2.0 adopte la fragmentación, el algoritmo de muestreo aleatorio asignará números aleatorios de nodos a cada fragmento para verificar las transacciones y determinar el orden y la validez de las transacciones en la cadena de fragmentos votando, luego la información de los bloques de fragmentos recién generados será agregado en Beacon Chain. Un nuevo bloque debe ser aprobado por más de dos tercios de los nodos de la cadena de fragmentos.
Como se muestra en la siguiente figura, a cada nodo se le asigna un número (1~100) en una secuencia de conjuntos de nodos de validación; el algoritmo de muestreo aleatorio romperá el orden de asignación de los nodos, dando como resultado un nuevo conjunto de nodos sin un orden fijo; los primeros 1~10 nodos recién generados pueden designarse como el primer comité para procesar transacciones en la primera cadena de fragmentos, mientras que el 11~20 es el segundo comité para procesar la segunda cadena de fragmentos, y así sucesivamente.


Fuente: blog de Vitalik Buterin "Por qué la fragmentación es excelente: desmitificación de las propiedades técnicas"
El nodo de validación no está asignado de manera fija para procesar transacciones en una determinada cadena de fragmentos, ya que el algoritmo de muestreo aleatorio volverá a interrumpir el orden de los nodos durante un período de tiempo. Por lo tanto, los miembros del comité responsables de cada cadena de fragmentos no son fijos, lo que evita el riesgo de centralización causado por un nodo específico que verifica una cadena de fragmentos durante mucho tiempo y aumenta la dificultad de ataque.
Dado que la fragmentación aumentará en gran medida el rendimiento de ETH 2.0, se vuelve inviable que todos los nodos actualicen los datos completos de la transacción en diferentes cadenas de fragmentos de forma sincrónica, el encabezado de intercalación, que es similar al encabezado del bloque en el PoW, se convierte en el medio para compartir información. . Como su nombre lo indica, un encabezado de colación contiene metadatos sobre la información dentro de la colación, como:

  1. El único fragmento al que pertenece la intercalación
  2. El hash raíz de la colación principal
  3. La raíz de Merkle de todas las transacciones en una colación
  4. La raíz anterior al estado y la raíz posterior al estado
  5. firmas de notarios


Fuente: Hackernoon
El encabezado de colación proporcionará al nodo información suficiente y solo descargará el registro completo de la transacción de acuerdo con el índice cuando sea necesario.

Pros y contras de la fragmentación

Una alternativa que desvía efectivamente la demanda de uso y mejora significativamente la escalabilidad
Imagine que un millón de automóviles se ven obligados a conducir por la misma carretera para pasar de la ciudad A a la ciudad B. El viaje seguramente será lento y ese es el caso de las cadenas de bloques convencionales, ya que todos los nodos de la cadena deben verificar cada transacción. La fragmentación divide los datos en cadena en partes para que cada nodo solo necesite procesar una parte de la transacción. Cuando una cadena de bloques agrega múltiples autopistas para dispersar el tráfico, los usuarios pueden completar transacciones más rápido.

Fuente: Bloque Génesis

Reduzca la congestión de la red y reduzca los costos
Antes de la actualización de Ethereum, los nodos mineros agrupan las transacciones en función de cuánto están dispuestos a pagar los usuarios; las tarifas más altas se procesan más rápido y las tarifas más bajas se procesan más lentamente, lo que da como resultado una oferta de tarifa patológica en la que los usuarios pagan ocasionalmente más de $ 50 por una sola transacción. . La fragmentación permite que la cadena de bloques funcione de manera más fluida y reduce la necesidad de realizar ofertas de tarifas, y los usuarios pueden recurrir a otra si se produce una congestión en un fragmento.

Nodos más fáciles de ejecutar, lo que mejora la descentralización y la seguridad
Dado que no es necesario acceder a los datos completos de toda la cadena de bloques, ya que cada nodo solo necesita procesar información en un fragmento al mismo tiempo, el hardware necesario para configurar un nodo se reduce. Los usuarios pueden usar dispositivos más baratos como nodos para unirse a la verificación y obtener ingresos. El umbral decreciente beneficia la descentralización y la popularización de las redes blockchain, y la visión de ETH 2.0 es permitir que las personas ejecuten aplicaciones Ethereum desde sus teléfonos inteligentes. Un beneficio secundario de la descentralización es la mejora de la seguridad de la red, cuantos más nodos y más dispersos estén, más difícil será atacar la cadena de bloques.

Si bien la fragmentación destaca una lista de ventajas, también presenta una serie de problemas nuevos:

La posibilidad del Ataque del 1%
La cadena de bloques es vulnerable al 51 % de los ataques, lo que significa que un atacante puede alterar arbitrariamente los datos de las transacciones o incluso controlar toda la red de la cadena de bloques cuando controla el 51 % de la potencia informática de los nodos. En redes de cadena de bloques más grandes, como Bitcoin y Ethereum antes de la actualización, el costo de un ataque del 51 % es demasiado alto, por lo que su implementación es inviable.
Sin embargo, con la adopción de la fragmentación, la cantidad de nodos que procesan cada fragmento se reduce drásticamente y se vuelve mucho más fácil para un atacante malicioso comprometerse siempre que ataque uno de los fragmentos y falsifique las transacciones con éxito en lugar de atacar toda la red. Para ser más específicos, para una red blockchain que contiene 1000 nodos con la misma potencia informática, un hacker necesita controlar más de 500 nodos para atacar toda la red. Pero cuando estos 1000 nodos se distribuyen en 100 fragmentos, un hacker solo necesita controlar más de 5 nodos en uno de los fragmentos para manipular los datos.

Fuente: Bloque Génesis

Aumenta el riesgo de seguridad de los contratos inteligentes
La adopción de la fragmentación requiere reescribir la estructura de datos y la lógica del código subyacente del libro mayor de la red blockchain, y la complicación adicional hará que sea más difícil actualizar y mantener la red, lo que generará vulnerabilidades de seguridad y riesgos de contratos inteligentes, mientras que también pueden ocurrir errores no deseados. durante la ejecución.

Colusión entre los miembros del comité
Aunque la fragmentación adopta un algoritmo de muestreo aleatorio para evitar que se asignen nodos idénticos a una cadena de fragmentos fijos, todavía existe la posibilidad de que las combinaciones duplicadas de nodos idénticos puedan covalidar transacciones después de un período de tiempo lo suficientemente largo, y los miembros del comité verifican la cadena de fragmentos. También es posible coludirse entre sí y enviar transacciones maliciosas a la cadena.
Desequilibrio de carga
El requisito previo para mejorar el rendimiento de la red a través de la fragmentación es que la "fragmentación" brinde con éxito la "desviación". Sin embargo, cuando una cadena de bloques está optimizada con 100 cadenas de fragmentos, todos los usuarios aún usan una cadena de fragmentos en particular, entonces el fragmentado falla y la escalabilidad no ha mejorado mucho. Este también es un problema potencial para ETH 2.0, ya que la capacidad de realizar operaciones de contratos inteligentes para cada cadena de fragmentos no está incluida en la planificación inicial.
Exploradores de blockchain más complicados
La mejora de la escalabilidad que brinda la fragmentación se logra agregando más algoritmos y datos a toda la red, se necesita una mayor potencia de procesamiento para que los exploradores de blockchain recuperen información de manera efectiva en la blockchain.

Otras cadenas de bloques que adoptan fragmentación

Elrond:

Elrond es una cadena de bloques pública descentralizada que tiene como objetivo mejorar la escalabilidad, la velocidad y la seguridad mediante el desarrollo de tres tecnologías clave, que incluyen Fragmentación de estado adaptable con tecnología de escalado de cadena de bloques, Prueba de participación segura (SPoS) que determina la selección de validadores para acelerar la verificación y Elrond Virtual Machine, que admite múltiples lenguajes de programación y es compatible con Ethereum VM.

La fragmentación de estado adaptable única de Elrond combina tres formas de fragmentación:

  1. Network Sharding representa el proceso de agrupar los nodos en fragmentos.
  2. Transaction Sharding lleva la complejidad al siguiente nivel y se ocupa de la distribución de transacciones en diferentes fragmentos, pero todos los nodos mantienen toda la cadena de bloques en su estado.
  3. La fragmentación de estado representa la parte más sofisticada y se describe como un mecanismo que permite que diferentes fragmentos se ocupen solo de una parte del estado sin replicar los datos entre nodos de diferentes fragmentos.

Actualmente, Elrond puede alcanzar los 15 000 TPS manteniendo la tarifa tan baja como $0,001, lo que es una ventaja razonable sobre Ethereum.

Cerca:

Near es una cadena pública de bloques basada en fragmentación de estado completo, aplicaciones de desarrollo simplificadas y mecanismo de prueba de participación. Establece el objetivo de aumentar la escalabilidad para el desarrollo de aplicaciones descentralizadas y abrir la puerta de la tecnología blockchain a todos. Su mecanismo de consenso Doomslug, que adopta el algoritmo Nightshade, puede escalar TPS a 100,000. La arquitectura técnica de Near es diferente de otras cadenas públicas fragmentadas, como Beacon Chain, que se compone de una cadena y varias cadenas de fragmentos, se divide en bloques individuales y la fragmentación se realiza entre estos bloques. Un bloque contiene todas las transacciones de todos los fragmentos mientras se divide el estado del fragmento, y los validadores se asignan aleatoriamente para verificar el estado correspondiente del fragmento de la transacción, mejorando así la seguridad.

Zilliqa:

Zilliqa es bastante madrugador en blockchains. Se lanzó para resolver la escasa escalabilidad de blockchain en ese momento mediante el uso de fragmentos de red y fragmentos de transacciones, así como PoW y el algoritmo de consenso tolerante a fallas bizantino (PBFT) con complejidad simplificada para acelerar el consenso dentro de los fragmentos. Todavía puede funcionar rápido con más de 600 nodos, y el escalado constante lleva a Zilliqa a un TPS más alto de 2400 a 3600 TPS.

Armonía:

Harmony es una cadena pública basada en la fragmentación del estado, que está estructurada por una Beacon Chain y múltiples cadenas de fragmentación y acompañada por el algoritmo de consenso tolerante a fallas bizantino (PBFT) para alcanzar un consenso profundamente optimizado mientras se acelera con firmas BLS para agregar múltiples firmas. en uno solo. En una cadena pública fragmentada, el 1 % de la potencia informática se puede utilizar para ataques de doble gasto. Considere esto, Harmony adopta EPoS (prueba de participación efectiva) y fragmentación aleatoria para dispersar tokens apostados a gran escala y asignarlos aleatoriamente a múltiples fragmentos para reducir el riesgo de ser atacado a fin de mejorar la seguridad de los fragmentos. También adopta Kademlia Cross-shard Communication para controlar el gasto de la red mientras aprovecha Erasure Code, que permite la recuperación de datos, para optimizar el proceso de transmisión de bloques para realizar una escala de fragmentación horizontal eficiente.

Conclusión

Con la explosión del uso de criptomonedas y la proliferación de dAPP, algunas cadenas de bloques tradicionales se ven abrumadas y no pueden satisfacer la creciente demanda del mercado. Cómo mejorar la escalabilidad sin renunciar a la descentralización y la seguridad se ha convertido en un problema importante para la industria blockchain actual.

Sharding desvía efectivamente las necesidades en cadena y mejora la eficiencia de acceso

Sharding es una tecnología de optimización que mejora la eficiencia del acceso a la base de datos al dividir los datos de transacciones en cadena y procesarlos en diferentes nodos de forma sincrónica, así es como se logra el desvío del tráfico y el aumento de la velocidad. Como una solución de escalado de Capa 1 muy esperada, cuando la fragmentación se realiza con éxito después de superar las dificultades técnicas de alto nivel, sus beneficios potenciales son bastante grandes. Algunas cadenas de bloques han adoptado la fragmentación y, en el próximo ETH 2.0, también se adoptará con la esperanza de mejorar significativamente el rendimiento de la red.

La fragmentación es extremadamente difícil de lograr con muchos desafíos sin resolver, pero eventualmente se superará el triángulo imposible.

Sin embargo, la fragmentación no es una solución perfecta. Además de la mayor complejidad, puede exponer la red a más riesgos. Muchos desarrolladores continúan investigando cómo coordinar diferentes fragmentos para operar de manera eficiente, esperando que la fragmentación sea la clave para superar el "triángulo imposible" de seguridad, descentralización y escalabilidad, de modo que todas las aplicaciones de blockchain y criptomonedas existentes puedan ser más avanzadas. popularizado

Autor: Piccolo Traductor: Yulei
Revisor(es) : Hugo , Eduardo
Descargo de responsabilidad:

  • Este artículo representa solo las opiniones de los observadores y no constituye ninguna sugerencia de inversión.
    *Gate.io se reserva todos los derechos sobre este artículo. Se permitirá volver a publicar el artículo siempre que se haga referencia a Gate.io. En todos los demás casos, se emprenderán acciones legales por infracción de derechos de autor.
Автор: Piccolo
Перекладач: Yuler
Рецензент(-и): Hugo, Edward, Cecilia, Ashley
* Ця інформація не є фінансовою порадою чи будь-якою іншою рекомендацією, запропонованою чи схваленою Gate.io.
* Цю статтю заборонено відтворювати, передавати чи копіювати без посилання на Gate.io. Порушення є порушенням Закону про авторське право і може бути предметом судового розгляду.

¿Qué es el Sharding?

PrincipianteNov 21, 2022
La fragmentación es una técnica de partición de bases de datos que ayuda a las cadenas de bloques a generar escalabilidad, lo que permite que las transacciones se procesen en paralelo mediante múltiples cadenas de fragmentación para reducir la congestión de la red y aumentar las transacciones por segundo (TPS).
¿Qué es el Sharding?

Introducción

En una cadena de bloques convencional, cada nodo de la red debe confirmar las transacciones, mientras que se debe llegar a un consenso entre los nodos antes de empaquetar las transacciones para generar un nuevo bloque. La seguridad está totalmente garantizada ya que cada nodo registra el historial completo del libro mayor, lo que dificulta que los piratas informáticos manipulen subrepticiamente los datos sin ser detectados.
Seguridad y escalabilidad son incompatibles
Sin embargo, la alta seguridad tiene un precio. La frecuencia de los nodos que se comunican y el intercambio de información ocupa el ancho de banda de la red y ralentiza el procesamiento de transacciones. Para evitar que la falla de un solo nodo detenga toda la red, se necesitan más nodos para mejorar la descentralización y dispersar el riesgo. Estas diferentes compensaciones también se conocen como el "triángulo imposible", lo que significa que la escalabilidad, la descentralización y la seguridad de la red blockchain no se pueden lograr al mismo tiempo.


Fuente: blog de Vitalik Buterin "Por qué la fragmentación es excelente: desmitificación de las propiedades técnicas"

La fragmentación permite un escalado eficiente al mismo tiempo que se logra la seguridad y la descentralización
Sharding es una solución que aumenta la escalabilidad de una red blockchain sin renunciar a la seguridad y la descentralización. Sharding divide una única cadena de bloques en múltiples cadenas de bloques más pequeñas, cada una de las cuales administra sus propios registros por separado, y el intercambio de fechas solo se realiza cuando es necesario. Por lo tanto, los nodos en diferentes cadenas de fragmentación pueden verificar solo las transacciones que pertenecen a sus propias cadenas de forma sincrónica, en lugar de los datos de toda la cadena de bloques.
Siempre que la cantidad de nodos en cada cadena de fragmentación sea lo suficientemente grande, se confirmará la seguridad y la descentralización. La aplicación de fragmentación puede aumentar el rendimiento de las cadenas de bloques para satisfacer la creciente demanda de los usuarios. ETH 2.0 también mejorará su escalabilidad mediante fragmentación.

¿Qué es fragmentación?

La fragmentación es una técnica de optimización para mejorar el rendimiento del acceso a la base de datos al dividir la base de datos original en múltiples fragmentos según las condiciones de la demanda, lo que puede distribuir la carga y el tráfico de usuarios para brindar un servicio más rápido. Teniendo en cuenta que una cadena de bloques es esencialmente un gran libro mayor descentralizado, es posible mejorar la escalabilidad mediante la fragmentación.
Por ejemplo, hay una gran cantidad de productos con diferentes precios en los sitios de compras, los consumidores vienen con una variedad de necesidades, mientras que algunos prefieren productos baratos y con descuento y otros les gustan los caros y premium. Para hacer frente a un pedido grande como este, se puede realizar una clasificación simple utilizando rangos de precios para acelerar el procesamiento de las fichas.

Fuente: Digital Ocean
La fragmentación clasifica los datos y los procesa de acuerdo con las diferentes necesidades
Un verificador (nodo) tiene que confirmar toda la información del pedido sin dividir los datos del pedido (fragmentación), lo que requiere mucho tiempo para realizar tareas repetitivas. Por el contrario, dividir los datos de la orden en varios fragmentos permite que diferentes verificadores procesen las órdenes de bajo y alto precio por separado.
Dado que cada tipo de orden es una pequeña parte de la orden completa, y los verificadores a cargo de artículos de diferentes precios pueden trabajar simultáneamente sin afectarse entre sí, la fragmentación permite operaciones paralelas; cada verificador solo necesita verificar parte del pedido, por lo que la fragmentación reduce la carga de trabajo de los nodos y acelera la verificación.
Una base de datos fragmentada es como un rompecabezas, y cada pieza del rompecabezas representa un fragmento. Una cadena de bloques no fragmentada tiene que volver a dibujar todo el rompecabezas cada vez que se genera un nuevo bloque (replicación de estado) y luego modificar una pequeña parte del rompecabezas (actualización de estado). Una cadena de bloques fragmentada solo necesita encontrar la pieza específica que requiere modificación (fragmento) y reemplazarla por una nueva al agregar un nuevo registro de transacción.

¿Por qué es necesario fragmentar?

Las aplicaciones en cadena son más diversas y la demanda crece exponencialmente
Una vez que hay un aumento significativo en el tamaño del usuario, sin importar de qué tipo sea el sistema, inevitablemente necesita escalar para acomodar el tráfico creciente. Por ejemplo, si un juego en línea es tan popular que el número de jugadores aumenta de 100 000 a un millón o incluso diez millones por día, es necesario configurar un nuevo servidor para desviar el tráfico y evitar retrasos. Una situación similar se puede ver en la vida real. Durante las vacaciones, los turistas a los lugares de interés siempre sufren terribles atascos de tráfico. Lo que normalmente tomaba solo dos horas para llegar a un destino ahora toma mucho más tiempo debido al aumento del tráfico. Las rutinas alternativas son la solución común para aliviar efectivamente la congestión del tráfico.
Escalar encuentra cuellos de botella, buscando alternativas
Blockchain también se ha encontrado con el cuello de botella de la escalabilidad durante su desarrollo. En una cadena de bloques P2P con solo 10 nodos, todo el intercambio de datos se puede completar después de 10 9 veces de comunicación entre nodos; cuando el número de nodos llega a 100, significa 100 99 veces de comunicación entre nodos si no hay optimización de algoritmo. En general, una red blockchain P2P con N nodos, donde cada nodo intercambia datos con otros N-1 nodos, es concebible que la cantidad de tiempo y cómputo dedicado a cada transacción crezca exponencialmente siguiendo la escala de las redes blockchain.

Al ser la corriente principal, Bitcoin y Ethereum todavía están aplicando un mecanismo obsoleto
Bitcoin, actualmente la criptomoneda más grande por capitalización de mercado, y Ethereum preactualizado son de baja velocidad, con Bitcoin procesando alrededor de 7 transacciones por segundo (TPS) y Ethereum un poco más a 15 TPS. Durante mucho tiempo, esto ha sido insuficiente para satisfacer las necesidades de una gran cantidad de usuarios, y se ve eclipsado por el sistema centralizado, como el de la compañía líder de tarjetas de crédito VISA, que procesa hasta 24,000 transacciones por segundo. Además de la congestión de la red, la baja velocidad también aumenta los costos y los usuarios deben pagar tarifas más altas para priorizar sus transacciones, lo que empeora aún más la experiencia del usuario.


Fuente: Etherscan

No es necesario que cada nodo posea el historial de transacciones completo en una cadena de bloques fragmentada, ya que un nodo solo necesita retener información relacionada con el fragmento al que pertenece, el costo de configurar nodos y el umbral de participación se reducen con la fragmentación. Es posible que las redes de cadena de bloques se vuelvan más descentralizadas con la ayuda de la fragmentación. Las especificaciones del equipo de hardware necesario para ejecutar nodos serán cada vez más altas sin fragmentación. Al final, solo sobrevivirán los participantes con condiciones económicas favorables. La fragmentación permite que las computadoras, las computadoras portátiles e incluso los teléfonos inteligentes comunes se conviertan en nodos, lo que conducirá a la adopción masiva de las cadenas de bloques y las dAPP.

¿Cómo funciona la fragmentación en ETH 2.0?

El mecanismo de consenso de Ethereum se convertirá de Prueba de trabajo (PoW) a Prueba de participación (PoS) en ETH 2.0 y la red principal original de Ethereum se fusionará con Beacon Chain. Como resultado, ya no se necesita una potencia informática masiva para que los nodos de Ethereum generen nuevos bloques. En cambio, apuestan su ETH en contratos inteligentes para convertirse en validadores y obtener el derecho a obtener tarifas de transacción al enviar nuevos bloques.
En ETH 2.0, se crearán 64 fragmentos para mejorar la escalabilidad, uno de los cuales se llama Beacon Chain. Desempeña un papel central en las actualizaciones de fragmentos de Ethereum y es responsable de coordinar y compartir información entre diferentes fragmentos. Todos los nodos ETH 2.0 también apostarán ETH en las cadenas de fragmentos y procesarán transacciones en diferentes fragmentos de acuerdo con las instrucciones, y los bloques en las cadenas de fragmentos solo serán válidos con la aprobación de Beacon Chain.

Fuente: Hsiao-wei Wang
Sharding valida las transacciones pendientes por clasificación
Cuando ETH 2.0 adopte la fragmentación, el algoritmo de muestreo aleatorio asignará números aleatorios de nodos a cada fragmento para verificar las transacciones y determinar el orden y la validez de las transacciones en la cadena de fragmentos votando, luego la información de los bloques de fragmentos recién generados será agregado en Beacon Chain. Un nuevo bloque debe ser aprobado por más de dos tercios de los nodos de la cadena de fragmentos.
Como se muestra en la siguiente figura, a cada nodo se le asigna un número (1~100) en una secuencia de conjuntos de nodos de validación; el algoritmo de muestreo aleatorio romperá el orden de asignación de los nodos, dando como resultado un nuevo conjunto de nodos sin un orden fijo; los primeros 1~10 nodos recién generados pueden designarse como el primer comité para procesar transacciones en la primera cadena de fragmentos, mientras que el 11~20 es el segundo comité para procesar la segunda cadena de fragmentos, y así sucesivamente.


Fuente: blog de Vitalik Buterin "Por qué la fragmentación es excelente: desmitificación de las propiedades técnicas"
El nodo de validación no está asignado de manera fija para procesar transacciones en una determinada cadena de fragmentos, ya que el algoritmo de muestreo aleatorio volverá a interrumpir el orden de los nodos durante un período de tiempo. Por lo tanto, los miembros del comité responsables de cada cadena de fragmentos no son fijos, lo que evita el riesgo de centralización causado por un nodo específico que verifica una cadena de fragmentos durante mucho tiempo y aumenta la dificultad de ataque.
Dado que la fragmentación aumentará en gran medida el rendimiento de ETH 2.0, se vuelve inviable que todos los nodos actualicen los datos completos de la transacción en diferentes cadenas de fragmentos de forma sincrónica, el encabezado de intercalación, que es similar al encabezado del bloque en el PoW, se convierte en el medio para compartir información. . Como su nombre lo indica, un encabezado de colación contiene metadatos sobre la información dentro de la colación, como:

  1. El único fragmento al que pertenece la intercalación
  2. El hash raíz de la colación principal
  3. La raíz de Merkle de todas las transacciones en una colación
  4. La raíz anterior al estado y la raíz posterior al estado
  5. firmas de notarios


Fuente: Hackernoon
El encabezado de colación proporcionará al nodo información suficiente y solo descargará el registro completo de la transacción de acuerdo con el índice cuando sea necesario.

Pros y contras de la fragmentación

Una alternativa que desvía efectivamente la demanda de uso y mejora significativamente la escalabilidad
Imagine que un millón de automóviles se ven obligados a conducir por la misma carretera para pasar de la ciudad A a la ciudad B. El viaje seguramente será lento y ese es el caso de las cadenas de bloques convencionales, ya que todos los nodos de la cadena deben verificar cada transacción. La fragmentación divide los datos en cadena en partes para que cada nodo solo necesite procesar una parte de la transacción. Cuando una cadena de bloques agrega múltiples autopistas para dispersar el tráfico, los usuarios pueden completar transacciones más rápido.

Fuente: Bloque Génesis

Reduzca la congestión de la red y reduzca los costos
Antes de la actualización de Ethereum, los nodos mineros agrupan las transacciones en función de cuánto están dispuestos a pagar los usuarios; las tarifas más altas se procesan más rápido y las tarifas más bajas se procesan más lentamente, lo que da como resultado una oferta de tarifa patológica en la que los usuarios pagan ocasionalmente más de $ 50 por una sola transacción. . La fragmentación permite que la cadena de bloques funcione de manera más fluida y reduce la necesidad de realizar ofertas de tarifas, y los usuarios pueden recurrir a otra si se produce una congestión en un fragmento.

Nodos más fáciles de ejecutar, lo que mejora la descentralización y la seguridad
Dado que no es necesario acceder a los datos completos de toda la cadena de bloques, ya que cada nodo solo necesita procesar información en un fragmento al mismo tiempo, el hardware necesario para configurar un nodo se reduce. Los usuarios pueden usar dispositivos más baratos como nodos para unirse a la verificación y obtener ingresos. El umbral decreciente beneficia la descentralización y la popularización de las redes blockchain, y la visión de ETH 2.0 es permitir que las personas ejecuten aplicaciones Ethereum desde sus teléfonos inteligentes. Un beneficio secundario de la descentralización es la mejora de la seguridad de la red, cuantos más nodos y más dispersos estén, más difícil será atacar la cadena de bloques.

Si bien la fragmentación destaca una lista de ventajas, también presenta una serie de problemas nuevos:

La posibilidad del Ataque del 1%
La cadena de bloques es vulnerable al 51 % de los ataques, lo que significa que un atacante puede alterar arbitrariamente los datos de las transacciones o incluso controlar toda la red de la cadena de bloques cuando controla el 51 % de la potencia informática de los nodos. En redes de cadena de bloques más grandes, como Bitcoin y Ethereum antes de la actualización, el costo de un ataque del 51 % es demasiado alto, por lo que su implementación es inviable.
Sin embargo, con la adopción de la fragmentación, la cantidad de nodos que procesan cada fragmento se reduce drásticamente y se vuelve mucho más fácil para un atacante malicioso comprometerse siempre que ataque uno de los fragmentos y falsifique las transacciones con éxito en lugar de atacar toda la red. Para ser más específicos, para una red blockchain que contiene 1000 nodos con la misma potencia informática, un hacker necesita controlar más de 500 nodos para atacar toda la red. Pero cuando estos 1000 nodos se distribuyen en 100 fragmentos, un hacker solo necesita controlar más de 5 nodos en uno de los fragmentos para manipular los datos.

Fuente: Bloque Génesis

Aumenta el riesgo de seguridad de los contratos inteligentes
La adopción de la fragmentación requiere reescribir la estructura de datos y la lógica del código subyacente del libro mayor de la red blockchain, y la complicación adicional hará que sea más difícil actualizar y mantener la red, lo que generará vulnerabilidades de seguridad y riesgos de contratos inteligentes, mientras que también pueden ocurrir errores no deseados. durante la ejecución.

Colusión entre los miembros del comité
Aunque la fragmentación adopta un algoritmo de muestreo aleatorio para evitar que se asignen nodos idénticos a una cadena de fragmentos fijos, todavía existe la posibilidad de que las combinaciones duplicadas de nodos idénticos puedan covalidar transacciones después de un período de tiempo lo suficientemente largo, y los miembros del comité verifican la cadena de fragmentos. También es posible coludirse entre sí y enviar transacciones maliciosas a la cadena.
Desequilibrio de carga
El requisito previo para mejorar el rendimiento de la red a través de la fragmentación es que la "fragmentación" brinde con éxito la "desviación". Sin embargo, cuando una cadena de bloques está optimizada con 100 cadenas de fragmentos, todos los usuarios aún usan una cadena de fragmentos en particular, entonces el fragmentado falla y la escalabilidad no ha mejorado mucho. Este también es un problema potencial para ETH 2.0, ya que la capacidad de realizar operaciones de contratos inteligentes para cada cadena de fragmentos no está incluida en la planificación inicial.
Exploradores de blockchain más complicados
La mejora de la escalabilidad que brinda la fragmentación se logra agregando más algoritmos y datos a toda la red, se necesita una mayor potencia de procesamiento para que los exploradores de blockchain recuperen información de manera efectiva en la blockchain.

Otras cadenas de bloques que adoptan fragmentación

Elrond:

Elrond es una cadena de bloques pública descentralizada que tiene como objetivo mejorar la escalabilidad, la velocidad y la seguridad mediante el desarrollo de tres tecnologías clave, que incluyen Fragmentación de estado adaptable con tecnología de escalado de cadena de bloques, Prueba de participación segura (SPoS) que determina la selección de validadores para acelerar la verificación y Elrond Virtual Machine, que admite múltiples lenguajes de programación y es compatible con Ethereum VM.

La fragmentación de estado adaptable única de Elrond combina tres formas de fragmentación:

  1. Network Sharding representa el proceso de agrupar los nodos en fragmentos.
  2. Transaction Sharding lleva la complejidad al siguiente nivel y se ocupa de la distribución de transacciones en diferentes fragmentos, pero todos los nodos mantienen toda la cadena de bloques en su estado.
  3. La fragmentación de estado representa la parte más sofisticada y se describe como un mecanismo que permite que diferentes fragmentos se ocupen solo de una parte del estado sin replicar los datos entre nodos de diferentes fragmentos.

Actualmente, Elrond puede alcanzar los 15 000 TPS manteniendo la tarifa tan baja como $0,001, lo que es una ventaja razonable sobre Ethereum.

Cerca:

Near es una cadena pública de bloques basada en fragmentación de estado completo, aplicaciones de desarrollo simplificadas y mecanismo de prueba de participación. Establece el objetivo de aumentar la escalabilidad para el desarrollo de aplicaciones descentralizadas y abrir la puerta de la tecnología blockchain a todos. Su mecanismo de consenso Doomslug, que adopta el algoritmo Nightshade, puede escalar TPS a 100,000. La arquitectura técnica de Near es diferente de otras cadenas públicas fragmentadas, como Beacon Chain, que se compone de una cadena y varias cadenas de fragmentos, se divide en bloques individuales y la fragmentación se realiza entre estos bloques. Un bloque contiene todas las transacciones de todos los fragmentos mientras se divide el estado del fragmento, y los validadores se asignan aleatoriamente para verificar el estado correspondiente del fragmento de la transacción, mejorando así la seguridad.

Zilliqa:

Zilliqa es bastante madrugador en blockchains. Se lanzó para resolver la escasa escalabilidad de blockchain en ese momento mediante el uso de fragmentos de red y fragmentos de transacciones, así como PoW y el algoritmo de consenso tolerante a fallas bizantino (PBFT) con complejidad simplificada para acelerar el consenso dentro de los fragmentos. Todavía puede funcionar rápido con más de 600 nodos, y el escalado constante lleva a Zilliqa a un TPS más alto de 2400 a 3600 TPS.

Armonía:

Harmony es una cadena pública basada en la fragmentación del estado, que está estructurada por una Beacon Chain y múltiples cadenas de fragmentación y acompañada por el algoritmo de consenso tolerante a fallas bizantino (PBFT) para alcanzar un consenso profundamente optimizado mientras se acelera con firmas BLS para agregar múltiples firmas. en uno solo. En una cadena pública fragmentada, el 1 % de la potencia informática se puede utilizar para ataques de doble gasto. Considere esto, Harmony adopta EPoS (prueba de participación efectiva) y fragmentación aleatoria para dispersar tokens apostados a gran escala y asignarlos aleatoriamente a múltiples fragmentos para reducir el riesgo de ser atacado a fin de mejorar la seguridad de los fragmentos. También adopta Kademlia Cross-shard Communication para controlar el gasto de la red mientras aprovecha Erasure Code, que permite la recuperación de datos, para optimizar el proceso de transmisión de bloques para realizar una escala de fragmentación horizontal eficiente.

Conclusión

Con la explosión del uso de criptomonedas y la proliferación de dAPP, algunas cadenas de bloques tradicionales se ven abrumadas y no pueden satisfacer la creciente demanda del mercado. Cómo mejorar la escalabilidad sin renunciar a la descentralización y la seguridad se ha convertido en un problema importante para la industria blockchain actual.

Sharding desvía efectivamente las necesidades en cadena y mejora la eficiencia de acceso

Sharding es una tecnología de optimización que mejora la eficiencia del acceso a la base de datos al dividir los datos de transacciones en cadena y procesarlos en diferentes nodos de forma sincrónica, así es como se logra el desvío del tráfico y el aumento de la velocidad. Como una solución de escalado de Capa 1 muy esperada, cuando la fragmentación se realiza con éxito después de superar las dificultades técnicas de alto nivel, sus beneficios potenciales son bastante grandes. Algunas cadenas de bloques han adoptado la fragmentación y, en el próximo ETH 2.0, también se adoptará con la esperanza de mejorar significativamente el rendimiento de la red.

La fragmentación es extremadamente difícil de lograr con muchos desafíos sin resolver, pero eventualmente se superará el triángulo imposible.

Sin embargo, la fragmentación no es una solución perfecta. Además de la mayor complejidad, puede exponer la red a más riesgos. Muchos desarrolladores continúan investigando cómo coordinar diferentes fragmentos para operar de manera eficiente, esperando que la fragmentación sea la clave para superar el "triángulo imposible" de seguridad, descentralización y escalabilidad, de modo que todas las aplicaciones de blockchain y criptomonedas existentes puedan ser más avanzadas. popularizado

Autor: Piccolo Traductor: Yulei
Revisor(es) : Hugo , Eduardo
Descargo de responsabilidad:

  • Este artículo representa solo las opiniones de los observadores y no constituye ninguna sugerencia de inversión.
    *Gate.io se reserva todos los derechos sobre este artículo. Se permitirá volver a publicar el artículo siempre que se haga referencia a Gate.io. En todos los demás casos, se emprenderán acciones legales por infracción de derechos de autor.
Автор: Piccolo
Перекладач: Yuler
Рецензент(-и): Hugo, Edward, Cecilia, Ashley
* Ця інформація не є фінансовою порадою чи будь-якою іншою рекомендацією, запропонованою чи схваленою Gate.io.
* Цю статтю заборонено відтворювати, передавати чи копіювати без посилання на Gate.io. Порушення є порушенням Закону про авторське право і може бути предметом судового розгляду.
Розпочати зараз
Зареєструйтеся та отримайте ваучер на
$100
!
Створити обліковий запис