0

If I create a new public key (Bitcoin Address) for every transaction I'm receiving, is there some way to find my total balances of my wallet/private key?

And are there any downsides with creating unique addresses for every transaction?

Just to make it clear. I'm not talking about total balances in the wallet's GUI. I'm asking if there is some way for thirdpart who is watching transactions on blockchain.info to calculate my total balances in the wallet.

  • Are you asking for a specific wallet or in general? – karask Jan 21 '16 at 12:02
1

If you're running Bitcoin Core as your wallet, then the graphical interface is handling your wallet's total balance already, which includes the balance of every address within your wallet.

If you prefer the command line method, use bitcoin-cli getbalance to get the total sum of all transactions in your wallet. That command basically balances your wallet transaction history like a checkbook, so including deposits and debits, and delivers you the final balance.

The balance shown in the Bitcoin Core GUI is the same as the balance displayed with bitcoin-cli getbalance.

To answer your second question, as far as I can tell there is no downside to creating unique addresses for every transaction, and in fact it is highly recommended in order to aid in anonymity. The fact that you own all of the Bitcoin associated with a particular wallet is harder to determine when more than 1 address is used to receive funds.

However, spending the entire balance of multiple addresses in a single transaction could negate any protection you were hoping to have by using multiple addresses in the first place, since an attacker could then determine, using that single transaction ID, that the total balance of the multiple addresses was associated with the same wallet.

Hope this helps

EDIT

One important note when creating many unique addresses is, if using the Bitcoin Core wallet, backups would need to be created more frequently because new private/public keypairs are generated when creating a new address, and previous backups will not contain the new keypairs. Therefore, if you create a backup of your wallet, then create a new address and receive 1BTC at that address, then your wallet backup will not contain the address that received 1BTC.

  • I think I wasn't clear enough in mye question. I have done a edit of the question. – BufferOverflow Jan 21 '16 at 12:24
  • I think the secondary part of my answer addresses that concern already. "[Using a unique address for each transaction] is highly recommended in order to aid in anonymity. The fact that you own all of the Bitcoin associated with a particular wallet is harder to determine when more than 1 address is used to receive funds." – maff1989 Jan 21 '16 at 14:05
0

If I create a new public key (Bitcoin Address) for every transaction I'm receiving, is there some way to find my total balances of my wallet/private key?

The addresses in the blockchain are only related if you use them together in a transaction. For example if you make a payment to someone and you use bitcoins from 3 addresses (A, B and C) from your wallet a third person can assume that all these addresses are from the same wallet/person (which is not necessarily correct!) ... and add the remaining to get the balance from those 3 addresses. If later you make another payment that uses addresses (B, C, D and E) a third party will deduce that D and E are probably also your addresses and add them to your total balance. Outputs can also be used for this but I won't expand to avoid over-complicating it. Statistical analysis can find most relations but requires dedicated people. That is why mixing is so difficult.

So, it can be done but it does require quite some work for trustworthy results.

And are there any downsides with creating unique addresses for every transaction?

Nowadays, most wallets are Deterministic Wallets (by the way, bitcoin core wallet is not). That means that they use some kind of seed to create all future key-pairs from. Having that seed you can recreate all key-pairs that you have or could possibly create in the future. You can backup that seed and be certain that you have a final backup for that wallet. Thus, no downsides for Deterministic (or Hierarchical Deterministic) wallets.

However, in a non-deterministic wallet (like bitcoin core wallet, aka shatoshi client) if you take a backup today and tomorrow you create a couple of new addresses those new address will not be in the backup. Thus the downside for non-deterministic wallets is that you need to create backups frequently to ensure that you have a backup of all your private keys.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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