summaryrefslogtreecommitdiff
path: root/26/975fcadecd80c66bbca574ed42c4ae485373cd
blob: 9457e79ee11ac3387f11ea916032ab9a7549ff4c (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
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
Received: from sog-mx-2.v43.ch3.sourceforge.com ([172.29.43.192]
	helo=mx.sourceforge.net)
	by sfs-ml-3.v29.ch3.sourceforge.com with esmtp (Exim 4.76)
	(envelope-from <harro84@yahoo.com.au>) id 1YVvQV-0007fs-Tr
	for bitcoin-development@lists.sourceforge.net;
	Thu, 12 Mar 2015 05:12:55 +0000
Received: from nm4.bullet.mail.bf1.yahoo.com ([98.139.212.163])
	by sog-mx-2.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128)
	(Exim 4.76) id 1YVvQT-0002AL-LT
	for bitcoin-development@lists.sourceforge.net;
	Thu, 12 Mar 2015 05:12:55 +0000
Received: from [66.196.81.172] by nm4.bullet.mail.bf1.yahoo.com with NNFMP;
	12 Mar 2015 05:12:48 -0000
Received: from [98.139.212.240] by tm18.bullet.mail.bf1.yahoo.com with NNFMP;
	12 Mar 2015 05:12:48 -0000
Received: from [127.0.0.1] by omp1049.mail.bf1.yahoo.com with NNFMP;
	12 Mar 2015 05:12:48 -0000
X-Yahoo-Newman-Property: ymail-3
X-Yahoo-Newman-Id: 309711.86930.bm@omp1049.mail.bf1.yahoo.com
X-YMail-OSG: 1dMnDy0VM1lbY2asJ.VHMXwryL9cwehoHtYwU6LRlf1a6YeL1.ohBDTXpi41fBm
	XpB.mKeIHHRvTswJl_YV.XBDsWAv7sKtvlpwUW_4OEDiStoiMWBHchl1jX.vPE9LbQpgmzXR2F.D
	R6ZEnTFjvRMlY9yxvCzZCYVgwL6NCTUl0_9vxi3DrvV4jYGC24GQ_XFwsxsFhCvS2XgFfXOnlYP5
	RfoFcf28ALfo3s95g8qULZsgcFxzMLJjKi2tH2BUYkcxDvRwO7CrFnGzjSijnCc4YnWtFUdXKOl3
	iLZcIaNijUnoGQb7xGYi.6X.IR_MZo9dcYLlFnf_WmWXyU70Ui7osng7vde5SOUAhmPB4nak11vI
	_Zs9bbDF5efnBX6lAKRbUjHJRoGqRdBihcoGZ5AWipAWsbvHdKDZiKMATZq8v070k7GO7ArVFUDE
	pz2QzFimewdDe7OmLiO4ncZjpbl9gkHwW6qiTn9xl9krI9cLeIu3Hsh8MEcHF3kJnI_QIPbr7hT.
	LGCOCgE9aS.7a_WdI9z4W
Received: by 66.196.81.105; Thu, 12 Mar 2015 05:12:47 +0000 
Date: Thu, 12 Mar 2015 05:12:47 +0000 (UTC)
From: Thy Shizzle <thashiznets@yahoo.com.au>
To: "slush@centrum.cz" <slush@centrum.cz>
Message-ID: <892666269.4459743.1426137167385.JavaMail.yahoo@mail.yahoo.com>
MIME-Version: 1.0
Content-Type: multipart/alternative; 
	boundary="----=_Part_4459742_498376856.1426137167380"
X-Spam-Score: 1.2 (+)
X-Spam-Report: Spam Filtering performed by mx.sourceforge.net.
	See http://spamassassin.org/tag/ for more details.
	0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider
	(harro84[at]yahoo.com.au)
	-0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/,
	no trust [98.139.212.163 listed in list.dnswl.org]
	0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends in
	digit (harro84[at]yahoo.com.au)
	1.0 HTML_MESSAGE           BODY: HTML included in message
	-0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
	author's domain
	0.1 DKIM_SIGNED            Message has a DKIM or DK signature,
	not necessarily valid
	-0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
	0.0 AWL AWL: Adjusted score from AWL reputation of From: address
X-Headers-End: 1YVvQT-0002AL-LT
Cc: "bitcoin-development@lists.sourceforge.net"
	<bitcoin-development@lists.sourceforge.net>
Subject: Re: [Bitcoin-development] Electrum 2.0 has been tagged
X-BeenThere: bitcoin-development@lists.sourceforge.net
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: Thy Shizzle <thashiznets@yahoo.com.au>
List-Id: <bitcoin-development.lists.sourceforge.net>
List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
	<mailto:bitcoin-development-request@lists.sourceforge.net?subject=unsubscribe>
List-Archive: <http://sourceforge.net/mailarchive/forum.php?forum_name=bitcoin-development>
List-Post: <mailto:bitcoin-development@lists.sourceforge.net>
List-Help: <mailto:bitcoin-development-request@lists.sourceforge.net?subject=help>
List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
	<mailto:bitcoin-development-request@lists.sourceforge.net?subject=subscribe>
X-List-Received-Date: Thu, 12 Mar 2015 05:12:56 -0000

------=_Part_4459742_498376856.1426137167380
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Yes I agree with this sentiment.
As for the version, don't forget we can kinda "brute force" our way to dete=
rmine a version, because lets say there is 10 versions, we can generate the=
 seed for all 10 versions and then check to see which seed was in use (has =
transacted) and then use that seed. If no transactions are found, we could =
restore the wallet with the seed of the latest and greatest version. Not re=
ally any need to store the version, sure it may save some time but as Marek=
 rightly says, this is for restoration of a wallet from cold storage not an=
 everyday thing so the extra time to brute force the version etc is accepta=
ble as a trade off for not forcing the remembering of a version.
BIP39 is beautiful.
On Wed, Mar 11, 2015 at 6:14 PM, Mike Hearn <mike@plan99.net> wrote:

  =20
   - Electrum v2 with a version number but no date
   - myTREZOR with no version and no date and BIP44 key derivation. Some se=
eds I believe are now being generated with 24 words instead of 12.
   - MultiBit HD with no version and a date in a custom form that creates n=
on-date-like codes you are expected to write down. I think BIP32 and BIP44 =
are both supported (sorta).
   - GreenAddress with no version, no date and BIP32
   - Other bitcoinj based wallets, with no version and a date written down =
in normal human form, BIP32 only.

To my knowledge, myTREZOR, Multibit HD and GreenAddress uses BIP39, just di=
fferent scheme for key derivation (myTREZOR uses full BIP44, Multibit HD us=
es BIP44 with first account only and GreenAddress uses another scheme becau=
se it's multisig only wallet).
I disagree with the need of some version "magic flags" or creation date sto=
red in the mnemnonic, for those reasons:
a) If we fail in the way how mnemonic algo is defined, then some magic, ext=
ra version flag won't save our asses, because we'll fail in meaning of its =
meaning. Then it will be completely useless, as implementations cannot rely=
 on it. I know Thomas was sound proponent of this solution, but he was unab=
le to give any reasonable rules about who/how define meaning of version fla=
g.
b) "Creation date" is just a short-term hack. Considering that mnemonic wor=
ds are kind of cold storage (longterm storage), it *really* does not make m=
uch difference in 2020, if your wallet has been created in 02/2014 or 10/20=
16. If there's performance issue with scanning of the blockchain, creation =
date don't save our asses. We need to find another solution, and as a bonus=
, we don't need users to know some weird numbers on top of mnemonic itself.
>=C2=A0From my interpretation of BIP39, wordlists DO NOT=C2=A0REQUIRE to be=
 fixed between wallet providers.=C2=A0There is some recommendations regardi=
ng the wordlists to help with things such as predictive text, so mobile app=
s can easily predict the word being typed in after a few chars etc.
Exactly! After some community feedback, we changed BIP39 algo to be one-way=
 only, which means you can use *any* wordlist to create the mnemonic, and a=
ny other implementation can derive BIP32 root node even without knowing tha=
t particular wordlist. Namely this has been changed because of constructive=
 criticism of ThomasV, and from discussion on the mailing list I had a feel=
ing that we've found a consensus. I was *very* surprised that Electrum 2.0 =
started to use yet another algo "just because".
Shortly said, I think BIP39 does perfect job and there's no need to use any=
thing else.
Cheers,Marek
------=_Part_4459742_498376856.1426137167380
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<html><body><div style=3D"color:#000; background-color:#fff; font-family:He=
lvetica Neue-Light, Helvetica Neue Light, Helvetica Neue, Helvetica, Arial,=
 Lucida Grande, Sans-Serif;font-size:16px"><div id=3D"yui_3_16_0_1_14261226=
60566_31668" dir=3D"ltr">Yes I agree with this sentiment.</div><div id=3D"y=
ui_3_16_0_1_1426122660566_31911" dir=3D"ltr"><br></div><div id=3D"yui_3_16_=
0_1_1426122660566_31917" dir=3D"ltr">As for the version, don't forget we ca=
n kinda "brute force" our way to determine a version, because lets say ther=
e is 10 versions, we can generate the seed for all 10 versions and then che=
ck to see which seed was in use (has transacted) and then use that seed. If=
 no transactions are found, we could restore the wallet with the seed of th=
e latest and greatest version. Not really any need to store the version, su=
re it may save some time but as Marek rightly says, this is for restoration=
 of a wallet from cold storage not an everyday thing so the extra time to b=
rute force the version etc is acceptable as a trade off for not forcing the=
 remembering of a version.</div><div id=3D"yui_3_16_0_1_1426122660566_31974=
" dir=3D"ltr"><br></div><div id=3D"yui_3_16_0_1_1426122660566_31984" dir=3D=
"ltr">BIP39 is beautiful.</div><div id=3D"yui_3_16_0_1_1426122660566_31675"=
><br></div><div id=3D"yui_3_16_0_1_1426122660566_31669">On Wed, Mar 11, 201=
5 at 6:14 PM, Mike Hearn <span id=3D"yui_3_16_0_1_1426122660566_31667" dir=
=3D"ltr">&lt;<a tabindex=3D"-1" id=3D"yui_3_16_0_1_1426122660566_31666" hre=
f=3D"mailto:mike@plan99.net" target=3D"_parent"><font id=3D"yui_3_16_0_1_14=
26122660566_31665" color=3D"#0066cc">mike@plan99.net</font></a>&gt;</span> =
wrote:<br></div><blockquote id=3D"yui_3_16_0_1_1426122660566_31663" style=
=3D"margin: 0px 0px 0px 0.8ex; padding-left: 1ex; border-left-color: rgb(20=
4, 204, 204); border-left-width: 1px; border-left-style: solid;"><div id=3D=
"yui_3_16_0_1_1426122660566_31662" dir=3D"ltr"><div id=3D"yui_3_16_0_1_1426=
122660566_31661"><div id=3D"yui_3_16_0_1_1426122660566_31660"><ul id=3D"yui=
_3_16_0_1_1426122660566_31659"><li id=3D"yui_3_16_0_1_1426122660566_31664">=
Electrum v2 with a version number but no date</li><li id=3D"yui_3_16_0_1_14=
26122660566_31658">myTREZOR with no version and no date and BIP44 key deriv=
ation. Some seeds I believe are now being generated with 24 words instead o=
f 12.</li><li id=3D"yui_3_16_0_1_1426122660566_31674">MultiBit HD with no v=
ersion and a date in a custom form that creates non-date-like codes you are=
 expected to write down. I think BIP32 and BIP44 are both supported (sorta)=
.</li><li id=3D"yui_3_16_0_1_1426122660566_31828">GreenAddress with no vers=
ion, no date and BIP32</li><li id=3D"yui_3_16_0_1_1426122660566_31670">Othe=
r bitcoinj based wallets, with no version and a date written down in normal=
 human form, BIP32 only.</li></ul></div></div></div></blockquote><div id=3D=
"yui_3_16_0_1_1426122660566_31685">To my knowledge, myTREZOR, Multibit HD a=
nd GreenAddress uses BIP39, just different scheme for key derivation (myTRE=
ZOR uses full BIP44, Multibit HD uses BIP44 with first account only and Gre=
enAddress uses another scheme because it's multisig only wallet).</div><div=
 id=3D"yui_3_16_0_1_1426122660566_31652"><br></div><div id=3D"yui_3_16_0_1_=
1426122660566_31653">I disagree with the need of some version "magic flags"=
 or creation date stored in the mnemnonic, for those reasons:</div><div id=
=3D"yui_3_16_0_1_1426122660566_31654"><br></div><div id=3D"yui_3_16_0_1_142=
6122660566_31655">a) If we fail in the way how mnemonic algo is defined, th=
en some magic, extra version flag won't save our asses, because we'll fail =
in meaning of its meaning. Then it will be completely useless, as implement=
ations cannot rely on it. I know Thomas was sound proponent of this solutio=
n, but he was unable to give any reasonable rules about who/how define mean=
ing of version flag.</div><div id=3D"yui_3_16_0_1_1426122660566_31656"><br>=
</div><div id=3D"yui_3_16_0_1_1426122660566_31657">b) "Creation date" is ju=
st a short-term hack. Considering that mnemonic words are kind of cold stor=
age (longterm storage), it *really* does not make much difference in 2020, =
if your wallet has been created in 02/2014 or 10/2016. If there's performan=
ce issue with scanning of the blockchain, creation date don't save our asse=
s. We need to find another solution, and as a bonus, we don't need users to=
 know some weird numbers on top of mnemonic itself.</div><div id=3D"yui_3_1=
6_0_1_1426122660566_31682"><br></div><div>&gt;&nbsp;<span style=3D'color: r=
gb(0, 0, 0); font-family: "Helvetica Neue-Light","Helvetica Neue Light","He=
lvetica Neue",Helvetica,Arial,"Lucida Grande",sans-serif; font-size: 16px;'=
From my interpretation of BIP39, wordlists DO NOT&nbsp;REQUIRE to be fixed=
 between wallet providers.&nbsp;There is some recommendations regarding the=
 wordlists to help with things such as predictive text, so mobile apps can =
easily predict the word being typed in after a few chars etc.</span></div><=
div><span style=3D'color: rgb(0, 0, 0); font-family: "Helvetica Neue-Light"=
,"Helvetica Neue Light","Helvetica Neue",Helvetica,Arial,"Lucida Grande",sa=
ns-serif; font-size: 16px;'><br></span></div><div><span style=3D'color: rgb=
(0, 0, 0); font-family: "Helvetica Neue-Light","Helvetica Neue Light","Helv=
etica Neue",Helvetica,Arial,"Lucida Grande",sans-serif; font-size: 16px;'>E=
xactly! After some community feedback, we changed BIP39 algo to be one-way =
only, which means you can use *any* wordlist to create the mnemonic, and an=
y other implementation can derive BIP32 root node even without knowing that=
 particular wordlist. Namely this has been changed because of constructive =
criticism of ThomasV, and from discussion on the mailing list I had a feeli=
ng that we've found a consensus. I was *very* surprised that Electrum 2.0 s=
tarted to use yet another algo "just because".</span></div><div><br></div><=
div><div>Shortly said, I think BIP39 does perfect job and there's no need t=
o use anything else.</div></div><div><br></div><div>Cheers,</div><div id=3D=
"yui_3_16_0_1_1426122660566_32019">Marek</div></div></body></html>
------=_Part_4459742_498376856.1426137167380--