Bitcoin Forum
June 17, 2024, 09:05:35 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: How can we be sure that watchingonly wallet doesn't contain hidden private keys?  (Read 910 times)
plethora (OP)
Member
**
Offline Offline

Activity: 113
Merit: 10



View Profile
December 05, 2013, 09:26:04 PM
 #1

Let's say I create a wallet on an offline computer and move a watching-only wallet file by USB to my online computer and import it there. Armory will show it as watching-only/offline and won't allow me to spend any bitcoins, but in theory the private keys could have been transferred in the watching-only file and then sent to the Armory developer. Once thousands of wallets are funded by Armory users, the attacker might be tempted to move all bitcoins to an address of his own.

Is this a case of we just have to trust the good will of the developer or is it possible for a user to check that all private keys indeed stays on the offline computer?

I must say that I'm really impressed by the Armory software and since it's announced that Alan is a featured speaker at the Inside Bitcoin Conference in Vegas next week, I'm confident that Armory doesn't have any hidden "features". I've already made a donation Wink However all users might not agree...
Thanks
etotheipi
Legendary
*
Offline Offline

Activity: 1428
Merit: 1093


Core Armory Developer


View Profile WWW
December 05, 2013, 09:52:54 PM
 #2

Feel free to open the wallet file in a hex editor and walk through it using the wallet file map.    Watching-only wallets should have all zeros in the private key fields.   Not the easiest thing to do for a random user, but only a few users need to do it to expose any bugs/backdoors.

If you want to review the code, it's in a function called forkOnlineWallet().  You can see it overwrites the private key fields with empty strings before the writeFreshWalletFile() call.

I hope that calms some nerves Smiley

Founder and CEO of Armory Technologies, Inc.
Armory Bitcoin Wallet: Bringing cold storage to the average user!
Only use Armory software signed by the Armory Offline Signing Key (0x98832223)

Please donate to the Armory project by clicking here!    (or donate directly via 1QBDLYTDFHHZAABYSKGKPWKLSXZWCCJQBX -- yes, it's a real address!)
goatpig
Moderator
Legendary
*
Offline Offline

Activity: 3682
Merit: 1347

Armory Developer


View Profile
December 05, 2013, 10:07:29 PM
 #3

What it all boils down to is that open source software allows you to manage your own comfort zone in regard of the code you're allowing to run on your machine. You can choose to trust the code maintainer, or people who have reviewed it, or just not trust anyone and verify critical parts yourself.

BTCetera
Member
**
Offline Offline

Activity: 81
Merit: 10


View Profile
December 05, 2013, 11:58:29 PM
Last edit: December 06, 2013, 01:20:48 AM by BTCetera
 #4

sorry, didnt mean to hijack this thread. i posted my question here: https://bitcointalk.org/index.php?topic=359274

Want to send me a tip? 3EJTcRvvt54rv5Bn44KJbXFc7U2MXACkX9
plethora (OP)
Member
**
Offline Offline

Activity: 113
Merit: 10



View Profile
December 07, 2013, 03:01:38 PM
 #5

Thanks etotheipi. This is just what I was looking for.

I used Notepad++ with the Hex Editor plugin to confirm that the watch-only wallet file differs from the decrypt wallet file. Address 8C0 through 8DF contains mostly zeros in the watch-only file (last 8 bits contains some non-zero values but I'm pretty sure this is not any keys Smiley).

I couldn't read the source code but the hex editor is good enough for me. Thanks
bitpop
Legendary
*
Offline Offline

Activity: 2912
Merit: 1060



View Profile WWW
December 19, 2013, 03:04:48 PM
 #6

Windows users have to trust compiled binary :/

Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!