Breaking Up with Your Bitcoin Wallet: How Do You Move From One Cryptocurrency Wallet to Another?

In this segment of Down the Rabbit Hole, I want to talk about a particular problem that occurs fairly often with new users who are trying to either
recover or migrate a wallet from one wallet to another. For example, from a smartphone wallet to another smartphone wallet, or from a smartphone wallet
to a hardware wallet, or from a hardware wallet
to another hardware wallet, or any combination of the above. Now, we have a standard that
has actually made such things much, much more interoperable. This is where I put on my grandpa voice, and I go, "In the old
days, back three years ago, "when we didn't have BIP39." Yeah, and that standard is BIP39, and it makes life a lot easier, but it does have some weaknesses. As part of BIP39, which is
the mnemonic phrase standard, which allows you to move
a whole tree of keys from one wallet to another using just the English
word mnemonic phrase, as part of that standard
and the related standards, there are some nuances
that often cause problems with newbies.

The underlying standard is called BIP32, which is hierarchal deterministic wallets. Hierarchal deterministic wallets
define a system of wallets that are organized in a
hierarchy that looks like a tree, where you have a root
key that is generated from the mnemonic phrase,
or can be generated and these days is almost always generated from the mnemonic phrase,
the BIP39 mnemonic phrase, and that root key can then be used through a series of hashing operations to derive billions, and
billions, and billions, and billions, and billions
of potential private keys that can each derive an address, and this works across
different cryptocurrencies, and it works with different other systems. It can generate entropy for things, et cetera, et cetera, et cetera. Now, within that system, there is a further specification,
which is called BIP43, and a further specification called BIP44, that tell you how to find
where your keys are hanging on the branches of this tree. Now, if you think about it,
the reason this is complex is because the tree
itself at the first level has 4 billion branches.

Each one of those 4 billion branches has 4 billion branches coming out of it, and so on, and so forth
to an infinite depth. Ah! And, of course, that gives
us a lot of flexibility, but it also means that if you don't know which branch your keys are on, you could be searching for centuries. Almost all wallets, like
90 plus percent of them, put all of their keys on
a very specific branch. For Bitcoin wallets, that would be the M 44 prime, zero
prime, zero prime branch, and what that stands for is 44 prime designates
that this is compliant with the BIP44 branch
derivation path scheme, zero prime specifies that
this is a Bitcoin wallet, and you can have others, one
prime, two prime, et cetera, which are other wallets
for other cryptocurrencies, and then zero prime after that
means the first sub-account, the zeroth sub-account because
it's a multi-account system.

Now, if your money is on that path, M 44 prime, zero prime, zero prime, then you can find it fairly easily. Most wallets are gonna look there first when you import them. But what if your wallet was
weird and put it somewhere else? Or what if the wallet
you're importing to is weird and is looking somewhere else? Well, then it will come up
with a different address, and it's going to find
zero money at that address, which if you're a newbie
causes the following reaction, "AAAHHHHH! Where's my money?" And then, you go to Reddit, and a lot of people will tell you, "Use this website or use this tool." And that's when the problems really start because a lot of people will
go in and type their seed into a web page and lose
their money promptly because they went to the wrong place.

People are squatting on
typos of web addresses. They're compromising generators. They're building software
that they're launching on the Android and the App Store and storing as ZIP files and
executables all over the web for you to stumble across these, think they're the legitimate
or original software you were looking for, type in your seed, and promptly watch your
money be taken away. Don't worry, they know how
to find the derivation path where your money is very, very quickly. So, one of the things
I've been thinking about is how do we fix this problem,
and I came up with an idea, and then I funded this
idea as a software bounty, and just about a week ago, a developer finished building
this, and I'm very excited 'cause I'm hoping that it's
actually going to be merged into a very popular piece of software called the Electrum wallet.

Now, the Electrum wallet
is a desktop wallet that runs on Mac, Linux, and Windows. It's cross platform and
it's very, very featureful. I use it for a variety
of my own activities. By keeping it on your desktop, it's not as perfect as
other security mechanisms, but you can also combine
it with a hardware wallet, in which case your keys are safe and safely stored in a hardware wallet.

Electrum, however, expects you to know where your derivation path is. So if you give it a seed,
or if you simply attach it to a hardware wallet and say,
"Look, my seed is on there. You can't see it, but you can talk to it and ask about the master public keys." Then, it needs you to tell it
where the derivation path is. And the bounty that I funded
was a bounty to create a wizard that scans the most
popular derivation paths of the most popular wallets. Now, this is based on
another great project called walletsrecovery.org that's managed by Janine Romer
and Robert Novak who have, and I hope I got those names
correct, NVK and J9Roem.

That website has basically a table that lists hundreds of wallets and all of the derivation
paths they've been known to use in different versions and
iterations of that software. And most of them are M 44
prime, zero prime, zero prime, but some are some very
weird alternative options. And, yeah, so that plugin
will basically go scan, it will look through and see
if it can find money hanging on various branches that have
been previously identified as popular ones, and by
investigating 20 or 30 branches and picking an address from
each to see if it's been used, it can basically say, "Hey,
there's actually some money hanging off these three branches. Which one would you like to import?" And that way you don't need
to know your derivation path. I'm really excited about this because I think it actually gives newbies a much more secure way to do that search.

And, in fact, just yesterday, I helped a friend figure that
out and recover some money for their father who did
not know how to import from a derivation path that was unknown. Luke Childs is the developer who developed this particular feature. You can see the pull request on the Electrum GitHub repository. I am delighted this worked out, and I'm also really excited
about the possibility of helping newbies with
this little problem that happens with not
knowing your derivation path and trying to migrate wallets. And that's my little Down the Rabbit Hole. The section where I ask myself a question about something that I'm interested in.

In this particular case,
something I'm really excited about because it just finished. And then, I talk about it. If you enjoyed this video, please subscribe, like, and share. All my work is shared for free, so if you want to support
it, join me on Patreon. patreon.com/aantonop.

As found on YouTube

You May Also Like