This can easily be solved in a number of ways. For example, a public key
could be publicly associated with each address. A transfer is accomplished
by signing a message to that effect. Similarly -- and very importantly --
control over routing of that address is also governed by that
private/public key pair. There's more to this protocol than I've
described, but it can be made to work.