Pages:
Author

Topic: DIY Bowser Hardware Wallet - page 2. (Read 594 times)

legendary
Activity: 2212
Merit: 7064
November 20, 2020, 06:32:28 AM
#7
Wrong.
Wiki is NOT outdated, and in fact it is updated on 7 September 2020.

Creators of Bowser are calling it diy hardware wallet, so it is diy hardware wallet, but if you don't like it you can complain on their github or write them an email.


https://github.com/arcbtc/bowser-bitcoin-hardware-wallet/blob/master/README.md

Here is one more HARDWARE WALLET BitSafe from 2013:
https://bitcointalksearch.org/topic/ann-bitsafe-hardware-wallet-now-shipping-152517

What about Ledger HW1 is that Hardware Wallet or piece of shit USB and why they called it Hardware wallet?


https://www.amazon.com/Ledger-HW-1-HW-1/dp/B015N9Z4DU


One more definition for hardware wallet from 2019:

Quote
Hardware wallet is a physical electronic device, built for the sole purpose of securing bitcoins. The core innovation is that the hardware wallet must be connected to your computer, phone, or tablet before bitcoins may be spent. Hardware wallets are a good choice if you’re serious about security and convenient, reliable Bitcoin storage.

Bitcoin hardware wallets keep private keys separate from vulnerable, internet-connected devices. Your all-important private keys are maintained in a secure offline environment on the hardware wallet, fully protected even should the device be plugged into a malware-infected computer. As bitcoins are digital, cybercriminals could, potentially, target your computer’s “software wallet” and steal them by accessing your private key.
https://en.bitcoinwiki.org/wiki/Hardware_wallet

Paper is NOT a hardware!
legendary
Activity: 1624
Merit: 2481
November 20, 2020, 05:40:31 AM
#6
This is DIY hardware wallet, and it is NOT for newbies and people like spongebob Ledger shiller.

Let's see what makes a hardware wallet:

Quote
A hardware wallet is a special type of bitcoin wallet which stores the user's private keys in a secure hardware device.

They have major advantages over standard software wallets:

- private keys are often stored in a protected area of a microcontroller, and cannot be transferred out of the device in plaintext
- immune to computer viruses that steal from software wallets
- can be used securely and interactively, private keys never need to touch potentially-vulnerable software
- much of the time, the software is open source, allowing a user to validate the entire operation of the device
https://en.bitcoin.it/wiki/Hardware_wallet


First, the wiki is outdated.
Second, the first point (often stored in a protected area..) does not apply to the mini computer you claim is a hardware wallet.

All the other points also apply to a paper wallet. Do you really want to tell me now that a paper wallet is a hardware wallet?

I hope you see the problem with your "definition".

By the way.. did you notice that your quote is a list of advantages compared to software wallets?
Advantages are not the same as requirements. Advantages are not a definition.
legendary
Activity: 2212
Merit: 7064
November 19, 2020, 06:50:44 PM
#5
I will just ignore arrogant spongebob and his stupid comments, including his false accusations about blatant copy/pasting, and I recommend him to go to shrink as soon as possible.


This is DIY hardware wallet, and it is NOT for newbies and people like spongebob Ledger shiller.

Let's see what makes a hardware wallet:

Edit: Please see https://bitcointalksearch.org/topic/m.1327630 for an updated prototype.

Hardware Bitcoin wallet is a project which aims to implement a minimal dedicated Bitcoin wallet. Its main difference with every other Bitcoin client/wallet out there is its low resource requirements: the binary is currently 25 kilobytes large, it uses less than 2 kilobytes of RAM and requires only 160 bytes of non-volatile storage per wallet. With such low requirements, I reckon a production device would be smaller, more robust and cheaper than any other Bitcoin wallet.

The wallet stores private keys (actually, it only stores a seed for the deterministic key generator), parses transactions and signs transactions. It essentially doesn't do anything else. This is by design - simpler means a smaller attack surface. Private keys are generated on the device and never leave the device, except when doing a wallet backup. Even then, the seed is only displayed - it is never sent over the serial port. My intention is that physical access to a device is required in order to obtain private keys or to spend anything. As an additional layer of security, wallets can be encrypted. An encrypted wallet offers pseudo-two-factor authentication: in order to spend BTC, you need to know the wallet passphrase and you need to have the hardware Bitcoin wallet.

Here's a somewhat messy prototype:

The thing on the left is an Arduino clone (though I'm not actually using the Arduino IDE or libraries). The bunch of discretes on the lower part of the breadboard comprise a noise source, which is used to generate random numbers. The input user interface consists of two pushbuttons (bottom-left and bottom-right corners), where the user can approve or disapprove of actions. This gives you an idea of the necessary hardware peripherals required. Of course, a production device would be much more compact than this Smiley.


Here's the prototype signing a transaction:

Here's an actual transaction that it signed: http://blockexplorer.com/t/AEhoN6bzjd.

The code is hosted at: https://github.com/someone42/hardware-bitcoin-wallet. Currently, there's only a port for the ATmega328 microcontroller. However, most of the code is platform-independent; porting to another microcontroller "only" involves writing drivers for the microcontroller's peripherals.

I shall commit to being open and transparent, releasing source code and hardware specifications as I produce them. If people are interested, I might even design a production hardware Bitcoin wallet. From simple BOM and assembly cost estimates, such a device would cost 6 to 7 USD per unit to manufacture (for a quantity of 1000). If anyone has questions/suggestions, feel free to ask in this thread.

legendary
Activity: 1624
Merit: 2481
November 19, 2020, 09:26:51 AM
#4
This is not a hardware wallet.

It does not contain any hardware based security mechanisms, no secure element, cryptographic co-processor, nothing.

Please stop copy/pasting posts from github etc. claiming it is a DIY hardware wallet, which it clearly is not. You are confusing newbies who might think this is as secure as a hardware wallet.

This is "just" a mini computer held offline.


Instead of blatantly copy/pasting stuff, at least read and think about it.
legendary
Activity: 3668
Merit: 6382
Looking for campaign manager? Contact icopress!
November 19, 2020, 09:15:28 AM
#3
Since one doesn't save much compared to a "stock" hardware wallet and since you say it's riskier than a stock HW, it's clearly an idea mostly for enthusiasts.
But I like it.
I've just started playing with this kind of tiny machines (just bought my first Pi) and I see it comes with a full package of enjoyment and frustration, but others more advanced may like it.

One interesting/appealing fact is that since you are the only one handling it from scratch you are sure it was not tampered/nobody has installed other software onto it (of course, you have to check the git carefully).
It can be the solution for those who cannot receive a proper HW from the official shop or approved resellers (or just doesn't trust them).
legendary
Activity: 1904
Merit: 1563
November 19, 2020, 08:33:18 AM
#2
Wow! This is an interesting makeshift Hardware wallet although it's kinda tedious to remove and insert the SD card back and forth to your computer and the M5Stack to sign a transaction, it is still a good learning experience to fully grasp the idea of how seed, private keys and public keys work in raw codes.

However, is the codes used in Arduino IDE is the same in other wallet when broadcasting the transaction to the network? I just doubt the project a little since it was build from scratch but still I got curious on how it was build and might do the actual project whenever I got free time.
legendary
Activity: 2212
Merit: 7064
November 19, 2020, 06:56:44 AM
#1


Building your own hardware wallet is not for everyone, but it can be fun, anyone can do it and learn more about bitcoin during this process.

All code used for making Bowser hardware wallet is open source and anyone can check and verify it on github.

You can use any 32-bit microcontroller board (M5Stack, TTGO, stm32, Adafruit) but in this case we are using M5Stack.

Shopping list:

 - M5Stack ESP32 ~ $30 (order it online or buy at your local shop); or alternative M5Stack Core2 ESP32 AWS (has ATECC608A secure element) ~ $42
 - SD card ~ $5 (16gb is fine)

Code libraries used:

 - uBitcoin (Arduino library created by Stepan Snigirev)
 - M5Stack Library
 - lvgl GUI for Arduino

For Installing Arduino IDE and ESP32:
https://www.arduino.cc/en/Guide/HomePage
https://github.com/espressif/arduino-esp32/blob/master/docs/arduino-ide/boards_manager.md

I would recommend buying only M5Stack ESP32 basic version without Wifi, or even better M5Stack Core2 ESP32 AWS with ATECC608A secure element.

What I like in this example is that hardware wallet is hidden under Tetris game and it can be used as a nice mask.



You can see full Video tutorial HERE and on Github all credits go to original creators.


Note:
DIY hardware wallets  are maybe not always secure as regular hardware wallets because some don't have secure element but you can make them unique and add your own custom layer of protection.
Code is not fully production ready so don't use them for keeping large amounts of coins, and always backup your seed words in safe place.
Pages:
Jump to: