5
This question might seem quite strange. but I am wondering if its possible to delegate the creation of a transaction to a third party, without having to trust them with your private key?
In the same way that with credit cards you can preauthorise a transaction, i'm wondering if its mathematically possible to do the same with bit coins. What I'm thinking of is having the client create the transaction, from the private key, and then forward the transaction to, and only to the authorising body. That way they would then hold a cryptographically secure transaction which at a later time if appropriate they could distribute to the rest of the bitcoin network.
so specifically:
- Does this leave open the risk of that person double spending the same bitcoin?
- Is there a mathematical window between the point when the private key is no longer required, and when the distribution process has begun. (e.g. adding it the current block?)
- Has anyone solved this already?
Edit for clarity:
The key aspect is the ability for someone other than the person sending the bitcoin to 'hold the transaction' and at a later date to either forget the transaction (so it never left the original wallet) or to distribute the transaction, so it is accepted by the bitchain as having been transferred.
It would be required that the only trust that the sender needs to have is that the transaction holding place is trusted to either distribute or drop the transaction fairly. In particular that they do not obtain access to transfer additional money later, or different amounts etc..
sofar, this is the more complete answer as it answers 2 out of 3 of the questions. can anyone answer about the double spending? – Michael Shaw – 2013-08-27T22:27:54.053
thanks. I was doing a kind of thought experiment about how to solve the transactional certainty issue for spending bitcoins thats needed in physical shops.
The idea was that by scanning a QR code at the till, your phone could then ask for authorisation to send the payment request to a central server in the form of a valid, but undistributed transaction. Likewise, the merchant would also send their payment request (and payment for the immediate processing) to the central server. If both are received then both transactions get distributed and the merchant has the transaction confirmed – Michael Shaw – 2013-08-28T19:27:27.393
The beauty of this is that it creates a non reversible payment, unlike all card payments, and could be viable at a very low transaction cost per transaction. – Michael Shaw – 2013-08-28T19:30:53.453
I think you are over-thinking the issue - these problems are already dealt with in the standard client. The merchant would only need to be online and check their own version of the block chain (which should be up to date) to confirm the transaction is not using spent coins. – T9b – 2013-09-02T12:58:18.180