Início » Guías para Principiantes en el Mercado de Criptomonedas » ¿Qué es Proof of Work? Descubre qué es y su importancia

¿Qué es Proof of Work? Descubre qué es y su importancia

La prueba de trabajo, o Proof of Work como también se le conoce, o incluso POW por sus siglas en inglés, es un factor esencial en la minería de criptomonedas. En otros artículos, ya hemos visto cómo funciona la minería tanto de Bitcoin como de Ether (ETH). Aunque el proceso es diferente, ambas criptomonedas tienen una gran similitud: su mecanismo de consenso. Tanto Bitcoin como Ethereum utilizan el tipo de minería conocido como Proof of Work (Prueba de Trabajo, o POW en inglés).

Pero, ¿qué es este consenso en la minería? ¿Cómo funciona la minería mediante Proof of Work? ¿Y qué hace que sea uno de los mecanismos más seguros para minar criptomonedas? Estas son cuatro preguntas que pretendemos responder en este texto, además de explicar los siguientes factores:

¿Cuál es el papel de la Prueba de Trabajo en la seguridad del Bitcoin? ¿Cuáles son los principales puntos de este mecanismo de consenso? ¿Cómo se realizan y verifican las transacciones en la blockchain? De qué manera funciona la Prueba de Trabajo.

Prueba de Trabajo y la seguridad de las criptomonedas

El mecanismo de Prueba de Trabajo tal como lo conocemos hoy fue desarrollado por Satoshi Nakamoto junto con Bitcoin. Se inspiró en otro mecanismo similar desarrollado en 1997 por el criptógrafo británico Adam Back. El uso inicial de este primer ejemplo de POW era combatir el envío masivo de correos electrónicos, el famoso spam.

En el sistema de Back, cada vez que se enviaba un correo electrónico, el remitente debía realizar una pequeña verificación computacional antes del envío. Esta verificación era rápida y simple para quien enviaba solo un mensaje. Sin embargo, cuanto más mensajes se enviaran, mayor sería la dificultad de la verificación. Así, el programa (que Back llamó Hashcash) hacía más difícil el envío masivo de mensajes.

El tipo de POW utilizado en Bitcoin cumple básicamente dos funciones. La primera de ellas es permitir el consenso en la red de Bitcoin, mientras que la segunda es garantizar su seguridad. El consenso se utiliza en la aprobación de las transacciones, mientras que la seguridad proporcionada por el POW evita el problema del doble gasto.

Transacciones en la blockchain y el mecanismo de consenso

La blockchain de Bitcoin hoy en día es una de las redes más utilizadas en el mundo. Actualmente, se procesan más de 250 mil transacciones por día. Sin embargo, estas operaciones no ocurren de forma instantánea: para que una transacción se efectúe, debe ser aprobada en la blockchain, en un proceso que toma en promedio 10 minutos.

Número de transações confirmadas por dia na blockchain do Bitcoin. Fonte: Blockchain.com

Y es aquí donde comienza lo que podría ser un gran problema. Primero, para que se confirmen, estas transacciones deben ser aprobadas por los miembros de la red. Los nodos completos (full nodes) son algunos de esos miembros. Ellos se encargan de la validación de cada una de esas 250 mil transacciones diarias.

Sin embargo, existen alrededor de 10,5 mil nodos repartidos por todo el planeta. Y, dado que la red de Bitcoin es descentralizada, no hay ninguna persona o empresa que coordine el trabajo de esos nodos. En su lugar, ese consenso se obtiene a través del mecanismo de POW, que logra tener éxito incluso con un grupo tan diverso.

Distribuição global de nós da rede do Bitcoin. Fonte: bitnodes.io

Cada uno de estos nodos posee una copia exacta de la blockchain de Bitcoin. Estas copias están almacenadas en los ordenadores y se actualizan en tiempo real. Dado que la blockchain es pública, cualquier persona puede verificar las transacciones que se han realizado. Y en el caso de los nodos, también pueden validar las transacciones.

Mempool y Hash de las criptomonedas

Siempre que se realiza una transacción, los nodos inician una comunicación. A través de esta comunicación, se transfieren las informaciones sobre la transacción realizada. Los demás nodos realizan la verificación y, con ello, confirman si esa transacción realmente ocurrió.

Si la transacción es aprobada, se dirige a la mempool, una especie de cola de espera de transacciones. Cuando llegue su turno, la transacción será aprobada e insertada en un bloque. Cada transacción tiene un identificador compuesto por números y letras, que confirma la autenticidad de esa operación. Este identificador se llama hash.

Los bloques también tienen su propio hash, que identifica el conjunto de transacciones que se encuentran dentro de él. Cada nuevo bloque insertado en la blockchain lleva dos hashes: el suyo propio y el del bloque anterior. A través de estos hashes, los nodos y mineros pueden identificar que esas transacciones pertenecen a la secuencia original de la red.

Exemplo de hashes de transações contidas em um bloco. Fonte: Blockchain.com

Cómo funciona el Proof of Work en la seguridad de la red

Es posible que alguien intente realizar fraudes en la red. Una de las más comunes es el fraude del doble gasto, donde el mismo usuario intenta gastar dos veces el mismo Bitcoin. Este, de hecho, era un problema en las monedas digitales que fue resuelto por Satoshi Nakamoto. Y esto sucede a través de la dificultad de minería.

En la minería mediante POW, el usuario debe probar que ha gastado una cierta cantidad de energía para crear un bloque. Esta energía se manifiesta en forma de poder computacional, que requiere una gran cantidad de electricidad. Por eso, las máquinas que minan Bitcoin consumen grandes cantidades de energía y necesitan estar encendidas las 24 horas.

Conjunto de máquinas de mineração de Bitcoin. Fonte: Google

De cierta forma, la minería Proof of Work (POW) es una mezcla de búsqueda del tesoro con juego de lotería. Cada minero utiliza su poder de procesamiento (hash rate) para encontrar el hash del bloque antes que los demás. Cuando esto sucede, la máquina señala al resto de la red que el código ha sido encontrado.

Después de la señalización, las demás máquinas comienzan a verificar el bloque que se ha presentado. Utilizan el hash del bloque anterior como una de las pruebas de que ese bloque forma parte de la red. El hash del bloque encontrado es precisamente la prueba de que el minero dedicó trabajo (de ahí el nombre del algoritmo) y poder computacional para descubrir ese bloque.

Si el hash presentado no coincide con el bloque anterior, el bloque minado se descarta, convirtiéndose en un bloque huérfano. Este bloque se aísla de la red, ya que se rechaza como un bloque falso. Y el minero que intentó «descubrirlo» habrá gastado energía y poder computacional en vano.

Nonce

El nonce es un número aleatorio generado en el proceso de minería. Este número se añade al final de cada bloque minado, junto con el hash del bloque. La función del minero es buscar el valor de este nonce, el cual se añadirá al bloque junto con la información restante. Así, un bloque se forma con los siguientes componentes:

  • Número de nonce;
  • Hash del bloque;
  • Conjunto de transacciones aprobadas por los nodos de la red.

Exemplo de um bloco com seus respectivos hash e nonce

Tanto el proceso de creación del hash como el descubrimiento del nonce funcionan como una “búsqueda del tesoro”. De hecho, las máquinas de minería utilizan el método de prueba y error para hacer este descubrimiento. Cuantos más cálculos puede realizar una máquina, mayor es la probabilidad de que encuentre la información y mine el bloque.

Validación y recompensa

Después de encontrar la solución del POW, el minero, en la práctica, ha creado un nuevo bloque. Hecho esto, envía el bloque a los nodos de la red, que verificarán su validez con base en la información ya mencionada. Cada bloque realiza esta verificación de manera individual, observando el nonce, el hash, las transacciones, etc.

Aunque la verificación es individual, los nodos trabajan en conjunto a través de su conexión con la blockchain. Si alguno de ellos encuentra un indicio de fraude, se emite una alerta a la red. Si se confirma el fraude, el minero pierde el derecho a su recompensa, así como el poder computacional gastado. Luego, los nodos buscan otro bloque.

Si los nodos confirman la autenticidad del bloque minado, este será añadido a la secuencia de la blockchain. Una vez hecho esto, la primera transacción del bloque creará los Bitcoins que serán enviados al minero como recompensa por el trabajo realizado. Esta transacción se denomina coinbase. La recompensa otorgada a los mineros varía con el tiempo debido al proceso de halving del Bitcoin.

Primeira transação de um bloco com recompensa de 6.25 Bitcoins. Fonte: Blockcypher

Proof of Work y la seguridad de Bitcoin

Hemos visto que el POW proporciona seguridad al evitar el doble gasto en Bitcoin. Y esta seguridad tiende a aumentar a medida que crece el tamaño de la red. Cuanto mayor es la red, mayor es la seguridad proporcionada a los inversores.

El tamaño de la blockchain de Bitcoin crece con cada bloque añadido. Cada bloque añade aproximadamente 1MB de espacio a la blockchain, y un bloque se mina cada 10 minutos. Actualmente, se requieren alrededor de 330 gigabytes (330 mil MB) de espacio para almacenar toda la blockchain.

Tamanho e evolução da blockchain. Fonte: Blockchain.com

Con esta dimensión, el riesgo de fraudes es raro. Después de todo, un minero que intentara engañar al sistema tendría que falsificar no solo el bloque actual, sino todos los bloques anteriores. Y tendría que hacerlo antes de que los nodos verificaran, a través del POW, que el bloque enviado por él es, en realidad, falso.

Además, Bitcoin tiene otra particularidad: la red de mayor tamaño siempre será considerada válida. En este momento, la blockchain de Bitcoin tiene más de 670 mil bloques minados, todos ellos siguiendo una secuencia clara y activa las 24 horas del día, los 7 días de la semana.

A modo de comparación, cometer un fraude en Bitcoin sería como intentar engañar a una supercomputadora. Sin embargo, a diferencia de los supercomputadores tradicionales, el poder de procesamiento de Bitcoin no está en una sola máquina. Tampoco existe una forma de apagar esa supercomputadora.

Está repartido por todo el mundo, con miles de “vigilantes” que están atentos a cada detalle sospechoso y a cada intento de fraude. Un fraudulento aislado tendría que reunir al menos la mitad más uno de todo el poder de la red. Sin embargo, Bitcoin tiene un poder gigantesco y descentralizado, lo que hace que este ataque sea prácticamente inviable tanto desde el punto de vista técnico como financiero.

Por lo tanto, cuanto más bloques tenga la blockchain, mayor será el esfuerzo – y el poder computacional – que el minero necesitará para lograr engañar al sistema. De esta manera, mientras los mineros honestos constituyan la mayor parte de la red, y los nodos mantengan la vigilancia sobre las transacciones, siempre podrán evitar que un ataque a Bitcoin tenga éxito. Y han tenido éxito en los últimos 12 años.