Skip to content

Commit 089cf89

Browse files
committed
Added warnings for BIP39/SLIP39 interopability problem.
1 parent bef29fd commit 089cf89

File tree

2 files changed

+50
-0
lines changed

2 files changed

+50
-0
lines changed

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ The following files contain everything you need to set up your *LetheKit* hardwa
2222

2323
*LetheKit* is currently under active development and in the late alpha testing phase. It should not be used for production tasks until it has had further testing and auditing.
2424

25+
**There is a known problem with BIP39/SLIP39 interoperability. The problem
26+
is being tracked as [Issue #38](https://github.com/BlockchainCommons/bc-lethekit/issues/38).**
27+
2528
## Origin, Authors, Copyright & Licenses
2629

2730
Unless otherwise noted (either in this [/README.md](./README.md) or in the file's header comments) the contents of this repository are Copyright © 2020 by Blockchain Commons, LLC, and are [licensed](./LICENSE) under the [spdx:BSD-2-Clause Plus Patent License](https://spdx.org/licenses/BSD-2-Clause-Patent.html).

seedtool/README.md

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,50 @@
1+
# Warning! There is a problem with LetheKit/seedtool BIP39/SLIP39 interoperability.
2+
3+
### The following is being tracked as [Issue #38](https://github.com/BlockchainCommons/bc-lethekit/issues/38):
4+
5+
#### What is the problem?
6+
7+
The LetheKit seedtool application generates new wallets using dice
8+
entropy to create BIP39 and SLIP39 recovery mnemonics. The BIP39 and
9+
SLIP39 mnemonics represent valid wallets, but they are not the same
10+
wallet.
11+
12+
This is a serious problem. If both BIP39 and SLIP39 backups are
13+
created at the same time and funds are placed in the BIP39 wallet the
14+
SLIP39 backup will fail to recover the same wallet and the funds would
15+
be lost.
16+
17+
#### Why is this the case?
18+
19+
Andrew Kozlik explains it well in this [GitHub comment]
20+
(https://github.com/iancoleman/slip39/issues/1#issuecomment-563213494)
21+
22+
#### How can matching BIP39 and SLIP39 backups be made?
23+
24+
Andrew Kozlik explains (above) that in principle, SLIP39 shares which
25+
are 59 words long could match a BIP39 mnemonic. In practice SLIP39
26+
shares of this length are non-standard and unlikely to be supported by
27+
any devices or applications. The extreme length is also significantly
28+
painful to record and enter.
29+
30+
#### Impact on LetheKit/seedtool:
31+
32+
The desired feature of (standard) matching BIP39 and SLIP39 backups is
33+
not possible.
34+
35+
The conversion of a BIP39 backup into a SLIP39 backup is not possible.
36+
37+
The conversion of a SLIP39 backup into a BIP39 backup is not possible.
38+
39+
LetheKit/seedtool can generate valid BIP39 and SLIP39 wallets but
40+
should not allow generation of both at the same time or suggest it
41+
can convert between the two.
42+
43+
LetheKit can restore SLIP39 backups, but a mechanism to export the
44+
master secret (likely via QR code) would need to be added.
45+
46+
## The original (invalid) directions follow:
47+
148
# Seedtool Application Instructions
249

350
The *seedtool* utility allows you to generate and recover

0 commit comments

Comments
 (0)