23 Enero 2019

Patean el hard fork de Ethereum

El grupo de core developers de Ethereum decidió postergar el hard fork a raíz de una vulnerabilidad descubierta en el código.
Dash

El grupo de core developers de Ethereum postergó el hard fork Constantinople hasta fines de febrero. La actualización se implementará en el bloque 7.280.000. Según anunció Peter Szilagyi, uno de los líderes del equipo de desarrollo. Szilagyi explicó que el hard fork se dará el 27 de febrero, fecha en la que el bloque mencionado será minado.

La decisión de postergar el fork se da a partir del descubrimiento de una vulnerabilidad en el código de Constantinople por parte de una consultora externa al equipo de desarrollo. La empresa en cuestión, ChainSecurity, es especialista en auditar contratos inteligentes y descubrió que el fallo permitiría hacer un “ataque de reentrada”. Este tipo de ataque ya había causado problemas en 2016 cuando robó 3.600.000 de ethers (ETH) del contrato inteligente de DAO, el primer smart contract público de Ethereum. Este incidente había sido la razón por la cual, en ese momento, se dió el fork entre Ethereum y Ethereum Classic.

Veamos cómo funciona un “ataque de reentrada”. Los contratos inteligentes interactúan con otros contratos inteligentes externos "llamándolos". Un ataque de reentrada permite que un contrato inteligente externo, malicioso, llame múltiples veces al mismo contrato y de esta manera retire ETH en cada una de esas llamadas. De esta forma, un simple contrato externo puede provocar un retiro de fondos devastador de otro contrato.

Qué es un fork

El fork de Ethereum es uno de los eventos más esperados del año para todo el ecosistema cripto. Ethereum Constantinople es el nombre de la nueva actualización de la red. Tiene por objetivo modificar algunos aspectos cruciales de esta criptomoneda y, por lo tanto, toda la comunidad cripto está atenta a lo que pueda suceder. Además, Ethereum es una de las tres criptomonedas más importantes de la actualidad ya que un montón de empresas trabajan usando su plataforma de contratos inteligentes.

Fork es una palabra que viene del mundo del software, obvio. En castellano la traducción literal es “tenedor”. El concepto es una forma lúcida de referirse a una bifurcación. Un tenedor en definitiva es eso, un mango que se divide en dos, tres o cuatro puntas. En software la bifurcación de un proyecto ocurre cuando los desarrolladores toman una copia del código fuente de un paquete de software y empiezan un desarrollo de forma independiente, creando un software distinto e independiente. El término muchas veces implica no solo una bifurcación en el código, sino una división en la comunidad de desarrolladores. En definitiva es una forma moderna de un cisma. Los cismas son eventos en los cuales una comunidad de personas ya sea religiosa, política o XXXX no llega a ponerse de acuerdo sobre un aspecto fundamental de su organización y termina dividiéndose.

Bien, en el ecosistema de las criptomonedas las bifurcaciones de software y los cismas en comunidades de desarrolladores están a la orden del día. Hace muy poco tiempo tuvimos el fork de Bitcoin Cash que se dividió en dos cadenas de bloques diferentes: Bitcoin Cash y Bitcoin Cash Satoshis Vision. A su vez, Bitcoin Cash era un fork del propio Bitcoin. En estos casos se dieron ambas cosas: bifurcación del software y división de la comunidad de desarrolladores.

Pero, más allá de esto, vamos cómo funcionan los forks en las criptomonedas. En líneas generales podemos definir dos tipos de bifurcaciones en las cadenas de bloques: intencionales y accidentales. Sobre las accidentales no diremos mucho. Sólo alcanza con entender que suceden cuando dos bloques se minan, casi al mismo momento, por dos usuarios diferentes. Eventualmente la cadena de bloques seguirá por uno de los dos caminos; de esta forma, uno de los bloques quedará solo. Pero lo que más nos interesa explicar hoy son las bifurcaciones intencionales. Generalmente cuando leemos algo sobre forks en criptomonedas, se refieren a este tipo. Las bifurcaciones intencionales se dan, generalmente, cuando hay un cambio en el protocolo de una criptomoneda. Esto es, cuando hay algún cambio en las reglas de funcionamiento de ese software.

A su vez, podemos dividir a las bifurcaciones intencionales en dos categorías: soft fork y hard fork. Un hard fork es un cambio de reglas tal que el software que valida bloques de acuerdo con las reglas anteriores considerará que los bloques producidos con las nuevas reglas no son válidos. En el caso de un hard fork, todos los nodos destinados a funcionar de acuerdo con las nuevas reglas deben actualizar su software. En el caso de que haya un grupo que no esté de acuerdo con esta actualización, la cadena de bloques se partirá en dos dando origen a una moneda paralela y con valor diferente de la original. Por su parte, un soft fork consiste en una actualización tal que el software que valida bloques de acuerdo con las reglas anteriores considerará válidos a los bloques producido con las nuevas reglas.

Constantinople: un hard fork con consenso completo

Esta vez el hard fork tiene el apoyo de toda la comunidad de Ethereum. No habrá cisma ni aparición de una nueva criptomoneda. Lo que sí sucederá es que todos los nodos de la red actualizarán a la nueva versión del software que cómo explicamos recién, no es compatible con las versiones previas del mismo.

Al no haber ningún desacuerdo, los cambios en el protocolo tienen a todos a bordo del mismo barco. Esto significa que nadie se queda con una versión vieja de Ethereum. Por esto mismo, Vitalik Buterin, creador de Ethereum propone un cambio de nombre en este tipo de casos para evitar toda la confusión que trae consigo el término fork.

Caracterizada principalmente como una "actualización de mantenimiento y optimización", Constantinople presenta mejoras pequeñas, aunque de carácter altamente técnico, en la eficiencia de la red y la estructura de comisiones por transacción, así como actualizaciones que allanan el camino hacia la resolución del problema de escala de Ethereum. Además, incluye cambios en la política económica subyacente del ETH.

Todos estos cambios se agrupan en cinco propuestas de mejora de Ethereum o EIP por su nombre en inglés.

Los cinco EIP que se lanzarán en Constantinople son:

EIP 145: una actualización técnica escrita por dos desarrolladores de Ethereum, Alex Beregszaszi y Pawel Bylica, EIP 145 detalla un método más eficiente de procesamiento de información en la red conocido como bitwise shifting.

EIP 1052: Escrito por el desarrollador principal Nick Johnson y Bylica, ofrece un medio para optimizar la ejecución de código a gran escala en Ethereum.

EIP 1283: basado en EIP 1087, escrito por Johnson, esta propuesta beneficia principalmente a los desarrolladores de contratos inteligentes al introducir un método de precios más equitativo para los cambios realizados en el almacenamiento de datos.

EIP 1014: creado por el fundador de Ethereum, Vitalik Buterin, el objetivo de esta actualización es facilitar un cierto tipo de solución para escalar basada en state channels y transacciones off chain. Algo similar a lo que es Lightning Network de Bitcoin.

EIP 1234: Defendido por Afri Schoedon, gerente de lanzamiento de Parity, el cliente más importante de Ethereum, esta actualización es la más polémica del lote, reduciendo la emisión de recompensas de minería en bloque de 3 ETH a 2 ETH, y retrasando la solución de la “bomba de dificultad” (un problema asociado al aumento continuo de los costos por transacción) por un período de 12 meses.

Respecto de este último punto, el EIP 1234 se ocupan del aumento incremental en la dificultad de la minería de bloques conocida como la “bomba de dificultad”. Originalmente este punto estuvo pensado para alentar la transición a un sistema de consenso más ecológico y basado en proof of stake y dejar de lado el sistema actual basado en proof of work, sin embargo, el cambio aún está lejos. Ese cambio es muy radical y cambiaría, para siempre, la forma de minado de Ethereum.

Mientras tanto el grupo de desarrollo quiere tomar medidas para retrasar la “bomba de dificultad” y disminuir la emisión de ETH. Vale recordar que Ethereum a diferencia de Bitcoin no cuenta con un modelo de emisión limitado, sino que tiene un sistema “inflacionario” de emisión constante.

Es sin dudas un momento clave para Ethereum, la cripto más popular después de Bitcoin y la principal plataforma de contratos inteligentes.


Fuente: Coindesk, Mycoin, Forbes.

confeti Registrarme en Ripio

Patean el hard fork de Ethereum

Fortnite aceptará Monero en su tienda digital

A Monero no le importa institucionalizarse