Skip to content

Latest commit

 

History

History
75 lines (51 loc) · 6.67 KB

iip-48.md

File metadata and controls

75 lines (51 loc) · 6.67 KB
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

Simple Summary

A defined BIP-44 path for derivation of ICON addresses from mnemonic seeds.

Abstract

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.

Motivation

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.

Specification

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).

Path levels for Standard and Legacy.

  • Standard: With a coin_type of 74', hardened derivation for account' and non-hardened derivation for change and address_index. (example of initial path: m / 44' / 74'/ 0' / 0 / 0).
  • Legacy with a coin_type of 4801368' and hardened derivations for account', change' and address_index'. (example of initial path: m / 44' / 4801368'/ 0' / 0' / 0')

Account Discovery

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}'

Rationale

Backwards Compatibility

Test Cases

Implementation

Copyright

Copyright and related rights waived via CC0.