Skip links

#320 Bitcoin, een bounty van $1.000 miljard

De waarde van alle bitcoin op de wereld is bijna $1.000 miljard. Je kunt je voorstellen dat het een enorme verantwoording is voor software-ontwikkelaars om Bitcoin Core te verbeteren. Er staat immers veel op het spel… heel veel! Wat als er per ongeluk een foutje in sluipt?

Maar dit principe gaat zelfs een stuk dieper dan de aanpassingen die developers voorstellen. Deze dynamiek speelt zich af in de allerdiepste grondbeginselen van bitcoin: cryptografie en hashing. Het is namelijk in de kern pure wiskunde die de waarde van alle bitcoin vertegenwoordigt. De 19,6 miljoen bitcoin ter waarde van $1.000 miljard staat immers verdeeld over tientallen miljoenen adressen.

Bitcoin Focus komt wekelijks meerdere keren uit – compleet gratis en value4value. Steun ons daarvoor met een lightningdonatie op onze website!

Cryptografie en hashing

Veel mensen zijn zich er niet van bewust, maar bitcoinsoftware kent het concept van ‘adressen’ niet. Als je een transactie doet, worden de bitcoin in een klein stukje programmacode gespecificeerd. Deze biedt dan regels waaraan de ontvanger van de beetje bitcoin moet voldoen om ze uit te geven.

De oude 1xxx-adressen zijn een sjabloon voor een ECDSA-controlescript. ECDSA staat voor Elliptic Curve Digital Signature Algorithm. Cryptografie dus. Zie het als een wiskundig trucje waarmee je een private key en bijbehorende public key genereert: het key pair. Hiermee bewaar je jouw bitcoin.

Er zijn ook 3xxx-adressen waarbij het adres een hash is van een willekeurig script. De ontvanger van de bitcoin moet informatie kunnen leveren, die overeenkomt met de hash om de munten te kunnen uitgeven.

Je kunt zeggen dat alle bitcoinopslag bestaat uit cryptografische geheimen en onbekende inputs van hashes. Maar er staat een bounty van $1.000 miljard om al die geheimen en inputs te kraken!

SHA-1

Het is misschien wat scherp neergezet, maar in zekere zin is dit wel het geval. Ontwikkelaar Peter Todd heeft ooit eens een wedstrijd geopend voor het kraken van hashing-algoritmes. En in het bijzonder SHA-1. Dit staat voor Secure Hash Algorithm 1, dat van elke input een 160-bit output geeft.

Met hashing kun je data verhullen. Je gooit er informatie in, en uit het algoritme komt een code rollen die altijd dezelfde lengte heeft, de zogenoemde hash digest. Het maakt niet uit wat je er in gooit. De hash digest is altijd even lang. Je kunt dit zelf testen:

  • Input: kort_verhaal
    Output: c89fb0c7fe817d93b11047319de083afe97a2f7d
  • Input: langere_tekst_dan_de_vorige_input
    Output: cab505536ff7604eb8abdeb16423bc4f46a6b2b7

Zoals je ziet: de input is niet even lang, maar de output is dat wel.

SHA-1 is dus een hashfunctie waarmee je dit kunt doen. Maar het is er wel een slechte versie van, namelijk één die gemakkelijk te kraken zou zijn. En dat is gebeurd, maar daarover meer.

Bounty van Todd

Ontwikkelaar Peter Todd wist dat het SHA-1 algoritme niet de sterkste van allemaal is, en dat een kraak een keer zou gaan gebeuren. Daarom deelde hij in 2013 een plan door geld naar een door SHA-1 beveiligd adres te sturen. Er kwam zo’n 2,5 BTC op binnen.

Inmiddels is het adres leeggehaald, maar niet door Todd zelf. Het SHA-1 algoritme was gebroken. Iemand had het voor elkaar gekregen om met twee verschillende inputs, dezelfde output te krijgen. En daarmee kon hij dus het geld innen! De bounty was geclaimd.

Leuk detail: onderzoekers van Google en CWI Amsterdam voltooiden in 2017 succesvol de zogenoemde ‘hash collision’ voor twee documenten en het SHA1 encryptie algoritme. Daarmee is het officieel gebroken. Het adres is 1 dag na de publicatie leeggehaald.

Geen zorgen

Maak je geen zorgen! Bitcoin gebruikt SHA-1 niet en ieders bitcoin is veilig. Maar het experiment van Todd toont aan dat je met een bitcoinbounty leuk kunt zien hoe een algoritme is te kraken. Het bitcoinadres is leeg; het geld buitgemaakt.

In de blogpost van Peter Todd zie je meerdere bounty’s. Die van SHA-1, het slappe algoritme, is inderdaad geclaimd.

Maar gelukkig maakt bitcoin hier niet standaard gebruik van. Je zult daardoor namelijk het SHA-256 algoritme moeten kraken. Want dan kun je het geld van bounty-adres 35Snmmy3uhaer2gTboc81ayCip4m9DT4ko claimen. Hier staat vandaag de dag 0,27 BTC op.

Ook staan er bounty’s open voor RIPEMD160, een andere cryptografische hash functie.

SHA-256 is véél veiliger dan SHA-1. Dat gaat echt in de exponentiële cijfers. Een betere manier om dit uit te leggen dan de video van 3Blue1Brown is er niet. Die raad ik je dan ook volledig aan!

Nogmaals, geen zorgen

Nogmaals: het hashing algoritme in bitcoin is vélen malen veiliger dan het gekraakte algoritme.

Feit blijft wel dat een monetair systeem ter waarde van $1.000 miljard (wat bitcoin inmiddels is), indirect en volautomatisch dus ook extra waarde hangt aan een dergelijke aanval.

Maar stel dat iemand bitcoin wil kraken? Wat dan?

Ten eerste: dan moet er eerst nog enorm veel gebeuren in de ontwikkeling van CPU’s, GPU’s of simpel gezegd rekenkracht (zoals bovenstaande video laat zien). Dat kost enorm veel geld en kapitaal, dus én dat kapitaal moet (eerst) in de ontwikkeling van deze supercomputers worden gestopt én er moet een manier gevonden worden om dit geld weer terug te verdienen.

Ten tweede: de hacker steelt niet de volledige $1.000 miljard in één keer. En daarnaast zal de waarde van de gestolen coins mogelijk hard dalen, waardoor de economische prikkel al snel weer weg is om dit überhaupt te proberen. Op het moment dat je denkt een fortuin te winnen, verdampt de waarde van dit fortuin mogelijk direct weer.

Ten derde: bitcoin is een levend organisme en niet een statisch ding. Het kan zich doorontwikkelen, dus zodra er geluiden zijn dat SHA-256 niet meer veilig is, dan heeft bitcoin de mogelijkheid om zich te updaten; waardoor bitcoiners hun geld naar veiligere plekken/adressen kunnen verplaatsten.

Ten vierde: bitcoin zal niet het eerste slachtoffer zijn van een SHA-256 hash collision. Het algoritme dat door de Amerikaanse National Security Agency (NSA) is bedacht, wordt in véél meer toepassingen gebruikt, die ver buiten bitcoin strijken. De schade zal immens zijn.

Ten vijfde: de coins die het meeste risico lopen, zijn de bitcoins met het adrestype 1xxxx, waaronder dus de 1 miljoen coins van Satoshi Nakamoto itself. P2PK (Pay To Pubkey)-adressen zijn niet gangbaar meer in de nieuwe wallets, dus maak je geen zorgen dat jij het eerste target bent.

Ten zesde: gebruik dit argument dus ook niet als FUD. Het is géén reëel risico voor bitcoin.

Maar toch blijft staan: naarmate bitcoin waardevoller en waardevoller wordt, komt er een steeds duurder prijskaartje op zijn/haar hoofd te staan.

Zowel voor de updates die ontwikkelaars maken als de verbeteringen die ze willen doorvoeren. Maar ook voor de kernbeginselen waarop bitcoin is gebouwd met hashing en cryptografie. En de verantwoording over dát enorme geldbedrag is precies wat bitcoiners weer meer stimulansen geeft om het netwerk goed beveiligd te houden.

Bitcoin Focus

Bitcoin Focus is het eerste Nederlandstalige bitcoin printmagazine ooit! Lees supervette bitcoinverhalen is deze genesiseditie met ruim 70 pagina’s. Met o.a. de Noderunners, Aaron van Wirdum, Boris van de Ven, Bert Slagter en Sjors Provoost.

Bestel het magazine nu voor slechts 18,90 euro! Gebruik daarvoor de code BITCOINFOCUS in het bestelformulier.


BITCOIN FOCUS

Word abonnee van dé bitcoin nieuwsbrief van Nederland.