Bitcoin Forum
December 04, 2016, 08:17:53 AM *
News: Latest stable version of Bitcoin Core: 0.13.1  [Torrent].
 
   Home   Help Search Donate Login Register  
Pages: « 1 2 3 4 5 6 7 [8] 9 10 11 12 »  All
  Print  
Author Topic: Introducing Bitbills!  (Read 28897 times)
BitterTea
Sr. Member
****
Offline Offline

Activity: 294



View Profile
May 24, 2011, 09:12:54 PM
 #141

*scans PK from picture*
*steals BitterTea's bitcoins*

Haha, nice try but I already sent the coins to a new address using BitcoinJ. Smiley

Can you describe how you did this?  I was going to test one of my bitbills with the patched bitcoin client.  But if it's easier just to use bitcoinJ, I'd like to hear how.

Sure. Make sure you get the latest version of BitcoinJ, as a bug in Base58.decode was fixed today.

There's a PrivateKeys.java example, which takes two arguments: the first is the Base58 encoded private key (scanned from the private key tag) and the second is the address to which you want the funds transferred.

Once Mike fixed the bug, the only change I had to make was the following...

Code:
-    // Decode the private key from Satoshis Base58 variant.
-    BigInteger privKey = Base58.decodeToBigInteger(args[0]);

+    // decode the key and remove the checksum
+    byte[] tmp = Base58.decodeChecked(args[0]);

+    // strip the first byte (version) from the array
+    byte[] sipaKey = new byte[tmp.length - 1];
+    System.arraycopy(tmp, 1, sipaKey, 0, sipaKey.length);

+    BigInteger privKey = new BigInteger(sipaKey);

Then start up your Bitcoin client and run PrivateKeys.java. It will download the block chain from your client and then send the transaction.

You can modify it to use a DiskBlockStore instead of a MemoryBlockStore so you don't have to download the full chain every time you do this.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
Mike Hearn
Legendary
*
Offline Offline

Activity: 1526


View Profile
May 24, 2011, 09:45:47 PM
 #142

I improved BitCoinJ a bit so now you can just use PrivateKeys without any modifications, like this:

java -classpath=out com.google.bitcoin.examples.PrivateKeys <bitbills_key> <your address>

Make sure you have a running copy of Bitcoin (regular C++ software) on your computer and run the above command. It should trundle along and process the block chain looking for usages of the key. Then it will send you the coins to your chosen address.

Switching out MemoryBlockStore for DiskBlockStore won't help. The whole thing has to be processed from scratch every time you do this because the transaction bodies aren't stored, even with the DiskBlockStore. This is inherent to the libraries design.

As to which is easier, I don't know. The official Bitcoin software is better tested. If you are able to patch+build it yourself then you might as well use it. If you're having trouble building Bitcoin then you could try using the BitCoinJ instead, but you'll still need a JDK to compile it with! Right now it isn't possible to redeem a Bitbill without being a programmer or at least very technical. In future it might get easier, if sipa adds a GUI to Bitcoin.

It might be possible to stick an Android GUI on top of BitcoinJ for this purpose today. However to check the balance and redeem the coins both requires processing the full chain, so it's not very efficient. If the key format was extended to support specifying block ranges it would be much more feasible.
kgo
Hero Member
*****
Offline Offline

Activity: 548


View Profile
May 24, 2011, 09:52:32 PM
 #143



It might be possible to stick an Android GUI on top of BitcoinJ for this purpose today. However to check the balance and redeem the coins both requires processing the full chain, so it's not very efficient. If the key format was extended to support specifying block ranges it would be much more feasible.

Speaking of which, have people had luck getting a picture of the private QR code on droid phones?  I couldn't get it to work, and was blaming the small code size.  Let me know if it's operator error.
Insuremeplz
Member
**
Offline Offline

Activity: 113


View Profile
May 24, 2011, 11:54:04 PM
 #144

I bought bitbills just because they're cool, but may have not thought into it too much. If I don't have a smart phone that can read a QR code, am I SOL if I want to get the money off them?
BCEmporium
Legendary
*
Offline Offline

Activity: 938



View Profile
May 24, 2011, 11:59:53 PM
 #145

I bought bitbills just because they're cool, but may have not thought into it too much. If I don't have a smart phone that can read a QR code, am I SOL if I want to get the money off them?

You don't need a smart phone, you can use a computer with anything that can get a digitalization image of the QR code (scanner, cam, mobile with cam...)  and a QR code parser software.
BitterTea
Sr. Member
****
Offline Offline

Activity: 294



View Profile
May 25, 2011, 12:14:48 AM
 #146

You could also sell Bitbills on #bitcoin-otc or in the Marketplace.

Perhaps llama would buy back Bitbills minus a small fee?
kgo
Hero Member
*****
Offline Offline

Activity: 548


View Profile
May 25, 2011, 12:52:18 AM
 #147

I bought bitbills just because they're cool, but may have not thought into it too much. If I don't have a smart phone that can read a QR code, am I SOL if I want to get the money off them?

You don't need a smart phone, you can use a computer with anything that can get a digitalization image of the QR code (scanner, cam, mobile with cam...)  and a QR code parser software.

Well you would for an android app... Anyway, I just tried again and instantly scanned it.  I think my shiny silver macbook might have been interfering before.
kgo
Hero Member
*****
Offline Offline

Activity: 548


View Profile
May 25, 2011, 01:48:37 AM
 #148

I improved BitCoinJ a bit so now you can just use PrivateKeys without any modifications, like this:

java -classpath=out com.google.bitcoin.examples.PrivateKeys <bitbills_key> <your address>

Make sure you have a running copy of Bitcoin (regular C++ software) on your computer and run the above command. It should trundle along and process the block chain looking for usages of the key. Then it will send you the coins to your chosen address.


I checked out bitcoinj and built it, and I can't run the code.  The above command didn't work at all.

If I run:

java -classpath ./dist/* com.google.bitcoin.examples.PrivateKeys <bitbills_key> <your address>

it runs, but complains that slf4j classes aren't found.  If I downloaded slf4j and unpacked it, and ran:

java -classpath ./dist/*:~/src/sld4j-dir com.google.bitcoin.examples.PrivateKeys <bitbills_key> <your address>

I get all kinds of crazy errors linking to pages on the web talking about all kinds of problems with linking to multiple versions of slf4j stuff.  If I try to limit the jars I still get errors.

Did you include (or try to include) the logging stuff or do I need to configure that somehow.

Anyway, I give up on bitcoinj.  Try to download the patched client from bitbills.  That won't execute at all.  I'm presuming because it's a 64 bit build and my linux box is 32 bit?

I try to apply the patch manually, but then remember I could never get the original client to compile because something was wrong with UPNP, even though it compiled and installed.

Not complaining, just pointing out that it's been pretty hard for me to get my money.
llama
Member
**
Offline Offline

Activity: 103


View Profile
May 25, 2011, 04:19:48 AM
 #149

Some updates:
We still have a lot of preorders coming in, so we're continuing to work as fast as we can to ramp up production. Orders are shipping out continuously now. We hope to change from "preorders" to live "orders" later this week!
Simultaneously, we're working on the next product version. This will include several changes, including custom holograms. It's still a ways off, but start getting excited! We will keep an archive with images of all previous versions on the site.

On redemption:
I'm sorry to hear that some people are having difficulty redeeming. We will post a video soon demonstrating the process. In the meantime, some tips:
  • Use a penny to scrape off hologram residue
  • A thin layer of tape sits above the laminated qr code. If the residue remains a problem, peel off the layer of tape to reveal a clean QR code
  • Use alcohol or nail-polish remover only as a last resort. Newer Bitbills use a higher quality private key substrate resilient to chemicals, but their use won't be officially supported until the next version
  • Use a high-resolution scanner if your webcam or phone camera have problems

As mentioned in the FAQ, we are happy to buy back any sealed Bitbills for face value if you don't feel comfortable attempting redemption yourself. We are continuing to work on an easy redemption tool (it will be a flash applet that uses the webcam to send the bitcoins to your address fee free).

I'm offering large bitcoin prizes to anyone who feels like working on Bitbills tools! (this could be an Android app, iPhone app, support on your website, etc; contact me!)


Mike Hearn
Legendary
*
Offline Offline

Activity: 1526


View Profile
May 25, 2011, 07:02:01 AM
 #150

I checked out bitcoinj and built it, and I can't run the code.  The above command didn't work at all.

If I run:

java -classpath ./dist/* com.google.bitcoin.examples.PrivateKeys <bitbills_key> <your address>

it runs, but complains that slf4j classes aren't found.

Ah yeah, try:

ant build
java -classpath ./out:./lib/* ......

Sorry to hear you had such problems. As a library it's only really meant for people familiar with Java development right now. My faulty instructions don't help.

If BitCoinJ is going to be a common way to extract Bitbills we could/should just upload a simple binary with a GUI and everything included, so reclaiming them is point and click. Might be a fun project for someone - maybe BitterTea? :-) Making an all-in-one JAR with a Swing GUI isn't very hard and there are lots of tutorials on the web.
kgo
Hero Member
*****
Offline Offline

Activity: 548


View Profile
May 26, 2011, 02:01:40 AM
 #151

I checked out bitcoinj and built it, and I can't run the code.  The above command didn't work at all.

If I run:

java -classpath ./dist/* com.google.bitcoin.examples.PrivateKeys <bitbills_key> <your address>

it runs, but complains that slf4j classes aren't found.

Ah yeah, try:

ant build
java -classpath ./out:./lib/* ......

Sorry to hear you had such problems. As a library it's only really meant for people familiar with Java development right now. My faulty instructions don't help.

If BitCoinJ is going to be a common way to extract Bitbills we could/should just upload a simple binary with a GUI and everything included, so reclaiming them is point and click. Might be a fun project for someone - maybe BitterTea? :-) Making an all-in-one JAR with a Swing GUI isn't very hard and there are lots of tutorials on the web.

First, is there a better thread to discuss this since it's not strictly bitbills?

Now I've got things running on my MacBook, but it consistently hangs when "Chain is now 5172 blocks high" with "java.io.IOException: Socket is disconnected"
charlie
Newbie
*
Offline Offline

Activity: 14


View Profile
May 26, 2011, 03:23:56 PM
 #152

OSSUM

THE END is coming on the 21st of May - Wait its passt the 21st? WTF?!
kidgorgeous
Member
**
Offline Offline

Activity: 75


View Profile
May 26, 2011, 08:44:34 PM
 #153

Placed my order, eagerly awaiting my bitbills! I think these are a pretty cool way of introducing some friends and physicalizing a virtual currency since people have a bad tendency to ignore something if it's not in their hands.

I plan of gifting some to my friends who are technically skilled and are aware of bitcoin but hesitant.

1KHxCRniFNmS7ChiPqaewmokuCABk2PRQn
rikur
Full Member
***
Offline Offline

Activity: 214


View Profile
May 27, 2011, 08:29:01 AM
 #154

Tried to order bitbills, but mybitcoins told me the payment was failed. Paid the exact amount to the exact address. I've tried to use the contact form on the mybitcoin site without any answer.

Does the payment gateway just suck or is this a scam? Maybe llama could consider using other payment systems (heard that others have had problems with mybitcoin too, but thought it was rare).
xardion
Newbie
*
Offline Offline

Activity: 1


View Profile
May 27, 2011, 11:15:19 PM
 #155

To handle counterfeiting you could create a second private key (that is not associated with coins) and put the public key in a second QRcode on the back. You can then release an open source Android/iPhone app that scans that code, creates a random nonce, sends it to bitbills.com for signing and then verifies the signature using the public key on the card. Because only you have the second private key, it's impossible to forge this. It's convenient for anyone to check the bill is legitimate using only a smartphone, so it can be done portably and quickly.

This is a good idea, and truly prevents naked counterfeits.  However, it wouldn't stop someone from buying a legitimate bitbill, then making a copy of that bitbill, but with a phoney private key.  They keep the real one, and sell the phoney.  As long as the private key is carried with the bill, with a static public key, there is no way to have 100% trust in it.

The only way I can see to securely handle transactions would be to centralize the private keys.  One way to do this would be to use your exact example, where bitbills generates a keypair that's assigned to the bitcoin keypair.  But instead of printing the QR code for the secondary public key on the card, you give users the options to simply buy bitbills in that fashion, where bitbills.com keeps the bitcoin private key, and gives the user a pdf with two QR codes, one for the bitbill public key (that they can show to prove the money is real), and one for this secondary public key (that you would keep hidden until you hand it over).

You could call this pair of public keys a 'bitnote' (a play on federal reserve note).  To use the bitnote, you just print it on a piece of paper.  When you give someone a bitnote, they use a smartphone with your open source Android/iPhone app to validate the bitnote, and then bitbills.com immediately invalidates the bitnote and generates a new bitnote, OR the user has the option of transferring the bitnote to a bitbill or a bitcoin address.  This would basically be creating a bank with a backed currency.  You can get the REAL currency (the bitbill), or you can have a note representing it.
Luke-Jr
Legendary
*
Offline Offline

Activity: 2086



View Profile
May 28, 2011, 02:36:22 PM
 #156

We are continuing to work on an easy redemption tool (it will be a flash applet that uses the webcam to send the bitcoins to your address fee free).
Why Flash? My understanding is that phones can read QR-Codes without it. I hope you plan to make it a HTTPS-only function (with a proper cert)...

BitterTea
Sr. Member
****
Offline Offline

Activity: 294



View Profile
May 28, 2011, 03:01:22 PM
 #157

We are continuing to work on an easy redemption tool (it will be a flash applet that uses the webcam to send the bitcoins to your address fee free).
Why Flash? My understanding is that phones can read QR-Codes without it. I hope you plan to make it a HTTPS-only function (with a proper cert)...

I assume the flash app is for desktops and laptops with webcams.

Another alternative would be to import a photo of the barcode, taken with any digital camera.
rikur
Full Member
***
Offline Offline

Activity: 214


View Profile
June 01, 2011, 12:58:00 AM
 #158

Have you guys got your bitbills? Or any response from llama?  Undecided
happyland
Jr. Member
*
Offline Offline

Activity: 48


View Profile
June 02, 2011, 05:34:43 AM
 #159

Site is gone Sad
So sad to see it go...
SgtSpike
Legendary
*
Offline Offline

Activity: 1344



View Profile
June 02, 2011, 05:44:51 AM
 #160

Site is gone Sad
So sad to see it go...
The plot thickens...
Pages: « 1 2 3 4 5 6 7 [8] 9 10 11 12 »  All
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!