Today I decided to claim my Bitcoin Gold and I failed — not through a fault of my own but because of a design decision made by the Electrum development team many years ago. Here is what I found out, and why I decided to stop using Electrum Wallet.
Update: I found a way to make this work, so if you want to know how to split your Bitcoin Gold coins from your Electrum wallet, read this post. However my opinion on Electrum stays the same, and if you want to hear my reasoning, keep reading.
Seeds and Keys
Anybody who has created a new wallet knows what a seed is: a sequence of 12/24 words from a dictionary that can be used to recover the private keys. A seed is particularly important for the so-called Hierarchically Deterministic wallets that use the master private key to derive an almost unlimited (~2 billion) number of child keys so that we can generate new addresses as required and avoid address reuse.
Because of the deterministic nature of this process, we only need to keep a backup of the master private key; its children can be regenerated whenever necessary. This makes backups so much easier than having to keep a number of unrelated private keys, so naturally the community embraced the idea, a key generation procedure was summarily standardized under BIP39 and everybody started making their wallet software compatible with this specification.
Well — everybody except Electrum.
BIP39 and Electrum
Today I learned that the Electrum developers have a different understanding of security and use a bespoke algorithm for seed word generation. The only thing they have in common with BIP39 is that they use the same dictionary. However when you try to input an Electrum wallet seed into a BIP39-compatible HD wallet, it will warn you about a checksum error and will not allow you to proceed.
Under normal circumstances this would not matter to me, and as long as I knew I could recover my wallet to another PC or mobile device using this incompatible seed, I would be OK. However things started to change in the second half of 2017 when Bitcoin Cash was created. This was followed by the unsuccessful SegWit2X fork, then Bitcoin Gold, then Bitcoin Clashic and if history teaches you anything, it has become apparent that Bitcoin forks and airdrops will become a thing.
Claiming Bitcoin Cash
When Bitcoin Cash forked, an anonymous developer going under the alias Jonald Fyookbal created a clone of Electrum called Electron Cash that supports BCH. Claiming my airdropped Bitcoin Cash was as easy as importing my old Electrum wallet into it (after first moving my Bitcoins to another wallet, of course!).
However at the time of the Bitcoin Gold snapshot on October 24, 2017 I still didn’t have a hardware wallet and my coins were kept in an Electrum wallet — and because Electrum uses an incompatible seed, I am now unable to claim my BTG.
I highly doubt it anybody on the BTG dev team has the time, capacity and inclination to make a BTG compatible wallet that would make it possible to reclaim my BTG coins the way Jonald Fyookbal made it possible for me to claim my BCH back in August. And I really have no alternative: mobile wallets that support BTG are scarce yet. Coinomi does, and it can import wallets from a BIP39-compatible seed, but it cannot import multiple private keys by hand.
Locked out of my Bitcoin Gold
Electrum wants to make my Bitcoin wallet seed stronger and prevents me from getting free money in the process.
I feel let down by Electrum. Its developers gave me the false assurance that my coins would be safe no matter what; instead it turned out I was bound to their software. Behind the pretense of increasing my safety, Electrum have locked me out of the Bitcoin ecosystem.
Thanks but no thanks.
Interoperability and compatibility is of utmost importance in the world of Bitcoin. I want to be able to put my seed words into whatever wallet software I like, and access my coins immediately. Or claim an airdrop whenever I want to. I will not allow another developer of hardware or software to lock me out of the whole digital ecosystem. If they can’t guarantee portability of my keys, they won’t be allowed to touch them.
Things will probably be easier in the future. Now I keep my Bitcoin savings in a hardware wallet, and both Trezor and Ledger seem willing and able to quickly provide split tools for airdropped coins. This is probably a better solution for them than having some idiot customer export the seed of his HW wallet, dumping it into a scam site and then accusing the manufacturer for his losses.
Future Strategy for Handling Airdrops
Now that I have a hardware wallet, I no longer need a desktop software wallet for any purpose whatsoever. For small purchases I can use my phone, and there I have installed Samourai anyway. I emptied my Electrum wallet and removed the software from my computer. I still keep copies of the wallet files just in case, but I don’t think I will ever get my BTG. But for future airdrops the solution is clear: keep the bulk of my coins on my Trezor and Ledger Nano S, and wait for the developers to make a coin split tool.