Author

Topic: Old Setup with New Address Formats (Read 79 times)

newbie
Activity: 11
Merit: 1
November 27, 2024, 08:38:22 AM
#5
Thank you for the replies and information, it's a huge help.
legendary
Activity: 3794
Merit: 1375
Armory Developer
November 27, 2024, 05:09:11 AM
#4
As a general rule, you do not need to update the offline signer as often as the online client. The signer has to do a narrow set of operations, and they are more often than not future proof. The client has to go online and keep up with OS/environment updates.

Quote
- Upgrade to 96.5 isn't possible on my cold ubuntu setup (12.04) because a dependency isn't satisfiable (libstdc++6 (>=4.8.0)). If I want to to use 96.5 as the signer I'll have to get a later version (between 14 and 18).

You would need ubuntu 14 to 18, 20 can work as well using the backport repo to install python2.

Quote
- I could try upgrading to 0.93 but correct me if I'm wrong, there's no need/improvement in my workflow since I don't use the 'clicking on a bitcoin:" link feature. Unless you recommend at least 0.93.3 for my signer because of BIP62.

You do not need to upgrade to 0.93 unless you want to spend from Armory P2SH addresses. If you end up sending coins to a P2SH address, you will have to update to spend them.

Malleability (BIP62) was an old soft attack on the network (circa 2015-16?). People would produce variants of someone's signature (flipping the sign on parts of the signature, pad a 0, whatever) which wouldn't invalidate the transaction but change the hash (since at least one bit changed). This made your transactions mine but under a different hash, breaking zero conf chains and inducing wallets/services in error.

RFC 6979 and other countermeasures were enforced in SegWit, malleable transactions are still valid, and I believe standard as well if you signal v1? It's been a while since I last heard of this TBH.

Quote
- I am hesitant to manually set the change address or modify the transaction for fear of a mistake on my part and sending any bitcoin to a change address I cannot access. I'd prefer to let the wallet software do its thing.

For any meaningful transaction, you should verify all recipients on your offline signer before signing. Armory decorates recipients it knows with relevant information (in this case, the wallet id the address belongs to). It should be evident in the GUI which address is yours, which isn't and how much bitcoin in aggregate is leaving your wallet.

Quote
I'm okay with transacting in legacy P2PKH addresses. My destination wallet in this case does allow for it, after which I can move to a segwit address.

You can send to P2SH addresses (even segwit nested in P2SH), you cannot spend from that. The risk is that the change address is in a format 0.92 cannot spend from, forcing you to update. So long as the offline signer recognizes the change address, it can spend from it.

Quote
So I think my options are 1) setup a cold ubuntu (v14  to 18) machine and install Armory 96.5 to act as the signer. I would still have to transact with a P2PKH address for the destination to be able to sign. Or 2) keep my current cold ubuntu machine and update to Armory 0.93.3.

Unless you want to use SegWit or P2SH schemes, you do not need to update the offline signer.

newbie
Activity: 11
Merit: 1
November 26, 2024, 05:07:44 PM
#3
Thank you for the reply.

1. 0.96.5 *only* works on old versions of Ubuntu cause of py2/qt4 dependency. Basically anything after Ubuntu 18 will fail to natively run current version of Armory.

- Upgrade to 96.5 isn't possible on my cold ubuntu setup (12.04) because a dependency isn't satisfiable (libstdc++6 (>=4.8.0)). If I want to to use 96.5 as the signer I'll have to get a later version (between 14 and 18).

2. New version Im working on runs on modern OSes and has a compatibility mode for unsigned transactions (you can create unsigned tx blobs specifically for legacy signers). My own offline signer is 0.93 and Ive moved coins with the new Armory using that signer a bunch of times. I'm stuck in release hell with this however (it works but UX is in the toilet and im not quite done getting the Windows build into shape yet).

- I could try upgrading to 0.93 but correct me if I'm wrong, there's no need/improvement in my workflow since I don't use the 'clicking on a bitcoin:" link feature. Unless you recommend at least 0.93.3 for my signer because of BIP62.

3. 0.92 is meant for P2PKH and not much more. 0.96.x tries really hard to set your change address to the address type of the funds' origin, but in your case you should perform a manual review of the transaction regardless, or set the change address yourself. Have 2 recipients:

- one as the destination of the funds with whatever amount
- one back to your own wallet with "MAX" checked.

If you mess up the change address, you'll have to update your signer to at least 0.93.x.

- I am hesitant to manually set the change address or modify the transaction for fear of a mistake on my part and sending any bitcoin to a change address I cannot access. I'd prefer to let the wallet software do its thing. I'm okay with transacting in legacy P2PKH addresses. My destination wallet in this case does allow for it, after which I can move to a segwit address.

So I think my options are 1) setup a cold ubuntu (v14  to 18) machine and install Armory 96.5 to act as the signer. I would still have to transact with a P2PKH address for the destination to be able to sign. Or 2) keep my current cold ubuntu machine and update to Armory 0.93.3.

I think option 2 is optimal but please correct any mistakes in my reasoning. Obviously my goal is to transact without any loss of funds using an Armory offline signer in conjunction with Armory 96.5 on my hot computer.

EDIT: Checked previous transactions. Always sent to P2PKH addresses (TxOut script type: standard (PKH))
legendary
Activity: 3794
Merit: 1375
Armory Developer
November 26, 2024, 03:45:00 AM
#2
1. 0.96.5 *only* works on old versions of Ubuntu cause of py2/qt4 dependency. Basically anything after Ubuntu 18 will fail to natively run current version of Armory.

2. New version Im working on runs on modern OSes and has a compatibility mode for unsigned transactions (you can create unsigned tx blobs specifically for legacy signers). My own offline signer is 0.93 and Ive moved coins with the new Armory using that signer a bunch of times. I'm stuck in release hell with this however (it works but UX is in the toilet and im not quite done getting the Windows build into shape yet).

3. 0.92 is meant for P2PKH and not much more. 0.96.x tries really hard to set your change address to the address type of the funds' origin, but in your case you should perform a manual review of the transaction regardless, or set the change address yourself. Have 2 recipients:

- one as the destination of the funds with whatever amount
- one back to your own wallet with "MAX" checked.

If you mess up the change address, you'll have to update your signer to at least 0.93.x.
newbie
Activity: 11
Merit: 1
November 25, 2024, 07:16:55 PM
#1
Hello. I have a cold setup from years ago, what is now an old version of Ubuntu with an old version of Armory (0.92.3). The synced Armory version is 0.96.5 (most recent as I understand it).
I don't use bitcoin much and last did a transaction without issue a few years ago. I'm hesitant to change anything because of various syncing challenges.

My question is can I continue with this setup as it has historically worked without issue, or is it a must to update (to either the latest Armory versions on both machines or import keys into offline Electrum)?

Another question: is Armory 0.96.5 compatible with old version of ubuntu?

My concern is if I send a transaction there could be issues with change addresses or compatibility. I understand I would have to stick with Legacy address format.
Jump to: