El reciente llamado de Parity a votar sobre su EIP-999 presentado, que permitiría a los usuarios afectados recuperar el acceso a sus activos almacenados en la billetera multisig, causó revuelo dentro de la comunidad Ethereum, e incluso impulsó a Vitalik Buterin mismo a pedir un boicot del Consenso 2018, declarando la cobertura "sensacionalista" del EIP-999 como parte de la razón.

La situación comenzó con el hack de Parity de Julio del 2017, que provocó la pérdida de 150.000 Ethereum (ETH). Parity arregló la vulnerabilidad en el código, pero desafortunadamente el código de contrato inteligente redistribuido vino con otra vulnerabilidad más. Esta nueva vulnerabilidad fue explotada accidentalmente por un usuario de Parity en noviembre de 2017, causando que más de 513,774 ETH retenidos en 587 billeteras diferentes fueran congelados.

La mecánica de la propuesta de mejora

Como resultado, Parity presentó una Propuesta de Mejora del Ethereum (EIP-999). Su motivación detrás de la propuesta se esbozó en GitHub:

"Esta propuesta es necesaria porque el protocolo Ethereum no permite la restauración de los contratos autodestruidos y no hay otra forma sencilla de permitir a los usuarios y empresas afectadas recuperar el acceso a sus tokens y Ether."

La votación sobre si implementar o no la solución propuesta se inició el 17 de abril y duró hasta el 24 de abril. El resultado estuvo cerca, pero regresó con una mayoría de un 55 por ciento de votos en contra, con un 39,4 por ciento a favor del cambio propuesto, y otro 5,6 por ciento de los votantes diciendo que no les importa.

Un par de cosas importantes a recordar - en primer lugar, el 513.774 ETH (con un valor de alrededor de 360 millones de dólares según análisis de precios recientes ) no se pierde o es robado, es exactamente donde estaba destinado a ser almacenado - es decir, en la biblioteca multisig de Parity. El problema es que el acceso a estos fondos ha sido destruido debido a una vulnerabilidad en el código.

En segundo lugar, EIP-999 no era un esquema para una bifurcación en la cadena de bloques Ethereum. La solución propuesta era una "versión parcheada de la WalletLibrary". (al código fuente del contrato), que básicamente daría a los propietarios de estas billeteras multifirma dependientes acceso a sus fondos cerrados.

El debate sobre una bifurcación surgió porque parecía que dos de las mayores compañías de software Ethereum, Geth, una herramienta de línea de comandos multipropósito para Ethereum, y Parity Technologies, un cliente popular para interactuar con la cadena de bloques Ethereum, tenían ideas contradictorias sobre la implementación de EIP-999.

Sin embargo, este sentimiento ha sido aplastado desde entonces tanto por Geth como por Parity, con el desarrollador de Geth Péter Szilágyi aclarando su posición directamente en Twitter y los fundadores de Parity Jutta Steiner y Gavin Wood declarando en una publicación de post para Parity Technologies que no planean provocar una ruptura en la cadena de bloqueo de Ethereum. Aunque la actualización propuesta fue rechazada, la controversia que la rodeaba aún persiste.

La polémica votación

La votación en sí misma fue fuente de mucha controversia, y el mecanismo de votación fue objeto de un gran escrutinio. Se llevó a cabo a través de un voto de monedas, lo que significa que en lugar de asignar un voto a cada usuario de Ethereum, cada voto se ponderó con la cantidad de ETH que tenía un votante.

Aquellos con grandes cantidades de ETH tendrían, por lo tanto, una clara ventaja a la hora de influir en la dirección de la votación. Generalmente, esto no es un problema, ya que cada votante posee el mismo activo y, por lo tanto, el pensamiento lógico es que todo el mundo elegiría un curso de acción que proteja el bienestar de ese activo, no importa cuán grande sea su participación.

En este caso, debido a que emitir un voto significaba simplemente firmar un mensaje de una cuenta de Ethereum, en lugar de transferir una cierta cantidad de ETH, los usuarios cuyos fondos están bloqueados en la biblioteca de Parity también podían emitir un voto.

Resulta que una de las mayores partes afectadas es Polkadot, una startup de cadena de bloques propiedad de Gavin Wood, co-fundador de Parity y quien es en última instancia responsable de la vulnerabilidad en el código que permitió que se atascaran los 513.774 ETH.

Por lo tanto, Polkadot podría utilizar su amplio fondo, encerrado en la biblioteca de Parity, que es de unos 306.000 ETH, para votar a favor de una propuesta que fue efectivamente presentada por Gavin Wood, aunque sea a través de Parity. Esto hizo que muchos miembros de la comunidad se sintieran incómodos, especialmente porque EIP-999 sólo parchearía la billetera de Parity y sería de gran beneficio para sus fundadores, sin tener ningún beneficio para la comunidad Ethereum en general.

Un Usuario de Reddit se dio cuenta :

"Gavin Wood es el fundador tanto de Polkadot como de Parity, por lo que obviamente tiene un incentivo financiero para restaurar estos fondos. Esta conexión parece ser la razón por la que la gente piensa que Parity tiene algo que ganar financieramente de la aprobación del EIP999".

De hecho, algunos poseedores de ETH que no estaban conectados con la saga pensaron que sería mejor que los 500.000 ETH se mantuvieran congelados, lo que significa que sus propios tokens de ETH ganarían un cierto grado de escasez que potencialmente podría empujar el precio al alza.

Muchos miembros de la comunidad no estaban en contra de EIP-999 per se, sino en contra de tener el voto en primer lugar. Los opositores al voto del EIP-999 argumentaron que comprometería la inmutabilidad de la red de cadenas de bloques en caso de ser aprobada:

"Sin embargo, es el quid de la cuestión. La biblioteca multisig de Parity, como agente autónomo, cumplió su programación al pie de la letra y se autodestruyó cuando se le ordenó. Revertir esto requerirá interferencia con el estado de ese agente autónomo fuera de las reglas bajo las cuales fue creado.

Eso es exactamente lo que Ethereum, y las cadenas de bloques en general, deben prevenir. Es una situación de "literalmente tenías un solo trabajo" para una cadena. Si las cadenas de bloqueo no previenen la interferencia no autorizada con su estado, entonces podríamos también ejecutar estos contratos inteligentes en un servidor en nube de Amazon y ahorrar un montón de tiempo y dinero".

Si a los desarrolladores simplemente se les permitiera actualizar y parchear el código defectuoso, esto afectaría la naturaleza descentralizada de la cadena de bloqueo, donde ciertos individuos tendrían el poder de revertir efectivamente las transacciones no deseadas.

¿Por qué "no"?

Esto ha ocurrido en el pasado con el hack DAO, que finalmente causó una división en la cadena de bloques de Ethereum, entre los que estaban a favor de devolver los fondos a los legítimos propietarios, y los que creían firmemente que el código es la ley que asegura la inmutabilidad de la red. Eligieron seguir la versión original de la cadena de bloques Ethereum y la llamaron Ethereum Classic.

Una pregunta interesante es ¿por qué fue un "sí" en el voto del DAO y un "no" en el voto de Parity? Aunque es imposible conocer el razonamiento detrás de los votos individuales, algunos en la comunidad se sintieron que esta propuesta de mejora fue diseñada puramente como un rescate para los fondos de Polkadot:

"Es un rescate puro y simple. Aún no estoy convencido de que esto hubiera sido tratado de la misma manera si hubiera sido otra compañía en el espacio la que hubiera perdido los fondos".

Otro punto de vista es que la decisión se reduce a la defensa del ecosistema Ethereum:

"Hagamos las cosas muy simples aquí: ¿Está en peligro el ecosistema y, por lo tanto, todo el futuro y el crecimiento de la cadena de bloques de Ethereum? Con el DAO - fue un Sí, por lo que se requirió un gran esfuerzo para proteger el protocolo Ethereum y el ecosistema. Con Parity - No, por lo tanto, no es necesario trabajar duro porque ni el protocolo Ethereum ni el ecosistema están en peligro".

Finalmente, si la votación tuviera éxito, potencialmente abriría las puertas a una miríada de peticiones de personas que perdieron ETH en el pasado por causas ajenas a su voluntad (ya sea como resultado de una piratería o de un código defectuoso) para que se les devolvieran sus fondos a través de una solución similar.

En el tablero de mensajes en línea de la comunidad Ethereum, un usuario comentó:

"Hacer este cambio asegurará que continuemos revisando solicitudes como esta regularmente. Eso seguirá distrayéndonos de los esfuerzos por mejorar la tecnología para todos. Convertirse en un proyecto en el que se debatan constantemente los EIPs de restauración de fondos hará de Ethereum un proyecto de código abierto "no muy divertido" al que contribuir, lo que disuadirá a nuevos contribuyentes".

Esto, a su vez, podría hacer que los desarrolladores de futuros proyectos sean menos rigurosos en su codificación, ya que verían un voto como este como una red de seguridad en caso de que cometan errores.

Cualquiera que sea su postura sobre la situación, EIP-999 se siente como un punto importante en la historia de Ethereum, incluso para la cadena de bloqueo en su conjunto, uno donde dos principios fundamentales de esta industria, el igualitarismo y la inmutabilidad, se enfrentaron directamente entre sí.

Por ahora, al menos, el igualitarismo luchó por salvar la inmutabilidad y ambos parecen haber triunfado.