Ver más

Proof-of-Work y la industria software como el mayor depredador de energía

5 mins
Editado por Martín Robaldo
Únete a Nuestra Comunidad de Trading en Telegram

EN RESUMEN

  • Es la Ingeniería del Software en general la que debe adquirir un mayor compromiso con la sostenibilidad.
  • ¿Es Proof-of-Work ineficiente con el consumo de energía?
  • Nos enfrentamos a un importante debate relacionado con la sostenibilidad de estas infraestructuras.
  • promo

Hace unos meses se produjo un importante debate sobre la posibilidad de prohibir
determinados criptoactivos: los vinculados a blockchains que utilizan mecanismos de consenso de prueba de trabajo (PoW), y que es el método utilizado por las principales redes blockchain, como Bitcoin y Ethereum (Recientemente, esta última red ha cambiado a Proof-of-Stake (POS).

Esto ha ocurrido en el marco de la Unión Europea, en relación con la propuesta de Regulación de Mercados de Criptoactivos (MiCA). Aunque la Comisión de Asuntos Económicos y Monetarios del Parlamento Europeo votó en contra de dicha prohibición, nos enfrentamos a un importante debate relacionado con la sostenibilidad de estas infraestructuras, sobre todo por el inmenso desperdicio de energía que suponen los mencionados mecanismos de consenso.

¿Es Proof-of-Work ineficiente con el consumo de energía?

¿Pero de verdad existe ese desperdicio? Definitivamente, sí.

Conviene recordar cómo funciona la prueba de trabajo (PoW) en la blockchain: los bloques los ordenan los mineros, sellándolos con el resultado de una serie de operaciones criptográficas, que finalmente recompensan con una cantidad de criptomoneda al nodo minero que logre un valor determinado, generando el bloque para ser verificado por el resto de los nodos.

Minería de Bitcoin

El objetivo es que sea más beneficioso esa recompensa que utilizar la capacidad de cómputo para manipular la cadena de bloques. Este es el método más seguro para evitar comportamientos deshonestos, ya que alternativas como la prueba de participación (PoS) no proporcionan las mismas garantías.

Pero seamos objetivos: es un enorme desperdicio de cómputo (y por extensión, de energía), que no aporta valor, salvo a la seguridad de la red (y a los mineros). Si encima nos situamos en el contexto actual, con un conjunto de medidas de ahorro energético para paliar el impacto de la guerra de Ucrania, debemos reconocer que es necesario encontrar soluciones a este despilfarro de energía desde la Ingeniería del Software. Por cierto, no me vale el argumento de que gran parte de que esa energía proviene de fuentes 100% renovables (de verdad, no sé de dónde sacan ese dato), porque sigue siendo eso: un desperdicio.

¿Cómo nació el concepto de PoW?

Ahora bien, conviene aportar algunos elementos de juicio que muchos colegas que atacan a la blockchain parecen haber olvidado. La idea que subyace en PoW creo que podemos ubicarla en los inicios de la expansión de Internet, a principios de los 90. En ese momento empezaron los envíos de correo masivo (el spam), y para proteger a los servidores se comenzó a requerir a los clientes un coste computacional previo al envío, como algunas operaciones aritméticas complejas, para desincentivar esos envíos masivos.

Existen incluso ejemplos anteriores, pero es en 1999 cuando Markus Jakobsson y Ari Juels caracterizan el concepto de proof-of-work con la siguiente definición:

“Un probador le demuestra a un verificador que ha realizado una cierta cantidad de trabajo computacional en un intervalo de tiempo específico”.

Sin ir más lejos recientemente, en un diseño de arquitectura basado en una red p2p, nos planteamos en Open Canarias el PoW como mecanismo para prevenir que un atacante generara miles de nodos por segundo para colapsar el tráfico de la red. 

La industria software como el mayor depredador de energía

Pero existe otro escenario donde el desperdicio de energía es flagrante, pero en cierto modo resulta inevitable: la ofuscación de passwords (palabras clave) con las que nos autenticamos en las aplicaciones y servicios. Esta ofuscación se realiza también con una función de hash, que deriva un resultado a partir del cual no se puede extraer la password original.

Cuando hablamos de funciones de hash podemos pensar en estándares como MD5, SHA-1 o SHA-256, pero el problema es que estas funciones son rápidas y eficientes, y un atacante puede realizar millones de combinaciones hasta encontrar la que permite el acceso (ataque de fuerza bruta). En realidad, usamos métodos como PBKDF2 (Password-Based Key Derivation Function 2), en el que forzamos una ralentización a través de la aplicación de múltiples iteraciones, que inhabilitan al mismo tiempo el potencial de cálculo de las GPUs (sí, la utilizadas por los mineros). Este enorme incremento del coste computacional que se produce miles de millones de veces al día tiene un efecto directo: un desperdicio inmenso de energía ¿Alguien se atreve a calcularlo? .

Quantum vs Bitcoin

Llegados a este punto, y más allá de estos escenarios específicos de desperdicio de energía, debemos reconocerle a la industria del software el “mérito” de ser, probablemente, el mayor depredador de energía. Mientras que otras industrias han tratado de hacer que sus productos, servicios y cadenas de suministro sean más eficientes desde el punto de vista energético, la realidad es que en el desarrollo de software la huella energética no es uno de los factores a tener en cuenta.

Cada pedacito de tiempo ahorrado en la ejecución de un programa, o en la desactivación de servicios innecesarios, generalmente reducirá nuestro consumo de energía, pero esto tampoco sirve si los lenguajes más populares, como Python o Javascript, representan un auténtico despilfarro de tiempo de cómputo, y a pesar de eso los seguimos utilizado para todo tipo de escenarios, incluso para los que no fueron concebidos. Bueno, vamos a dejarlo ahí, porque este tema se merece un desarrollo más amplio, y además requiere de la aportación de evidencias empíricas sobre estas afirmaciones. 

Como conclusión, me gustaría trasladar un mensaje de sosiego para este tipo de discusiones. Recuerdo el debate sobre el MiCA en las redes sociales, y cómo los talibanes a favor y en contra de la tecnología blockchain se atrincheraban en sus posiciones. Esta tecnología no deja de ser una solución al problema de representar y transferir valor a través de Internet, y el despilfarro de energía de PoW tiene sentido al objeto de ofrecer el máximo grado de seguridad y confianza en esas transacciones. Otras tecnologías de registro distribuido en general, y algunas blockchain en particular, aportan soluciones a otros muchos problemas, y probablemente aporten una reducción de la huella energética en muchos procesos económicos e industriales. En realidad, es la Ingeniería del Software en general la que debe adquirir un mayor compromiso con la sostenibilidad, y dejar de inhibirnos ante el problema que ocasionamos.

Sobre el autor: Antonio Estevez

Antonio Estevez BeInCrypto

Desarrollador de software con una experiencia cercana a los 40 años de profesión, dominando múltiples lenguajes de programación y plataformas, que van desde el desarrollo de aplicaciones en lenguajes como COBOL y FORTRAN en entornos heredados mainframe, hasta modernas arquitecturas de micro servicios basadas en lenguajes como Go o Rust. Fue responsable de informática en la Universidad de Laguna, habiendo liderado los procesos de transformación e informatización de la misma en la década de los 90. En el año 2000 se incorpora a Open Canarias con Director de Investigación y Desarrollo, convirtiendo a la empresa en un referente en nacional e internacional de la Ingeniería Dirigida por Modelos, destacando sus contribuciones en diferentes estándares, incluida una norma ISO, además de múltiples publicaciones científicas y la participación en dos libros sobre Ingeniería del Software. Desde el 2017 ha iniciado una nueva línea de trabajo en la compañía en el ámbito de tecnologías de registro distribuido en general, y de blockchain en particular, aplicando las capacidades de su equipo de Ingeniería del Software para facilitar la incorporación de dichas tecnologías en diferentes arquitecturas empresariales. En la actualidad su trabajo se haya centrado en lograr una mayor escalabilidad y eficiencia energética en estas tecnologías, facilitando además su incorporación en ámbitos como el de los dispositivos conectados y el IoT industrial.

¿Tienes algo que decir sobre Proof-of-Work (PoW) o cualquier otra cosa? Escríbenos o únete al debate en nuestro canal de Telegram. También puedes encontrarnos en Instagram, Linkedin, YouTube, Tik Tok, Facebook o Twitter.

Las opiniones publicadas en BeInCrypto no deben determinar ninguna decisión financiera de los lectores, son opiniones personales del autor.

Trusted

Descargo de responsabilidad

Descargo de responsabilidad: De conformidad con las pautas de Trust Project, este artículo de opinión presenta la perspectiva del autor y puede no reflejar necesariamente los puntos de vista de BeInCrypto. BeInCrypto sigue comprometido con la transparencia de los informes y la defensa de los más altos estándares periodísticos. Se recomienda a los lectores que verifiquen la información de forma independiente y consulten con un profesional antes de tomar decisiones basadas en este contenido.

antonio_estevez-e1663047916501.jpg
Antonio Estevez
Desarrollador de software con una experiencia cercana a los 40 años de profesión, dominando múltiples lenguajes de programación y plataformas, que van desde el desarrollo de aplicaciones en lenguajes como COBOL y FORTRAN en entornos heredados mainframe, hasta modernas arquitecturas de micro servicios basadas en lenguajes como Go o Rust. Fue responsable de informática en la Universidad de Laguna, habiendo liderado los procesos de transformación e informatización de la misma en la década de...
READ FULL BIO
Patrocinado
Patrocinado