Bitcoin Forum
November 12, 2024, 02:12:59 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: How to use fiat currencies for Bitcoin offline transactions?  (Read 1122 times)
btcusr (OP)
Sr. Member
****
Offline Offline

Activity: 405
Merit: 255


@_vjy


View Profile
September 27, 2013, 01:29:39 AM
 #1

Idea is to use fiat currencies for digital currency transactions. Fiat currencies are well distributed, difficult to counterfeit and they all have unique numbers. We also have various digital currencies, and these are not well adopted as fiat currencies. Can digital currencies use fiat currencies for a ride?

Say, someone transfers 10 BTC to a $10 bill with a specific number '12345ZXCVB' (script?), then he can use that particular $10 bill (worth $10 + 10 BTC) for offline bitcoin transactions, right? This $10 bill will work like a cassaious coin.

I think, it should be possible, but am I missing anything in the puzzle?

adamstgBit
Legendary
*
Offline Offline

Activity: 1904
Merit: 1037


Trusted Bitcoiner


View Profile WWW
September 27, 2013, 01:59:42 AM
 #2

Idea is to use fiat currencies for digital currency transactions. Fiat currencies are well distributed, difficult to counterfeit and they all have unique numbers. We also have various digital currencies, and these are not well adopted as fiat currencies. Can digital currencies use fiat currencies for a ride?

Say, someone transfers 10 BTC to a $10 bill with a specific number '12345ZXCVB' (script?), then he can use that particular $10 bill (worth $10 + 10 BTC) for offline bitcoin transactions, right? This $10 bill will work like a cassaious coin.

I think, it should be possible, but am I missing anything in the puzzle?

you cannot use the numbers on the bills as a bitcoin address, but you could print the public / private key pair on anything, and send BTC.

I sell 1/4OZ brass coins made specifically for the purpose of easy offline TX https://bitcointalk.org/index.php?topic=297054.0

when ever i pay a friend in BTC i give it to in this physical format, it makes things easy, and they love the coins.

btcusr (OP)
Sr. Member
****
Offline Offline

Activity: 405
Merit: 255


@_vjy


View Profile
September 27, 2013, 02:08:51 AM
 #3

I'm not saying that we should use that number *as* Bitcoin address, but we can use that number *for* a Bitcoin address, like,  **using that number as a passphrase, generate key pair, and use this as one of two keys**.

One more thing, don't panic. This trick won't make mining obsolete. We would still need mining to secure the blockchain.

adamstgBit
Legendary
*
Offline Offline

Activity: 1904
Merit: 1037


Trusted Bitcoiner


View Profile WWW
September 27, 2013, 02:53:25 AM
 #4

I'm not saying that we should use that number *as* Bitcoin address, but we can use that number *for* a Bitcoin address, like,  **using that number as a passphrase, generate key pair, and use this as one of two keys**.

One more thing, don't panic. This trick won't make mining obsolete. We would still need mining to secure the blockchain.

i guess you can do this today

go to bitaddress.org click  Brain Wallet type in the number on the bill, and it will generate the corresponding key pair for that passphrase





TheButterZone
Legendary
*
Offline Offline

Activity: 3066
Merit: 1032


RIP Mommy


View Profile WWW
September 27, 2013, 05:31:59 AM
 #5

If you can secure it against theft and disasters...

I'd look at it more as, hey, I bought $1/2/5/10/20/50/100 worth of BTC. I put it on the brainwallet keypair for this $1/2/5/10/20/50/100 bill's serial number. Let me see how much my investment is worth today...

Saying that you don't trust someone because of their behavior is completely valid.
Mogumodz
Sr. Member
****
Offline Offline

Activity: 290
Merit: 250



View Profile
September 27, 2013, 07:37:40 AM
 #6

Using the serial on a note as a passphrase on bitaddress.org for a brain wallet will work as previously mentioned.

I had to double it up for example a £20 note from a Google Image search is DE41478947 which becomes DE41478947DE41478947 as 10 characters was not enough and produced this warning.



I'm no expert on cracking passwords so if someone can expand on the possibilities of cracking the serials hash that would be great.

Bitcoin OTC rating GPG ID: 3E7974A1 P2Pool statistics: p2pool.info
Garr255
Legendary
*
Offline Offline

Activity: 938
Merit: 1000


What's a GPU?


View Profile
September 27, 2013, 07:47:53 AM
 #7

Simply take the sha256 hash of the ID and boom, there's your private key Smiley

That's a fantastic idea and I'm going to use it now Cheesy

“First they ignore you, then they laugh at you, then they fight you, then you win.”  -- Mahatma Gandhi

Average time between signing on to bitcointalk: Two weeks. Please don't expect responses any faster than that!
btcusr (OP)
Sr. Member
****
Offline Offline

Activity: 405
Merit: 255


@_vjy


View Profile
September 27, 2013, 08:21:31 AM
 #8

Simply take the sha256 hash of the ID and boom, there's your private key Smiley

That's a fantastic idea and I'm going to use it now Cheesy

I hope you are not serious. Smiley

I'll explain further..

phillipsjk
Legendary
*
Offline Offline

Activity: 1008
Merit: 1001

Let the chips fall where they may.


View Profile WWW
September 28, 2013, 06:43:59 AM
Last edit: September 28, 2013, 05:52:31 PM by phillipsjk
 #9

Off-topic, but: people just don't understand how stupidly fast computers are these days.

A CPU can check about 40khashes per second.

In the original XKCD comic, "Correct Horse Battery Staple" is estimated to have 44 bits of entropy. It is estimated that 40 thousand guesses per second will take about 14 years to crack the pass phrase.

A GPU can do about 300Mhashes/second. At that rate, a passphrase with 44 bits of entropy (244 trials) will fall in about 16 hours, 20 minutes.

Storing the result (32 bytes per hash) would take 563 TB.

Rainbow tables reduce the storage requirements with a time/memory trade-off.

Edit: The comic says the average user should not worry about the password hash being stolen. In the case of Bitcoin, it is actually PUBLIC (by design), so that advice does not apply.
I also capitalized all 4 words that is 1 extra bit of entropy. 4 extra bits if you randomly capitalize (which would be hard to remember (but easy to brute force if you know the 4 words))

Edit: There is also a step where you convert the 256bit hash to a Bitcoin address. That will take extra time/CPU.

James' OpenPGP public key fingerprint: EB14 9E5B F80C 1F2D 3EBE  0A2F B3DE 81FF 7B9D 5160
btcusr (OP)
Sr. Member
****
Offline Offline

Activity: 405
Merit: 255


@_vjy


View Profile
September 28, 2013, 08:06:56 AM
 #10

@phillipsjk, may be it's difficult to store all fiat currency numbers / hash, but that's quite possible. That's not my post was about.

phillipsjk
Legendary
*
Offline Offline

Activity: 1008
Merit: 1001

Let the chips fall where they may.


View Profile WWW
September 28, 2013, 05:37:41 PM
Last edit: September 28, 2013, 05:53:23 PM by phillipsjk
 #11

@phillipsjk, may be it's difficult to store all fiat currency numbers / hash, but that's quite possible. That's not my post was about.

I was responding to all the people going on about brain-wallets. It is almost enough to make me want to go ahead and see who is using four common words to store BTC Tongue

As for your proposal, it will be impractical for two reasons:
  • The exchange rate floats. Why would you want to print BTC on a dirty scrap of FIAT? It may even be illegal in some jurisdictions if it is considered defacing.
  • The Casascius Coins store the private key under a hologram. FIAT notes have no similar functionality.

Edit: The serial number posted earlier is the country code (7 bits) plus the serial number (rounding up to 100,000,000, that is about 27 bits). Storage requirements (234x32 bytes): 550GB

James' OpenPGP public key fingerprint: EB14 9E5B F80C 1F2D 3EBE  0A2F B3DE 81FF 7B9D 5160
btcusr (OP)
Sr. Member
****
Offline Offline

Activity: 405
Merit: 255


@_vjy


View Profile
September 29, 2013, 11:22:37 AM
 #12


I have described the solution in the best possible way that I could.

Please go through this solution and comment on feasibility.

There are various bitcoin transactions; like, pay-to-pubkey-hash, pay-to-pubkey,
 or transaction that requires solving given puzzle, etc. This new transaction,
'pay-to-fiat-currency' can be made as follows,

Code:
1. Generate a new key pair, (key1, addr1)

2. Generate another new key pair with the serial
    number from 'fiat note', (key2, addr2)

3. Create 2-of-2 key, (key3, addr3); so, to spend,
    one needs both 'key1' and 'key2'

4. As anyone can get 'key2' from a look up table,
    'key1' secures bitcoins

5. Owner of 'key1' also owns the hard-copy of fiat
    currency, with the serial number that gives 'key2'

6. During the spend, there are 3 different cases,

  a. Use different fiat note;
        pay to, [new key pair (key4, addr4) +  
           new fiat currency serial number (key5, addr5)]

  b. Use same fiat note;
        pay to, [new key pair (key4, addr4) +  
           same fiat currency serial number (key2, addr2)]

  c. Get rid of fiat note;
        pay to, [new key pair (key4, addr4)]

what's missing / unknown ?

Code:
1. How to know one of multi-sig address is 
    a 'fiat-currency-serial-number-hash'? would it need
    a new script key word?

2. Is it possible to specify into the transaction,
    that spending requires both keys and a hard-copy
    of fiat note? or, only hard copy is enough to spend?

btcusr (OP)
Sr. Member
****
Offline Offline

Activity: 405
Merit: 255


@_vjy


View Profile
October 01, 2013, 05:14:16 AM
 #13

Discussion ends here.. Thread was moved to,

https://bitcointalk.org/index.php?topic=305590

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!