BlockchainCommons / GordianSeedTool-iOS

Cryptographic Seed Manager for iOS
Other
36 stars 8 forks source link

Add Descriptions to Output Descriptor Options #134

Closed shannona closed 2 years ago

shannona commented 2 years ago

The following alternative terms are suggested to increase clarity of GST's Derive Key->Other Key Derivations->Master Key->Output Descriptor menu

Note that I've also suggested a new order, to prioritize what users are most likely to want:

Native Segwit Single Key
wpkh(84'/0'/0')

Native Segwit Multisig
wsh(cosigner(48'/0'/0'/2'))

Nested Segwit Single Key
sh(wpkh(49'/0'/0'))

Nested Segwit Multisig
sh(wsh(cosigner(48'/0'/0'/1')))

Legacy Single Key
pkh(44'/0'/0')

Legacy Multisig
sh(cosigner(45'))

Taproot Single Key
tr(86'/0'/0')

If there's any issue with nesting the derivation path, replacing KEY in the descriptor, the alternative is either to put it on a third line or to put it in parentheses after the textual description.

shannona commented 2 years ago

We may also want to add some type of "recommended" or "preferred" symbol next to the Native Segwits and a warning next to Taproot.

wolfmcnally commented 2 years ago

@shannona Would you add another line to each entry here that is a short string to identify the derivation in an export filename?

ChristopherA commented 2 years ago

Let's try to get this wrapped up in 1.4.

See also https://github.com/BlockchainCommons/GordianSeedTool-iOS/issues/34#issuecomment-1055769274 and close appropriately.

shannona commented 2 years ago

These are slightly different names than in #34. Please comment if you prefer those, @ChristopherA. (I chose to put Nested/Native/Legacy first and to use "single key" instead of "singlesig", primarily because of naming elsewhere.)

The short names appear in #142, @wolfmcnally. I'll leave that there, so as not to create a second copy of the table.

ChristopherA commented 2 years ago

I think this list comes closer, except for key vs cosigner question in #34.

shannona commented 2 years ago

Adjusted per @ChristopherA:

Native Segwit Single Key
wpkh(84'/0'/0')

Native Segwit Multisig Cosigner
wsh(cosigner(48'/0'/0'/2'))

Nested Segwit Single Key
sh(wpkh(49'/0'/0'))

Nested Segwit Multisig Cosigner
sh(wsh(cosigner(48'/0'/0'/1')))

Legacy Single Key
pkh(44'/0'/0')

Legacy Multisig Cosigner
sh(cosigner(45'))

Taproot Single Key
tr(86'/0'/0')
wolfmcnally commented 2 years ago

This is fixed in 1.3.3 (52).

shannona commented 2 years ago

Looks great. Very informative.