Author

Topic: How to use fiat currencies for Bitcoin offline transactions? (Read 1133 times)

sr. member
Activity: 405
Merit: 255
@_vjy
sr. member
Activity: 405
Merit: 255
@_vjy

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?
legendary
Activity: 1008
Merit: 1001
Let the chips fall where they may.
@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
sr. member
Activity: 405
Merit: 255
@_vjy
@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.
legendary
Activity: 1008
Merit: 1001
Let the chips fall where they may.
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.
sr. member
Activity: 405
Merit: 255
@_vjy
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..
legendary
Activity: 938
Merit: 1000
What's a GPU?
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
sr. member
Activity: 290
Merit: 250
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.
legendary
Activity: 3038
Merit: 1032
RIP Mommy
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...
legendary
Activity: 1904
Merit: 1038
Trusted Bitcoiner
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




sr. member
Activity: 405
Merit: 255
@_vjy
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.
legendary
Activity: 1904
Merit: 1038
Trusted Bitcoiner
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://bitcointalksearch.org/topic/2-physical-bitcoin-wallets-vires-in-numeris-1btc-2012-297054

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.
sr. member
Activity: 405
Merit: 255
@_vjy
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?
Jump to: