Pages:
Author

Topic: Bitcoin Wallet for Android - page 7. (Read 121407 times)

hero member
Activity: 483
Merit: 551
November 26, 2013, 04:30:59 AM
Both models have their pros and cons.

What's the pro of relying on a proprietary centralized service? The only pro I can think of is support for importing private keys, but that's a dangerous operation anyway.
Jan
legendary
Activity: 1043
Merit: 1002
November 26, 2013, 04:09:04 AM
Both models have their pros and cons. Some prefer one, some prefer the other.  We need as much diversity in bitcoinland as we can get. Not everyone wants the chicken to taste the same.
hero member
Activity: 668
Merit: 501
November 25, 2013, 07:41:32 PM
The downside is that it depends on its servers. If they all went down, Mycelium would cease to function. Take your pick.

Right now, if the Mycelium servers would go down, you can import a key into any other client easily. The quickest way would be to export a single key in SIPA format (as qr code, or via clipboard) and import it into bitcoin-qt or any other client. so your money is not "locked" like with a web-wallet or a wallet where an encrypted wallet is stored in the cloud. it is all on YOUR phone and in YOUR backups.

Also, if you need to decrypt the 2-factor backup key without a Smartphone, the code is Apache Licensed at https://raw.github.com/mycelium-com/wallet/master/public/bitlib/src/main/java/com/mrd/bitlib/crypto/MrdExport.java and a textual decription of the algorithm is in the pdf.
hero member
Activity: 483
Merit: 551
November 25, 2013, 05:50:04 PM
You can import private keys using Mycelium for Android, but it's not a true P2P app.

While it is formally true, Mycelium uses central servers only to obtain blockchain information. Everything that is critical to its security is done in peer-to-peer fashion. Private keys are kept in Mycelium's local, private data storage, so in terms of security it is no different from a peer-to-peer app.

The blockchain is very security critical. By relying on a centralized server for that you lose quite some security and reliability compared to a true p2p app imho.
hero member
Activity: 695
Merit: 500
November 25, 2013, 05:20:49 PM
You can import private keys using Mycelium for Android, but it's not a true P2P app.

This statement needs a bit more qualification. While it is formally true, Mycelium uses central servers only to obtain blockchain information. Everything that is critical to its security is done in peer-to-peer fashion. Private keys are kept in Mycelium's local, private data storage, so in terms of security it is no different from a peer-to-peer app.

To me this looks like an interesting compromise. The app is lightweight and functions without any delay, yet it retains as much security as is possible on Android, which is more than any program could have on a Windows computer, for example.

The downside is that it depends on its servers. If they all went down, Mycelium would cease to function. Take your pick.
legendary
Activity: 1680
Merit: 1035
November 25, 2013, 01:28:29 PM
You can import private keys using Mycelium for Android, but it's not a true P2P app.
legendary
Activity: 3416
Merit: 1912
The Concierge of Crypto
November 22, 2013, 09:38:53 AM
I import private keys all the time. But I use bitcoin-qt when I do that.
hero member
Activity: 483
Merit: 551
November 22, 2013, 08:34:29 AM
I just read about Casascius coins and their "mini private key format" and its a disaster: Their private keys have a lot less entrophy by design.
hero member
Activity: 483
Merit: 551
November 22, 2013, 08:24:21 AM
Also, importing private keys into your wallet is quite risky and should be discouraged. This is especially true if they were created by a third party (Casascius) and in the hands of several intermediates (merchants, postal services and so on). Don't do that!

The only usecase I can imagine the app to support is swiping the keys (to your wallet). But still, it's got the problem of no P2P support for that usecase like Mike outlined.
legendary
Activity: 1526
Merit: 1134
November 22, 2013, 06:07:21 AM
Quote
1) If that is so, how come other applications let me set the fee arbitrarily? If what you're saying is true, why is there ever such a thing as a zero-fee transaction?

You can set it to either zero, or the current fee level the app uses, or higher. However, setting it higher does not guarantee faster confirmation - often it will be pointless. Setting it to zero can result in confirmation delays of greater than 24 hours at the moment, OR failure to relay. Setting it lower than the current level but above zero can result in the transaction failing to relay.

So it's complicated. If users were able to set the fee themselves, very likely many people would either waste money or create transactions that never confirm.

Quote
2) OK, I have to take that at face value since I have no idea how Andreas' app works internally and how that's different from anything else. I haven't seen that feature in the blockchain app either, btw.

I'm pretty sure the website can do it at least. The problem with importing a private key is you need an index into the UTXO set. Currently P2P nodes don't calculate such an index. Block explorers do, however. So to make that feature work with just the P2P network we'd need a way for bitcoind/bitcoin-qt nodes to calculate the index and define a p2p protocol extension to query it, and because it's expensive (in terms of cpu/disk time) not all nodes would want to do it, so some would have to opt in and then we'd need a way to find them like by using addr service bits.

It can be done. But it's not a high priority. Storing private keys in qrcodes is a bit odd anyway. Outside of physical bitcoins it's normally never a good idea.
legendary
Activity: 2058
Merit: 1005
this space intentionally left blank
November 22, 2013, 06:00:20 AM
Unfortunately both of those features, whilst they make total sense, are a bit tricky to do.

1) Fees are currently hard-coded by the Bitcoin network. It will take a global upgrade to change them Sad Gavin is working on code that will make fees float, but it's complex and not done yet. I wouldn't anticipate that happens until maybe March or April of next year. I'm hoping he will choose to do an intermediate 0.8.x release that drops the hard-coded fee again before then.

2) The P2P network cannot provide the data required to import money from arbitrary private keys. Andreas could "cheat" by relying on blockchain.info, but that's not very decentralised. Adding support to the P2P network is possible, but nobody is working on it at the moment.

For now, for (2), the simplest approach is to use the blockchain.info app and then send the money onwards to wherever you want it to reside.

1) If that is so, how come other applications let me set the fee arbitrarily? If what you're saying is true, why is there ever such a thing as a zero-fee transaction?

2) OK, I have to take that at face value since I have no idea how Andreas' app works internally and how that's different from anything else. I haven't seen that feature in the blockchain app either, btw.
legendary
Activity: 1526
Merit: 1134
November 22, 2013, 05:07:40 AM
Unfortunately both of those features, whilst they make total sense, are a bit tricky to do.

1) Fees are currently hard-coded by the Bitcoin network. It will take a global upgrade to change them Sad Gavin is working on code that will make fees float, but it's complex and not done yet. I wouldn't anticipate that happens until maybe March or April of next year. I'm hoping he will choose to do an intermediate 0.8.x release that drops the hard-coded fee again before then.

2) The P2P network cannot provide the data required to import money from arbitrary private keys. Andreas could "cheat" by relying on blockchain.info, but that's not very decentralised. Adding support to the P2P network is possible, but nobody is working on it at the moment.

For now, for (2), the simplest approach is to use the blockchain.info app and then send the money onwards to wherever you want it to reside.
legendary
Activity: 2058
Merit: 1005
this space intentionally left blank
November 22, 2013, 02:07:35 AM
tried to submit two "issues" (really, feature requests), but the site timed out on me.

a) peg the fee to the USD24h average.
the fee shouldn't be more than, say, 2 to 5 cents. right now, at 700usd, it's about 7 cents, which isn't too far off. however, advertising bitcoin as a means of convenient "micro"-payments will become increasingly difficult with an increasing bitcoin exchange rate. pay my newspaper with bitcoin and pay that same amount in fees? nothanks.

b) casascius import
casascius coins are getting increasingly popular around these parts. wouldn't it be awesome if I were able to import these coins hassle-free with my favourite bitcoin app?
legendary
Activity: 3430
Merit: 3080
September 26, 2013, 11:47:48 AM

I am a computer programmer, and so I am some kind of control freak by profession, because my professional desire is to control exactly what the computer does. But when it comes to my Nexus phone, I actually enjoy its well-programmed automatisms, like automatically killing programs when they are no longer needed and when the RAM is needed for something new. I always wish for more automatic goodies, rather than for more control. There are already enough things in life that need to be controlled. Consequently, when I write a computer program, I think twice or even more often, before I leave a decision, a setting to the end user. There is also a saying that, if there is a setting, users will set it wrong.

Now there's a good argument (or the beginnings of one): power user environments are not well suited to the real world environment that phones mostly get used in, e.g. when you're traveling around to keep various appointments, whilst simultaneously paying in shops, communicating about other scheduled stuff on different days, swiping NFC at public transport terminals etc. OS automation of managing background tasks is a useful model in that context, and it's easily the sort of overloaded situation you could find yourself in when you're using Bitcoin Wallet Android for real.

Android, and certainly Cyanogen, have a lot of functionality "buried" to just the right depth; you don't want to be given the option to change international dialing or mobile network options at a shallow level of the settings, as you could inquisitively or accidentally change them to something that is difficult or stressful to revert when you least need that burden (making emergency calls or if lost, stranded or drunk etc). So it's arguably a good model for practical usage of the device: you're never going to find yourself using a power user configured desktop machine with 27" monitor in the range of circumstances that you could with a phone. I'm not going to pretend I'm not still keen for someone to innovate a power user/control freak model for those of us so inclined, and Cyanogen may drift away from that trajectory now they're "sponsored". Still a nascent space though, we will see.
hero member
Activity: 695
Merit: 500
September 26, 2013, 07:48:45 AM
I still like to be able to run my bitcoin wallet for android, on demand. It keeps running even though I disconnect it on purpose or I force-fully close it.

Dunno, but that's just me.

I don't want the OS deciding some things, such as when to kill it. When I kill it, I don't want it resurrecting unless I run it again.

Yes, I read and understand the earlier points, but some of us Android users are a little picky about apps and stuff, not to mention rooting it and related stuff. (I also understand one major reason to root your device, and that is to take full control of it.)

Placebo or not, I have my "App Manager" or "Active Applications" on my home screen. I exit and kill off everything when I'm done with them, then clear the RAM.

I don't have to do it, but ... I just do. Some people are wired that way.

They are called control freaks.

Women sometimes have a problem with their partners when they are control freaks. Smiley Seems to be a predominantly male phenomenon.

I am a computer programmer, and so I am some kind of control freak by profession, because my professional desire is to control exactly what the computer does. But when it comes to my Nexus phone, I actually enjoy its well-programmed automatisms, like automatically killing programs when they are no longer needed and when the RAM is needed for something new. I always wish for more automatic goodies, rather than for more control. There are already enough things in life that need to be controlled. Consequently, when I write a computer program, I think twice or even more often, before I leave a decision, a setting to the end user. There is also a saying that, if there is a setting, users will set it wrong.

As somebody who knows Android well, some people come to me when they have problems. One of the most frequent set of problems is that many clueless users apparently have an intense desire to switch everthing in their smartphones off. Then they come to me and ask for help.

* My GPS takes very long to get a fix. – The guy has disabled data and probably Wi-Fi as well.

* I cannot get a network. – The guy has manually selected a particular network and forgotten or never realised that he should switch that back to automatic.

* Google Maps does not show my location. – Sure enough, the location services are off.

* My compass does not work. – They guy has stuffed his smartphone into a cover with a magnetic lock. OK, that's a different matter, but it shows how clueless people often are.
legendary
Activity: 3416
Merit: 1912
The Concierge of Crypto
September 23, 2013, 06:11:23 AM
Granted, there are literally hundreds of thousands of apps in the play store, and even mote APKs outside. Some are good. Most are crap. Even the games, some just... I don't get them. Hehe..
legendary
Activity: 1526
Merit: 1134
September 23, 2013, 04:02:38 AM
Probably those apps are hitting the disk way too hard, in the background.

An ex girlfriend of mine had a Galaxy S2 that was like that. The UI was like treacle, I couldn't believe she used the phone at all. A bit of debugging revealed that she had some kind of crappy Lotus Notes app installed which was constantly using the disk in the background, for god knows what reason. Removing it fixed the phone.

Unfortunately if you're in the position where you have to use apps written by incompetent developers and those apps trash your device, but you still can't do without it - then you're in a bad position for sure. Maybe the developers don't even realise their app is doing that. But it's not a general observation about writing Android apps, that's just bad luck on your part.
legendary
Activity: 3416
Merit: 1912
The Concierge of Crypto
September 23, 2013, 04:00:07 AM
I still like to be able to run my bitcoin wallet for android, on demand. It keeps running even though I disconnect it on purpose or I force-fully close it.

Dunno, but that's just me.

I don't want the OS deciding some things, such as when to kill it. When I kill it, I don't want it resurrecting unless I run it again.

Yes, I read and understand the earlier points, but some of us Android users are a little picky about apps and stuff, not to mention rooting it and related stuff. (I also understand one major reason to root your device, and that is to take full control of it.)

Placebo or not, I have my "App Manager" or "Active Applications" on my home screen. I exit and kill off everything when I'm done with them, then clear the RAM.

I don't have to do it, but ... I just do. Some people are wired that way.
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
September 23, 2013, 03:58:57 AM
And then eventually things slow down again, right?

Probably so - although (let me just quote your last sentence)...

The right fix is for the apps you use to not suck.

..the apps in question are Chinese ones that my wife (and not myself) uses (so unfortunately not much choice for me with regards to changing that apart from buying another device). So if I didn't have the ability to shut down the tasks in question then it would be much worse.

I am not joking that at times it gets so slow I think it must have crashed (but then suddenly comes back to life) and I don't doubt that the problem is most likely due to badly written applications.

The point that I'd like to make is one of "leaky abstractions" - yes it would be nice if apps all performed correctly and never had bugs but that won't be true ever as you should well know. So to take away the ability of the user to do something about an app that is behaving badly IMO is a stupid idea (although making it an *advanced* menu item or whatever is fine with me).
legendary
Activity: 1526
Merit: 1134
September 23, 2013, 03:53:52 AM
And then eventually things slow down again, right?

If your S3 is really taking 20 seconds to respond to a tap then something has gone very badly wrong there. That's not a UI design issue. That's a "you have installed apps that are buggy and behaving very badly". The right fix is not for you to be constantly screwing around with an app manager, even though that might be a quick way to temporarily stem the bleeding. The right fix is for the apps you use to not suck.
Pages:
Jump to: