Pages:
Author

Topic: Armory - Discussion Thread - page 50. (Read 521749 times)

hero member
Activity: 563
Merit: 500
May 06, 2014, 07:30:51 PM
So you would want to hide the balances per wallet. I think that's a great idea. Perhaps we can hide the balance of specified wallets and only show it in hover text.

Yes, I think so - although then I don't know what you would do with the totals.  As I said, it's still a bit of a thought-in-progress.

roy
full member
Activity: 123
Merit: 100
May 06, 2014, 07:12:56 PM
Ah, so the long delay before Armory displays the balances is actually a feature, to give me time to do this....   That works Smiley

There actually is a reason for the delay. Armory only shows balances after it has synced with the top block. Seeing that balance tells the user that it is now available for creating transactions. Armory really cannot allow users to create transactions unless it is fully synced. Not everything in Armory is as efficient as possible, but some things necessarily take time.

EDIT: Actually, that doesn't help if I actually do want to check the balance of the wallet I'm paying with - without revealing the balance of any other wallet(s)

So you would want to hide the balances per wallet. I think that's a great idea. Perhaps we can hide the balance of specified wallets and only show it in hover text.
hero member
Activity: 563
Merit: 500
May 06, 2014, 06:53:27 PM
I have a feature request, that's kind of a thought-in-progress...
...

I'm not sure what UI change I'm really asking for here - maybe a preference that hides balances when the client is launched (and allows an individual wallet balance to still be viewed by means of a UI action)?
...
Thoughts, anyone?

You could drag the right edge of the Armory window to the left until the balance column is obscured.

Ah, so the long delay before Armory displays the balances is actually a feature, to give me time to do this....   That works Smiley

EDIT: Actually, that doesn't help if I actually do want to check the balance of the wallet I'm paying with - without revealing the balance of any other wallet(s)
full member
Activity: 123
Merit: 100
May 06, 2014, 06:42:23 PM
I have a feature request, that's kind of a thought-in-progress...
...

I'm not sure what UI change I'm really asking for here - maybe a preference that hides balances when the client is launched (and allows an individual wallet balance to still be viewed by means of a UI action)?
...
Thoughts, anyone?

You could drag the right edge of the Armory window to the left until the balance column is obscured.
hero member
Activity: 563
Merit: 500
May 06, 2014, 06:37:59 PM
I have a feature request, that's kind of a thought-in-progress...

The other day I fired up Armory on my laptop while I was at work because I needed to transfer a small quantity of coins from my online Armory wallet to my Bitcoin Core wallet.  (I normally use Bitcoin Core for day to day purchases, but by balance was a little low.)  But I was conscious that anyone who happened to walk past and see my screen (and knew what they were looking at) would also know exactly how much I had in cold storage.

I'm not sure what UI change I'm really asking for here - maybe a preference that hides balances when the client is launched (and allows an individual wallet balance to still be viewed by means of a UI action)?

It's true that my bank's Internet banking has the same problem - launching it would reveal the balance of my current account (checking account), credit card account, and savings account.   The difference, of course, is that I can make payments from the first two just by typing my debit or credit card number into a merchant's web site, so the privacy issue never arises in normal use...

Thoughts, anyone?



member
Activity: 113
Merit: 10
May 05, 2014, 02:56:22 PM
Caution: When copying and pasting the command line arguments from Troubleshooting Bitcoin Armory into your shortcut to launch Armory, the quotes are not actual characters recognized by Windows resulting in the path not being respected.
Quote
To move BOTH Bitcoin Core AND Armory home dir:

            Complete both steps above but instead, modify Armory Shortcut by adding: --satoshi-datadir=“F:\Bitcoin\new\home\dir” --datadir=“F:\Armory\new\home\dir”
Notice the “ and ” instead of ".
legendary
Activity: 1400
Merit: 1013
May 05, 2014, 01:16:24 PM
Until then, the best thing you can do is exchange watching-only wallets with parties you interact with frequently, and make sure that any payment addresses they send you appear in the WO wallet you have for them.  Armory already gives you a way to watch multiple wallets and mark who they belong to.  Out-of-band verification of payment addresses (such as phone call) would be recommended for exceptionally large transactions.
This is something Bitcoin companies should have been doing for years.

How many exchange balance thefts would have been avoided if exchanges let users upload a WO wallet and only processed withdrawals to addresses in it?
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
May 05, 2014, 01:02:59 PM
Actually no pgp, just a public seed

Theoretically a malware could replace your public seed with the hacker's. The only bullet-proof way is to register an account with an offline pgp key (or with a bitcoin key), and sign any payment requests with the key.

Sorry guys, I've been out of town at the MIT Bitcoin Expo this past weekend and haven't even been looking at this thread.

I just want to mention that the "real" solution here is something I've talked about for a while, but no one else in the community seems to be taking it seriously, even though it's perfectly compatible with BIP 32.  You provide your BIP32 branch root public key (but not chaincode!), perhaps putting it on your business card.  So your business card contains the public key portion of M/i/j, then when you compute address M/i/j/k for someone to pay you, you do all the hashing and crypto, and save off the multiplier just before it is applied to M/i/j.  You send the recipient the receiving address and the multiplier.  They can apply the multiplier to the public key on your business card and see that it matches the address given, proving that it's actually part of your wallet.  Note that this is perfectly private because the chaincode is not the same as the multiplier, and cannot be computed from the multiplier.  It simply allows you to optionally prove that an address is related to your root public key without leaking any privacy or security information.

Stealth addresses are based on this idea, but don't require any interaction.  It lets the sender generate the multiplier for you using ECDH, and then encoding the DH information in an OP_RETURN output.  However, it comes at the expense of extra data in the blockchain, and the receiver must scan every transaction in the blockchain with expensive crypto ops to find transactions to his wallet.  This doesn't work with lite wallets, and the stealth address discussion has gone through many ideas of outsourcing that computation/search to trusted nodes with enough computing power.

Instead, using this rootkey+multiplier trick, you still have to provide a payment address to the sender, but they can prove to themselves that the address is yours as long as they have verified your root public key at any point in time.  This doesn't require any extra computation or embedded blockchain data like stealth addresses do.  It is a solid compromise between where we are and what stealth addresses attempt to accomplish.  

When I talked about "...and a whole lot more" in my foreshadowing of what the new wallet format will do, that is one of those things we will be supporting.  It would allow you to save BIP32 root public key information for various contacts in the wallet, and provide a new (optional) address encoding that proves your addresses are related.    In all cases, we are requiring the sender to verify the receiver's address under the assumption that maybe the receiver's own WO wallet has an error or is compromised.  

Until then, the best thing you can do is exchange watching-only wallets with parties you interact with frequently, and make sure that any payment addresses they send you appear in the WO wallet you have for them.  Armory already gives you a way to watch multiple wallets and mark who they belong to.  Out-of-band verification of payment addresses (such as phone call) would be recommended for exceptionally large transactions.



P.S. - This proposal does not have a compact extension into P2SH multisig, but it is still possible.  Your company would actually have, say, 5 public keys associated with the company address (because the company uses a 3-of-5).  The sender would receive 5 multipliers, apply the multipliers to verify each one, and then sort the resulting public keys and create the P2SH-multisig themselves.   There's no loss of privacy there, just a lot more data needing to be moved between parties to do the verification.

P.P.S - You would most likely include a much shorter hash on your business card, and then supply the root key(s), multiplier(s) and payment address all at once.  They would hash the root key(s) to make sure it matches your business card, then follow the process above.



legendary
Activity: 1792
Merit: 1111
May 05, 2014, 10:34:57 AM
One day we will be able to lock an exchange to a public key and they can make addresses guaranteed for us

I like that idea very much.

Could that be done without forcing the masses to learn PGP?

EDIT: or at least exchanges could make it an option for those who do wish to use PGP.

Actually no pgp, just a public seed

Theoretically a malware could replace your public seed with the hacker's. The only bullet-proof way is to register an account with an offline pgp key (or with a bitcoin key), and sign any payment requests with the key.
legendary
Activity: 1792
Merit: 1111
May 05, 2014, 10:31:23 AM
Regarding the virus, how would one double check that I was not victim to this attack.  **nervous**

Generate the new addresses on your cold system first, and then verify that the addresses you generate on the hot watch-only system match the addresses in the cold system.

If a computer is infected, it is completely hopeless

Let say you generated an address with the cold system, which is "1User". You send a withdrawal request to the exchange, asking them to send bitcoin to 1User. A sophisticated malware could secretly replace the address with "1Hacker" before sending the request the exchange.

Extremely valid point.

Some users on Reddit have actually been having this problem caused by extensions on google chrome. Though it could be any sort of malware, google chrome extensions just seem to be the thing lately.

Always a good idea to send a small test transaction out of an exchange before sending the whole amount.
I should be able to avoid that by noticing that I'm signing the txn to 1User on the offline rig.

No, it's not about signing, it's about sending a payment request
member
Activity: 103
Merit: 10
May 05, 2014, 02:06:54 AM
Regarding the virus, how would one double check that I was not victim to this attack.  **nervous**

Generate the new addresses on your cold system first, and then verify that the addresses you generate on the hot watch-only system match the addresses in the cold system.

If a computer is infected, it is completely hopeless

Let say you generated an address with the cold system, which is "1User". You send a withdrawal request to the exchange, asking them to send bitcoin to 1User. A sophisticated malware could secretly replace the address with "1Hacker" before sending the request the exchange.

Extremely valid point.

Some users on Reddit have actually been having this problem caused by extensions on google chrome. Though it could be any sort of malware, google chrome extensions just seem to be the thing lately.

Always a good idea to send a small test transaction out of an exchange before sending the whole amount.
I should be able to avoid that by noticing that I'm signing the txn to 1User on the offline rig.
legendary
Activity: 2912
Merit: 1060
May 04, 2014, 08:25:33 AM
One day we will be able to lock an exchange to a public key and they can make addresses guaranteed for us

I like that idea very much.

Could that be done without forcing the masses to learn PGP?

EDIT: or at least exchanges could make it an option for those who do wish to use PGP.

Actually no pgp, just a public seed
legendary
Activity: 2912
Merit: 1060
May 04, 2014, 07:38:21 AM
One day we will be able to lock an exchange to a public key and they can make addresses guaranteed for us
legendary
Activity: 1792
Merit: 1111
May 03, 2014, 11:39:53 PM
Regarding the virus, how would one double check that I was not victim to this attack.  **nervous**

Generate the new addresses on your cold system first, and then verify that the addresses you generate on the hot watch-only system match the addresses in the cold system.

If a computer is infected, it is completely hopeless

Let say you generated an address with the cold system, which is "1User". You send a withdrawal request to the exchange, asking them to send bitcoin to 1User. A sophisticated malware could secretly replace the address with "1Hacker" before sending the request the exchange.
legendary
Activity: 2912
Merit: 1060
May 03, 2014, 07:04:59 PM
Regarding the virus, how would one double check that I was not victim to this attack.  **nervous**

Generate the new addresses on your cold system first, and then verify that the addresses you generate on the hot watch-only system match the addresses in the cold system.

Do not get scared if they don't match at first! Look at the whole list and address number! They won't be synced.
Generating addresses on the cold rig matched all the generated addresses on the broadcast wallet so I guess I'm good.  Thanks for the heads up.

By "Do not get scared if they don't match at first!" do you just mean don't that I shouldn't be worried if I haven't generated the same addresses on the cold system as on the broadcast system?  Eg I've generated a few on the cold rig, but 50 on broadcast rig.  That is they should still be in generated in same order once generated.

Exactly
member
Activity: 103
Merit: 10
May 03, 2014, 06:52:19 PM
Regarding the virus, how would one double check that I was not victim to this attack.  **nervous**

Generate the new addresses on your cold system first, and then verify that the addresses you generate on the hot watch-only system match the addresses in the cold system.

Do not get scared if they don't match at first! Look at the whole list and address number! They won't be synced.
Generating addresses on the cold rig matched all the generated addresses on the broadcast wallet so I guess I'm good.  Thanks for the heads up.

By "Do not get scared if they don't match at first!" do you just mean don't that I shouldn't be worried if I haven't generated the same addresses on the cold system as on the broadcast system?  Eg I've generated a few on the cold rig, but 50 on broadcast rig.  That is they should still be in generated in same order once generated.
legendary
Activity: 2912
Merit: 1060
May 03, 2014, 06:29:01 PM
Regarding the virus, how would one double check that I was not victim to this attack.  **nervous**

Generate the new addresses on your cold system first, and then verify that the addresses you generate on the hot watch-only system match the addresses in the cold system.

Do not get scared if they don't match at first! Look at the whole list and address number! They won't be synced.
legendary
Activity: 2912
Merit: 1060
May 03, 2014, 06:25:15 PM
Regarding the virus, how would one double check that I was not victim to this attack.  **nervous**

I don't think anyone was. I think a white hat tipped them off about it.
member
Activity: 103
Merit: 10
May 03, 2014, 05:39:20 PM
Regarding the virus, how would one double check that I was not victim to this attack.  **nervous**
legendary
Activity: 1792
Merit: 1111
May 03, 2014, 02:05:22 PM
This also means new best practice is sending to offline wallet using an address created on there. Previously I got an address from the watch only copy.

Can you explain this a little further? AFAIK, the addresses generated on the offline wallet and the watch only copy are the same? Wouldn't be of much use otherwise...

A virus can compromise your watch only copy to generate addresses that aren't yours. This completely bypasses all security.

You could generate it then glance at the cold storage copy to make sure it's in the list. You may have to generate extra ones to get the number of addresses the same.

Is that a malware, or a bug in Armory?

Malware, armory is solid.

So there is not much the Armory team could do. Actually this doesn't only affect Armory. For example, a malware could replace Bitpay's address on the invoice. Even payment protocol won't help as the malware could bypass the signature check.

The lesson is no bitcoin address shown on an online computer is reliable. We need some simple solutions to verify bitcoin addresses and payment requests. Dedicated hardware wallet is the way to go.
Pages:
Jump to: