-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.qmd
3441 lines (2817 loc) · 169 KB
/
index.qmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
---
author:
- Yan Pritzker
bibliography: ib.bib
title: Bitcoin onder de loep
---
::: center
------------------------------------------------------------------------
[]{.smallcaps}
[D]{.smallcaps}e technologie achter het eerste werkelijk schaarse en
gedecentraliseerde geld
------------------------------------------------------------------------
Gepubliceerd door
::: scshape
Konsensus Network
:::
![image](images/free starfish.pdf){width="0.5cm"}
:::
::: center
![image](images/copyright.png){width="1cm"}
------------------------------------------------------------------------
:::
#####
#####
#####
#####
::: center
:::
# Voorwoord van de vertaler
# Inleiding
Veel mensen die voor het eerst over bitcoin horen zijn al snel geneigd
om een mening te vormen voor ze een poging doen om het te begrijpen. Dat
wordt bemoeilijkt doordat je door een flinke laag (mis)informatie heen
moet om te begrijpen wat bitcoin is en hoe het werkt. Tot drie jaar
geleden, behoorde ik ook tot een van de mensen met een mening op basis
van onvoldoende kennis.
Waarom schrijf ik dit boek? De laatste twintig jaar heb ik mij gericht
op het opstarten van technische start-ups. Elke dag stort ik mij in een
nieuwe technologie en ik ben vrij goed geworden in het uitdokteren hoe
iets werkt. Desondanks duurde het vijf jaar sinds ik voor het eerst over
bitcoin hoorde, voordat ik besloot om er goed voor te gaan zitten om het
te begrijpen. Ik heb het gevoel dat ik niet de enige ben die een beetje
hulp kan gebruiken om deze mogelijk wereldveranderende innovatie beter
te begrijpen.
Ik hoorde voor het eerst over bitcoin in 2011 van slashdot.org, een
nieuwssite voor nerds. In die tijd was de prijs gestegen tot de enorme
piek van \$30 dollar per bitcoin. Alles wat ik erover wist was dat
sommige mensen op het internet probeerden om een peer-to-peer
betaalsysteem op te starten. Niet wetende wat het precies was, hoe het
werkte en terwijl ik niks wist over investeren en marktcycli, besloot ik
toch wat geld in te leggen voor het geval het iets belangrijks zou
worden. Ik moest de verschrikkelijk uitziende website van Mt. Gox
gebruiken om dat te doen. Dit dollar-naar-bitcoinhandelsplatform bleek
later onbekwaam.
Langzaam zag ik mijn investering krimpen tot nagenoeg niets, terwijl de
prijs daalde van \$30 naar \$2. Op een gegeven moment vergat ik het
volledig en ging ik verder met mijn leven, de start-ups. Ik weet niet
eens wat er met die bitcoins gebeurd is. Ik denk dat ik de sleutels
ergens heb opgeslagen op een oude laptop die inmiddels op de vuilnisbelt
ligt.
In 2013 hoorde ik weer over bitcoin. Dit keer was het geluid in de media
luider en de aanschaf ging een stuk soepeler. Er waren apps zoals
Coinbase, die er legitiem uitzagen. Dit was een duidelijke vooruitgang
op het tijdperk van Mt. Gox. Ik kreeg sterk het gevoel dat bitcoin
weleens zou kunnen slagen.
In het geval dit zo was en weer zonder enige kennis, kocht ik weer op de
piek (rond \$1000 per bitcoin) en zag mijn investering weer instorten,
maar nu naar een koers van \$200 per bitcoin. Dit keer besloot ik dat
het de moeite niet waard was om de bitcoins te verkopen en dus besloot
ik het zo te laten. Ik ging verder en keek er niet meer naar om, omdat
ik me op mijn volgende start-up richtte; Reverb.com.
In de daaropvolgende vier jaren groeide Reverb sterk. Het werd dé
website voor muzikanten. Ik betekende iets voor de wereld doordat ik
muziek en mensen verbond. Ik was hoofd Technologie (CTO) van een snel
groeiend en opwindend techbedrijf. Ik deed iets waar ik gepassioneerd
over was en ik had geen tijd voor vreemd internetgeld.
Ik voel me beschaamd om te vertellen dat het pas in de zomer van 2016
was, dat ik voor het eerst een video van [**Andreas
Antonopoulos**](https://www.youtube.com/channel/UCJWCJCWOxBYSi5DhCieLOLQ)
bekeek. Daardoor begon ik mezelf zaken af te vragen als; waar komen
bitcoins vandaan? Wie beheert het? Hoe werkt het? Wat is mining en welke
impact zal het hebben op de wereld? Ik begon me te verdiepen. Anderhalf
jaar lang las ik alles waar mijn oog op viel, luisterde ik uren podcasts
en keek ik elke video over bitcoin die ik tegenkwam.
En toen eindelijk, begin 2018, net nadat de koers van bitcoin een nieuwe
recordhoogte had bereikt rond \$20.000 per bitcoin, besloot ik om Reverb
achter me te laten en me volledig op bitcoin te richten. Waarom ik mijn
succesvolle start-up verliet voor bitcoin? Omdat ik geloof dat een
uitvinding van iets als bitcoin, maar een keer in een mensenleven zich
voordoet. En misschien zelfs nog minder vaak.
Als bitcoin slaagt, kan het net zo belangrijk blijken als de uitvinding
van de drukpers (decentralisatie van de productie van informatie), het
internet (decentralisatie van data en communicatie) en trias politicas
(decentralisatie van de overheid). Ik hoop dat door te begrijpen hoe
bitcoin werkt, je zal begrijpen hoe het de wereld ten goede kan komen.
Bitcoin zal de productie en consumptie van geld decentraliseren; dat is
het middel waarmee de mensheid tot nieuwe ontwikkelingen kan komen op
een schaal die voorheen ondenkbaar was.
In de media gaat het vaak alleen over de koers van bitcoin. Het ene
moment wordt de suggestie gewekt dat hij naar een miljoen dollar gaat,
het andere moment zit hij in een neerwaartse spiraal die pas zal stoppen
als bitcoin waardeloos is geworden. En anders zijn er wel verhalen dat
bitcoin zoveel energie gebruikt dat het de aarde binnen tien jaar zal
vernietigen. Dit is natuurlijk fout en ik hoop dat je dat zal begrijpen
zodra je leert hoe het werkt. Je zal ook begrijpen waarom koers-bubbels
de minst interessante dingen zijn wat betreft bitcoin.
Met dit boek probeer ik niet de economie van bitcoin en gedegen geld uit
te leggen, hoewel we die concepten wel kort zullen aanraken. Ik ga
bitcoin ook niet beschrijven vanuit een investeringsstandpunt of je
overtuigen dat iedereen een beetje bitcoin zou moeten hebben. Ik raad
iedereen aan om *De Bitcoin Standaard* van Saifedean Ammous te lezen als
je dat nog niet hebt gedaan.[^1]
Ook zal dit boek niet uitwijden over de computercode, en computerkennis
is niet noodzakelijk om dit boek te begrijpen. Als je naar bitcoin wilt
kijken vanuit dat perspectief, raad ik je Antonopoulos' *Mastering
Bitcoin* en Jimmy Songs *Programming Bitcoin* aan.
Voor mij gaat het om het begrijpen hoe alle dingen samenkomen waardoor
bitcoin werkt. Met dit boek hoop ik die kennis met je te kunnen delen.
Mijn doel is om je hersenen een beetje te kietelen en om je met een
vleugje computerkennis, economisch en speltheoretisch inzicht te geven
hoe bitcoin een van de meest interessante en belangrijkste uitvindingen
is van deze tijd. Als je begrijpt hoe bitcoin werkt hoop ik dat jij, net
als ik, zal inzien dat bitcoin veel meer is dan het op het eerste
gezicht lijkt en dat het een geweldige impact zal hebben op de volgende
generaties van deze wereld.
In dit boek nemen we bitcoin onder de loep en laat ik je stap voor stap
zien hoe alles samenkomt. Ik hoop dat je genoeg kennis opdoet om daarna
je reis *down the rabbit hole* te vervolgen. Laten we beginnen!
# Wat is bitcoin?
Bitcoin is een vorm van *peer-to-peer elektronisch geld*, een nieuwe
vorm van digitaal geld dat kan worden overgedragen tussen mensen of
computers zonder enige vertrouwde tussenpersoon (zoals een bank), en
waarvan de uitgifte niet gecontroleerd wordt door één enkele partij.
Denk aan een papieren dollar of fysieke, metalen munt. Wanneer je die
aan anderen geeft, hoeven ze niet te weten wie je bent. Zij moeten er
alleen op te vertrouwen dat het geld dat ze van je krijgen geen
vervalsing is. Normaal gesproken vertrouwen mensen bij fysiek geld op
hun ogen en vingers, of bij grotere hoeveelheden op het gebruik van
testapparatuur om vals van echt te onderscheiden.
Maar in de digitale samenleving worden de meeste van onze betalingen
gedaan via een tussenpersoon: via een bank met behulp van IDeal, een
kredietkaartmaatschappij zoals Visa, een digitale betalingsprovider
zoals PayPal, of WeChat in China.
Met de overgang naar de digitale wereld is geld veranderd van een fysiek
iets dat je zelf kunt bijhouden, overdragen en verifiëren, naar digitale
bits die door een derde partij worden opgeslagen, geverifieerd en
verstuurd. Daardoor ben je voor elke digitale financiële handeling nu
afhankelijk van een derde partij.
Omdat we ons contant geld opgeven voor het gemak van digitale
betalingen, creëren we ook een systeem waarin anderen buitengewone macht
hebben om ons te onderdrukken. Digitale betalingsplatformen zijn de
basis geworden van dystopische, autoritaire controlesystemen die
bijvoorbeeld worden gebruikt door de Chinese overheid om afvalligen te
controleren en om te voorkomen dat specifieke burgers goederen of
diensten gebruiken.
Bitcoin biedt een alternatief voor centraal gestuurd, digitaal geld. Het
biedt os een systeem dat ons de vrijheid van contant geld teruggeeft,
maar op digitale wijze:
1. Een digitaal bezit waarvan het aanbod beperkt, vooraf bekend en
onveranderlijk is. Dit staat in schril contrast met bankbiljetten en
hun digitale versies die worden uitgegeven door overheden en
centrale banken, waarvan het aantal zich in een onvoorspelbaar tempo
blijft uitbreiden.
2. Een stel onderling verbonden computers (*het bitcoinnetwerk*), waar
iedereen kan aan deelnemen door een stukje software te draaien op
hun computer. Dit netwerk dient om bitcoins uit te geven, hun
eigendomstitel te volgen en om overdrachten tussen deelnemers uit te
voeren, zonder te vertrouwen op tussenpersonen zoals banken,
betalingsbedrijven en overheidsinstanties.
3. De bitcoinclientsoftware, een stukje computercode die iedereen kan
uitvoeren om deelnemer te worden van het netwerk. Deze software is
*open source*, wat betekent dat iedereen kan zien hoe het werkt en
bij kan dragen aan nieuwe functies en verbeteringen.
<figure id="fig1">
<img src="images/fig1.png" />
<figcaption><span><em>Bitcoin is een netwerk van computers die de
bitcoinclientsoftware draaien</em>.</span></figcaption>
</figure>
Later in het boek komen we terug op de motivaties achter bitcoin.
## Waar komt bitcoin vandaan?
Bitcoin is rond 2008 uitgevonden door een of meer personen die bekend
staan onder het pseudoniem [**Satoshi
Nakamoto**](https://nl.wikipedia.org/wiki/Satoshi_Nakamoto)[^2]. Niemand
kent de identiteit van Satoshi, en voor zover we weten is hij verdwenen
en heeft hij al jaren niets meer van zich laten horen.
Op 11 februari 2009 berichtte Satoshi over een vroege versie van bitcoin
op een online forum voor mensen die werken aan cryptografie en veel
waarde hechten aan individuele privacy en vrijheid --- *cypherpunks*.
Hoewel dit niet de eerste officiële aankondiging van bitcoin was,
bevatte het een goede samenvatting van Satoshi's beweegredenen. Daarom
gebruik ik het om de basis te leggen voor onze discussie.
Ik zal een aantal citaten weergeven die verduidelijken welke problemen
van het huidige financiële systeem Satoshi probeerde op te lossen:
> Ik heb een nieuw open source P2P e-cash systeem ontwikkeld genaamd
> bitcoin. Het is volledig gedecentraliseerd, zonder centrale server of
> vertrouwde partijen. Alles is gebaseerd op cryptografisch bewijs in
> plaats van vertrouwen. \[\...\]
>
> Het kernprobleem met conventionele valuta is het vertrouwen dat nodig
> is om het te laten werken. De centrale bank moet worden vertrouwd,
> maar de geschiedenis van fiatvaluta zit vol met schendingen van dat
> vertrouwen. We moeten banken vertrouwen om ons geld te bewaren en
> elektronisch over te maken, maar ze lenen het uit in golven van
> kredietbubbels met nauwelijks een fractie van die waarde in reserve.
> We moeten hen onze privacy toevertrouwen, en we moeten erop vertrouwen
> dat ze identiteitsdieven weerhouden om onze rekeningen te plunderen.
> Hun enorme overheadkosten maken microbetalingen onmogelijk.
>
> Vroeger hadden multi-user time-sharing computersystemen een
> vergelijkbaar probleem. Voor sterke encryptie moesten gebruikers nog
> vertrouwen op wachtwoorden om hun bestanden te beveiligen \[\...\]
>
> Toen werd sterke encryptie beschikbaar voor de massa en was vertrouwen
> niet langer nodig. Gegevens konden worden beveiligd waardoor het voor
> anderen onmogelijk was om toegang te krijgen, ongeacht om welke reden,
> ongeacht hoe goed het excuus, wat er ook gebeurt.
>
> Het wordt tijd dat we dit ook hebben voor geld. Met e-valuta op basis
> van cryptografisch bewijs, zonder de noodzaak om een externe
> tussenpersoon te vertrouwen. Geld kan veilig zijn en transacties
> moeiteloos. \[\...\]
>
> De oplossing van bitcoin is om een peer-to-peer-netwerk te gebruiken
> om te controleren op dubbele uitgaven. In een notendop werkt het
> netwerk als een gedistribueerde tijdstempel, waarbij de eerste uitgave
> van een munt van een tijdstempel wordt voorzien. Het maakt gebruik van
> het feit dat informatie gemakkelijk te verspreiden is, maar moeilijk
> is om tegen te houden.
>
> Voor meer informatie over hoe het werkt, zie het ontwerpdocument op
> <http://www.bitcoin.org/bitcoin.pdf>.[^3]
>
> --- [SATOSHI NAKAMOTO]{.upright}
## Welke problemen lost het op?
Laten we een aantal van Satoshi's beweringen nader onderzoeken. Doorheen
het boek zullen we bespreken hoe deze concepten daadwerkelijk worden
geïmplementeerd. Maak je geen zorgen als iets onbekend aanvoelt in deze
sectie want we gaan er later dieper op in. Het idee is om de bedoeling
van Satoshi te begrijpen, zodat we ze later in dit boek kunnen
onderzoeken.
> *Ik heb een nieuw open source P2P e-cash systeem ontwikkeld*
P2P staat voor *peer-to-peer* en geeft een systeem aan waarbij één
persoon een interactie heeft met een ander, zonder tussenpartij. De twee
partijen (ontvanger en verzender) zijn gelijkwaardig. Je herinnert je
misschien P2P-technologieën zoals Napster, Kazaa en BitTorrent, waarmee
mensen voor het eerst met elkaar bestanden, muziek en films konden delen
zonder tussenpersoon. Satoshi ontwierp bitcoin om mensen de mogelijkheid
te geven om op vrijwel dezelfde manier elektronisch contant geld
(*e-cash*) uit te wisselen zonder tussenpersoon.
De software is *open source*, wat betekent dat iedereen kan zien hoe het
werkt en iedereen kan bijdragen. Dit is belangrijk omdat het zorgt voor
transparantie. Er is geen vertrouwen nodig. We hoeven niets te geloven
van wat Satoshi schreef in zijn berichten over hoe de software werkt. We
kunnen de code bekijken en controleren hoe het werkt. Bovendien kunnen
we de functionaliteit van het systeem verbeteren door de code te
wijzigen.
> *Het is volledig gedecentraliseerd, zonder centrale server of
> vertrouwde partijen\...*
Satoshi vermeldt dat het systeem *gedecentraliseerd* is om het te
onderscheiden van systemen die wel centrale aansturing hebben. Eerdere
pogingen om digitaal contant geld te creëren, zoals DigiCash van David
Chaum, werden ondersteund door een *centrale server*; een computer of
set van computers die verantwoordelijk waren voor uitgifte en
verificatie van betalingen, onder controle van één bedrijf.
Dergelijke centraal aangestuurde particuliere vormen van digitaal geld
zijn gedoemd te mislukken; we kunnen niet vertrouwen op geld dat kan
verdwijnen wanneer een bedrijf failliet gaat, wordt gehackt, last heeft
van IT-problemen of wordt gestopt door de overheid.
Bitcoin, aan de andere kant, wordt niet gerund en gecontroleerd door een
enkel bedrijf, maar door een netwerk van individuen en bedrijven van
over de hele wereld. Het stoppen van bitcoin vereist het stoppen van
tienduizenden tot honderdduizenden computers over de hele wereld,
waarvan velen lastig te traceren zijn. Het is een hopeloos
kat-en-muisspel aangezien elke aanval van deze aard eenvoudigweg de
creatie van nieuwe *bitcoin-nodes* of computers op het netwerk
aanmoedigt.
> *\... alles is gebaseerd op cryptografisch bewijs in plaats van
> vertrouwen*
Het internet en de meeste moderne computersystemen zijn gebouwd op
cryptografie; een methode om informatie te versleutelen zodat alleen de
ontvanger van de informatie deze kan ontcijferen. Hoe ontsnapt bitcoin
aan de noodzaak van *vertrouwen*? We zullen hier later in het boek op
ingaan, maar het basisidee is dat in plaats van iemand te vertrouwen die
zegt Ik ben Alice of Ik heb \$10 in mijn account, we cryptografie kunnen
gebruiken om dezelfde feiten dusdanig te presenteren zodat de ontvanger
van het bericht dit eenvoudig zelf kan verifiëren en het onmogelijk is
om te vervalsen. Bitcoin maakt gebruik van cryptografie om deelnemers in
staat te stellen het gedrag van alle anderen te controleren, zonder dat
hierbij een centrale partij vertrouwt hoeft te worden.
> *We moeten hen \[de banken\] onze privacy toevertrouwen, en we moeten
> erop vertrouwen dat ze identiteitsdieven ervan weerhouden om onze
> rekeningen te plunderen*
In tegenstelling tot het gebruik van een bankrekening, het digitale
betalingssysteem of kredietkaarten, stelt bitcoin twee partijen in staat
om transacties uit te voeren zonder persoonlijke identificatie op te
geven. Banken, kredietkaartmaatschappijen, betalingsverwerkers en
overheden beschikken over gecentraliseerde databanken van
consumentengegevens. Deze gegevens zijn een gigantische buit voor
hackers. Zo werden bij de hack van Equifax in 2017 de identiteits- en
financiële gegevens van meer dan 140 miljoen mensen buitgemaakt. Dit
soort databanken en de bijbehorende hacks kunnen resulteren in
identiteitsfraude op grote schaal.
Bitcoin ontkoppelt financiële transacties van identiteiten uit de echte
wereld. Immers, wanneer we contant geld aan iemand geven, hoeft de
ontvanger niet te weten wie we zijn en hoeft de betaler zich geen zorgen
te maken dat zijn informatie wordt gebruikt om hem op een later moment
te bestelen. Waarom zouden we niet hetzelfde, of meer, verwachten van
digitaal geld?
> *De centrale bank moet worden vertrouwd om de valuta niet te
> devalueren, maar de geschiedenis van fiatvaluta zit vol met
> schendingen van dat vertrouwen*
*Fiat*, Latijn voor laat het gebeuren, verwijst naar valuta uitgegeven
door de overheid en centrale bank en dat door de overheid als wettig
betaalmiddel is aangenomen. Historisch gezien werd geld gemaakt uit
dingen die moeilijk zijn om te produceren, gemakkelijk zijn om te
verifiëren en gemakkelijk zijn om te vervoeren, zoals schelpen,
glaskralen, zilver en goud. Telkens wanneer iets als geld werd gebruikt,
bestond de verleiding om er meer van te maken. Als iemand langskwam met
superieure technologie om snel veel van iets te creëren, verloor het
goed zijn waarde. Zo konden Europese kolonisten het Afrikaans continent
ontdoen van haar rijkdom, door te handelen in glazen kralen die voor de
Europeanen gemakkelijk, maar voor de Afrikanen moeilijk, te produceren
waren. Dit is waarom goud al zo lang wordt beschouwd als betrouwbare
vorm van geld - het is moeilijk om snel meer goud te produceren.[^4]
We zijn langzaam overgestapt van een wereldeconomie met goud als geld
naar een wereld waarbij papieren certificaten werden uitgegeven als
claim op datzelfde goud. Uiteindelijk werden door president Nixon de
papieren claims volledig losgekoppeld van goud. Hij maakte in 1971 een
einde aan de internationale inwisselbaarheid van de Amerikaanse dollar
voor goud.
Het einde van de goudstandaard stelde overheden en centrale banken in
staat om de geldhoeveelheid naar believen te vergroten, waardoor ieder
biljet in omloop minder waard werd. Dit staat bekend als
*geldontwaarding*. Hoewel fiatvaluta wordt uitgegeven door een regering,
het inwisselbaar is voor niets, en we het allemaal dagelijks gebruiken,
is het eigenlijk een relatief nieuw experiment in de wereldgeschiedenis.
We moeten erop vertrouwen dat onze overheden de drukpers niet
misbruiken, maar ver hoeven we niet te zoeken om voorbeelden van
schendingen van dat vertrouwen te vinden. Dit zien we voornamelijk terug
in autocratische regimes, waar de overheid directe invloed op de
geldpers heeft. Een bekend voorbeeld is Venezuela, waar de munt nagenoeg
waardeloos is geworden. De Venezolaanse bolivar ging van een koers van 2
bolivar per Amerikaanse dollar in 2009 naar 250.000 bolivar per
Amerikaanse dollar in 2019. Terwijl ik dit boek schrijf, is de
ineenstorting van Venezuela volop aan de gang als gevolg van het
vreselijke economische wanbeleid van de regering.
Satoshi wilde een alternatief bieden voor *fiatvaluta* waarvan het
aantal te allen tijde onvoorspelbaar kan worden verhoogd. Om
*ontwaarding* te voorkomen, ontwierp Satoshi een geldsysteem waarbij het
totale aanbod vooraf werd vastgelegd en het uitgeven van nieuwe munten
een voorspelbaar en onveranderlijk patroon volgt. Er zullen slechts 21
miljoen bitcoins bestaan en elke bitcoin kan worden verdeeld in 100
miljoen eenheden die nu satoshis worden genoemd. In de code is
vastgelegd dat rond het jaar 2140 het eindtotaal wordt bereikt van 2,1
biljard satoshis.
Tot bitcoin was het onmogelijk om te verkomen dat een digitaal goed
oneindig werd gekopieerd. Het is goedkoop en gemakkelijk om een digitaal
boek, audio- of video-bestand digitaal te kopiëren en door te sturen. De
enige uitzonderingen hierop waren digitale goederen die beheerd werden
door tussenpersonen. Bijvoorbeeld wanneer je een film kijkt via Netflix,
dan kun je deze alleen op jouw apparaat bekijken omdat Netflix de film
levert. Je kan deze film zelf niet verspreiden of kopiëren. Op dezelfde
manier wordt je digitale geld beheerd door de bank. Het is de taak van
de bank om bij te houden hoeveel geld je hebt, en als je het aan iemand
anders overdraagt, regelt de bank de overdracht.[^5]
Bitcoin is het eerste digitale systeem dat schaarste afdwingt zonder
tussenpersonen en het is het eerste goed waarvan het totale aanbod en
het uitgifteschema vooraf bekend is. Zelfs edelmetalen zoals goud hebben
deze eigenschap niet, omdat we meer goud kunnen delven als het rendabel
is om dat te doen. Stel je voor dat je een asteroïde ontdekt die tien
keer zoveel goud bevat als wij op aarde hebben. Wat zou er gebeuren met
de prijs van goud? Bitcoin is immuun voor dergelijke ontdekkingen. Het
is onmogelijk om er meer van te produceren, en we zullen in latere
hoofdstukken uitleggen waarom.
De aard van geld en de werking van het bestaande monetaire systeem zijn
ingewikkeld. Dit boek gaat hier niet dieper op in. Als je hier meer over
wilt weten in de context van bitcoin, dan raad ik *De Bitcoin Standaard*
van Saifedean Ammous aan.
> *Gegevens konden worden beveiligd op een manier waardoor het voor
> anderen onmogelijk was om toegang te krijgen, ongeacht om welke reden,
> ongeacht hoe goed het excuus, wat er ook gebeurt. \[\...\] Het wordt
> tijd dat we dit ook hebben voor geld.*
Onze huidige systemen om geld veilig te stellen, zoals het op de bank
zetten, vertrouwen erop dat iemand anders zijn werk goed doet.
Vertrouwen op zo'n tussenpersoon vereist niet alleen vertrouwen dat ze
niets kwaadaardigs of dwaas zullen doen, maar ook vertrouwen dat de
overheid niet via druk op de tussenpersoon dergelijke dingen doet. Denk
hierbij aan zaken als iemand de toegang tot hun geld ontzeggen of het
geld onteigenen. Helaas is keer op keer aangetoond dat overheden wanneer
zij bedreiging verwachten of zien, dit soort dingen kunnen doen en tot
uitvoering brengen.
Het klinkt misschien gek voor iemand die in de Verenigde Staten woont
(of in een andere sterk gereguleerde economie) om te denken dat je op
een dag wakker kan worden en dat dan al je geld weg is, maar het gebeurt
de hele tijd. Ik heb zelf eens voorgehad dat mijn tegoed op Paypal
bevroren was omdat ik mijn account al maanden niet had gebruikt. Het
kostte me meer dan een week om weer toegang te krijgen tot mijn geld. Ik
heb het geluk dat ik in de Verenigde Staten woon, waar ik tenminste
juridische hulp kan zoeken als PayPal mijn tegoed bevriest, en waar ik
er in principe op vertrouw dat mijn regering en de bank mijn geld niet
zullen stelen.
Er zijn veel ergere dingen gebeurd en nog steeds aan de orde in landen
met minder vrijheid, zoals banken die sluiten tijdens de crisis in
Griekenland (2015)[^6], banken in Cyprus die via bail-ins het geld van
hun klanten in beslag nemen (2013), of de overheid die bepaalde
bankbiljetten waardeloos verklaart in India (2016)[^7].
Ik ben opgegroeid in de voormalige Sovjet-Unie. Daar reguleerde de
overheid de economie, wat leidde tot enorme tekorten aan goederen. Het
was illegaal om vreemde valuta zoals de Amerikaanse dollar te bezitten.
Toen mijn ouders weg wilden, konden we slechts een beperkt bedrag per
persoon naar dollars omwisselen. De wisselkoers was door de overheid
bepaald en ver verwijderd van de wisselkoers op de vrije markt. In feite
heeft de regering ons het kleine beetje vermogen dat we hadden ontnomen,
door een ijzeren greep te houden op de economie en het betalingsverkeer.
Autocratische landen hebben de neiging om strenge economische controles
in te voeren om te voorkomen dat mensen hun geld uit banken opnemen, het
land uitvoeren of inruilen voor nog-niet-waardeloze valuta zoals de
Amerikaanse dollar. Hierdoor heeft de regering vrij spel om krankzinnige
economische experimenten, zoals het socialistische systeem van de
Sovjet-Unie, uit te voeren.
Bitcoin werkt niet op basis van vertrouwen in een derde partij voor het
veilig stellen van je geld. In plaats daarvan maakt bitcoin het
*onmogelijk* voor anderen om toegang te krijgen zonder een speciale
sleutel die alleen de eigenaar bezit, *ongeacht om welke reden, ongeacht
hoe goed het excuus, wat er ook gebeurt*. Door bitcoin te bezitten,
bezit je de sleutels van je eigen financiële vrijheid. Bitcoin scheidt
geld en staat.
> *De oplossing van bitcoin is om een peer-to-peer-netwerk te gebruiken
> om te controleren op dubbele uitgaven \[\...\] als een gedistribueerde
> tijdstempel, waarbij de eerste uitgave van een munt van een
> tijdstempel wordt voorzien.*
Een *netwerk* verwijst naar het idee dat een stel computers zijn
verbonden en informatie naar elkaar kunnen sturen. Het woord
*gedistribueerd* betekent dat er geen centrale partij aan de macht is,
maar dat alle deelnemers samenwerken om het netwerk succesvol te maken.
In een systeem zonder centrale controle is het belangrijk dat niemand
vals kan spelen. Het idee van *dubbele uitgaven* verwijst naar de
mogelijkheid om twee keer hetzelfde geld uit te geven. Dit is geen
probleem met fysiek geld, want het geld wisselt van hand zodra je het
uitgeeft. Digitale transacties kunnen echter worden gekopieerd, net als
muziek of films. Wanneer je geld overmaakt via een bank, zorgt de bank
ervoor dat je niet twee keer hetzelfde geld kunt verplaatsen. In een
systeem zonder centrale controle, hebben we een manier nodig om dit
soort *dubbele uitgaven* te voorkomen (Dubbele uitgaven zijn in feite
hetzelfde als geld vervalsen).
Satoshi beschrijft dat de deelnemers van het bitcoinnetwerk samenwerken
om transacties van *tijdstempels* te voorzien. Door deze tijdstempel
weten we welke transactie eerst kwam zodat we toekomstige pogingen om
datzelfde geld uit te geven afwijzen. In de volgende hoofdstukken zullen
we dit systeem vanaf de basis bespreken. Het zal ons in staat stellen om
vals spel te detecteren zonder te vertrouwen op een centrale uitgever of
validator.
Bitcoin was geen uitvinding die op zichzelf stond. In de paper noemde
Satoshi verschillende belangrijke pogingen om soortgelijke systemen te
implementeren, waaronder Wei Dai's b-money en Adam Back's Hashcash.
Ondanks de technologische inzichten van voorgangers, had nog niemand de
juiste oplossing gevonden. Maar de uitvinding van bitcoin bracht daar
verandering in, waardoor het eerste systeem voor de uitgifte en het
overmaken van een echt schaars, digitaal geld zonder centrale controle
mogelijk werd.
Satoshi loste een aantal interessante technische problemen op om de
kwesties van privacy, ontwaarding en centrale controle in de huidige
monetaire stelsels aan te pakken:
1. Hoe zet je een peer-to-peer-netwerk op, waar iedereen vrijwillig aan
kan deelnemen.
2. Hoe koppel je een groep mensen zodat zij gezamenlijk een grootboek
bij kunnen houden, zonder hun identiteit te onthullen en zonder dat
zij elkaar hoeven te vertrouwen, zelfs als sommigen van hen
oneerlijk zijn.
3. Hoe stel je mensen in staat om hun eigen, onvervalsbare valuta uit
te geven, zonder op een centrale uitgever te steunen om de schaarste
te verzekeren.
Toen bitcoin van start ging, gebruikte slechts een handvol mensen het en
draaiden zij de bitcoin-software op hun *nodes* (computers, we gaan hier
later verder op in). De meeste mensen dachten destijds dat het een grap
was, of dat het systeem na verloop van tijd ernstige ontwerpfouten zou
bevatten waardoor het zou falen.
Maar steeds meer mensen sloten zich aan bij het netwerk. Ze beveiligden
het netwerk met hun computers, ruilden hun valuta in voor bitcoin, of
accepteerden bitcoin in ruil voor goederen of diensten. Dit alles
verstevigde de gedachte dat bitcoin waarde had. Vandaag, tien jaar
later, wordt bitcoin gebruikt door miljoenen mensen en draaien
tienduizenden tot honderdduizenden nodes de gratis bitcoin software,
ontwikkelt door honderden vrijwilligers en bedrijven wereldwijd.
Laten we onderzoeken hoe we zo'n systeem kunnen bouwen!
::: {#chap2}
# De tussenpersoon verwijderen {#chap2}
:::
In het vorige hoofdstuk hebben we besproken dat bitcoin een peer-to-peer
systeem is voor de overdracht van waarde. Voordat we ingaan op hoe dat
werkt, kijken we eerst hoe een traditionele bank of betalingsverwerker
omgaat met het beheer van eigendom en overdrachten van activa.
## Banken zijn slechts grootboeken
Hoe werkt een digitale betaling via de bank, PayPal of ApplePay? Heel
eenvoudig, fungeren deze tussenpersonen als veredelde grootboeken van
rekeningen en overschrijvingen.
Het doel van een bank is om tegoeden op te slaan en te bewaken. Maar
tegoeden zijn tegenwoordig voornamelijk elektronisch, in plaats van
munten of papier. Als zodanig is het nu de taak van een bank om data te
beheren en te bewaken. Omdat de gegevens elektronisch zijn, is de
beveiliging ook voornamelijk elektronisch. Banken maken gebruik van
softwarematige inbraakdetectiesystemen, back-ups om te beschermen tegen
gegevensverlies, audits door derden om er zeker van te zijn dat interne
processen niet in het gedrang komen en ze verzekeren zich uit voorzorg
voor het geval er iets misgaat.
Hieronder zie je hoe banken werken. In dit voorbeeld hebben we het over
een bank, maar je kan dit lezen als elke partij die betalingen verwerkt.
We beginnen met een grootboek van rekeningen waaruit blijkt dat Alice en
Bob geld hebben gestort bij de bank.
[`Grootboek``\ `{=latex}`van``\ `{=latex}`de``\ `{=latex}`bank`]{.underline}
`1.``\ `{=latex}`Alice:``\ `{=latex}`Credit``\ `{=latex}`voor``\ `{=latex}`cash``\ `{=latex}`storting``\ `{=latex}`+2€`\
`2.``\ `{=latex}`Bob:``\ `{=latex}`Credit``\ `{=latex}`voor``\ `{=latex}`cash``\ `{=latex}`storting``\ `{=latex}`+10€`
Wanneer Alice €2 naar Bob wil sturen, belt ze haar bank of gebruikt ze
een website of mobiele app van haar bank, logt ze in bij de bank met
behulp van een gebruikersnaam en wachtwoord of pincode, en doet
vervolgens het verzoek tot overdracht. De bank registreert dit in hun
grootboek.
[`Grootboek``\ `{=latex}`van``\ `{=latex}`de``\ `{=latex}`bank`]{.underline}
`1.``\ `{=latex}`Alice:``\ `{=latex}`Credit``\ `{=latex}`voor``\ `{=latex}`cash``\ `{=latex}`storting``\ `{=latex}`+€2`\
`2.``\ `{=latex}`Bob:``\ `{=latex}`Credit``\ `{=latex}`voor``\ `{=latex}`cash``\ `{=latex}`storting``\ `{=latex}`+10€`\
`3.``\ `{=latex}`Alice:``\ `{=latex}`Debet``\ `{=latex}`-2€`\
`4.``\ `{=latex}`Bob:``\ `{=latex}`Credit``\ `{=latex}`+2€`
De bank heeft de credits en debets en bijbehorende tegoeden
geregistreerd, en nu is het geld overgedragen.
## Het dubbele-uitgavenprobleem
Wat gebeurt er als Alice diezelfde twee dollar nu weer probeert uit te
geven? Dit wordt het *dubbele-uitgavenprobleem* genoemd. Zij dient het
verzoek in bij de bank, maar de bank zegt: \"Sorry, we zien dat je die
€2 al hebt uitgegeven aan Bob. Je kan dat geld niet meer uitgeven.\"
Wanneer je een centrale autoriteit hebt zoals een bank, is het heel
gemakkelijk voor de bank om te zien dat je probeert geld uit te geven
dat je al hebt uitgegeven. Dat komt omdat zij de enigen zijn die het
grootboek kunnen wijzigen. Zij beschikken over verschillende interne
processen zoals back-ups en audits, om ervoor te zorgen dat het
grootboek correct is en om te zorgen dat er niet mee wordt geknoeid.
We noemen dit een *gecentraliseerd* systeem omdat het een enkel
controlepunt heeft.
<figure id="fig2">
<img src="images/fig2.png" style="width:60.0%" />
<figcaption><span><em>De bank houdt een grootboek bij waar iedereen
toegang toe heeft, maar alleen via de bank bij
kan.</em></span></figcaption>
</figure>
## Het grootboek delen tussen verschillende partijen
Het eerste probleem dat bitcoin wil oplossen, is het verwijderen van een
tussenpersoon door het creëren van een *peer-to-peer* systeem. Stel je
voor dat banken verdwenen zijn en we ons financiële systeem opnieuw
moeten creëren. Hoe kunnen we een grootboek bijhouden zonder centrale
partij?
Als we niet één centraal grootboek hebben, moet het zo zijn dat het
grootboek van het volk is. *Vive la révolution*. Dit is hoe we dat doen.
Eerst komen een aantal mensen samen en creëren zij een *netwerk*. Dit
betekent simpelweg dat een manier bestaat om informatie met elkaar te
delen. Laten we zeggen dat we telefoonnummers of Snapchat-accounts
uitwisselen. Wanneer Alice geld wil overmaken naar Bob, belt ze niet
naar de bank, maar zegt ze tegen al haar vrienden: Ik stuur €2 naar Bob.
Iedereen bevestigt met: Top, we noteren het, en schrijft het in hun
eigen kopie van het grootboek. Het ziet er uit zoals in Figuur
[4.2](#fig3){reference-type="ref" reference="fig3"}.
<figure id="fig3">
<img src="images/fig3.png" style="width:60.0%" />
<figcaption><span><em>Iedereen heeft een eigen kopie van het grootboek,
waar ze onafhankelijk van een ander bij kunnen.</em></span></figcaption>
</figure>
Dus nu heeft iedereen (in plaats van enkel de bank) een kopie van het
grootboek in handen. Telkens wanneer iemand geld wil uitgeven, vertellen
ze het aan al hun vrienden. Iedereen houdt de transacties bij. Het
grootboek staat niet meer op één plek. Dit heet *gedistribueerd*. We
noemen we het ook *decentraal*, omdat geen enkele centrale partij het
voor het zeggen heeft. Er hoeft geen tussenpersoon meer vertrouwd te
worden.
Nu we geen tussenpersoon hebben, hoe gaan we dan om met dubbele
uitgaven? Wie of wat kunnen we (in plaats van de bank) raadplegen om na
te gaan of het geld dat wordt uitgegeven nog niet is uitgegeven? Omdat
iedereen een kopie van het grootboek heeft, moeten we iedereen
raadplegen. Het systeem zoals we nu bespreken, is *gebaseerd op
consensus* omdat er in het netwerk consensus heerst. Iedereen is het
eens over een bepaalde versie van de waarheid.
Als Alice probeert om de €2 die ze al naar Bob heeft gestuurd opnieuw
uit te geven, zal haar transactie worden afgewezen door iedereen op het
netwerk. De leden op het netwerk zullen hun grootboeken raadplegen en
aan Alice vertellen dat het geld al is uitgegeven. Ze zouden haar tweede
transactie van diezelfde €2 dus niet opnemen. We hebben nu een
peer-to-peer consensusnetwerk voor het registreren van eigendom en
overdrachten van tegoeden.
Zolang partijen *toestemming* nodig hebben om deel te mogen nemen aan
ons gedistribueerde grootboek, en we erop kunnen *vertrouwen* dat elke
partij eerlijk is, werkt het systeem. Maar dit soort ontwerpen kunnen
niet geschaald worden om door miljoenen mensen van over de hele wereld
te worden gebruikt. Gedistribueerde systemen bestaande uit willekeurige
deelnemers zijn inherent onbetrouwbaar. Sommige mensen gaan af en toe
offline. Dat betekent dat ze mogelijk niet op de hoogte zijn van onze
transacties op het moment dat we die uitsturen. Anderen proberen ons
misschien actief te bedriegen door te zeggen dat bepaalde transacties
juist wel of niet hebben plaatsgevonden. Nieuwe mensen kunnen zich
aansluiten bij het netwerk en zo ontstaan conflicterende kopieën van het
grootboek.
In het volgende deel onderzoeken we hoe iemand zou kunnen proberen om
vals te spelen.
## De dubbele-uitgaven aanval
Als ik Alice ben, kan ik *samenspannen* met een aantal van de andere
mensen en hen vertellen: Als ik geld uitgeef, schrijf het dan niet in
jullie grootboek. Doe alsof het nooit gebeurd is. Laten we eens kijken
hoe Alice zo'n dubbele-uitgaven aanval kan uitvoeren.
Beginnend met een saldo van €2, doet Alice het volgende:
1. Ze stuurt haar €2 naar Bob, om een reep chocolade te kopen. Nu heeft
Alice €0 over.
2. David, Eva en Femke spannen samen met Alice en schrijven de
transactie van Alice naar Bob niet in hun grootboeken. In hun
exemplaar heeft Alice haar geld nooit uitgegeven en heeft ze nog
steeds een saldo van €2.
3. Charlotte is een eerlijke grootboekhouder. Ze registreert correct de
transactie van Alice naar Bob. In haar grootboek heeft Alice €0.
4. Henri was een week op vakantie en heeft nog nooit van de transactie
gehoord. Hij sluit zich aan bij het netwerk en vraagt om een kopie
van het grootboek.
5. Henri krijgt 4 valse kopieën (David, Eva, Femke en Alice) en één
eerlijke kopie (Charlotte). Hoe bepaalt hij welke echt is? Zonder
beter systeem vertrouwt hij de meerderheid van deelnemers en wordt
dus misleidt. Hij neemt aan dat het nep-grootboek klopt.
6. Alice koopt een chocoladereep van Henri met de €2 die ze eigenlijk
niet heeft. Henri accepteert het omdat voor zo ver hij weet, Alice
nog steeds €2 op haar rekening heeft.
7. Alice heeft nu 2 chocoladerepen en er is €4 aan nepgeld gemaakt in
het systeem. Ze betaalt haar vrienden met chocoladerepen, en ze
herhalen de aanval 100 keer op elke nieuwe persoon die lid wordt van
het netwerk.
8. Alice heeft nu alle chocoladerepen en alle anderen hebben grote
zakken nepgeld gekregen.
9. Wanneer de verkopers van chocoladerepen het geld willen uitgeven dat
Alice ze heeft gestuurd zullen Alice, David, Eva en Femke (die de
meerderheid van de netwerk uitmaken) deze uitgaven afwijzen omdat ze
weten dat het nepgeld is.
Dit wordt een *consensusfout* genoemd. De mensen in het netwerk kwamen
niet tot consensus over de stand van zaken. Doordat er geen beter
systeem voor handen was, werd de meerderheidsregel gehanteerd, wat er
voor zorgde dat oneerlijke mensen het netwerk konden bedotten en geld
konden uitgeven dat ze eigenlijk niet hadden.
Als we een systeem willen maken dat *zonder toestemming* werkt, waar
iedereen aan kan deelnemen zonder iemand permissie te moeten vragen, dan
moet het weerbaar zijn tegen oneerlijke deelnemers.
## Het oplossen van het gedistribueerd consensus probleem
Nu komen we bij een van de moeilijkste problemen in de technologie:
consensus delen tussen partijen waar sommige oneerlijk of onbetrouwbaar
zijn. Dit probleem staat bekend als *het probleem van de Byzantijnse
Generalen* en de oplossing bleek de sleutel tot succes van Satoshi
Nakamoto's ontdekking. Een heleboel mensen moeten het eens worden over
de transacties in het grootboek zonder te weten welke grootboekhouders
alle transacties correct en eerlijk hebben opgeschreven.
Een naïeve oplossing is simpelweg het aanstellen van eerlijke
grootboekhouders. In plaats van iedereen het grootboek laten bijhouden,
kiezen we een handvol vrienden zoals Charlotte, Geert, Frank en Zoe om
het te doen, omdat ze geen leugens vertellen en iedereen weet dat ze
nooit feesten in het weekend.
Dus telkens we een transactie willen verwerken, bellen we Charlotte en
de rest op. Ze zijn blij om het grootboek voor ons bij te houden en
vragen slechts een kleine vergoeding. Nadat zij de transactie in het
grootboek hebben geschreven, bellen ze de anderen om ze op de hoogte te
brengen van de wijziging, waarna ook zij die aan het grootboek toevoegen
als back-up.
Dit systeem werkt heel goed, tot op een dag agenten willen weten wie dit
schaduw financiële systeem draaiende houdt. Ze arresteren Charlotte,
Geert, Frank en Zoe en nemen hen mee, waardoor een einde komt aan ons
gedistribueerde grootboek. We hebben allemaal verschillende back-ups,
kunnen elkaar niet vertrouwen en kunnen niet achterhalen wiens back-up
moet worden gebruikt om een nieuw systeem te starten.
In plaats van een volledige sluiting, zou de overheid onze
grootboekhouders ook stilletjes met gevangenisstraffen kunnen bedreigen
als ze transacties naar Alice accepteren (die verdacht wordt van het
verkopen van drugs). Het systeem is nu effectief onder centrale controle
en we kunnen het niet langer noemen.
Wat als we democratie proberen? Laten we een groep van 50 eerlijke
mensen zoeken en we houden dagelijks verkiezingen om te bepalen wie die
dag het grootboek bij mag houden. Iedereen in het netwerk krijgt een
stem.
Dit systeem werkt geweldig totdat mensen geweld of financiële dwang
gebruiken om dezelfde doelen te bereiken als voorheen:
1. Dwing het electoraat om te stemmen op de grootboekhouders van hun
keuze.
2. Dwing de gekozen grootboekhouders om valse vermeldingen in het
grootboek te verwerken of juist bepaalde transacties tegen te
houden.
We hebben een probleem. Telkens wanneer we specifieke mensen aanstellen
om het grootboek bij te houden, moeten we erop vertrouwen dat ze eerlijk
handelen. Er is geen enkele manier om hen te verdedigen tegen dwang om
oneerlijk te handelen en het grootboek te corrumperen.
## Valse identiteit en Sybil-aanvallen
Tot nu toe hebben we twee mislukte methoden gezien om eerlijkheid te
garanderen: de een maakte gebruik van specifieke grootboekhouders en de
ander van democratisch gekozen en roterende grootboekhouders. De zwakte
van beide systemen is dat het vertrouwen gekoppeld is aan identiteiten
uit de reële wereld: er moeten personen worden aangewezen die
verantwoordelijk zijn voor het grootboek. Wanneer we een systeem
hanteren waar vertrouwen afhankelijk is van identiteit, lopen we kans op
een zogeheten *Sybil-aanval*. Dit is eigenlijk een mooie naam voor
imitatie. Het houdt in dat iemand zich voordoet als een ander en is
vernoemd naar een vrouw met een meervoudige persoonlijkheidsstoornis.
Heb je ooit een rare SMS ontvangen van een van je vrienden, waarna bleek
dat zijn telefoon(nummer) was *gehackt*? Als het om miljarden of zelfs
biljoenen dollars gaat, zullen mensen allerlei vormen van geweld
rechtvaardigen om die telefoon te stelen en die SMS te versturen. Het is
absoluut noodzakelijk dat we voorkomen dat de mensen die het grootboek
bijhouden, op welke manier dan ook, tot zaken gedwongen kunnen worden.
Maar hoe doen we dat?
## We starten een loterij
Als we niet willen dat mensen worden beïnvloed door dreigementen met
geweld of omkoping, hebben we een systeem nodig met zoveel
grootboekhouders dat het onhaalbaar is om ze te dwingen. Of nog beter;
we willen dat hun identiteit geheim blijft. Het moet zo zijn dat
iedereen aan ons systeem kan deelnemen en dat we niet afhankelijk zijn
van een vorm van stemmen, omdat zo'n systeem gevoelig is voor omkoping
of afpersing.
Wat als we een loterij gebruiken waarbij telkens een willekeurige
persoon wordt gekozen om in het grootboek te schrijven? Hier is het
eerste ontwerp:
1. Iedereen ter wereld kan meedoen. Tienduizenden mensen kunnen lid
worden van de grootboekhouderloterij.
2. Wanneer we geld willen overmaken vertellen we het gehele netwerk
over de transacties die we willen uitvoeren, net zoals we hiervoor
deden.
3. In plaats van iedereen de transacties te laten opschrijven, houden
we een loterij om te zien wie het recht wint om de transacties in
het grootboek te schrijven.
4. Wanneer we een winnaar selecteren, mag die persoon alle transacties
in het grootboek schrijven die bij hem bekend zijn.
5. Als de persoon *geldige* transacties in het grootboek schrijft, die
voldoen aan de regels zoals deze door alle deelnemers zijn opgelegd,
krijgen ze een vergoeding.
6. Iedereen houdt een kopie van het grootboek bij en voegt de
transacties toe die door de laatste loterijwinnaar zijn
opgeschreven.
7. We wachten een tijdje zodat de meeste mensen tijd hebben om hun
grootboek bij te werken, om vervolgens de loterij opnieuw uit te
voeren.
Dit systeem is een verbetering. Het is onmogelijk om te weten wie de
deelnemers zijn en wie de volgende winnaar zal zijn, waardoor deze
methode ongevoelig is voor afpersing.
We hebben echter nog geen duidelijk antwoord op de vraag hoe we deze
loterij kunnen uitvoeren zonder dat iemand de leiding heeft, of waarom
we erop zouden vertrouwen dat de winnaar eerlijk gaat handelen bij het
schrijven in het grootboek. In het volgende hoofdstuk zien we hoe we dat
kunnen oplossen.
# Proof-of-work
Het loterij-systeem uit het vorige hoofdstuk, heeft twee grote
problemen:
1. Als we er van uitgaan dat dat we geen enkele centrale partij kunnen
vertrouwen, wie verkoopt dan de loten van de loterij en wie kiest de
winnende loten?
2. Hoe zorgen we ervoor dat de winnaar van de loterij de rest niet
bedriegt en alleen geldige transacties in het grootboek opneemt?
Als we een systeem willen waar iedereen *zonder toestemming* lid van kan
worden, dan moeten we de eis dat iets betrouwbaar moet zijn uit het
systeem halen; het systeem moet *trustless* zijn.[^8]
We moeten tijdens het bedenken van ons systeem rekening houden met de
volgende punten:
1. Bij gecentraliseerde loterijen zoals de Staatsloterij is één partij
verantwoordelijk voor het genereren van alle loten. In ons systeem
kunnen we centraal gezag niet vertrouwen, en moet iedereen dus zijn
eigen loten kunnen genereren.
2. We moeten voorkomen dat iemand de loterij volledig in handen krijgt
door een enorm aantal loten te genereren. De loten kunnen dus niet
gratis zijn. Hoe zorgen we ervoor dat je daadwerkelijk geld moet
uitgeven om kaartjes te kopen als er niemand is bij wie je ze kunt
kopen? De loten moeten van het universum gekocht worden: je moet
elektriciteit verbruiken om ze te genereren.
3. Het moet voor alle andere deelnemers gemakkelijk zijn om te
verifiëren dat je de loterij gewonnen hebt door alleen je lotnummer
te controleren. Bij de Staatsloterij bepaalt de trekkingsmachine van
de Nederlandse Loterij wat het winnende lot is. In een decentraal
systeem kan dat niet. In plaats daarvan laten we iedereen van
tevoren overeenstemmen over een getallenreeks. Valt je lotnummer
binnen het vooraf bepaalde bereik, dan win je. We gebruiken een
cryptografische truc om dit te doen met behulp van een
*hash-functie*.
## Een energie-intensieve asymmetrische puzzel
De elegante oplossing voor alle drie deze problemen heet
*proof-of-work*.[^9] Dit onderdeel van ons systeem werd al in 1993, lang
voor bitcoin, uitgevonden. Dit is waarschijnlijk het moeilijkst te
begrijpen onderdeel van onze loterij, dus we zullen hier in de komende
hoofdstukken uitgebreid op ingaan.[^10]
Zoals we hierboven (in punt 2) concludeerden, moet het duur zijn om de
loten te genereren. Anders kan iedereen zomaar een onbeperkt aantal
loten in handen krijgen. Wat is gegarandeerd duur en is niet afkomstig
van een centrale autoriteit?
Dit is waar de natuurkundige kant van bitcoin de hoek om komt kijken: de
eerste wet van de thermodynamica stelt dat energie niet kan worden
gecreëerd of vernietigd. Een *gratis lunch* bestaat niet als het op
energie aankomt. Elektriciteit is altijd duur omdat je het moet kopen
van de stroomproducenten, of je eigen energiecentrale moet bouwen. In
beide gevallen is het verkrijgen van elektriciteit kostbaar.
Het concept achter proof-of-work is dat je deelneemt aan een willekeurig
proces, vergelijkbaar met het rollen van een dobbelsteen. Maar in plaats
van de gekende zes zijden, heeft onze dobbelsteen ongeveer evenveel
zijden als atomen in het universum. Om deze dobbelsteen te rollen, en
dus lotnummers te genereren, moet je computer berekeningen uitvoeren die
elektriciteit kosten.
Om de loterij te winnen, moet je een getal vinden dat wiskundig is
afgeleid van de transacties die je in het grootboek wilt schrijven, plus
het getal dat je op de dobbelsteen hebt gerold. Om dit winnende getal te
vinden, moet je misschien wel miljarden, triljoenen of quadriljoenen
keren met de dobbelsteen rollen, waarbij je duizenden dollars aan
energie verbruikt. Omdat dit proces op basis van willekeur geschied, is
het voor iedereen mogelijk om zijn eigen loten te genereren, zonder
centrale autoriteit. Hiervoor heb je slechts de lijst met transacties
nodig die je naar het grootboek wilt schrijven en een computer die een
willekeurig getal genereert.
Ook al heeft het vinden van een winnend getal misschien duizenden
dollars aan verbrande energie gekost, toch hoeven andere mensen op het
netwerk slechts een paar simpele checks uit te voeren om jouw werk te
controleren:
1. Is het getal dat je hebt opgegeven minder dan het bereik dat van
tevoren is afgestemd?
2. Is het getal inderdaad wiskundig afgeleid van een geldige
verzameling van transacties die je naar het grootboek wilt
schrijven?
3. Voldoen de transacties die gepresenteerd worden aan de regels van
bitcoin (zijn er geen dubbele uitgaven, worden er geen nieuwe
bitcoin gegenereerd buiten het toegestane schema, etc.)?
Het proces van proof-of-work berust op toeval en vereist vele
computerhandelingen om een winnend lot te vinden. Het heeft echter maar
één handeling nodig om het te verifiëren. Je kunt het zien als een
kruiswoordpuzzel of een sudoku. Het kost je misschien uren om op te