Hashcash est un système de preuve de travail conçu pour limiter le spam et les dénis de service, et plus récemment est connu pour son utilisation dans le Bitcoin. Le principe du hashcash est de prouver qu'on a effectué une quantité de travail avec des ressources CPU. Cette méthode oblige donc les spammeurs à devoir utiliser beaucoup de ressources, par comparaison aux utilisateurs normaux qui n'abusent pas de ces services, tels que l'envoi de courriels ou de commentaires dans les blogs. Cette méthode évite donc à l'utilisateur de remplir des captchas ou de devoir effectuer des micropaiements, la part de CPU requis étant négligeable pour l'utilisateur. On utilise souvent des algorithmes tels que SHA-1, MD5. Pour les courriels par exemple, on demande à l'expéditeur du message d'envoyer un champ d'en-tête tel que celui-ci X-Hashcash: 1:20:060408:destinataire@example.org::1QTjaYd7niiQA/sc:ePa On demande à l'expéditeur de trouver un couple 1:20:date:adresse courriel du destinataire:nombre incrémenté qui donnerait un hash sha1 dont les 20 premiers bits seraient à 0, ce qui nécessite environ 2^20 calculs de hash, soit une seconde de calcul environ sur un processeur à 1 GHz. Le destinataire n'a plus qu'à vérifier que la date d'envoi est récente et que le couple est valide. Ce système peut être utilisé dans tout système où l'on cherche à éviter des attaques répétées en grandes quantités pour un destinataire unique ou multiple, tels que : spam par courriel ou par commentaires sur les blogues déni de service Il est peu contraignant pour l'utilisateur normal : pas de lettres à recopier avec le système de captcha, pas de système de micropaiement à mettre en place. Ce système permet ainsi d'éviter que les courriels légitimes ne se retrouvent par erreur dans les dossiers indésirables. Pour les listes de diffusion, l'utilisateur doit penser à les mettre dans sa liste blanche pour leur éviter d'avoir à calculer les hashcash Il faut néanmoins que le système qui permet un tel calcul soit implanté, tels que le support du javascript pour les navigateurs, une extension ou un support natif dans les clients de messagerie ou pour les interfaces web mails tels que gmail.