iip | title | author | discussions-to | status | type | category | created |
---|---|---|---|---|---|---|---|
48 |
BIP-44 Path for derivation of ICON address from mnemonic seeds. |
Fidel (github.com/FidelVe), Ben (github.com/bkbooth), Eric (github.com/han-so1omon) |
Draft |
Standards Track |
IRC |
2022-06-04 |
A defined BIP-44 path for derivation of ICON addresses from mnemonic seeds.
BIP-44 is the standard that describes the derivation paths that Hierarchical Deterministic (HD) wallets (as defined in BIP-32) can use to derive wallet addresses. It structure defines levels in the paths to define coin types, accounts, chain (change level) and addresses, using different paths when deriving wallets from mnemonic seeds will result in different addresses and for this reason each blockchain defines a path to be used as the standard when generating wallet addresses in their chains.
Creating an standard for the BIP44 coin_type
and derivation paths for ICON wallets will allow for compatibility for wallet generation based on mnemonic seeds across the ICON ecosystem. The benefit of this are the following:
- Allow backup compatibility between wallets that generate addresses based on mnemonic seeds.
- Create a seamless user experience in web apps that allow for users to login or sign transactions with ledger devices or any other Hierarchical Deterministic wallet.
This specification describes the following derivation paths:
-
Standard derivation path: This derivation path uses the guidelines described in the BIP-44 and SLIP-44 to maintain the ICON Ecosystem in line with the industry standards and should be the one used for generating new ICON wallet addresses.
-
Legacy derivation path: This derivation path purpose is to maintain backwards compatibility for ICON addresses generated by ICONex via Ledger devices.
Developers of Hierarchical Deterministic wallet in the ICON Ecosystem should use the Standard derivation path to generate new ICON addresses to their users and use the Legacy derivation path as an option when importing a mnemonic seed to allow backward compatibility.
Developers of web applications that have an interface for user login via ICON wallets should present both Standard and Legacy derivation paths to allow the users to choose from.
The following is the path levels described in the BIP-44 specification.
m / purpose' / coin_type' / account' / change / address_index
Apostrophe in the path indicates that BIP32 hardened derivation is used.
As defined in BIP-44 purpose
is a constant set to 44'
, this document defines the values for the subsequent levels (coin_type' / account' / change / address_index
).
- Standard: With a
coin_type
of74'
, hardened derivation foraccount'
and non-hardened derivation forchange
andaddress_index
. (example of initial path:m / 44' / 74'/ 0' / 0 / 0
). - Legacy with a
coin_type
of4801368'
and hardened derivations foraccount'
,change'
andaddress_index'
. (example of initial path:m / 44' / 4801368'/ 0' / 0' / 0'
)
The general recommendation is to follow the specifications described in the Account discovery section of the BIP-44 document, which described the process to generate multiple accounts with one master seed and multiple addresses for each account.
For general purposes and for the sake of simplicity this document recommends the use of the following levels in the path for both Standard and Legacy paths and derive systematically by increasing the level address_index
as follow:
- Standard:
m / 44' / 74'/ 0' / 0 / {index}
- Legacy:
m / 44' /4801368'/ 0' / 0' / {index}'
Copyright and related rights waived via CC0.