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”.
