-
Notifications
You must be signed in to change notification settings - Fork 118
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
ARC-44 - Wallet contextual derivations (& ecosystem alignment) #224
base: main
Are you sure you want to change the base?
Conversation
Thanks for putting this together @ehanoc. Some initial feedback:
|
Thanks @k13n ;
This ARC is meant to propose us to adopt BIP44 across the ecosystem. BIP44 is widely adopted but i guess for historical reasons wasn't really adopted in Algorand in the same manner. We need standardization for applications, such as wallets, to be truly interoperable. In fact, Ledger & Fireblocks have implemented BIP44 just because they already do so for any other chain ecosystem. Using BIP44 you can generate multiple receiving addresses for instance with Ledger Live; without wallets agreeing to support this, recovering those "accounts" into other wallets will not represent the correct state. And the main point, it helps other ecosystems integrate Algorand because it obeys to a common standard. note: There's still the issue of BIP39, but that's another story
Context here is an introduction from me. But maybe makes sense in another ARC if ends up being "too much". Wallets at it's core are meant to include or operate as a key management system. And with this comes the ability to generate keys for different purposes. With BIP44 you can just apply a different path and you keys that are not related to your algorand addresses. These cases can be things like Payment related keys, Session Keys, Identity Keys, Messaging Encryption Keys, etc.
Good point. The spec is really well defined HERE, but i will work on adding some Algorand specific test vectors and a list of known libs that make this easier
That terminology also introduces more confusion is someone ever starts playing with the idea of building multi-tenant wallets (i.e : enterprise apps with employees, for example) |
Rationale
Purpose of this PR is to standardize key derivation across the ecosystem and with already existing hardware wallets implementation. Such as Ledger: https://github.com/algorand/ledger-app-algorand/blob/main/app/src/coin.h#L29
Goal