Proof of Work (PoW): cómo los mineros aseguran una blockchain

Proof of Work (PoW): cómo los mineros aseguran una blockchain

La prueba de trabajo (proof of work, PoW) es un mecanismo de consenso, una regla que permite que muchas computadoras se pongan de acuerdo sobre un mismo registro compartido sin necesidad de una entidad central, en el que los participantes demuestran un esfuerzo computacional costoso que cualquiera puede verificar rápidamente. En Bitcoin, ese esfuerzo consiste en encontrar el hash de un bloque que sea igual o inferior a un objetivo establecido.

La prueba de trabajo comenzó como una defensa contra el correo basura

La idea detrás de la prueba de trabajo se propuso para combatir el correo basura años antes de que existiera Bitcoin. En un artículo titulado “Pricing via Processing or Combatting Junk Mail”, presentado en 1992 y publicado en 1993, Cynthia Dwork y Moni Naor sugirieron que un usuario debía realizar un cálculo moderadamente difícil para poder acceder a un recurso compartido. El costo buscaba desalentar el uso frívolo, y los autores apuntaban en particular al correo basura.

En general, una prueba de trabajo es un dato costoso y lento de producir, pero fácil de verificar para los demás. Hashcash, un sistema creado por Adam Back, adjuntaba una prueba de este tipo basada en hash a cada correo electrónico para disuadir el spam y los abusos de denegación de servicio. La denegación de servicio consiste en inundar un servicio con solicitudes para que otros no puedan utilizarlo.

El whitepaper de Bitcoin, fechado el 31 de octubre de 2008 y publicado bajo el nombre de Satoshi Nakamoto, describe un diseño de prueba de trabajo similar al de Hashcash. Bitcoin lo utiliza para que una red de computadoras pueda ponerse de acuerdo sobre una única cadena de bloques sin necesidad de una entidad central.

¿Cómo funciona la prueba de trabajo en Bitcoin?

La minería de Bitcoin es el proceso de crear bloques válidos, y crear un bloque válido requiere demostrar la prueba de trabajo. Un minero es un participante que intenta encontrar un bloque válido. Un minero comienza agrupando las transacciones pendientes en un bloque candidato, que es un lote de transacciones propuestas para la cadena. Luego, el minero completa el encabezado del bloque, un resumen de 80 bytes de ese bloque.

Bitcoin aplica el hash SHA-256 al encabezado dos veces, un método llamado doble SHA-256. SHA-256 es una función hash criptográfica. Una función hash convierte datos de cualquier tamaño en una huella de longitud fija llamada hash. La prueba de trabajo establece una sola condición: leído como número, el hash del encabezado debe ser igual o inferior al objetivo.

El objetivo es un umbral que el hash de un bloque válido no debe superar. La dificultad de red mide cuánto más difícil es alcanzar el objetivo actual en comparación con el objetivo más fácil permitido por las reglas. Cuando el objetivo baja, la dificultad de red sube, y un objetivo más bajo deja menos hashes aceptables, por lo que la búsqueda tarda más.

Para obtener un hash diferente, el minero cambia el nonce, un número de 32 bits almacenado en el encabezado. Luego, el minero aplica el hash al encabezado, compara el resultado con el objetivo y repite el proceso. Esta búsqueda suele llamarse acertijo de hash, pero no se resuelve nada mediante ingenio: en promedio, un hash igual o inferior al objetivo solo puede encontrarse mediante una cantidad correspondiente de trabajo por fuerza bruta, es decir, probando valor tras valor.

La siguiente tabla ofrece un ejemplo de la misma búsqueda a escala de juguete. La regla es inventada, no es la regla real de Bitcoin, y aplica SHA-256 una sola vez en lugar de dos. El resumen SHA-256 del texto “hello” seguido de un nonce debe comenzar con una cantidad determinada de ceros. Los resúmenes se escriben en hexadecimal, una notación en base 16 que usa los dígitos 0-9 y las letras a-f. Un resumen que comienza con ceros es un número pequeño, por lo que cada regla funciona como un objetivo.

Regla

Entrada (texto más nonce)

Resumen SHA-256

Resultado

El resumen comienza con 000

hello0

5a936ee19a0cf3c70d8cb0006111b7a52f45ec01703e0af8cdc8c6d81ac5850c

Falla (empieza con 5)

El resumen comienza con 000

hello1

91e9240f415223982edc345532630710e94a7f52cd5f48f5ee1afc555078f0ab

Falla (empieza con 9)

El resumen comienza con 000

hello2

87298cc2f31fba73181ea2a9e6ef10dce21ed95e98bdac9c4e1504ea16f486e4

Falla (empieza con 8)

El resumen comienza con 000

hello10284

0006bc9ad4253c42e32b546dc17e5ea3fedaecdabef371b09906cea9387e8695

Pasa en el intento 10,285

El resumen comienza con 0000

hello60067

0000e49eab06aa7a6b3aef7708991b91a7e01451fd67f520b832b89b18f4e7de

Pasa en el intento 60,068

En esta búsqueda de juguete, cada cero adicional multiplica por 16 el número promedio de intentos. Una regla de tres ceros requiere en promedio unos 4,096 intentos, y una regla de cuatro ceros unos 65,536, pero una búsqueda individual puede requerir más o menos intentos, como muestran las dos filas que pasan la prueba: 10,285 es más que 4,096, y 60,068 es menos que 65,536. Comprobar cualquiera de estos resultados requiere un solo cálculo de SHA-256.

La búsqueda real de Bitcoin es mucho mayor. El número esperado de hashes por bloque equivale aproximadamente a la dificultad de red multiplicada por 2 elevado a la potencia 32. En octubre de 2026, eso representa más de 500 trillones (sextillones, según la escala larga) de hashes por bloque en promedio, y la cifra cambia cada vez que se ajusta la dificultad de red. Un sextillón es un 1 seguido de 21 ceros.

Verificar el trabajo de un bloque es mucho más barato que producirlo. Un nodo es una computadora en la red de Bitcoin que comprueba los bloques según las reglas de la red. Para verificar el trabajo de un bloque, un nodo recalcula una vez el doble hash SHA-256 del encabezado del bloque y lo compara con el objetivo. Producir el bloque requirió esa cantidad de intentos, y verificarlo requiere un solo cálculo de hash. Esa diferencia es lo que convierte al trabajo en una prueba.

La prueba de trabajo permite que los nodos se pongan de acuerdo sobre una única cadena sin una entidad central

Dos mineros pueden encontrar bloques válidos casi al mismo tiempo, lo que deja a la red con versiones de la cadena en competencia. La prueba de trabajo le da a cada nodo una regla para decidir: un nodo sigue la cadena con más trabajo acumulado detrás, que es la cadena que sería más difícil de recrear. Como cualquiera puede verificar el trabajo, ninguna entidad central tiene que decidir qué cadena es la válida.

Cada bloque contiene el hash del bloque anterior, por lo que modificar un bloque pasado implica rehacer el trabajo de ese bloque y de todos los bloques posteriores. La prueba de trabajo está diseñada para que reescribir la historia resulte costoso, y el costo de modificar un bloque determinado aumenta con cada bloque añadido después de él.

La prueba de trabajo también incide en el doble gasto, el intento de gastar el mismo BTC dos veces. Revertir un pago que ya está incluido en un bloque implicaría rehacer ese trabajo.

Los mineros reciben el subsidio y las comisiones, y la dificultad de red marca el ritmo

En Bitcoin, el minero cuyo bloque válido es aceptado por la red recibe la recompensa del bloque. La recompensa tiene dos partes: el subsidio de bloque, que son BTC de nueva creación, y las comisiones de transacción pagadas por los usuarios cuyas transacciones están incluidas en ese bloque. En octubre de 2026, el subsidio para los mineros ha sido de 3.125 BTC por bloque desde el último halving, en abril de 2024.

El subsidio de bloque se reduce a la mitad cada 210,000 bloques, un evento llamado halving que ocurre aproximadamente cada cuatro años. Solo el subsidio se reduce a la mitad, no las comisiones.

Cada 2,016 bloques, el protocolo de Bitcoin ajusta la dificultad de red. Mide cuánto tardaron esos bloques, usando los tiempos registrados en sus encabezados, y lo compara con 1,209,600 segundos, es decir, dos semanas. Luego reajusta el objetivo de forma proporcional, para que los bloques sigan llegando en promedio cada 10 minutos. Un único ajuste puede modificar la dificultad de red como máximo por un factor de 4 en cualquier dirección.

El hashrate es el número total de hashes por segundo que calculan las máquinas de la red. Cuando el hashrate sube, los bloques tienden a llegar más rápido que cada 10 minutos, y el siguiente ajuste eleva la dificultad de red. Cuando los bloques llegan demasiado lento, el ajuste reduce la dificultad de red. El ajuste solo mide los tiempos entre bloques: no cuenta mineros ni tiene en cuenta el precio del BTC.

El tiempo de bloque de 10 minutos de Bitcoin es un promedio, no una garantía para cada bloque individual. En un modelo estadístico de búsqueda de bloques, cerca del 63% de los bloques llega dentro de los 10 minutos posteriores al anterior.

¿En qué se diferencia la prueba de trabajo de la prueba de participación?

La prueba de trabajo y la prueba de participación (proof of stake) son ambos mecanismos de consenso que determinan qué participante añade el siguiente bloque a una blockchain. Una blockchain es un registro compartido formado por bloques enlazados en orden. La prueba de trabajo vincula ese derecho al trabajo computacional: un minero aplica hashes hasta que un bloque cumple con el objetivo.

La prueba de participación vincula ese derecho a las criptomonedas que un participante bloquea como garantía, lo que significa que las monedas quedan reservadas mientras el participante toma parte en la adición de bloques. Un participante que intente actividades ilegítimas puede ser penalizado.

Los dos mecanismos difieren en lo que un participante compromete: trabajo computacional en la prueba de trabajo, monedas bloqueadas en la prueba de participación.

¿Por qué la prueba de trabajo consume electricidad?

La minería de Bitcoin consume electricidad porque la prueba de trabajo es un cálculo real, y las máquinas que calculan consumen energía. El costo forma parte de la propia definición: una prueba de trabajo requiere ensayo y error para producirse, y en Bitcoin son las máquinas las que realizan ese ensayo y error.

Cada hash que calcula una máquina consume algo de energía, por lo que más hashes en total generalmente implica más energía consumida. Si se suman más máquinas, los bloques tienden a llegar más rápido, la dificultad de red aumenta en el siguiente ajuste, y cada bloque requiere entonces más hashes en promedio.

Algunos responsables de políticas públicas y planificadores de redes eléctricas han expresado su preocupación por cómo la electricidad que consumen los mineros de criptomonedas en Estados Unidos afecta el costo, la fiabilidad y las emisiones. Las estimaciones publicadas sobre el consumo eléctrico de Bitcoin varían según el método utilizado y el período que abarcan.

Un hash válido demuestra que se invirtió esfuerzo, no que una transacción sea válida

Un hash igual o inferior al objetivo demuestra que alguien realizó el trabajo. No demuestra nada sobre si las transacciones dentro del bloque son válidas. Un nodo completo acepta un bloque solo si todas las transacciones que contiene son válidas y no han sido gastadas previamente, y software de nodo como Bitcoin Core rechaza un bloque que reclame más que el subsidio más las comisiones, sin importar cuánto trabajo haya detrás de él.

La prueba de trabajo tampoco hace que la historia sea permanente. Lo que hace es encarecer la reescritura de la historia. Una parte que controle la mayor parte del hashrate de la red puede revisar el historial reciente de transacciones e impedir que las nuevas transacciones se confirmen. Esperar más confirmaciones, que son los bloques construidos encima del bloque que registra una transacción, aumenta el costo de revisarla sin eliminar esa posibilidad.

Tampoco la prueba de trabajo paga por el esfuerzo en sí. A nivel de protocolo, el hashing que no termina en un bloque aceptado no recibe ninguna recompensa de bloque, sin importar cuánta electricidad haya consumido.

27 de noviembre de 2025

Noticias de GoMining

Quizá le interese: