Bitcoin Forum
May 25, 2024, 08:28:24 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 [46] 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 ... 186 »
901  Bitcoin / Development & Technical Discussion / Re: Should we change the default to P2SH? on: October 28, 2013, 06:22:14 PM
The simplicity is over-stated.  The concept is simple and can be represented in 5 lines of code.  But the last thing I want is for a bug in my implementation to switch to the wrong conditional under some specific circumstances and send coins intended for my 1... address to an unspendable 3... address.   These kinds of changes are dangerous when all the contextual code around it was written assuming one address type.

The code in question is remarkably sensitive, and a stupid oversight in the code could lead to massive loss of coins.  Maybe I'm overstating it... but I have some users with seriously a lot of money, and I'm sure they appreciate my paranoid diligence in things like this.

For reference, once I finally get this next version of Armory locked down, I'm going to work on this and make sure there's loads of tests for it in all the available contexts. 

With all due respect, that your code was designed in such a way that is assumed one address type is something I would be a little embarrassed about myself - even in the early days it was easy to see how different types of addresses would simply have to be developed in the future if the scripting system was going to be of any use.

But in the meantime, I wouldn't be embarrassed to take however long it takes to do it right!

Regardless of how I wrote it, it's been in use for 2 years with only one address type.  All testing and evaluation has been done with the single type that was in use.  Anyone who has a piece of software as sensitive as Armory is not going to be recklessly upgrade a majorly sensitive operation because someone on the internet said it should be "an easy five lines of code." 

The problem is not the complexity of the change, it's the time and attention span to make sure it was done right and thoroughly tested before people use it with real money.  Anything else would be reckless, no matter how the original code was written.
902  Bitcoin / Development & Technical Discussion / Re: Should we change the default to P2SH? on: October 28, 2013, 06:01:36 PM
We may have a smarter way to archive. We don't need to do it byte-by-byte. Use a single byte to denote common output scripts so the archive nodes may drop all those "OP_EQUALVERIFY OP_CHECKSIG " crap

That's already how sipa's UTXO database works.

FWIW I used to think otherwise, but I agree with Mike for the most part these days as I'm 99% sure UTXO growth isn't a major problem. I'll publish something better soon, but in the meanwhile gmaxwell has a nice summary: https://bitcointalk.org/index.php?topic=314467.msg3371194#msg3371194

Having said that, P2SH needs wider support all the same. It's embarrassing that something that should take about five lines of code isn't supported in so much wallet software.

The simplicity is over-stated.  The concept is simple and can be represented in 5 lines of code.  But the last thing I want is for a bug in my implementation to switch to the wrong conditional under some specific circumstances and send coins intended for my 1... address to an unspendable 3... address.   These kinds of changes are dangerous when all the contextual code around it was written assuming one address type.

The code in question is remarkably sensitive, and a stupid oversight in the code could lead to massive loss of coins.  Maybe I'm overstating it... but I have some users with seriously a lot of money, and I'm sure they appreciate my paranoid diligence in things like this.

For reference, once I finally get this next version of Armory locked down, I'm going to work on this and make sure there's loads of tests for it in all the available contexts. 
903  Bitcoin / Armory / Re: RAM-Reduction & Backup Center Testing (version 0.89.99.5) on: October 28, 2013, 12:48:48 AM
OK so I am having some difficulty again getting the latest testing branch (0.89.99.6 I believe) to run on Ubuntu 13.10 VM...

I can't actually get past the splash "Armory" splash screen, and I don't think I am throwing any errors, so a bit stuck here... http://imgur.com/CAQNyaD

Here is my logfile http://pastebin.com/hPVigcDn which I don't see anything wrong with. If anyone could offer me some info on how to troubleshoot this I would appreciate it.

Thanks.

Oh, I didn't even look at the log file before responding.  It looks like maybe there's some kind of interactive message that is blocking on the gconftool command (which is used for setting up Armory as your default URI handler).  I wonder if that's it.

Can you open a terminal and run the following command and tell me what it spits out?

Code:
gconftool-2 --get /desktop/gnome/url-handlers/bitcoin/command
904  Bitcoin / Armory / Re: Convert satoshi wallet.dat to amory X1Y2Z3.wallet on: October 28, 2013, 12:41:53 AM
As I keep mentioning the new wallet format:  it will handle compressed public keys -- in fact it will use them by default.  But until then, the support isn't there.

the million dollar question... when is this new wallet format coming out? or when did it come out? Cheesy


Starting a company and overhauling the blockchain engine has pretty much destroyed all the other priorities.  But both those operations are rapidly nearing completion and I'll be able to get back to the wallet development.  I'm looking forward to it as much as others are Smiley
905  Bitcoin / Armory / Re: Lost wallet with virtual machine, have BTC address, can I recover coin? on: October 27, 2013, 11:19:27 PM
Any recommended hex editor for Windows?  I tried using Hex Editor Neo but it crashes when looking at snapshot files.

You're not going to be able to open it in a regular editor... it's a multi-gigabyte file.  vim should work, but it's a bear to use unless you know what you're doing.  Really though, we'll get a script for you that will do it automatically.  Just hold tight Smiley  (and pester me if you don't hear back)
906  Bitcoin / Armory / Re: Lost wallet with virtual machine, have BTC address, can I recover coin? on: October 27, 2013, 10:11:52 PM
Sorry I did not find any 'binary file above'.

Sorry, what I meant was:  we open the disk files as raw binary files and search them for unique strings that only appear in Armory wallets.  If the wallet still exists anywhere on the VM (even as a deleted file), a raw binary search will find it.

907  Bitcoin / Armory / Re: Lost wallet with virtual machine, have BTC address, can I recover coin? on: October 27, 2013, 09:48:05 PM
You might be alright.  Just because the machine crashes doesn't mean that the virtual disk drive is lost.  Very frequently, you can still access that drive (i.e. make a new VM and add the VM disk of the old one to it).   As long as you didn't restore to before the wallet was made -- any version of the wallet is fine for recovering all the coins.  If you restored to before that point in time, you would probably be SoL. 

If you can get access to the wallet file in any way, then you can copy it out and import it into another instance of Armory.  Let me know how it goes.
Yes, the VM was restored to a previous point.  Damn.  I do have the actual BTC address that was associated with the wallet. 

Can I generate new keys from this address?

Oh, that's probably even worse than deleting it, since you can usually forensically recover a deleted file.  I bet the restore is dramatically complicated.  However, I suppose it's possible to still recover something...

Turn off your virtual machine, and locate the directory that contains the hard disk.  We should probably just scan all related files, including the hard-disk file itself.  I will forward this to CircusPeanut who should be able to write a quick script that will search a directory, open all files in binary mode, and do a raw search for a bunch of magic strings that appear in wallet files.  With some luck, the virtual-disk interface works like a real HDD, where "deleted" files may not have been actually deleted but ignored, to be overwritten when something else needs the space.   A raw binary search should tell us right away if there's anything on that disk that even resembles a wallet.

Much more extreme would be a similar raw search of your host (physical) drive.  That's a bit more challenging and a bit more work.  I guess it depends how much BTC you had in there.  Wonder if the cost-to-benefit is there.

What OS are you in?  CircusPeanut should be able to write a dependency-less python script that will search for unique patterns that appear in Armory wallet files.  But if you're in Windows you'll have to install python for that to work.  For CircusPeanut or anyone else that would like to take a stab at raw binary searches for wallets, you can probably search for \xBAWALLET\x00 which will appear as the first eight bytes of any wallet file.  After that, you can look four bytes later for the network magic bytes \xF9\xBE\xB4\xD9.  Once you have that, you can use the binary map I linked above to figure out how much data to copy.
908  Bitcoin / Armory / Re: Lost wallet with virtual machine, have BTC address, can I recover coin? on: October 27, 2013, 09:24:04 PM
You might be alright.  Just because the machine crashes doesn't mean that the virtual disk drive is lost.  Very frequently, you can still access that drive (i.e. make a new VM and add the VM disk of the old one to it).   As long as you didn't restore to before the wallet was made -- any version of the wallet is fine for recovering all the coins.  If you restored to before that point in time, you would probably be SoL. 

If you can get access to the wallet file in any way, then you can copy it out and import it into another instance of Armory.  Let me know how it goes.
909  Bitcoin / Armory / Re: RAM-Reduction & Backup Center Testing (version 0.89.99.5) on: October 27, 2013, 08:48:21 PM
OK so I am having some difficulty again getting the latest testing branch (0.89.99.6 I believe) to run on Ubuntu 13.10 VM...

I can't actually get past the splash "Armory" splash screen, and I don't think I am throwing any errors, so a bit stuck here... http://imgur.com/CAQNyaD

Here is my logfile http://pastebin.com/hPVigcDn which I don't see anything wrong with. If anyone could offer me some info on how to troubleshoot this I would appreciate it.

Thanks.

Run it with --debug to get more output
910  Bitcoin / Armory / Re: Min transaction fee on: October 27, 2013, 04:16:06 PM
This is not an Armory thing, this is a Bitcoin-network-thing.  The 0.0001 fee is actually a "relay-only" fee, which doesnt' guarantee it will be mined, only that the network will see it.  Right now, that's usually sufficient to get it mined, but my goal is to minimize issues, and using the 0.0001 minimum fee is likely to result in tx occasionally getting stuck (maybe not right now, but possibly in the future).  

Any tx with any outputs less than 0.01 BTC must have a fee of 0.0005 for the default client to mine it (0.0001 to relay).  There is no way around it unless you have a generous miner.  And a recent soft network rule went into effect that makes outputs less than 0.00005430 (I think) not even standard.  The network discourages tiny payments, though "tiny" is a moving target with the rising bitcoin price.

911  Bitcoin / Armory / Re: Armory - Discussion Thread on: October 27, 2013, 04:09:24 PM
If I remember correctly, the FIPS recommended way of building an EC private key was to take at least 1.5 times more entropy than the key bit length and modulo it by F. I would personally recommend that way too, as F (or whatever that parameter was called) is less than 2^256 for secp256k1.

The real issue being brought up by kjj is simply that you may not be getting full entropy out of the rolling if there's any subjectivity involved.  However, even if you aren't rolling dice properly, you are still getting entropy, just not full entropy.  Consider that you roll a die 32 times, and you don't properly re-roll it and you get the exact same number as the last roll half the tie.  Well, then you got 16 dice-rolls-worth of entropy instead of 32.  Not ideal, but you're still producing nice analog entropy -- just not as much as you thought.

For this reason, if you use something like dice rolls, coin flips, etc.  I recommend you do maybe 2-3x the number of rolls/flips than you are really looking for.  Especially because this operation is done so infrequently, a little patience up front is worth it to have the extra confidence. 

Hashing the result is sufficient, though the FIPS method sounds good too, where F is the order of the secp256k1 group, which is 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141 (bigendian)
912  Bitcoin / Armory / Re: All my bitcoins locked in armory forever, how do I pull them out? on: October 24, 2013, 04:23:39 AM
The best bet is to uninstall and reinstall 0.88.1 from the website.  Then run it in offline mode and pull your private keys out like IntrepidMiner recommended.  Import them into another wallet.  Right now it sounds like there's too many problems with the new version.

Though if you have a log file for me, I'd love to see it. IT would be in C:\Users\<user>\AppData\Roaming\Armory.  Anything with "log" in the name you can email to support@bitcoinarmory.com.

Sorry you're having such difficulty...
913  Bitcoin / Armory / Re: RAM-Reduction & Backup Center Testing (version 0.89.99.5) on: October 23, 2013, 07:57:41 PM
Okay, I just ran into a problem on windows that wheeler originally observed.   Luckily, this one is isolated, so I should be able to catch it easily.  It causes the "cannot get tx copy" message.  I thought it was a DB-corruption issue, but instead it looks like it has to do with orphan blocks in the block files under certain conditions. 

For me, it keeps triggering at the same block, so I should have no problem isolating it.

One day, this stuff will work...
914  Bitcoin / Armory / Re: Armory - Discussion Thread on: October 23, 2013, 05:54:06 PM
I just updated to OSX 10.9 and now my armory app is broken with this error in the console...
Code:
% /Applications/Armory.app/Contents/MacOS/      
% ./Armory
Traceback (most recent call last):
  File "ArmoryQt.py", line 26, in <module>
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/socket.py", line 47, in <module>
    import _socket
ImportError: dlopen(/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_socket.so, 2): Symbol not found: __PyInt_AsInt
  Referenced from: /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_socket.so
  Expected in: flat namespace
 in /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_socket.so

Looks like I just have to install something can someone point me in the right direction?

Is this the .dmg/app that was downloaded from our website?  Or did you follow Red Emerald's instructions to build it yourself?  Because that's clearly referencing system libraries, which I'm pretty sure the .dmg is not supposed to do (it's supposed to be totally isolated).  Perhaps that's a hint for why it doesn't work on some systems?

I have some stuff from picobit to try, which may improve the OSX compatibility.  But I'm still getting caught up with some other things.  Maybe someone else wants to try what he produced and give me a review? Smiley  My new Mac Mini isn't sufficiently setup to try it yet.
915  Bitcoin / Armory / Re: RAM-Reduction & Backup Center Testing (version 0.89.99.5) on: October 23, 2013, 02:00:38 AM
@pvz and @wheeler:

I just ran into the segfault issue when using --rebuild.  It turns out that i screwed up some pointer cleanup, and that was causing the segfaults.  Luckily, the last update was so tiny that it was obvious what did it!  I just fixed it and committed it.  Please do a "git pull origin testing" and then try the --rebuild again.

It might also have been responsible for the other issues you observed, though I won't be sure until you try it. 
916  Bitcoin / Armory / Re: RAM-Reduction & Backup Center Testing (version 0.89.99.5) on: October 22, 2013, 09:39:05 PM
--rebuild does not work.
Deleted .armory directory, started armory again (latest testing branch from a few minutes ago) with this result:

Quote
laptop:~/Downloads/armory/BitcoinArmory$ python ArmoryQt.py
********************************************************************************
Loading Armory Engine:
   Armory Version:       0.89.99.6
   PyBtcWallet  Version: 1.35
Detected Operating system: Linux
   OS Variant            : ('Ubuntu', '13.04', 'raring')
   User home-directory   : /home/xxx
   Satoshi BTC directory : /home/xxx/.bitcoin/
   Armory home dir       : /home/xxx/.armory/
   LevelDB directory     : /home/xxx/.armory/databases
   Armory settings file  : /home/xxx/.armory/ArmorySettings.txt
   Armory log file       : /home/xxx/.armory/armorylog.txt
Log file doesn't exist [yet]
(WARNING) armoryengine.py:11197 - Overriding not-available message. This should happen 0-5 times
-INFO  - 1382477339: (BlockUtils.cpp:1582) Set home directory:
-INFO  - 1382477339: (BlockUtils.cpp:1604) Set blkfile dir: /home/xxx/.bitcoin/blocks
-INFO  - 1382477339: (BlockUtils.cpp:1614) Set leveldb dir: /home/xxx/.armory/databases
-INFO  - 1382477339: (BlockUtils.cpp:1570) SetBtcNetworkParams
-INFO  - 1382477339: (BlockUtils.cpp:3542) Executing: doInitialSyncOnLoad
-INFO  - 1382477339: (BlockUtils.cpp:3582) Number of registered addr: 0
-INFO  - 1382477340: (BlockUtils.cpp:1709) Current Top block in HEADERS DB:  0
-INFO  - 1382477340: (BlockUtils.cpp:1710) Current Top block in BLKDATA DB:  0
-INFO  - 1382477340: (BlockUtils.cpp:1711) Current Applied blocks up to hgt: 0
-INFO  - 1382477340: (BlockUtils.cpp:3606) Clearing databases for clean build
-WARN  - 1382477340: (BlockUtils.cpp:3507) Destroying databases;  will need to be rebuilt
pthread lock: Ongeldig argument
Afgebroken (geheugendump gemaakt)
Question: how can I make a fresh Armory restart?

Ack, this is really not going well on Ubuntu 32-bit (that's what you're in, right?).  You can remove the /home/xxx/.armory/databases directory to retry from scratch.  Though, "--rebuild" should do exactly that.

I noticed the line "pthread lock:  Ongeldig argument", I assume that means "Invalid Argument"?  If so, that may be the source of the problem, perhaps the way leveldb is being compiled here is not playing nicely with the 32-bit libraries.
917  Bitcoin / Armory / Re: RAM-Reduction & Backup Center Testing (version 0.89.99.5) on: October 22, 2013, 09:32:48 PM
This looks eerily similar to teh guy that just posted here:

https://bitcointalk.org/index.php?topic=316312.0


Just to update on progress from that thread...

The --rebuild progressed for me until the 18th block file, then raised the same socket error just reported.  Armory GUI was still responsive, but stopped processing further blocks.

Not had chance to look in detail at the satoshiIsAvailable() method, but perhaps socket creation should be within the try block?  Might hack that myself and give it a go.

Are you running a 32-bit OS?  I just committed the first version that should build on 32-bit *nix, but haven't had much chance to test online mode (only tested offline mode).  pvz appears to be in 32-bit as well, and I wonder if that's related...
918  Bitcoin / Armory / Re: RAM-Reduction & Backup Center Testing (version 0.89.99.5) on: October 22, 2013, 08:49:10 PM
Can you please try --rebuild. 
I'll do that. Should it be default for the first time or a database check before start?

It is.  The default behavior is to rebuild if the DB doesn't exist.  Just like I mentioned in that other thread, it looks like you might've interrupted the DB build process in the middle and then it restarted (hence only 77k blocks processed, not 260k).  It's worked on my system before but it may not be reliable yet (to interrupt and then restart the build).

919  Bitcoin / Armory / Re: RAM-Reduction & Backup Center Testing (version 0.89.99.5) on: October 22, 2013, 08:33:27 PM
This looks eerily similar to teh guy that just posted here:

https://bitcointalk.org/index.php?topic=316312.0

I wonder if the recent update did something... because so far I haven't ever seen that error until I committed the tiny update a couple hours ago... at least it should be easy to track down what happened...

Can you please try --rebuild.  It will take a while to rebuild the database, but it sounds like your DB is corrupted.  There's some transactions in the DB that were only partially written.  That's bad.

920  Bitcoin / Armory / Re: RAM-Reduction & Backup Center Testing (version 0.89.99.5) on: October 22, 2013, 07:36:16 PM
Oh this is fun (for you C++ Linux devs)!  I didn't know this existed:

Code:
touch foo.c ; g++ -dM -E foo.c; rm foo.c;

That prints a full list of all pre-processor symbols defined by default in your g++ compiler.  I noticed a bunch of things I didn't know were normally compiler defined.  Just some samples from my system (Linux Mint 15, 64-bit):

Code:
#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
#define __INT_LEAST32_TYPE__ int
#define __INT32_TYPE__ int
#define __UINT64_TYPE__ long unsigned int
#define __SIZE_TYPE__ long unsigned int
#define __DBL_EPSILON__ double(2.22044604925031308085e-16L)
#define __DBL_MIN_EXP__ (-1021)
#define __FLT_MIN__ 1.17549435082228750797e-38F
#define __VERSION__ "4.7.3"
#define __SIZEOF_SIZE_T__ 8
#define __SIZEOF_INT__ 4
#define __SIZEOF_POINTER__ 8
#define __SIZE_TYPE__ long unsigned int
#define __x86_64__ 1
#define __LP64__ 1
#define __FLT_HAS_INFINITY__ 1

Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 [46] 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 ... 186 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!