El protocolo de Prueba de Trabajo (PoW): recopensas a cambio de resolver "retos criptográficos"
El protocolo de Prueba de Trabajo (Proof of Work o PoW) establece que, para poder incluir un nuevo bloque con transacciones en una cadena de bloques (blockchain), se debe resolver un reto criptográfico mediante un proceso de prueba y error.
Los mineros que participan en la validación de las redes blockchain que funcionan con un mecanismo de consenso PoW son los encargados de encontrar la resolución de los retos criptográficos. Para encontrar esta solución, necesitan uno o varios ordenadores conectados entre sí, que les aporten la capacidad computacional de ejecutar numerosas operaciones matemáticas hasta dar con el resultado correcto. El primer minero en resolver el reto criptográfico es quien realiza la validación del bloque de transacciones y, por tanto, es quien recibe la recompensa correspondiente.
Este reto criptográfico se basa en encontrar un parámetro, conocido como “nonce”, de forma que al incluirlo en un bloque propuesto el cálculo de su función “hash” de un resultado buscado. Esta función convierte cualquier dato, con independencia de su tamaño, en un conjunto de caracteres (números y letras) de longitud fija, sin que sea posible a partir de estos caracteres inferir sobre qué datos se ha calculado. Por tanto, únicamente puede encontrarse mediante prueba y error. El contenido del bloque (las transacciones registradas en él) es el input, al que se le va añadiendo sucesivamente un “nonce” diferente y calculando la función hash hasta que se consigue el output que cumpla con el reto establecido.
Al resolverse el reto, se crea un bloque que se añade a la blockchain y, por tanto, se confirman las transacciones incluidas en él, generándose nuevas recompensas para los mineros en forma de criptoactivos.
De esta forma, el proceso funciona de la siguiente forma:
A través de los diferentes nodos, se transmiten transacciones que se almacenan en una memoria (“mempool”).
Cada minero agrupa una cantidad de estas transacciones en un bloque y comienza a calcular funciones hashes sobre este bloque cambiando el “nonce” hasta que el resultado cumple con el reto. El reto consiste en que dicho resultado contenga un número determinado de ceros a la izquierda, esto es, que sea menor a un número dado.
Los mineros “compiten entre sí” para llevar a cabo la resolución de este reto criptográfico en su bloque propuesto y así validar el bloque.
Cuando un minero consigue resolver el reto, compartirá esta solución con el resto de la red para que los otros nodos procedan validarla, revisando que cumpla con los requisitos exigidos.
Si se valida la resolución del reto criptográfico y se verifica así que las transacciones del bloque son válidas, el nodo recibe una recompensa en forma del criptoactivo vinculado a la cadena de bloques (blockchain) sobre la que esté trabajando. Adicionalmente, el minero también recibe las comisiones por transacción que pagan los nodos que proponen registrar transacciones en la red.
Pros y contras del Protocolo de Prueba de Trabajo (Proof of Work o PoW)
En el lado de las ventajas podemos encontrar:
Descentralización: permite que cualquier persona pueda participar en la creación y validación de bloques en la red.
Seguridad: es más seguro debido a la gran cantidad de potencia computacional que se necesitaría para poder hackear la cadena de bloques (blockchain) y realizar un doble gasto o alterar la información contenida en las transacciones. Cuantos más nodos validadores haya en una red, más segura será.
En el lado opuesto, presenta las siguientes desventajas:
Consumo de energía: Tal y como se ha detallado anteriormente, los mineros deben ´competir entre sí´ para resolver el reto criptográfico y así validar y crear nuevos bloques y obtener recompensas por ello. Para ello, los nodos se encuentran trabajando continuamente, consumiendo grandes cantidades de energía eléctrica, lo que se ha convertido en un problema ambiental y de sostenibilidad. Se estima que el consumo de energía anual vinculado a la red Bitcoin es similar al consumo de energía de un país como Argentina.
Ataques del 51%: los ataques del 51% ocurren cuando un grupo de mineros obtiene el control del 51% o más de la capacidad de cálculo en una red. Esto les podría dar el poder de manipular la cadena de bloques (blockchain). Si bien los ataques del 51% son difíciles y costosos de llevar a cabo, especialmente a medida que la red se va descentralizando más al añadir nuevos nodos, la posibilidad de que ocurran es una preocupación importante.
Lentitud en las transacciones: debido al funcionamiento del consenso, la creación y validación de bloques puede ser un proceso lento, lo que puede retrasar la validación de transacciones en una cadena de bloques (blockchain). Por ejemplo, la red Bitcoin valida un nuevo bloque cada aproximadamente 10 minutos (y, por lo tanto, las transacciones no están validadas ni son firmes en dicho intervalo), lo que es significativamente más lento que algunos sistemas de pago tradicionales como las tarjetas de crédito o las transferencias instantáneas.