Bitcoin Forum
November 09, 2024, 07:10:11 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 [2] 3 »  All
  Print  
Author Topic: PaperCoins  (Read 4110 times)
bitfreak!
Legendary
*
Offline Offline

Activity: 1536
Merit: 1000


electronic [r]evolution


View Profile WWW
January 30, 2012, 12:12:57 PM
 #21

I've thought a lot about this. Home made bills with a QR code is obviously the best way to do it, the holograms are just over the top and completely unnecessary imo. They're only good as a collectable item and exchange between friends, not for real world trade.

I remember a thread not long ago where some one had submitted some nice paper bill designs, can't be bothered looking for it though. It would be very easy to print your own bitcoin bills, so I think this is the best way to do it.

XCN: CYsvPpb2YuyAib5ay9GJXU8j3nwohbttTz | BTC: 18MWPVJA9mFLPFT3zht5twuNQmZBDzHoWF
Cryptonite - 1st mini-blockchain altcoin | BitShop - digital shop script
Web Developer - PHP, SQL, JS, AJAX, JSON, XML, RSS, HTML, CSS
cbeast
Donator
Legendary
*
Offline Offline

Activity: 1736
Merit: 1014

Let's talk governance, lipstick, and pigs.


View Profile
January 30, 2012, 01:26:30 PM
 #22

I've thought a lot about this. Home made bills with a QR code is obviously the best way to do it, the holograms are just over the top and completely unnecessary imo. They're only good as a collectable item and exchange between friends, not for real world trade.

I remember a thread not long ago where some one had submitted some nice paper bill designs, can't be bothered looking for it though. It would be very easy to print your own bitcoin bills, so I think this is the best way to do it.
It would be a good idea to have a way to secure the priv key or a secure container for the paper coins themselves. Prying eyes could get them in advance. It's feasible to make a physical wallet booklet that takes a common sheet of paper and folds/perfs it into it into checks quickly.

Any significantly advanced cryptocurrency is indistinguishable from Ponzi Tulips.
ovidiusoft (OP)
Sr. Member
****
Offline Offline

Activity: 252
Merit: 250


View Profile
January 30, 2012, 01:35:22 PM
 #23

It would be a good idea to have a way to secure the priv key or a secure container for the paper coins themselves. Prying eyes could get them in advance. It's feasible to make a physical wallet booklet that takes a common sheet of paper and folds/perfs it into it into checks quickly.

Indeed. It should be fairly easy to change my design so that you fold the QR code, leaving only the amount visible.
jtimon
Legendary
*
Offline Offline

Activity: 1372
Merit: 1002


View Profile WWW
January 30, 2012, 02:00:21 PM
 #24

I've thought a lot about this. Home made bills with a QR code is obviously the best way to do it, the holograms are just over the top and completely unnecessary imo. They're only good as a collectable item and exchange between friends, not for real world trade.

I remember a thread not long ago where some one had submitted some nice paper bill designs, can't be bothered looking for it though. It would be very easy to print your own bitcoin bills, so I think this is the best way to do it.

The purpose of bitbills is to be transferable, thus they must hide the private key in a way.
But I like more the idea of printing your own bills only for one use.

2 different forms of free-money: Freicoin (free of basic interest because it's perishable), Mutual credit (no interest because it's abundant)
Red Emerald
Hero Member
*****
Offline Offline

Activity: 742
Merit: 500



View Profile WWW
January 30, 2012, 05:32:39 PM
 #25

I just started saving some of my BTC on a sheet printed out from bitaddress.org.

I was originally planning on just filling all of the addresses with the same amount, but I like the idea of having varying amounts instead.

I don't know if I would use them for trade. I think using them as storage would be more useful to me.

cbeast
Donator
Legendary
*
Offline Offline

Activity: 1736
Merit: 1014

Let's talk governance, lipstick, and pigs.


View Profile
January 30, 2012, 06:17:17 PM
 #26

Casascius has a POS system https://en.bitcoin.it/wiki/Casascius_Bitcoin_POS_system that should be compatible with paper coins/bills/wallets.  If it has a sweep function then it should be functional for any coffee shop, convenience store, or walmart system. Everything is coming together on all fronts. We should be approaching critical mass soon. Let's just hope it doesn't blow up in our face.

Any significantly advanced cryptocurrency is indistinguishable from Ponzi Tulips.
jago25_98
Hero Member
*****
Offline Offline

Activity: 900
Merit: 1000


Crypto Geek


View Profile WWW
January 30, 2012, 06:49:35 PM
 #27

I use https://www.bitaddress.org to print me some bills. Then i cut them and fund with whatever small amounts i need. I write the value they carry by hand after funding with an android phone. The page script is clients side so the priv keys are in your possession at all times so you can even save the page as html and it will work. I'm not affiliated in any way just using the service.

I'd love to see this automated in the official frontend client - select amount, hit print.

I don't like the temptation of reusing bills. Reusing instead of tearing up and making a new one really defeats much of the point of Bitcoin doesn't it. Same for holograms really; I prefer those for promotion.

Bitcoiner since the early days. Crypto YouTube Channel: Trading Nomads | Analyst | News Reporter | Bitcoin Hodler | Support Freedom of Speech!
Red Emerald
Hero Member
*****
Offline Offline

Activity: 742
Merit: 500



View Profile WWW
January 30, 2012, 08:02:08 PM
Last edit: January 30, 2012, 10:27:01 PM by Red Emerald
 #28

I use https://www.bitaddress.org to print me some bills. Then i cut them and fund with whatever small amounts i need. I write the value they carry by hand after funding with an android phone. The page script is clients side so the priv keys are in your possession at all times so you can even save the page as html and it will work. I'm not affiliated in any way just using the service.

I'd love to see this automated in the official frontend client - select amount, hit print.

I don't like the temptation of reusing bills. Reusing instead of tearing up and making a new one really defeats much of the point of Bitcoin doesn't it. Same for holograms really; I prefer those for promotion.

Temptation to reuse? Meh. Just tear them up, it's not like they are hard to make. I don't understand your objection to holograms. They make it so you can't reuse the physical tokens (which is what you just said you didn't like).  I don't understand how you can be against both of those options.

interlagos
Hero Member
*****
Offline Offline

Activity: 496
Merit: 500


View Profile
January 30, 2012, 08:21:21 PM
 #29

PaperCoins in bitcoin client?
Awesome idea! Hope it gets the attention it deserves!
casascius
Mike Caldwell
VIP
Legendary
*
Offline Offline

Activity: 1386
Merit: 1140


The Casascius 1oz 10BTC Silver Round (w/ Gold B)


View Profile WWW
January 30, 2012, 11:15:11 PM
 #30

Someone could easily implement instant papercoins without an app.

Imagine this: I set up a website for mobile phones called "btcwhatever.us" which requires no registration - it is a semi-stateless web application that allows transfer of bitcoins.  The only registration you would ever do is surf there with your mobile phone and register a receiving bitcoin address for yourself so that you can capture bitcoins from other people's bitcoin bills without wasting time telling it where to send the BTC.  That registration will simply create a cookie on the mobile phone - it doesn't even need to be stored server-side.

Anyway, someone prints and funds Bitcoin bills.  On the Bitcoin bill is a QR code with a full URL as follows:

https://btcwhatever.us/privkey/PRIVATEKEYGOESHERE

If this QR code is scanned by any smartphone, it will instantly pop up a web browser and go to that URL.  No application is needed other than a generic QR code reader.  This is just a plain URL, the phone need merely be able to surf the web.

At the URL, the server uses the private key to query the block chain, and simply says, for example, "OK there's 20.00 BTC here."

Question #1 will be: do you want to sweep some of these BTC or all of them?  If "some" is chosen, change will be left on the bill.

Question #2 will be: do you want to send those BTC to the address registered in your cookie, or somewhere else?

Regardless of what you do, that private key is kept in temporary session memory.  You can scan more private key URLs, and the website shall tally them up.  And if you scan a bitcoin address URL (e.g. https://btcwhatever.us/address/ADDRESSGOESHERE) then the website will offer that as a destination for the payment (and/or the change, as the case may be...)

Anyway, once your full transaction is constructed, Click Submit, and the resulting bitcoin transaction is instantly broadcast to the network.

The screen that appears after you click "Submit" refreshes every 30 seconds and shows confirmation status of the payment.  One can stare at their mobile phone and wait for a full blockchain confirmation if necessary, or otherwise, at the very least, they can assure themselves after waiting 30-60 seconds that the network hasn't seen a conflicting double spend.





Companies claiming they got hacked and lost your coins sounds like fraud so perfect it could be called fashionable.  I never believe them.  If I ever experience the misfortune of a real intrusion, I declare I have been honest about the way I have managed the keys in Casascius Coins.  I maintain no ability to recover or reproduce the keys, not even under limitless duress or total intrusion.  Remember that trusting strangers with your coins without any recourse is, as a matter of principle, not a best practice.  Don't keep coins online. Use paper or hardware wallets instead.
ovidiusoft (OP)
Sr. Member
****
Offline Offline

Activity: 252
Merit: 250


View Profile
January 30, 2012, 11:25:23 PM
 #31

I don't think the payer should try to force a service onto the seller. Just providing the private key should be enough. The seller's POS can then do whatever he wants with that private key: sweep it directly, send it to a online service like you described, etc... My opinion is that we should not use a URL on the QR code.
casascius
Mike Caldwell
VIP
Legendary
*
Offline Offline

Activity: 1386
Merit: 1140


The Casascius 1oz 10BTC Silver Round (w/ Gold B)


View Profile WWW
January 31, 2012, 12:30:37 AM
 #32

I don't think the payer should try to force a service onto the seller. Just providing the private key should be enough. The seller's POS can then do whatever he wants with that private key: sweep it directly, send it to a online service like you described, etc... My opinion is that we should not use a URL on the QR code.

If the user has an app to scan this, such an app would disregard the URL portion anyway, so I don't think including it is a big deal.  Providing the private key alone would be perfect in a world where everyone already had a suitable app on their phone ready to read this, an app which of course would exist for every phone on the market, including those whose app store owner forbids bitcoin apps on non-jailbroken phones.

The actual world is not perfect, and such a user would be only "using" the service long enough to initiate a transaction and collect their bitcoins, giving no personal information in the process.  There is a big difference between being a "user" of a service versus a casual unregistered visitor - someone scanning a code would be no more a forced user of said service than me becoming a forced "user" of pastebin when I view something published there.

Companies claiming they got hacked and lost your coins sounds like fraud so perfect it could be called fashionable.  I never believe them.  If I ever experience the misfortune of a real intrusion, I declare I have been honest about the way I have managed the keys in Casascius Coins.  I maintain no ability to recover or reproduce the keys, not even under limitless duress or total intrusion.  Remember that trusting strangers with your coins without any recourse is, as a matter of principle, not a best practice.  Don't keep coins online. Use paper or hardware wallets instead.
Costia
Newbie
*
Offline Offline

Activity: 28
Merit: 0



View Profile
January 31, 2012, 12:42:11 AM
 #33

Quote
a big no no
no private keys should be ever transmitted over the web. ever.never
use sigs instead

edit. didnt notice the s. SSL might be OK but its still scary
casascius
Mike Caldwell
VIP
Legendary
*
Offline Offline

Activity: 1386
Merit: 1140


The Casascius 1oz 10BTC Silver Round (w/ Gold B)


View Profile WWW
January 31, 2012, 12:45:22 AM
 #34

Quote
a big no no
no private keys should be ever transmitted over the web. ever.never
use sigs instead

That's your opinion.  I don't share it.  On a bill with a couple BTC on it that I'm exchanging for a quick purchase, I'm not going to worry about it much.  It's good advice for a large amount, so don't buy a car this way.  Yeah, sure it can get stolen once in a while, so can my wallet, that's why I don't walk around with thousands in cash.

Companies claiming they got hacked and lost your coins sounds like fraud so perfect it could be called fashionable.  I never believe them.  If I ever experience the misfortune of a real intrusion, I declare I have been honest about the way I have managed the keys in Casascius Coins.  I maintain no ability to recover or reproduce the keys, not even under limitless duress or total intrusion.  Remember that trusting strangers with your coins without any recourse is, as a matter of principle, not a best practice.  Don't keep coins online. Use paper or hardware wallets instead.
Costia
Newbie
*
Offline Offline

Activity: 28
Merit: 0



View Profile
January 31, 2012, 12:57:23 AM
 #35

i think using a sig instead might have an advantage
you can send multiple amounts to the same address
and when paying provide the sigs needed to redeem specific transactions
i am just a bit paranoid when it comes to private keys Smiley
casascius
Mike Caldwell
VIP
Legendary
*
Offline Offline

Activity: 1386
Merit: 1140


The Casascius 1oz 10BTC Silver Round (w/ Gold B)


View Profile WWW
January 31, 2012, 01:43:17 AM
 #36

i think using a sig instead might have an advantage
you can send multiple amounts to the same address
and when paying provide the sigs needed to redeem specific transactions
i am just a bit paranoid when it comes to private keys Smiley

For that to work, the payee and amount would need to be known in advance. In which case you would just send the funds directly, no need to bother with a paper note.

Companies claiming they got hacked and lost your coins sounds like fraud so perfect it could be called fashionable.  I never believe them.  If I ever experience the misfortune of a real intrusion, I declare I have been honest about the way I have managed the keys in Casascius Coins.  I maintain no ability to recover or reproduce the keys, not even under limitless duress or total intrusion.  Remember that trusting strangers with your coins without any recourse is, as a matter of principle, not a best practice.  Don't keep coins online. Use paper or hardware wallets instead.
ovidiusoft (OP)
Sr. Member
****
Offline Offline

Activity: 252
Merit: 250


View Profile
January 31, 2012, 09:39:29 AM
 #37

If the user has an app to scan this, such an app would disregard the URL portion anyway, so I don't think including it is a big deal.  Providing the private key alone would be perfect in a world where everyone already had a suitable app on their phone ready to read this, an app which of course would exist for every phone on the market, including those whose app store owner forbids bitcoin apps on non-jailbroken phones.

I started with the assumption (I might be wrong...) that a store will run a custom POS. I checked out a few projects and services and this seems to be the trend. The problem I was trying to solve was "how to emulate cash transaction using BTC in such a way that it's as fast or even faster".

You're imagining a scenario where a seller is using a dumb QR code reader on a mobile phone by the rotten fruits company Smiley. I am not sure that your scenario can happen in a real store, at least not until Bitcoin will become so popular that everyone, irregardless of their knowledge, will want to accept BTC payments *NOW!*.

Quote
The actual world is not perfect, and such a user would be only "using" the service long enough to initiate a transaction and collect their bitcoins, giving no personal information in the process.  There is a big difference between being a "user" of a service versus a casual unregistered visitor - someone scanning a code would be no more a forced user of said service than me becoming a forced "user" of pastebin when I view something published there.

The user will be using the service long enough to be scammed by the website and/or the buyer. Imagine this scenario:

I am the evil attacker and I know that you don't run a custom POS, you're using online services from the QR codes. I quickly go home, create a custom QR code which points to my server. It looks just like you would expect, just that instead of sweeping the funds to your address, it displays a ok message. I walk out of the store with merchendise, you find out hours later that you don't have the money.

For even extra evilness, my server could actually commit the sweep, just use a different destination address (also mine). Even if you do get your hands on me, I will show you the tx and blame it on you for not pasting the correct address (I also had plenty of time to change my server so that now it's running as expected - I will even invite you to audit it Smiley ). I'm innocent until proven guilty, which you can't do. You'll take the loss and (probably) give up Bitcoin forever. Only such a successful attack is needed to have a lot of people lose trust in the system.

So no, the seller should not trust any service pushed by the user, only data that he can verify on the spot. If this means running a Bitcoin POS app on a real computer instead of using the phone, I think he should (well, if he cares about the money, of course...).

On the other hand, I did some tests with the Goggles app on my Android phone. It's capable of correctly detecting a URL even if the QR code is actually:

Code:
DATA,PRIKEY=12345,URL=https://google.com/12345/,bla,bla,bla

So I think we can support your scenario without too much trouble, if the QR scanner runs a decent app. Alternatively, it's copy-paste time for the seller Smiley. I'll post later some ideas about QR code formats and I'll also include your URL idea. But I do hope you'll change your mind Smiley
ovidiusoft (OP)
Sr. Member
****
Offline Offline

Activity: 252
Merit: 250


View Profile
January 31, 2012, 09:50:32 AM
 #38

I comitted a new script for Electrum users at https://github.com/ovidiusoft/bitcoin-scripts/tree/master/PaperCoins . It's called papercoins-electrum.sh and can use your existing Electrum wallet to create, fund and make a PDF of your PaperCoins. It can either only generate the tx or also commit it to the network. Creates 2 files: the wallet (you can use it later to get back funds if you didn't use the PaperCoins) and the PDF to print. It can take a random number of arguments (the amounts). Here's a sample run for only 1 PaperCoin:

Code:
$ ./papercoins-electrum.sh 0.0001
Will create 1 PaperCoins, with values of 0.0001 for a total of .0001 BTC.
Electrum wallet balance: 0.0053
Creating new wallet (default values, 1 addresses): PaperCoins-1327998249.wallet
Your seed is 0d9324da5b6a34236a2c4c26dab02563
Please store it safely
1M2ZUxZBNgfKkAAXZszNrJEjocqz4qqA5
1GQ6C4RhFb17ALoULnXqefkmA32RwR6L3c
Funding the PaperCoins.
===[ Transaction to fund PaperCoin #1 (0.0001 BTC, address 1GQ6C4RhFb17ALoULnXqefkmA32RwR6L3c) ]===
01000000067272ba77b911c5380d97928dc71967acbcda238cb6a4203aecacab045d520f44270000008c493046022100c17e8214792ba4f3bcc7a72bcf3fabf09b10cc7d297683ceaf75a3c48e54c276022100a79f233ac362f863dd0354a14f64b94cc5a450838707f70f8fc19949829b3cfa0141040027fa8d5f979fdb398b4fbdf44578cd70c525ada56ed55131f4b792caf237aea4c01fddd30483bb3f2cb578be484fdb687f90da208824040013056abce6038ffffffaaafff0a9574415ef55bca6c9bcb9f02bd4dcdef91de4f7ddad1f69b41d00b2aba95834b0000008b483045022100bd128f33870fb0451699d2d5c329300f7a453da7a61b11830976b667eabaf446022068b616470e882e21c4d45429a6ee604b49b9ce44dfbacc7ee5263f8e3332c0380141040027fa8d5f979fdb398b4fbdf44578cd70c525ada56ed55131f4b792caf237aea4c01f30483bb3f2cb578b1dee484fdb687f90da208824040013056abce6038fffffffff38649b74374d14ea9c7b465bec19ba49980c13b10ab1a6ffd81d9bae1238fa374c0100008b483045022100a4b6e90e6eeb03a9c85de16c6d6fd88b8fdc5a78ac50bca098e948dc43e8a85302206a383dab28416289e0d98f852dbc7e17bcf0796a203b8a6bd64110c27f85e01410405979236764b8b6bf5549f5a5e669f3d8bf651951b2138659a3a948b07edeaf437b89a2e6556dc551a3bca443647740a992deab6eb530101eb99c60a1b3f6b93ffffffffdc1d42b99a2c3b0cf4858a1d4131694efe11ce8c9b0abc33cb9aa1e546ede8f9010008b48aaa30450221008f2020fdac4bfcb36698a0c4475e056a72d72aaf986ade920679d52e350eec1502207ed0585563c66560dc173ddda34982db3421c2827d9c869af340767bbb2f24cf0141040da5b697f47fcf4c006977a7f543a4e054cae560d13f1260a73ee7ba7082d6eb1c6db38a1fa9d48409b2ea29c3786b783c191830e9eb31063395a77058309446ffffffff63c06e18a563e389873c20c142e75522bd265756614a1d196218b2b9219f8b7f270100008a47304402203cc5037eeb7594b8213a7d899ca603f8a855804067dcaeb108dbb53787edeae2022077f7d6e66cfff17d8ca7251185a5e5c4f4530b9ec2a3b0a27430996e5d423b6901410405979236764b8b6bf5549f5a5e669f3d8bf651951b2138659a3a948b07edeaf437b89a2e6556dc551a3bca443647740a992deab6eb530101eb99c60a1b3f6b93ffffffff88ba3187b4720034c54fd1814af40a0c9b09d6b67d4b4acdca93f25fb0788a5d430000008c493046022100ca5cab5770c08ea72a877d382b9e7405e85c5d9c4fce41df8d43a6d2660bee7e022100a16c029696194d5f3e7f3b8270001fbe6c028b4d59603ae15c3b04eb9c391e580141040027fa8d5f979fdb398b4fbdf44578cd70c525ada56ed55131f4b792caf237aea4c01f30483bb3f2cb578b1dee484fdb687f90da208824040013056abce6038fffffffff0210270000000000001976a914a8e7c96df1e0cb905dce42961ef4f03e8d167c7988ac204e0000000000001976a91482953d9d97767b99a78149edc335084b7052c3ac88ac00000000
=========================================================================
Generating the PDF to print your PaperCoins.
LABEL FILE = designs/papercoins-ovidiusoft.glabels

Created: PaperCoins-1327998249.wallet
Created: PaperCoins-1327998249.pdf

At the moment, it requires a patched electrum client (it's in the same dir). Read the README file for more information.

I hope this POC will attract some developers who will want to integrate a PaperCoins feature in their clients Wink
ovidiusoft (OP)
Sr. Member
****
Offline Offline

Activity: 252
Merit: 250


View Profile
February 02, 2012, 11:28:55 AM
 #39

Also comitted a proposal for the QR code format: https://github.com/ovidiusoft/bitcoin-scripts/blob/master/PaperCoins/QR-code-format.txt

If includes the URL field proposed by casascius, and a few others. Don't take it as a full proposal, it's basically just a bunch of random ideas, with the only intention of starting a discussion. I'll post some scripts that produce the new QR codes soon.

So, waiting for your comments. As I said, I would love to get the attention of POS/client developers.
bitfreak!
Legendary
*
Offline Offline

Activity: 1536
Merit: 1000


electronic [r]evolution


View Profile WWW
February 02, 2012, 12:13:27 PM
 #40

Something else I've also been thinking about: wouldn't bitcoin debit cards function in much the same way as a bitcoin bill? Instead of having the private key written onto the paper, it would be electronically stored on the card. The data on the card would be encrypted and the PIN could be the key to decrypt it. The public address would be written on the front of the card, and you could refill the card simply by sending funds to that address. The card would have no expiry date. The card would only be a one time purchase. Are there any projects like this?

edit: I found this but not sure how trustworthy it is.

XCN: CYsvPpb2YuyAib5ay9GJXU8j3nwohbttTz | BTC: 18MWPVJA9mFLPFT3zht5twuNQmZBDzHoWF
Cryptonite - 1st mini-blockchain altcoin | BitShop - digital shop script
Web Developer - PHP, SQL, JS, AJAX, JSON, XML, RSS, HTML, CSS
Pages: « 1 [2] 3 »  All
  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!