Bitcoin Forum
May 23, 2024, 01:06:48 PM *
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 ... 233 »
41  Bitcoin / Armory / Re: BTC transaction unconfirmed after 92 confirmations on: September 15, 2023, 08:14:45 AM
Thank you again & this is where I am kind of lost, I know very little about the use of commands & how to specify these paths. I take it is done in command prompt & does it need to be elevated?

You can achieve this with config files. Read the "Config Files" section of https://btcarmory.com/docs/pathing, it's pretty straight forward.

Quote
Please would you walk me through the exact steps like I am a 2 year old..?

I can try to hand hold you but you have to tell me about your setup first:

- Do you have a custom datadir for Core? Where is your blockchain data if so?
- Do you have a custom dbdir for Armory? Where is it if so?
- Do you want Armory to automate bitcoind or do you want to control it yourself?
42  Bitcoin / Armory / Re: BTC transaction unconfirmed after 92 confirmations on: September 13, 2023, 07:44:11 AM
Do I have to have Bitcoin Core running to use Armory or do I leave it off & check the box to have bitcoind running in the background from Armory?

With 0.96.5 you can start the various binaries on your own, as long as you respect the order:

1st: bitcoind/bitcoin-qt
2nd: ArmoryDB
3rd: ArmoryQt

The other binaries will pick on existing instances.

Quote
I have pointed the top Armory Bitcoin install directory to D:\Program Files\Bitcoin

This isn't your Bitcoin binaries installation folder (where bitcoind/bitcoin-qt reside). ArmoryDB needs to know where your blockchain data lives instead. This page explains to you how to set paths for the blockain data:

https://btcarmory.com/docs/pathing
43  Bitcoin / Armory / Re: BTC transaction unconfirmed after 92 confirmations on: September 12, 2023, 07:25:19 AM
I have also remembered I was getting an error that stated something like stopblockingthread error on my PC, that's when the DB.exe would crash in Armory.

Bitcoin Core is reading 807187 blocks.

1. You should update to Armory 0.96.5: https://github.com/goatpig/BitcoinArmory/releases/tag/v0.96.5

2. I would still like to see a log file, would help with the debugging

3. Your best path forward is to empty your "databases" folder. You'll find it in the Armory datadir then start Armory. On Windows, the default path is:

Code:
"C:\Users\*accountname*\AppData\Roaming\Armory\databases"
44  Bitcoin / Armory / Re: BTC transaction unconfirmed after 92 confirmations on: September 11, 2023, 12:38:09 PM
My system will not run Armoury or on my other machine, the only version 0.96 on my son's PC has the ability to count through the blocks & fully update. My original installation with the original transaction is borked & will not get past 403k blocks. So I decided to restore my wallet on his working Armory installation & now his does not work either, stopping at the block where the transaction is at about 805k blocks. The ArmoryDB.exe disappears as it did on my machine. Please advise.

Start Bitcoin Core, what's the top block?
45  Bitcoin / Armory / Re: BTC transaction unconfirmed after 92 confirmations on: September 11, 2023, 07:02:14 AM
Hi, I sent a bitcoin transaction from my son's Armoury wallet on his PC, the bitcoin was redeemed from a cold wallet to his wallet & I sent it to my own personal Armoury wallet on my PC last night, both are Armoury (0.96). It still remains unconfirmed in my wallet after 95 confirmations now.
I marked it as RBF when it was sent & it is flagged in the received transactions in my wallet as: ***RBF Flagged*... The maximum funds reads correct but the spendable funds reads zero & the balance is red & unconfirmed, my wallet is connected & I can right click on the transaction & view it on the blockchain.

Did I do something wrong checking the RBF box on sending & how can I get the transaction to confirm?
Thanks.


This means the transaction is yet to confirm. What fee did you pay?

I can't see the 'transactions tab' now because since I imported my backup wallet to my son's machine, the wallet will not update past the block where the transaction was at approx 805, 000 blocks. The transaction no longer appears in the wallet that he sent to on my machine.
Should I delete my restored wallet?

Take it easy with the deletions. Please elaborate on the state of your system, or better, post logs from that machine.
46  Bitcoin / Armory / Re: libbitcoin vulnerability and armory on: August 18, 2023, 01:57:44 PM
also, I feel must take some responsibility for this thread appearing. it seems I misremembered whether Armory uses libbitcoin or not, and so should have not said anything at all without properly checking. it seems that in production Armory (0.96.5) all RNG seeding is not libbitcoin code, and in fact libbitcoin code isn't used at all in 0.96.5 (or 0.96.x inclusive)

so I hope nobody was in any way alarmed by what I said in the Dev&Tech thread linked in the OP

No harm done, better safe than sorry.
47  Bitcoin / Armory / Re: Armory stuck in offline mode... on: August 18, 2023, 12:12:47 PM
  • bitcoin-cli getpeerinfo | grep inbound tells me ArmoryDB isn't connected to bitcoind

This is your issue. Armory connects to Bitcoin Core as a P2P node. It waits on new block broadcasts from your node to trigger the new block checks. If that connection isn't established, Armory won't see new blocks.
48  Bitcoin / Armory / Re: libbitcoin vulnerability and armory on: August 18, 2023, 11:01:23 AM
Some final notes:

I haven't looked at the libbitcoin RNG code, but it seems the issue isnt with libbitcoin per se but with libbitcoin explorer (aka "bx") handling of PRNG outputs for the purpose of wallet seeds. At any rate, Armory doesn't use that code, so it's not affected.
49  Bitcoin / Armory / Re: libbitcoin vulnerability and armory on: August 18, 2023, 10:56:21 AM
Entropy buffer size

On both versions, entropy buffer size is set to 32, but is it effective? The issue with "bx" (hadn't heard of this before now) is that no matter how much entropy it fetched to seed a wallet, it would be clamped down the 4 bytes. 4 bytes of entropy is way too low, attackers would create wallets for the entire space and look at all BIP44/49/84 roots, and sweep the coins.

1) In Armory, the buffer init code has not changed. Both 0.96.5 and the new code create a SecureBinaryData object, of numBytes.

dev: https://github.com/goatpig/BitcoinArmory/blob/dev/cppForSwig/EncryptionUtils.cpp#L31
master (0.96.5): https://github.com/goatpig/BitcoinArmory/blob/master/cppForSwig/EncryptionUtils.cpp#L86

2) SecureBinaryData is a child class of BinaryData, the size_t ctor defers to BinaryData(size_t).

dev: https://github.com/goatpig/BitcoinArmory/blob/dev/cppForSwig/SecureBinaryData.h#L55
master: https://github.com/goatpig/BitcoinArmory/blob/master/cppForSwig/EncryptionUtils.h#L142

3) The BinaryData(size_t) is the same in both instances:

dev: https://github.com/goatpig/BitcoinArmory/blob/dev/cppForSwig/BinaryData.h#L110
master: https://github.com/goatpig/BitcoinArmory/blob/master/cppForSwig/BinaryData.h#L111

4) It uses BinaryData::alloc, which calls std::vector::resize:

dev: https://github.com/goatpig/BitcoinArmory/blob/dev/cppForSwig/BinaryData.h#L569
master: https://github.com/goatpig/BitcoinArmory/blob/master/cppForSwig/BinaryData.h#L599

5) The underlying vector is of uint8_t, i.e. bytes. Therefor the ctor allocates numBytes before filling it with random bytes. NumBytes is set to 32 in 0.96.5, in dev it can vary, as it allows for 16 bytes of entropy for 12 word BIP39 backups.
50  Bitcoin / Armory / Re: libbitcoin vulnerability and armory on: August 18, 2023, 10:38:45 AM
Armory 0.97 (WIP, dev branch) (TLDR; not affected)

This uses libbtc, not libbitcoin per se, though I plan to move to libbitcoin cause libbtc is rough around the edges and libbitcoin is getting all the attention these days (+ it's a C++ implementation, not plain C).

Wallet creation can happen in many places in the new code, kinda pointless to try and pin it down (all depends on whether it has a seed or not). It's simpler to look at the RNG class where all entropy comes from.

1) The main RNG class: https://github.com/goatpig/BitcoinArmory/blob/dev/cppForSwig/EncryptionUtils.h#L107

This is the one that pulls entropy from the system directly, the other RNG class is seeded from this.

2) This calls libbtc routines 'btc_random_init()' and 'btc_random_bytes()': https://github.com/goatpig/BitcoinArmory/blob/dev/cppForSwig/EncryptionUtils.cpp#L33

3) btc_random_bytes() default to btc_random_bytes_internal: https://github.com/libbtc/libbtc/blob/master/src/random.c#L46

4) btc_random_bytes_internal has OS dependant implementations:

4.a) on Windows, it uses the MS closed source CryptGenRandom (everybody has to do this on Windows): https://github.com/libbtc/libbtc/blob/master/src/random.c#L92
4.b) on Linux, it reads n bytes from /dev/urandom: https://github.com/libbtc/libbtc/blob/master/src/random.c#L103
51  Bitcoin / Armory / Re: libbitcoin vulnerability and armory on: August 18, 2023, 10:15:45 AM
Interesting question, I'll break this down into multiple posts for ease of read (I'll be linking to code in github):

Armory 0.96.5 (latest stable release) (TLDR; not affected)

This is still using CryptoPP for RNG, no libbtc involvement.

1) Wallets are created here: https://github.com/goatpig/BitcoinArmory/blob/master/ui/Wizards.py#L173

2) This goes to the PyBtcWallet: https://github.com/goatpig/BitcoinArmory/blob/master/armoryengine/PyBtcWallet.py#L840

3) `plainRootKey` is not set, so it defers to SecureBinaryData().generateRandom(32): https://github.com/goatpig/BitcoinArmory/blob/master/armoryengine/PyBtcWallet.py#L904

4) This is the generateRandom call: https://github.com/goatpig/BitcoinArmory/blob/master/cppForSwig/EncryptionUtils.cpp#L75

It uses 'BTC_PRNG prng;'

5) BTC_PRNG is define here: https://github.com/goatpig/BitcoinArmory/blob/master/cppForSwig/EncryptionUtils.h#L118

'#define BTC_PRNG      CryptoPP::AutoSeededX917RNG<CryptoPP::AES>'



52  Bitcoin / Armory / Re: Recovering private keys from 2009-2010 on: July 19, 2023, 07:16:12 AM
Update:

I believe I have found the private keys though a python script but it is totally unreadable, meaning it is consisted of signs like squares, question marks, crosses etc.

How do I decrypt it to a standard private key?


Private keys are not saved in hex, and it is also very unlikely the key is unencrypted. The comment on this method explains how key data is serialized: https://github.com/goatpig/BitcoinArmory/blob/master/armoryengine/PyBtcAddress.py#L874

To decrypt a private key, you will need the following for each key:
Code:
         InitVect    (16 bytes) :  Initialization vector for encryption
         InitVectChk ( 4 bytes) :  Checksum for IV
         PrivKey     (32 bytes) :  Private key data (may be encrypted)
         PrivKeyChk  ( 4 bytes) :  Checksum for private key data

as well as the KDF, packaged in the wallet header:

Code:
   Crypto/KDF  -- (512) information identifying the types and parameters
                        of encryption used to secure wallet, and key
                        stretching used to secure your passphrase.
                        Includes salt. (the breakdown of this field will
                        be described separately)

Assuming you can find the private key entry for the wallet root, you can ignore the rest of the wallet and reconstruct it from that one key.
53  Bitcoin / Armory / Re: Recovering private keys from 2009-2010 on: July 05, 2023, 07:21:19 AM
Hello,

It might sound easy for a person with basic knowledge but unfortunately I need more details.

How do I search something in Python?

I open the command box and then what?

How do I specify the location that I want Python to search for the sequence?

The disk data is currently sitting in one of my external hard disks.

Too many questions, I know.


There are no python specific commands in my instructions. Armory has a built in tool to check wallet integrity. It can be used to reconstruct a wallet which is partially damaged. This is all done graphically as long as you can come up with a wallet file.

In the OP, you said you have already recovered the disk and ran a search for a specific hex sequence. My assumption is that you have all that you need to reproduce that wallet file. None of that requires any coding in Python yet (hence the "easy" remark).

Armory wallet files are named along the following pattern: armory_xxxxxx.wallet. Unless you have recovered a file with this kind of naming, you will have to search the data you recovered from disk for that start sequence ('\xbaWALLET\x00').
Assuming the ~1000 bytes following that sequence are intact, the recovery tool should be able to rebuild the wallet. Again, this whole process is graphical, you don't need any Python to try this out.
54  Bitcoin / Armory / Re: Recovering private keys from 2009-2010 on: July 04, 2023, 07:19:27 AM
Is there a chance that you can guide me step by step?

There is a tool that can recover wallet files even if it was deleted but I do not know if this tool can recover the old wallet version since you said it's a 2009/2010 wallet.

The tool called PyWallet is used to recover wallets there is a guide posted on this forum on how to use it you can check this guide "[GUIDE] Recover your deleted keys"

This is for wallet.dat (i.e. Bitcoin Core's wallet format). It won't work for Armory wallets.

Quote
(hence the little progress over the last 3 years)

Ah I missed this part in the OP. So I can assume time is not of the essence then? If you got some more patience in you, I can look at it directly. I assume you have an image of the recovered disk. I would need access to that somehow. Do you remember if you encrypted the wallet or not?

Hello again,

Time is not of the essence but (and how do I put it in words without offending you or anyone else) I believe that I shouldn't been giving copies/images of the recovered data.

Is there a chance that you can guide me step by step?

I have downloaded python 2.7

Now what?



Let's try the easy way then. Search your disk data for this sequence: '\xbaWALLET\x00'. Grab it along with the following ~10kB and make that a file. Feed that file to the Armory wallet recovery tool (Wallet -> Fix Damaged Wallet). What do you get?
55  Bitcoin / Armory / Re: Recovering private keys from 2009-2010 on: June 29, 2023, 01:20:50 PM
Quote
(hence the little progress over the last 3 years)

Ah I missed this part in the OP. So I can assume time is not of the essence then? If you got some more patience in you, I can look at it directly. I assume you have an image of the recovered disk. I would need access to that somehow. Do you remember if you encrypted the wallet or not?
56  Bitcoin / Armory / Re: Recovering private keys from 2009-2010 on: June 26, 2023, 07:22:20 AM
Recovering an old Armory wallet from fragments of data will require diving into the old file format.

Code wise it's all in here: https://github.com/goatpig/BitcoinArmory/blob/master/armoryengine/PyBtcWallet.py

As for specifics on what you're looking for:
Code:
 self.fileTypeStr    = '\xbaWALLET\x00' 

This is what old Armory wallet files start with.

As for the next steps, it depends on what you end up finding in the wallet. If you cannot recover the root, you can still recover part of the wallet based on how many private and public keys you can salvage. At first I'd suggest focusing on the root address and chaincode, so as to check if the wallet has any coins in the first place. This is because you will need to recover the KDF params and the associated IV for each private keys you recover, in order to decrypt them.

You will need some python chops, with a cursory understanding of cryptography (or hire someone). I'll help you along the way.

57  Bitcoin / Armory / Re: not tech savvy need some help on: June 26, 2023, 07:06:59 AM
so its a 2 line and it had me make a new passphrase. but it popped up a message saying armory 0.96 has to mirror python wallets? says mirrored wallets are watch only and hold no keys? is it going make my wallet watch only?can i still transfer?

That's part of internal design. It will result in multiple files for a given wallet. Don't concern yourself with that, you'll be able to spend.
58  Bitcoin / Armory / Re: Armory wallet question on: June 21, 2023, 07:27:12 AM
Let's say your mount point for the TrueCrypt container is named ~/EncryptedFolder. You would do the following:

1. Unlock the TrueCrypto container and mount it to ~/EncryptedFolder
2. Copy your existing wallets to ~/EncryptedFolder
3. Tell ArmoryQt to start from that folder:
Code:
python ArmoryQt.py --datadir=~/EncryptedFolder

All wallets you create/add in that instance of Armory will be saved in that folder. If you don't want to copy your existing wallets manually, you can restore them from their respective backups from within Armory as well.

NOTE: if you do this on an online machine, the db data will end up in your encrypted folder, unless you give it a specific path with --dbdir. If you want to encrypt your public keys on your online machine, that's an ok thing to do.
59  Bitcoin / Development & Technical Discussion / Re: why was Bitcoin written in C++? on: May 31, 2023, 07:36:51 AM
AFAIK he was in touch with Wei Dai via various cypherpunk forums. Bitcoin used CryptoPP, Wei Dai' C++ crypto library. I assume that had some weight in the balance.
60  Bitcoin / Armory / Re: Fresh install of Armory 0.96.5 on Debian 10 (online/offline) on: May 27, 2023, 08:08:02 AM
1. Are there no backport repos for Debian? Ubuntu has those.
2. You could always build Python2 and PyQt4 from source. On Debian, that's actually fairly simple.
3. Or you could build the dev branch and try out the new code in Py3/Qt5.
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 ... 233 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!