Skip to content

Conversation

@luke-jr
Copy link
Member

@luke-jr luke-jr commented Oct 30, 2017

Simply avoiding setting a master key is sufficient to have a non-HD wallet, with the latest wallet version (ie, no-default-key)

Motivation: I intend to rebase #9662 on top of this, and from there add support for generic external wallet interfaces (such as HD wallets).

Simply avoiding setting a master key is sufficient to have a non-HD wallet, with the latest wallet version (ie, no-default-key)
@achow101
Copy link
Member

Why are non-hd wallets needed for #9662?

@luke-jr
Copy link
Member Author

luke-jr commented Oct 30, 2017

Because the goal of #9662 is to not have the internal wallet generating ANY keys. It's to watch specific addresses only.

@TheBlueMatt
Copy link
Contributor

TheBlueMatt commented Oct 30, 2017

Please no. We really don't need a combinatoric blowup in the number of supported wallet options and setups. How about instead support having a public-only HD seed (and if none is provided generate one, who cares, you're just watching a few extra addresses that will never be used).

@luke-jr
Copy link
Member Author

luke-jr commented Oct 30, 2017

@TheBlueMatt That assumes all wallets are HD. Additionally, using public derivation is contentious. Finally, watching addresses not part of the real wallet has risks - someone could gain read access to your wallet and send to those addresses, and you'd mistakenly think they were safe on your hardware wallet.

@TheBlueMatt
Copy link
Contributor

All newly-created wallets will be HD, though, and supporting a matrix of HD, Segwit, Watch-Only, etc, etc and all combinations thereof blows up maintinence complexity a ton. In any case, a watch-only wallet is going to need a mode that forces it to never generate new addresses, so having an HD seed or not having an HD seed wont matter - you still wont get new addresses.

@achow101
Copy link
Member

Since #9662 should be disabling all forms of key generation, I don't see why you need to have -usehd=0. Why can't you just have a wallet type which has no private keys whatsoever? Instead of doing -usehd=0, you just have -disablehot which then doesn't generate a HD master key or any other key.

@luke-jr
Copy link
Member Author

luke-jr commented Oct 31, 2017

@TheBlueMatt Watchonly-only wallets aren't HD. Maintenance complexity isn't affected, because we still need to support non-HD wallets regardless. I see no value in writing an ignored HD seed - it only creates the risk that we accidentally use it rather than crash or fail.

@achow101 I suppose that's a possibility, but I don't see the harm in having the option...

@morcos
Copy link
Contributor

morcos commented Oct 31, 2017

From a user perspective, if we don't support creating new non-HD wallets, then it makes no sense to provide a -usehd=0 option.

@maflcko
Copy link
Member

maflcko commented Oct 31, 2017

Agree with @achow101. There is really no need to set hd/nohd when key generation is turned off completely.

@maflcko
Copy link
Member

maflcko commented Nov 9, 2017

Closing for now.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants