¿Qué es Proof of Work? El modo de minería de Bitcoin

  • Una prueba de trabajo o Proof of Work (PoW) es el consenso mediante el cual se valida e incluye cada una de las transacciones al libro mayor distribuido (ledger) de la blockchain.
  • El algoritmo de Proof of Work describe un sistema que requiere una cantidad de esfuerzo o trabajo, el cual, entre mayor sea, es más probable que disuada a los agentes maliciosos de realizar una acción.
  • Los hashes son el método utilizado en el Proof of Work para detectar las posibles manipulaciones que se dan en la blockchain.

Bitcoin (BTC) no solo es es la primera criptomoneda también es la de mayor capitalización del mercado y la de mayor valor, sin embargo, a pesar de su creciente popularización, aún hay conceptos relacionados al activo digital que son desconocidos para los usuarios y que son necesarios conocer para aquellos que buscan profundizar en el tema.

Uno de estos conceptos es el método de consenso llamado PoW por sus siglas en inglés de Proof of Work.

La mayoría de las principales criptomonedas del mundo utilizan este método como su algoritmo de consenso. Es el mismo consenso una de las bases fundamentales para el funcionamiento de Bitcoin y otras criptomonedas importantes como Ethereum (ETH), ya que es exactamente lo que se necesita para validar e incluir cada una de las transacciones al libro mayor distribuido (ledger) de la blockchain. Para ese proceso de consenso se utiliza la Prueba de Trabajo o Proof Of Work (PoW).

¿Qué es Proof of Work (PoW)?

PoW fue el primer algoritmo de consenso que surgió con la llegada de Bitcoin (BTC) en el 2008 y presentado por el desconocido Satoshi Nakamoto, pero en sí este tipo de tecnología de consenso ya había sido concebido muchos años en el pasado, como por ejemplo HashCash de Adam Back.

El algoritmo de Proof of Work describe un sistema que requiere una cantidad de esfuerzo o trabajo, no insignificante pero factible, para disuadir a los agentes maliciosos de realizar una acción, ya sea atacar a la red blockchain de Bitcoin, o realizar un 51% attack.

¿Cómo funciona el algoritmo PoW?

Sabemos que Bitcoin es una criptomoneda respaldada por un libro mayor distribuido conocido como blockchain. Esta red de cadena de bloques contiene el registro de todas las transacciones pasadas de Bitcoin organizadas por bloques registrados uno tras otro, de modo que ningún usuario desprevenido o atacante malicioso pueda revertir, cambiar o alterar ninguna de las transacciones agregadas a la blockchain.

Para evitar que esto ocurra, la blockchain es totalmente pública y distribuida, lo que quiere decir que cualquier persona con acceso al internet puede observar todos los registros históricos de BTC, y distribuido por qué no está almacenado en ningún servidor central, sino en la computadora de aquellas personas que creen y confían en las criptomonedas, o nodos.

Esto hace que  una versión alterada de la blockchain en cualquier parte del mundo sea rápidamente descartada, pues no estaría en consenso con todas las demás versiones.

Hashes, grandes cadenas de número e infinita seguridad

La forma en que la blockchain, por medio del algoritmo de Proof of Work, detecta las posibles manipulaciones es a través de los hashes, lo que es lo mismo a largas filas de números que son la prueba de que el trabajo fue cumplido. ¿Cuál trabajo?  Que cada transacción es única y fue validada correctamente por la mayoría de los nodos de la cadena de bloques, y por lo tanto es igual y siempre será igual por la eternidad.

En el dado caso que una transacción haya sido alterada por una parte, se generará un hash completamente diferente, y por lo tanto, como las transacciones se registran en bloques subsecuentes, en cadena, ocurrirá un efecto avalancha y se generará un hash diferente en todas las transacciones subsecuentes, dando como resultado una cadena de bloques totalmente irreconocible, y por lo tanto no en consenso con la versión pública y distribuida que la mayoría de nodos poseen.

Un esfuerzo no insignificante pero factible

Generar cualquier secuencia de números al azar para validar las transacciones de Bitcoin sería increíblemente fácil para cualquier computadora moderna, es aquí que lo mencionado al inicio entra en juego, recordemos que “el algoritmo de Proof of Work describe un sistema que requiere una cantidad de esfuerzo o trabajo, no insignificante pero factible”.

Un esfuerzo o trabajo no insignificante (difícil) pero factible son las palabras claves, pues la red blockchain de Bitcoin, por ejemplo, establece un nivel de dificultad para obtener este número de verificación.

Específicamente,en Bitcoin, la red está programada para que en promedio se valide 1 bloque cada 10 minutos. El ajuste de la dificultad se logra estableciendo un "objetivo" para el hash: cuanto menor sea el objetivo, menor será el conjunto de hashes válidos y más difícil será generar uno válido.

Los mineros entran en juego

Encontrar un número hash es difícil y altamente costoso por lo que el algoritmo de PoW requiere que un minero utilice una gran potencia informática para codificar los datos del bloque y encuentre la solución. Es tanto el poder de cómputo necesario que el consumo eléctrico para ello se está convirtiéndolo en uno de los principales costos para los mineros, y un problema para las organizaciones ecológicas y del medio ambiente.

Codificar los datos de cada bloque (Hashing), significa que el minero pasa una y otra vez los datos del bloque por la función hash, en su intento de generar el hash del bloque.

El hash del bloque funciona como una huella única, que identifica los datos de entrada y es único para cada bloque pasado y futuro, por lo que, el minero tendrá que proporcionar datos al azar, pasarlos por la función hash de Bitcoin, o cualquier otra criptomoneda, y que al final coincida con el hash del bloque.

Si no es así, tendrá que cambiar sus datos ligeramente para obtener un hash diferente. Cambiar incluso un carácter en sus datos dará como resultado un resultado totalmente diferente, por lo que, no hay forma de predecir cuál podría ser una salida. Como resultado, si quieres crear un bloque, estás jugando a adivinar.

Minería de Bitcoin

En resumen, la minería es el proceso de recopilar datos de la Blockchain y analizarlos hasta encontrar un hash en particular. Si encuentra un hash que cumple con las condiciones establecidas por el protocolo, transmitirá los datos a la red y se le pagará por su trabajo.

La minería es un proceso competitivo, pero es más una lotería que una carrera, y mientras mayor poder de cómputo tengas, más computadoras acumuladas o la mejor tecnología más posibilidades tienen de ganar la recompensa.

Es por esto que los mineros se agrupan en pools para aumentar sus posibilidades de conseguir el número mágico del hash, que permita validar el bloque, incluirlo en la cadena y recibir la preciada recompensa, que en el caso de Bitcoin, es la única manera que nuevos BTC son acuñados.

Te podría interesar: