summaryrefslogtreecommitdiff
path: root/96/59f578d54f2d68c69d6ae2c68ea9dd6164940c
blob: 3f9c7ff452f83aa33467275274206e32ac8d820a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
Return-Path: <nick@ethereum.org>
Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org
	[172.17.192.35])
	by mail.linuxfoundation.org (Postfix) with ESMTPS id EFE2D481
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Wed, 12 Apr 2017 10:02:49 +0000 (UTC)
X-Greylist: whitelisted by SQLgrey-1.7.6
Received: from mail-wm0-f52.google.com (mail-wm0-f52.google.com [74.125.82.52])
	by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 29B9A156
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Wed, 12 Apr 2017 10:02:49 +0000 (UTC)
Received: by mail-wm0-f52.google.com with SMTP id w64so83579003wma.0
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Wed, 12 Apr 2017 03:02:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ethereum.org; s=google;
	h=mime-version:from:date:message-id:subject:to;
	bh=cZEFLem494SOlPm3iGILG2Pa6t7aAPQnZH7+7oKsqhc=;
	b=R66c+8+Y1X3qgYY9BiHBStEKMA6Hu8wPrB7Qk3aK+faUqWjM0bNaCzkBM4ZoBi8ZHC
	QUcZNigijfWr97EdMPP6XELYLDUhEcdcNO+fO2NWCmqQM83Lj4pUNRbSAC+OCecR8hQ3
	5oNUV8vdEoYL9GqI2pXD3m37DkXvoFQ1HuvWk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=1e100.net; s=20161025;
	h=x-gm-message-state:mime-version:from:date:message-id:subject:to;
	bh=cZEFLem494SOlPm3iGILG2Pa6t7aAPQnZH7+7oKsqhc=;
	b=DAJtVyAk3kcwJqLY0nrjm0/H8i7yP4PUamUp8FAo6QMyy8rDlHNq9r7lJKvcTK64Zl
	/6vAI4FskzuSwjnWjmFTAyLxMbcQrM6F5i/1y4ZbgAk0kDgezhcMdKgARx03PrF9lL/Y
	ukYRlbt08uika1eEwvFN4UiTTo8LXzez5BcEkzgdqGostb3Onop+Ok1JnUbTh3HHX/rn
	ltugRNgLFKq19Pr9CqEyx5+lGQwvXmXjo+WZvrMVrExGUtZvxgFKyoxPornS2VO35zxA
	HJQCBjLoTFABWi54ZqOl8mJjcwdhhZQ00xVVNkl0TfgBnnSdubqvuoV2q9NNIlIBnnVX
	I66w==
X-Gm-Message-State: AN3rC/7PHCOYLE8G3MozqnJMlN2q+BKkcubqA0rZ9o9s+bf0veMUZvWr
	sYmjAew1CrsRuXRh/oebL/Vr/pzPROyM
X-Received: by 10.28.153.140 with SMTP id b134mr18345828wme.124.1491991367595; 
	Wed, 12 Apr 2017 03:02:47 -0700 (PDT)
MIME-Version: 1.0
From: Nick Johnson <nick@ethereum.org>
Date: Wed, 12 Apr 2017 10:02:37 +0000
Message-ID: <CAFz7pMuMMmR=nrk9ho+0Gir-C7JVVn1GzA=6JsQV9NYF2WfP5w@mail.gmail.com>
To: bitcoin-dev@lists.linuxfoundation.org
Content-Type: multipart/alternative; boundary=001a114b2f2e79cd72054cf54f07
X-Spam-Status: No, score=-0.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,
	DKIM_VALID, DKIM_VALID_AU, HTML_MESSAGE, MPART_ALT_DIFF,
	RCVD_IN_DNSWL_NONE, 
	RCVD_IN_SORBS_SPAM autolearn=no version=3.3.1
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
	smtp1.linux-foundation.org
X-Mailman-Approved-At: Wed, 12 Apr 2017 13:14:11 +0000
Subject: [bitcoin-dev] BIP proposal draft: BIP43 "purpose" allocation for
	Ethereum
X-BeenThere: bitcoin-dev@lists.linuxfoundation.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Bitcoin Protocol Discussion <bitcoin-dev.lists.linuxfoundation.org>
List-Unsubscribe: <https://lists.linuxfoundation.org/mailman/options/bitcoin-dev>,
	<mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=unsubscribe>
List-Archive: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/>
List-Post: <mailto:bitcoin-dev@lists.linuxfoundation.org>
List-Help: <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=help>
List-Subscribe: <https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev>,
	<mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=subscribe>
X-List-Received-Date: Wed, 12 Apr 2017 10:02:50 -0000

--001a114b2f2e79cd72054cf54f07
Content-Type: text/plain; charset=UTF-8

<pre>
  BIP: bip-nickjohnson-ethereum-purpose
  Layer: Applications
  Title: Ethereum purpose allocation for Deterministic Wallets
  Author: Nick Johnson <nick@ethereum.org>
  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]]

--001a114b2f2e79cd72054cf54f07
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><pre style=3D"word-wrap:break-word"><span style=3D"white-s=
pace:pre-wrap">&lt;pre&gt;
  BIP: bip-nickjohnson-ethereum-purpose
  Layer: Applications
  Title: Ethereum purpose allocation for Deterministic Wallets
  Author: Nick Johnson &lt;<a href=3D"mailto:nick@ethereum.org">nick@ethere=
um.org</a>&gt;
  Status: Proposed
  Type: Standards Track
  Created: 2017-04-12
&lt;/pre&gt;

=3D=3DAbstract=3D=3D

This BIP defines a logical hierarchy for deterministic wallets on the Ether=
eum
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.

=3D=3DMotivation=3D=3D

Because Ethereum is based on account balances rather than UTXO, the hierarc=
hy
defined by BIP44 is poorly suited. As a result, several competing
derivation path strategies have sprung up for deterministic wallets, result=
ing
in inter-client incompatibility. This BIP seeks to provide a path to standa=
rdise
this in a fashion better suited to Ethereum&#39;s unique requirements.

=3D=3DPath levels=3D=3D

We define the following 2 levels in BIP32 path:

&lt;pre&gt;
m / purpose&#39; / subpurpose&#39; / *
&lt;/pre&gt;

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

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

=3D=3D=3DPurpose=3D=3D=3D

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) follo=
wing
the BIP43 recommendation.
It indicates that the subtree of this node is used according to this
specification.

Hardened derivation is used at this level.

=3D=3D=3DSubpurpose=3D=3D=3D
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.<br=
></span></pre><pre style=3D"word-wrap:break-word"><pre style=3D"word-wrap:b=
reak-word"><span style=3D"white-space:pre-wrap">Hardened derivation is used=
 at this level.</span></pre><span style=3D"white-space:pre-wrap">=3D=3DRefe=
rence=3D=3D

* [[bip-0032.mediawiki|BIP32 - Hierarchical Deterministic Wallets]]
* [[bip-0043.mediawiki|BIP43 - Purpose Field for Deterministic Wallets]]
</span></pre><div><br></div></div>

--001a114b2f2e79cd72054cf54f07--