5

My understanding is that a wallet isn't a wallet at all*, it doesn't hold my coins, but it's a key store; my coins are of course "stored" as records of the events on the blockchain.

Imagine I have bitcoins with Cloud Wallet Company (A), but I then set up Wallet Company (B)'s app. And let's assume they both use the same crypto algorithms to compute the seed from the 12-word recovery key, as per this answer.

Is the "recovery phrase" generated by a wallet app platform independent?

If I log in to (B) and choose to import/recover my wallet and punch in the 12 words I got from (A), would I effectively now have two wallets? i.e. both (A) and (B) are set up with the same wallet.

Where is my balance stored? After entering my 12-words into (B) would their servers have to "run a query" on the blockchain to aggregate all the transactions and arrive at my balance??

And if I send from (A) to a friend's wallet (Z), would my reduced balance also show on (B)? Or would (B) cache my balance to avoid expensive query/compute from the blockchain, and so it would become out of sync?

Thanks!!

*Maybe I'm wrong but I think the wallet analogy only confuses noobs, since it sets up a mental model that's the opposite of the whole point of a blockchain.

1
  • 1
    Yes, a wallet is actually more of a "key ring".
    – Murch
    Commented Oct 2, 2020 at 13:55

3 Answers 3

7

Can I “duplicate” a wallet using a backup phrase (12 words)?

Yes

Where is my balance stored?

Both wallets will scan the relevant parts of the public transaction-journal ("blockchain") to add up the amount of money controlled by the keys derived from your backup phrase - this total is your balance.

Wallets are very likely to store this total locally, as a convenience, so they don't have to re-scan the blockchain and add up the total all over again every time the wallet is opened. Exactly where and how this number is stored is likely to vary depending on the software used. The storage of this total is of no real consequence.

if I send from (A) to a friend's wallet (Z), would my reduced balance also show on (B)?

Yes, both wallets will learn about new confirmed transactions that affect your balance.

Wallet A might show the transaction amount as pending until it receives a confirmation, a confirmation is just a new block appearing in the public transaction journal that either contains the transaction in question or which builds on top of such a block. Wallet B learns about the confirmation in the same way and will similarly notice that the block contains a transaction that affects an amount associated with an address derived from your backup phrase. The mechanism is the same for both wallets, Wallet A has no special privileges.

To elaborate a little:

As Murch noted in a comment, wallet A might have some additional information that doesnt get transmitted to wallet B. This is information which isn't transmitted to the rest of the Bitcoin network and which has no effect on validation of a transaction or on the mining process by which payments are considered to be confirmed. One example is if you choose to add a memo "payment for new trinket" to the transaction, this memo is not transmitted to anyone else and so is not known to Wallet B (or anyone else). It is also lost if you destroy wallet A and re-create it (e.g. by deleting an app and associated data and then reinstalling the app and using the old backup phrase). If your wallet A allows you to organise transactions into accounts, wallet B wouldn't automatically know about those accounts. Similarly, if wallet A is a Lightning-capable wallet, Wallet B wouldn't normally know about the lightning transactions that Wallet A made, only about the final on-chain settlements made e.g. when a lightning channel is closed.

However Wallet B should still normally show that same total as Wallet A for total amount of Bitcoins that the basic Bitcoin network and it's public replicated transaction-journal ("blockchain") consider to be controlled by private keys which are in your wallets A and B.

3
  • The only special privileges that one of the two wallets would have is that any metadata added to the transaction (e.g. "payment for new trinket") would only be stored in the sending wallet.
    – Murch
    Commented Oct 2, 2020 at 13:54
  • @Murch: Good point, I've elaborated a little in the answer. Thanks. Commented Oct 2, 2020 at 14:54
  • Excellent answer!
    – Murch
    Commented Oct 2, 2020 at 15:36
2

I have my 12 word phrase committed to memory. Like the Winter Soldier. Whenever I am experimenting with a new wallet service (to see if i prefer a different user experience) I restore my portfolio using the same 12-phrase. There is a bit of a risk in that if you get hacked on one, you get hacked on all, but the “wallet” just lets you facilitate/access your transactions, so, yes, you can do this. One word of warning - I HAVE had situations where the new wallet generated from my 12-word phrase doesnt “see” every account. For example, I bought XLM on Voyager and moved to my Genesis wallet. When I opened a Trust wallet, my Eth BTC and others appeared as expected, but Trust created a new blank address with zero balance for XLM instead of recognizing the XLM address. I THINK the reason is not all wallets are recognizing all blockchains, i.e. binance-based, etherium-based etc. So in short yes you can duplicate your seed phrase but watch out for wallets that can’t recognize all addresses apples-to-apples, make sense?

-1

Not long ago by accident I noticed that I have the same wallet address with metamask open on two different browsers (chrome and firefox). I have not experimented anything in this direction but for a moment I had a few questions to which I would like to know the answer. Maybe it will add to your reflections. I only know that when someone from my metamask wallet was making a transfer of tokens to his wallet, in his metamask, nothing was visible in the activity, only after logging into etherscan I saw what was happening but it was too late. If it hadn't been for the etherscan email, I would probably have found out much later about the theft. Also, you probably will not change the synchronization with two wallets open at the same time, but try with two browsers or virtualbox.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.