Pages:
Author

Topic: Bitcoin Wallet for Android - page 9. (Read 121472 times)

hero member
Activity: 483
Merit: 551
August 19, 2013, 08:08:40 AM
Sure, having a backup of the root key / seed of your deterministic wallet is a very understandable usecase. Though I'd personally rather write the numbers down manually - you only need to do it once.

Anyway, I think when people ask for paper wallets most of them want to give them away, use them as a form of offline payment.
legendary
Activity: 1526
Merit: 1134
August 19, 2013, 05:13:05 AM
Right, the difference is that Mycelium Wallet has explicit support for the paper wallet use case, so it knows how to manage keys appropriately. At the moment Bitcoin Wallet doesn't.

Probably the right way to support paper wallets in SPV clients is to have the app take you through the process of creating them, printing them out, etc. The app can then keep the public key on the device all the time so it's always synchronised. There's no "import" step and no need for rescanning. The app knows it's a paper wallet and can manage change appropriately. Android is now integrated with the "cloud print" thingy that Google is pushing so you could print a wallet directly from your tablet or phone. Or it can just create a PDF and let you print that however you want, both are easy. Or encode the key as words and you write them down by hand.

I think a part of doing this feature is also to separate out the "paper wallet as a backup" use case, from the "paper wallet as offline storage against malware protection" use case. The latter is less convincing to me than the former, because as Jan points out sufficiently well written malware can just wait until you want to access the money in your offline wallet. Support for Trezor is possible on phones and tablets - that's probably the better way to fight malware. Paper wallets then become a last-chance backup mechanism in case your online backups are destroyed or lost. You'd make a backup of your root key and can then import it if you lose your regular backups. Import doesn't have to be fast because losing your regular digital backups should be a rare occurrence.
Jan
legendary
Activity: 1043
Merit: 1002
August 19, 2013, 02:17:57 AM
What? Why can't the change address simply be the paper wallet itself? Plus isn't this how Android Bitcoin Wallet works already, sending from it's main address, and sending all change right back to the same main address?

The app doesn't know you imported a key from a paper wallet. Most wallets will not replace keys but add to them. Hence the problem.

So, then, what are the risks with Mycelium that people should be worried about? Is there a change that, when you tell it to spend from a paper wallet, that it can create an address it doesn't own private keys to to send change to? I'm having trouble getting this, as I thought the sending and receiving change was typically straightforward...

P.S. sorry for pestering you, I just want to make sure I understand this right.
When you use the Cold Storage spending feature in Mycelium it knows that you are spending from an external private key (e.g. paper). It creates an in-memory one-key wallet for this one spending. After that it is wiped from memory. If there is any change left it gets sent back to the one key where it came from (e.g. paper). Note that even though Mycelium only has the private key in memory very briefly your private key is only as safe as your device was at the time of spending. A very sophisticated app that has root privileges on you device might snag it from memory. For optimal security use a dedicated device. An old second hand device will do if you nuke it to factory defaults, install cyanogenmod, no SIM, and only install and use for this purpose.
legendary
Activity: 3430
Merit: 3080
August 17, 2013, 06:33:50 PM
By the way, Andreas doesn't work for Google and never did, so that's a pretty stupid comment.

It aids the comprehension of your insults (and the understanding of your character) if:

- they're addressed at the person you're quoting
- failing that, that they address the assertions of any comments that your name calling could possibly be attributed to
- failing that, that your stated solution to the pertaining comments is anything more than heaping inconvenience upon conceited and unnecessary cultural impositions. There is no good reason to follow these cultural dogmas

Your conduct sounds, well, pretty stupid in light of the above
legendary
Activity: 1680
Merit: 1035
August 17, 2013, 10:11:54 AM
What? Why can't the change address simply be the paper wallet itself? Plus isn't this how Android Bitcoin Wallet works already, sending from it's main address, and sending all change right back to the same main address?

The app doesn't know you imported a key from a paper wallet. Most wallets will not replace keys but add to them. Hence the problem.

So, then, what are the risks with Mycelium that people should be worried about? Is there a change that, when you tell it to spend from a paper wallet, that it can create an address it doesn't own private keys to to send change to? I'm having trouble getting this, as I thought the sending and receiving change was typically straightforward...

P.S. sorry for pestering you, I just want to make sure I understand this right.
legendary
Activity: 1526
Merit: 1134
August 17, 2013, 08:50:25 AM
What? Why can't the change address simply be the paper wallet itself? Plus isn't this how Android Bitcoin Wallet works already, sending from it's main address, and sending all change right back to the same main address?

The app doesn't know you imported a key from a paper wallet. Most wallets will not replace keys but add to them. Hence the problem.

Once again, you can disable background connectivity if you are running ICS+ using a feature in the OS. By the way, Andreas doesn't work for Google and never did, so that's a pretty stupid comment.
hero member
Activity: 483
Merit: 551
August 17, 2013, 07:27:35 AM
Please remove or re-label the "Disconnect" option, it is now clear that the function it implies is disingenuous

For now, you can uncheck "Connectivity Indicator" in the prefs. It will remove the Disconnect option at the same time.
legendary
Activity: 3430
Merit: 3080
August 17, 2013, 06:22:02 AM
Please remove or re-label the "Disconnect" option, it is now clear that the function it implies is disingenuous
legendary
Activity: 3430
Merit: 3080
August 16, 2013, 01:57:58 PM
Sigh. I should have known better considering this app comes from a Google culture.

People do have a right to be able to choose when they run the software on devices that belong to them, disabling choice after so much good work has been done to get this app where it is is a real shame.

I shall be voting with my feet in the future: roll on Ubuntu phone project, they're much more likely to respect the right to choose, as well as people's intelligence. [...]
legendary
Activity: 1680
Merit: 1035
August 16, 2013, 12:26:16 PM
Quote
Keep private key on paper, and public key in wallet. To spend money, QR scan the private key, store only in memory, spend from private key, and wipe from memory, never saving to storage

This is a recipe for disaster. If you try that with Bitcoin Wallet, you likely will loose all your change from that paper wallet. So say you have stored your lifetime savings of 500 BTC on one paper wallet. Now you decide to pay a hefty doctor's bill from that wallet, let's say 10 BTC. The doctor will receive 10 BTC, the other 490 BTC will disappear into the void. So don't ever do this!

What? Why can't the change address simply be the paper wallet itself? Plus isn't this how Android Bitcoin Wallet works already, sending from it's main address, and sending all change right back to the same main address?
legendary
Activity: 1526
Merit: 1134
August 16, 2013, 05:01:41 AM
(Edit) It's worse now!  Unfortunately, there has been an insidious new thing added to this app.  It now automatically starts up in the background, on a timer!  Every few minutes, it pops up.  That's maddening, to say the least.  This happens no matter if your phone is on battery or on charger, so not only will it waste your network, it will waste your battery as well.  Beyond frustrated.  The developer, unfortunately, does not understand that this would be a problem to many people.  I have no choice but to empty my wallet and delete this app.

How are you observing this, by the way? Have you enabled the connection bars in the notification tray? I agree that would be annoying, which is why the indicator is now disabled by default. Try the same thing and you won't be able to see it start up.

The app doesn't "waste network or battery". Go and look at the actual usage in your data/battery usage screens. It's probably 1% or less. This issue exists in your head only.
hero member
Activity: 483
Merit: 551
August 16, 2013, 04:32:05 AM
Quote
Import public and / or private key by scanning QR code, so you can monitor and/or spend

Using a vanity address?

Trying out several mobile wallet apps, using the same set of keys?

Those will probably never be supported. Importing keys is dangerous. Vanity addresses are a broken concept. If you want to try out different wallet apps, why don't you try them out how they're supposed to work and send coins between them?

Quote
Keep private key on paper, and public key in wallet. To spend money, QR scan the private key, store only in memory, spend from private key, and wipe from memory, never saving to storage

This is a recipe for disaster. If you try that with Bitcoin Wallet, you likely will loose all your change from that paper wallet. So say you have stored your lifetime savings of 500 BTC on one paper wallet. Now you decide to pay a hefty doctor's bill from that wallet, let's say 10 BTC. The doctor will receive 10 BTC, the other 490 BTC will disappear into the void. So don't ever do this!

That said, I would like to support swiping paper wallets entirely. The trouble is, a true SPV client cannot do that. Someone would need to invent a new paper wallet format that not only includes the private key, but also the unspent outputs that go to the address (a bit simplified). If someone comes up with a BIP standard for that and manages to get community concensus, I'd happily be amongst the first to support that. Contact me if you're interested.

Quote
Delete private key and only keep public to monitor amount.

Generating a key offline for security reasons?

Another feature I would love to see is deterministic wallets. Back up only backs up the deterministic seed. Every time you spend from an address, all bitcoins are spent, with part going to the person receiving, and the change part going into a new address. The only empty address gets archived and is unused, but can be restored if needed.

Those should be covered with implementing BIP32. Work is on the way, but there is still much to do. Bitcoinj already has the algorithm, but somebody's got to do the wallet integration. And then of course, the UI needs to be adapted.
sr. member
Activity: 441
Merit: 250
August 16, 2013, 03:45:27 AM
Ok, so apparently people are using addresses generated off-device with their Bitcoin Wallets for Android.

How did you do that? Did you write a BWA key backup file and imported it?

And, what does it mean that it's not "supported"? How can it fail me?
hero member
Activity: 483
Merit: 551
August 16, 2013, 02:50:57 AM
It now automatically starts up in the background, on a timer!  Every few minutes, it pops up.  That's maddening, to say the least.  This happens no matter if your phone is on battery or on charger, so not only will it waste your network, it will waste your battery as well.  Beyond frustrated.  The developer, unfortunately, does not understand that this would be a problem to many people.  I have no choice but to empty my wallet and delete this app.

This is not new. After you last used the app, it will sync a couple of times in quick succession (15 mins). It will then fallback to sync once a day. It will always time syncs so it will sync at the same time as all other apps. This means there is little or no additional battery used, because your mail, social networks etc. already sync at that time.

In the prefs, I added a shortcut to the Data usage settings. If you really think your wallet should not be updated, go there and restrict data. I certainly recommend not doing that. Don't forget to restrict all the other apps - lots of them use much more data than Bitcoin Wallet.
member
Activity: 106
Merit: 10
August 15, 2013, 05:08:26 PM
I LOVE this wallet and have been using it for a very long time.

However, I am THIS close to uninstalling it because it automatically starts up when I do not want it to.  Please add a checkbox/option so I can turn off this feature.  I want to start it up when I want to start it up.  When I plug in my phone to charge it, most of the time I do not want it to auto start.

Please, pretty please.

+1
I think there's an option for this already, I'm sure its disabled on my phone.

EDIT: 1st option in settings, "Sync on power". A disconnect on close option would be appreciated here though.
Thanks!  Sorry I missed that option.  I will give it a try.
The reason I missed that option is that it no longer exists!

I totally agree with this.  Really don't like the app running automatically at startup, with no way to disable it.  Why is this necessary?  At the very least, allow users to control this feature with a checkbox, so that it can be enabled or disabled as desired.  It's a great app, and it syncs to the Bitcoin network very quickly upon demand, so it shouldn't be necessary to have it always running.

(Edit) It's worse now!  Unfortunately, there has been an insidious new thing added to this app.  It now automatically starts up in the background, on a timer!  Every few minutes, it pops up.  That's maddening, to say the least.  This happens no matter if your phone is on battery or on charger, so not only will it waste your network, it will waste your battery as well.  Beyond frustrated.  The developer, unfortunately, does not understand that this would be a problem to many people.  I have no choice but to empty my wallet and delete this app.
Jan
legendary
Activity: 1043
Merit: 1002
August 15, 2013, 08:39:44 AM
The thing is, that in order to spend from an arbitrary private key you need to know the unspent outputs sent to its address. This means scanning the block chain from the first point in time (block) where the first transaction sent funds to it. If this point is not known you will have to scan all the way from the genesis block up till now.

Clients running in SVP mode were not meant for that, and cannot do that efficiently.

Instead they create a random key and track it from the point (block) where they were created. Because the key is a random 256 bit value it is unique beyond reasonable doubt, and it is safe to assume that previous blocks did not contain transactions that send any funds to it. This way SVP clients can do with much less storage and (with bloom filters) much less bandwidth than full bitcoin nodes, while still validating soundness.
legendary
Activity: 1526
Merit: 1134
August 15, 2013, 04:36:48 AM
If your money wasn't already stolen the vanity address is probably safe (after you upgrade). However, the address will be marked as bad and any money sent to it will be rotated automatically, so in practice you'd need to re-import it.

BWA doesn't really support doing clever things with private keys at the moment. One reason is that it's easy for users to screw up and shoot themselves in the foot. For instance the suggestion to use paper wallets further up is a BAD IDEA. People have lost money doing that. Neither BWA or MultiBit support paper wallets. Trying to make them do so by abusing backup support or using direct key import is a fast way to accidentally send your money to a change address and then destroy it, rendering the paper wallet completely empty.

We need to get users away from directly fiddling with the keychain in their wallet. Each use case can be supported individually. Paper wallets do make sense as a last-ditch backup, but they need the app to understand that a particular thing it scanned is a "paper wallet" so it can manage change appropriately, which means deterministic wallets pretty much. Overall though paper wallets are not a replacement for real backups because with time wallet metadata will become more and more important.

Synchronizing multiple wallets together across apps is another use case that's easy to screw up if you aren't a protocol expert. You can end up creating spends that don't confirm very easily if they drift out of sync at all. It's something that's worth supporting, but again, it needs a real UI/wizard in the app and the app needs to know the wallet is in use in multiple places at once, so it can do the right things at the right times.
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
August 15, 2013, 01:27:26 AM
Speaking of vanity addresses, I imported the private key for my nice firstbits vanity address and have been using it on my phone for a few months now. Is that vanity address now basically unusable?

It depends whether UTXOs for that address were part of txs that were signed on your phone (if you are not sure then probably best to not use it any more).
legendary
Activity: 3878
Merit: 1193
August 15, 2013, 01:13:53 AM
Speaking of vanity addresses, I imported the private key for my nice firstbits vanity address and have been using it on my phone for a few months now. Is that vanity address now basically unusable?
sr. member
Activity: 441
Merit: 250
August 14, 2013, 01:25:56 PM
Can you be more specific? Try to describe a usecase.

Using a vanity address?

Generating a key offline for security reasons?

Claiming a cold storage wallet/physical coin/wallet prize?

Trying out several mobile wallet apps, using the same set of keys?

(Especially the last one; since Bitcoin Wallet for Android requires to to pay a fee every time you move your bitcoins, tiny wallets would otherwise slowly disintegrate every time to try another wallet.)
Pages:
Jump to: