Bitcoin Forum

Economy => Trading Discussion => Topic started by: Come-from-Beyond on March 12, 2013, 08:52:57 PM



Title: 2-step payments
Post by: Come-from-Beyond on March 12, 2013, 08:52:57 PM
Is it possible to use Bitcoin to make 2-step payments in the following manner:

1. Alice sends "locked" transaction.
2. Bob sees the transaction and ships a purchased item.
3. Alice receives the item and "unlocks" the transaction.

Locked transaction means that Alice nor Bob can use the coins. Alice can't rollback the transaction even if Bob doesn't ship the item. This is necessary to avoid situations when Alice pays and can only pray that Bob won't scam her. If the coins are "locked" then the payment still can't be reverted, so Bitcoin doesn't lose its "payment are unrevertable" feature.


Title: Re: 2-step payments
Post by: candoo on March 12, 2013, 08:56:58 PM
Well ALice  looses the coins on boths way.

If she gets scammed -> the coins are stolen by bob

If she gets scammed -> her coins are locked forever


so how can alice profit from that?


Title: Re: 2-step payments
Post by: Come-from-Beyond on March 12, 2013, 08:59:26 PM
Well ALice  looses the coins on boths way.

If she gets scammed -> the coins are stolen by bob

If she gets scammed -> her coins are locked forever


so how can alice profit from that?

She will be sure that Bob won't be tempted to scam her, coz he won't get the coins.


Title: Re: 2-step payments
Post by: Piper67 on March 12, 2013, 08:59:32 PM
do a search for "escrow"


Title: Re: 2-step payments
Post by: Come-from-Beyond on March 12, 2013, 09:01:38 PM
do a search for "escrow"

I know about escrow. I'd like to know if it's possible to do something similar without 3rd party.


Title: Re: 2-step payments
Post by: candoo on March 12, 2013, 09:02:31 PM
Well ALice  looses the coins on boths way.

If she gets scammed -> the coins are stolen by bob

If she gets scammed -> her coins are locked forever


so how can alice profit from that?

She will be sure that Bob won't be tempted to scam her, coz he won't get the coins.

Why not? Bob could be a funny guy who loves to laugh. He starts to laugh endless if he knows that "Alice" lost 200 coins right now


Title: Re: 2-step payments
Post by: Come-from-Beyond on March 12, 2013, 09:09:18 PM
Well ALice  looses the coins on boths way.

If she gets scammed -> the coins are stolen by bob

If she gets scammed -> her coins are locked forever


so how can alice profit from that?

She will be sure that Bob won't be tempted to scam her, coz he won't get the coins.

Why not? Bob could be a funny guy who loves to laugh. He starts to laugh endless if he knows that "Alice" lost 200 coins right now

I think it's obvious that 2-step payments can reduce number of scams. Let's move back to the topic.


Title: Re: 2-step payments
Post by: candoo on March 12, 2013, 09:14:30 PM
What if Alice receives the Item  but does not unlock the Coins?
She lost the coins but,
She would have scammed  Bob.


Title: Re: 2-step payments
Post by: Come-from-Beyond on March 12, 2013, 09:18:32 PM
What if Alice receives the Item  but does not unlock the Coins?
She lost the coins but,
She would have scammed  Bob.

It's much easier to find and punish Alice who got the item (a physical object delivered to the Alice's door) than Bob who got some magical numbers.


Title: Re: 2-step payments
Post by: Elwar on March 12, 2013, 09:23:07 PM
Casascius wrote a program that allows for another option.

Alice and Bob set up the application, put in their public/private keys. They both receive a code. The code is sent to Ed who holds the codes until the product is received. Ed can get nothing out of the codes.

Once the product is shipped, Alice confirms and Ed sends the codes to Bob where Bob can now use the codes to unlock the Bitcoin.

If the product does not ship, Ed can give the codes to Alice and she can unlock the Bitcoin.

There is a thread about this somewhere around here.


Title: Re: 2-step payments
Post by: alir on March 12, 2013, 09:26:53 PM
Third parties are important for widespread bitcoin adaptation. They'll provide the additional services bitcoin wasn't meant to replace.


Title: Re: 2-step payments
Post by: Come-from-Beyond on March 12, 2013, 09:31:21 PM
Casascius wrote a program that allows for another option.

Alice and Bob set up the application, put in their public/private keys. They both receive a code. The code is sent to Ed who holds the codes until the product is received. Ed can get nothing out of the codes.

Once the product is shipped, Alice confirms and Ed sends the codes to Bob where Bob can now use the codes to unlock the Bitcoin.

If the product does not ship, Ed can give the codes to Alice and she can unlock the Bitcoin.

There is a thread about this somewhere around here.

Thank you. That might work.


Title: Re: 2-step payments
Post by: TTBit on March 12, 2013, 09:31:40 PM
Alice private key * Bob's public Key = Transaction Public key -> Transaction Address
Bob private key * Alice public Key = Transaction Public key -> Transaction Address

Both verify that the Transaction Address is the same. Bob sends coins to Transaction address. Coins are now in an address that no one knows the private key.

When Bob gets the item, he releases his private key.

Alice Private key * Bob private key  = Private key to transaction address. Only Alice has the ability to decode.

I think Bob has an incentive to give away the private key in this instance. He has already paid for the item, and his reputation is at stake.


Title: Re: 2-step payments
Post by: kwukduck on March 13, 2013, 12:44:21 AM
I think this is possible with multisig, or was this whole thing dropped a long time ago?


Title: Re: 2-step payments
Post by: franky1 on March 13, 2013, 03:46:05 AM
slightly off subject, but anyways

wouldnt it be great if people took escrow to another level....

people deposit coins while taking a morning shower

the coins get confirmed by the time you walk to your nearest starbucks.

starbucks shows their QR code and now starbucks knows they are receiving 100% confirmed funds.

the end. now walk away with your coffee. no 10 minute waits

the behind the scenes

think of the escrows database/service like mtgox. depositing coins into mtgox and using a mtgox code to move your bitcoins to another member(by changing the database ownership/balance of coins). so starbucks can instantly withdraw proper confirmed coins to wherever they want or trade them instantly for dollar.

the service doesnt even have to use codes to send. just have sttarbucks have a QR code generator that has somethin likethis encoded:

MRC:STARBUCKS-TXID12345-0.005BTC

and the customers web app on their phone sees they need to pay starbucks 0.005BTC and they just press pay

i think magicaltux or bitpay should make a bigger thing out of its API so that places like starbucks can accept bitcoin without the waiting around/double spend threats.

my brain fart is now over.


Title: Re: 2-step payments
Post by: oakpacific on March 19, 2013, 09:06:54 AM
I think we should definitely look into this, if we can eliminate the need for an escrow service, bitcoin will become an even more cost-saving solution for merchants.


Title: Re: 2-step payments
Post by: 🏰 TradeFortress 🏰 on March 19, 2013, 09:09:21 AM
slightly off subject, but anyways

wouldnt it be great if people took escrow to another level....

people deposit coins while taking a morning shower

the coins get confirmed by the time you walk to your nearest starbucks.

starbucks shows their QR code and now starbucks knows they are receiving 100% confirmed funds.

the end. now walk away with your coffee. no 10 minute waits

the behind the scenes

think of the escrows database/service like mtgox. depositing coins into mtgox and using a mtgox code to move your bitcoins to another member(by changing the database ownership/balance of coins). so starbucks can instantly withdraw proper confirmed coins to wherever they want or trade them instantly for dollar.

the service doesnt even have to use codes to send. just have sttarbucks have a QR code generator that has somethin likethis encoded:

MRC:STARBUCKS-TXID12345-0.005BTC

and the customers web app on their phone sees they need to pay starbucks 0.005BTC and they just press pay

i think magicaltux or bitpay should make a bigger thing out of its API so that places like starbucks can accept bitcoin without the waiting around/double spend threats.

my brain fart is now over.
Coinbase already does this with your account balance!


Title: Re: 2-step payments
Post by: Meni Rosenfeld on March 19, 2013, 09:18:03 AM
2-of-2 multisig does exactly what's described in the OP. Alice sends to an address that requires signatures from both Alice and Bob. Alice can't take the coins back; Bob can't get the coins without Alice's approval, which she will only give after receiving the product.

This has some weaknesses, for example one party can blackmail the other. There's been discussions on possible improvements, e.g. https://bitcointalk.org/index.php?topic=33615.0.