-
La actualización permitirá una mejor gestión del gas y prevención de ataques DDoS.
-
Incluye una base para futuras implementaciones como parte de la transición a ETH. 2.0.
Finalmente, la actualización llamada Berlín llegará a la red principal este miércoles 14 de abril como fue anunciado el pasado 8 de marzo en el blog oficial de la fundación Ethereum. Con este hard fork se implementarán cuatro mejoras que, en su conjunto, integrarán nuevas funcionalidades en procura de una blockchain más rápida, más segura y con transacciones más económicas, como se espera que llegue a ser la cadena tras completar su transición a Ethereum 2.0.
Está previsto que la actualización de Berlín esté en línea a la altura del bloque 12.244.000 de la red principal de Ethereum. El tiempo específico puede adelantarse o retrasarse debido a fluctuaciones en el tiempo de bloque, pero será posible monitorear el momento en el que ocurra siguiendo el proceso a través del sitio ethernodes.org.
¿Cuáles cambios introducirá Berlín en la red Ethereum?
Se aspira a que la actualización Berlín cumpla con el objetivo de optimizar el rendimiento de la red principal de Ethereum, así como de los contratos. También se espera que permita una mejor gestión de las comisiones por transacción y que introduzca cambios en la forma en que la máquina virtual Ethereum (EVM) lee el código y previene los ataques de denegación de servicio (DDoS). Antes de implementarse en la red principal, esta actualización estuvo en ejecución en las redes de prueba Ropsten, Goerli y Rinkeby.
Con la propuesta de mejora de Ethereum EIP-2565 se busca reducir el costo de los contratos precompilados de ModExp o exponenciación modular. Este nuevo protocolo calcula el costo de la precompilación modular permitiendo una verificación más rentable de las firmas RSA, funciones de retardo verificables (VDF) o SNARK, útiles para mejorar el rendimiento de la blockchain.
El algoritmo de la EIP-2565 se encarga de reducir el costo de las comisiones de los contratos precompilados de ModExp cuyo precio eran tan elevados (entre 30 a 40 dólares) que se habían convertido en ineficientes. Al reducir el costo de la precompilación, las operaciones aritméticas avanzadas se vuelven más prácticas, lo que permite mejorar la seguridad de la red, tal como explica el desarrollador Kelly Olson en un video de YouTube.
La otra propuesta de mejora que activará Berlín es la EIP-2929, un protocolo que se encarga de aumentar el consumo de gas para activar los códigos de las operaciones de acceso al almacenamiento como Sload, Call, Balance, Ext y Selfdestruct. Aunque este alto costo solo se activa cuando se usa por primera vez en una transacción.
Si bien estos códigos de operación históricamente han tenido un precio bajo, los desarrolladores descubrieron que era necesario aumentar los costos para disminuir la posibilidad los ataques DDoS.
El problema con estas operaciones es que un atacante puede hacer que los nodos de la red realicen accesos prolongados al disco de forma relativamente económica y, por lo tanto, interrumpir la red. El precio de la primera ejecución de estas funciones en una transacción se ha triplicado, aunque las llamadas posteriores siguen siendo más baratas, lo que garantiza una ejecución relativamente rápida incluso en el peor de los casos. Además, reducirá el tamaño máximo de testigos para simplificar la validación de los bloques (también con una perspectiva sobre la versión ETH2.0).
Descripción de la EIP-2929 por la Fundación Ethereum.
Más seguridad y bases para el futuro de Ethereum
Para explicar la necesidad de implementar la EIP 2929, Vitalik Buterin, el cocreador de Ethereum, hizo referencia a los ataques de Shanghai, una serie de eventos que ocurrieron en el año 2016 cuando un ataque DDoS afectó a la red generando un montón transacciones spam. Sucedió cuando un cúmulo de transacciones maliciosas condujo a la proliferación de «bloques tíos» que, a su vez, generó confusión entre los mineros y que incluso ocasionó retrasos al exigir más tiempo para procesar cada bloque.
Para ponerle fin a los ataques de Shanghai, fue necesario que se eliminaran más de 20 millones de transacciones vacías que habían enviado los actores maliciosos. Sin embargo, los accesos al almacenamiento seguían representando un problema porque requerían más espacio.
«Para reducir este problema debemos eliminar la posibilidad de crear bloques que tarden mucho tiempo. Por ello, en lugar de los 20 a 80 segundos necesarios para procesar un bloque, con la implementación de la EIP-2929 el tiempo se reducirá entre 7 y 27 segundos. De esta manera, también se resta la posibilidad de un ataque porque el código de llamada al almacenamiento es más costoso», según explicó Vitalik Buterin en un video de YouTube.
Además, EIP-2929 también ayudará a limitar el tamaño de los datos de los testigos en el entorno de la red una vez que se complete la transición a Ethereum 2.0, según lo comentado por Buterin.
Berlín, además, introducirá una propuesta de mejora de red que aliviará el aumento en el consumo de gas causado por EIP-2929. Para lograrlo, se introdujo la EIP-2930 que consiste en un protocolo que permite a los usuarios especificar una llamada lista de acceso. Al hacerlo, será posible enviar una transacción programada que incluya una lista de direcciones y claves de almacenamiento a las que planea acceder, de tal manera que se le permita utilizar la tarifa más baja que la habilitada por la EIP-2929.
Esto se hace para alentar a las transacciones a usar la lista de acceso tanto como sea posible, y porque el procesamiento de transacciones es más fácil cuando sus lecturas de almacenamiento son predecibles, porque los clientes pueden precargar los datos de las bases de datos y / o pedir testigos en el momento de la transacción se recibe, o al menos cargar los datos en paralelo.
Descripción de la EIP-2930 por la Fundación Ethereum.
Con la actualización Berlín también llegará la EIP-2718, un protocolo que permite identificar diferentes formatos de las transacciones para habilitar un soporte que las estandariza.
Con el surgimiento de nuevos tipos de transacciones en la red de Ethereum se convirtió en una necesidad el seguimiento de ciertas reglas complejas para diferenciar el tipo de transacción. Sin embargo, con la implementación de esta nueva propuesta de mejora se previene efectivamente la introducción de más complejidad con los diferentes tipos de transacción que se introducirán en el futuro, a la vez que facilita la estandarización.
En definitivas cuentas, la actualización Berlín es un paso importante hacia la creación de una mejor experiencia de usuario en Ethereum, pero solo representa un cambio significativo en términos generales, pues si bien ayudará a reducir las tarifas de gas, la comunidad comenzará beneficiarse de las nuevas implementaciones a mediano plazo.
La esperada EIP-1559 que plantea una solución a los problemas que causan las elevadas comisiones de transacción en la red, no llegará hasta el mes de julio. Como informó CriptoNoticias, el hard fork London incluye esta propuesta de mejora que introducirá tarifas básicas para las transacciones para hacerlas más predecibles y estables. Posteriormente, estos costos base se quemarán para permitir que los usuarios dispongan de precios más bajos para el registro de transacciones, al tiempo que la oferta de monedas disminuirá con el tiempo.