Pages:
Author

Topic: Mycelium Bitcoin Wallet - page 78. (Read 586368 times)

Jan
legendary
Activity: 1043
Merit: 1002
September 17, 2014, 09:15:16 AM
...

With the current version of Mycelium you can go to the Keys tab and see the addresses you are working on. Some of those addresses have a key associated with them, they are the ones you can spend from. The ones without a key are so called read-only addresses, you can monitor them but not spend from them.

With Mycelium 2.0 the Keys tab is renamed to Accounts. All your existing keys/addresses are now called accounts and work like before. Those are the ones I call legacy accounts.

In addition you will have one or more Hierarchal Deterministic  (HD) accounts following the BIP32/BIP44 standard. An HD account is one that automatically generates new addresses as you use the wallet for sending and receiving. This means that you get much more anonymous (today anyone who knows your Mycelium bitcoin address can see all transactions associated with it).
Furthermore, because we now have BIP32 support this means that one backup of one secret is enough to generate all the private keys/addresses you will ever need for all the HD accounts you will ever need. Everything can be deterministically generated from one secret. The backup mechanism we use follows the BIP39 standard, and basically involves that you write down 12 random words on paper.

As a user you will not have to worry about all of those addresses, they are managed internally.


Today Mycelium lets you monitor 20 separate bitcoin addresses. For some of those addresses you also have a key (the default), which lets you spend from them

Great So what your saying is the old way will not disappear, I will be able to choose ?
Lets just say I want to make a new account can I make it like a legacy ? And how will I be able to make another legacy type account with Mycelium 2.0, I assume there are options for this? Or are you saying that ANY new account created from M-2.0 will be HD and will transact in the NEW style?
If this is the case does this mean I will never be able to make another legacy account with M-2.0 other than my old account from previous  version of mycelium meaning I will have to make it outside of M-2.0 and then import it? Thanks for clarification

I mean who knows when I feel comfortable I may jump to HD, but its still great to have a choice.
Correct, you have a choice.
But, the wallet will no longer let you create new random legacy accounts (create a new random key), you can however import a private key that you have made elsewhere by selecting Advanced when creating a new account. In that scenario we expect the user to know what he does and that he has the private key stored safely outside the wallet. It will not be part of the HD account backup.

We really wish our users to be safe and not loose funds because they sent funds to a key that they cannot recover.

You should really try it out. Everything is available for the testnet, where you can play around with worthless testnet coins: https://play.google.com/store/apps/details?id=com.mycelium.testnetwallet
Once you have it installed you can get free testnet coins by "buying" them  (for free) from Virtual Trader when you click Buy / Sell Bitcoins
sr. member
Activity: 420
Merit: 250
September 17, 2014, 08:36:52 AM
thanks guys,

so as for my queries, is this going to effect the way I transact now as well as transact from my cold storage, I really do not want to mess around with different change addresses, I just do not want to know about it and I want to use the same address as I do now. I also want to keep 1 Cold Storage backup and not keep changing my backup every single time I make a simple transaction from it.
In that case, after the 2.0 upgrade, you should just keep using your existing (legacy accounts) and cold storage spending.
Sorry, but I don't understand it, could you make it a bit clear. Thanks

With the current version of Mycelium you can go to the Keys tab and see the addresses you are working on. Some of those addresses have a key associated with them, they are the ones you can spend from. The ones without a key are so called read-only addresses, you can monitor them but not spend from them.

With Mycelium 2.0 the Keys tab is renamed to Accounts. All your existing keys/addresses are now called accounts and work like before. Those are the ones I call legacy accounts.

In addition you will have one or more Hierarchal Deterministic  (HD) accounts following the BIP32/BIP44 standard. An HD account is one that automatically generates new addresses as you use the wallet for sending and receiving. This means that you get much more anonymous (today anyone who knows your Mycelium bitcoin address can see all transactions associated with it).
Furthermore, because we now have BIP32 support this means that one backup of one secret is enough to generate all the private keys/addresses you will ever need for all the HD accounts you will ever need. Everything can be deterministically generated from one secret. The backup mechanism we use follows the BIP39 standard, and basically involves that you write down 12 random words on paper.

As a user you will not have to worry about all of those addresses, they are managed internally.


Today Mycelium lets you monitor 20 separate bitcoin addresses. For some of those addresses you also have a key (the default), which lets you spend from them

Great So what your saying is the old way will not disappear, I will be able to choose ?
Lets just say I want to make a new account can I make it like a legacy ? And how will I be able to make another legacy type account with Mycelium 2.0, I assume there are options for this? Or are you saying that ANY new account created from M-2.0 will be HD and will transact in the NEW style?
If this is the case does this mean I will never be able to make another legacy account with M-2.0 other than my old account from previous  version of mycelium meaning I will have to make it outside of M-2.0 and then import it? Thanks for clarification

I mean who knows when I feel comfortable I may jump to HD, but its still great to have a choice.
Jan
legendary
Activity: 1043
Merit: 1002
September 17, 2014, 08:27:01 AM
thanks guys,

so as for my queries, is this going to effect the way I transact now as well as transact from my cold storage, I really do not want to mess around with different change addresses, I just do not want to know about it and I want to use the same address as I do now. I also want to keep 1 Cold Storage backup and not keep changing my backup every single time I make a simple transaction from it.
In that case, after the 2.0 upgrade, you should just keep using your existing (legacy accounts) and cold storage spending.
Sorry, but I don't understand it, could you make it a bit clear. Thanks

With the current version of Mycelium you can go to the Keys tab and see the addresses you are working on. Some of those addresses have a key associated with them, they are the ones you can spend from. The ones without a key are so called read-only addresses, you can monitor them but not spend from them.

With Mycelium 2.0 the Keys tab is renamed to Accounts. All your existing keys/addresses are now called accounts and work like before. Those are the ones I call legacy accounts.

In addition you will have one or more Hierarchal Deterministic  (HD) accounts following the BIP32/BIP44 standard. An HD account is one that automatically generates new addresses as you use the wallet for sending and receiving. This means that you get much more anonymous (today anyone who knows your Mycelium bitcoin address can see all transactions associated with it).
Furthermore, because we now have BIP32 support this means that one backup of one secret is enough to generate all the private keys/addresses you will ever need for all the HD accounts you will ever need. Everything can be deterministically generated from one secret. The backup mechanism we use follows the BIP39 standard, and basically involves that you write down 12 random words on paper.

As a user you will not have to worry about all of those addresses, they are managed internally.


Today Mycelium lets you monitor 20 separate bitcoin addresses. For some of those addresses you also have a key (the default), which lets you spend from them
legendary
Activity: 1014
Merit: 1003
VIS ET LIBERTAS
September 17, 2014, 07:56:54 AM
thanks guys,

so as for my queries, is this going to effect the way I transact now as well as transact from my cold storage, I really do not want to mess around with different change addresses, I just do not want to know about it and I want to use the same address as I do now. I also want to keep 1 Cold Storage backup and not keep changing my backup every single time I make a simple transaction from it.
In that case, after the 2.0 upgrade, you should just keep using your existing (legacy accounts) and cold storage spending.
Sorry, but I don't understand it, could you make it a bit clear. Thanks
Jan
legendary
Activity: 1043
Merit: 1002
September 17, 2014, 06:40:12 AM
thanks guys,

so as for my queries, is this going to effect the way I transact now as well as transact from my cold storage, I really do not want to mess around with different change addresses, I just do not want to know about it and I want to use the same address as I do now. I also want to keep 1 Cold Storage backup and not keep changing my backup every single time I make a simple transaction from it.
In that case, after the 2.0 upgrade, you should just keep using your existing (legacy accounts) and cold storage spending. They continue work as they do today.
The main benefits of using the new HD accounts are to be more anonymous and only making one backup ever.
sr. member
Activity: 420
Merit: 250
September 17, 2014, 06:27:23 AM
thanks guys,

so as for my queries, is this going to effect the way I transact now as well as transact from my cold storage, I really do not want to mess around with different change addresses, I just do not want to know about it and I want to use the same address as I do now. I also want to keep 1 Cold Storage backup and not keep changing my backup every single time I make a simple transaction from it.
sr. member
Activity: 336
Merit: 251
September 17, 2014, 05:18:33 AM
If change still does not make sense to you then think of it this way:

If you want to buy something which cost say $20 and you only have a $50 note in your wallet it would mean that you will have to use that $50 and that will result in you receiving $30 change.

Same with your bitcoin wallet. If you for example only have one 'deposit' into your wallet of say $50 and you want to send somebody $20 it would mean that your wallet only has the $50 to use so in order to make the tx it would send $20 to the person as requested and at the same time send the balance (change) of $30 back to you.

It can get a little more complex but the basic principle still applies. If you for example have say 3 'deposits' into your wallet of say $10, $30 and $100 you will have a total wallet balance of $140. If you want to send $120 to somebody your wallet has to make up that $120 by looking at whats available. In this case it would take the $100 and the $30 and from that send off the $120 and send the $10 (change) back to you.


hero member
Activity: 707
Merit: 500
September 17, 2014, 04:29:02 AM
To clarify things about change:

Change is not an optional concept. The "balance of your address" is really actually a collection of unspent outputs. Whenever you send a transaction, it consumes one or more of those outputs as inputs into your transaction, and there is no way for a transaction to use only parts of the value in that amount - you either use up one output, or not. So in most cases, you end up with more value going into a transaction then you send out, and thus have to create two outputs in your transaction: One for the receiver of money, one with the change going back to you. Note that there are not two separate transactions being constructed, sending change is not a second transaction, but a necessary thing for the one transaction you are sending.

Some wallets, just send it back to the same address you used for the inputs. In case there are more, they might select a random one, or the one with the biggest input, or have their own rules. Some wallets create new addresses for your change. And most of them do not display those change amounts in the transaction history. The transaction history wants to display how you move funds on a more abstract level, and since change goes from one of your own addresses to the same or another, its not worth displaying.

You can see all the change moving if you look at transactions in a block explorer like blockchain.info or blockr.io, and if the change address was newly created, they cant even tell which output is change and which one is the actual payment. So all in all: every wallet has to handle change, they just use different ways to do so, and not all of them show to you the fact that they do, because most times its something you just dont want to know about.
sr. member
Activity: 420
Merit: 250
September 17, 2014, 04:18:06 AM

The current version does not use separate change addresses, but the next version will. However, this is unrelated to being able to spend 'change sent back to self'. When you send a transaction you almost always have a change output which goes back to one of your own addresses (unless you spend exactly all value of your unspent outputs). Most wallet implementations allow you to spend that change immediately without confirmation as you are not expected to double spend yourself.



Ohno  Shocked I really REALLY hope this does not effect the way I transact as this is the reason I use this wallet..hopefully you can ease my mind by answering a couple more queries thanks buddy--- In regards Change addresses, I am very curious why this needs to be implemented if it is going back to the same address? Isn't this just a waste of transaction on the BTC blockchain as well as waste of time.

In regards to the next version, I assume there is no need for fee's with this 2nd change address transaction? Is there an option to Not have any seperate change addresses and ONLY use the 1 address, if be it then it can send the change back to the same address, I just really hate having so many different addresses ESPECIALLY if I am spending from a cold storage?  CHange addresses make me uncomfortable and I find them useless for what I do, in your new version will everything work how it is working now but with more options and obviously differently in the background ? Lets say If I spend some BTC from a cold address is it going be exactly how it is now, as in my precious Key will stay the same and I do not have to keep changing private keys and creating endless backups?


(think NFC version of Trezor).  

Quote
I am not saying that we will not do it, but it is not as trivial as it may seem.

It's not trivial at all.  

+10 Now this is one HELL of an Idea, many mobiles use NFC now, if you can utilize this, you have not hit the nail in the head , you have literally smashed the nail on the head, this would make You phone a Complete VAULT+ Bank + ATM + POS + Anything you want to do lol

I was thinking something even more simple, Like how Bither use there offline and Online versions of the wallet.

legendary
Activity: 1162
Merit: 1007
September 16, 2014, 02:21:47 PM
By offline signing I guess you mean the ability to transfer sufficient unsigned data to an offline wallet, have it create a signed transaction, and then transfer the transaction to the online wallet. We have been thinking about that for a long time but there are a few things holding us back.
1. For security reasons it is not enough to just transfer the unsigned transaction offline. You need to transfer all the complete set of transactions that fund the new transaction. This allows the offline signer to verify that you do not pay an exorbitant fee. This can easily mean tens or hundreds of kilo bytes of data. Using animated QR codes will not suffice. You need something like a USB stick or a bluetooth (which may open another attack vector)

Right.  It's important that the offline device be made aware of the parent transactions in order to know the value that it's signing for.  So like you said, QR codes are not practical due to the potentially-large volume of transacted data.  The natural solution to this for mobile devices IMO is NFC.  NFC supports bi-directional communication at least as fast as 106 kbps, is extremely short range, and generates a magnetic field that can power a low-cost microcontroller and a display (think NFC version of Trezor).  

Quote
I am not saying that we will not do it, but it is not as trivial as it may seem.

It's not trivial at all.  I think for this to be useful, the community needs to work towards a BIP that tries to define an open and flexible protocol for inter-wallet transactions, perhaps built off the payment protocol (BIP70).  It could work over USB / NFC / etc by defining only a new transport layer.  I'm wondering if it's possible that such a protocol can be sufficiently flexible to define wallet-to-wallet transfers between online/online and online/offline devices, as well as bitcoin payments at brick-and-mortar stores.  
sr. member
Activity: 280
Merit: 250
Brainwashed this way
September 16, 2014, 02:02:34 PM
Jan
legendary
Activity: 1043
Merit: 1002
September 16, 2014, 01:52:56 PM
Hi, I've read quickly through the 47 pages here but I could not find anything about signing a message with my Mycelium wallet address to prove its mine. Is there a way to do this? Thanks in advance.
Yep. Go to the Keys tab, select a key, then choose Sign Message.
sr. member
Activity: 280
Merit: 250
Brainwashed this way
September 16, 2014, 01:23:50 PM
Hi, I've read quickly through the 47 pages here but I could not find anything about signing a message with my Mycelium wallet address to prove its mine. Is there a way to do this? Thanks in advance.
legendary
Activity: 1358
Merit: 1001
https://gliph.me/hUF
September 16, 2014, 09:58:01 AM
[...] Using animated QR codes will not suffice. You need something like a USB stick or a bluetooth (which may open another attack vector) [...]

Or sound. Might actually work quite well on phones. Just hold them inverted to each other, so one's phone mic goes to the other's phone speaker and vice versa.

https://bitcointalksearch.org/topic/tx-signing-via-minimodem-735111
Jan
legendary
Activity: 1043
Merit: 1002
September 16, 2014, 09:44:04 AM
Here is a problem I have been having when doing in person trades. I have been using wallet32 for all my trades lately (until the mycelium hd wallet comes out). Often I am doing trades where there are more than one people that I have to trade with at the same time, usually one guy I know and his friend. I have a few times run into the problem where I cant send funds to the second guy right away because all my bitcoins are tied up with the last transaction. I have to wait for one confirm before the remaining funds are sent back to one of my change addresses. I know I can keep different amounts on different addresses/accounts to try and avoid this problem but this is a pain to send smaller amounts to a bunch of separate addresses and can start costing some significant money at 0.0001 per transaction. My question is, are there any plans to one day implement the ability on the mycelium wallet to sent to multiple addresses in one transaction such as one is able to do on mytrezor.com z.B.?

From day one Mycelium has allowed you to send "unconfirmed change sent to self" just like the satoshi client. So you won't have to wait for a confirmation to send the next transaction. You can however not spend coins sent from another address before it has confirmed. This also applies to the HD upgrade.

Wait a minute, I am totally confused here,

Mycelium doesn't use change addresses right? I have tested this myself, I sent a transaction to an address, 2 seconds later I sent another transaction to another address, Both TRansactions confirmed seconds apart from each other. When I check the transaction history it only shows 2 transactions to these addresses, it doesnt show any change returning to my address. I thought Change address was just a feature that wallet devs can implement or not, its up to them and I thought mycelium did not implement this feature, which I am thankful for. Or am I wrong? does mycellium use the same address as the change address , so in reality there is 2 transactions being sent . 1 to the receiver and 1 back to the sender. Is this a MUST-USE feature of bitcoin?



I have another question for the updates to come -

Will you think about implementing Multi-Sig option as this is truly the future of security and other contracts. How awesome would it be if Mycelium did it all.

Lastly is offline signing on your roadmap?

These last 2 features would literally make this app unstoppable and allow people who have never used bitcoin before to really see the power of it all in one single app.

The current version does not use separate change addresses, but the next version will. However, this is unrelated to being able to spend 'change sent back to self'. When you send a transaction you almost always have a change output which goes back to one of your own addresses (unless you spend exactly all value of your unspent outputs). Most wallet implementations allow you to spend that change immediately without confirmation as you are not expected to double spend yourself.

We are thinking about multi-sig, but it will have to wait until we have BIP32/39/43/44 under our belt, which will happen in the next release.

By offline signing I guess you mean the ability to transfer sufficient unsigned data to an offline wallet, have it create a signed transaction, and then transfer the transaction to the online wallet. We have been thinking about that for a long time but there are a few things holding us back.
1. For security reasons it is not enough to just transfer the unsigned transaction offline. You need to transfer all the complete set of transactions that fund the new transaction. This allows the offline signer to verify that you do not pay an exorbitant fee. This can easily mean tens or hundreds of kilo bytes of data. Using animated QR codes will not suffice. You need something like a USB stick or a bluetooth (which may open another attack vector)
2. It requires you to use a second phone for only that purpose, which will be a turn off for many users.

I am not saying that we will not do it, but it is not as trivial as it may seem.
sr. member
Activity: 420
Merit: 250
September 16, 2014, 09:19:50 AM
Here is a problem I have been having when doing in person trades. I have been using wallet32 for all my trades lately (until the mycelium hd wallet comes out). Often I am doing trades where there are more than one people that I have to trade with at the same time, usually one guy I know and his friend. I have a few times run into the problem where I cant send funds to the second guy right away because all my bitcoins are tied up with the last transaction. I have to wait for one confirm before the remaining funds are sent back to one of my change addresses. I know I can keep different amounts on different addresses/accounts to try and avoid this problem but this is a pain to send smaller amounts to a bunch of separate addresses and can start costing some significant money at 0.0001 per transaction. My question is, are there any plans to one day implement the ability on the mycelium wallet to sent to multiple addresses in one transaction such as one is able to do on mytrezor.com z.B.?

From day one Mycelium has allowed you to send "unconfirmed change sent to self" just like the satoshi client. So you won't have to wait for a confirmation to send the next transaction. You can however not spend coins sent from another address before it has confirmed. This also applies to the HD upgrade.

Wait a minute, I am totally confused here,

Mycelium doesn't use change addresses right? I have tested this myself, I sent a transaction to an address, 2 seconds later I sent another transaction to another address, Both TRansactions confirmed seconds apart from each other. When I check the transaction history it only shows 2 transactions to these addresses, it doesnt show any change returning to my address. I thought Change address was just a feature that wallet devs can implement or not, its up to them and I thought mycelium did not implement this feature, which I am thankful for. Or am I wrong? does mycellium use the same address as the change address , so in reality there is 2 transactions being sent . 1 to the receiver and 1 back to the sender. Is this a MUST-USE feature of bitcoin?



I have another question for the updates to come -

Will you think about implementing Multi-Sig option as this is truly the future of security and other contracts. How awesome would it be if Mycelium did it all.

Lastly is offline signing on your roadmap?

These last 2 features would literally make this app unstoppable and allow people who have never used bitcoin before to really see the power of it all in one single app.
legendary
Activity: 1708
Merit: 1020
September 16, 2014, 03:35:10 AM
Is it possible to view the transaction values in currency? I would not mind whether it was at the current rate or rate of transaction.

This would allow for a very simple point of sale process.

You can already switch between bitcoin and currencies when entering the amount. Press the blue mBTC button next to where the amount shows up as you enter it. Or did you mean something else?
Yeah, I meant in the transaction view.
Jan
legendary
Activity: 1043
Merit: 1002
September 16, 2014, 01:27:15 AM
Here is a problem I have been having when doing in person trades. I have been using wallet32 for all my trades lately (until the mycelium hd wallet comes out). Often I am doing trades where there are more than one people that I have to trade with at the same time, usually one guy I know and his friend. I have a few times run into the problem where I cant send funds to the second guy right away because all my bitcoins are tied up with the last transaction. I have to wait for one confirm before the remaining funds are sent back to one of my change addresses. I know I can keep different amounts on different addresses/accounts to try and avoid this problem but this is a pain to send smaller amounts to a bunch of separate addresses and can start costing some significant money at 0.0001 per transaction. My question is, are there any plans to one day implement the ability on the mycelium wallet to sent to multiple addresses in one transaction such as one is able to do on mytrezor.com z.B.?

From day one Mycelium has allowed you to send "unconfirmed change sent to self" just like the satoshi client. So you won't have to wait for a confirmation to send the next transaction. You can however not spend coins sent from another address before it has confirmed. This also applies to the HD upgrade.
legendary
Activity: 1680
Merit: 1035
September 15, 2014, 06:51:23 PM
Here is a problem I have been having when doing in person trades. I have been using wallet32 for all my trades lately (until the mycelium hd wallet comes out). Often I am doing trades where there are more than one people that I have to trade with at the same time, usually one guy I know and his friend. I have a few times run into the problem where I cant send funds to the second guy right away because all my bitcoins are tied up with the last transaction. I have to wait for one confirm before the remaining funds are sent back to one of my change addresses. I know I can keep different amounts on different addresses/accounts to try and avoid this problem but this is a pain to send smaller amounts to a bunch of separate addresses and can start costing some significant money at 0.0001 per transaction. My question is, are there any plans to one day implement the ability on the mycelium wallet to sent to multiple addresses in one transaction such as one is able to do on mytrezor.com z.B.?

On the testnet version of Mycelium Wallet you can send funds over and over, with 0 confirmations, as long as they are from your own BIP32 wallet, so that shouldn't be a problem.
hero member
Activity: 707
Merit: 500
September 15, 2014, 06:49:45 PM
Das z. B. am Ende sieht verdächtig deutsch aus... 😜

We have not discussed whether and when we want to provide the ability to have multiple receivers in one transaction, but this seems like a valid request for me. Note that you are able to spent your change right away, without waiting for a confirmation.
Pages:
Jump to: