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

ICRC-88 Mnemonic Phrase Signers and Account Identity Derivation #193

Open
wants to merge 46 commits into
base: main
Choose a base branch
from

Conversation

sea-snake
Copy link
Collaborator

@sea-snake sea-snake commented Jun 30, 2024

First attempt at standardizing mnemonic phrase signers.

  • BIP44 was used to be compliant across blockchains
  • For RP accounts:
    • It's based on BIP44 to avoid conflict with other chains.
    • It uses a hash of the origin to create fixed length RP identifier indices.
    • It always uses origin to identify a RP.

    I did previously add a RP type index to the path but removed this since having different derivation paths for the same RP but for different RP identifier types (besides origin) would result in different identities for the same RP which goes against the concept of a RP identity. So instead, some mechanisms should be defined outside the scope of this spec to point to a origin as non origin RP platform instead.

    • It does not have an address index, RP accounts don't hold assets so a single RP address for each account + origin combination should suffice and avoid additional complexity.
    • All indices are hardened, so sharing your account public key, does not result in sharing the public key(s) of your RP account(s).
    • It's not completely BIP44 compliant since the path diverts into something different after the account index.

    At the same time doing so guarantees no conflicts with other chains, using a different purpose index was also something I've considered but abandoned due to this reason.

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

Successfully merging this pull request may close these issues.

1 participant