Subject: [bitcoin-dev] BIP proposal draft: BIP43 "purpose" allocation for Ethereum

From: Nick Johnson <[email-masked]>
Date: Wed, 12 Apr 2017 10:02:37 +0000

<pre>
  BIP: bip-nickjohnson-ethereum-purpose
  Layer: Applications
  Title: Ethereum purpose allocation for Deterministic Wallets
  Author: Nick Johnson <[email-masked]>
  Status: Proposed
  Type: Standards Track
  Created: 2017-04-12
</pre>

==Abstract==

This BIP defines a logical hierarchy for deterministic wallets on the Ethereum
blockchain based on an algorithm described in BIP-0032 (BIP32 from now on) and
purpose scheme described in BIP-0043 (BIP43 from now on).

This BIP is a particular application of BIP43.

==Motivation==

Because Ethereum is based on account balances rather than UTXO, the hierarchy
defined by BIP44 is poorly suited. As a result, several competing
derivation path strategies have sprung up for deterministic wallets, resulting
in inter-client incompatibility. This BIP seeks to provide a path to standardise
this in a fashion better suited to Ethereum's unique requirements.

==Path levels==

We define the following 2 levels in BIP32 path:

<pre>
m / purpose' / subpurpose' / *
</pre>

Apostrophe in the path indicates that BIP32 hardened derivation is used.

Each level has a special meaning, described in the chapters below.

===Purpose===

Purpose is a constant set to the hardened value of the BIP number assigned to
this BIP (equivalently, the BIP number, bitwise ORed with 0x80000000) following
the BIP43 recommendation.
It indicates that the subtree of this node is used according to this
specification.

Hardened derivation is used at this level.

===Subpurpose===
Subpurpose is set to the EIP number specifying the remainder of the BIP32
derivation path. This permits new Ethereum-focused applications of
deterministic wallets without needing to interface with the BIP process.

Hardened derivation is used at this level.

==Reference== * [[bip-0032.mediawiki|BIP32 - Hierarchical Deterministic
Wallets]] * [[bip-0043.mediawiki|BIP43 - Purpose Field for Deterministic
Wallets]]