Esta es una breve historia sobre HashCash, la propuesta de ‘prueba de trabajo’ realizada por Adam Back para combatir el SPAM en los correos electrónicos que posteriormente se acabó utilizando en los Bitcoins y la gran mayoría de las criptodivisas actuales.
Como hemos comentado en la introducción, HashCash es un sistema de prueba de trabajo propuesto inicialmente por Adam Back, un criptógrafo londinense, con la idea de combatir el SPAM en los correos electrónicos.
Adam Back es un doctor en Ciencias de la Computación, ampliamente reconocido por sus diversos trabajos en criptografía y sistemas anónimos. Además es uno de los primeros integrantes del movimiento cypherpunk, cuyo objetivo es protegernos de la pérdida de privacidad en la red.
En el año 1997, basándose en anteriores libros blancos, como por ejemplo el libro blanco ‘Pricing via Processing or Combatting Junk Mail‘, publicado por Cynthia Dwork y Moni Naor en 1992, Adam publicaba su propio libro blanco, ‘Hashcash – A denial of Service Counter-Measure‘, un sistema que busca consumir recursos de la CPU en una ‘prueba de trabajo’ con la intención de que este gasto de recursos disuada a la gente que realiza envíos de correo electrónico de forma indiscriminada, el conocido SPAM.
HashCash es una prueba de trabajo basada en cálculos de funciones hash (funciones con una entrada de conjunto de elementos y una salida de longitud fija) que requieren una cantidad importante de tiempo de trabajo de procesamiento del equipo, pero cuya validez se puede verificar rápidamente.
Aplicado a los correos electrónicos (el propósito inicial de HashCash), esto supone añadir una cabecera en los correos electrónicos con los cálculos realizados para probar que el emisor del correo electrónico ha realizado este gasto de tiempo de procesamiento antes de enviar el mensaje, demostrando así que no está enviando SPAM por el simple hecho de que enviar un mensaje masivamente requeriría realizar este cálculo para cada mensaje enviado. El receptor puede, realizando un procesamiento muy inferior al del emisor, verificar la cabecera enviada.
Veamos un ejemplo de cabecera HasCash y el significado de cada parte:
X-Hashcash: 1:20:1303030600:[email protected]::McMybZIhxKXu57jd:ckvi
El hecho de que la cabecera tenga la dirección de correo electrónico o IP de destino hace que los cálculos estén directamente asociados a cada destinatario.
Para el emisor de correo electrónico este cálculo suele suponer un par de segundos de procesamiento, algo perfectamente asumible cuando queremos enviar correos electrónicos con normalidad, pero que se vuelve una importante barrera en el momento en que queremos enviar miles de correos de forma simultánea.
Por su parte, cuando el receptor del correo quiere examinar la autenticidad del mensaje solo tiene que:
Estas tareas apenas conllevan unas milésimas de segundo de procesamiento.
El sistema de prueba de trabajo de HasCash ha permitido proporcionar un mecanismo para la detección y control de los ataques SPAM en los servicios de correo electrónico. Cualquier servidor de correo electrónico puede configurarse para implementar la generación de cabeceras HasCash, del mismo modo que los clientes de correo electrónico pueden analizar estas cabeceras. Cabe destacar que la centralización de los servidores de correo electrónico en unos pocos servicios (Gmail, Yahoo, Outlook, etc.) ha provocado un declive en el uso del sistema HashCash porque estas empresas utilizan ‘machine learning’ para mitigar el SPAM, haciendo innecesario el uso de HashCash (aunque pueden complementarse).
Además de esto, HashCash también puede utilizarse en los sistemas de archivos. Creando firmas únicas en cada bloque de datos almacenados, HashCash permite verificar la autenticidad de estos bloques. Gracias a este uso los sistemas de archivos se pueden volver tolerantes a fallos como la degradación. ZFS, btrfs o SFS son sistemas de archivos capaces de hacer uso de HashCash.
Sin embargo, el uso más extendido en la actualidad y que realmente catapultó HashCash no es otro que el Bitcoin. La cadena de bloques de Bitcoin hace uso de HashCash como parte de su núcleo de mineria. Todos los mineros de Bitcoin están continuamente realizando comprobaciones de trabajo de HashCash para obtener recompensas. Y esta es la razón por la que el primer artículo de la historia de las criptodivisas está dedicado a HasCash.
Adam Back, bitcoin, blockchain, correo electrónico, criptodivisas, cypherpunk, hascash, spam
Comments RSS Feed