Author

Topic: Maximum number of addresses in wallet (Read 1142 times)

legendary
Activity: 3640
Merit: 1345
Armory Developer
April 20, 2016, 06:55:38 PM
#12
There is a default, fixed lookup, and it is left to the user to manually increase that lookup if they think it necessary. Armory is an advance wallet after all, we expect our users to understand this engineering limitation and fill the gap thanks to their own expertize.

How would we increase the lookup limit?

Set Armory to Expert mode. Go into the wallet properties dialogue (double click the wallet in the top right list). The number of computed addresses will be visible next to Addresses Used. Click that figure and it will display a dialogue with the amount of addresses in used and currently computed on the wallet's chain. You can also pick an amount of extra addresses to compute.

I suggest you restore you wallet offline first, extend the chain to however big you want it (assuming you want more than the standard 1k addresses), then create a WO to feed the online counterpart. This only makes your life easier when restoring a wallet from the root key.

If you want to extend the address chain with an existing wallet, doing it offline or online won't change much from your end.
legendary
Activity: 1904
Merit: 1007
April 20, 2016, 06:17:53 PM
#11
There is a default, fixed lookup, and it is left to the user to manually increase that lookup if they think it necessary. Armory is an advance wallet after all, we expect our users to understand this engineering limitation and fill the gap thanks to their own expertize.

How would we increase the lookup limit?
legendary
Activity: 3640
Merit: 1345
Armory Developer
April 18, 2016, 01:15:17 PM
#10
The lookup on restores is 1000 addresses. Should be plenty for individual cold storage wallets. An old spending wallet may exceed that eventually.

I could consider adding a field to specify lookup length per paper backup, but that won't be a panacea either.
full member
Activity: 159
Merit: 100
April 18, 2016, 11:00:24 AM
#9
Armory side steps the issue entirely. There is a default, fixed lookup, and it is left to the user to manually increase that lookup if they think it necessary. Armory is an advance wallet after all, we expect our users to understand this engineering limitation and fill the gap thanks to their own expertize.

OK, I had misunderstood how it works.  Any way Armory does it can only be a heuristic / educated guess.  But I would have expected that if you restored a wallet, and Armory found transactions also in the later addresses it generated, then it would automatically extend the list of addresses.  I guess that is not so.

Use case: I drop dead.  My next of kin finds my 3-of-5 backup, and restores it.  I hope they get all the money.  :-)
(Hypothetical example of course.  I do not have that many bitcoins.  And I do not plan on dropping dead, but you never know).
newbie
Activity: 51
Merit: 0
April 16, 2016, 06:49:43 PM
#8
I've wondered this before and it confuses me endlesssly.  If the number is indeed, upwards of a billion... then if any of those addresses had any BTC, my Armory wallet would and should be able to send it?

Indeed.

Quote
I don't get it.  There is no question here - no need to respond, I am just confused.  Smiley

Your wallet is an endless series of addresses.  But Armory don't generate them all (it can't, of course).  When Armory has generated 1000 addresses(*) without any coins in them, it assumes that it has seen all addresses and stop generating new ones.  But you can manually ask it to generate more.

What confuses you may be that you thing one billion addresses is a non-vanishing part of the bitcoin addresses.  But one billion addresses is a tiny, ridiculously small fraction of all bitcoin addresses.  So the chance that you find bitcoins by accident in your wallet is smaller than one to the number of atoms in the visible universe!


(*) I am not sure of the actual number.  It may be 100, or it may be 10000.  You can change the number somewhere.


This absolutely clears it up.
Thanks!!
legendary
Activity: 3640
Merit: 1345
Armory Developer
April 16, 2016, 05:13:50 PM
#7
Your wallet is an endless series of addresses.  But Armory don't generate them all (it can't, of course).  When Armory has generated 1000 addresses(*) without any coins in them, it assumes that it has seen all addresses and stop generating new ones.

This isn't exactly true. There is no real sense of an ongoing lookup in Armory. You are implying Armory would keep on generating addresses on the wallet's chain as long as the last 100 aren't empty, which isn't the case. When you create a wallet, Armory pre-computes the first 100 entries on the chain. When you restore from a root key, it pre-computes 1000. When you restore a digital backup, it doesn't extend the existing chain at all.

To understand this you have to consider the engineering perspective:

In order to check an address balance you need to know at least its relevant utxos. However this information alone is not enough. You could very well have a wallet with 100 empty addresses (that have a transaction history) and the 101st address with an actual balance. If you only scan for balance, you would miss that 101st address. The criteria therefor is not balance, but transaction history.

There is no true shortcut to look that up. You have to parse the blockchain for that data one way or another. In case of lite wallets, they rely on a supernode server that tracks all blockchain history, therefor such incremental lookup scheme is possible (at the cost of your privacy). For full node wallet (i.e. that process their own blockchain data), you have to run your own supernode to support this feature (at a huge resource cost compared to the average individual use case). Scanning packs of 100 addresses sequentially is not a reliable approach, each scan is essentially as expensive as the previous one.

Armory side steps the issue entirely. There is a default, fixed lookup, and it is left to the user to manually increase that lookup if they think it necessary. Armory is an advance wallet after all, we expect our users to understand this engineering limitation and fill the gap thanks to their own expertize.
full member
Activity: 159
Merit: 100
April 16, 2016, 03:40:16 PM
#6
I've wondered this before and it confuses me endlesssly.  If the number is indeed, upwards of a billion... then if any of those addresses had any BTC, my Armory wallet would and should be able to send it?

Indeed.

Quote
I don't get it.  There is no question here - no need to respond, I am just confused.  Smiley

Your wallet is an endless series of addresses.  But Armory don't generate them all (it can't, of course).  When Armory has generated 1000 addresses(*) without any coins in them, it assumes that it has seen all addresses and stop generating new ones.  But you can manually ask it to generate more.

What confuses you may be that you thing one billion addresses is a non-vanishing part of the bitcoin addresses.  But one billion addresses is a tiny, ridiculously small fraction of all bitcoin addresses.  So the chance that you find bitcoins by accident in your wallet is smaller than one to the number of atoms in the visible universe!


(*) I am not sure of the actual number.  It may be 100, or it may be 10000.  You can change the number somewhere.
newbie
Activity: 51
Merit: 0
April 16, 2016, 05:12:28 AM
#5
I've wondered this before and it confuses me endlesssly.  If the number is indeed, upwards of a billion... then if any of those addresses had any BTC, my Armory wallet would and should be able to send it?

I don't get it.  There is no question here - no need to respond, I am just confused.  Smiley
member
Activity: 81
Merit: 10
April 16, 2016, 05:10:32 AM
#4
Thank you  Smiley
staff
Activity: 3374
Merit: 6530
Just writing some code
April 15, 2016, 02:56:09 PM
#3
Is there a maximum number of addresses that can be used in a single wallet?
In theory, no, I don't think there is a maximum.

I'm wondering about this question too. Let's say I do this:

  • Generate billion addresses in my watch-only wallet (on my online computer) and receive bitcoins on all of them.
  • Delete this watch-only wallet.
  • Create a new watch-only wallet on my offline computer and transfer it to the online computer.
  • I have now forgotten how many addresses I had actually generated (the answer is billion, but I don't remember that anymore).

Unde this scenario, how can I now be 100% sure that I have access to all of my bitcoins? Is my only option to generate again trillion (remember, I don't remember the answer is billion so it could be substantially higher) addresses?
With that scenario, I think you would have to generate that many addresses. Now, you wouldn't have to jump to a trillion, just use some common sense and logic. If you think it was a few billion, then generate 10 billion addresses. You don't need extremes like a trillion.
pf
full member
Activity: 176
Merit: 105
April 15, 2016, 01:05:06 PM
#2
Is there a maximum number of addresses that can be used in a single wallet?


I'm wondering about this question too. Let's say I do this:

  • Generate billion addresses in my watch-only wallet (on my online computer) and receive bitcoins on all of them.
  • Delete this watch-only wallet.
  • Create a new watch-only wallet on my offline computer and transfer it to the online computer.
  • I have now forgotten how many addresses I had actually generated (the answer is billion, but I don't remember that anymore).

Unde this scenario, how can I now be 100% sure that I have access to all of my bitcoins? Is my only option to generate again trillion (remember, I don't remember the answer is billion so it could be substantially higher) addresses?
member
Activity: 81
Merit: 10
April 15, 2016, 11:53:26 AM
#1
Is there a maximum number of addresses that can be used in a single wallet?
Jump to: