-
ProgPoW está diseñado para que las GPU compitan al mismo nivel contra las ASIC.
-
Este algoritmo no dejaría sin recompensa a las ASIC, pero sí reduciría su ventaja.
Uno de los principios de blockchains como la de Ethereum radica en la descentralización de su poder de procesamiento. De allí que la existencia de los hardware de minería dedicada ASIC sean una amenaza, dada su capacidad de asumir gran parte del poder de la red. Allí entra precisamente la propuesta de implementar ProgPoW (Programmatic Proof of Work o Prueba de Trabajo Programática) en la próxima bifurcación fuerte de Ethereum.
“ProgPoW es un algoritmo de prueba de trabajo diseñado para cerrar la brecha de eficiencia disponible para los ASIC especializados. 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”, describe el texto introductorio del proyecto, en el repositorio de GitHub de la propuesta de los desarrolladores de Ethereum.
En el mismo documento, sus desarrolladores aclaran que aún con la implementación de este algoritmo no se suprimiría el beneficio para los ASIC de minería. “Si bien todavía es posible un ASIC personalizado para implementar este algoritmo, las ganancias de eficiencia disponibles son mínimas”, reza el texto explicativo de las cualidades del algoritmo.
Comparado con el resto de algoritmos de Prueba de Trabajo, las ganancias con ProgPoW serían mínimas. Con este algoritmo, la eficiencia de los ASIC representa una ventaja de apenas 1,1 o 1,2 veces, según datos suministrados por los propios desarrolladores del proyecto.
ProgPoW está diseñado para que los requisitos de procesamiento se adapten a los recursos disponibles en el GPU (o tarjetas gráficas). En palabras de los desarrolladores, esto quiere decir que «si el algoritmo se implementara en un ASIC personalizado, debería haber pocas oportunidades de aumento de eficiencia en comparación con una GPU».
Breve histórico de ProgPoW
La propuesta de este algoritmo data de al menos mayo de 2018. ProgPoW fue presentado ese mes durante una reunión entre el equipo de desarrolladores de la red de Ethereum, luego de que los ASIC se expandieran a su red, además de otras como la de Zcash o Monero. Anteriormente, estos hardwares solo se habían desarrollado para los protocolos de minería de Bitcoin.
El nombre de Prueba de Trabajo Programática se debe al funcionamiento del código: “proviene del hecho de que el bucle interno entre los accesos a la memoria global es un programa generado aleatoriamente basado en el número de bloque”, explican sus desarrolladores. Ese programa aleatorio, además, “evita la creación de una implementación de canalización fija como se ve en un ASIC especializado”.
En enero de este año, durante otra reunión de los desarrolladores de la red, hubo un apoyo generalizado a la implementación del algoritmo contra los ASIC. Hudson Jameson, uno de los desarrolladores, aseguró entonces que había cierto nivel de consenso en torno a ProgPoW.
A menos que se encuentre un problema importante con las pruebas o cosas de esa naturaleza, seguiremos adelante con ProgPoW.
Hudson Jameson, desarrollador de Ethereum.
Desacuerdos, polémicas y acusaciones
El futuro a largo plazo de Ethereum parece definido. La llegada de la red 2.0 significará el paso del protocolo PoW a PoS (Prueba de Participación). Por lo tanto, una de las interrogantes del ecosistema sobre la inclusión de ProgPoW ha sido precisamente si es necesaria tomando en cuenta que la idea es abandonar el algoritmo de Prueba de Trabajo (PoW).
Una de las desarrolladoras detrás del proyecto, y CEO de la empresa especializada en minería con GPU Mineority, Kristy-Leigh Minehan, aseguró el año pasado: “nuestro trabajo puede terminar siendo un esfuerzo que solo tiene un valor a corto plazo, pero, como una bolsa de aire, vale la pena tenerlo en caso de un accidente”.
De hecho, inicialmente el planteamiento era incluir el algoritmo en la bifurcación Constantinople. Sin embargo, esa bifurcación llegó en febrero pasado sin incluir ProgPoW. Al poco tiempo, el tema comenzó a volverse polémico entre la comunidad.
Para Alexander Levin, presidente de gpuShack.com y fundador de ethosdistro.com, esta propuesta es una movida financiada por la empresa NVIDIA. Según él, ProgPoW no buscaría solo combatir a los ASIC sino beneficiar particularmente a los GPU de NVIDIA, que pelea por la supremacía en este mercado con la fabricante AMD.
Levin también mostró preocupación ante la posibilidad de que la llegada de ProgPoW abriera las puertas a un ataque de 51% a la red. Este ataque podría suceder, insistió Levin, por una eventual maximización del hash rate de los GPU. Especialmente de los producidos por NVIDIA.
Futura llegada de ProgPoW a Ethereum
Desarrolladores de Ethereum decidieron someter el código de ProgPoW a auditorías externas para contrarrestar esas preocupaciones. En abril pasado, el equipo de programadores de Ethereum anunció finalmente contar con el financiamiento para la auditoría, que tendría este mes de julio de 2019 como fecha estimada de finalización.
Como ya había adelantado el desarrollador Hudson Jameson, los planes de inclusión de ProgPoW en la cadena principal de Ethereum siguen en marcha. Solo lo podría evitar el hallazgo de alguna falla grave en su código, argumentó en su momento el propio Jameson.
Así, se espera que el código llegue a la red a finales de este año. Se estima que para el mes de octubre se ejecute la última bifurcación de Ethereum antes del paso a la red 2.0. En esa bifurcación, llamada Istanbul, se incluiría ProgPoW.
Aunque la 2.0 de Ethereum supondrá el paso de PoW a PoS, ambas cadenas funcionarán paralelamente por un tiempo aún indeterminado. En ese período, los desarrolladores continuarán mejorando la cadena original, según el propio equipo ha explicado. Por ahora, tienen planes hasta el año 2022, aunque esa fecha no incluye el paso definitivo a la red 2.0. Por lo tanto, si ProgPoW llega con Istanbul, estará al menos 3 años en funcionamiento.