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

ed25519 key derivation #150

Merged
merged 4 commits into from
Nov 10, 2017
Merged

ed25519 key derivation #150

merged 4 commits into from
Nov 10, 2017

Conversation

bartekn
Copy link
Contributor

@bartekn bartekn commented Nov 8, 2017

This PR introduces derivation package which provides functions for ed25519 key derivation as described in SLIP-0010 in Go. This is compatible with ed25519 key derivation used in hardware wallets (like Ledger, Trezor).

Derivation path (m/44'/148'/x') for Stellar has been initially agreed in stellar/stellar-protocol#61 and will become SEP soon (this PR will be updated with correct SEP number). EDIT: SEP is here: stellar/stellar-protocol#63

This PR and SEP will allow generating hierarchical deterministic Stellar accounts from a single seed (which can be generated using mnemonic code, like in BIP-0039). This should improve key storage (hardware wallets and storing master seed as 12-24 words instead of long strkey-encoded strings) and moving keys between wallets and apps.

@stanford-scs you are probably the main person who should check it out.

Copy link
Contributor

@nullstyle nullstyle left a comment

Choose a reason for hiding this comment

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

LGTM! I'm not particularly happy with the package name, but we've got time to figure out what works best prior to us moving this code outside the exp package tree.

@bartekn bartekn merged commit 2c0a8a6 into master Nov 10, 2017
@bartekn
Copy link
Contributor Author

bartekn commented Nov 10, 2017

Yeah, I don't the the name neither but could find anything better.

@jedmccaleb
Copy link
Contributor

why don't we call the package slip0010 ?

@bartekn bartekn deleted the derivation branch November 14, 2017 14:23
@bartekn
Copy link
Contributor Author

bartekn commented Nov 14, 2017

why don't we call the package slip0010 ?

The problem with this name is that slip0010 describes methods for other curves and we only implement one. But let's consider this when moving this outside exp.

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

Successfully merging this pull request may close these issues.

3 participants