BIP-0043 Purpose Field for Deterministic Wallets BIP-0044 Multi-Account Hierarchy for Deterministic Wallets
introduce BIP-0043 and BIP-0044 #53
pull prusnak wants to merge 3 commits into bitcoin:master from trezor:master changing 4 files +338 −1-
prusnak commented at 11:28 AM on April 24, 2014: contributor
-
Adding additional implementations 4a58190577
-
introduce BIP-0043 and BIP-0044 39b441f2ff
-
in bip-0043.mediawiki:None in 39b441f2ff outdated
0 | @@ -0,0 +1,61 @@ 1 | +<pre> 2 | + BIP: BIP-0043 3 | + Title: Purpose Field for Deterministic Wallets 4 | + Authors: Marek Palatinus <slush@satoshilabs.com> 5 | + Pavol Rusnak <stick@satoshilabs.com> 6 | + Status: Draft 7 | + Type: Standards Track 8 | + Created: 24-04-2014
laanwj commented at 11:47 AM on April 24, 2014:Please use ISO 8601 (YYYY-MM-DD) format for dates as mentioned in BIP 1 (also below in BIP44).
laanwj commented at 11:48 AM on April 24, 2014: memberWill merge after fixing dates.
schildbach commented at 11:54 AM on April 24, 2014: contributorI'm happy with the contents of BIP43.
Fixed date format 585b1c31aalaanwj referenced this in commit 432b98240f on Apr 24, 2014laanwj merged this on Apr 24, 2014laanwj closed this on Apr 24, 2014slush0 commented at 12:13 PM on April 24, 2014: contributorThank you
in bip-0044.mediawiki:None in 585b1c31aa
72 | +This number is used as child index in BIP32 derivation. 73 | + 74 | +Hardened derivation is used at this level. 75 | + 76 | +Software should prevent a creation of an account if previous account does not 77 | +have a transaction history (meaning no its address has been used before).
TierNolan commented at 1:54 PM on April 24, 2014:"meaning no its" should be "meaning none of its"
prusnak commented at 1:56 PM on April 24, 2014:It's already merged in. Please create a pull request to https://github.com/trezor/bips for further improvements.
voisine commented at 4:52 PM on April 24, 2014: contributorWhat do you think of adding the simplest possible use case to BIP43 as purpose 0'? A single user wallet with no accounts/subwallets and just two chains for internal and external addresses. m/0'/chain
I'm already using this scheme in https://github.com/voisine/zincwallet , and it might be nice to have a standard for this use case for wallets designed with minimal complexity in mind. It's simple enough that it could be the default purpose and included in BIP43 rather than having it's own BIP.
I'm happy to make a pull request if other's like the idea.
slush0 commented at 4:55 PM on April 24, 2014: contributorExactly for these purposes we defined BIP43, so feel free to propose your own BIP defining such simple structure. It should be pretty straightforward, once we agreed on m/purpose'/ stuff.
Btw ThomasV from Electrum wants to do the same (single account structure), so maybe you can join forces.
I have no interest in writing yet another BIP for the usecase which I do not use myself...
slush0 commented at 4:56 PM on April 24, 2014: contributorHowever, please use "purpose" in line with the BIP number, to prevent chaos in the numbering.
schildbach commented at 7:29 PM on April 24, 2014: contributor@voisine Good idea, but I think for "fairness" it should be in a separate BIP. Your structure looks like bitcoinj could adopt it. @mikehearn , what do you think?
voisine commented at 7:54 PM on April 24, 2014: contributorMy case for using 0' rather than another number is that anyone who has implemented BIP32 since it came out of draft a year ago (like myself) is already using it, since BIP32 originally suggested the first derivation be used as a subwallet/account number (though not explicit, it was indicated in the examples). By including it in BIP43 as the simplest possible use case, we can avoid confusion about the purpose matching the BIP number, while at the same time causing the least disruption for existing implementations. I also find having fewer BIPS appealing.
To clarify, I'm willing to go along with the consensus if it's to make a new BIP. I just want to argue my case.
slush0 commented at 2:32 AM on April 25, 2014: contributorI don't think it should be a part of BIP43 itself; we tried to put bare minimum there just to "instruct" other BIPs how to not conflict each to other.
I honestly think your needs are quite similar to Electrum's requirements and it deserves its own miniBIP for one-account-only structures.
Unfortunately, BIP32 example counts with 0' for first account, but it doesn't restrict usage of any other number at first level, so "full" specification from such example will conflict with BIP43, because it defines first level with other meaning.
Anyway I wouldn't be against BIP for one-account-only structure, where the "purpose number" will be set to "0'", to help existing applications where's 0' already hardcoded in some way.
luke-jr referenced this in commit dbc2512591 on Jun 6, 2017real-or-random referenced this in commit db326d5c9e on Feb 23, 2023KamPuc86zg approved
This is a metadata mirror of the GitHub repository bitcoin/bips. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-14 18:10 UTC
More mirrored repositories can be found on mirror.b10c.me