Hoe werkt het signeren van een Bitcoin transactie?

Hoe werkt het signeren van een Bitcoin transactie?

Bitcoin is een cryptocurrency. Dat is voor de gemiddelde lezer waarschijnlijk niets nieuws, maar wat betekent dat eigenlijk? Crypto doelt op cryptografie, wat klinkt als iets dat complex en moeilijk is. In dit artikel duiken we wat verder in deze cryptografie: het ECDSA.

Bitcoin betaling

Om het nut en doel van de cryptografie te begrijpen, is het goed om te snappen hoe een bitcoin transactie werkt. Als je een betaling doet, moet je voldoen aan een aantal voorwaarden. Je doet dit vanuit je eigen wallet, waar jij als het goed is als enige toegang tot hebt. Deze toegang verkrijg je door aan te tonen dat jij de private key hebt.

Koop gemakkelijk en snel Bitcoin bij Bitvavo. Ga aan de slag en betaal geen handelskosten voor je eerste aankoop tot €1.000 !

Als je BTC verstuurt, doe je dit naar een wallet adres van de ontvanger. Dit wallet adres hoort bij een public key. Iedereen die Bitcoin gebruikt heeft een eigen key pair. Dit slaat op een stukje code die nodig is om óf Bitcoin te versturen óf om Bitcoin te ontvangen.

Bij dit stukje code komt cryptografie kijken.

Cryptografie

Cryptografie is de tak in de wiskunde waarmee we wiskundige bewijzen kunnen maken met een enorm hoge security. Online commerce en bankieren maken al gebruik van cryptografie.

In het geval van Bitcoin wordt cryptografie gebruikt om het voor iemand onmogelijk te maken om geld uit een wallet van een andere gebruiker te versturen. Het kan ook worden gebruikt om een wallet te versleutelen, zodat deze niet zonder wachtwoord kan worden gebruikt.

Een private key is een speciaal stukje data dat aantoont dat jij de rechten hebt een digitale handtekening te zetten. Zo'n cryptographic signature is als het ware een stukje wiskundige magie dat laat zien dat een wallet en een private key bij elkaar horen.

Maar kun je dit niet raden, zoals een pincode te raden is?

Algoritme

Het algoritme dat Bitcoin hiervoor gebruikt heet de ECDSA. Dit staat voor Elliptic Curve Digital Signature Algorithm. Dit algoritme zorgt voor een aantal dingen.

De private key is een geheim en random 'nummer' dat iemand genereert. Het is een unsigned 256 bit integer van 32 bytes. Dit getal correspondeert met een public key. Deze public key kan 'berekend' worden vanaf deze private key, maar vice versa kan het niet. En de manier hoe deze private key correspondeert, is complex.

Zie het als een biljarttafel. Je kunt niet berekenen of terughalen hoe de ballen de vorige ronde lagen als je alleen de huidige situatie hebt zoals die voor iedereen te zien is (public key). Toch kan degene die de beurt heeft gespeeld (met de private key) aantonen dat hij de ballen heeft gestoten door alles exact op de nanometer te reconstrueren zoals het er vóór de stoot uit zag.

Of een ander voorbeeld: een ei kun je wel koken, maar niet 'ontkoken' waardoor het weer vloeibaar wordt. In de wiskunde kun je dit soort trucjes ook toepassen.

Er zijn verschillende soorten ECDSA's. Het is afhankelijk van het type parameters dat je in zo'n algoritme stopt. Bij Bitcoin is dat Secp256k1. Doordat we met ons allen deze parameter gebruiken, komt het algoritme neer op een formule die er als volgt uit ziet: y2 = x3 + 7. Deze formule zorgt op zijn beurt weer voor een curve.

Hoe werkt het signeren van een Bitcoin transactie?

Allemaal leuk en aardig zo'n grafiekje, maar hoe heeft dit te maken met een key pair? Het komt op het volgende neer. Op de curve kun je gigantisch en ontelbaar veel punten zetten. Als je hier een lijn doorheen trekt, kruist die de curve op een andere coördinaat. Zo krijg je nieuwe punten op dezelfde curve, ook wel point doubling en point addition genoemd.

Hoe werkt het signeren van een Bitcoin transactie?
Hoe werkt het signeren van een Bitcoin transactie?

Dit kun je aantal keren doen ieder nieuw punt dat op de lijn ontstaat, krijg je steeds meer mogelijke combinaties. Maar vind dan maar eens het juiste geheime getal waarbij je moet stoppen.

Hoe werkt het signeren van een Bitcoin transactie?

Iedere nieuw punt krijgt een naam: g, 2g, 3g, 4g et cetera. Maar wat als ik een random punt op deze lijn zet en wil weten welke g dat is, dan is dat onmogelijk te raden. Het kan een 295039473g zijn maar misschien is het ook wel 348034834g. En dit is precies het geheime nummer, de private key.

Je kunt dus een boodschap wegsturen met een openstaande variabele die alleen jij kunt invullen. En deze variabele (g) moet zó exact zijn dat het onmogelijk is om deze goed te gokken om het corresponderende punt op de curve te vinden die nodig is om een boodschap te signeren. In onderstaande video legt Computerphile het uit:

De gegenereerde variabele is de random gegenereerde private key. Hierbij hoort dus een public key, maar het terug te herleiden is onmogelijk. Hierdoor is én jouw Bitcoin veilig én kun je toch een public key versturen.

Hou je van wiskunde? Lees dan deze uitleg van core developer Pieter Wuille op Stackexchange.

Maar pas ook op: als jij jouw private key kwijt bent, kun je die dus niet herstellen. Het zijn van je eigen bank brengt dus ook verantwoordelijkheden met zich mee.

Lees meer over:
Bitcoin BTC private key

De bitcoin prijs in euro's:

Plaats reactie

666

0 reacties

Laad meer reacties

Je bekijkt nu de reacties waarvoor je een notificatie hebt ontvangen, wil je alle reacties bij dit artikel zien, klik dan op onderstaande knop.

Bekijk alle reacties

Meest gelezen

Rekt Capital: "Death Cross suggereert dat het ergste nog moet komen voor bitcoin"

De populaire, maar anonieme Twitter-handelaar Rekt Capital heeft zijn licht laten schijnen op de Death Cross die in januari o...

Goedemorgen Bitcoin: miners in vlammen op

Goedemorgen! We hebben het laatste nieuws voor je op een rij gezet. Begin de dag met een bitcoinontbijt.Er werden voor deze w...

Bitcoin update: Wanneer komt er een einde aan de dalende trend?

Door TG Crypto - Sinds november vorig jaar bevindt Bitcoin (BTC) zich in een dalende trend. De koers is maar liefst op 5 maan...

Deze man kocht in 2010 twee pizza’s voor 10.000 bitcoin

Vandaag is het Bitcoin Pizza Day, een feestdag in de bitcoinwereld! Op 22 mei vond namelijk een beroemde bitcoin transactie p...

Bitcoin Focus: Bitcoinoplossingen voor wereldproblemen

Er werden voor deze week koersdips naar 22 duizend dollar voorspeld, dat is (nog?) niet gebeurd. Bitcoin herstelt zich een be...

'Bitcoin is het geld van de toekomst'

Sam Bankman-Fried, miljardair en CEO van FTX, zei eerder deze week in gesprek met The Financial Times dat Bitcoin geen toekom...

Week in Bitcoin: 'Bitcoin is waardeloos', zegt Ben Bernanke

De wereld van bitcoin (BTC) staat nooit stil. Wat is er de afgelopen week allemaal gebeurd? Tijdens de Amsterda...

Leenplatformen zien daling in interesse en moeten rente terugschroeven

Bitcoin (BTC) is inmiddels een wereldwijd bekend financieel product. Rondom bitcoin worden steeds meer verschillende diensten...

Jack Dorsey: "Block is niet langer slechts een betaalbedrijf, meer een ecosysteem"

Jack Dorsey heeft grote plannen met Block en Bitcoin. De grote leider van het bedrijf wil dat investeerders Block beschouwen...

Lees meer

Net binnen

Bitcoin update: Wanneer komt er een einde aan de dalende trend?

Door TG Crypto - Sinds november vorig jaar bevindt Bitcoin (BTC) zich in een dalende trend. De koers is maar liefst op 5 maan...

Leenplatformen zien daling in interesse en moeten rente terugschroeven

Bitcoin (BTC) is inmiddels een wereldwijd bekend financieel product. Rondom bitcoin worden steeds meer verschillende diensten...

Jack Dorsey: "Block is niet langer slechts een betaalbedrijf, meer een ecosysteem"

Jack Dorsey heeft grote plannen met Block en Bitcoin. De grote leider van het bedrijf wil dat investeerders Block beschouwen...

'Bitcoin is het geld van de toekomst'

Sam Bankman-Fried, miljardair en CEO van FTX, zei eerder deze week in gesprek met The Financial Times dat Bitcoin geen toekom...

Week in Bitcoin: 'Bitcoin is waardeloos', zegt Ben Bernanke

De wereld van bitcoin (BTC) staat nooit stil. Wat is er de afgelopen week allemaal gebeurd? Tijdens de Amsterda...

Lees meer