10  Hashcash

Adam Back groeide op in de East Midlands van Engeland en had op dertienjarige leeftijd genoeg gespaard om de populaire Sinclair ZX81 te kopen. Dit apparaat kwam voor het eerst op de markt in januari 1981, en had ongeveer de grootte van een faxmachine. Het had een ingebouwd toetsenbord en kon worden aangesloten op de televisie van het gezin. Zo kon de jongen de 8-bits wonderen van het apparaat ontdekken, gewoon in het comfort van zijn eigen woonkamer.

Toen hij na schooltijd met de computer speelde, naast daadwerkelijke videogames soms gewoon door berekeningen te maken om een bepaald effect te bereiken dat hij interessant vond, raakte de jonge Adam Back gefascineerd door de mogelijkheden van de computerwereld.

En hij had er ook talent voor. Omdat er geen native assembler beschikbaar was om mens-leesbare broncode om te zetten naar machine-leesbare binaire code (enen en nullen), bedacht de jongen hoe hij zelf een assembler voor de ZX81 kon coderen. Dit vereiste van hem dat hij de meest basale interne werking van de computer reverse-engineerde, waarbij hij zelfs binaire codering moest terugvertalen naar broncode om te begrijpen hoe andere programma’s werkten.

Toen Back op ongeveer zestienjarige leeftijd naar de universiteit ging, had hij al een geavanceerd begrip van de werking van computers en wist hij dat hij deze discipline wilde blijven verkennen. Hoewel informatica op zijn school op dat moment geen officieel vak was, was er wel een computerlab op de campus. Back maakte er dankbaar gebruik van en besteedde vaak lange dagen in het lab om zelfstandig meer geavanceerde programmeertalen te leren.

Na het college ging Back computerwetenschappen studeren aan de Universiteit van Exeter, gelegen in het zuidwesten van Engeland. Tijdens zijn studies raakte hij bijzonder geïnteresseerd in gedistribueerd computergebruik, waarbij meerdere computers via een netwerk aan hetzelfde probleem samenwerken, meestal door het probleem op te delen in kleinere stukken (parallell computing).

De enorm gemotiveerde Back was regelmatig de primus van zijn klas. Het zette hem begin jaren ’90 op weg om zijn interesse diepgaand te kunnen nastreven. Op eenentwintigjarige leeftijd stond de Universiteit van Exeter Back toe om zijn Master over te slaan, en accepteerde ze hem direct in een PhD-programma gefocust op gedistribueerd computergebruik. Gedurende de volgende vier jaar zou hij verschillende coördinatiemethoden voor netwerkcomputers bestuderen, en de mogelijke foutmodi ervan.

Hier werd Back geconfronteerd met langlopende uitdagingen in gedistribueerd computergebruik, zoals het Byzantijnse Generaalsprobleem, waarmee computerwetenschappers al worstelden sinds de late jaren ’70. De kern van dit probleem was dat coördinatie over meerdere computers lastig kon zijn op open netwerken, waar kwaadwillige (of zelfs per ongeluk onbetrouwbare) knooppunten zich konden aansluiten en de pogingen van eerlijke deelnemers om een consensus te bereiken konden frustreren.

Het klassieke metaforische verhaal, voor het eerst beschreven door computergoeroe Leslie Lamport, ging over een groep (inderdaad) Byzantijnse generaals die een stad omsingelden.1 Terwijl elk van hen de situatie inschatte, zouden ze via boodschappers communiceren om te coördineren of ze zouden aanvallen of zich terugtrekken. Hoewel beide opties acceptabel waren, zouden ze allemaal dezelfde keuze moeten maken; het zou een ramp zijn als sommige generaals zouden aanvallen, terwijl anderen besluiten zich terug te trekken.

Het probleem is echter dat er ook verraderlijke generaals (en/of boodschappers, afhankelijk van de versie van de allegorie) zijn, die tegenstrijdige boodschappen (aanval of terugtrekken) aan verschillende generaals konden sturen, wat tot onenigheid kon leiden. Omdat directe communicatie tussen verschillende partijen onmogelijk is, zouden sommigen eerst de ene instructie (aanval) te zien krijgen, terwijl anderen aanvankelijk de andere instructie (terugtrekken) zouden zien.

De uitdaging was dus om een protocol te ontwerpen dat elke eerlijke deelnemer onafhankelijk zou kunnen volgen, zodat ze allemaal tot dezelfde conclusie kwamen. Of dit nu de beslissing was om een stad wel of niet aan te vallen, of om consensus te bereiken over hoe een gedeelde computertaak te coördineren.

Dit waren precies het soort uitdagingen waar Adam Back graag zijn hersenen over kraakte.

De Cypherpunk

Als PhD-kandidaat aan dezelfde universiteit kwam Back in contact met een masterstudent die het RSA-encryptieprotocol probeerde te optimaliseren voor parallele berekening. Het leek Back een interessant project, en leunde dicht aan bij zijn eigen onderzoeksgebied. Hij besloot dus om te helpen, wat betekende dat hij zich moest verdiepen in het RSA-algoritme. Het leidde hem op zijn beurt ook naar het bestuderen van Phil Zimmermanns nieuwe PGP-project.

Inmiddels had Back ook een interesse in vrije markten ontwikkeld, en had hij enige sympathie voor anarcho-kapitalisme. De hyperlibertaire ideologie waarin alle functies van de staat volledig worden vervangen door op de markt gebaseerde oplossingen leek op de toekomstige samenleving beschreven in een van zijn favoriete boeken: de cyberpunk-klassieker Snow Crash.

Zo vond Back de cryptografische hulpmiddelen waar hij over leerde op sociologisch vlak zeer interessant.

‘Minder privacy is negatief voor de vrijemarkteconomie, omdat een afname van privacy leidt tot een toename van overheidsinterventies, grotere overheidsapparaten, fascisme, etc. waardoor de vrijemarkteconomie naar de knoppen gaat’, zou hij later verklaren. ‘Hierdoor zullen armoede en voedseltekorten ontstaan, vergelijkbaar met wat er gebeurde in de voormalige USSR, die nog steeds langzaam herstelt van de ondergang die veroorzaakt werd door fascistisch overheidsbeleid.’2

Daarnaast realiseerde de student zich snel dat dit soort technologieën individuen de middelen konden bieden om fundamentele rechten uit te oefenen zoals vrijheid van meningsuiting en vrijheid van vereniging. In wezen ontdekte Back dat cryptografie aanzienlijke implicaties kon hebben voor het machtsevenwicht tussen individuen en de staat.

Toen hij op het internet naar plaatsen zocht om deze onderwerpen te bespreken, ontdekte de jonge PhD-kandidaat uit Exeter dat hij niet de enige was die tot dit inzicht was gekomen.

Aan de overkant van de Oceaan hadden de Cypherpunks net hun reguliere bijeenkomsten georganiseerd en, nog belangrijker, de Cypherpunk-mailinglijst gelanceerd. Back, al programmeur van in zijn kindertijd, was erg geïnspireerd door hun doel om software te schrijven die een positieve sociale impact had en hij meldde zich snel aan voor de mailinglijst.

‘Dat was een interessante uitlaatklep’, herinnerde Back zich later aan zijn eerste interacties met de Cypherpunks-mailinglijst, ‘want mensen waren bezig met andere dingen dan PGP, andere dingen die je kon bouwen met encryptie en cryptografie. Ik heb een groot deel van mijn doctoraat eigenlijk niet besteed aan werken aan gedistribueerde systemen, maar aan leren over cryptografische protocollen, voornamelijk met als toegepaste interesse om te denken over wat een bepaald cryptografie-artikel je zou toestaan om te bouwen.’3

In de loop der jaren werd Back een van de meest actieve deelnemers aan de mailinglijst. Soms droeg hij zelfs tientallen e-mails bij in een maand. Hij had een sterke interesse in filosofische onderwerpen zoals privacy, vrije meningsuiting en libertarisme, en nam aan diepgaande technische discussies deel over onderwerpen zoals anonieme remailers of versleutelde bestandssystemen (technologieën waaraan hij ook heeft bijgedragen).

Back raakte ook betrokken bij de crypto-oorlogen die niet al te lang na zijn toetreding tot de mailinglijst uitbraken, en werd op veel manieren zeer direct beïnvloed door deze strijd. Toen de Amerikaanse overheid cryptografie reguleerde onder de US Munitions List, was het Amerikanen wettelijk niet langer toegestaan om, bijvoorbeeld, het RSA-algoritme met Back te delen, of met een van zijn landgenoten (in het geval van RSA kende Back natuurlijk het algoritme al).

Het verbod raakte bij de jonge Cypherpunk een gevoelige snaar. Hij was van mening dat de betwiste cryptografische protocollen in werkelijkheid individuen alleen maar toestonden om rechten uit te oefenen die zij juridisch gezien al moesten hebben: als privégesprekken zijn toegestaan, waarom zou publieke-sleutelcryptografie dan niet toegestaan zijn? En wellicht nog belangrijker, cryptografie was in feite gewoon wiskunde. Back vond het zowel absurd als zorgwekkend dat de VS in feite het delen van bepaalde getallen en vergelijkingen illegaal maakten.

Het zette de Britse Cypherpunk ertoe aan om op een unieke manier zijn punt te bewijzen. Volgens de activistische ethos van de groep, maakte Back munitie-shirts: zwarte t-shirts met het RSA-protocol in witte letters erop gedrukt. Volgens de wet was iedereen die Backs kleding droeg bij het verlaten van de Verenigde Staten, technisch gezien, een wapenexporteur. Hij zou de shirts verkopen aan zijn mede-Cypherpunks en, passend, DigiCash’s proefvaluta CyberBucks als betaling accepteren. Passend genoeg, want mogelijk meer dan wat dan ook, was Adam Back bijzonder geïnteresseerd in elektronisch geld.

In actie komen

Toen Adam Back zich bij de mailinglijst aansloot, was DigiCash werkelijk onbetwistbaar op gebied van anonieme digitale valuta. Maar de voortgang van eCash verliep minder snel dan hij en vele anderen hadden gewenst.

Back deelde de visie van de Cypherpunks dat dit grotendeels kwam omdat David Chaum zijn patenten gebruikte om zijn technologie exclusief te houden. Hij vond dat het beleid van DigiCash, met zijn ingewikkelde licentieschema’s en beperkingen op wat gebruikers wel en niet met de eCash-technologie konden doen, ervoor zorgde dat hackers en knutselaars geen kans kregen om met de technologie te experimenteren en ze te verbeteren. Door dit beleid was de technische vooruitgang vrijwel tot stilstand gekomen.

Back verpersoonlijkte de Cypherpunk-filosofie en was niet het type dat rustig zou afwachten tot de zaken veranderden. In de hoop dat het de zaken zou versnellen, schreef Back initieel software-libraries (broncode die door andere ontwikkelaars kon worden gebruikt) voor zowel eCash als Brands Cash. Laatstgenoemde is een op eCash geïnspireerd elektronisch geldsysteem ontworpen door voormalig DigiCash-medewerker Stefan Brands. Terwijl hij hiermee bezig was, ontdekte Back ook hoe hij Brands’ systeem kon uitbreiden om offline transacties te vergemakkelijken, zonder de noodzaak om bij elke betaling bij de bank op dubbele uitgaven te controleren (hoewel bleek dat iemand anders dat probleem al eerder had opgelost toen hij het met Brands besprak).

Toen eCash te midden de jaren 90 nog steeds niet echt van de grond kwam, begon Adam Back pas echt ongeduldig te worden. ‘Technologie voor blinde handtekeningen bestaat al geruime tijd, maar er is niet één voorbeeld van een praktisch, echt wereldwijd gebruik van deze technologie’, schreef Back gefrustreerd naar de Cypherpunk-mailinglijst in oktober 1995.4

Hij merkte op dat niet-anonieme internetbetaalsystemen snel marktaandeel veroverden, wat betekende dat de toekomst van digitale transacties een gevaarlijke richting insloeg. Als deze privacy-schendende alternatieven zich eenmaal in de gewoonten van mensen zouden verankeren als hun standaard online betalingsoplossingen, geloofde hij dat het aanzienlijk moeilijker zou zijn om internetgebruikers over te laten stappen naar anoniem digitaal geld.

Het was tijd om actie te ondernemen. Aangezien Back niet veel vertrouwen had in de voortgang van DigiCash, en het leek alsof niemand anders aan haalbare alternatieven voor eCash werkte, concludeerde hij dat de snelste weg naar succes misschien wel was om met Chaum samen te werken. Hij stelde voor dat een groep Cypherpunks een start-up bank zou oprichten en eigenlijk de technologie van DigiCash zou licentiëren om zelf door fiatgeld gedekte eCash uit te geven.

‘Ik meen het serieus en zou erin willen investeren’, maakte Back duidelijk op de mailinglijst. ‘Wat denken jullie ervan? De eerste DigiCash-bank, gerund en eigendom van een groep Cypherpunks?’5

De enige persoon die reageerde op zijn voorstel wees erop dat dit plan waarschijnlijk ook niet zou werken: Chaum wilde tenslotte zijn technologie niet in licentie geven aan een bende Cypherpunks.6 Het idee stierf een stille dood.

Twee jaar later, in de zomer van 1997, keerde Back terug naar de mailinglijst om het idee van een gedistribueerde bank voor te stellen. Nu hij met succes zijn doctoraatsprogramma had afgerond en als postdoc-onderzoeker aan de universiteit werkte, maakte hij deze keer echt gebruik van zijn expertisegebied. Hij legde uit dat de operaties van een bank over een netwerk van verschillende mensen of entiteiten verspreid konden worden. Ze zouden in staat zijn om een virtuele computer te simuleren door berichten uit te wisselen en gecodeerde functies te berekenen, opperde Back, waarbij de virtuele computer in feite zou functioneren als een reguliere bank.

Door de bank op te splitsen in meerdere, onderling afhankelijke, partijen, zou er geen enkele entiteit volledig vertrouwd hoeven te worden met de bankoperaties. En hoewel het Byzantijnse Generaalsprobleem nog steeds niet volledig was opgelost, kon het systeem alleen worden misleid als een bepaald aantal deelnemers samenspanden.

‘De bank zou bestaan binnen het netwerk, in deze virtuele CPU’, schreef Back. ‘Individuele deelnemers kunnen komen en gaan, maar de beveiligde software-entiteit, die de bank en de accountinformatie is, zou blijven voortbestaan.’7

Hij kreeg geen antwoord op zijn e-mail.

Spam

In de tweede helft van de jaren ’90 moest elke e-mailservice op het internet omgaan met ogenschijnlijk steeds toenemende hoeveelheden ongewenste mail, of spam: ongevraagde berichten die in bulk werden verzonden, doorgaans door adverteerders. De Cypherpunks werden hierbij niet gespaard; promoties voor afslankpillen, producten voor penisvergroting en aanbiedingen om snel rijk mee te worden veroorzaakten alsmaar meer vervuiling op de mailinglijst.

Het probleem was vooral ernstig voor de remailers. De anonimiserende diensten die door verschillende Cypherpunks werden beheerd, werden gemakkelijk en vaak misbruikt om spam te versturen. Sommige van de beheerders vermoedden zelfs dat hun remailers het doelwit waren van zogenoemde denial-of-service (DOS) aanvallen; het doel zou zijn geweest om de remailers te overladen met nutteloze e-mails om hun dienst onbruikbaar te maken voor legitiem gebruik.

Adam Back, die zelf ook een remailer beheerde, was lid van een groep Cypherpunks die zich toelegde op het oplossen van dit probleem. En nog belangrijker, ze probeerden dit probleem op te lossen zonder terug te vallen op oplossingen die internetgebruikers verplichtten zich te identificeren. Want voor remailers was privacy het belangrijkste punt.

Ze wilden ook niet afhankelijk zijn van wetten en regelgeving. Hoewel er stemmen opgingen om spam e-mails eenvoudigweg illegaal te maken, was het niet de stijl van de Cypherpunks om de overheid in te schakelen om hun problemen op te lossen.

De overheid het probleem niet laten oplossen, was ook belangrijk omdat het niet altijd duidelijk was wat precies als spam beschouwd kon worden. Als de staat de autoriteit krijgt om dat onderscheid te maken, zou dat effectief regeringen toestaan om te bepalen welke vormen van communicatie tussen internetgebruikers acceptabel zijn en welke niet. Dit zou de deur kunnen openen voor politiek gemotiveerde censuur, waarschuwden Cypherpunks zoals Tim May.8

Adam Back benadrukte dat om spammers wettelijk verantwoordelijk te kunnen houden, ze ook geïdentificeerd dienen te worden. Als een overheidsdienst tegen spam de taak krijgt om de daders te vangen, waarschuwde Back zijn mede-Cypherpunks, dan zouden remailers waarschijnlijk een groot doelwit worden, met mogelijk ernstige gevolgen voor online privacy in het algemeen.9

‘De gevaren van het inzetten van de overheid om spammers aan te vallen, is dat dit het internet is, en we willen geen regulering van de inhoud door overheden, noch pogingen tot afdwingen van escrow van identiteit, internetrijbewijzen of iets anders’, schreef Back aan de Cypherpunk-mailinglijst. ‘We lossen het zelf wel op zonder de behoefte aan overheidsinterventie, hartelijk dank.’10

De Cypherpunks waren het er over het algemeen over eens dat een digitaal equivalent van postzegels een betere oplossing zou zijn. Spammers zouden ontmoedigd worden indien het verzenden van e-mails een kost had. Dit was vooral relevant omdat spammers vaak tienduizenden, zo niet miljoenen ongewenste e-mails moesten versturen om winst te maken. Het zou ook de overbelasting van remailers voorkomen, aangezien zo’n DOS-aanval een grote hoeveelheid ongewenste e-mails vereiste.

Digitale postzegels konden op verschillende manieren worden ingezet. Remailers konden bijvoorbeeld kosten rekenen voor het doorsturen van e-mails. Dit zou niet alleen spam via deze diensten ontmoedigen, maar het zou ook een financiële prikkel bieden om remailers te beheren. Daarnaast kon een vergoeding worden toegekend aan de ontvanger, wiens e-mailsoftware zo geprogrammeerd zou zijn dat berichten zonder voldoende vergoeding werden geweigerd.

De postzegels zelf konden op verschillende manieren worden ontworpen, maar de meeste ideeën omvatten een uitgever van elektronische zegels. Deze uitgever genereerde bijvoorbeeld unieke grote getallen en verkocht deze (mogelijk in ruil voor digitaal geld). Het unieke nummer werd dan opgenomen in een e-mail, en zodra een remailer of de e-mailsoftware van de ontvanger het bericht ontving, controleerde het bij de uitgever of het nummer een geldige postzegel was. Als dat het geval was, kon de remailer of ontvanger mogelijk een klein bedrag terugkrijgen van de uitgever, afhankelijk van de kenmerken van het systeem. Was de postzegel niet geldig, dan werd de e-mail simpelweg geweigerd.

Een andere optie was om digitale contanten direct als postzegel te gebruiken. In dat geval bevatte de e-mail een klein beetje digitale valuta in een speciaal veld, die de ontvanger vervolgens kon innen. Er was een periode waarin dit een veelbelovende toepassing voor eCash leek te zijn.

In de praktijk bleek dit echter ingewikkelder dan verwacht. Ten eerste waren de vroege versies van eCash nog niet in staat om de specifieke soorten transacties die voor postzegels nodig waren te verwerken. Daarnaast betekende het gebrek aan anonimiteit in Chaums elektronische geldsysteem dat de verzender van een bericht zou kunnen samenwerken met de bank om de echte identiteit van een remailer-operator of e-mailontvanger te onthullen. Het maakte DigiCash’s eCash grotendeels ongeschikt voor postzegels.

De eerste elektronische postzegel

Wat Adam Back niet wist, was dat het postzegelprobleem al een paar jaar eerder was opgelost, en op een heel andere manier dan de Cypherpunks hadden overwogen.

In de vroege jaren ’90 realiseerden Cynthia Dwork en Moni Naor, twee computerwetenschappers bij IBM, zich dat een elektronisch mailsysteem veel voordelen had ten opzichte van de traditionele post: e-mail was veel sneller, veel goedkoper, en bood veel meer mogelijkheden dan de postdienst ooit zou kunnen bieden. Maar ze realiseerden zich ook dat e-mail zijn eigen uitdagingen met zich meebracht. Ze voorzagen dat met de toenemende populariteit van e-mail, ook spam zou toenemen.

‘Met name de eenvoud en lage kosten om elektronische post te versturen, en dan vooral het gemak om eenzelfde bericht naar veel verschillende partijen te sturen, nodigen in principe uit tot misbruik’, legden ze uit in hun paper uit 1992, getiteld Pricing via Processing of Combatting Junk Mail.11.

Er was een oplossing nodig, stelden ze vast, en dat was precies wat het artikel leverde. Dwork en Naor stelden een systeem voor waarbij afzenders een beetje extra data aan hun e-mail moeten toevoegen. De data zou de oplossing voor een wiskundig probleem zijn, afgeleid van de eigenschappen van de e-mail zelf, en dus uniek voor die e-mail. Zonder de correcte oplossing, zouden e-mailclients de e-mail volledig moeten afwijzen.

In hun artikel stelden Dwork en Naor drie mogelijke puzzels voor, gebaseerd op cryptografische algoritmen zoals handtekeningsschema’s. In alle gevallen zou het toevoegen van de juiste oplossing aan een e-mail niet al te moeilijk zijn (voor een computer): het zou wellicht een paar seconden aan rekenkracht vereisen. Toch zou dit een kleine kostenpost betekenen. Controleren of de oplossing correct is, zou daarentegen zeer makkelijk zijn en nauwelijks enige rekenkracht kosten.

De kerngedachte achter dit systeem was dat het oplossen van een juiste oplossing voor een puzzel niet veel moeite zou kosten voor individuele gebruikers die af en toe een e-mail willen sturen naar collega’s, familie of vrienden. Maar voor spammers zou het snel oplopen. Om duizenden of zelfs miljoenen berichten op een enkele dag te sturen, zouden zij evenveel puzzels moeten oplossen, wat in totaal aanzienlijke hoeveelheden rekenkracht zou vereisen.

‘Het idee is om een gebruiker een matig moeilijke, maar niet onoplosbare, functie te laten berekenen om toegang te krijgen tot de hulpbron, en zo lichtzinnig gebruik te voorkomen’, legden Dwork en Naor uit. Ze stelden voor om spammen in een dure aangelegenheid te veranderen.

Hoewel Dwork en Naor de term zelf niet hebben voorgesteld, zou de soort oplossing die zij introduceerden later bekend komen te staan als een proof-of-work-systeem. Het oplossen van het wiskundeprobleem zou bewijzen dat er daadwerkelijk werk is verricht.

Het was een elegante oplossing. Maar of het nu kwam omdat het idee voor die tijd iets te vooruitstrevend was, of omdat het simpelweg niet breed genoeg werd geadverteerd, kreeg het voorstel uit de vroege jaren 90 niet veel aandacht buiten een beperkte groep academici. Het postzegelsysteem van Dwork en Naor is nooit in de praktijk gebracht, laat staan gebruikt, en veel van de Cypherpunks kenden het idee zelfs niet. Gelukkig zou het concept weldra opnieuw worden uitgevonden.

Hashcash

[MEDEDELING] implementatie van hash cash porto

Op 28 maart 1997 kregen de inmiddels ongeveer 2000 abonnees van de Cypherpunk-mailinglijst een bericht in hun inbox.12 Het bericht werd verstuurd door Adam Back en bevatte een beschrijving en vroege implementatie van wat hij hashcash noemde: een ‘postzegelsysteem gebaseerd op gedeeltelijke hash-botsingen’. Hij had een werkende implementatie van een postzegel-oplossing voor e-mail ontworpen.

Net als het schema van Dwork en Naor, zou de hashcash porto niet betaald worden aan operators van remailers, of aan de ontvangers van een e-mail, of aan wie dan ook. In plaats daarvan zou het alleen extra kosten met zich meebrengen voor de verzenders.

Een week eerder had Back al nagedacht over het tegengaan van spam door de kosten van massa-mail te verhogen, hoewel nog vrij oppervlakkig: ‘Een nevenvoordeel van het gebruik van PGP is dat PGP-versleuteling enige meerkost zou betekenen voor de spammer: hij kan waarschijnlijk minder berichten per seconde versleutelen dan hij kan spammen via een T3-link’, merkte hij op in een discussie over het toevoegen van extra privacy aan remailers.13

Het nieuwe voorstel van Back maakte dit algemene idee nog explicieter: het zou vereisen dat afzenders een bewijs van geleverd werk aan hun e-mails toevoegen. Inderdaad, hashcash was op verschillende manieren vergelijkbaar met het postzegelschema van Dwork en Naor: het proof-of-work zou uniek zijn voor de e-mail, en het zou een beetje rekenkracht vereisen om te produceren.

Zoals de naam al doet vermoeden, was het voorstel van Back echter gebaseerd op hashing. Hashing – de cryptografische truc die alle data in een unieke en schijnbaar willekeurige reeks getallen van een specifieke lengte omzet – is een volkomen onvoorspelbaar proces. Hoewel dezelfde data altijd hetzelfde hashresultaat oplevert, is de enige manier om te ontdekken hoe de hash van een stuk data er in de eerste plaats uit zal zien, om het daadwerkelijk te hashen. Het is deze onvoorspelbaarheid waar hashcash op slimme wijze gebruik van maakte.

Om hashcash te genereren, moest een gebruiker een hash creëren uit de metadata van een e-mail (zoals het adres van de verzender, het adres van de ontvanger, de tijd enz.) en een willekeurig nummer, een zogenaamde nonce. Maar hier zat een addertje onder het gras: niet elke resulterende hash werd als geldig beschouwd. De binaire versie van een geldige hash moest beginnen met een vastgesteld aantal nullen. En er was maar één manier om een hash te genereren die met voldoende nullen begon: de gebruiker moest verschillende nonces proberen en nieuwe hashes maken tot er één toevallig aan de norm voldeed. Trial and error dus.

Het aantal vereiste voorafgaande nullen bepaalt hoe moeilijk het is om een geldige hash te vinden. Meer nullen maken het moeilijker, omdat computers gemiddeld meer pogingen moeten doen.

‘De basisgedachte achter het gebruik van partiële hashes is dat ze willekeurig moeilijk te berekenen kunnen zijn,’ legde Back uit, ‘maar ze kunnen tegelijkertijd onmiddellijk worden geverifieerd.’

Net als bij de oplossing van Dwork en Naor was het doel dat gewone gebruikers binnen enkele seconden een geldige hash moesten kunnen vinden om een e-mail te versturen. Tegelijkertijd moesten spammers niet in staat zijn om dit duizenden of miljoenen keren te doen en toch winstgevend te blijven.

‘[…] als het geen 20 bit hash heeft […] heb je een programma dat het terugstuurt met een bericht waarin de vereiste porto wordt uitgelegd, en waar de software te vinden is’, legde Back uit op de Cypherpunk-mailinglijst. ‘Dit zou spammers van de ene op de andere dag wegwerken, aangezien 1.000.000 x 20 = 100 MIP jaren, wat meer rekenkracht is dan ze hebben.’

Een subtiele verandering ten opzichte van Dwork en Naors oplossing was dat hun proof-of-work systeem niet onderhevig was aan toeval. Hun postzegelschema vereist in principe het oplossen van een vrij eenvoudige puzzel, wat betekent dat een krachtigere computer de puzzel altijd sneller zou oplossen dan een zwakkere computer.

Het genereren van een geldige hash is daarentegen een kwestie van gokken. Hoewel een krachtigere computer meer pogingen per seconde kan doen, kan een zwakkere computer soms geluk hebben en sneller een geldige hash vinden. Voor spammers, die toch duizenden of miljoenen geldige hashwaarden moeten genereren per spamsessie, maakt deze kleine variatie bij het genereren van een enkele hashcash proof-of-work weinig verschil, althans niet binnen de context van het tegengaan van ongewenste e-mails.

‘Hashcash kan een tussentijdse oplossing bieden totdat digicash breder wordt toegepast’, concludeerde Back in zijn aankondiging. ‘Hashcash is gratis, het enige dat je hoeft te doen is wat processorkracht van je PC gebruiken. Het sluit aan bij de online cultuur van vrije communicatie, waarin de financieel minder bedeelden op gelijke voet kunnen concurreren met miljonairs, gepensioneerde overheidsfunctionarissen en dergelijke.’

En: ‘Hashcash kan ons een alternatieve methode bieden om spam te beheersen als digicash misloopt (verboden wordt of vereist dat gebruikersidentiteiten in escrow worden gehouden).’

Digitale schaarste

Hashcash werd in de jaren na de aankondiging van Adam Back enigszins geadopteerd. Apache’s open source platform SpamAssassin implementeerde de oplossing, terwijl Microsoft het idee in hun incompatibele Postmark systeem uitprobeerde. Adam Back en enkele andere academici botsten ondertussen op alternatieve toepassingen voor het proof-of-work systeem, waaronder oplossingen tegen DoS-aanvallen.

Maar de hashcash postzegel is nooit echt mainstream gegaan. De innovatieve aard van de oplossing was waarschijnlijk niet voldoende om de opstarthindernis te overwinnen: iemand kon niet echt beginnen met het eisen van hashcash voor binnenkomende e-mails als niemand anders het gebruikte, omdat dit zou leiden tot afwijzing van alle binnenkomende berichten door hun e-mailclient. Tegelijkertijd was er geen reden om hashcash voor uitgaande e-mails te gebruiken als niemand zo’n postzegel eiste. Net als David Chaums eCash, leed ook het elektronische porto-systeem van Back aan een kip-en-ei-probleem, waar geen gemakkelijke oplossing voor leek te zijn.

Adam Back maakte zich hier echter niet zoveel zorgen om. Back, die inmiddels onderzoeker was bij de Universiteit van Exeter en aan een versleuteld berichtensysteem voor medische data werkte, dacht vrijwel onmiddellijk na de publicatie van zijn voorstel al verder dan enkel hashcash. Het oplossen van het postzegelprobleem was een goede uitdaging, maar de computeringenieur was vooral gefascineerd door de gedachte om digitaal geld voor algemene doeleinden te creëren.

En hoewel veel Cypherpunks nog steeds aannamen dat een elektronisch geldsysteem zou moeten worden geïntegreerd in de bestaande financiële infrastructuur, zoals eCash, had Back een andere visie. Hij geloofde dat hashcash een totaal nieuwe richting van onderzoek kon betekenen om die visie te verwezenlijken.

De innovatieve aard van hashcash was dat het puur digitale data (in wezen getallen) aan echte hulpbronnen in de fysieke realiteit koppelde. Een proof-of-work creëren vereiste rekenkracht en verbruikte elektriciteit, die op zijn beurt energie kost om te produceren. Terwijl de meeste digitale dingen kosteloos en bijna eindeloos gekopieerd kunnen worden, kon het proof-of-work op een bepaalde manier de fundamentele schaarste aan energie in de fysieke realiteit naar de digitale wereld overbrengen.

Inderdaad, hashcash was digitaal, maar toch schaars. Het totale aantal hashcash valuta-eenheden (bij gebrek aan een beter woord) was in zekere mate beperkt: er zou nooit meer hashcash zijn dan er kon worden geproduceerd met de hoeveelheid energie die mensen bereid en in staat zouden zijn om eraan te spenderen.

Dit was een cruciaal inzicht, omdat ingebouwde schaarste een van de zes eigenschappen was die Adam Back op zijn lijstje voor een ideaal elektronisch geldsysteem had gezet. Tot voor kort kon digitale schaarste slechts gecreëerd worden als een belofte, zoals DigiCash’s belofte om een harde limiet te stellen aan het totale aantal CyberBucks dat ze zouden creëren. Maar beloftes kunnen natuurlijk gebroken worden. Back geloofde dat proof-of-work de mogelijkheid bood om schaarste te garanderen op een veel fundamenteler niveau.

Tegelijkertijd wist hij dat hashcash niet als volwaardig digitaal geld kon functioneren. Hoewel het anoniem kon worden gebruikt, moeilijk te stoppen was, geen vertrouwen in een individu vereiste en ook enige mate van schaarste had, voldeed het eigenlijk slechts aan drie van de zes criteria op de shortlist van Back.

Het grootste probleem was dat hashcash niet herbruikbaar was. Elke munteenheid was op maat gemaakt om bij een specifieke e-mail te passen, en kon dus niet elders opnieuw worden uitgegeven en leverde geen extra voordeel op voor de ontvangers.

Back overwoog daarom dat hashcash, of meer algemeen het proof-of-work-principe, de basis zou kunnen vormen voor een nieuw soort elektronisch geldsysteem.

Een van zijn eerste suggesties was een Chaumiaans systeem, waarin de bank elektronisch geld zou uitgeven in ruil voor hashcash. Gebruikers creëerden dan proof-of-work en ontvingen daarvoor in ruil ongedekt digitaal geld. Dit geld zou anoniem, herbruikbaar en enigszins schaars zijn — al was de schaarste in de praktijk vrij beperkt. Als mensen het wilden konden ze immers altijd meer bewijzen creëren. En met steeds krachtigere computerprocessors zou het produceren van geldig proof-of-work in de loop van de tijd alleen maar goedkoper worden.14

De fundamentele schaarste van hashcash was dan ook vooral technisch van aard. Als het daadwerkelijk als basis voor een valuta zou dienen, zouden nieuwere en krachtigere computers de markt uiteindelijk overspoelen met nieuwe valuta-eenheden, wat zou leiden tot hyperinflatie.

Daarnaast moest men vertrouwen hebben in de bank dat deze geen geld uit het niets zou creëren. Net als bij elk elektronisch geldsysteem gebaseerd op Chaums ontwerp, moest de entiteit die de digitale valuta uitgaf en dubbele uitgaven voorkwam, zelf ook te vertrouwen zijn om niet onterecht zichzelf te verrijken.

Back geloofde, echter, dat vrijemarktcompetitie kon helpen om dit probleem op te lossen. ‘Wellicht zou je dus meerdere banken kunnen hebben en reputatie het werk laten doen, als je de protocollen zo kunt regelen dat het duidelijk zou zijn of een bank meer geld aan het drukken was dan het aan hash-botsingen had ontvangen. […] Maar als je meerdere banken hebt dan moet je een uitwisselingsmechanisme hebben. De markt zou hier waarschijnlijk zorg voor kunnen dragen, door wisselkoersen te bepalen op basis van de reputaties van banken’, suggereerde hij, in wat nu heel erg leek op een vrijbankiersysteem zoals beschreven door Friedrich Hayek.

Desalniettemin geloofde de jonge Cypherpunk uit Exeter dat ze het misschien zelfs nog beter konden doen dan dat:

‘Het zou beter zijn om iets te hebben dat geen vertrouwen vereist en waarin geen mogelijkheid is voor bedrog, in plaats van te vertrouwen op reputatie om ze te sorteren.’15


  1. Leslie Lamport, Robert Shostak, and Marshall Pease, The Byzantine Generals Problem, ACM Transactions on Programming Languages and Systems: 382–401.↩︎

  2. Adam Back, Re: ‘why privacy’ revisited, oorspronkelijk verstuurd naar de Cypherpunk-mailinglijst, 22 maart 1997, online↩︎

  3. Adam Back, The Bitcoin Game #59: Dr. Adam Back, interview door Rob Mitchell, The Bitcoin Game, YouTube, 25 oktober 2018, online 10:47–11:19.↩︎

  4. Adam Back, Re: cypherpunks digicash bank?, oorspronkelijk verstuurd naar de Cypherpunk-mailinglijst, 8 oktober 1995, online↩︎

  5. Adam Back, cypherpunks digicash bank?, oorspronkelijk verstuurd naar de Cypherpunk-mailinglijst, 7 oktober 1995, online↩︎

  6. Barnes, cypherpunks digicash.↩︎

  7. Adam Back, distributed virtual bank, oorspronkelijk verstuurd naar de Cypherpunk-mailinglijst, 27 augustus 1997, online↩︎

  8. Tim May, Re: More on digital postage, oorspronkelijk verstuurd naar de Cypherpunk-mailinglijst, 15 februari 1997, online↩︎

  9. Adam Back, Re: bulk postage fine , oorspronkelijk verstuurd naar de Cypherpunk-mailinglijst, 3 augustus 1997, online↩︎

  10. Adam Back, no government regulation of the net, oorspronkelijk verstuurd naar de Cypherpunk-mailinglijst, 3 augustus 1997, online↩︎

  11. Cynthia Dwork and Moni Naor, Pricing via Processing or Combatting Junk Mail, Advances in Cryptology — Crypto ’92: 139–147.↩︎

  12. Adam Back, ANNOUNCE hash cash postage implementation, oorspronkelijk verstuurd naar de Cypherpunk-mailinglijst, 28 maart 1997, online↩︎

  13. Adam Back, Re: Remailer problem solution? 23 maart 1997, online↩︎

  14. Back, Re: Bypassing.↩︎

  15. Back, Re: Bypassing.↩︎