Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: joe on February 13, 2011, 02:15:31 PM



Title: Send bitcoins to an unknown recipient
Post by: joe on February 13, 2011, 02:15:31 PM
You want to send bitcoins to a Facebook friend who also has bitcoin, but you don't want to ask them for an address and wait for their response. You want to send the coins now.

Add a functionality to Bitcoin to support the following use case:

1. Alice wants to send 20 BTC to Bob.
2. Alice asks her Bitcoin client for a public/private keypair for a new temporary Bitcoin address, which Alice's client will load with only 20 BTC.
3. Alice sends the keypair to Bob through email.
Alice is finished.
Some time passes...
4. Bob receives the email and enters the public/private key into the client.
5. Bob's client sends the money into one of Bob's own addresses.
6. Bob can consider the money received when that send-to-self receives a sufficient number of confirmations.


To me, this sounds like a very basic and important functionality. This gives you the ability to "speak" bitcoins, and whoever receives your message will be able to cash them. You no longer have to ask recipients for their bitcoin address and wait for their reply. Also, this change does not require any changes to the protocol.

I am (slowly) working on adding this functionality to the client that i checked out from github.

Ideas/Thoughts?



Title: Re: Send bitcoins to an unknown recipient
Post by: xenon481 on February 13, 2011, 02:26:32 PM
Are you saying that both the Public and Private keys will be sent in an email?  ???


Title: Re: Send bitcoins to an unknown recipient
Post by: ColdHardMetal on February 13, 2011, 02:50:12 PM
http://www.bitcoinmail.com/


(not my site)


Title: Re: Send bitcoins to an unknown recipient
Post by: joe on February 13, 2011, 02:59:09 PM
Are you saying that both the Public and Private keys will be sent in an email?  ???

Yes, but only the public/private keypair of a temporary bitcoin address that your client loads with the amount of bitcoins you want to send to the person. Once you send it, your client should forget about it and not move additional coins into it.

http://www.bitcoinmail.com/


(not my site)

The private key transactions would allow you to send bitcoins as text: through facebook, message board private messages, snail mail, basically any medium of communication. Bitcoinmail.com is not similar to this idea.


Title: Re: Send bitcoins to an unknown recipient
Post by: xenon481 on February 13, 2011, 03:32:55 PM
Once two people have access to the same private key, there could very easily be (even if accidental) attempts at double spending.


Title: Re: Send bitcoins to an unknown recipient
Post by: Hal on February 13, 2011, 08:01:25 PM
I think this is a great idea Joe. There have been many, many, many requests for this functionality. The recent addition of the rescan feature will help. When you import the key, do a rescan to pick up the transaction that funds it. Then pay yourself. People want this for backups too.

I don't think you need to remove the key from the sender's wallet, it will still notice when it's spent. OTOH might be a good idea to remove it, otherwise you might accidentally spend it before the recipient inputs it.


Title: Re: Send bitcoins to an unknown recipient
Post by: LZ on February 14, 2011, 12:17:22 PM
As far as I understood it is just extension to the keypair export idea. Right?


Title: Re: Send bitcoins to an unknown recipient
Post by: Mike Hearn on February 14, 2011, 12:49:47 PM
Why not do a fully blown Facebook integration? Just have a site that lets you pick any of your friends from Facebook, it generates an address for you that you send coins to. Later when that person has downloaded and installed the client, they sign in to the same site and are able to provide an address of their own to receive the coins. That seems a bit simpler than adding import/export features and it'd be very easy to code up using the Facebook API/AppEngine.

This wouldn't help for people who aren't on Facebook of course, but for those who are it's probably an easier and more intuitive experience.


Title: Re: Send bitcoins to an unknown recipient
Post by: joe on March 06, 2011, 12:29:48 AM
Why not do a fully blown Facebook integration? Just have a site that lets you pick any of your friends from Facebook, it generates an address for you that you send coins to. Later when that person has downloaded and installed the client, they sign in to the same site and are able to provide an address of their own to receive the coins. That seems a bit simpler than adding import/export features and it'd be very easy to code up using the Facebook API/AppEngine.

This wouldn't help for people who aren't on Facebook of course, but for those who are it's probably an easier and more intuitive experience.

Because it would be harder.

With the private key idea the invitation message would be:

Hey friend! Here is 5 bitcoins: SDF8SFGD56F76DGS987FDGSDF9S76DFSFD7SD0F97FD097SFDGREY65T3TYU6CXB5N623VB

Download the bitcoin client at bitcoin.org to redeem your coins


With your proposed idea the message would be:

Hey friend! Try bitcoin! I've sent you 5 bitcoins on bitcoinfacebook.com. Download bitcoin at bitcoin.org, then go to bitcoinfacebook.com and enter this invitation code: 34JHG25KJ54H


Aka more steps for the person that is just starting with bitcoin.


Title: Re: Send bitcoins to an unknown recipient
Post by: Neereus on March 06, 2011, 02:54:05 AM
What if someone else (Eve) were to intercept the public/private keys. Email isn't the most secure method of communication. What if Bob decides not to accept, is there a way to get you bitcoins back? Redeeming your own key pair?


Title: Re: Send bitcoins to an unknown recipient
Post by: bitcool on March 06, 2011, 03:52:35 AM
I think this is a great idea Joe. There have been many, many, many requests for this functionality. The recent addition of the rescan feature will help. When you import the key, do a rescan to pick up the transaction that funds it. Then pay yourself. People want this for backups too.

I don't think you need to remove the key from the sender's wallet, it will still notice when it's spent. OTOH might be a good idea to remove it, otherwise you might accidentally spend it before the recipient inputs it.
Sender should remove the key for trade commitment and honesty reason, the receiver should also remove the key -- after paying it to himself. After all, a private key coming from another person can only be used for that particular transaction, should not be kept in the key ring (potential double spending/reeving problem).


Title: Re: Send bitcoins to an unknown recipient
Post by: da2ce7 on March 07, 2011, 09:31:49 AM
I don't think you need to remove the key from the sender's wallet, it will still notice when it's spent. OTOH might be a good idea to remove it, otherwise you might accidentally spend it before the recipient inputs it.

No deleting of private keys, that is BAD!

Don't remove it, just create a 'revoked' flag for the wallet, so it knows that address is compromised.  ;D


Title: Re: Send bitcoins to an unknown recipient
Post by: da2ce7 on March 07, 2011, 09:34:24 AM
Are you saying that both the Public and Private keys will be sent in an email?  ???

No problem, just use a pgp encrypted email.  ;D