Begin deze maand schreef Bert een artikel met als titel “Don’t be your own bank”. Hij schopt met dit artikel tegen misschien wel het heilige bitcoin huisje: je bitcoin zelf bewaren. In het artikel legt hij uit dat het belangrijker is om de optie te hebben om je bitcoin zelf te bewaren dan ze daadwerkelijk zelf te bewaren. Ik ben het met hem eens. In de podcast heb ik al een aantal keer aangegeven dat het zelf bewaren van je bitcoin niet voor iedereen haalbaar is. Maar wat is dan wel haalbaar? In dit artikel leg ik je uit hoe ik dat voor mezelf bepaal. Belangrijke vuistregel: realistisch is beter dan rationeel.
Samenvatting
- Bij het bedenken van je bitcoin beveiliging ben je vaak te rationeel.
- Het is beter om realistisch te zijn, zodat je oplossing ook haalbaar is.
- Wat nu rationeel is, kan in de toekomst wel realistisch worden.
Verhaal
Ik neem je mee terug naar juli 2020. Lekker weer, mensen in korte broek buiten. Genieten van de zomer. Toch zaten er twee jonge gasten binnen te zwoegen achter hun laptop. Je raadt het al, dat waren Jorijn en ik. Voor de mensen die hem niet kennen: Jorijn is een luisteraar van het eerste uur, maar vooral een geniale ontwikkelaar. Hij had aangeboden om te helpen met het verder ontwikkelen van de bitcoin-donaties voor de podcast. Ik had namelijk een paar maanden eerder mijn eigen node opgezet, waaraan we de eerste versie van de donatiepagina aan hadden gekoppeld.
Klein beginnen, groot denken. Met die gedachte in ons achterhoofd gingen we van start. Jorijn zorgde ervoor dat de Telegram bot modulair was opgebouwd, zorgde dat de database goed ontworpen was en we huurden een server. Ondertussen dacht ik na over de zakelijke kant. Hoe ga ik in godsnaam de BTC-donaties in mijn boekhouding opnemen? De eerste stap is simpel: zorgen dat je überhaupt een administratie hebt van de donaties. Om (onder andere) die reden kozen we voor BTCPay Server: een open source payment processor. Deze software maakt voor elke betaling automatisch een nieuwe factuur aan, waardoor ik later terug kan vinden wat er aan donaties is binnengekomen.
BTCPay Server was onderdeel van de bitcoin node software ‘MyNode’ (en later ook in Umbrel). Mijn ervaring was echter dat MyNode niet stabiel genoeg was om als fundament voor de donatiebot te dienen. Zoals ik al zei, we dachten groot. Daarom kozen we ervoor om de Raspberry Pi volledig te gebruiken voor een schone BTCPay Server installatie (die inmiddels al 2 jaar zonder enige problemen draait). Dit betekent dat je BTCPay Server installeert op je Pi, waarna er automatisch een full node en lightning node opgezet worden. Op deze manier kan je dus een een volledig autonome payment processor opzetten. Ik kan dat nog steeds niet bevatten, maar dat terzijde. Het is zo onwerkelijk dat morgen de banken om kunnen vallen en ik nog steeds donaties kan ontvangen.
Terug naar de zweterige studio. Terwijl Jorijn bezig was met de donatie-functionaliteit, doorliep ik de setup van mijn gloednieuwe betaalserver. Er zijn twee manieren om bitcoin te ontvangen: on-chain en via het lightning network. Het leek me handig om beide mogelijkheden aan te bieden. Voor grotere bedragen was het lightning network op dat moment nog niet echt geschikt. Dit is later overigens opgelost met multi path payments en wumbo channels. Terwijl ik dit opschrijf zit ik weer te glunderen. Het blijft ongekend tof om onderderdeel te kunnen zijn van dit proces. Het installatieproces liet me eerst een on-chain adres aanmaken. Appeltje eitje natuurlijk. Als podcast host van één van de grootste Nederlandse bitcoin podcasts kan dat natuurlijk geen probleem zijn. Ik schreef mijn 24 woorden op en verstopte ze ergens. Als klap op de vuurpijl besloot ik een 25e woord toe te voegen, een zogenaamde passphrase. Deze sloeg ik op in mijn password manager, net als het wachtwoord van BTCPay Server.
Fast forward naar het begin van dit jaar. Op een regenachtige dag besluit ik iets te doen wat me al een tijdje dwars zit: testen of de back-up seed van de on-chain wallet van BTCPay Server goed werkt. De maanden ervoor zijn er namelijk veel donaties binnengekomen. De Telegram-bot die Jorijn gemaakt heeft is een groot succes en luisteraars van Satoshi Radio maken er massaal gebruik van. Daarnaast was de prijs van bitcoin gestegen naar 40.000 dollar. Hoewel de meeste donaties via het lightning network gedaan worden, staat er inmiddels voor een paar duizend euro aan donaties op de on-chain wallet.
“Gelukkig heb ik een goede back-up van mijn seed words gemaakt”, dacht ik toen ik vol vertrouwen achter mijn computer ging zitten. Ik pak de woorden erbij en vul ze netjes in. Seed words incorrect. Nog een keer proberen. Seed words incorrect. Shit. Heb ik wel de goede woorden te pakken? Had ik ze toch niet digitaal opgeslagen? Ik check mijn Google Drive en zie tot mijn opluchting dat ik een screenshot van de 24 woorden heb opgeslagen. Zo snel als ik kan vul ik ze in. Seed words incorrect. Het zweet breekt me uit voordat ik de woorden nogmaals invul.
Seed words incorrect.
Fuck.
Nu breekt het zweet me echt uit. Hoe ga ik dit aan Bert en Peet uitleggen? Hoe ga ik dit aan de luisteraars uitleggen, die gedoneerd hebben? Shit. Hoe kan mij dit overkomen. Ik maan mezelf tot rust en probeer rustig na te denken. Misschien heeft de Bart van een jaar geleden helemaal geen fout gemaakt. Sterker nog, misschien is hij wel slimmer dan je denkt. Ik besluit een filmpje te kijken over de manier waarop je BTCPay Server installeert. In die video zie ik dat de software automatisch vraagt of je een passphrase wil gebruiken. Dat was het! Dat verdomde 25e woord!
Helaas was er in mijn aantekeningen niets meer te vinden over de passphrase. Ik besluit een kijkje te nemen in mijn password manager. En daar vond ik wat ik zocht: het 25e woord. Woord is overigens vrij overdreven, het was meer een hoopje random tekens en symbolen. De Bart van een jaar geleden was echt slimmer dan ik dacht en had een random 15 cijferig “wachtwoord” gebruikt. Mijn initiële blijdschap maakt al snel plaats voor een onrustig gevoel. Mijn hart klopt in mijn keel terwijl ik voor de achtste keer die dag de seed invul. Als laatste vul ik de passphrase in en druk ik op enter.
Transaction completed.
Wees realistisch
Deze gebeurtenis schudde me wakker. Ik was altijd bang dat mijn bitcoin niet goed genoeg beveiligd waren, dat ik fouten had gemaakt. Mijn angst was dat ik mijn seed verkeerd had opgeschreven, mijn pincode vergat of bitcoin naar een verkeerd adres zou sturen. Blijkbaar is het ook mogelijk om je bitcoin te goed te beveiligen. Dat je manieren bedenkt die op het moment zelf rationeel zijn, maar achteraf niet realistisch.
Ik kwam dit concept tegen in het boek “The Psychology of Money” van Morgan Housel. Hij schrijft:
Academic finance is devoted to finding the mathematically optimal investment strategies. My own theory is that, in the real world, people do not want the mathematically optimal strategy. They want the strategy that maximizes for how well they sleep at night.
Waar het in zijn boek vooral gaat over investeren en sparen, geldt deze strategie ook voor het opslaan van je bitcoin. Het lastige van het zijn van je eigen bank is dat het nooit stopt. Als je tien verschillende diehard bitcoiners vraagt hoe ze hun bitcoin opslaan, krijg je tien keer een ander antwoord. Er is geen ‘beste manier’ voor het opslaan van je bitcoin. De ‘realistisch > rationeel’-regel kan je helpen om in ieder geval te zorgen dat je het niet te moeilijk voor jezelf maakt.
Het is lastig om te bepalen wanneer het niet meer realistisch is om te verwachten dat je toekomstige zelf nog snapt wat je vandaag hebt bedacht. Het duurde bij mij een halve dag om erachter te komen dat ik een passphrase had gebruikt, maar ik kwam er wel achter. Was deze tactiek dan te rationeel? Of was hij achteraf toch best redelijk? Dat blijft lastig om te bepalen. Ik was bijna gestopt met zoeken naar de passphrase, maakt dat nog uit? Ik denk dat er altijd een grote mate van toeval in het leven zit. Dat kan geluk zijn, maar ook pech. Door beter te documenteren wat ik aan het doen was had ik het mijn toekomstige zelf makkelijker kunnen maken. Achteraf was ik te rationeel.
Toch denk ik dat ik het in de toekomst hetzelfde zou doen. Ik denk namelijk dat wat een jaar geleden rationeel was, nu realistisch is. Als mens leer je constant. Ik heb inmiddels ervaring met multi-sig wallets en heb meerdere BTCPay Servers opgezet. Daarom is het realistisch om te verwachten dat ik in de toekomst wel snap dat ik een passphrase heb gebruikt. Rationaliteit en realisme zijn fluïde en kunnen na verloop van tijd in elkaar overlopen.
Maak gebruik van wat je kent
Het is dus belangrijk om realistisch naar jezelf te zijn. Dat is echter geen vrijbrief om vertragende beveiligingsmethoden uit te zetten of je seed words op een post-it aan je monitor te hangen. Het is een constante zoektocht naar balans. Hieronder zal ik mijn chronologische ‘be your own bank’ reis met jullie delen.
Exchange
Als beginnende bitcoiner staan je bitcoins waarschijnlijk op een exchange. Daar is niet zoveel mis mee, gun jezelf de tijd om kennis te maken met mogelijke andere opties. Direct overstappen naar een hardware wallet klinkt misschien rationeel, maar is niet realistisch. Deze stappen kan je wel alvast nemen:
- Maak gebruik van een password manager en een sterk wachtwoord.
- Maak gebruik van two factor authentication (bijvoorbeeld via Google Authenticator).
- Maak gebruik van whitelisted addresses zodat je bitcoin niet naar een onbekend adres gestuurd kunnen worden.
- Wapen jezelf tegen scam e-mails door gebruik te maken van een anti-phishing code.
- Download een aantal wallet apps om uit te proberen.
Wallet op Telefoon/Computer
De meest logische volgende stap is om een wallet op je telefoon te downloaden. BIj dit soort wallets krijg je de seed woorden in eigen beheer, wat betekent dat je zelf verantwoordelijk bent voor het bewaren van je bitcoin. Volgens veel bitcoiners de ultieme vorm van soevereiniteit. Ik ben het daar mee eens, maar spannend blijft het. Wat kan je doen?
- Denk na over het opslaan van je seed words. Doe je dit digitaal of analoog?
- Indien analoog (de heilige graal onder bitcoiners): gebruik je papier of ga je voor een meer robuuste optie zoals een stalen ‘seedplate’?
- Indien digitaal: doe dit nooit in de cloud, maar maak gebruik van een password manager waar je versleutelde notities kan toevoegen.
- Oefen eerst met kleine transacties voordat je met grote bedragen gaat werken.
- Het is niet erg om een gedeelte op de exchange te laten staan. Het proces van het overstappen naar een nieuwe manier van het opslaan van je bitcoin hoeft niet snel te gaan.
- Maak altijd gebruik van een pincode of de biometrische functionaliteit van je telefoon. Dat laatste heeft mijn voorkeur, vanwege de snelheid en de veiligheid.
- Koop alvast een hardware wallet, om rustig uit te kunnen proberen.
Hardware wallet
De hardware wallet is een speciaal geval. In de juiste handen is het een extreem effectief hulpmiddel om je bitcoin security naar een hoger plan te tillen. Het probleem is echter dat mensen te snel in hun bitcoin-avontuur naar een hardware wallet grijpen en denken dat ze “klaar” zijn. Dat vind ik een gevaarlijke gedachte, omdat een hardware wallet op zichzelf niet genoeg is.
Een hardware wallet is in mijn ogen een belangrijk onderdeel van een set van meerdere veiligheidsmaatregelen. De belangrijkste reden om een hardware wallet te kopen, is dat het een single purpose device is. Het dient maar 1 doel: het bewaren van je private keys en aftekenen van je transacties. Dat zijn eigenlijk twee doelen, maar dat klinkt wat minder lekker. Dit in tegenstelling tot je telefoon, die naast het vasthouden van je private keys nog 101 andere functionaliteiten heeft. Daarnaast is een hardware wallet onmisbaar in een multi-signature setup, die we hierna gaan bespreken. Eerst nog wat tips om je hardware wallet op een realistische manier te integreren in je security strategie:
- Controleer je hardware wallet (en de verpakking) altijd voordat je hem in gebruik neemt. Let vooral op beschadigingen en afwijkingen ten opzichte van de afbeeldingen op de website.
- Sla je seed analoog op, het liefst door middel van een seed plate. Digitaal opslaan raad ik sterk af.
- Vertrouw alleen wat er op je hardware wallet te zien is, check het adres altijd met het adres op je computer. Ik vergelijk zelf meestal de eerste en laatste 7 karakters.
- Maak gebruik van een passphrase (25e woord). Dit woord kan je eventueel wel digitaal (in een encrypted password vault) opslaan.
- Voer bij de installatie van je hardware wallet direct een volledige recovery uit, zodat je weet hoe dit werkt.
- Maak een versleutelde notitie (in je password manager) waarin je uitlegt hoe je setup werk. Je legt natuurlijk niet uit waar je seed ligt opgeslagen, maar je kan wel de herstelprocedure uitschrijven. Mocht jou iets overkomen dan kan je vriend of vriendin toegang tot je funds krijgen.
- Koop een Raspberry Pi en zet je eigen node op. Hiermee kan je alvast oefenen voor de volgende stap.
Eigen Node en (Semi) Multi Signature
Dit is het punt waar ik tegenwoordig verkeer. Een eigen node en een multi signature wallet setup is de natte droom van elke bitcoiner. Het summum van soevereiniteit, het ultieme doel. Ik ben daar nog niet. Ik weet eigenlijk ook niet of ik daar wel wil komen. Na vier jaar dag en nacht met bitcoin bezig geweest te zijn, is mij één ding duidelijk geworden: ik weet eigenlijk heel weinig. Ik kom net uit de “Valley of Despair” en ben bezig aan mijn klim op de “Slope of Enlightenment”.
In die klim ben ik veel uitdagingen tegengekomen: het opzetten van mijn eigen node, het gebruiken van de command line en TOR, inloggen via SSH, het gebruiken van open source software en hardware wallets en het opzetten van mijn eigen multi signature wallets. Enorm leerzaam, maar ik voel me nog niet bij alles even gerust. Zeker niet omdat het gaat om mijn pensioen. Ik voel me vertrouwd met mijn node, hardware wallet (Coldcard) en een single signature wallet, maar niet met het zelf opzetten van een multi signature wallet. Daarom heb ik gekozen om gebruik te maken van Casa.
De multi signature setup van Casa is semi custodial, wat betekent dat ik twee van de drie keys bezit en Casa de andere. Omdat er twee keys nodig zijn om een transactie te doen, kan Casa nooit alleen bij mijn funds. De rationele keuze was om het helemaal zelf te doen, de realistische keuze is om het deels uit handen te geven. In dit stadium kan je eigenlijk alle kanten op:
- Kies je voor een eigen node of niet?
- Gebruik je een open source hardware wallet?
- Gebruik je hardware wallets van meerdere fabrikanten?
- Kies je voor een seedless setup?
- Kies je voor een ⅔ of ⅗ multi signature setup?
- Gebruik je uitsluitend TOR?
- Maak je gebruik van Partially Signed Bitcoin Transactions?
- Maak je (deels) gebruik van een custody partij?
- Heb je een plan om updates en patches in de gaten te houden?
- Waar bewaar je de hardware wallets en/of keys
Be your own bank, they said. It will be fun, they said.
Snap je nu wat ik bedoel met de “Valley of Despair”? Het euforische en onsterfelijke gevoel dat je had na het aanschaffen van je hardware wallet verdwijnt als sneeuw voor de zon en maakt plaats voor onzekerheid en angst. Je eigen bank zijn is niet makkelijk. Sterker nog, er zijn bedrijven die er dagelijks mee bezig zijn. Misschien ken je ze wel: ING, Rabobank en ABN AMRO. Daarom zie ik het als een uitdaging. Een kans om te leren over cyber security, social engineering, risk management en cryptografie. Op die manier kom je steeds een stapje verder.
Wees realistisch, dan maak je de minste fouten. Keep it simple, stupid.
Vraag aan de lezer
Hoe kijk jij aan tegen het beveiligen van je bitcoin? Hieronder (op de website) kan je een reactie achterlaten. We zijn benieuwd naar je mening!