11
3
Let's say someone (person A) starts using Bitcoin and in a period of time eagerly publishes some of their randomly generated (eg. by the Satoshi client) receiving Bitcoin addresses on formus, sends some other addresses to some people etc.
The old keys are now associated with person A, and in a couple of years, some people might want to send person A some funds; they might find one of these old addresses (on an old forum post or in an old private Bitcoin address book) and use them.
But by now, A has moved on to using another wallet instead of the original Satoshi client, and moved all their funds there.
Doesn't this mean that A will forever have to keep track of all the original (non-deterministically generated) private keys of all the addresses that he might have sent, or made available, to other people, and keep importing them into new wallets whenever he moves to a new wallet system, and keep backing them up (safely), etc.? This seems very tedious and error-prone.
I know it's recommended to use a new address for each new transaction, but that's in no way enforced, and more importantly, it's out of person A's control -- it's all the other people that might want to send them money.
This problem will be less important in the future (eg. with deterministic key generation that requires only the seed to be backed up), but someone using the Satoshi client extensively and freely in the past might never be able to make a clean cut.
So is this a real problem or do I understand things incorrectly? Maybe there's a simple (and safe) workaround, or maybe this is not so cumbersome after all?
1Yes the current bitcoin API is a disaster. Keys (if they are to be used at all as payment destinations) should always come with a (preferably short) expiration date. – Stéphane Gimenez – 2012-09-29T12:56:25.123
1Good, so I can expect this to improve in the future. The real solution is to have people see and treat addresses as throw-away data, quite unlike e-mail addresses or phone numbers. The fact that most (all?) Bitcoin wallets feature address books doesn't help here... – mazi – 2012-09-29T15:44:15.343
"cases where the receiver was offline" aren't a "nice to have" feature. The ability to fire and forget to a given destination without having to worry about whether the recipient is online is an absolute must, I can't imagine Bitcoin working any other way. – Meni Rosenfeld – 2012-10-01T20:22:20.753
1@MeniRosenfeld But we don't even have that right now. There is no guarantee that the network will remember your sent transaction until it gets included. That said, I'm certainly not arguing for removing send-to-pubkeyhash-via-P2P (for example for anonymous donations I see no better way), just arguing that in many cases negotiating a payment has advantages. – Pieter Wuille – 2012-10-01T22:20:29.380