Bitcoin Forum
December 15, 2024, 09:46:18 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Change Address and determanistic?  (Read 742 times)
jubalix (OP)
Legendary
*
Offline Offline

Activity: 2660
Merit: 1023


View Profile WWW
October 21, 2013, 11:45:23 AM
 #1

I am seeking a current update or official resource on

[1] the mechanism of the change address and

[2] how to choose which address payment comes from

[3] Which address is the change address

[4] are addresses deterministic, are they planned to be in the future?

[5] is the a key pool (hidden until exported)

[6] what are in the folders
key backup
rolling backup
wallet backup
wallet unec backup

[7] what are in the files .info, .key and . wallet

[8] in relation to [6] and [7] Does this get rewritten after I encrypt, and are the files writen over so the prior version could not be recovered from my HD or do I have to copy these encrypted files to USB and security wipe HD to be sure


Admitted Practicing Lawyer::BTC/Crypto Specialist. B.Engineering/B.Laws

https://www.binance.com/?ref=10062065
jim618
Legendary
*
Offline Offline

Activity: 1708
Merit: 1066



View Profile WWW
October 22, 2013, 08:58:10 AM
 #2

Hi Jubalix,

To answer your questions in order:

[1] If there is a single address in the wallet, it is used as the change address. If there are two or more addresses in the wallet the _second_ one is used. (This was added so that when people do a private key import, one of their addresses is used as change).

[2] The unspent transaction outputs are chosen by age so you cannot choose a specific output to use.

[3] - answered in [1]

[4] The change address is not deterministic no. All the private keys in MultiBit are randomly generated.

[5] There is no keypool

[6], [7], [8] What is in all the files and directories is covered in detail in the help here:
https://multibit.org/en/help/v0.5/help_fileDescriptions.html

MultiBit HD   Lightweight desktop client.                    Bitcoin Solutions Ltd   Bespoke software. Consultancy.
jubalix (OP)
Legendary
*
Offline Offline

Activity: 2660
Merit: 1023


View Profile WWW
October 22, 2013, 03:25:47 PM
 #3

Hi Jubalix,

To answer your questions in order:

[1] If there is a single address in the wallet, it is used as the change address. If there are two or more addresses in the wallet the _second_ one is used. (This was added so that when people do a private key import, one of their addresses is used as change).

[2] The unspent transaction outputs are chosen by age so you cannot choose a specific output to use.

[3] - answered in [1]

[4] The change address is not deterministic no. All the private keys in MultiBit are randomly generated.

[5] There is no keypool

[6], [7], [8] What is in all the files and directories is covered in detail in the help here:
https://multibit.org/en/help/v0.5/help_fileDescriptions.html

Thanks for very good answers. Two other thing

[1A] if I have say 5 addresses is the 5 th address used as the change address, so in general terms the 'nth' address is always the change address?

[1B] What is the rand number/gen system for keys?

[1B]

Admitted Practicing Lawyer::BTC/Crypto Specialist. B.Engineering/B.Laws

https://www.binance.com/?ref=10062065
jim618
Legendary
*
Offline Offline

Activity: 1708
Merit: 1066



View Profile WWW
October 22, 2013, 06:48:23 PM
 #4

1A It is always the second
1B SecureRandom in the Java library is used for the random numbers.

You might be better off getting a copy of the MultiBit code and reading through it for the implementation details - I don't know your programming background but the class names and comments tell most of the story.

MultiBit HD   Lightweight desktop client.                    Bitcoin Solutions Ltd   Bespoke software. Consultancy.
jubalix (OP)
Legendary
*
Offline Offline

Activity: 2660
Merit: 1023


View Profile WWW
October 23, 2013, 09:38:29 AM
 #5

1A It is always the second
1B SecureRandom in the Java library is used for the random numbers.

You might be better off getting a copy of the MultiBit code and reading through it for the implementation details - I don't know your programming background but the class names and comments tell most of the story.

ok...so always address number 2 no matter what....

I will read the code, i have coded C++ with open GL (a collision engine...my dream program), and other stuff...but that was years ago so I am sorta rusty

thanks

Admitted Practicing Lawyer::BTC/Crypto Specialist. B.Engineering/B.Laws

https://www.binance.com/?ref=10062065
jim618
Legendary
*
Offline Offline

Activity: 1708
Merit: 1066



View Profile WWW
October 23, 2013, 11:26:53 AM
 #6

if you know C++ reading Java will be pretty straightforward.

:-)

MultiBit HD   Lightweight desktop client.                    Bitcoin Solutions Ltd   Bespoke software. Consultancy.
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!