Author

Topic: Hardware wallet standards (Read 616 times)

newbie
Activity: 28
Merit: 12
August 01, 2013, 02:24:44 AM
#3
Realpra - thanks for the link to your thread, lots of interesting information packed in there  Smiley

I guess more specifically I'm more interested in any standards forming with the protocol of communication between the HW wallet and the client side application like Electrum that has the full user GUI and performs network syncs/comms. I'm less interested in how the protocol is transferred (USB, smartcard, Bluetooth, etc) than the protocol to do things common to HW wallets (sign this, give me a new public key, etc.)

I'm also not as interested in the guts of how the HW wallet secures keys - thats the stuff that will vary quite alot between wallets I assume.

Thoughts?
hero member
Activity: 815
Merit: 1000
August 01, 2013, 02:01:04 AM
#2
Entirely depends on the hardware wallet.

See my sig, Im doing a smart card and for example I have some methods for locking the card and other security stuff that would not be needed in some other types.

If you want to make a USB I suppose you should look at the trezor thing and the usb protocol in general.
newbie
Activity: 28
Merit: 12
August 01, 2013, 12:57:44 AM
#1
Hi all,

I'm kicking off a little hardware wallet project in my spare time and had some questions for the community regarding 'standards'.

Based on my research so far, it looks like one of the fairly common lightweight HW wallet standards is the use of the BIP 0032 concepts allowing a wallet to simultaneously have 'infinite' keys and be reproduced from a single seed. This is a great start and has many obvious benefits. However, it raises many questions in my mind and before I go off inventing things I'd like to understand the current state of things.

Here is a list of open questions, if those who have been in the community a while could help me fill in the gaps and point me toward any existing (or forming) standards that might answer these questions I'd greatly appreciate it. My aim would be to adopt a protocol such that I could design toward a protocol used by existing 'soft' wallets (e.g. Electrum) and just plug in.

 * How is a HW wallet recognized / discovered? Saw some proposals on this around USB HID...
 * How are BTC address generation requests formed and sent to the HW wallet?
 * When the soft wallet wants to request a signing operation, what information does it pass to the wallet?
 * What protocols are used for 'scanning' a newly attached HW wallet to determine which addresses it contains have coins associated with them?

.. and so on. I'm excited to be a part of this awesome community - I'm also new here so let me know if I'm asking in the right place. Thanks everyone!
 
Jump to: