De Bitcoin whitepaper is volwassen

Op 31 oktober 2008 om 19:10 CET stuurde iemand onder de naam Satoshi Nakamoto een korte mail naar de Cryptography Mailing List. In een paar zinnen introduceerde hij een volledig peer-to-peer elektronisch geldsysteem zonder vertrouwde derde partij, met een link naar de whitepaper op bitcoin.org, die daar tot op de dag van vandaag nog steeds staat. Achter die negen pagina’s lag al anderhalf jaar code. Satoshi had het systeem eerst gebouwd en getest voordat hij de paper schreef. “I had to write all the code before I could convince myself that I could solve every problem, then I wrote the paper”.

Op de dag van dit artikel, 18 jaar later, is die whitepaper volwassen. Het is geen experiment meer, maar de basis van een wereldwijd netwerk dat al bijna twee decennia ononderbroken draait.

De mail waarmee het allemaal begon

De Cryptography Mailing List was geen massapubliek. Het was een kleine, technische lijst van cryptografen en cypherpunks, beheerd via metzdowd.com. Mensen die al jaren probeerden digitaal geld te maken: Hashcash van Adam Back, b-money van Wei Dai, bit gold van Nick Szabo. Satoshi bouwde voort op die ideeën en loste het double-spend-probleem op met een peer-to-peer netwerk en proof-of-work.

De hoofdpunten in de mail waren helder:

  • Drievoudig bijhouden van een kasboek, in het Engels: Triple-entry bookkeeping
  • Geen centrale vertrouwde partij(en)
  • Deelnemers kunnen anoniem blijven
  • Nieuwe coins komen uit Hashcash-achtige proof-of-work, die tegelijk het netwerk beveiligt

De eerste reactie: “Het schaalt niet”

Het allereerste antwoord kwam van James A. Donald, op 2 november. Hij schreef: “We very, very much need such a system, but the way I understand your proposal, it does not seem to scale to the required size.” Hij wees op de bandbreedte die nodig zou zijn als honderden miljoenen mensen transacties zouden doen. Iedereen moest dan min of meer alle transacties kennen.

Satoshi antwoordde rustig en concreet. Hij introduceerde wat later Simplified Payment Verification (SPV) zou heten: gewone gebruikers hoeven alleen de block headers te bewaren, zo’n 12 KB per dag. Alleen de miners die zorgen voor nieuwe coins draaien volledige nodes. Voor 100 miljoen transacties per dag (vergelijkbaar met Visa destijds) schatte hij zo’n 100 GB bandbreedte die nodig zou zijn. Hij voegde toe dat het netwerk jaren nodig zou hebben om zo groot te worden, en dat bandbreedte tegen die tijd goedkoper zou zijn.

Donald bleef vragen stellen over synchronisatie, splits en het Byzantine Generals Problem. Satoshi legde uit dat de proof-of-work chain precies die problemen oplost: nodes stemmen met hun rekenkracht over welke transactie ze eerst zagen, en de langste chain wint. Het was een technisch, geduldig gesprek tussen mensen die wisten hoe moeilijk digitaal geld was.

Hal Finney: “Een zeer veelbelovend idee”

Op 7 november kwam de eerste duidelijk positieve reactie van Hal Finney, een bekende cypherpunk en PGP-ontwikkelaar. Hij schreef: “Bitcoin seems to be a very promising idea.” Hij vergeleek de veiligheid op basis van de “long tail” van eerlijke rekenkracht met Wikipedia: iets wat op papier riskant leek, maar in de praktijk werkte. Hij noemde het een mogelijke implementatie van Nick Szabo’s bit gold en stelde gerichte technische vragen over hoe nodes double-spends afhandelen en hoe de pending transaction pool werkt.

Finney is de eerste persoon die de software draaide, naast Satoshi Nakamoto, en de eerste bitcoin-transactie ontving van 10 BTC. Zijn vroege steun gaf het project geloofwaardigheid in een gemeenschap die al veel mislukte e-cash-pogingen had gezien.

Twijfels, vragen en de belofte van code

Ray Dillinger (ook bekend als Bear) vroeg naar de economische waarde: “waarom zou iets met proof-of-work waarde hebben, en hoe zit het met inflatie?” Anderen vroegen naar zombie-netwerken en of de overheid het netwerk kon aanvallen. Satoshi legde uit dat de difficulty zich aanpast, dat fees op termijn de block reward kunnen overnemen, en dat pure peer-to-peer netwerken (zoals Gnutella of Tor) moeilijker te stoppen zijn dan gecentraliseerde systemen.

Op 17 november schreef Satoshi: “I’ll try and hurry up and release the sourcecode as soon as possible.” Hij had al anderhalf jaar aan de code gewerkt. Twee maanden later, op 8 januari 2009, volgde de aankondiging van Bitcoin v0.1. Het eerste, ook wel genesisblock, kwam op 3 januari 2009, met het bekende bericht in de coinbase: “The Times 03/Jan/2009 Chancellor on brink of second bailout for banks”.

Als je de originele en de daaropvolgende reacties wilt lezen van deze mailinglist, dan heeft het Satoshi Nakamoto Institute daar een mooi overzicht van gemaakt.

Een skeptisch begin, maar toch gelukt

De vroege mails laten zien dat de kernkritiek op schaalbaarheid meteen werd gesteld, en dat Satoshi al een antwoord had in de vorm van lichte verificatie voor gebruikers en gespecialiseerde nodes voor het zware werk. Mensen waren al heel lang bezig om een vorm van digitaal geld te maken, maar met wat Satoshi voorstelde samen met een eerste versie van dit idee kwamen alle puzzelstukjes samen om een digitaal geldsysteem te maken waarbij toentertijd alles klopte.

Achttien jaar later is de whitepaper volwassen geworden. Wat toen een voorstel was, is nu de basis van een netwerk dat dagelijks wordt gebruikt, beveiligd door duizenden onafhankelijke nodes. Het mooie van software is dat je er eindeloos op kunt doorbouwen, waardoor er nieuwe technieken bovenop de originele Bitcoin-code zijn ontwikkeld zoals Lightning en Silent Payments. De whitepaper van 18 jaar geleden was het startpunt voor al deze innovatie.