Bitcoin Forum

Bitcoin => Bitcoin Discussion => Topic started by: nmat on August 04, 2011, 01:29:13 AM



Title: Creating a real wallet for bitcoins
Post by: nmat on August 04, 2011, 01:29:13 AM
I think it would be a great idea to create a real wallet for bitcoins. Instead of locking up a computer inside a safe or writing down private keys, why not create a device just for sending and receiving bitcoins?

The first thing that came to my mind when I thought of this was: android phones. I can buy a cheap android at ebay ($60 or $70 maybe? and the price is coming down...), install bitcoin and use it like a real wallet. Of course it would be better if there was a special "Android Bitcoin Edition" with extra security.

Are there any plans to create a device with such functionality? And does anyone use an Android phone as a wallet?


Title: Re: Creating a real wallet for bitcoins
Post by: ffuentes on August 04, 2011, 01:38:06 AM
I would like a .jar app to  make payments and receive it

An exclusive device would be useless like that device made only for tweeting released the past year.


Title: Re: Creating a real wallet for bitcoins
Post by: Astrohacker on August 04, 2011, 01:40:06 AM
I had the same idea, but I probably don't have time to pursue the project: https://bitcointalk.org/index.php?topic=28923


Title: Re: Creating a real wallet for bitcoins
Post by: Phinnaeus Gage on August 04, 2011, 02:32:36 AM
I think it would be a great idea to create a real wallet for bitcoins. Instead of locking up a computer inside a safe or writing down private keys, why not create a device just for sending and receiving bitcoins?

The first thing that came to my mind when I thought of this was: android phones. I can buy a cheap android at ebay ($60 or $70 maybe? and the price is coming down...), install bitcoin and use it like a real wallet. Of course it would be better if there was a special "Android Bitcoin Edition" with extra security.

Are there any plans to create a device with such functionality? And does anyone use an Android phone as a wallet?

I hope that whoever develops this great idea, has UABB's stamp of approval.

http://uabb.org/uabb_logo_icon_alt2.png


Title: Re: Creating a real wallet for bitcoins
Post by: nmat on August 04, 2011, 02:36:26 AM
An exclusive device would be useless like that device made only for tweeting released the past year.

Well, you may be right. But what if you don't have battery on your phone and you need to make a payment? Sometimes is nice to have different devices for different tasks. And having a wallet is different from being able to tweet...

But I agree. A phone is large and we already have one to carry around.

I had the same idea, but I probably don't have time to pursue the project: https://bitcointalk.org/index.php?topic=28923

Well... you had exactly the same idea. :P Sending/receiving payments with this would be really simple (I bet my mom could do it!) and it would secure your wallet (I didn't thought of the cloud backup though, but it's an obvious and essential addition).

I liked that comment about kindle. Having battery for 1 month sounds good :)


Title: Re: Creating a real wallet for bitcoins
Post by: Astrohacker on August 04, 2011, 02:38:10 AM
Ideally it would be the size of a credit card. But I don't think the technology is quite there yet.


Title: Re: Creating a real wallet for bitcoins
Post by: nmat on August 04, 2011, 03:26:42 AM
Ideally it would be the size of a credit card. But I don't think the technology is quite there yet.

Well, if we could stick a camera into this thing, we would wear it as a watch: http://liliputing.com/2011/08/wimm-labs-unveils-1-inch-wearable-android-device.html


Title: Re: Creating a real wallet for bitcoins
Post by: wumpus on August 04, 2011, 03:36:25 AM
Ideally it would be the size of a credit card. But I don't think the technology is quite there yet.
If it is only thin client (private key storage and signing only, no blockchain/network) I'm sure you could fit the logic on a credit card-sized device.

Ideally it would have a small display to show the amount and a confirmation code, with confirm/reject buttons and communicate wirelessly.

This would be safer than using a smartphone...


Title: Re: Creating a real wallet for bitcoins
Post by: bitrebel on August 04, 2011, 03:47:34 AM
How about a Special Credit Card that keeps the wallet.dat file, then when inserted into your computer card reader device, loads it up into the bitcoin client for you to spend or add to?



Title: Re: Creating a real wallet for bitcoins
Post by: NF6X on August 04, 2011, 03:57:38 AM
How about a Special Credit Card that keeps the wallet.dat file, then when inserted into your computer card reader device, loads it up into the bitcoin client for you to spend or add to?

I think that is technically feasible. There is a similar smart card for use with PGP encryption. I fact, it doesn't even need to be as big as a credit card. It could be the same size as a SIM card, and the PGP smart card is available in both sizes.

http://en.wikipedia.org/wiki/OpenPGP_card



Title: Re: Creating a real wallet for bitcoins
Post by: bitrebel on August 04, 2011, 04:03:06 AM
How about a Special Credit Card that keeps the wallet.dat file, then when inserted into your computer card reader device, loads it up into the bitcoin client for you to spend or add to?

I think that is technically feasible. There is a similar smart card for use with PGP encryption. I fact, it doesn't even need to be as big as a credit card. It could be the same size as a SIM card, and the PGP smart card is available in both sizes.

http://en.wikipedia.org/wiki/OpenPGP_card



And there it is....perhaps?

I am not technical, and cannot program. I am a good theorist though. Maybe someone can develop a short code that loads that into your bitcoin client and swaps info back and forth.

I think the wallet file needs to be secure, but if it's left on a technical device that can malfunction, which would be necessary to run the client, then it can be lost or corrupted, but if the file is saved on a piece plastic and encrypted, then the back and forth loading is all that would be needed, I would imagine.



Title: Re: Creating a real wallet for bitcoins
Post by: kjj on August 04, 2011, 04:34:06 AM
There are people working on these devices, and hundreds of threads on the subject.  Anyone interested in the idea should search, because this thread is almost word for word identical to many of them.


Title: Re: Creating a real wallet for bitcoins
Post by: natman3400 on August 04, 2011, 04:37:26 AM
Im personally working on one that uses a stripped down pengauchu (or however that is spelt) at its core, which should make for a sub $25 price range. If you want to look into it the link is in my sub, I just currently have a lot of stuff going on right now and can't keep up with it.


Title: Re: Creating a real wallet for bitcoins
Post by: nmat on August 04, 2011, 04:38:30 AM
And there it is....perhaps?

I am not technical, and cannot program. I am a good theorist though. Maybe someone can develop a short code that loads that into your bitcoin client and swaps info back and forth.

I think the wallet file needs to be secure, but if it's left on a technical device that can malfunction, which would be necessary to run the client, then it can be lost or corrupted, but if the file is saved on a piece plastic and encrypted, then the back and forth loading is all that would be needed, I would imagine.

The problem here is that your wallet becomes vulnerable as soon as you open it. Of course that the card will be "offline" most of the time, but if you use it in a windows computer (or any other, but windows is more dangerous) your money is at risk.

My approach was to create a self contained device that could open your wallet and make transactions with it (so you could use it at a shop for example). You wouldn't have to put it in a computer and we could harden the security of that device.

There are people working on these devices, and hundreds of threads on the subject.  Anyone interested in the idea should search, because this thread is almost word for word identical to many of them.

Thanks for the info. I will do a little search through the forums ;)


Title: Re: Creating a real wallet for bitcoins
Post by: NF6X on August 04, 2011, 01:31:52 PM
If I understand correctly, on that OpenPGP smartcard the private keys never leave the smartcard. Instead, any signing with the private key happens on the smartcard. If the same idea was used for a Bitcoin wallet, then the private keys of the wallet would never get uploaded to the computer. Malicious code might still be able to use the smartcard to send out bitcoins from the victim's account while the card is plugged in, but it shouldn't be able to steal the private keys for later use.

The OpenPGP smartcard needs to receive a passcode before it'll do stuff. If the card reader has it's own keypad for entering the passcode (some readers do have such a keypad), that can help reduce exposure to malicious software since the passcode never passes through the potentially compromised computer.

I'll poke around for other threads on this topic, too...


Title: Re: Creating a real wallet for bitcoins
Post by: natman3400 on August 04, 2011, 01:42:36 PM


The problem here is that your wallet becomes vulnerable as soon as you open it. Of course that the card will be "offline" most of the time, but if you use it in a windows computer (or any other, but windows is more dangerous) your money is at risk.

My approach was to create a self contained device that could open your wallet and make transactions with it (so you could use it at a shop for example). You wouldn't have to put it in a computer and we could harden the security of that device.


This is what I'm working on. A self-contained, portable, cheap device that runs a modified bitcoin client. I'm also working on making a secure way to back up the device, and an emergency "send all coins" function that would send all the coins on the device's wallet to a per-deteremined address (possibly hard-coded into the device, and the private key given to the owner of the device?).


Title: Re: Creating a real wallet for bitcoins
Post by: Astrohacker on August 04, 2011, 04:13:53 PM
Ideally it would be the size of a credit card. But I don't think the technology is quite there yet.
If it is only thin client (private key storage and signing only, no blockchain/network) I'm sure you could fit the logic on a credit card-sized device.

Ideally it would have a small display to show the amount and a confirmation code, with confirm/reject buttons and communicate wirelessly.

This would be safer than using a smartphone...


You know that's actually an interesting idea. For some reason it never occurred to me that it would only actually have to store the private keys. You would presumably subscribe to a service to actually serve as your bitcoin client... or have a bitcoin client on your home computer that your little credit card communicates with. This actually probably is possible with present technology after all. It would need to be able to 1) Store private keys. 2) Sign transactions. 3) Communicate wirelessly with a bitcoin node to broadcast transactions and read the present balances of addresses.


Title: Re: Creating a real wallet for bitcoins
Post by: kjj on August 04, 2011, 05:01:29 PM
Read this (https://bitcointalk.org/index.php?topic=19080.msg272348#msg272348).

I describe a way to incrementally detach the wallet from the client.

Read the rest of that thread too.  It describes my notion of a hardware client, and as an added bonus, Gavin describes a service that would provide a lot of security for regular folks.  Actually, the thread was Gavin's, and all of my stuff was off-topic, but whatever.

Also, read this thread (https://bitcointalk.org/index.php?topic=20933.0;all).

And while you are at it, read natman3400's posts, particularly on his project, BitClip (https://bitcointalk.org/index.php?topic=24852.0).  We don't always agree on the details, but his project looks pretty good.


Title: Re: Creating a real wallet for bitcoins
Post by: nostrum on August 04, 2011, 06:43:16 PM
I have a Nexus S running WhisperCore (a ROM with built in encryption) with the bitcoin wallet app.
WhisperCore comes with a backup program called Flashback that will encrypt and upload data to Amazon S3 storage.
Titanium Media Sync is also a good alternative as it will enable you to select files individually (+you dont have to pay for Amazon S3).

I think this is a good and safe enough solution (for me) when it comes to a "real wallet".
Obviously there are still risks and most of them are solved by having a "bank", containing all the bitcoins I can't afford to lose, where the wallet.dat is encrypted in a TrueCrypt container hidden in Wuala, Dropbox, locally on my computer and on a physical medium.


Title: Re: Creating a real wallet for bitcoins
Post by: kjj on August 04, 2011, 06:50:51 PM
I think I have an excessive level of paranoia, because I rejected all general purpose computers (like phones, tablets, etc) because they are too connected.  I want something that ONLY knows bitcoin JSON over serial.

Whispercore will save your ass if someone physically steals your phone, but I don't think it'll help if the phone gets owned from the inside.


Title: Re: Creating a real wallet for bitcoins
Post by: nostrum on August 04, 2011, 08:50:58 PM
I think I have an excessive level of paranoia, because I rejected all general purpose computers (like phones, tablets, etc) because they are too connected.  I want something that ONLY knows bitcoin JSON over serial.

Whispercore will save your ass if someone physically steals your phone, but I don't think it'll help if the phone gets owned from the inside.

Yes, there will always be dangers like malware and wire(less) intrusion. Usually one can afford to lose money that is in a wallet, especially if it is you have it on your person.
I think buying a cheap android device dedicated to the bitcoin wallet app could be a fairly good wallet. If you make sure everything is encrypted, enable 3G (or WIFI/Bluethooth/NFC) on demand, all other radios disabled and with a secure screenlock it would be pretty safe. A data self destruct mechanism could also be implemented.


Title: Re: Creating a real wallet for bitcoins
Post by: SgtSpike on August 04, 2011, 09:01:19 PM
I thought something like this was already in development?  Called BitPay or BitWallet or something along those lines... but it was a dedicated device to act as a bitcoin wallet.


Title: Re: Creating a real wallet for bitcoins
Post by: nostrum on August 04, 2011, 09:32:18 PM
Another option for people with NFC on their phone ;D

  • 1 SheevaPlug http://www.newit.co.uk/shop/proddetail.php?prod=SheevaPlug (http://www.newit.co.uk/shop/proddetail.php?prod=SheevaPlug)
  • 1 RDIF/NFC reader and writer
  • 1 or more RDIF/NFC tokens
  • Customized bitcoin wallet/client with RDIF/NFC reader and writer capabilities

The wallet.dat would be stored in the SheevaPlug with backup over internet or by hardware.
You would use the SheevaPlug as a bank and your phone as a wallet.
The token(s) would be used to transfer money between the two with the help of a program capable of securely transferring private keys as well as creating and importing them.

With your phone you send a request code (could include desired amout), only readable by the SheevaPlug, to the token. The SheevaPlug then reads the token and generates a new response which has everything the phone needs to be able to import the private key(s) to the phones wallet. It could also go the other way around.

Im not a programmer so I have no idea how hard it is to create a program like that.


Title: Re: Creating a real wallet for bitcoins
Post by: NF6X on August 04, 2011, 09:48:35 PM
I haven't fully thought this through, so there are probably holes in it. I have a mental picture of what a lightweight wallet client for a smartphone might look like. For the sake of argument, let's say that this client has some way to not require a full time connection to stay in sync with the full block chain. That in itself is a substantial problem to solve, but I'll gloss over it because it's not central to the point I'll make in a moment. Let's further stipulate that this lightweight client has its own wallet in order to carry around a small amount of spending money. Most of the user's savings are in a separate wallet, probably secured back at home, and possibly implemented as we are discussing here.

It seems to me that barcodes such as QR codes would be a natural way to transfer numbers between two devices in person. If you and I both have these hypothetical smart phone apps, and I want to give some BTC to you, then you could display your receiving address as a QR code, I scan it with my phone's camera, and then my client initiates a new BTC transaction using whatever method it has to do that. I like the idea of exchanging addresses via barcodes better than NFC, bluetooth, wifi, etc. because it requires deliberate user action, and it is easy to see that it is going on. In contrast, an attack over Bluetooth could go on silently without the user's knowledge. There may be a potential shoulder surfing problem... Needs more thought. A vendor might display their receiving address on a poster or display, depending on whether they want to use a different address for each transaction.

So, if a standard is developed for using QR codes to communicate between mobile clients, then maybe the same mechanism could be used to interface with a dedicated wallet device? I do like the idea of a purpose-built device that handles a wallet and does nothing else. While an existing device like an off the shelf Android device could be reprogrammed to serve this purpose, I'd feel safer with a device that has no network connectivity at all (not even hardware that normally is not turned on), in order to reduce potential remote attack vectors. There may be some security flaw that lets the device get owned by showing it malicious barcodes, but it would be hard to invoke if the device has a physical cover over its camera and it is locked in a drawer or safe.


Title: Re: Creating a real wallet for bitcoins
Post by: natman3400 on August 05, 2011, 12:01:05 PM
I thought something like this was already in development?  Called BitPay or BitWallet or something along those lines... but it was a dedicated device to act as a bitcoin wallet.
Yes, this was mine, bitclip. It would, in all common sense, be more secure then an Android device, as it would be ONLY for the bitcoin wallet, and be running not much more then the linux kernel, networking services, x, and the bitcoin client itself. Not much on the inside to own. I am also aiming for low hardware costs by making it unsuitable to run anything else.


Title: Re: Creating a real wallet for bitcoins
Post by: CD-RW on August 05, 2011, 04:43:54 PM
More like these, http://biticon.wordpress.com/2011/03/31/bitcoin-atm/ and http://biticon.wordpress.com/2011/04/16/atm-progress/


Title: Re: Creating a real wallet for bitcoins
Post by: TraderTimm on August 05, 2011, 06:29:59 PM
Closest thing to secure remote storage is IronKey. You still have to handle the transfer steps yourself, of course.