¿Cuándo se lanza?
aproximadamente en 2023
Las cadenas de fragmentos deberían llegar a lo largo de 2023, dependiendo de la rapidez con la que avance el proyecto tras la fusión. Estos fragmentos le darán a Ethereum más capacidad para almacenar y acceder a datos, pero no se usarán para ejecutar código.
¿Qué es la fragmentación?
La fragmentación o «sharding» es un concepto común en informática que denomina el proceso de dividir una base de datos horizontalmente para distribuir la carga. En un contexto de Ethereum, la fragmentación reducirá la congestión de la red y aumentará las transacciones por segundo mediante la creación de nuevas cadenas, conocidas como fragmentos (o «shards»).
Esto es importante por otras razones, además de la escalabilidad.
Características de la fragmentación
Cualquiera puede ejecutar un nodo
La fragmentación es una buena manera de escalar si se quieren mantener la descentralización, ya que la alternativa es escalar aumentando el tamaño de la base de datos existente. Esto haría que Ethereum fuese menos accesible para los validadores de red, porque necesitarían ordenadores potentes y costosos. Con las cadenas de fragmentos (o «shard chains»), los validadores solo necesitan almacenar o ejecutar datos para el fragmento que están validando, no para toda la red, como sucede hoy en día. Esto acelera las cosas y reduce drásticamente los requisitos de hardware.
Más participación en la red
Con el tiempo, la fragmentación le permitirá ejecutar Ethereum en un ordenador portátil o teléfono. Por lo tanto, más personas podrán participar o ejecutar clientes en un Ethereum fragmentado. Esto aumentará la seguridad, porque cuanto más descentralizada sea la red, menor será la superficie de ataque.
Con menores requisitos de hardware, la fragmentación facilitará la ejecución de clientes por su propia cuenta, sin depender de ningún servicio intermediario en absoluto. Y si puede, plantéese la posibilidad de ejecutar varios clientes también. Esto puede mejorar el funcionamiento de la red al reducir aún más las causas de los fallos. Ejecute un cliente de cadena de baliza
Cadenas de fragmentos versión 1: disponibilidad de datos
Cuando se envíen las primeras cadenas de fragmentos, solo proporcionarán datos adicionales a la red. No manejarán transacciones ni contratos inteligentes. Pero seguirán ofreciendo increíbles mejoras en las transacciones por segundo cuando se combinen con acumulaciones (o «rollups»).
Las acumulaciones son una tecnología de «capa 2» que existe en la actualidad. Permiten que las dapps agrupen o «acumulen» transacciones en una única transacción fuera de la cadena, generen una prueba criptográfica y luego la envíen a la cadena. Esto reduce los datos necesarios para una transacción. Si lo combinamos con toda la disponibilidad de datos adicional proporcionada por los fragmentos, obtendremos 100.000 transacciones por segundo.
Cadenas de fragmentos versión 2: ejecución del código
El plan siempre consistió en añadir funcionalidad adicional a los fragmentos, para hacerlos más parecidos a la red principal Ethereum actual. Esto les permitiría almacenar y ejecutar un código y manejar transacciones, ya que cada fragmento contendría su conjunto único de contratos inteligentes y saldos de cuentas. La comunicación entre fragmentos permitiría transacciones entre fragmentos.
Sin embargo, teniendo en cuenta el aumento de las transacciones por segundo que proporcionan los fragmentos de la versión 1, ¿sigue siendo necesario que esto suceda? Este es un tema que aún se está debatiendo en la comunidad y parece que hay algunas opciones.
¿Los fragmentos necesitan ejecución del código?
En el pódcast Bankless, Vitalik Buterin presentó tres opciones potenciales que vale la pena discutir.
1. No necesitar ejecución del estado
Esto significaría que no dar a los fragmentos la capacidad de manejar contratos inteligentes y dejarlos como depósitos de datos.
2. Tener algunos fragmentos de ejecución
Quizás haya un compromiso en el que no necesitemos todos los fragmentos (en este momento están planeados 64) para ser más inteligentes. Podríamos añadir esta funcionalidad a unos cuantos y dejar el resto. De esta forma se podría acelerar la entrega.
3. Esperar hasta que podamos hacer snarks de Zero Knowledge (ZK)
Por último, quizás deberíamos volver a plantearnos esto cuando se establezcan los snarks de ZK. Esta es una tecnología que podría ayudar a traer transacciones verdaderamente privadas a la red. Es probable que requieran fragmentos más inteligentes, pero aún están en investigación y desarrollo.
Otros recursos
Aquí tiene algunas ideas que van en la misma línea:
- Fase 1 y listo: Eth2 como motor de disponibilidad de datos (cdetrio, ethresear.ch)
Este sigue siendo un punto de debate activo. Actualizaremos estas páginas en cuanto sepamos más.
Relación entre actualizaciones
Las actualizaciones de Ethereum están interrelacionadas de alguna manera. Por tanto, recapitulemos sobre cómo se relacionan las cadenas de fragmentos con las otras actualizaciones.
Los fragmentos y la cadena de baliza
La cadena de baliza contiene toda la lógica para mantener los fragmentos seguros y sincronizados. La cadena de balizas coordinará a los participantes de la red, asignándoles los fragmentos en los que deben trabajar. Y también facilitará la comunicación entre fragmentos al recibir y almacenar datos de transacción de fragmentación accesibles para otros fragmentos. Esto dará a los fragmentos una panorámica del estado de Ethereum para mantener todo actualizado.
La cadena de balizaLos fragmentos y la fusión
En el momento en que se añadan los fragmentos adicionales, la red principal de Ethereum ya se encontrará asegurada por la cadena de baliza utilizando la prueba de participación. Esto permite una red principal fértil para construir cadenas de fragmentos, impulsada por soluciones de capa 2 que potencian la escalabilidad.
Queda por ver si la red principal existirá como el único fragmento «inteligente» que puede gestionar la ejecución del código. En cualquier caso, la decisión de ampliar los fragmentos siempre puede revisarse en caso de ser necesario.
La fusión