Bitcoin is tijd

deadeyes
35 min readMay 22, 2022

--

(Origineel gepubliceerd door DerGigi)
Did stuk is geschreven onder BY-SA 4 DEED licentie)

“One luminary clock against the sky
Proclaimed the time was neither wrong nor right.”
Robert Frost, Acquainted with the Night (1928)

Tijd is geld, zo gaat het gezegde. Het betekent eigenlijk dat geld tijd vertegenwoordigt: een representatie van de collectieve economische energie en moeite opgeslagen door de mensheid.

Die link tussen tijd en geld is echter meer hecht dan op’t eerste zicht lijkt.
Wanneer geld geen tijd zou kosten om te creëren, zou het ook niet werken als geld, toch zeker niet voor een langere periode.
In de kern, zullen we merken, is het zo dat iets bijhouden, of traceren, in de wereld van de informatieverwerking, altijd ook impliceert dat de tijdsindicatie goed bij te houden is.
Van zodra geld digitaal wordt, moeten we ook een consensus hebben over de definitie van tijd, en daar ligt nu net het probleem.
Je zou denken dat een tijdsaanduiding op iets kleven vrij eenvoudig is, even eenvoudig dan op de dichtstbijzijnde klok of uurwerk de tijd aflezen, en dat is ook zo wanneer het gaat over eenvoudige dagdagelijkse zaken.

Bij het synchroon laten lopen van een wereldwijde, tegendraads, gedistribueerd netwerk, word tijd een bijna onontwarbaar kluwen.
Hoe kan je in hemelsnaam de exacte tijd bepalen wanneer je de klok zelfs niet mag vertrouwen? Hoe creëer je een concept van een enkele, overheersende tijdsindeling in een systeem dat het hele universum omvat? Met andere woorden: hoe kan je tijd gaan afmeten, ijken, op een tijdloze ruimte? En wàt is tijd in feite?

Om op deze vragen te kunnen antwoorden, zullen me een kijk moeten nemen in het concept van tijd op zich, en hoe Bitcoin de eigen tijdsindeling creëert: blocktijd (block time) — meer gemeenzaam bekend als block-height of blok-hoogte.
We gaan zullen onderzoeken waarom het tijdsprobleem verbonden is met het probleem van het opslaan en verwerken van data, en waarom er geen enkelvoudige tijd bestaat in gedecentraliseerde systemen en hoe bitcoin een eigen oorzaak-gevolg of actie-reactie gerelateerde onvoorspelbaarheid gebruikt, om een eigen concept van “nu” op te bouwen.

Tijdwaarnemingsmechanismen hebben beschavingen meer dan eens getransformeerd. Lewis Mumford wees al op dit feit in 1934 : “De klok, niet de stoommachine, is het hoogtepunt van het industriële tijdperk.”
Vandaag, is het opnieuw een tijdswaarnemingsmechanisme dat onze maatschappij laat transformeren en evolueren: een klok, niet computers, speelt de rol van de echte kern van het moderne informatica tijdperk.
En die klok is Bitcoin.

Dingen bijhouden

“Let the child learn to count things, thus getting the notion of number. These things are, for the purpose of counting, consid­ered alike, and they may be single objects or groups.”

David Eugene Smith, The Teaching of Elemen­tary Mathe­matics (1900)

In het algemeen, zijn er twee methodes om data bij te houden: fysieke tokens (tastbare vervanging) en een vorm van een kasboek (de vroegere kerfstokken) genaamd ledger.
Je kan ook echte (kunst)voorwerpen in ruilhandel gebruiken. Bij voorbeeld: je geeft iemand een mooie zeeschelp, een metalen munt, of een andere tastbaar object, of je kan de volledige status repliceren van heel de wereld, door alles wat er ooit gebeurd is op een papier te schrijven.

Beeld je in dat je een schaapherder bent en je zou graag zeker willen zijn dat je hele kudde schapen terug thuis komt. Je kan elk schaap een halsband om doen, en van zodra ze allemaal terug naar de stal komen, omdat alle halsbanden af te nemen en ze terug op te hangen aan de muur. Wanneer je voor elke halsband één haakje hebt, weet je dat alle schapen teruggekeerd zijn, wanneer aan ieder haakje een halsband hangt.
Je kan ze natuurlijk ook gewoon tellen, en een lijst bijhouden van hun aantal.
Maar dan moet je telkens een nieuwe lijst maken, wanneer je begint te tellen. Daarbij moet je ook nog opletten dat je geen schaap dubbel zou hebben geteld, of vergat te tellen.

Geld is een essentieel middel om bij te houden wie er wat nog moet, en aan wie.
Tot nu toe kunnen we stellen dat alles wat we hebben gebruikt als geld in twee categorieën op te delen valt: fysieke voorwerpen en informatie lijsten.
Meer in mensentaal dus tokens en ledgers (kasboek, register, of een boekhouding zo u wil).

Ledger — Token

‘t Is belangrijk om de verschillen tussen deze categorieën te kennen, dus laat me het op het hart drukken: de eerste methode -fysieke tokens- gaat een directe vertegenwoordiging zijn van de status der dingen.
De tweede methode -een ledger- gaat een indirecte vertegenwoordiging zijn van de status der dingen.

Ieder van deze methodes heeft z’n voor- en nadelen.
Bij voorbeeld, tokens gaan ook fysiek moeten uitgegeven en gedistribueerd worden; kasboeken of ledgers zijn gebaseerd op data en zijn gecentraliseerd.
Tokens werken zonder vertrouwensband; een ledger niet.

In de digitale wereld — hoe hard marketing goeroes u willen overtuigen van het tegendeel- kunnen we enkel gebruik maken van ledgers (kasboek) systemen.
Het is dan ook een data omgeving, geen fysieke.
Zelfs wanneer je een stuk informatie of data voorziet van de naam “token”, is het een aanpasbaar stuk data, dat op een harde schijf of een andere informatiedrager werd weggeschreven, waardoor het toch eigenlijk een deel van een informatie register wordt.

De ledger-achtige natuur van alle digitale informatie is de grondslag van het zogenaamde “dubbele-uitgave probleem”. Informatie en data gaat nooit een directe representatie zijn van de staat der dingen in de wereld. Meer nog, de informatie uitwisseling en verzending impliceert dat de data gekopieerd moet worden.
Informatie bestaat op één plek, en om het te “verzenden” of “verplaatsen”, moet je een kopie maken en de originele versie verwijderen op de originele plek.
Dit probleem bestaat niet in de fysieke wereld.
In de echte fysieke wereld, kunnen we iets van A naar B verplaatsen. De data wereld is vreemd aan deze eigenschap. Wanneer je dus informatie wilt “verplaatsen” van A naar B, moet je het kopiëren van A naar B. Er is geen andere manier.

Een andere manier om hierover te denken is vanuit het oogmerk van uniciteit. Fysieke tokens zijn unieke samengestelde zaken die bestaan uit een enig voorkomende compositie van atomen die op een moeilijk te reproduceren manier zijn op elkaar gepast.
Pure informatie heeft deze unieke eigenschap niet.
Wanneer je zulke informatie kan lezen, kan je het ook perfect kopiëren. Praktisch gezien, kan je zeggen dat fysieke tokens uniek zijn, en data tokens dat niet zijn. Ik zou zou zelfs durven beweren dat de term “digitaal token” een foute benaming is. Een token kan zelfs geheime informatie bevatten, maar zelfs dan zal het nooit een unieke, niet-kopieerbare informatie vertegenwoordigen.

Dit verschil in eigenschappen leert ons eigenlijk dat er geen echte manier is om data uit te wisselen.
Het is onmogelijk om een digitaal token door te geven zoals je dat zou doen met een fysieke token, omdat je nooit zeker kan zijn dat de originele houder het aan zijn zijde wel degelijk heeft vernietigd. Digitale tokens, net zoals alle data, kunnen zich dus verspreiden, net zoals een idee.

“… if you have an apple and I have an apple, and we swap apples — we each end up with only one apple. But if you and I have an idea and we swap ideas — we each end up with two ideas.”

Charles F. Brannan (1949)

Fysieke tokens -wat we dus eigenlijk active, liquide middelen of “cash” noemen- zijn dus vrij van dit dilemma. In de echte wereld is het zo dat wanneer u me uw munt geeft, uw munt dan weg is aan uw zijde. Er is dus geen magische manier om deze verdubbeling van zulke munt te bekomen, de enige manier om het me te overhandigen is om het fysiek aan me over te dragen. De wetten van de fysica laten niet toe dat u het twee keer kan uitgeven.

Dit dubbel-uitgeven bestaat wel degelijk in de echte wereld -George Parker, een oplichter die erom bekend stond de beroemde brug van Brooklyn en andere bekende gebouwen “twee keer uit te geven”, komt bijvoorbeeld bij mensen op- maar het vraagt een zeer goed uitgedachte en voorbereide truuk, alsook een stel naïve kopers.
In de digitale wereld is dat niet het geval.

In de digitale wereld, want we zijn voortdurend bezig met data en informatie, is het dubbele uitgave probleem weldegenlijk een probleem, eigen aan het medium. Iedereen die ooit een bestand gekopiëerd heeft, of iets heeft gecopy-paste weet, dat je data perfect kan dupliceren en dat het niet gebonden is aan het medium waarop het geschreven staat.

Wanneer je bv. een digitale foto hebt, kan u het een miljoen keer kopiëren, en enkele kopieën op een USB stick opslaan, en het verzenden naar duizend verschillende mensen. Perfecte kopieën zijn mogelijk omdat de digitale methode het toelaat om er goede foutcorrectie op toe te passen, wat de afnemende kwaliteit, en slijtage, meteen ook wegneemt uit deze methode. Daarenboven gebeurt het ook nog aan een bijna gratis virtuele kost en kan je het origineel niet van de kopie onderscheiden.

Nogmaals: wanneer het gaat over data, is kopiëren de enige mogelijke weg. Er is simpelweg geen manier om digitale informatie van A naar B te verplaatsen of zenden.
Informatie is altijd gekopieerd van A naar B, en wanneer de de kopieer functie succesvol werd afgerond is de originele data bij A ook verwijderd. Da’s meteen de reden waarom het dubbel-uitgave probleem zo moeilijk op te lossen is.
Wanneer er geen centrale autoriteit is, is er geen manier om iets van A naar B te verplaatsen in een manier die geen vertrouwensband vraagt. Je zal er altijd op moeten vertrouwen dat de originele versie verwijderd zal worden. Een neveneffect hiervan, is dat bij digitale informatie, het ook nog eens onmogelijk is om te weten hoeveel kopieën er bestaan en waar deze zich bevinden.

Daardoor kunnen digitale tokens nooit gebruikt worden als geld. Omdat tokens hun betrouwbaarheid en standvastigheid halen uit het feit dat ze moeilijk te reproduceren zijn door hun unieke fysische samenstelling, verdwijnt net deze belangrijke eigenschap in de digitale wereld.
In de digitale wereld, zijn tokens niet te vertrouwen. Door een gevolg van de inherente eigenschappen van data, is de enige valabele vorm van digitaal geld geen token, maar een ledger — wat ons brengt bij het probleem van tijdsindeling.

Tokens zijn tijdloos, ledgers niet

For the things seen are tempo­rary, but the things unseen are everlasting.
Paul of Tarsus, Corinthians 4:18b

Bij fysieke tokens maakt de tijd waarop de transactie gebeurde niets uit. Je hebt het geld, of je hebt het niet. Je kan het uitgeven of je kan het niet. Het eenvoudige gegeven van bezit is de enige voorwaarde. De wetten van de fysica en de natuur, zorgen voor de rest. In deze zin zijn fysieke tokens tijdloos en vereisen ze geen vertrouwensband.

Bij ledgers vervalt het idee van fysiek bezit. Wie de ledger onder controle heeft, moet ervoor zorgen dat alles volgens de regels verloopt. Hetgeen verder onderworpen is aan de wetten van de fysica, namelijk dat je geen geld kan uitgeven dat je niet hebt en ook niet kan uitgeven wat je voorheen al uitgaf, moet nu door mensen gemaakte regels afgedwongen worden.

Het zijn deze regels die het ordelijk werken en onderhouden van de ledger bepalen, niet de fysische wetten.

Deze omschakeling van fysieke eigenschappen en de wetten van de fysica, naar een reeks door mensen gecreëerde regels, is de kern van de zaak.
De door de mens opgestelde regels kunnen altijd omzeild, “breed geïnterpreteerd” of overtreden worden, wat al een pak moeilijker wordt bij de fysische wetten.
Zo kan je, bijvoorbeeld, niet zomaar een echte gouden munt uit het niets creëren. Je moet het goud daarvoor eerst uit de grond gaan delven indien je dat wilt. Op papier kan je echter probleemloos een gouden munt verzinnen. Hiervoor hoef je alleen maar voor jezelf een aantal gouden munten toe te voegen aan een ledger en jezelf er enkele toe te kennen. Of volg de methode van de centrale banken : gewoon een aantal miljarden bijmaken met enkele toetsaanslagen op een computer.
(Het hippe financiele volkje noemt zoiets dan “Rehypoth­e­ca­tion,” “Fractional Reserve Banking,” of “Quanti­ta­tive Easing” — maar laat je niets wijsmaken, het is allemaal hetzelfde: geld verzinnen, geld creëren uit het niets.)

Om de ledgers en diegene die deze beheren het spel eerlijk te laten blijven spelen, zijn er regelmatige, onafhankelijke audits nodig. In staat zijn om elke mogelijke aantekening in een ledger te kunnen verantwoorden is echter geen luxe.
Auditoren moeten met terugwerkende kracht, met volledige toegang en overzicht, door de kasboeken kunnen gaan om de ledgers eerlijk en goed functionerend te houden. Zonder betrouwbare tijdsaanduidingen is het verifiëren van de interne samenhang van zo’n ledger onmogelijk. Een mechanisme om een ondubbelzinnige orde te scheppen is essentieel.

Zonder een absoluut tijdsgevoel is er geen enkele mogelijkheid tot een vastgelegde volgorde en orde van transacties. En zonder deze kunnen de regels van een ledger niet gevolgd worden. Hoe kan je anders weten hoeveel geld je echt hebt? Hoe anders kan je weten dat alles klopt?

Het onderscheid tussen tokens en ledgers benadrukt de noodzakelijkheid van het hebben van een tijdmechanisme. In de tastbare wereld zijn munten tijdloze artefacten die kunnen uitgewisseld worden zonder supervisie. In de digitale wereld vereist munten creëren ook een vorm van tijds-ijkpunten of tijdstempels hebben. In de digitale wereld heeft dus het munten slaan (coinstamping) ook een tijd-stempelen (timestamping) nodig.

Gecentraliseerd munten slaan

Time: a great engraver, or eraser.
Yahia Lababidi (b. 1973)

Dè manier die gemeengoed is geworden om het probleem van de dubbele uitgaven op te lossen — het probleem om ervoor te zorgen dat een digitale overdracht slechts eenmaal plaatsvindt — is het hebben van een centrale trans­ac­tielijst. Als je eenmaal zo’n centrale lijst van trans­ac­tions hebt, heb je één ledger (kasboek) dat als enige bron van waarheid fungeert. Het dubbele-uitgave probleem voorkomen is daar zo eenvoudig dan door een lijst gaan en controleren of alles nog in orde is. Da’s ook de manier waarop bedrijven als PayPal, Venmo, Alipay en alle banken van deze wereld — ook de centrale banken — het probleem van de dubbele uitgaven oplossen: via een centrale autoriteit.

Het probleem is natuurlijk dat de begunstigde niet kan verifiëren dat een van de eigenaren de munt niet dubbel heeft uitgegeven. Een van de klassieke oplossingen is de oprichting van een te vertrouwen centrale autoriteit, of een munt, die elke trans­ac­tion controleert op dubbele uitgaven. […] Het probleem met deze oplossing is dat het lot van het hele geldsysteem afhankelijk is van het bedrijf dat de munt beheert, waarbij iedere verrichting er moet passeren, net als bij een bank.

Satoshi Nakamoto (2009).

Vermeldenswaardig is ook, dat Satoshi Nakamoto op zich data nooit niet-kopieerbaar heeft gemaakt.
Elk deel van bitcoin — de broncode, het kasboek, uw persoonlijke sleutel — kan gekopieerd worden.
Al deze elementen kunnen dus gedupliceerd worden of aangepast.

Satoshi is er echter wel in geslaagd een systeem te bouwen dat de kopieën die de regels niet volgen, volkomen nutteloos maakt. Het Bitcoin-netwerk voert een complex soort dans uit, om vast te stellen welke kopieën nuttig zijn en welke niet, het is deze dans, die schaarste in het digitale domein creëert.
En zoals bij elke dans, is er een maat, een tijdsindeling nodig en een ritmestok om het ritme op te leggen aan de dansers.

Zelfs een gecentraliseerde ledger, kan het dubbele uitgifte probleem enkel maar oplossen als het een manier heeft om de tijd bij te houden. Je moet altijd weten wie hoeveel heeft gegeven aan wie en nog meer belangrijk: wanneer.
In de informatica en dataverwerking kan je dus geen munten slaan, zonder ook tijdsnotulen bij te houden.

It must be stressed that the impos­si­bility of associ­ating events with points in time in distrib­uted systems was the unsolved problem that precluded a decen­tral­ized ledger from ever being possible until Satoshi Nakamoto invented a solution.

Gregory Trubet­skoy (2018)

Gecentraliseerde tijdsmeting

Time brings all things to pass.
Aeschylus (525 BC — 456 BC)

Tijd en orde hebben een zeer intieme band. Zoals Leslie Lamport (Amerikaanse computerwetenschapper en pionier op het gebied van gedistribueerde systemen) in zijn paper getiteld “Time, Clocks, and the Ordering of Events in a Distrib­uted System” uit 1978 al aangaf:
“Het concept van tijd is een fundamenteel onderdeel van onze manier van denken. Het is afgeleid van het eigenlijke basis concept van de volgorde waarin dingen gebeurtenissen plaatsvinden.”
Bij het afwezig zijn van een centraal punt van coördinatie, gaan ook ogenschijnlijk intuïtieve begrippen als “voor,” “na,” en “tegelijkertijd” stuklopen.
In de woorden van Lamport: “Het concept van ‘gebeurt voor’ definieert een onveranderlijke (invariant bij de uitvoering van een computerprogramma) gedeeltelijke ordening van de gebeurtenissen in een gedistribueerd multi-process systeem.”

Anders gezegd: Wie moet de leiding nemen over het bijhouden van tijdsindeling wanneer het niet toegestaan is iemand de leiding te laten nemen? Hoe kunt u een betrouwbare klok hebben als er geen centraal referentiekader is?

Je zou kunnen denken dat het oplossen van dit probleem makkelijk is, omdat iedereen gewoon zijn eigen klok kan gebruiken. Dit werkt alleen wanneer ieders’ klok nauwkeurig is en, nog belangrijker, iedereen het spel eerlijk speelt. In een concurrentieel systeem zou het vertrouwen op individuele klokken een ramp zijn. En vanwege de relativiteit, werkt het niet betrouwbaar en consistent genoeg over heel het universum.

Als gedachten experiment: stel u zich voor hoe u het systeem zou kunnen bedriegen wanneer iedereen die de boel regelt, de tijd voor zichzelf opvolgt en regelt. Je zou kunnen doen alsof de transactie die je nu verstuurt eigenlijk van gisteren is — het werd om een of andere reden uitgesteld — dus je zou nog steeds al het geld hebben dat je eigenlijk al hebt uitgegeven.

Door de asynchrone communicatie die eigen is aan elk gedecentraliseerd systeem, is zulk scenario meer dan een theoretisch experimenteel hersenspinsel. Berichten zullen effectief vertraagd aankomen soms, tijdstempels zijn inaccuraat, en dankzij de relativistische effecten en de natuurlijke snelheidslimieten die onze wereld rijk is, is het allesbehalve makkelijk om de volgorde van dingen en gebeurtenissen te bepalen, zonder gebruik te maken van een centraal gezag of waarnemer.

Who’s there? Knock knock.

An Asynchro­nous Joke

Laten we een concrete illustratie van zulk probleem bekijken in onderstaand voorbeeld.

Stel u voor dat u en uw zakenpartner allebei toegang hebben tot uw bankrekening. U doet zaken over de hele wereld, dus uw bankrekening is in Switzer­land, u bevindt zich zelf in New York en uw zakenpartner woon in Sydney. Voor jou is het 3 januari, en je geniet van een prachtige zondagavond in je hotel. Voor haar is het reeds maandagochtend, dus besluit ze een ontbijt te bestellen met de debetkaart van je gedeelde bankrekening. De kosten zijn $27. Het saldo van de rekening is $615. De lokale tijd is 8h21.

Op dat zelfde moment staat u zelf op het punt uw eigen verblijf te betalen met een andere betaalkaart die aan dezelfde bankrekening is gekoppeld. Die kosten bedragen $599. Het saldo op de rekening bedraagt $615. De lokale tijd is 17:21 uur.

Het komt er dus op naar dat beide mensen op precies hetzelfde moment allebei de kaart gebruiken.

Wat gebeurt er dan ?
(Met m’n excuses voor het gebruik van de term “hetzelfde moment”, beste fysici, — we zullen relativistische effecten negeren alsook het feit dat er geen absolute tijd in ons universum is. We zullen ook negeren dat het concept van synchrone gebeurtenissen niet echt bestaat. Bitcoin is al complex genoeg op zich!)

De centrale boekhouding of ledger, bij uw bank zal waarschijnlijk één bepaalde transactie vóór de andere ontvangen, wat maakt dat één van jullie geluk zal hebben en de andere pech. Wanneer de transactie toevallig in dezelfde tijdseenheid zou toekomen bij hen — laat ons zeggen, in dezelfde milliseconde — dan zou de bank een mechanisme moeten hebben om te beslissen wie het geld kan uitgeven.

Nog mooier: wat zou er gebeuren wanneer niet eens zulke bank bestond?
Wie beslist er over wie er dan als eerste de transactie uitvoert in ons voorbeeld? Wat als het niet alleen jullie twee was, maar honderden of zelfs duizenden mensen die tezamen gaan betalen?
Wat als u al die mensen niet kan vertrouwen?
Wat als sommige personen van heel die groep ook nog eens de boel proberen te bedriegen, bij voorbeeld door hun klokken terug te draaien zodat het lijkt alsof ze het geld een paar minuten geleden hebben uitgegeven?

Een hulpmiddel voor tijdsindicatie is onontbeerlijk om te kunnen vastleggen of zulke barrage van tegelijk lopende bestellingen te kunnen beoordelen, en om zo een unieke geschiedenis af te dwingen bij afwezigheid van een centrale coördinator. — Giacomo Zucco, Discov­ering Bitcoin (2019)

Dit probleem is precies de reden waarom alle eerdere pogingen tot digitaal contant geld een central­ized-register nodig hadden. Je moest altijd op iemand vertrouwen om de volgorde van de zaken (transacties) goed te kunnen identificeren. Een central­ized partij was dus noodzakelijk om de timing bij te houden.
Bitcoin lost dit probleem op door de tijd zelf opnieuw uit te vinden.
Bitcoin zegt neen aan seconden en ja aan data blokken.

De tijd bijhouden, blok per blok

Time’s glory is to calm contending kings,
To unmask false­hood and bring truth to light,
To stamp the seal of time in aged things,
To wake the morn and sentinel the night,
To wrong the wronger till he render right;
William Shake­speare, The Rape of Lucrece (1594)

Alle klokken zijn afhankelijk van periodieke processen, iets wat we een “tik” zouden kunnen noemen. Het gekende tikken van een klok van de klok bij je grootvader thuis, is in wezen hetzelfde als dan het molec­ular-atoom gezoem van onze moderne Quartz en Caesium klokken. Iets schommelt — trilt op een frequentie — en we tellen deze schommelingen gewoon totdat het een minuut of een seconde bedraagt.

Voor grote slingerklokken zijn de bewegingen van de slinger traag, lang en makkelijk op te volgen. Voor kleinere en meer special­ized klokken is speciale apparatuur nodig. De frequentie van een klok — hoe vaak deze tikt — hangt af van het specifieke gebruiksdoeleinden.

De meeste klokken hebben een vaste frequentie. Want we willen natuurlijk exact weten hoe laat het is. Er zijn echter klokken met een variabele frequentie. Een metronoom heeft bijvoorbeeld een variabele frequentie die u kunt instellen voordat u deze in gang zet.
Terwijl een metronoom zijn tempo constant houdt zodra het is ingesteld, varieert de tijd van Bitcoin voor elke tik omdat het interne mecha­nisme probabilistisch werkt. Het doel is echter hetzelfde: de muziek levend houden, zodat de dans kan doorgaan.

blokken en tijd

* eerste blok (6 dagen)
** tijdsindicatie tussen blokken, kan een negatieve delta vertonen

Het feit dat Bitcoin eigenlijk een tijdmechanisme is, verbergt zich in volle zicht.
Satoshi wijst erop dat het Bitcoin-netwerk in z’n geheel fungeert als een klok, of, zoals hij het noemde: “Een gedistribueerde tijd-stempel server”.

In this paper, we propose a solution to the double-spending problem using a peer-to-peer distrib­uted timestamp server to generate compu­ta­tional proof of the chrono­log­ical order of trans­ac­tions.
-
Satoshi Nakamoto (2009)

Deze manier van “tijdstempelen”, was nu net het basisprobleem dat moest worden opgelost, zo blijkt ook uit de referenties in de voetnoten van het Bitcoin “whitepaper” (witboek).
Van de acht refer­ences in totaal gaan er drie over tijdstempels:

- How to time-stamp a digital document by S. Haber, W.S. Stornetta (1991)

- Improving the efficiency and relia­bility of digital time-stamping by D. Bayer, S. Haber, W.S. Stornetta (1992)

- Design of a secure timestamping service with minimal trust require­ments by H. Massias, X.S. Avila, and J.-J. Quisquater (May 1999)

Zoals Haber en Stornetta in 1991 hebben aangetoond, gaat het digitale tijdstempelen om gecomputeriseerde praktische proce­dures die het ondoenbaar maakt voor een gebruiker — of evenzeer een kwaadwillige tegenstander — om een digitaal document te antidateren, zowel voor- als achterwaarts in de tijd.
In tegenstelling tot fysieke documenten, zijn digitale documenten makkelijk aan te passen, te manipuleren, en zulke veranderingen laten niet noodzakelijk sporen van vervalsing achter op het fysieke medium.

In het digitale domein kunnen vervalsingen en manip­u­la­ties echter perfect zijn.

Het kneedbare karakter van data maakt van het voorzien van tijdstempels op digitale documenten een diepgaand en vernuft benodigde proces. Naïeve oplossingen werken niet. Neem bijvoorbeeld een tekstdocument. U kunt de datum aan het einde van het document niet gewoon toevoegen, omdat iedereen, inclusief uzelf, de datum in de toekomst gewoon kan wijzigen. Je kan er trouwens al van bij het begin eender welke datum zetten.

Tijd is een gebeurtenisketting

In an extreme view, the world can be seen as only connec­tions, nothing else.
Tim Berners-Lee, Weaving the Web (1999)

Ergens datums op kleven is een algemeen probleem, zelfs in het niet-digitale domein. Wat in de kidnap­ping-wereld bekend staat als “Authen­ti­ca­tion by Newspaper” is een vaak gebruikte oplossing om het probleem van willekeurige tijdstempels op te lossen.

proof of time joke

Bewijs van tijd

Dit werkt omdat een krant moeilijk te vervalsen is en gemakkelijk te verifiëren. Het is moeilijk te vervalsen, omdat de voorpagina van vandaag verwijst naar de gebeurtenissen van gisteren, gebeurtenissen die de ontvoerder niet had kunnen voorspellen als het beeld weken oud zou zijn. Door de bevestiging of volmacht van deze gebeurtenissen is het beeld zelf al een bewijs dat de gijzelaar nog in leven was op de dag dat de krant verscheen.

Deze methode benadrukt een van de kernbegrippen wanneer we het over tijd als begrip hebben: causaliteit. De pijl van de tijd beschrijft het causale verband tussen gebeurtenissen.
Geen causaliteit, geen tijd.
Causaliteit is ook de reden waarom cryptografische hash-functies zo cruciaal zijn wanneer het gaat om het tijdstempels van documenten in cyber­space: ze intro­duceren een causaal verband.

Omdat het praktisch onmogelijk is om een geldige cryptografische hash te maken zonder het document reeds te hebben, is een causaal relatie tussen het document zelf en de hash die er van genomen werd geïntroduceerd: de gegevens in kwestie bestonden eerst, de hash was daarna berekend en gegenereerd.

Met andere woorden: zonder de onomkeerbaarheid van deze eenrichtings-berekeningen zou er in cyber­space geen causaliteit bestaan.

A komt voor B

Met deze causale bouwsteen, kan men regels en systemen opbouwen di een keten van gebeurtenissen creëren, A aan B aan C qua gebeurtenissen aan elkaar linken, enzovoort.
Op die manier beweegt onze manier om veilige, digitale, tijdstempels te gebruiken ons van een tijdloze plaats in de ether zonder houvast, naar het domein van de digitale geschiedenis.

Causality fixes events in time. If an event was deter­mined by certain earlier events, and deter­mines certain subse­quent events, then the event is sandwiched securely into its place in history.

Bayer, Haber, Stornetta (1992)

Het spreekt voor zich dat causaliteit van het grootste belang is wanneer het gaat om economische berekeningen. En omdat een ledger niets anders is dan de belichaming van de economische bewegingen, berekeningen van vele deelnemers, is causaliteit essentieel voor iedere ledger.

“We need a system for partic­i­pants to agree on a single history […]. The solution we propose begins with a timestamp server.”

Satoshi Nakamoto (2009)

Het is fascinerend om te beseffen dat eigenlijk alle puzzelstukken waaruit Bitcoin is opgemaakt al bestonden. In 1991, introduceerden Haber en Stornetta reeds twee methodes die het “moeilijk of zelfs onmogelijk maakten om valse tijdstempels te produceren”.
De eerste is afhankelijk van een zogenaamde “vertrouwde derde”; de tweede, meer complexe methode, werkt met een gedistribu­eerd “vertrouwen”, en behoeft zo’n vertrouwde derde niet.

De auteurs identificeerde zelfs de inherente problemen van het vertrouwen in een causale ketting van gebeurtenissen, en wat er nodig zou zijn om de geschiedenis daarvan te herschrijven. In hun woorden: “De enige mogelijke oplichterij, zou het voorbereiden zijn van een nep-keten van tijdstempels, die lang genoeg is om zelfs de meest achterdochtige tegenstander die je je kan inbeelden, het te laten opgeven.”
Een soortgelijke aanvalsvector bestaat vandaag de dag in Bitcoin, in de vorm van de 51%-aanval (maar daar meer over in een later hoofdstuk).

Een jaar later bouwden Bayer, Haber en Stornetta voort op hun eerdere werk en stelden ze voor om boomstructuren te gebruiken in plaats van eenvoudige gelinkte lijsten om gebeurtenissen samen te binden.
Wat we vandaag de dag weten als “Merkle Trees” (hash bomen, of Merkle-bomen) zijn simpelweg efficiënte data struc­turen om een hash te creëren uit meerdere andere hashes, op een deter­min­is­tische manier.

Voor tijdstempels betekent dit dat u meerdere gebeurtenissen efficiënt in één “tik” kunt bundelen. In hetzelfde artikel stellen de auteurs voor dat het gedistribueerde vertrouwensmodel, dat in 1991 geïntroduceerd werd, ook verbeterd zou kunnen worden door het uitvoeren van een wederkerende ‘wereldkampioenschap’ om één enkele winnaar te komen, die vervolgens op grote schaal het resultaat (hash) ergens openbaar publiceert, net zoals een krant doet met nieuws.
Dat klinkt misschien bekend in de oren?

Zoals we zullen zien, blijkt het dat kranten ook op een manier is om na te denken over dat tweede ingrediënt van tijdsaanduiding:
onvoorspelbaarheid.

Causality and Unpredictability

Time is not a reality [hupostasis], but a concept [noêma] or a measure [metron]…

Antiphon the Sophist, On Truth (3rd century AD)

Hoewel causaliteit iets essen­tieel is, is het op zich niet voldoende. We hebben ook de onvoorspelbaarheid nodig om de tijd te laten lopen. In de fysieke wereld hebben we natuurlijke processen om de stroom van tijd te beschrijven. We zien een algemene toename van variaties en noemen dat de voortgang van de tijd.
Hoewel de wetten van de natuur in de meeste gevallen niet echt bewust lijken aan de richting van het voltrekken van de tijd, kunnen bepaalde dingen toch niet ongedaan gemaakt worden in de praktijk.

Je kunt een ei niet ont-klutsen, bij voorbeeld.

Op dezelfde manier zijn entropie-verhogende functies nodig om de tijdsboog, de voortgang van de tijd, zeg maar, in de digitale wereld te helpen vormen.
Net zoals het praktisch onmogelijk is om een ei te ont-klutsen, is het ook praktisch onmogelijk om een SHA256 hash of een cryptografische handtekening om te keren of te ontrafelen.

Zonder deze inzet van verhoogde entropie zouden we naar ons eigen goeddunken voor- en achterwaarts kunnen gaan in de tijdlijn.
De volgorde van Fibonacci-nummerreeks is bijvoorbeeld causaal, maar niet entropisch. Elk getal in zulke getallenreeks is het gevolg van de twee voorgaande cijfers. In die zin is het een causale keten.
Het is echter niet nodig om daarbij de tijd te vermelden, omdat het een perfect voorspelbare reeks is.
Naar analogie van een ontvoerder die z’n gijzelaar niet gewoon voor een kalender die de huidige datum weergeeft, kan laten postvatten, kunnen we voorspelbare processen niet als bewijs van tijd gebruiken.
We moeten altijd op iets vertrouwen dat niet van tevoren kan worden voorspeld, zoals de voorpagina van de krant van vandaag.

Bitcoin steunt op twee bronnen van onvoorspelbaarheid: trans­ac­ties en BvGW (Bewijs-van-Geleverd-Werk) : Proof-of-Work.

Net zoals niemand kan voorspellen hoe de voorpagina van de krant van morgen eruit zal zien, kan niemand voorspellen hoe het volgende Bitcoin-blok eruit zal zien.

Je kunt niet voorspellen hoeveel transacties er zullen worden in opgenomen, omdat je niet kunt voorspellen welke trans­ac­ties er in de toekomst gaan publiek gepropageerd worden. Nog belangrijker, je kan niet voorspellen wie de oplossing zal vinden voor de huidige proof-of-work puzzel (en zo een blok zal vinden) en wat deze oplossing dan zal zijn.

In tegenstelling tot de krant die de kidnapper gebruikt, is “bewijs van geleverd werk” gekoppeld aan wat er direct is gebeurd. Het is niet alleen een logboek melding van een gebeurtenis, het ìs de gebeurtenis zelf. Dit is het probabilistische directe bewijs van geleverd werk die het vertrouwen uit de vergelijking haalt.

De enige manier om een geldig bewijs van geleverd werk te vinden, is door vele gissingen te verrichten en het maken van een enkele gok kost een beetje tijd. De probabilistische som van al deze gissingen is net wat de tijdsboog (time chain) genaamd Bitcoin, opbouwt.

Door gebruik te maken van de causaliteit van hash-chains en de onvoorspelbaarheid van de Bewijs-van-Geleverd-Werk functie, biedt het Bitcoin netwerk een mecha­nisme aan waarbij het een onbetwistbare geschiedenis van opgetekende gebeurtenissen aanbiedt.

Zonder causaliteit is wat er vóór en hetgeen na een gebeurtenis kwam, onmogelijk uit elkaar te houden. Zonder die onvoorspelbaarheid is causaliteit nutteloos.

Wat intuïtief verstaan wordt door elke ontvoerder werd in 1992 door Bayer, Haber, en Stornetta benadrukt:

“Om vast te kunnen stellen dat een bepaald document gecreëerd werd na een bepaalde tijdsindicatie, is het nodig om om gebeurtenissen die niet konden voorspeld worden voor ze gebeurden, op te tekenen voordat ze plaatsvonden.”

Bewijs van publicatie

Het is de combi­na­tie van causaliteit en onvoorspelbaarheid dat de mogelijkheid schept voor de creatie van het artificiële “nu” in het anders zo tijdloze digitale rijk.

Zoals Bayer, Haber en Stornetta in hun onderzoek uit 1991 hebben aangegeven: “De volgorde van gebruikers die tijdstempels en hashes aanvragen, is niet van tevoren bekend. Dus als we bits uit de vorige reeks gebruikers verzoeken in de ondertekende certifi­caten opnemen, dan weten we zeker dat de tijdstempel na deze verzoeken plaatsvond. […] Maar de benodigde regels voor het opnemen van bits uit eerdere documenten in het certifi­caat kan ook worden gebruikt om het probleem van het beperken van de tijd in de andere richting op te lossen, omdat het bedrijf die de tijdstempels aflevert geen verdere certificaten kan leveren, vooraleer het de huidige aanvraag al in handen heeft.”

Alle puzzelstukken waren er al. Waar Satoshi in slaagde, is om ze op zulke manier samen te brengen zodat het “bedrijf die de tijdstempels aflevert” uit het opzet werd verwijderd.

Tijdsbewijs

Causa latet: vis est notis­sima.
The cause is hidden, but the result is known.

Ovid, Metamor­phoses, IV. 287 (8 AD)

Kort samengevat tot nu toe: om geld te gebruiken in het digitale domein, moeten we vertrouwen op ledgers of digitale kasboeken.
Om zulke ledgers betrouwbaar te maken is een betrouwbare, ondubbelzinnige organisatie en volgorde vereist. Die volgorde heeft tijdregels nodig. Dus als we zonder een vertrouwensband digitaal geld willen gebruiken in de digitale wereld, moeten we elke entiteit uit het verhaal weren die de creëert en beheert, alsook elke enige entiteit die zelf de tijd beheert en ordent.

Er was een genie als Satoshi Nakamoto nodig om hiertoe een oplossing te creëren: “Om een gedistribueerde tijdstempelserver op te zetten op basis van het peer-to-peer principe, zullen we een Bewijs van Geleverd Werk (Proof-of-Work) systeem nodig hebben, dat erg lijkt op het voormalige Hashcash systeem uitgevonden door Adam Back”

We moeten zo’n BvGW (PoW) systeem gebruiken omdat we iets nodig hebben dat eigen is aan het digitale domein. Eens je begrijpt dat de digitale wereld op een natuurlijke manier op informatie en databehandeling drijft, is het ook een voor de hand liggende conclusie dat berekeningen het enige is dat we voorhanden hebben. Als je wereld uit niets dan data bestaat, is het behandelen van data ook enkel maar wat je kan gebruiken.

Bewijs van Geleverd Werk, in een peer-to-peer omgeving gaat werken omdat het geen vertrouwensband nodig heeft. En het heeft die vertrouwensband niet nodig omdat het losgekoppeld werd van alle externe invoer mechanismen — zoals het lezen van klokken (of het lezen van kranten overigens).
Het is enkel afhankelijk van één enkel ding: berekeningen uitvoeren vereist werk verrichten, en in onze wereld, vereist werk energie en tijd.

Tijdsbruggen bouwen

I know it works for me.
As we cross the bridge — the burning bridge —
With flames behind us,
We front the line.
It’s you and me, baby, against the world.

Kate Bush, Burning Bridge (1985)

Zonder BvGW zou men altijd verzinken in het zogenaamde Orakel Probleem, (the Orcale Problem) omdat de fysieke wereld en de digitale wereld altijd gescheiden blijven.

De markeringen op uw lijst van schapen zijn niet uw schapen, de kaart is niet het territorium en wat er in de krant van gisteren staat is niet noodzakelijk wat er in de echte wereld is gebeurd.

Op een gelijkaardige manier betekent het feit dat je een echte klok gebruikte om een tijdstempel te noteren, nog niet dat hetgeen je noteerde ook daadwerkelijk exact op dat ogenblik gebeurde.

Er is kortweg dus geen goede manier om er zeker van te zijn dat data representatief is voor wat er in de realiteit gebeurt, uitgezonderd wanneer de realiteit in kwestie inherent gelijk staat aan de data zelf.

Het briljante aan het in Bitcoin aanwezige systeem van moeilijkheidsfactor-aanpassingen voor de gemaakte berekeningen, bij dat Bewijs van Geleverd Werk, is net dat het de eigen realiteit creëert, samen met een eigen tijd en ruimte.

BvGW slaat een brug tussen de digitale wereld en de fysieke wereld. Meer nog dan dat, is het de enige soort van zulke verbindingen die tot stand kwam op een manier die geen vertrouwensband nodig heeft. Alle andere oplossingen zullen altijd afhankelijk blijven van externe partijen en/of invoer van buitenaf.

De moeilijkheidsgraad om een nieuw Bitcoin-blok te zoeken, wordt aangepast om ervoor te zorgen dat de brug tussen de tijdrekening van Bitcoin en onze tijdrekening, intact blijft.

Je kan er je klok op gelijk zetten, dat de moeilijkheidsgraad bij Bitcoin, voor de berekeningsuitvoer of voor het delven, iedere 2016 “tikken” van de Bitcoin klok gebeurt, iedere 2016 blokken.

Het doel van deze automatische aanpassing, is om de gemiddelde tijd tussen dat tikken van de Bitcoin klok, rond tien minuten te houden. Het zijn deze tien minuten die een stabiele connectie tussen het fysieke en de data wereld laten handhaven.
Als een gevolg hiervan is er ook een equivalent naar analogie van menselijke tijd nodig om deze aanpassing aan te passen.
Een zuiver op bitcoin blokken gebaseerde moeilijkheids-aanpassing zou niet werken omdat er dan een volledige loskoppeling zou zijn tussen onze wereld en de digitale wereld, wat het doel zou mislopen om net al te vindingrijke mensen te verhinderen om blokken te snel of te traag te vinden.

Zoals Einstein al aangetoond heeft, is tijd geen statisch gegeven. Er is niet zoiets als een universele tijd waar me op kunnen steunen. Er is tijddilatatie en tegelijkertijd is tijd onbestaand.
Dit feit op zich al, maakt dat alle tijdstempels -zeker die over grote afstanden moeten onderhouden worden — onbetrouwbaar van nature uit, zelfs zonder tegenstanders die er mee zouden willen knoeien. (Dit is ook de reden waarom gps-satellieten continu hun tijdsindicatie moeten aanpassen).

Voor Bitcoin zelf maakt het op zich niet zo veel uit dat door de mens gebruikte tijdsindicatie niet zo accuraat zijn. Het maakt ook niet uit dat we niet noodzakelijk een allesomvattend referentiekader hebben. Het moet enkel maar accuraat genoeg zijn, om bij benadering een betrouwbaar gemiddelde over 2016 gevonden blokken te kunnen berekenen.
Om dat te kunnen garanderen, is de “menselijke tijdstempel” van zo’n block enkel aanvaardt onder twee voorwaarden:

  1. De tijdstempel moet groter zijn dan de mediaan van de tijdstempel van de vorige 11 blokken
  2. De tijdstempel moet minder zijn dan de aangepaste netwerktijd plus twee uren. (Deze “aangepaste netwerktijd”, is eigenlijk een mediaan van de tijdstempels over alle bitcoin nodes waarnaar je geconnecteerd bent

Met andere woorden, de netwerk-aanpassing gaat over het constant houden van de tijd-link, en niet over het continue verloop van de graad van veiligheid, hoogte van de moeilijkheid of gebruik van energie.

Dit is geniaal omdat goed geld een in tijd berekende kost met zich mee moet dragen, niet in energie.
Geld linken enkel en alleen aan moeite of energie, is onvoldoende om een absolute schaarste te veroorzaken, omdat elke manier om meer energie op te wekken, ook zou betekenen dat we meer geld kunnen creëren. Tijd is het enige ding waarvan we nooit meer van gaan kunnen produceren. Het is de ultieme bron, zoals Julian Simon opmerkte.

Dit maakt Bitcoin tot de ultieme vorm van geld, omdat de uitgave ervan direct gelinkt is aan de ultieme bron van het universum: tijd.

De automatisch moeilijkheidsaanpassing is onontbeerlijk aangezien zonder dat, de inwendige klok van Bitcoin, steeds sneller en sneller zou gaan slaan naarmate meer en meer delvers (miners) zich bij het netwerk aansluiten of de efficiëntie van mining apparatuur verbetert.
We zouden snel tegen de muur van het coördinerend probleem aanlopen, waarvoor Bitcoin net de oplossing biedt.

Van zodra de bloktijd onder een bepaalde drempel gaat, bijvoorbeeld 50 millisec­onden, zou het niet meer mogelijk zijn om tot een consensus te komen voor een gemeenschappelijk overeengekomen staat van de ledger, zelfs niet puur in theorie.
De lichtsnelheid gaat rond de 66 milliseconden nodig hebben om van de ene kan van de aarde naar de andere kant te flitsen. Dus zelfs moesten onze computers en routers perfect zijn, zouden we “terug naar start moeten”; gezien het op dat moment nutteloos wordt om van twee gebeurtenissen nog te proberen ontwaren wat er eerst plaatsvond en wat erna gebeurde.

Zonder een periodieke moeilijkheidsgraag aanpassing van Bitcoin’s tikken van de klok, zouden we in de hopeloze situatie terechtkomen waarbij we het probleem van het coördineren sneller zouden moeten beginnen oplossen dan de snelheid van het licht.

Tijd ligt ook aan de basis van het probleem van crypto­grafische instabiliteit, hetgeen in hoofdstuk 1 werd beschreven. Cryptografie kan werken vanwege de asymmetrie doorheen de tijd: het duurt maar een korte tijd om een cryptografische muur op te bouwen, maar langer om deze weer af te breken, tenzij je een sleutel hebt.

In zekere zin, kan je zeggen dat Bewijs van Geleverd Werk (proof-of-work) — en de moeilijkheids-aanpassing dat er mee ingebakken zit — als het ware kunstmatig de tijd kan vertragen, binnen het kader van het Bitcoin netwerk. Met andere woorden: Bitcoin legt een intern ritme op waarbij de lage frequentie toelaat om ruimte te laten voor een buffer voor de vertragingen in onze (tele)communicatiemiddelen tussen de deelnemers. Elke 2016 blokken, gaat de interne Bitcoin klok zich heroriënteren, aanpassen zodat -gemiddeld- er slechts één gevalideerde nieuwe block kan gevonden worden per 10 minuten.

Van een buitenaf gezien, gaat Bitcoin een chaotische stoofpot van wereldwijd uitgezonden asynchrone berichten in een parallel universum trechteren, met naleving van, en beperkt door de eigen regels onder een eigen gesternte van ruimte en tijd.
De transacties in de geheugen-poel (memory pool) zijn tijdloos vanuit het oogmerk van het Bitcoin netwerk. Alleen als een trans­ac­tie werd opgenomen in een geldig blok, krijgt deze een tijdsindicatie toegewezen: namelijk het bloknummer van het blok waarin deze transactie werd opgenomen.

BitCoin v0.01 ALPHA versie (2009)

Je kan moeilijk overdrijven over hoe elegant deze oplossing wel is.

Als je in staat bent om je eigen defin­i­tie van de tijd te creëren, is het ontcijferen van wat er eerst kwam, en wat erna kwam, ook iets triviaal.

De moeilijkheids aanpassing, zorgt ervoor dat het tikken van de interne metronoom van Bitcoin ongeveer constant zijn blijven.
Het is als een dirigent van een Bitcoin-orkest. Het is ook wat de muziek levend houdt.

Maar waarom kunnen we eigenlijk op dat geleverde werk vertrouwen?

Er is een drievoudig antwoord op die vraag. We kunnen erop vertrouwen omdat berekeningen werk vergen, werk kost ook tijd, en dat specifieke werk dat we hier verrichten -het raden van willekeurige getallen- kan niet efficiënt uitgevoerd worden.

Probabilistische Tijd

Time forks perpet­u­ally toward innumer­able futures.
Jorge Luis Borges, The Garden of Forking Paths (1941)

Het vinden van een geldige “nonce (number only used once) of “gegn” (Geldig Eenmalig Gebruikt Nummer) voor een Bitcoin-blok is een raadspelletje. Het is een beetje hetzelfde dan het gooien van dobbelstenen, een muntje opgooien of een draai aan een roulettetafel.
Je probeert in wezen een willekeurig getal van astronomische grootte te vinden. Er is geen stapsgewijze vooruitgang op weg naar de oplossing in dat geval, je hebt ofwel jackpot, ofwel niet.

Elke keer dat je een munt opgooit, is de kans dat kop of munt valt 50%, zelfs wanneer je twintig keer voordien kop hebt gegooid.

Gelijklopend daarmee is het zo dat telkens je op een Bitcoin block wacht, de kans dat het blok net op die seconde werd gevonden telkens ~0.16% bedraagt.
Hierbij maakt het ook niet uit hoe lang geleden het laatste blok nog werd gevonden. De wachttijd voor het volgende blok benadert altijd deze: ± 10 minuten.

Hieruit vloeit voort dat iedere afzonderlijke tik die uitkomt bij deze klok, onvoorspelbaar is. In vergelijking met klokken die door de mensen worden gebruikt thuis, lijkt deze bitcoin klok nogal spontaan en nonchalant. Dit is echter irrel­e­vant, zoals Gregory Trubet­skoy opmerkte: “Het maakt niet uit dat deze klok niet precies is. Het is van belang dat het voor iedereen dezelfde klok is en dat de staat van de keten onbetwistbaar aan de tikken van deze klok kan worden gebonden.” De klok van Bitcoin zou probabilistisch kunnen genoemd worden, maar zeker geen misleidende klok.

Time is an illusion,
lunchtime doubly so.
Douglas Adams (1979)

Het nu, echter, kan wel absoluut zo’n illusie zijn in Bitcoin. Omdat er geen centrale autoriteit bestaat in het netwerk, kunnen er wel rare situaties ontstaan. Hoewel het heel onwaarschijnlijk is, kan het gebeuren dat er tegelijkertijd een geldig blok wordt gevonden (nogmaals excuses aan alle fysici) waardoor de klok op twee verschillende plaatsen tegelijk vooruit zal tikken.
Aangezien de twee verschillende blokken echter meer dan waarschijnlijk qua inhoud zullen verschillen, zullen ze twee verschillende reeksen geschiedenis bevatten, die beide even geldig zijn.

Dit fenomeen is bekend als een ketensplijting, of “chain split”, en is een normaal process binnen de Nakamoto consensus-berekening.
Zoals een grote zwerm vogels soms in twee groepen splits, om daarna weer samen te komen, zo gaan Bitcoin nodes op het netwerk op de duur ook terug samenvoegen rond een gemeenschappelijke geschiedenis van gebeurtenissen, dit gebeurt dankzij de probabilistische natuur van het raden van getallen.

Nakamoto consensus legt een simpele regel op waarbij de correcte geschiedenis altijd te vinden is in de langste, zwaarste keten.
Lees: de keten die het meeste aantallen resultaten van Bewijs-van-Geleverd-Werk bevat.
Dus, hebben we twee reeksen geschiedenis: A en B, sommige delvers, zullen verder bouwen op geschiedenis A, anderen gaan dat doen op geschiedenis B. Van zodra een van hen het volgende geldige blok vinden, is er bij de andere groep geprogrammeerd dat ze aan de verkeerde geschiedenis wilden blijven bouwen, en zullen ze moeten overschakelen naar de geschiedenis bij de langste keten -die keten heeft ook per definitie een betere representatie van wat er echt is gebeurd.
In Bitcoin wordt de geschiedenis dus ook echt geschreven door de overwinnaars.

The payee needs proof that at the time of each trans­ac­tion, the majority of nodes agreed it was the first received. […] When there are multiple double-spent versions of the same trans­ac­tion, one and only one will become valid. The receiver of a payment must wait an hour or so before believing that it’s valid. The network will resolve any possible double-spend races by then.

Satoshi Nakamoto (2009)

In deze eenvoudige uitleg ligt het geheim van het probleem rond gedistribueerde coördinatie. Dit is hoe Satoshi het “gelijktijdige betalingsprobleem” in ons eerder genoemd fictief voorbeeld heeft opgelost. Hij heeft dit finaal uit de wereld geholpen voor iedereen en altijd, los van de relativistische effecten, die kunnen de pot op!

Vanwege deze proba­bilistische aard van de Bitcoin klok, is het huidige moment — wat we de top van de ketting (chain tip) noemen — altijd onzeker. Het verleden — blokken dieper onder de recentste schakel of top van de ketting liggen — zijn steeds meer zeker.

“The more thorough the under­standing needed, the further back in time one must go.”
Gordon Clark, A Chris­tian View of men and Things, p. 58. (1951)

In gevolge daarvan kan de Bitcoin-klok soms teruggedraaid worden, voor sommige deelnemers, voor één of twee tikken. Wanneer jouw top van de ketting — het huidige moment — verliest in de competitie met een andere top van de ketting, dan zal jouw klok even terugdraaien om daarna verder te gaan en vooruit te springen, om de laatste paar “tikken” waarvan je dacht dat ze al in het verleden lagen, te overschrijven. Wanneer uw klok probabilistisch werkt, moet uw visie tegenover het verleden ook zo werken.

Tick tock tick tock tick — what is the time?
Tick tock tick tock… it ends in
c619.
Are you sure this is fine? Are we probably late?
Absolutes do not matter: before nine there comes
eight.
The clock isn’t exact; it sometimes goes in reverse.
Exact time implies center; that’s the root of this curse!
Yet this clock keeps on ticking, tock-tick and tick-tock,
there’s no profit in tricking; just tick-tock and next block.
A Funny Little Rhyme on Bitcoin and Time (2020)

Conclusie

Time is still one of the great mysteries in physics, one that calls into question the very defin­i­tion of what physics is.

Jorge Cham and Daniel Whiteson: We Have No Idea: A Guide to the Unknown Universe, pp. 117–118 (2017)

Het bijhouden van dingen in een datawereld vereist ook om een volgorde van gebeurtenissen bij te houden, wat op zich de noodzaak v met zich meeneemt om de tijd bij te houden.

Tijdsopvolging vereist ook een consensus over het “nu” — een moment in de tijd dat eeuwig het vastgestelde overeengekomen verleden met de onzekere toekomst verbindt. In Bitcoin is dat “nu” begrip, de top van de ketting, van de langste ketting vol Bewijs van Geleverd Werk.

Er zijn twee essentiële bouwstenen voor de tijdsstructuur: causale verbanden en niet te voorspellen gebeurtenissen.
Causale verbanden zijn nodig om een verleden te definiëren, en de onvoorspelbare gebeurtenissen zijn nodig om een toekomst op te bouwen.

Als de opeenvolging van gebeurtenissen voorspelbaar zou zijn, kan het mogelijk worden om vooruit te springen in tijd.
Als de afzonderlijke stappen van de sequentie niet aan elkaar gekoppeld zijn, zou het makkelijk worden om het verleden te veranderen. Vanwege de interne aanwezige tijdsregeling, is aartsmoeilijk om vals te spelen in Bitcoin.
Je zou het verleden moeten herschrijven of de toekomst moeten voorspellen. Bitcoin voorkomt beide.

Bitcoin bekijken door de lens van de tijd, zou duidelijk moeten maken dat de blockchain, — de datastructuur die de causale link tussen gebeurtenissen vormt — niet de kern is van de innovatie. Het is zelfs geen nieuwe idee, zoals we kunnen lezen in vroegere literatuur hierover.

A blockchain is a chain of blocks.
Peter Todd

Wat wel een nieuw idee is — en hetgeen Satoshi Nakamoto heeft bedacht — is hoe mensen zonder vertrouwensband, onafhankelijk van elkaar, het eens kunnen worden over een geschiedenis van een reeks gebeurtenissen zonder gebruik te maken van een centrale coördinatie.
Hij vond dus een manier om een gedecentraliseerd tijdsstempelmechanisme op te zetten dat ( a ) geen tijdstempel-bedrijf of server nodig heeft,
( b ) geen krant of ander fysiek medium als bewijslevering nodig heeft en
( c ) het tikken van de klok min of meer constant kan houden, zelfs wanneer er wordt gewerkt in een wereld waar er steeds snellere processoren met snellere CPU-kloktijden worden ontwikkeld.

Tijdregistratie vereist dus causaliteit, onvoorspelbaarheid en coördinatie. In Bitcoin wordt causaliteit geboden door eenrichtingsfuncties: de crypto­grafische hash-functies en digitale ondertekening die de kern van het protocol vormen.

De onvoorspelbaarheid wordt zowel door de ‘Bewijs van Geleverd werk’ -puzzel, als door de inter­actie met andere netwerk-deelnemers geleverd: je kunt niet van tevoren weten wat anderen gaan doen en je kunt niet op voorhand weten wat de oplossing voor de ‘Bewijs van Geleverd werk’-puzzel zal zijn.
Coördinatie wordt mogelijk gemaakt door de moeilijkheidsgraad-aanpassing, de magische maïzena die Bitcoin’s tijd met de tijd van de mensen samen bindt.

Zonder zulke brug tussen het fysieke en de data-wereld, zou het niet mogelijk zijn om het eens te worden over de tijd, en zou het onmogelijk zijn om het met elkaar eens te worden over tijdsbepaling, puur steunend op niets anders dan data.

Bitcoin is tijd, op meer dan één manier. Bitcoin’s eenheden zijn eigenlijk gestockeerde tijd, omdat ze ook geld zijn tegelijk, het Bitcoin netwerk is ook tijd omdat het een gedecentraliseerde klok is.

Het onverbiddelijk blijven tikken van deze klok is net hetgeen al de magische eigenschappen van Bitcoin mogelijk maakt. Zonder dat, zou de complexe dans die Bitcoin uitvoert stilvallen.
Hierdoor, hebben alle mensen op deze planeet nu toegang tot iets oprecht wonderbaarlijks: “Magisch internet geld “.

Original text by twitter : DerGigi — Translated by: deadeyes

“Bitcoin Is Time” is a chapter in the upcoming book 21 Ways.

This is published under international licence: CC-BY-SA 4.0) https://creativecommons.org/licenses/by-sa/4.0/ (English)
https://creativecommons.org/licenses/by-sa/4.0/deed.nl (Nederlands / Dutch)

--

--

deadeyes

Ik schrijf kortverhalen, technische info, verhalen en opinies over economie, maatschappij en leven in Antwerpen.