Guía para principiantes sobre Danksharding y Proto-danksharding
La red de Ethereum es la favorita para aplicaciones descentralizadas (dApps) gracias a sus capacidades de contratos inteligentes. Sigue siendo la red más popular para apps blockchain, pero esto tiene un costo. La red está bajo una enorme presión debido a la cantidad de plataformas, protocolos, aplicaciones y tokens que aloja, lo que genera tiempos de procesamiento de transacciones lentos y comisiones elevadas.
Para abordar el problema de escalabilidad, el plan de desarrollo de Ethereum propuso varias mejoras. The Merge transformó Ethereum en una red proof-of-stake, disminuyendo significativamente su consumo de energía y permitiendo que las redes PoS introduzcan funciones innovadoras. Sin embargo, Ethereum aún tiene trabajo por hacer para que las transacciones sean más asequibles y eficientes.
Sharding como solución
Una posible solución para reducir la congestión y las comisiones en la blockchain de Ethereum es implementar sharding, que implica dividir la blockchain en secciones más pequeñas. Sin embargo, se ha identificado una alternativa llamada danksharding, que busca hacer las transacciones más rápidas y económicas.
Actualizar la red de Ethereum es un reto debido a la alta actividad y la gran cantidad de aplicaciones que dependen de ella. Por eso, las actualizaciones importantes del consenso pueden tomar varios meses o años en completarse. Se requiere una solución personalizada. Proto-dank sharding es la alternativa que conecta la red actual de Ethereum con su futura iteración de danksharding.
Pero antes, veamos qué significa danksharding.
¿Qué es Danksharding?
Danksharding es un método para comunicarse con las soluciones de layer two existentes en Ethereum, mucho más sencillo de implementar que aplicar sharding a toda la red. Además, permite procesar más datos por bloque, facilitando transacciones más complejas sin afectar la velocidad de la red ni aumentar las tarifas de gas.
El objetivo aquí es aumentar la eficiencia de los rollups en blockchain. Para entender cómo se logra esto, analicemos cómo interactúan los rollups con la blockchain de Ethereum.
Actualmente, los rollups procesan por lotes las transacciones de Ethereum en su propia cadena Layer-2 y luego envían una “prueba de validez” a la cadena principal de Ethereum. Si bien este enfoque reduce los costos, más del 90% de los costos de transacción de los rollups aún se destinan a la mainnet de Ethereum para publicar esa prueba.
Con danksharding, la red de Ethereum puede gestionar transacciones agrupadas de rollups de layer two sin almacenar de manera inmutable todos sus datos. Esto reduce la carga de datos en la mainnet de Ethereum a largo plazo.
¿Qué es Proto-danksharding (EIP-4844)?
Proto-danksharding es una propuesta que busca introducir danksharding en la red de Ethereum. Se propuso en la Ethereum Improvement Proposal 4844 y lleva el nombre de los investigadores de Ethereum Dankrad Feist y Proto Lambda. Se implementó como parte de la actualización Dencun de Ethereum que tuvo lugar el 13 de marzo de 2024.
¿Cómo funciona Proto-danksharding?
Mientras se preparaba el camino para danksharding, proto-danksharding introdujo un nuevo tipo de transacción llamado “blob-carrying transactions” y su tipo de dato asociado “blobs”. Estas funciones permiten que la red de Ethereum procese datos de rollups de blockchain de manera más eficiente. Veamos más de cerca cómo funciona.
¿Qué son los Blobs (Binary Large Objects)?
Los blobs son un estándar de almacenamiento temporal de datos. Son relativamente nuevos en la red de Ethereum, pero existen en lenguajes de programación como Javascript y Python.
Actualmente, Ethereum almacena todos sus datos en cada nodo de la red, lo que dura indefinidamente. Esto es posible gracias a calldata, una memoria persistente. Sin embargo, este método requiere muchos recursos y tiene un costo elevado.
En comparación, los blobs son más económicos de mantener porque tienen una fecha de expiración de 4096 epochs, aproximadamente 18 días. Esto reduce considerablemente los gastos de almacenamiento. Un solo blob puede contener hasta 128 kb de datos, y cada bloque puede llevar hasta 16 blobs de datos. Esto brinda suficiente espacio de almacenamiento para propósitos de corto plazo. En general, implica que la red de Ethereum almacena menos datos por bloque con el tiempo.
¿Qué son las blob-carrying transactions?
Blob-carrying transactions están diseñadas para manejar blobs y llevar pruebas de validez que la cadena de Ethereum puede usar para verificar su autenticidad sin leer realmente el blob en sí.
Mediante un mecanismo de compromiso KZG, la EVM puede observar un compromiso a un blob sin acceder a los datos reales del blob, utilizando pruebas de Zero-Knowledge. Las transacciones que llevan blobs tienen su mempool separado de la EVM, lo que garantiza la seguridad de los datos y maximiza el espacio en bloque.
Como nuevo tipo de transacción, las blob-carrying transactions tienen un nuevo mecanismo de tarifas. La estructura de precios para estas transacciones es dinámica y depende de la oferta y la demanda. Más de tres blobs por transacción suelen causar tarifas más altas, variando aproximadamente un 12,5% de un bloque a otro.
¿Cuáles son los beneficios de danksharding?
Reducción de tarifas de gas
Una de las ventajas de danksharding es que reduce las comisiones de transacción. Esto se debe a que las altas tarifas de gas en la red de Ethereum son causadas principalmente por la congestión. La congestión ocurre cuando muchos usuarios acceden a aplicaciones y plataformas blockchain en la red de Ethereum al mismo tiempo.
Como sabrás, Ethereum alberga la mayoría de las dApps, por lo que la congestión es un problema común para los usuarios. Danksharding ayudará a Ethereum a evitar la congestión al facilitar el procesamiento de rollups en la red. Esto impactará positivamente las tarifas de gas en toda la red de Ethereum, no solo en una cadena L2.- Transacciones más rápidas
Danksharding permite que Ethereum procese transacciones más rápido. Almacena datos temporalmente, lo que beneficia a los nodos de la red. Antes de danksharding, cada nodo debía guardar la copia completa del historial de la blockchain, lo que era una tarea engorrosa.
Pero con danksharding, los nodos almacenan y procesan menos datos, lo que les permite trabajar de manera más eficiente. Como resultado, las transacciones se vuelven mucho más rápidas, lo cual es beneficioso.
¿Cuáles son las desventajas de danksharding?
- Problemas de seguridad
Aunque danksharding se ha propuesto como solución a los problemas de escalabilidad de Ethereum, algunos han expresado preocupaciones sobre su seguridad.
El método Danksharding es una implementación más sencilla en la red que el sharding, ya que implica validar las blob-carrying transactions fuera de la cadena. Sin embargo, esto representa un riesgo de seguridad, ya que actores maliciosos podrían atacar rollups menos populares, debido a que las cadenas más pequeñas y con menos experiencia son más fáciles de vulnerar.
Por lo tanto, transacciones maliciosas de blob-carrying podrían terminar en la mainnet de Ethereum. Aunque los rollups cuentan con medidas de seguridad para defenderse, no son tan robustas como las de la mainnet de Ethereum.
¿Qué sigue para Proto-danksharding en Ethereum?
La blockchain de Ethereum ha enfrentado obstáculos para escalar su infraestructura y satisfacer la creciente demanda. Sin embargo, los esfuerzos continuos para escalar —como el sharding y la actualización Dencun de Ethereum— han mostrado avances optimistas en la capacidad y el rendimiento de la red. La actualización Dencun de Ethereum se lanzó el 13 de marzo. Se espera que la red de Ethereum explore diversas soluciones para adaptarse a su potencial crecimiento. Danksharding es solo una de varias alternativas.