I have clients that would like to pay for services in BTC.
TL;DR
To generate a new payment address must I generate a new private key (essentially a new wallet)?
Is it better to generate independent private keys for each payment from each client, or to use a determinstic wallet?
Is it possible to automatically move the BTC to a central wallet address without storing the private key for either solution?
How To Generate Multiple Addresses?
Based on this bitcoin.it article:
Addresses are not intended to be used more than once, and doing so has numerous problems associated [with it].
Therefore, the logic I have follows that each payment received from each client should be to it's own address.
However, I am confused about the generation of multiple addresses, and the best way in which to do it.
Other questions on here, such as this one and this one, indicate that each private key will result in a single address only. Am I therefore right to conclude that each address for each payment from each client must have it's own private key?
If that is the case (as in my limited understanding it would seem to be), and I am generating the wallet addresses using software, is it better to:
- Use a deterministic wallet that generates each payment address for each client from a single 'master key', or
- Generate an indepedent private key for each payment address for each client?
Moving BTC To Central Wallet
I need to move the BTC from the received wallet into my wallet in order to spend it.
In either of the scenarios I mentioned, would the 'master key(s)' be securely stored on the server for programmatic use in order to facilitate moving the received funds into my wallet?
If that is the case, would it be more secure to have independent private keys for each instance of a payment from a client?