3. Agenda
1. A Background on the Various Bitcoin Wallets
2. What is the Raspberry Pi Zero
3. Open Ledger Micro Demo
4. Interacting with Bitcoin with the Go Programming Language
5. Understanding the Risks and Limitations
5. Exchange Wallets
● Coinbase, Binance, Kraken, etc.
● Conveniently managed by a third party.
● As secure as the exchange.
○ Mt.Gox, Bitfinex, Coincheck, etc.
● The exchange is in control of any and all currency.
6. Software Wallets
● Exodus, Electrum, Bitcoin Core, etc.
● You control your cryptocurrency data.
● Risk of a malicious remote attack is decreased.
● As secure as your computer.
● Risk of malware attacks.
● Risk of hard disk failure.
7. Paper Wallets
● QR Codes, Plaintext, Barcodes, etc.
● Cyberattacks are eliminated.
● Risk of elemental damage such as fire.
● Risk of theft from burglary.
8. Hardware Wallets
● Ledger Nano S, Trezor, etc.
● Encrypted and disconnected from the internet.
● Accessible from a single host machine at any
given time.
16. The Go Programming Language
● Create dependency free application binaries.
● Cross-compile to nearly any CPU architecture and operating system.
● Great for networking and concurrency.
● In-demand programming language.
● Mild learning curve.
19. High Level Plan
● Must create an encrypted database file.
● Must be able to decrypt a database file.
● Must be able to add coin data to a database file.
● Must be able to generate signed transactions.
37. Risks and Limitations
1. Wallet password can be brute forced from host machine
2. Passwords can be compromised from malware on host machine
3. Hard disk corruption or failure on the Raspberry Pi Zero
38. Possible Solutions
1. Set retry timeout or wipe Raspberry Pi Zero after X failed attempts
2. Hardware buttons
3. Airgap with QR codes and cameras
4. Backups