La semana de Dencun (Cancún-Deneb Upgrade)
El 13 de Marzo, es decir en 4 días y unas horas, se va a producir el upgrade de Ethereum.
La última actualización de Ethereum la tratamos aquí, que fue Shapella (Shangai + Capella). Esto se hace así ya que hay dos actualizaciones de Ethereum que se producen a la vez:
Los producidos en la capa de ejecución, son Cancún.
Los producidos en la capa de consenso, son Deneb.
Así que la actualización conjunta es Dencun. Y hoy vamos a verla un poco en detalle.
Execution Layer - Cancún
El objetivo de este upgrade es la escalabilidad y se va a hacer esto a través de la creación de algo llamado “data blobs”.Que estos “data blobs” sería un nuevo tipo de transacción que tiene por objetivo mejorar la escalabilidad de las “layer 2” (aquí tienes información de lo que es una "layer 2”)
Como curiosidad las actualizaciones de la capa de ejecución siguen los nombres siguientes Berlin -> London ->Shanghai -> Cancún -> Prague -> Osaka -> Bogotá. Son las ciudades en las que se ha celebrado el Devcon.
En la capa de consenso las actualizaciones son nombradas por nombres de estrellas, siguiendo un orden alfabético Altair -> Bellatrix -> Capella -> Deneb -> Electra -> (F) Desconocido.
Cada capa se actualiza por su lado, ya que :
La capa de ejecución, procesa txs, actualiza el estado y genera bloques (válidos).
La capa de consenso es una capa en la que muchos validadores se ponen de acuerdo sobre:
1. A quién le toca proponer el próximo bloque (POS).
2. La cabeza (ultimo bloque o rama correcta) de la cadena (GASPER = CASPER + LMD GHOST).
Es en la capa de consenso donde en cada época se generan slots y un comité de validadores, y a algunos validadores del comité les tocará proponer bloques.
Un bloque generado se comunica al resto de la red. Cada nodo validador que recibe el nuevo bloque pasa lo siguiente:
El bloque lo recibe la capa de consenso y lo envia a la capa de ejecución para que ejecute todas las txs y actualice el estado.
La capa de ejecución devuelve su visto bueno una vez ejecutado y actualizado el estado.
La capa de consenso coloca el bloque en la cabeza (LMD-GHOST).
La capa de consenso firma el bloque (CASPER).
Una vez firmados todos los bloques de una época y el primer bloque de la época siguiente, esa época se considera finalizada ("irreversibles")
Como ves las capas son muy diferentes y están comunicadas y deben ir en sincronía.
Y ya he dicho que cada capa se actualiza por su lado, y cada una tiene tiene su equipo de desarrolladores que trabajan de forma clara en Cancún o Deneb, pero como tienen que sincronizarse, pues la actualización de llama Dencun.
Hay que decir que antes de tirarse a la piscina hay una serie de pruebas en las diferentes testnet de Ethereum (Devnet9, Devnet10, Goerli, Holesky, Sepolia y ya Mainnet).
Si quieres profundizar en los aspectos técnicos de la capa de ejecución tienes este artículo muy completo dónde se detallan las EIP-5656 y EIP-6780. A modo resumen:
EIP-6780 tiene como objetivo limitar el poder del opcode SELFDESTRUCT. SELFDESTRUCT es un opcode antiguo en el EVM. Fue diseñado para ser utilizado por creadores de contratos proactivos para limpiar y eliminar código innecesario o obsoleto del estado de Ethereum.
Pero no ha funcionado, tiene peligros y su uso puede acarrear consecuencias no deseadas, así que se usa de forma incorrecta o no se usa.
Como aún se puede estar usando, se va a limitar su poder, se actualiza y así los contratos que aún lo usan pueden seguir funcionando.
EIP-5656 trae un nuevo opcode, llamado MCOPY. El objetivo es mejorar el rendimiento y tener un medio más eficiente de construir estructuras de datos. Es claramente una mejora de la eficiencia para el EVM (Ethereum Virtual Machine).
MCOPY afecta a la copia de la memoria, que es el proceso de mover bloques de datos de una ubicación de memoria a otra. MCOPY permitirá reducir el uso de GAS. Contratos usando MCOPY verán reducido su coste de uso y esto afecta a los usuarios finales.
Consensus Layer - Deneb
Hay que decir que los cambios en la consensus layer no suponen un gran giro en la forma de trabajar de Ethereum, solamente permitirán implementaciones más seguras del staking en Ethereum, además de aumentar la seguridad y la robustez del proceso de consenso.
Los EIP a tener en cuenta en Deneb son:
EIP-7044 tiene como objetivo simplificar y mejorar la experiencia del usuario en el staking, especialmente para los usuarios de soluciones de staking delegado. se logra al permitir que las salidas voluntarias pre firmadas sean perpetuamente válidas, lo que permite a los usuarios salir de sus validadores de manera independiente. Esto elimina la necesidad de confiar en el operador del validador para realizar la salida en su nombre.
Este EIP abre nuevas posibilidades de diseño para salidas automáticas de validadores. Es más que probable que proporcione a los usuarios realizando staking una mayor protección contra el slashing.
Slashing se refiere a la penalización que reciben los validadores que actúan de manera maliciosa o negligente en la red. Cuando un validador realiza acciones que comprometen la seguridad o la integridad de la red, como doble firmar bloques o estar inactivo durante períodos prolongados, pueden enfrentar una penalización en forma de pérdida de parte o la totalidad de su stake (participación) en la red.
EIP-7045 busca ampliar la ventana de inclusión máxima para las atestaciones en Ethereum, permitiendo que estas se consideren válidas durante dos épocas no rodantes en lugar de solo una. Esto significa que los validadores ahora tienen la capacidad de atestiguar los bloques de la época actual y la completa siguiente, lo que potencialmente les da hasta 64 espacios para incluir atestaciones y recibir recompensas por hacerlo.
En Ethereum, las atestaciones son mensajes firmados enviados por los validadores de la red para confirmar la validez de un bloque en particular. Cada atestación sirve como una especie de "voto" que respalda la autenticidad y corrección de un bloque específico dentro de la cadena de bloques. Estas atestaciones son fundamentales para el funcionamiento del algoritmo de consenso de Ethereum y ayudan a determinar qué bloque se considera el bloque canónico en la cadena.
Este EIP es un paso positivo para reducir los tiempos de confirmación de bloques y la latencia en Ethereum, pero es importante destacar que este EIP es independiente de la investigación y desarrollo en curso para habilitar la Finalidad de un solo espacio en Ethereum, lo cual requerirá cambios más significativos en la capa de consenso.
Ethereum: Un cuento de dos capas
La red de Ethereum está dividida en dos capas principales: la execution layer y la consensus layer. Antes de la actualización Bellatrix, más conocida como "The Merge", la consensus layer y la execution layer de Ethereum operaban de manera independiente una de la otra.
A partir de "The Merge" ya no son independientes, sino que tienen que estar comunicadas, y sincronizadas.
Una actualización que agrega la raíz del bloque Beacon al EVM (Máquina Virtual Ethereum). Un seguimiento adecuado, ya que permitirá que parte del estado de la capa de consenso sea accesible por la capa de ejecución. Y ahora hay que mejorar esa comunicación.
El EIP-4788, o Propuesta de Mejora de Ethereum 4788, busca mejorar la comunicación entre las capas de Ethereum al introducir una raíz de bloque de la cadena de beacons directamente en cada bloque de ejecución. Esto permite exponer el estado de consenso de Ethereum en la capa de ejecución de manera confiable y verificable criptográficamente, eliminando la necesidad de sistemas oráculo confiables para obtener información sobre el estado de consenso de Ethereum.
Los oráculos actúan como puentes entre el mundo real y el mundo blockchain al permitir que los contratos inteligentes accedan y utilicen datos externos, como precios de activos, resultados de eventos deportivos o condiciones climáticas. Estos datos externos son fundamentales para muchas aplicaciones descentralizadas, como los mercados financieros descentralizados, los seguros basados en blockchain y las aplicaciones de juego.
Comparado con los cuatro EIPs previamente discutidos, el EIP-4788 es mucho más transformador e impactante.
En lugar de modificar una regla de consenso o agregar un opcode útil y conveniente, el EIP-4788 mejorará la capacidad de comunicación de las dos capas de Ethereum. Si bien podemos predecir razonablemente algunas de las implicaciones, puede haber otras que se descubran más adelante. Por ejemplo, ¿cómo afectará esta actualización al MEV en Ethereum?
¿Momento de profundizar en el EIP-4788? A Consensys.
Para no hacer el post extremadamente largo te diré que aún no han acabado las mejoras o actualizaciones de Ethereum que se van a realizar en Dencun. También tenemos:
EIP-7514 que es una medida proactiva y de precaución para prevenir el crecimiento insostenible de la consensus layer EIP-1153 que conlleva una mejora en la base de código de la EVM que beneficiará a los desarrolladores de dApps y, en última instancia, a los usuarios finales, al reducir los costos de gas de transacciones más complejas. Más información aquí.
EIP-4844 ayuda a escalar Ethereum introduciendo un nuevo tipo de transacción llamado "blob-carrying". Los secuenciadores de rollup (y potencialmente otros) utilizarán este nuevo tipo de transacción para publicar datos en la red principal de Ethereum de manera más económica de lo que es actualmente posible.
La introducción de EIP-4844 marca un paso significativo hacia la escalabilidad y la descentralización de Ethereum, sentando las bases para futuras actualizaciones de escalabilidad más complejas, como Danksharding completo.
Esta mejora es tan importante que hay un sitio web dedicado solamente a ella.
Para acabar
Si has llegado hasta aquí, enhorabuena. Menudo ladrillo. Para recompensarte la Consensys Academy tiene un curso que puedes hacer llamado “Understanding Ethereum Network Upgrades: Dencun - December 2023 / January & February 2024”:
Antes de acabar
Al igual que en las anteriores actualizaciones, en Dencun también hay NFT.
¿No sabes de que hablo? No te pierdas el artículo que escribí hace unos meses dónde podías conseguir un NFT para conmemorar las actualizaciones de Ethereum.
Hasta la próxima actualización!