Hechos clave:
-
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».
Let's be clear,
We're years away from PoS on Ethereum. Asics are already there. This situation is a textbook definition of core devs being in an echo chamber.
It's to late for #ProgPoW.
— Marc 'aDai is Money' Zeller (@lemiscate) February 23, 2020
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
— Tim Beiko | 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.