forked from pjkundert/python-slip39
-
Notifications
You must be signed in to change notification settings - Fork 0
/
App.txt
340 lines (234 loc) · 12.9 KB
/
App.txt
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
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
THE MACOS/WIN32 SLIP-39 APP
Perry Kundert
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2022-02-02 22:22:00
Creating personal Ethereum, Bitcoin and other cryptocurrency accounts is
/urgently/ needed, but is complex and fraught with potential for loss of
funds.
All Crypto wallets start with a "Seed": a large, random number used to
derive all of your actual Bitcoin, Ethereum, etc. wallets.
The best practice for using these wallets is to load this "Seed" into a
secure hardware device, like a [Trezor "Model T"] hardware wallet.
SLIP-39 Mnemonic cards contain the recovery words, which are typed
directly into the Trezor device to recover the Seed, and all of its
cryptocurrency accounts. For the [Ledger Nano] and other hardware
wallets supporting only BIP-39 Mnemonics, you can now use the SLIP-39
App to securely and reliably back up these BIP-39 phrases.
The [macOS and win32 SLIP-39 App (download here – .dmg for macOS, .msi
for Windows)] helps you generate Mnemonic cards and back up this Seed,
securely and reliably, by distributing Mnemonic cards for the Seed to
partners, family and friends. Also, encrypted "Paper Wallets" can be
output, to support software cryptocurrency wallets such as Metamask,
Brave or various mobile-phone and computer-based wallets.
Later, if you (or your heirs!) need to recover *all* of your
cryptocurrency accounts, they can collect a sufficient threshold of the
cards and regain access to all of the cryptocurrency accounts related to
the Seed.
Table of Contents
─────────────────
1. Security with Availability
.. 1. Back Up Your BIP-39 Phrase!
.. 2. SLIP-39 Mnemonic Recovery Cards
..... 1. Why Not a BIP-39 Mnemonic Phrase?
..... 2. Why Not a BIP-38 Encrypted Wallet + Passphrase?
.. 3. Paper Wallets
..... 1. Walking-Around Money
2. Recommended Vendors
.. 1. Trezor
.. 2. Ledger
..... 1. Recovering your BIP-39 Seed Phrase
.. 3. Netcoins.app
.. 4. Crypto.com
.. 5. Protecting your SLIP-39 Cards
3. Privacy Policy
[Trezor "Model T"] <https://trezor.go2cloud.org/SH1Y>
[Ledger Nano]
<https://shop.ledger.com/pages/ledger-nano-x?r=2cd1cb6ae51f>
[macOS and win32 SLIP-39 App (download here – .dmg for macOS, .msi for
Windows)] <https://github.com/pjkundert/python-slip39/releases/latest>
1 Security with Availability
════════════════════════════
For both BIP-39 and SLIP-39, a 128-bit or 256-bit random "Seed" is the
source of an unlimited sequence of Ethereum, Bitcoin, etc. HD
(Hierarchical Deterministic) Wallet accounts.
Anyone who can obtain this Seed gains control of all Ethereum, Bitcoin
(and other) accounts derived from it, so it must be securely stored.
Losing this Seed means that *all* of the HD Wallet accounts derived
from it are permanently lost. Therefore, it must be backed up
reliably, and be readily accessible.
Therefore, we must:
• Ensure that nobody untrustworthy can recover the Seed, but
• Store the Seed in many places with several (some perhaps
untrustworthy) people.
How can we address these conflicting requirements?
1.1 Back Up Your BIP-39 Phrase!
───────────────────────────────
The [SLIP-39 App] helps you to break your BIP-39 recovery phrase into
multiple "Groups" and "Cards", and recover it any time you need it.
Any individual cards are *not* usable to access or recover the BIP-39
recovery phrase.
Even if you don't want to distributed the cards to multiple people,
but just wish to more securely and reliably store your BIP-39 recover
phrase, SLIP-39's Shamir's Secret Sharing System allows you to "break
up" your BIP-39 recovery phrase into several pieces which you can
store in different locations. If you lose some of them, you can still
recover the BIP-39 recovery phrase!
<./images/slip39.png>
[SLIP-39 App] <https://slip39.com/app>
1.2 SLIP-39 Mnemonic Recovery Cards
───────────────────────────────────
We don't recommend writing down one BIP-39 12-word or 24-word Mnemonic
phrase, and hoping that *you* can find it, but that nobody else *ever*
finds it!
Instead, generate a number of SLIP-39 Mnemonic cards, which can be
collected to recover the Seed:
<./images/slip39-cards.png>
1.2.1 Why Not a BIP-39 Mnemonic Phrase?
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
If *everyone* you talk to is recommending that you just write down
your 12- or 24-word phrase and store it somewhere, why not do this?
It is estimated that 20% of Bitcoin is already lost in the first 10
years of its existence, stored in wallet addresses that can never be
accessed because the corresponding "Private Key" has been lost, or the
passphrase forgotten.
The statistical chances of anyone successfully passing a
cryptocurrency wallet Private Key + passphrase or Seed to their heirs
over a 50-year period is therefore very low. Since memory fades and
"safe" storage places are lost, destroyed or forgotten, this risk
actually increases exponentially over time.
I estimate the probability of successfully inheriting such a Paper
Wallet + passphrase or BIP-39 Mnemonic protected Seed is probably less
than 50%. Perhaps *much* less.
1.2.2 Why Not a BIP-38 Encrypted Wallet + Passphrase?
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
Have you ever forgotten a password to an online account?
Well, with a BIP-38 Encrypted Wallet + passphrase, there is /no
password reset/ option; there is no way to recover the passphrase.
If the Wallet is lost, there is of course no way to recover it, even
if you have the passphrase.
This option is perhaps even less desirable than using a BIP-39
Mnemonic Seed phrase, because each and every Encrypted Wallet is
exposed to this risk of loss.
1.3 Paper Wallets
─────────────────
If desired, you can produce encrypted Paper Wallets, to support
software crypto wallets (eg. Metamask, Brave or various mobile- and
computer-based wallets):
<./images/slip39-wallets.png>
1.3.1 Walking-Around Money
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
Money that doesn't /work/ has low utility and hence low value. There
are often situations where you want to transport money physically,
perhaps to buy something somewhere where you have no access to a
computer, or by mail. Paper Wallets allow this.
Losing this Paper Wallet usually results in the loss of the funds held
in it. But, not if you generate it from your Seed!
Just pick a derivation path you aren't going to use for your own
personal wallets (eg. ending in `..99'/0/0'), and generate some Paper
Wallets (use each derivation path only once, of course). Fold them up
so that the Private Key is not visible, laminate them and deposit
funds into the wallet public address using the visible QR code.
The recipient can cut and unfold the Paper Wallet, exposing the
private key and password hint, and can transfer the funds into their
own wallet.
If the Paper Wallet is ever lost, you can recover the Private Key (it
was derived from your Seed!), and transfer the cryptocurrency back
into one of your own wallets.
2 Recommended Vendors
═════════════════════
To assist you in obtaining various SLIP-39 compatible components, we
have established some relationship with reliable vendors.
2.1 Trezor
──────────
The [Trezor "Model T"] hardware wallet has built-in SLIP-39 generation
and recovery capability. Enter the words on the SLIP-39 cards
directly into the screen of the Trezor to recover your cryptocurrency
accounts.
We recommend the Trezor "Model T" for this reason. No other hardware
wallet yet supports direct, on-screen SLIP-39 Seed recovery.
If you already have one of the less expensive Trezor wallets that only
support BIP-39 backup, we also support those, using the same BIP-39
Seed Entropy backup via SLIP-39 as for the Ledger, and other
traditional hardware wallets.
[Trezor "Model T"] <https://trezor.go2cloud.org/SH1Y>
2.2 Ledger
──────────
The Ledger hardware wallets are also very popular – but they can be
recovered only using BIP-39 Mnemonics. However, you can now use the
SLIP-39 App to backup your BIP-39 Seed Entropy! Therefore, we now
support the Ledger hardware wallets.
The [Ledger Nano S Plus] has a large screen, at a reasonable price
point, and connects via USB-C.
The [Ledger Nano X] has a large screen and supports connectivity via
Bluetooth, for much easier connectivity with mobile phone and laptop
wallet software.
[Ledger Nano S Plus]
<https://shop.ledger.com/pages/ledger-nano-s-plus?r=2cd1cb6ae51f>
[Ledger Nano X]
<https://shop.ledger.com/pages/ledger-nano-x?r=2cd1cb6ae51f>
2.2.1 Recovering your BIP-39 Seed Phrase
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
If you already have a BIP-39 Mnemonic, and would like back it up using
SLIP-39 for more security and recovery reliability, you can use the
SLIP-39 App's Backup Controls to do so. After you create your Seed
Data (or enter an existing BIP-39 Seed Phrase), select "Using BIP-39".
This will generate a set of SLIP-39 Mnemonic Cards that *backs up your
existing BIP-39 Seed Phrase*.
Later, when you need to recover your BIP-39 Mnemonic (say, to
initialize a fresh replacement Ledger hardware wallet), use the
SLIP-39 App, select the Recover Controls, and enter sufficient SLIP-39
card Mnemonics – and click "Using BIP-39" to reveal your original
BIP-39 Seed Phrase. Then, proceed with Ledger wallet recovery as
normal, using the BIP-39 Mnemonic.
This may not /seem/ like an impressive feat. But, it is unexpectedly
important and powerful! Your existing BIP-39 Seed Phrase is
*extrememely* risky; it can /easily/ be lost or stolen. By using
SLIP-39 to Backup your BIP-39 Seed Phrase, you can distribute the safe
and reliable SLIP-39 Mnemonic cards to friends and family, and reduce
the risks of theft or loss of your critical cryptocurrency accounts
Seed data.
2.3 Netcoins.app
────────────────
In Canada, one of the more highly regulatory-compliant cryptocurrency
exchanges is [Netcoins.app (referral code: 5YO1MZ)]; sign up with this
referral link, and we both get some benefits.
They have higher than typical Interac e-transfer limits, which is very
nice. However, they don't support a wide range of cryptocurrencies;
presently, only BTC, ETH, XRP, LTC, BCH, USDC, and a few other
lesser-known coins.
They also have a crypto-backed credit card which works well in Canada.
[Netcoins.app (referral code: 5YO1MZ)]
<https://netcoins.app/r?ac=5YO1MZ>
2.4 Crypto.com
──────────────
Use my referral link for [Crypto.com (referral code: 2x4hk92dnf)] to
sign up for Crypto.com and we both get $25 USD :)
The Crypto.com exchange has many more coins available, as well as a
crypto-funded credit card that works in Canada.
[Crypto.com (referral code: 2x4hk92dnf)]
<https://crypto.com/app/2x4hk92dnf>
2.5 Protecting your SLIP-39 Cards
─────────────────────────────────
Protect your printed SLIP-39 cards from water damage by laminating
them in plastic or storing them in [foil ziplock bags] before [mailing
them].
Print the SLIP-39 cards and cut them out, and then lay them out with
1/2" margins (so you can cut them out after lamination and retain 1/4"
borders), either with [full-page self-adhesive] (or [index-card size])
laminating sheets – no machine required.
Ideally, use a [heat-laminating machine] in [full-page pouches] (or in
[index-card size pouches]). This is the best option, in my opinion.
[foil ziplock bags] <https://amzn.to/3EgdfGb>
[mailing them] <https://amzn.to/3G5zOjk>
[full-page self-adhesive] <https://amzn.to/3NRr9Tr>
[index-card size] <https://amzn.to/3G8NQ3w>
[heat-laminating machine] <https://amzn.to/3UJqBkB>
[full-page pouches] <https://amzn.to/3G4ZmNu>
[index-card size pouches] <https://amzn.to/3G4Zuws>
3 Privacy Policy
════════════════
SLIP-39 does not save or store any data input to or output from the
app. Any SLIP-39 Mnemonic card PDFs exported by the app are saved on
your device in the location that you specify after clicking the 'Save'
button.