Bitcoin Forum
May 02, 2024, 07:44:07 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Two-factor Bitcoin (BIP38) as Escrow?  (Read 1708 times)
mannkind (OP)
Newbie
*
Offline Offline

Activity: 1
Merit: 0



View Profile
April 07, 2013, 11:10:23 PM
 #1

Last week I completed a bitcoin transaction by utilizing BIP38 (https://en.bitcoin.it/wiki/BIP_0038) as a method for two-party escrow. Maybe it's common knowledge, but I thought it was a pretty cool way to do the transaction.

The only tool that I could find that implements BIP38 is the Casascius Bitcoin Address Utility. However, the UI for two-factor bitcoins is confusing at best (e.g. It took me forever to figure out where the confirmation code was displayed). I thought a browser-based tool could be useful.

So I created http://www.bit2factor.org

I can't take all or even most of the credit; I'm standing on the shoulders of giants piecing shit together. I wrote the confirmation code generation/validation portions of bitcoin.bip38.js, but the remainder of the code comes from open-source libraries.

Anyway, just thought I'd share. Hope someone might find it useful.
There are several different types of Bitcoin clients. The most secure are full nodes like Bitcoin Core, but full nodes are more resource-heavy, and they must do a lengthy initial syncing process. As a result, lightweight clients with somewhat less security are commonly used.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714679047
Hero Member
*
Offline Offline

Posts: 1714679047

View Profile Personal Message (Offline)

Ignore
1714679047
Reply with quote  #2

1714679047
Report to moderator
1714679047
Hero Member
*
Offline Offline

Posts: 1714679047

View Profile Personal Message (Offline)

Ignore
1714679047
Reply with quote  #2

1714679047
Report to moderator
1714679047
Hero Member
*
Offline Offline

Posts: 1714679047

View Profile Personal Message (Offline)

Ignore
1714679047
Reply with quote  #2

1714679047
Report to moderator
Rodyland
Hero Member
*****
Offline Offline

Activity: 499
Merit: 500


View Profile
April 07, 2013, 11:31:30 PM
 #2


BIP38 minimizes the chance of one party getting screwed, but there are at least two "bad" scenarios:

  • Alice never ships the cookies. Bob has lost his coins (again, unless Alice gives him the passphrase) but at least Alice wont get them either.
  • Bob could not release the private key. But why? He already lost control of the coins… might as well give Alice her coins if she sent the cookies.

1. Because some people are dicks
2. see #1

I like the idea, but it doesn't quite replace escrow.  Certainly seems like a good idea for a transaction between trusted parties but with other uncertainties (eg. delivery times).  Would almost be like cash-on-delivery.


Beware the weak hands!
1NcL6Mjm4qeiYYi2rpoCtQopPrH4PyKfUC
GPG ID: E3AA41E3
HostFat
Staff
Legendary
*
Offline Offline

Activity: 4214
Merit: 1203


I support freedom of choice


View Profile WWW
April 09, 2013, 11:37:01 PM
 #3

Can you also add/develop a Three-party option with the fix described here?
https://bitcointalk.org/index.php?topic=140329.msg1503079#msg1503079

NON DO ASSISTENZA PRIVATA - http://hostfatmind.com
adraza
Member
**
Offline Offline

Activity: 113
Merit: 10


View Profile
April 21, 2013, 11:20:08 AM
Last edit: April 21, 2013, 02:29:57 PM by adraza
 #4

Good tool, good job, convenient way for the lay-men!


Still, if I may add my personal contribution:

I was trying to start some bets here https://bitcointalk.org/index.php?topic=181117.msg1901719#msg1901719

After reading your indications from the site I get the first impression that this tool is only useful for "buying smth with BTC" transactions whether that something is fiat or a product/service etc.

My guess is that the same tool can be used for betting purposes. The only difference is that instead of "Payer" and "Payee" we have "Bettor 1" and "Bettor 2". And they will both send the wage to the generated public address with 3 keys.
And instead of escrow we have a judge to determine the result of the bet. If needed.

Am I right?

My point is that your 'tool's applications can be extended to do something else. And should be.
You just need to write some explanatory comments.

https://en.bitcoin.it/wiki/User:Casascius/Escrow_scheme_draft



Necessary correction:

I would conceive a BET  as a double transaction (back to back): Bettor A buys with his betting sum/wage a from the Bettor B the product/service called: "the future possibility of winning the bet and to be payed by B".
Bettor B buys with his betting sum/wage b from the Bettor A the product/service called: "the future possibility of winning the bet and to be paid by A".
So they should use two separate addresses and two separate sets of keys. Until the end of the bet both sums of money/bets are 'locked'.
After the bet:
The loser gives his two keys to the winner (corresponding to his money address and winner's money address)
If they do not want to cooperate the escrow E steps in, judges the situation and if there is a winner he gives both keys to the winner.
If there is a draw, nobody won, he gives the corresponding key to each of them so they can take their money back.
Not swapping the keys and the money, obviously.

Donations here   BTC:   14VsPAb5HTzjPjMJBazEZYCA3ikhmmV4L9     LTC:    LV5HD3nc3reAW5bmh9z2RLptvUVZZuH4Z6
adraza
Member
**
Offline Offline

Activity: 113
Merit: 10


View Profile
April 21, 2013, 11:21:42 AM
 #5

As a side-effect of that I think betsofbitcoin becomes a bit obsolete.
 Cool

Donations here   BTC:   14VsPAb5HTzjPjMJBazEZYCA3ikhmmV4L9     LTC:    LV5HD3nc3reAW5bmh9z2RLptvUVZZuH4Z6
Rodyland
Hero Member
*****
Offline Offline

Activity: 499
Merit: 500


View Profile
April 21, 2013, 11:26:26 AM
 #6

Very cool.

Beware the weak hands!
1NcL6Mjm4qeiYYi2rpoCtQopPrH4PyKfUC
GPG ID: E3AA41E3
adraza
Member
**
Offline Offline

Activity: 113
Merit: 10


View Profile
April 21, 2013, 11:31:21 AM
 #7

If anyone thinks my idea is worth something I am accepting donations. Don't be shy!

Donations here   BTC:   14VsPAb5HTzjPjMJBazEZYCA3ikhmmV4L9     LTC:    LV5HD3nc3reAW5bmh9z2RLptvUVZZuH4Z6
bzh
Newbie
*
Offline Offline

Activity: 34
Merit: 0


View Profile
April 21, 2013, 11:33:03 AM
 #8

Can you also add/develop a Three-party option with the fix described here?
https://bitcointalk.org/index.php?topic=140329.msg1503079#msg1503079

Fiiiiinnnnneeee.…  Smiley

http://www.bitescrow.org/

Very cool man! Thanks for your work.
adraza
Member
**
Offline Offline

Activity: 113
Merit: 10


View Profile
April 21, 2013, 11:36:32 AM
 #9

I may even start my own escrow business.

Although I have not checked your site code (and I do not have the competence to properly do it).

But apparently is working offline so should be quite safe.

Am I wrong?

Donations here   BTC:   14VsPAb5HTzjPjMJBazEZYCA3ikhmmV4L9     LTC:    LV5HD3nc3reAW5bmh9z2RLptvUVZZuH4Z6
Rodyland
Hero Member
*****
Offline Offline

Activity: 499
Merit: 500


View Profile
April 21, 2013, 12:04:32 PM
 #10

Let me just write this out, so I can get it straight in my head.

We have three people, Bob (the beneficiary), Alice (the customer) and Eddie (the escrow).

Eddie the escrow generates an escrow transaction and sends an invite to Alice and Bob.

Bob generates a payment invitation using his invite, and also a bitcoin payment address.  He sends the invite and address to Alice.

Alice puts in her escrow invite and her payment invite, which allows her to validate the invites and the payment address.

Then Alice makes payment to the address (easily verifiable from the blockchain).

For 'someone' to collect the bitcoins, they need both escrow invites and the payment invitation, which will generate the private key that 'owns' the address the payment was made to.

Eddie knows the two escrow invites.
Bob knows his escrow invite and the payment invite.
Alice knows her escrow invite and the payment invite.

So any two of the three can release the funds.  And for either Alice or Bob to let Eddie take the funds (which should never happen), they need to actively send him extra information.

Can I just say again - this is incredibly cool!

Beware the weak hands!
1NcL6Mjm4qeiYYi2rpoCtQopPrH4PyKfUC
GPG ID: E3AA41E3
adraza
Member
**
Offline Offline

Activity: 113
Merit: 10


View Profile
April 21, 2013, 04:52:10 PM
 #11

they moved the topic to trading

https://bitcointalk.org/index.php?topic=182205.msg1903570#msg1903570

Donations here   BTC:   14VsPAb5HTzjPjMJBazEZYCA3ikhmmV4L9     LTC:    LV5HD3nc3reAW5bmh9z2RLptvUVZZuH4Z6
BeeCoin
Sr. Member
****
Offline Offline

Activity: 308
Merit: 250


View Profile
May 18, 2013, 08:03:02 AM
 #12

Hi Mannkind

this is really great!! Smiley I've also tested it works offline, too.

I usually trade with people I know. But I would definitely love to try it with a real transaction whenever it's suitable.

thanks
BeeCoin.
BitNow
Legendary
*
Offline Offline

Activity: 1260
Merit: 1003



View Profile WWW
January 31, 2016, 12:04:38 AM
 #13

I've also tested successfully this escrow system.

It has been included in my website as well
Link: www.bitnow.co/escrow


Best regards.


             ▐█████▄
            ▐█████████        ▄▄▄
            ▐████  ▐█████   ▀▀▀  █▌
            ▐███  ▐███████      ▐█▌
            ▐██▌   ▀█████▀     ▐█▀
       ▂▄▄▐██▌     ▀▀▀      ▐█▌
    ▐██████████████▄▄▄▄▄     ▄█▌
  ▐███       ▐███▀▀█████▄▄▄ ▐██
   ▐█▌        ▐███    ▀▀▀███████▄▄▄
    ▀▀▀        ▐███        ▐██▀█████▄▄
                ▐███      ▐██▌    ▀▀███▄▄
                 ▐███    ▐██▌  ▄▄▄▄▄  ███▄
         ▄████▄   ▐██▌  ▐███  ▐███████████
       ▐████████▌  ▐██▌▐██▌   ▐████████▀▀
        ▀██████▀    ▐████▀     ▀████▀
         ▐███▀     ▄█▐███
        ▐███▀   ▄████▌▀███
        ▐██████████▀    ▐█▌    █
         ▀████▀▀         ▐█▌  ██
                           ▀▀▀▀





























▶  TELEGRAM
▶  BITCOINTALK
kingaltcoins
Hero Member
*****
Offline Offline

Activity: 784
Merit: 502


View Profile
January 31, 2016, 08:39:20 AM
 #14

I think multi-signature wallets are more secure than 2FA. You can use 2FA on Coinbase and they have a secure multi-party vault system.
Otherwise if you do not trust 3rd party wallets then install Electrum and generate multi-signature address for secure escrowing.
Supercrypt
Legendary
*
Offline Offline

Activity: 1554
Merit: 1054



View Profile
January 31, 2016, 02:28:50 PM
 #15

I think multi-signature wallets are more secure than 2FA. You can use 2FA on Coinbase and they have a secure multi-party vault system.
Otherwise if you do not trust 3rd party wallets then install Electrum and generate multi-signature address for secure escrowing.

This thread is 3 years old and I don't get why a user is posting his review now. 2FA is just a time wastage as I've used blockchain and Xapo wallets that use it and it takes such a long time to get those codes. It's better to use 3 factor multi-sig wallets as escrow so that both the parties are safe if the escrow is an alt of the seller.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!