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

Respuesta corta

La prueba de trabajo es una constancia de que se gastó electricidad de verdad en algo: un problema de cómputo es difícil de resolver e instantáneo de comprobar. En bitcoin ese problema está a la entrada del libro común de pagos; en toda la red la solución aparece en promedio una vez cada diez minutos, y quien la encuentra primero recibe monedas nuevas. La historia solo puede reescribirse rehaciendo el trabajo más rápido que todos los participantes honestos juntos.

Mikhail Savchenko

Un problemita contra el spam

En 1997 el criptógrafo británico Adam Back inventó Hashcash, una forma de combatir el spam. Antes de enviar un correo, la computadora del remitente tenía que pasar unos segundos resolviendo un problemita matemático sin sentido y adjuntar la solución. A una persona común unos segundos por correo no le cuestan nada, pero a un spammer que envía millones de correos ese trabajo le exigiría una granja entera de computadoras. El destinatario podía comprobar la solución al instante. Así nació la prueba de trabajo (capítulo “El fantasma de la criptoanarquía”).

Puede probar el problemita de Back en el propio navegador, en el experimento “Un sello Hashcash”. El navegador va subiendo un contador hasta que el hash del correo empieza con la cantidad justa de ceros, y eso lleva tiempo, mientras que comprobar el sello terminado exige un solo hash.

De Hashcash a bitcoin

Las demás piezas los cypherpunks las fueron poniendo sobre la mesa una tras otra. En 1998 Wei Dai describió b-money, un dinero que llevan todos los participantes a la vez, en el que las monedas nuevas son para quien resuelve un problema de cómputo. Casi al mismo tiempo, Nick Szabo ideó Bit Gold, donde la solución del problema se volvía ella misma un valor, como el oro sacado de la tierra, y cada solución nueva se enganchaba a la anterior. En 2004 Hal Finney convirtió la idea de Back en RPOW, un servidor en el que las pruebas de trabajo pasaban de mano en mano, solo que el servidor era del propio Finney (mismo capítulo).

Ninguno de esos esquemas despegó. B-money no respondía cómo se pondrían de acuerdo los participantes sobre quién tenía razón si sus registros no coincidían, y Bit Gold se quedó en una descripción (mismo capítulo).

Cómo funciona en bitcoin

Satoshi Nakamoto tomó el problema de Back y lo hizo mucho más pesado. Todos los participantes guardan el mismo libro de pagos, los pagos nuevos se juntan en un bloque, y para pegar el bloque al libro hay que encontrar una solución. El problema está ajustado para que la solución aparezca en promedio una vez cada diez minutos en toda la red, y quien la encuentra primero recibe monedas nuevas como recompensa. Resulta una lotería en la que los boletos se compran con electricidad. Cada bloque remite al anterior, y la red se queda con la cadena en la que se gastó más trabajo (capítulo “El dios ocioso”).

De ahí viene la protección. Para reescribir la historia y gastar una moneda dos veces, habría que recalcular todos los bloques posteriores al propio pago más rápido que el resto de la red (mismo capítulo). Más sobre esto en la respuesta sobre el doble gasto. En el verano de 2010 yo mismo activé la generación en la billetera de mi MacBook, y el procesador se puso a probar números en busca del que sirviera para el siguiente bloque.

Lo que sabían los habitantes de Yap

En la isla de Yap se pagaba con ruedas de piedra talladas en Palau y traídas por el océano en canoas. En la década de 1870 el capitán David O’Keefe empezó a llevar a los isleños en su barco y a darles herramientas de hierro, y las piedras se multiplicaron. Los isleños las valoraron a su manera. Una piedra pequeña tallada con las herramientas antiguas valía más que una rueda enorme traída en la bodega de un barco extranjero, porque el precio de una piedra lo fijaban las personas que se ahogaron al traerla, las tormentas que sobrevivió y los años que llevó (capítulo “Una piedra en el fondo del mar”).

Ciento treinta años antes de Satoshi, los habitantes de Yap descubrieron lo que los programadores llamarían después prueba de trabajo. Un registro vale lo que cuesta falsificarlo, y cuando la extracción se abarata, el dinero también. Bitcoin lo resuelve solo, subiendo la dificultad de minería cada dos semanas para que las nuevas herramientas de hierro sencillamente no existan (mismo capítulo). Puede traspasar una piedra a otra familia y pintar las marcas alemanas en el experimento “Las piedras de Yap”.

Más preguntas

¿Quién inventó la prueba de trabajo?
El criptógrafo británico Adam Back, en 1997, en Hashcash, un sistema contra el spam. Satoshi Nakamoto citó Hashcash en su texto sobre bitcoin.
¿Por qué bitcoin ajusta la dificultad de minería?
Para que la solución aparezca en promedio cada diez minutos, sin importar cuánto poder de cómputo tenga la red. La dificultad se recalcula cada dos semanas, así que un equipo más rápido no abarata las monedas.
Nadie tiene dinero

Libro

Nadie tiene dinero

La verdadera historia de las criptomonedas

El invento de Satoshi era real. Sus primeros clientes fueron las personas que los bancos rechazaban.