Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BIP-85: Derive Entropy (from existing seed) #39

Merged
merged 21 commits into from
Jun 9, 2020
Merged

BIP-85: Derive Entropy (from existing seed) #39

merged 21 commits into from
Jun 9, 2020

Conversation

doc-hex
Copy link
Contributor

@doc-hex doc-hex commented Apr 16, 2020

Leveraging proposed BIP from https://github.com/ethankosakovsky, this new feature allows you to easily derive a seed phrase for another wallet based on the seed in Coldcard. Supports 12-, 18-, 24-word phrases, HDSEED value for Bitcoin Core, Raw XPRV export, and also 32- or 64-byte raw hex values for other purposes.

Bonus features:

  • press (1) to save result to MicroSD card, in simple text file
  • press (2) to switch to the derived key temporarily (until next reset)

Background text shown when you enter the menu:

Create Entropy for Other Wallets

This feature derives "entropy" based mathematically from this wallet's seed value.
This will be displayed as a 12 or 24 word seed phrase,
or formatted in other ways to make it easy to import into
other wallet systems.

You will be able to recreate this value later, based
only the seed-phrase or backup of this Coldcard.

There is no way to reverse the process, should the other wallet system be compromised,
so the other wallet is effectively segregated from the Coldcard and yet
also backed-up from it.

TODO still:

  • HDSEED case is probably wrong
  • xprv, and hex cases are ahead of the standard
  • test code
  • reach a consensus on XPRV usage
  • test on real Coldcard hardware

@doc-hex
Copy link
Contributor Author

doc-hex commented Apr 16, 2020

Use make && ./simulator.py --deriv to start the simulator on the new menu item, with the XPRV from the BIP installed.

@ethankosakovsky
Copy link

Looks good!

#
# Using the system's BIP32 master key, safely derive seeds phrases/entropy for other systems.
#
# see <https://gist.github.com/ethandrv_entro/268c52f018b94bea29a6e809381c05d6>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

link is 404

@doc-hex
Copy link
Contributor Author

doc-hex commented Apr 29, 2020

Blocked still on:

  • at least 2k of more flash space
  • ideally, a BIP number: BIP 85
  • good long-lasting URL for top-of-file comment

@doc-hex doc-hex changed the title Derive Entropy (from existing seed) BIP-85: Derive Entropy (from existing seed) Jun 1, 2020
@doc-hex
Copy link
Contributor Author

doc-hex commented Jun 9, 2020

Concern: this feature doesn't belong in the "Danger Zone". It's pretty safe to use.

  • It's not.

@doc-hex doc-hex merged commit bd0e8b6 into master Jun 9, 2020
@ethankosakovsky
Copy link

This has been allocated as BIP 85.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants