-
La decisión en torno a ProgPoW ha cambiado varias veces en los últimos 2 años.
-
El nuevo algoritmo de minería surgió como respuesta ante las ventajas de los ASIC.
Luego de que los desarrolladores de Ethereum hayan desestimado la idea de incluir ProgPoW (Programmatic Proof of Work ) en una próxima bifurcación, parece haber llegado a su fin una de las controversias más longevas en el entorno de esa red. Sin embargo, no es la primera vez que se frena la inclusión del nuevo algoritmo de minería, solo para retomar la polémica tiempo después.
Todo comenzó en mayo de 2018, cuando un grupo de mineros de Ethereum decidió desarrollar una propuesta para combatir las ventajas de los equipos de minería dedicada (ASIC) con respecto a los que funcionan con tarjetas gráficas (GPU). Así nació la Prueba de Trabajo Programática o ProgPoW, un algoritmo previsto como una solución que garantizaría la descentralización en la red.
La propuesta, qué y quiénes están detrás de ProgPoW
La intención detrás de este mecanismo se resume en «cerrar la brecha de eficiencia disponible para los ASIC especializados», según explicaron sus propios desarrolladores a través de la presentación de ProgPoW, o Propuesta de Mejora de Ethereum (EIP) 1057.
Si nos remitimos a la EIP 1057, podemos ver que para lograr su objetivo, ProgPoW «utiliza casi todas las partes del hardware básico (GPU) y viene sintonizado para el hardware más común utilizado en la red Ethereum».
El texto de presentación destaca que el nuevo algoritmo no busca evitar que los ASIC obtengan ganancias en el entorno de minería de la red, sino reducir la superioridad que estos equipos tienen con respecto al resto. Así, la ventaja pasaría a ser de apenas 1,1 o 1,2 con respecto a los GPU. Todo esto, según cálculos de los mismos desarrolladores.
En síntesis, si se aplicara ProgPoW, para los ASIC «debería haber pocas oportunidades de aumento de eficiencia en comparación con una GPU». El diseño del algoritmo se enfoca en que los requisitos de procesamiento se adapten a los recursos disponibles en el GPU.
Detrás de la introducción de la propuesta en los planes de desarrollo de Ethereum están Kristy-Leigh Minehan y Greg Colvin. La primera es CEO de Mineority, una empresa especializada en minería, mientras Colvin es desarrollador recientemente involucrado en el proyecto Algorand.
Acusaciones y rechazo a ProgPoW
La polémica comenzó poco después de que se hiciera la propuesta. Las posiciones contra ProgPoW, que las hubo desde el primer momento, se iban haciendo más fuertes a medida que pasaban los meses.
Incluso, se hicieron acusaciones sobre el presunto financiamiento a la propuesta de parte de Nvidia, una de las principales empresas fabricantes de GPU en el mundo. Una de las primeras críticas que recibió el proyecto de ProgPoW fue dirigido directamente contra Minehan, por sus supuestos vínculos con Nvidia. Según la acusación, el nuevo algoritmo respondía más a los intereses corporativos de Minehan y el fabricante, que a los principios de descentralización expuestos por sus desarrolladores.
Alexander Levin, quien se opuso desde que salió la propuesta, fue el encargado de acusar a Minehan. Según Levin, durante el tiempo que trabajó con Minehan en el proyecto ethOS, la propia CEO de Mineority «alardeaba» de sus relaciones con Nvidia. Incluso, según argumentó Levin a través de Reddit, Minehan llegó a decir que «Nvidia y sus ingenieros estaban trabajando estrechamente con ella para optimizar el hashrate específicamente para las GPU Nvidia».
Otras opiniones de miembros de la comunidad de Ethereum en Reddit alegan que ProgPoW es la verdadera amenaza a la descentralización de la red.
Otros, simplemente han manifestado estar en contra de bifurcar Ethereum para incluir un nuevo algoritmo de minería, mientras el mismo Levin apuntó, en una segunda publicación, que implementar ProgPoW podría poner la red en riesgo ante ataques del 51%.
Desacuerdos, auditoría y debate infructuoso
Ya en enero de 2019, durante una reunión de desarrolladores de Ethereum, se asomó la posibilidad de someter a ProgPoW a un período de prueba para su futura inclusión en una nueva bifurcación. En ese momento, uno de los promotores de la inclusión de ProgPoW, el desarrollador Hudson Jameson, aseguró que había muy poca resistencia con respecto a la propuesta en la comunidad.
A comienzos de febrero del año pasado, durante una llamada pública entre desarrolladores de Ethereum se aprobó la evaluación del código de ProgPoW en auditorías externas. Pero luego, desacuerdos sobre quiénes debían financiar una hipotética auditoría retrasaron el proceso. Para Ameen Soleimani, CEO de SpankChain, los mineros tendrían que ser los responsables del financiamiento, mientras otros consideraban que los fondos debían salir de la Fundación Ethereum.
Entre discusiones y desacuerdos constantes, no fue sino hasta finales de abril de 2019 cuando los desarrolladores aprobaron un financiamiento por unos USD 50.000. Los fondos fueron recaudados con diversas donaciones de proyectos ligados al entorno de Ethereum. La auditoría quedó a cargo de la empresa Least Authority, especializada en seguridad informática.
Casi cuatro meses después, llegaron los resultados de la auditoría al código de ProgPoW. En el estudio, el equipo de Least Authority presentó algunas propuestas para mejorar el algoritmo. Especialmente plantearon reforzar la defensa contra posibles ataques y desarrollar mejor los documentos relacionados con la propuesta, para una comprensión más sencilla entre la comunidad de Ethereum.
En cuanto al funcionamiento, el informático exmiembro de Intel, Bob Rao, determinó que ProgPoW se desenvuelve bien «para mitigar las estrategias de ASIC convencionales que solo aborden la aceleración de cómputo del algoritmo de memoria», aunque consideró que seguía existiendo «una amenaza inminente para los algoritmos de uso intensivo de memoria en general».
Los resultados de las auditorías no fueron suficientes para alcanzar un acuerdo entre los desarrolladores de Ethereum. El desacuerdo llegó al punto en que Hudson Jameson propuso abrir un nuevo debate abierto sobre el tema. A pesar de ello, no hubo grandes avances en el tema, hasta febrero de este año.
¿Posible desenlace?
En febrero de este año la polémica parecía llegar a su fin. En esa fecha, se anunció de una decisión que se presentaba como definitiva: ProgPoW llegaría en una bifurcación prevista para el mes de julio.
Pero la decisión duró poco. La comunidad se dividió nuevamente y hubo reacciones de todo tipo. Principalmente, la consideración fue que la forma en que se aprobó el nuevo algoritmo fue impuesta, además de que era «demasiado tarde para ProgPoW».
https://twitter.com/lemiscate/status/1231510961200271360
El propio Vitalik Buterin, fundador de Ethereum, se manifestó al respecto. El desarrollador consideró que la forma «ninja» en que se aprobó generaba mayor desconfianza sobre el sistema de gobernanza en Ethereum.
Además, un grupo de unos 90 firmantes introdujo a través de Github una solicitud en contra de la implementación de una bifurcación para agregar ProgPoW. En esa declaración, que incluía a miembros de MakerDAO, Spankchain o Uniswap, se argumentaba que un cambio a esas alturas fomentaba la «división» en la comunidad.
El texto también respaldaba la visión de que ya había pasado el tiempo para incluir ProgPoW en la cadena original de Ethereum. Precisamente, una de las principales consideraciones contra la propuesta era lo inoportuno de bifurcar la red para incluir un nuevo algoritmo de Prueba de Trabajo, cuando se acerca el paso a la versión 2.0 de la red. Precisamente, porque Ethereum 2.0 representa el paso al mecanismo de consenso POS (o Prueba de Participación).
Al respecto, Kristy-Leigh Minehan aseguró el año pasado que el equipo detrás de ProgPoW estaba consciente de esa situación. «Nuestro trabajo puede terminar siendo un esfuerzo que solo tiene un valor a corto plazo», escribió en su momento. Pero mantuvo su defensa alegando que «como una bolsa de aire, vale la pena tenerlo en caso de un accidente».
Tras tantos desacuerdos, el propio Hudson Jameson, promotor activo de implementar ProgPoW, a principios de este mes llegó a la conclusión de que no sería viable implementar el nuevo mecanismo en Ethereum.
«ProgPoW no vale la pena y está muerto debido a la abrumadora evidencia de disenso de la comunidad», escribió Jameson en su web. En la misma publicación, aseguró que la comunidad no se sentía igual que en 2019, cuando sí había un apoyo mayoritario al nuevo algoritmo.
Finalmente, el 6 de marzo los desarrolladores acordaron no implementar el cambio en la fecha antes anunciada. Poco antes, un investigador halló una posible falla en la función de hashing de ProgPoW. Este elemento podría haber influido en la decisión final.
Pero la historia no está necesariamente cerrada. Al dar detalles sobre la decisión tomada por los desarrolladores, Tim Beiko, gerente de Producto de Ingeniería del Protocolo PegaSys, destacó que la propuesta permanecería como «aceptada», por ahora.
ProgPow’s not going into a fork anytime soon, there may be some work done on variations of it (I.e. Ben’s proposal, a fix for the bugs, etc.), it’s clear that everyone’s #1 priority is to not split the network
— timbeiko.eth (@TimBeiko) March 6, 2020
Este algoritmo «no está programado para ninguna actualización específica en este momento», escribió Beiko. En esta afirmación es posible entrever que la polémica podría revivir en algún momento.