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

BIP 43: Reserve purpose codes 10001-19999 for SLIPs #523

Merged
merged 1 commit into from
Aug 29, 2021

Conversation

luke-jr
Copy link
Member

@luke-jr luke-jr commented Apr 21, 2017

@Arachnid
Copy link

👍

@prusnak
Copy link
Contributor

prusnak commented Apr 21, 2017

I don't mind

@luke-jr
Copy link
Member Author

luke-jr commented Apr 30, 2017

@prusnak is that an ACK, or should I wait for @slush0 ?

@jprichardson
Copy link

NACK on deterministic scheme for alts. BIPs are for Bitcoin only and should not dictate a scheme for alts: #76 (comment) Plus, the wallets have determined a scheme using BIP44.

ACK on purpose code allocation for SLIPs though.

@luke-jr
Copy link
Member Author

luke-jr commented May 1, 2017

It doesn't dictate anything, merely reserves a path for altcoin standards processes to use. BIP 44 does not suffice for this purpose. For example, see ethereum/EIPs#600

@jprichardson
Copy link

merely reserves a path for altcoin standards processes to use.

They can already do this. They can use any purpose constant they want.

BIP 44 does not suffice for this purpose. For example, see ethereum/EIPs#600

It suffices just fine - 10 wallets use it: ethereum/EIPs#84 (comment) There was discussion about this over a year ago: ethereum/EIPs#84

BIP44/43 are sufficient as-is. The only thing this PR should be concerned about is the reservation of the purpose constants for SLIPs.

@Arachnid
Copy link

Arachnid commented May 1, 2017

They can already do this. They can use any purpose constant they want.

Without coordination, however, the chance of more than one coin using the same constant is very high.

It suffices just fine - 10 wallets use it

The link you provide illustrates exactly why it doesn't work well: the BIP44 scheme is poorly suited to coins that don't use UTXO mechanisms, resulting in different wallets interpreting it differently and using incompatible derivation paths. The 10 wallets you mention are using 3 different mutually incompatible derivation paths.

Comment on lines 61 to 68
In this case, the level immediately below the purpose code is hardened derivation using the index for the cryptocoin specified by [[https://github.com/satoshilabs/slips/blob/master/slip-0044.md|SLIP-0044]].
The details of levels below this coin type are to be entirely decided by the standard process of the specific cryptocoin, but it is recommended that the very next level be a sub-purpose code with a similar use as this BIP's purpose code.

So that the recommended use for non-Bitcoin cryptocoins is:

<pre>
m / 43' / coin_type' / subpurpose' / ...
</pre>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could this PR get merged if someone pulls out this specification to some other place, such that you do no more than reserving 43 here?

@webmaster128
Copy link

webmaster128 commented Jun 1, 2021

If we write a new SLIP-0043 with the suggested content, we can reduce this PR to a single sentence:

Purpose codes 13/43/48 are taken by SLIP-0013/SLIP-0043/SLIP-0048 and the range 10001 to 19999 is reserved for other SLIPs.

This would delegate what the purpose 43 does and at the same time point to the usage of 13 and 48.

@prusnak
Copy link
Contributor

prusnak commented Jul 6, 2021

ACK for Purpose codes from 10001 to 19999 are reserved for [[https://github.com/satoshilabs/slips|SLIPs]].

nACK for the rest. Altcoins are not and will not follow this.

Please rework the PR to contain only the first change.

@luke-jr luke-jr changed the title BIP 43: Reserve purpose codes for SLIPs, and describe a scheme for altcoins BIP 43: Reserve purpose codes 10001-19999 for SLIPs Aug 29, 2021
@luke-jr luke-jr merged commit 8a050ec into bitcoin:master Aug 29, 2021
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.

5 participants