-
Situaciones de robos y extravรญo de fondos han sido relativamente frecuentes en clientes de esta red.
-
Recuperar los fondos no es la funciรณn de la plataforma y sus desarrolladores.
Ethereum, una de las principales plataformas blockchain del ecosistema, ha destacado no solo por lo innovador que resulta el protocolo de los contratos inteligentes, sino porque fue ademรกs una de las primeras que procediรณ a bifurcar forzadamente su cadenaย por otro motivo diferente a lo tรฉcnico, en ocasiรณn de resarcir fondos robados a la Organizaciรณn Autรณnoma Descentralizada que su comunidad creรณ.
Desde entonces, una gran parte de los mineros y usuarios de esta criptomoneda decidieron mantenerse en el protocolo original, haciรฉndose llamar Ethereum Classic, mientras que Ethereum siguiรณ su camino con รฉxito.
Sin embargo, situaciones de robos y extravรญo de fondos han sido relativamente frecuentes en clientes de esta red, por lo que ha surgido un debate sobre cรณmo pueden resolverse estas contingencias sin tener que pasar por todo lo que una bifurcaciรณn forzada (hardfork) de blockchain requiere.
Parity
Uno de los casos mรกs recientes, ocurrido el aรฑo pasado, es el de Parity, cliente de carteras y DApps del entorno Ethereum, en el que un hacker logrรณ extraer 153 mil ethers (ETH) de varias carteras multifirma pertenecientes a los proyectos Edgeless, Aeternity y Swarm City. En su momento, el monto robado equivalรญa a unos $32 millones de dรณlares.
La falla surgiรณ en la herramienta Parity 1.5, que permite la creaciรณn de monederos dentro de su plataforma, atribuido a una falla mรญnima en sus contratos inteligentes, pero suficiente para haber permitido esta situaciรณn.
Mรกs tarde, casi a finales de 2017, un usuario cometiรณ un error de programaciรณn congelando para siempre 500 mil ETH, ante lo que Parity propuso realizar una bifurcaciรณn forzada para recuperar los fondos bloqueados. Esta iniciativa se basรณ en la propuesta EIP 156ย (Propuesta de Mejoramiento de Ethereum, segรบn sus siglas en inglรฉs), creada por el mismo fundador de Ethereum, Vitalik Buterin.
Esta propuesta permite a los usuarios de ether u otros activos que tengan cuentas ยซtrabadasยป retirar sus activos. El primer caso cubre los contratos accidentalmente creados sin cรณdigo, asรญ como algunas pรฉrdidas de ataques de repeticiรณn en los que un contrato fue creado en ETC [Ethereum Classic], fondos enviados a ETH [Ethereum] sin que el contrato se haya creado en ETH; el segundo caso cubre las pรฉrdidas generadas por errores de cรณmputo en la vieja librerรญa de javascript […]
Vitalik Buterin
Cofundador
El cofundador de Ethereum estรก consciente de lo polรฉmica que puede resultar esta propuesta, aunque la define como ยซmucho menos invasiva que las propuestas anterioresยป y explica que la intenciรณn es debatir sobre sus implicaciones.
Particularmente, el usuario Aribo entrรณ en detalle con respecto a que recuperar los fondos no es la funciรณn de la plataforma y sus desarrolladores:
El principal objetivo de Ethereum es ser una plataforma descentralizada para la ejecuciรณn final de contratos inteligentes. Para crear y sostener la plataforma, es necesario crear un sistema econรณmico basado en las criptomonedas y sus incentivos. La principal funciรณn de los desarrolladores es crear, mantener y sostener esta plataforma segรบn ese objetivo, incluyendo el funcionamiento correcto de este ecosistema criptoeconรณmico, mas no la de garantizar beneficios o exigir tareasย a los actores de este sistema y los usuarios de la plataforma.
Vitalik Buterin
Cofundador
El uso del verbo exigir podrรญa referirse a que no se puede obligar a los desarrolladores a realizar cambios en el protocolo si no estรกn de acuerdo, en tanto la naturaleza abierta del cรณdigo permite elaborar actualizaciones, proponerlas, debatirlas y votarlas, en ese orden, de forma libre y pรบblica.
Aribo, del mismo modo, indica una difรญcil realidad para las vรญctimas de robos o afectados por el congelamiento de ethers al afirmar que: ยซsi alguien pierde dinero en el sistema econรณmico creado en Ethereum, es su propia responsabilidadยป recalcando que la creaciรณn e implantaciรณn de nuevos estรกndaresย no deberรญa estar entre las responsabilidades de los desarrolladores de una blockchain.
Luego, el usuario admite que la recuperaciรณn de fondos es una responsabilidad, pero solamente cuando su funciรณn es la de salvar la plataforma de su colapso, evitar que la plataforma deje de comportarse de acuerdo al objetivo inicialmente acordado. Seguido, se refiere al caso de la DAO, el motivo principal de unaย bifurcaciรณn forzadaย en Ethereum, que si bien recuperaba los fondos robados, buscaba proteger al sistema de una amenaza seria y sin precedentes. De esto dependรญa que esta red siguiera funcionando.
En quรฉ consiste la EIP 867
La propuesta debatida en la EIP 156ย fue echada al olvido, pero volviรณ a surgir con la EIP 867. La nueva propuesta ocasionรณ incluso que un desarrollador japonรฉs, Yoichi Hirai, renunciara al verse en una contradicciรณn con el cรณdigo penal de su paรญs. Sus preocupaciones acerca de un documento legal que leyรณ, pero no citรณ, le impidieron continuar insertando actualizaciones en el cรณdigo de Ethereum.
Hirai veรญa en las bases de la EIP 867 una violaciรณn a laย ley de registros digitales, ademรกs de considerar que la propuesta no era afรญn con la filosofรญa de Ethereum, segรบn anunciรณ. ยซUn guardia no deberรญa renunciar luego de ver algo sospechoso, pero esto es mucho para mรญยป, dijo el desarrollador nipรณn antes de renunciar.
El debate derivรณ tambiรฉn hacia la necesidad de la comunidad y los desarrolladores de formar una especie de autoridad para deliberar en casos que afecten a la red en general (no solo para las propuestas EIP), en tanto se enfrentan la visiรณn que apoya la prevalencia del desarrollo de cรณdigoย y quienes estรกn a favor de la comunidad.
Yoichi Hirai, bajo el pseudรณnimo ‘pirapira’,ย respondiรณ de la siguiente manera a otros comentarios en el debate:
Creo que esta propuesta entra en desacuerdo con la filosofรญa de Ethereum. Los puntos รบnicos de fallo y la necesidad de confiar es lo que Ethereum intenta evitar. Asรญ, no puedo aprobarle el estatus EIP a esta propuesta por no ยซmantenerse junto a la filosofรญa de Ethereum.ยป
Vitalik Buterin
Cofundador
La EIP 867 fue presentada por el desarrollador Dan Phifer, perteneciente al proyecto Musiconomi, ademรกs de otros dos desarrolladores de TapTrust, una plataforma de foros descentralizados para discutir sobre fichas ERC20, y busca modificar el registro histรณrico de la blockchain de Ethereum de una manera mรกs simple, en lugar de tener que realizar una bifurcaciรณn.
Phifer llega a construir esta propuesta debido a que Musiconomi fue afectada por el bloqueo de la cartera multifirmas de Parity, ocurrida en junio del 2017. Al igual que la EIP 156, la propuesta fue recibida con opiniones enfrentadas entre sรญ, denotando un debate basado en el potencial efecto negativo de integrar una caracterรญstica al protocolo de Ethereum segรบn los ideales la plataforma y la visiรณn de algunas vรญctimas de robos o errores de programaciรณn, cuestiรณn la cual es comprensible debido a las enormes cantidades de dinero perdidas.
Otro caso ocurriรณ el 24 de noviembre de 2015, cuando James Levy recibiรณ 40,000 ETH por parte de la Fundaciรณn Ethereum, como agradecimiento por haber creado una herramienta para contratos inteligentes, en la รฉpoca en que esta era sumamente innovadora. Sin embargo, tres semanas despuรฉs, los fondos fueron extraรญdos en lo que fue quizรก el peor hackeo de la historia de Ethereum. Fue por causa de la debilidad de una contraseรฑa. Ahora, Levy es uno de los principales promotores de la EIP 867.
ยฟQuรฉ opinan los desarrolladores principales de Ethereum?
El desarrollador Nick Johnson explica que revertir contratos es sumamente dificil en Ethereum debido a que esta plataforma tiene diversasย invariables o cรณdigos ejecutables cuya funciรณn en el tiempo no puede modificarse en ningรบn caso fuera de su programaciรณn.
Una de las invariables que la propuesta desea cambiar, segรบn seรฑala Johnson, es la que reza que el cรณdigo de un contrato nunca cambiarรก a menos queย el contrato se destruya a sรญ mismo y, la otra, que el creador de un contrato no tiene acceso especial o privilegios sobre este.
Ambas invariables son sustituidas por la siguiente mรกxima en la EIP 867: ยซEl cรณdigo de un contrato puede ser borrado si el contrato se autodestruye y despuรฉs podrรญa sustituirse por el cรณdigo elegido por el creador original o por un contrato estandarยป, algo que Johnson asegura es retroactivo y que afecta a numerosos contratos escritos previamente.
En ese sentido, el desarrollador afirma que algunos sistemas como Etherdelta, cuyo protocolo es actualizado automรกticamente al emitir un nuevo contrato y destruyendo el anterior, serรญan afectados. Esto debido a que los usuarios no tendrรญan oportunidad de verificarlo, lo que permitirรญa que los desarrolladores puedan cambiar el cรณdigo del contrato sin hacerlo del conocimiento de sus usuarios.
Debido a los riesgos y el nivel de incertidumbre, no puedo recomendar personalmente ninguna de las cuatro variantes de esta propuesta para ser adoptada. Soy escรฉptico sobre si alguna de estas variantes de la propuesta puede aliviar los riesgos involucrados como para que valga la pena, aunque estoy dispuesto a considerar nuevas variantes con mente abierta.
Vitalik Buterin
Cofundador
Si en algo coinciden tanto Parity como los detractores de la propuesta EIP 867 es en la integridad del protocolo de Ethereum, lo cual lo hace libre de responsabilidades por lo ocurrido; aunque Parity piense que puede hacerse un esfuerzo por compensar a los usuarios afectados.
No debemos tener la ilusiรณn de que desbloquear estos fondos pasarรก por otra cosa que no sea una operaciรณn de rescate, pues esto es solo posible con una bifurcaciรณn forzada. En ninguno de estos casos fue falla especรญfica del protocolo. Las cuestiones acerca de la usabilidad, los problemas del cรณdigo base de las entidades privadas y el cรณdigo de la fundaciรณn, el inesperado surgimiento de una red competidora y el error de los usuarios ha contribuido a lo que llegamos hoy. Ethereum es hoy en dรญa un protocolo sรณlido y continรบa evolucionando.
Vitalik Buterin
Cofundador
A pesar de que mรกs adelante desestiman las bifurcaciones forzadas, sรญ seรฑalan que muchos de los fondos perdidos son recuperables, ante lo que propusieron tres soluciones: la primera, emplear la EIP 156ย puesta sobre la mesa porย Vitalik Buterin. La segunda, tomar como objetivos direcciones especรญficas donde se almacenen fondos robados y extraerlos forzadamente de allรญ, sin cambiar el protocolo de Ethereum.ย La tercera, es la EIP 856, basada en ยซresucitarยป los contratos inteligentes autodestruidos con un cambio de cรณdigo en el protocolo.
Ante este panorama, el equipo de desarrolladores de Ethereum no ha tomado una decisiรณn definitiva. Aunque las discusiones al respecto no han cesado en la comunidad y se espera que se obtenga una posiciรณn unitaria al final del camino, que permita la continuaciรณn de esta plataforma sin la necesidad de llegar a sufrir una nueva separaciรณn de la cadena y de la comunidad.
Imagen destacada por: Alexander Limbach / stock.adobe.com