Bitcoin Forum
June 17, 2024, 02:35:19 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 ... 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 [163] 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 »
3241  Bitcoin / Armory / Re: Armory - The most advanced Bitcoin Client in existence! on: January 18, 2012, 08:57:58 PM
ethotheipi,

i already have a non encrypted wallet generated offline stored on my Ironkey.

what would be the best way to get it tx'd into Armory on an offline computer?

Cypherdoc,

I am actually avoiding having anyone move existing keys over to Armory wallets yet.  This is why I haven't explicitly created a bulk-import function for private keys (you can enter them one-by-one through the Import-Address dialog).  Plus, I don't have a good way to pull private key data out of the wallet.dat files, even if I did.  I have a script that gets some keys out of the unencrypted Satoshi wallets, but I don't know if it gets all of them.  I heard sipa has a bitcoin branch that allows you dump your private keys, but I think it requires compiling Bitcoin, which can be even more daunting than compiling Armory :|

For now, I recommend you make a new, offline wallet, and transfer a small amount of funds to one of its addresses.  Make sure it works, and that you can move money in and out of the offline wallet as you'd expect (and that you have a copy of the keys saved somewhere in case Armory/HDD fails).  By the time you're comfortable with that functionality, then I might be better prepared to help with this.  I'm still a little uncomfortable with people putting all their eggs in the Armory basket yet, at least until I get some wider testing done.

3242  Bitcoin / Armory / Re: Armory - The most advanced Bitcoin Client in existence! on: January 18, 2012, 05:37:13 PM
Man, this stuff is hard.  I re-enabled some dependencies I had removed, hoping it would help with the shutdown issue.  It didn't.  So I removed them, again.  Sorry!
3243  Bitcoin / Armory / Re: Armory - The most advanced Bitcoin Client in existence! on: January 18, 2012, 03:22:39 PM
The Windows build instructions for SWIG portion seems to be incorrect
Quote
(You should now see 3 subdirectories in cppForSwig dir:
cryptopp, reorgTest and swig-2.0.4)

The SWIG_compile portion failed because it couldn't find swigwin-2.0.4 folder
Quote
   
Creating temporary file "c:\Users\Janne\BitcoinArmory\BitcoinArmory\cppForSwig\Release\BAT00000C51685384.bat" with contents
[
@echo off

swigwin-2.0.4\swig.exe -c++ -python -classic -outdir ../ -v CppBlockUtils.i
which means you need to download swigwin-2.0.4, NOT swig-2.0.4 like the build instructions say. (I was building on 32-bit Vista)

The build still seems to fail because I have Python 2.7 installed in D:/ instead of C:/
Quote
2>LINK : fatal error LNK1104: cannot open file 'python27.lib'

EDIT :
I got it farther this time, although it still fails with this error
Quote
3>LINK : fatal error LNK1104: cannot open file 'cryptlib.lib'


Ugh.  I don't know how to setup these things to accommodate non-"standard" configs (such as python being in a different place than C:\Python2X).  However, the cryptlib thing should work if you compiled the cryptlib project in MSVS.  You should see, a cryptlib/win32/output/release directory in the cppForSwig directory.  It should be created, and cryptlib.lib will be in there if you compiled that project.

Maybe I really should do binaries.  Leave the compiling to only the people who want to have to develop/modify the project.

Fornit, I just committed the fix for that.  I think I accidentally only commited one of two files impl the windows-close fix.  It should all be there, now.

(EDIT:  I just fixed the swig-vs-swigwin part of the directions on the webpage.  Sounds like both of you got caught by that typo.  Thanks Matoking)
3244  Bitcoin / Armory / Re: Armory - The most advanced Bitcoin Client in existence! on: January 18, 2012, 03:19:16 AM
Quote
3>  SWIG_compile_dll_MSVS2005.vcxproj -> Z:\fremdprojekte\BitcoinArmory\cppForSwig\x64\Release\SWIG_compile_dll_MSVS2005.dll
3>PostBuildEvent:
3>  Description: Combine compiled libraries and PyQt gui into .exe
3>          1 file(s) copied.
3>  python: can't open file '../setup.py': [Errno 2] No such file or directory
3>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: Der Befehl "copy x64\Release\SWIG_compile_dll_MSVS2005.dll ..\_CppBlockUtils.pyd
3>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: ; python ../setup.py py2exe --includes sip,hashlib -d ../ArmoryStandalone
3>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073:
3>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073:
3>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: :VCEnd" wurde mit dem Code 2 beendet.

any idea what might cause this?


fornit,

I'm glad you were able to get it working and that the build-instructions apparently were sufficient Smiley  

The error is actually an extra build-step that is unnecessary for testing purposes.  It uses py2exe to collect everything into a single standalone directory and .exe file.  It involves getting py2exe, pywin32 and finding msvcp90.dll.  But I figured no one would really need it except for me, to build binaries for my first release.

As for closing the app, I don't know why it's so terribly difficult to get qt4reactor to shut down!  I finally got it smooth in Linux, but Windows is still unpleasant.  I'll make an effort to fix that, ASAP.

I hope you enjoy Armory!

P.S. - I just fixed the Armory shutdown issue -- right click and do a git-pull to get fixed version.  At least, it won't freeze, though Python itself sometimes stays open.
3245  Bitcoin / Armory / Re: Armory - The most advanced Bitcoin Client in existence! on: January 18, 2012, 01:36:07 AM
Quote
Follow all the steps above.  Open the ArmoryEngine_MSVS_2005.sln file.  Make sure to select “Release” mode and “x64″ (or Win32 if only 32-bit OS).  Build-all.

cant find that file.
however there is a PyBtcEngine_MSVS2005.sln

It looks like you didn't switch to the "qtdev" branch.  This project was forked from another project of mine (PyBtcEngine) and I forgot to rename the solution files until after I forked qtdev.  Everything is on the qtdev branch.  It will all be merged into master for the alpha release.
3246  Bitcoin / Armory / Re: Armory - The most advanced Bitcoin Client in existence! on: January 17, 2012, 10:46:32 PM
I'll test it as soon as there's a Windows binary available.  But after spending many hours building the standard Bitcoin client in Windows, I took a vow to never build anything in Windows again.  It's just not my kind of gig.

I've heard that the Satoshi client is challenging to build.  However, I have thoroughly documented the build-process for Armory and tested it in MSVS 2008 from a fresh install in Win 7 x64.  It did work, no problem.  I request you give it a shot (just follow the directions), and if you hit any snags, feel free to stop.  But I did spend a lot of time on those build-instructions precisely because I know how terrible it can be for others to figure it out.
3247  Bitcoin / Armory / Re: Armory - The most advanced Bitcoin Client in existence! on: January 17, 2012, 10:35:59 PM
Thanks to everyone who has donated!  You guys rule.  I already took my girlfriend out for a nice dinner on the donations I've gotten, and she does feel appreciated Smiley

Of course, I will not discourage donations, but I do desperately need folks to help test the software.  Besides the caveats already stated, and the zero-conf transactions which should be implemented soon, all major features work.  I'm aware of build-issues on non-Ubuntu-10.04, and working on better cross-distrib support.  Windows works great if you can get through the build instructions without stabbing yourself.  If the Windows instructions really are prohibitive, I might have to distribute a pre-alpha binary, but that makes it difficult to push bug fixes and have testers pull the updates right away. 

Please let me know if there's something holding you back.  And if anyone uses it for main-network with real BTC, please print out a paper backup of your wallet.  The wallets do appear to be very robust, but it's alpha, and whatever money you have will be recoverable with a paper backup under any circumstances Smiley

3248  Bitcoin / Armory / Re: Armory - The most advanced Bitcoin Client in existence! on: January 17, 2012, 09:11:11 PM
Conspiracy theories aside, it should be noted that no sensitive data touches the USB key, ever.  Not even on the initial wallet setup.  You transfer only a watching-only wallet from the offline computer to the online computer.  And when you spend money, only transaction data is sent back and forth.  The only thing that the offline computer adds to the USB key is a signature, which is going to end up in the blockchain, anyway.

Of course, if the manufacturers of IronKey wanted to do something nasty, they would have access to your entire system, not just what's on the key.  So perhaps it's moot.  But at least, you don't have to worry about someone else getting ahold of a key you used for Armory's offline wallets.  There's nothing they can do with the data being couriered with that device.
3249  Bitcoin / Armory / Re: Armory - The most advanced Bitcoin Client in existence! on: January 17, 2012, 08:01:45 PM
@etotheipi
Out of curiosity:
What is your stance on BIP 0016 ?
https://en.bitcoin.it/wiki/BIP_0016
https://bitcointalk.org/index.php?topic=56969.0

I fully believe in the goal of OP_EVAL and BIP_0016, and I believe it is a hard problem to solve safely.  As found with OP_EVAL, enabling a sub-scripting system with recursion in a system that was intentionally not Turing-complete, opens up a can of dragons.  Unfortunately, I've been so focused on Armory development, that I haven't gotten too deep into the discussions on it, so I can't form a valid opinion on any specific proposal.   But I do believe that the goal of these proposals is extremely beneficial to BTC in the long run.  (although, it would be nice to get my client out with the old rules before having to support new ones right away).


i use an Ironkey that has a malware scanner built in on top of the encrypted internal chip.  this combined with desktop antivirus/malware should be pretty effective in preventing malware from infecting the Ironkey would it not?

I've heard good things about the Ironkey.  For the offline wallet interface, the biggest threat is hidden USB-key viruses, so something with built-in-AV probably helps.  But without some kind of updating mechanism, it's built-in A/V could quickly become outdated and useless against evolving threats.  I think more importantly, having A/V on the online system and disabling any kind of autorun-on-mount capability on the offline system are the most proactive way to avoid these problems. 

But even without that, the offline wallet system is probably the absolute safest way to manage large sums of BTC, despite being fairly complicated.  Yet, I believe Armory has actually made it usable by ordinary users (now I just need to get the system req'ts down to "normal"), and hope others will help me test that part and let me know what they think.  It was one of my prime motivators for starting Armory.



3250  Bitcoin / Development & Technical Discussion / Re: Automatically save encrypted wallets on a remote server on: January 17, 2012, 05:56:14 PM
I already have multiple copies of my wallet.  But a new user would not know how to do this.  Streamlining it by including it as an automatic option in the client would make the learning curve for bitcoin much shallower, and much less dangerous to your coins.

And I'm rereading about the deterministic wallets in clients like Armory.  I still like the simplicity of my idea more though.

What is a simpler backup solution than printing/copying your wallet once and never having to back it up again?  And the paper backup is even better than USB keys or servers, because you never have to worry about the USB key working when you plug it in a year from now, or a HDD/server failing.  Plus, a sheet of paper is a LOT cheaper and a lot easier to hide, and its integrity is visually verifiable.

Not to mention you can still backup the encrypted version to a server somewhere, but I don't see the necessity of risking something like the 0.4.0 wallet-not-actually-encrypted bug.
3251  Bitcoin / Armory / Re: Armory - The most advanced Bitcoin Client in existence! on: January 17, 2012, 05:03:39 AM
will this client ever get arm support? i ask because i want to buy a raspberry pi, and that runs arm.

Ctoon,

It'll be a while before Armory will be lite-enough to work on such light-weight hardware.  However, the beauty of the offline transactions technique (based on BIP 0010) would make it feasible to use very inexpensive hardware solely for signing offline transactions (because you don't need the blockchain, you only need to be able to run ECDSA code).  But I don't think I'll be doing that... I just don't have the experience with alternative architectures.

But again, my stuff is open source, BIP 0010 is public, and my wallet files are well-documented.   I bet someone more-suited for the job could make it happen and I'd be happy to help them.  I am excited about the possibility of the offline tx technique to enable super-light-weight, inexpensive, signing devices that could be used for two-factor-authentication-like scheme.  But full Armory might be a stretch.

3252  Bitcoin / Armory / Re: Armory - The most advanced Bitcoin Client in existence! on: January 15, 2012, 12:34:03 AM
good work. I am willing to participate in alpha testing

Great!  Build instructions are posted here.

If you're in Windows, you'll need some patience.  Let me know if the build instructions aren't clear enough, or need any corrections!

-Eto
3253  Bitcoin / Armory / Re: Armory - The most advanced Bitcoin Client in existence! on: January 13, 2012, 11:36:23 PM
Quote from: etotheipi
Armory does all of its communication to the Bitcoin network through the Satoshi client
Will that be changed in future releases?
Code:
# proxychains ./armory_executable
That could leak some info that doesn`t respect for some reason proxychains, such as DNS requests. Also, proxychains is outdated and unmaintained since 2006. I suggest using torsocks instead if you want Tor support without building proxy chains. Anyway, native proxy support is better than third-party soft, and, finally, as you mentioned, that will not work in Win and Mac.

The two major upgrades between now and beta will be
(1) Reverting to file-based blockchain operations (to bring memory req'ts from 1.5 GB to 100 MB)
(2) Make Armory networking-independent

For the first release, I decided to go through the Satoshi client, so that it will handle all the complicated networking protocols and full-validation of incoming transactions.  By running Armory through Satoshi, I get all that for free!

I will add proxies to my list of features to support in the future!
3254  Bitcoin / Armory / Re: Armory - The most advanced Bitcoin Client in existence! on: January 13, 2012, 09:20:01 PM
Looks just great. Do you plan to add proxy/socks feature? Or maybe I missed something and can`t find where to set this up.

That's a very good question.  I'm not familiar with that aspect of networking (in general) to know how much effort that would take.  Perhaps someone else on the forums can reply to the following naive answer:

Right now, Armory does all of its communication to the Bitcoin network through the Satoshi client.  Perhaps, if you set up the Satoshi client to go through a proxy, then you will get the benefit of having done that in Armory.  This assumes that you can still execute a localhost connection to the Satoshi client while it is using the proxy.
3255  Bitcoin / Armory / Re: Armory - The most advanced Bitcoin Client in existence! on: January 13, 2012, 08:56:16 PM
I have updated the bitcoinarmory.com webpage with the build instructions and a short tutorial on offline transactions (but, no screenshots, yet).

http://bitcoinarmory.com/index.php/building-armory-from-source
http://bitcoinarmory.com/index.php/using-offline-wallets-in-armory

As I continue filling out the webpage, I will be moving more and more Armory-related communications to it.
3256  Bitcoin / Armory / Re: Armory - The most advanced Bitcoin Client in existence! on: January 13, 2012, 04:18:29 PM
However, I'm not clear what your deterministic algorithm is...?  Do you use the DHSS method that allows you to compute the deterministic addresses without the private keys?  I have been looking at the Electrum website, but didn't see how it is done.   So far I haven't seen anyone else implement the determinism this way, and thus I would have no choice but to use my own method.  Armory is critically dependent on the ability of watching-only wallets to be able to generate the public key chain without needing private keys.

I use the method described by gmaxwell, that he called "type 2 wallet".
This method allows to generate the public key sequence without the private keys, so I guess it the same as what you describe.
Note that the same method is used in BCCAPI as well.

I use two separate sequences: one for receiving addresses, one for change addresses.
The wallet recovery procedure stops when it finds a sequence of N consecutive unused addresses (default is N=5)

By default, the software generates seeds that have 128 bits of entropy. However, this is not strictly enforced; users may use longer seeds.
The master private key is derived from the seed using hash based key stretching.
I do not use the password as salt because I want users to be able to modify their password.


Okay, we're doing the same thing, then, just with different algorithms.  The only real difference is that, in Armory, the master key is randomly generated, and then the passphrase is passed through a scrypt-like KDF to get the encryption key.  If the user changes their passphrase, then everything is unencrypted and reencrypted with the new KDF-derived encryption key.

In Armory, I don't keep a separate chain for change addresses.  I simply "get next unused address" for change.  And while I had to battle the question of how far out to extend the chain beyond that last seen address, I believe 5 is way too small.  I use 100 which may be too large, but I'd much rather err on the high end than vice versa.  You only need the user to generate a couple addresses that end up not being used, before your wallet will get stuck.  But you do have it as an adjustable parameter, so it's easy enough for you to change if you determine it's a problem.

You can either post here, or send me a PM, the specifics of your deterministic algorithm.  I will consider switching the wallet to that format, as long as there is enough "standardization" around the algorithm -- it sounds like there is, if electrum and BCCAPI are both using it.  Any other clients with deterministic wallets?  I haven't been following other clients too much, because I've been completely consumed getting mine into a releasable state...
3257  Bitcoin / Armory / Re: Armory - The most advanced Bitcoin Client in existence! on: January 13, 2012, 03:41:46 PM
SORRY if anyone tried to checkout and compile on Windows.  I updated the MSVS 2005 projects, but forgot to commit-and-push the changes.  D'oh!  I just pushed them to the qtdev branch, so it should go a lot smoother now.  Sorry about that!
3258  Bitcoin / Armory / Re: Armory - The most advanced Bitcoin Client in existence! on: January 13, 2012, 03:26:50 PM
Someone suggested that deterministic wallets shoud try to use a standard key generation algorithm.

https://bitcointalk.org/index.php?topic=58436.msg688099#msg688099

Since you have not released the initial version, may I suggest to use the same key generation algorithm
that is already used in Electrum? This would allow users to use the same seed in both clients.

see http://ecdsa.org/electrum

It is much more difficult to change this after you have released your software.


Luckily, I have made sure I have a separate version number just for wallets, so I can do exactly what you suggest.  Obviously, if I upgraded, old wallets would not be convertable but would still work.  Only new wallets would be transferable, which is fine... (users can upgrade if they want it).

However, I'm not clear what your deterministic algorithm is...?  Do you use the DHSS method that allows you to compute the deterministic addresses without the private keys?  I have been looking at the Electrum website, but didn't see how it is done.   So far I haven't seen anyone else implement the determinism this way, and thus I would have no choice but to use my own method.  Armory is critically dependent on the ability of watching-only wallets to be able to generate the public key chain without needing private keys.

For reference, the algorithm I use is not terribly complicated.  The 32-byte "chaincode" is kept with the wallet (and actually stored with each key in the wallet).  You chain addresses via:

Code:
a = hash256(PubKey65(i)) XOR chaincode  
PrivKey(i+1) = a*PrivKey(i)

The magic is in the ECC math, so you can continue the chain with public keys only:
Code:
a = hash256(PubKey65(i)) XOR chaincode  
PubKey(i+1) = EC_Multiply(a, PubKey(i))

The chaincode is simply extra entropy added to the determinism (i.e. salt), but not entirely necessary.  I might revert, in the future, to making the chiancode deterministically generated from the root private key, so that you only need 256 bits (root private key) to recover the wallet, not 512 bits.

Btw, I really like your technique for converting entropy into dictionary words.  That's pretty slick!  I never considered the possibility that a user would try to memorize their keys, or even write it down by hand, but that certainly makes it possible!  (because I will never generate a wallet with less than 256 bits of entropy, that's a lot of write/memorize). 


3259  Bitcoin / Armory / Re: Armory - The most advanced Bitcoin Client in existence! on: January 13, 2012, 06:31:48 AM
Build instructions have been posted!  (see the bottom of the top/original post)

I'm sure people will still have problems.  But that's why this is the testing phase and not the release phase Smiley

I'll move everything into the master branch and create executables, when I do the first official release.  Until then, everything is in the qtdev branch, and being a tester requires compiling. 

Zero-confirmation transactions are so badly botched, I've disabled them, but they can be re-enabled through the menu options.  Just don't be surprised if you see wacky stuff... Anything with 1+ confirmations will be accurate.  My first priority before release is to get rid of the terrible zero-conf hack, and replace it with the "correct" solution.  That's my task for this weekend...

As stated before:  this is pre-alpha.  Do not put any money into this program unless you expect to lose it!  Therefore, Armory defaults to testnet.  If you really want to try it with real money (because you don't feel like waiting for testnet to download), you can run it via "python ArmoryQt.py --mainnet" ...  but I only say that because I know someone will insist on it despite all my warnings/pleadings not to do it!

3260  Bitcoin / Development & Technical Discussion / Re: wallet destruction on: January 13, 2012, 02:48:08 AM
So you are memorizing the salt in addition to your passphrase?

You wrote in your post that you don't need a recovery plan for your deterministic wallet, because it's all in your head.  If you've added salt, it's not really in your head. You will need a backup.
Pages: « 1 ... 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 [163] 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!