Bitcoin message signing: Een bericht ondertekenen met de private keys van een bitcoinadres

Sinds kort werd duidelijk dat de toezichthouder eist dat Nederlandse dienstverleners de identiteit van hun klanten koppelen aan de bitcoinadressen die zij opgeven. Veel dienstverleners vragen je daarom om een screenshot van je wallet, maar soms is message signing ook een optie. Daarbij onderteken je een bericht met de private keys van het opgegeven bitcoinadres. In deze gids leggen we je uit hoe je dat kan doen met de Electrum wallet.

Regelgeving

Als gevolg van de internationale FATF-richtlijnen scherpen overheden wereldwijd de lokale regelgeving met betrekking tot Bitcoin steeds meer aan. Hoewel er nog altijd weinig concrete gevallen bekend zijn bestaan er zorgen dat Bitcoin wordt gebruikt voor witwassen of financiering van terrorisme. Om dat te voorkomen zijn dienstverleners zoals exchanges wettelijk verplicht transacties te monitoren op onregelmatigheden, een streng Know-Your-Customer (KYC) beleid te hanteren en indien nodig aanvullende vragen te stellen.

Extra eis in Nederland

In Nederland eist de toezichthouder, als enige in de Europese Unie, dat Nederlandse dienstverleners ook de identiteit van klanten koppelen aan de gebruikte bitcoinadressen. Hoewel daarover nog de nodige discussie gaande is, kan een dienstverlener je daarom vragen om een screenshot van je wallet.

Als alternatief kan je bij sommige dienstverleners ook kiezen voor message signing. Daarbij onderteken je een bericht met de private keys van het bitcoinadres dat je hebt opgegeven. Sommige bitcoinwallets hebben hiervoor ingebouwde functionaliteit.

Een ondertekend bericht kan je veilig publiekelijk delen en iedereen kan de geldigheid ervan verifiëren. Je hoeft bij het ondertekenen van een bericht geen bitcointransacties te doen en het is dus kosteloos. Hoe het werkt lees je hieronder.

Bitcoin message signing

Een populaire methode om een bericht te ondertekenen is met de Electrum walletapplicatie. Je kan daarmee een nieuwe wallet aanmaken of bestaande bitcoinwallet importeren en ook biedt het ondersteuning voor hardware wallets. Andere walletsoftware beschikt soms ook over functionaliteit om berichten te ondertekenen, maar niet altijd en vaak zitten de opties ervoor een beetje verborgen. Het proces is in principe echter altijd hetzelfde.

Een ondertekend bericht bestaat uit drie delen:

  1. een bericht
  2. een bitcoinadres
  3. een cryptografisch bewijs van ondertekening

Kort samengevat moet je er het volgende voor doen: Je opent op een computer je bitcoinwallet (in Electrum), navigeert via het menu naar de optie voor ondertekenen, voert het bericht en het bitcoinadres in en je drukt op de knop om te ondertekenen. Hieronder beschrijven we dit stapsgewijs.

Electrum openen of installeren

Om te beginnen start je via de computer de Electrum walletapplicatie en controleer je of je de nieuwste versie hebt. Heb je Electrum nog niet geïnstalleerd of heb je heb een verouderde versie? Dan kan je via onze walletpagina een link vinden naar de website van Electrum waar je de nieuwste versie kan downloaden.

Tijdens de installatie van Electrum kan je een nieuwe wallet aanmaken of een bestaande wallet importeren. Je krijgt in het begin een aantal keuzes voorgeschoteld die mogelijk verwarrend zijn, maar in de meeste gevallen kan je voor 'Standard wallet' kiezen.

electrum20bericht20ondertekenen1.png
electrum20ondertekening20bericht2.png

Een bestaande wallet importeer je bij voorkeur door je hardware wallet aan te sluiten, maar het kan bijvoorbeeld ook met de seed phrase van 12 of 24 Engelse woorden (die je hopelijk goed beschermt en veilig offline bewaart). Let op: Als je de seed phrase handmatig invoert (liever niet), denk dan goed na over veiligheid en risico's.

Bitcoinadres opzoeken

Zoek het bitcoinadres op dat je bij de ondertekening wil gebruiken. Als je het bitcoinadres al weet kan je deze stap overslaan, maar anders kan je jouw bitcoinadressen via Electrum opzoeken zoals hieronder beschreven.

  • Nieuw bitcoinadres: Als je een 'vers' gegenereerd bitcoinadres wil gebruiken waarop je nooit eerder BTC hebt ontvangen kan je via het tabblad 'Receive' een nieuw adres genereren. Hoewel je dat adres nog nooit gebruikte kan je er toch een bericht mee ondertekenen. Je kan eventueel ook een lijst van beschikbare bitcoinadressen bekijken via het tabblad 'Addresses'.

  • Eerder gebruikt bitcoinadres: Als je een bitcoinadres wil gebruiken waarop je eerder al eens BTC hebt ontvangen kan je dat adres opzoeken via het tabblad 'Addresses'. Een andere manier is door in het tabblad 'History' rechts te klikken op een transactie en daarna 'Details' te selecteren. In het nieuwe scherm dat erna opent staan de transactiegegevens met in het onderste venster 'Outputs' het bitcoinadres dat je bij die transactie gebruikte in het groen gemarkeerd.

Bericht ondertekenen

Als je het bitcoinadres dat je wil gebruiken bij de hand hebt navigeer je in de menubalk bovenaan naar 'Tools'. Daarna kies je in het pulldown menu dat opent voor 'Sign/verify message'.

electrum20bericht20ondertekenen3.png

Vervolgens zie je drie vensters. In het bovenste venster plaats je het bericht dat je wil ondertekenen. Dat kan bijvoorbeeld een verificatiecode zijn van een dienstverlener, maar het zou ook iets anders kunnen zijn.

electrumberichtondertekenen

In het middelste venster plaats je het bitcoinadres dat je wil gebruiken bij de ondertekening.

Als laatste druk je onderaan op de knop 'Sign'. Je zal nu gevraagd worden om met je wachtwoord of via je hardware wallet de ondertekening te bevestigen. Het cryptografische bewijs van ondertekening verschijnt daarna in het onderste venster als een lange ingewikkelde reeks karakters.

Verifieerbaar

Wanneer je het bericht, het bitcoinadres en het bijbehorende ondertekende cryptografische bewijs gezamenlijk aanlevert aan een andere partij dan kan die de geldigheid van de combinatie op een vergelijkbare manier controleren. Je moet daarvoor wel alle drie de delen volledig aanleveren: het bericht, het bitcoinadres en het cryptografische bewijs.

Om de geldigheid van de drie delen te controleren druk je op dit zelfde scherm op de knop 'Verify' in plaats van 'Sign'. De software geeft dan aan of de ingevoerde gegevens geldig zijn of niet. Als er ook maar 1 karakter in het geheel niet klopt dan geeft de applicatie aan dat het niet geldig is (dus ook als je een fout maakt bij het knippen en plakken). Als je wil kan je het een paar keer uitproberen, want voor het ondertekenen van berichten hoef je geen bitcointransacties te doen.

Op deze manier kan je bijvoorbeeld een aangeleverde verificatiecode van een dienstverlener als bericht invoeren en ondertekenen met één van je bitcoinadressen. De dienstverlener kan ermee vaststellen dat het bericht is ondertekend met de private keys die toebehoren aan het bitcoinadres.

Wil de echte Satoshi Nakamoto opstaan?

Behalve dat dienstverleners je kunnen vragen om een bericht vanuit je bitcoinwallet te ondertekenen is het soms ook in andere situaties nuttig. Bijvoorbeeld als je Satoshi Nakamoto bent en dat wil aantonen.

De anonieme bedenker van Bitcoin verdween namelijk spoorloos in 2011 en sindsdien is er om de zoveel tijd iemand die beweert Satoshi Nakamoto te zijn. Vooralsnog was geen van hen echter in staat een bericht te ondertekenen met een bitcoinadres waarvan bekend is dat het van Satoshi Nakamoto is. De echte Satoshi Nakamoto zou dat ongetwijfeld kunnen.


Belangrijke thema’s in dit artikel. Klik op een thema en ontdek meer.