MSTR Cat

Blockchain/Nivel I · Dinero/1.2 El camino cypherpunk/Lección 4

Hashcash: prueba de trabajo antes que Bitcoin

El costo de la computación como sello: del spam en correo electrónico a la escasez digital

MaterialesUn generador de hash SHA-256 en líneaUna hoja de cálculo para registrar valores de contador y salidas en hexadecimalEl libro blanco de Bitcoin, sección 4

Curiosidad

  1. ¿Qué hace que un sello sea caro de producir pero casi gratis de verificar?
  2. ¿Por qué una función de hash que tarda microsegundos en verificar tarda horas en resolverse?
  3. ¿Cómo pasó de ser una herramienta para luchar contra el correo basura a convertirse en el motor de una moneda?

Explorar

  1. En 1992, Cynthia Dwork y Moni Naor propusieron el método de “fijación de precios mediante procesamiento” para combatir el spam por correo electrónico. Su idea era que los cálculos matemáticos podrían funcionar como un peaje: obligando a los remitentes a resolver acertijos criptográficos, se haría económicamente inviable enviar correos masivos, sin afectar a los usuarios ocasionales. La idea permaneció en gran medida en el papel durante cinco años.
  2. Adam Back propuso Hashcash en marzo de 1997, sin conocer el artículo de Dwork y Naor. El mecanismo requería que los remitentes encontraran un nonce, una cadena variable, de tal manera que el hash SHA-1 del encabezado del correo electrónico combinado con ese nonce comenzara con un número específico de bits cero. Se trata de una búsqueda de colisiones parciales: es exponencialmente más difícil de encontrar que de verificar. Cada solución válida servía como un “sello” que demostraba que el remitente había invertido un esfuerzo computacional real.
  3. La fuerza de Hashcash radica en la asimetría. Generar un sello válido puede requerir miles o millones de intentos de hash, lo que consume tiempo y electricidad; verificarlo, en cambio, solo necesita una sola operación de hash, medida en microsegundos. Esta función unidireccional crea escasez en un medio donde la copia suele ser gratuita. Un spammer que envía un millón de correos electrónicos debe realizar un millón de veces más trabajo, mientras que el destinatario verifica cada correo con un esfuerzo mínimo.
  4. Hashcash no era dinero, ya que cada sello estaba vinculado a un destinatario y una fecha específicos, lo que lo hacía intransferible y de uso único. Su valor también disminuyó a medida que mejoraba el hardware, ya que los cálculos más económicos reducían el costo de producir nuevos sellos. Resolvió el problema del spam, pero no logró crear propiedades duraderas como medio de almacenamiento de valor. El término “prueba de trabajo” surgió posteriormente, en 1999, de la mano de Markus Jakobsson y Ari Juels, quienes formalizaron este compromiso computacional.
  5. Satoshi Nakamoto citó directamente Hashcash de Back en la sección 4 del documento técnico de Bitcoin (octubre de 2008), reutilizándolo para el timestamping distribuido. Mientras que Hashcash utilizaba SHA-1 con una dificultad fija, Bitcoin emplea doble SHA-256 frente a un objetivo ajustable que se modifica cada 2016 bloques (aproximadamente dos semanas). Esto mantiene un intervalo constante entre bloques de unos 10 minutos, independientemente del crecimiento de la tasa de hash de la red, estabilizando el calendario de emisión y protegiendo el registro mediante el costo computacional acumulado.
  6. Para experimentar esta asimetría: abra cualquier herramienta en línea para SHA-256. Calcule el hash de la cadena ‘hello’. Luego añada un contador (0, 1, 2…) hasta que la salida hexadecimal comience con ‘0’, y luego con ‘00’. Observe cómo los intentos aumentan exponencialmente. Esta búsqueda por fuerza bruta es similar al proceso de minería. El ajuste de dificultad de Bitcoin asegura que, a medida que más mineros se unen y el hardware mejora, el objetivo se vuelva más exigente para mantener constante la producción de bloques, preservando así el ritmo económico del protocolo.

Datos clave

  • Dwork y Naor propusieron en 1992 el método de “fijación de precios mediante procesamiento” para hacer que el envío de correos electrónicos fuera costoso.
  • Adam Back anunció Hashcash en marzo de 1997 utilizando colisiones parciales de SHA-1.
  • La verificación de Hashcash requiere una sola computación de hash; su generación necesita aproximadamente 2^k intentos para k bits cero.
  • El término ‘prueba de trabajo’ fue acuñado por Jakobsson y Juels en 1999.
  • Bitcoin utiliza doble SHA-256 con un objetivo de dificultad que se ajusta cada 2016 bloques.
  • Los sellos Hashcash son intransferibles y están vinculados a destinatarios específicos, a diferencia de las unidades de Bitcoin.

Ejercicio nueve, seis, tres, uno

9ReunirEnumera 9 acertijos computacionales o compromisos basados en hashes de la criptografía. Indica su propósito original (spam, firmas, minería) y el costo de verificación.
6AgruparAgrupa los 9 en 6 según si estaban diseñados para la seguridad, la escasez o ambos, y si son transferibles o de un solo uso.
3DestilarReduce las 6 a 3 propiedades que distinguen a un token de prueba de trabajo de una mera firma digital.
1CristalizarEscribe 1 oración sobre por qué el costo computacional genera escasez donde, de lo contrario, la copia sería gratuita.

Verificación de hechos

Fechas, cifras y afirmaciones verificadas con las fuentes publicadas que se enumeran a continuación.

Abrir en la academia interactiva →

EN PT ZH JA KO RU DE FR MS