wizardsardine / liana

The missing safety net for your coins
https://wizardsardine.com/liana
BSD 3-Clause "New" or "Revised" License
321 stars 57 forks source link

taproot derivation path #1194

Open bitcoin-eagle opened 3 months ago

bitcoin-eagle commented 3 months ago

I'm surprised that taproot uses the same derivation path and therefore same xpubs as segwit. I thought that it is a big no no to reuse pubkeys across different wallets.

Is that some kind of temporary hack? or is that by design?

If there is no spec yet, the obvious thing to do would be to just declare ../3' suffix as new standard for taproot multisig

I think Liana is the first consumer facing taproot multisig so you can pretty much do anything and define new standard

edit: from BIP48: https://github.com/bitcoin/bips/blob/master/bip-0048.mediawiki

The recommended default for wallets is pay to witness script hash m/48'/0'/0'/2'.

To add new script types submit a PR to this specification and include it in the list above: X': Future script type m/48'/0'/0'/X'
darosior commented 3 months ago

Hi, giving an additional implicit meaning to derivation paths (what scripts to look for) is a brittle legacy way of backing up a Bitcoin wallet. Nowadays output script descriptors should be preferred. This is what Liana uses.

bitcoin-eagle commented 3 months ago

One of the goals of standard derivation paths is to prevent pubkey reuse across different wallets or different altcoins with the same signer. If I create segwit wallet and taproot wallet with the same signer I at least for privacy don't want them to use same pubkeys