6

According to this question, there isn't an easy way to automatically send bitcoins from one address to another and I think that it might be useful.
So I thought about creating a website were people could upload their wallets and choose a destination address where the coins would be sent to. A bitcoin daemon would be constantly checking the balance and forwarding any received transactions. But then I was confronted with the problem of securing a collection of online wallets.

When a transaction occurs, what part of the message is signed by the owner? Since the destination address is always the same, is it possible to send the bitcoins without storing the private keys on the server?

Probably the whole transaction is signed (which means that I need the key because the input is unpredictable), but I don't know much about this so I might be missing something here.

2
  • For the same purpose, it might be easier to create Javascript application that executes locally, in web browser, and merges two wallets.
    – Serith
    Commented Oct 18, 2011 at 3:43
  • @Serith Yes, probably. In a few months it might be possible to add private keys/merge wallets in the main client so this kind of service would not be needed.
    – nmat
    Commented Oct 18, 2011 at 4:02

4 Answers 4

10

Short answer: no.

Longer answer: to 'forward' coins one needs to spend them out of the first receiving address, and to the next one. in order to spend them, one needs to sign a transaction using the private key associated with the first receiving address.

6

It is currently not implemented by any client that I know of, but it is possible to create a signature for a transaction that doesn't include the outputs. The trick is using the SIGHASH_NONE signature type. This would allow you to fill in the output later on, and still send it.

Another possible solution that has been suggested (but again not implemented) is having auto-clean addresses - addresses that are marked specially so that if ever a payment arrives to them, it is immediately moved to another address.

2

There is no concept of "forward". Bitcoin only has transactions.

Transactions are used to irreversably transfer coins from one address to another. The bitcoin network also has no concept of ownership beyond the holder of the private key.

If you could transfer coins without the private key there would be no security to Bitcoin network. People could simply take other users coins at will.

If you think about it for bitcoin to work each transaction MUST ALWAYS be signed by the private key for that address.

2

So I thought about creating a website were people could upload their wallets and choose a destination address where the coins would be sent to.

That's not possible if you don't want the website to have all the private keys. What would be possible would be to have the website monitor a set of addresses and email you whenever funds are deposited to any of them.

There's a free online wallet service called My Wallet which does exactly this, offering "Payment Notifications via Skype, Email, Google Talk and HTTP Post".

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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