Author

Topic: What will happen if I generate 100k address for a online shopping system? (Read 659 times)

legendary
Activity: 1428
Merit: 1093
Core Armory Developer
HorseRider:  So one of the issues with the current wallet implementation is that wallet.unlock() will unlock and verify all the private keys in the wallet.  The verification is there to catch money-losing bugs, but it necessarily is too slow for wallets of that size.  I suspect that's what the issue is... you can use wallets of that size for everything except for signing... and you can sign with them but you'll be waiting for 100k ECDSA calculations each time you try to sign something.

The new wallet format I keep talking about solves that problem.  It only unlocks and verifies what it needs to.  But that new wallet format is a ways out (it's high priority after 0.91-beta, but it will still take a while to iron out the design and test it).

donator
Activity: 1120
Merit: 1001
We're not comfortable with the performance yet of that many addresses.  But there's nothing technically wrong with doing it, but you might want to wait for version 0.91 which has dramatically improved performance.  It's not perfect, but I'm running with 27k addresses now (online) with no problem in 0.91.  And it was pretty slow in 0.90. 

Don't interpret slow address generation as a sign of anything.  The address chaining operation is very computationally intense, but actually using those addresses is fine, no matter how many there are.  The only thing to be aware of is that you will have to generate as many addresses on your offline computer as you are on the online computer.  Or generate them on the offline computer first before exporting the watching only wallet.   If you've already split them, it's no problem, but you'll have to go into expert mode in the offline computer and click on "# Addresses Used" in the wallet properties and tell it to generate 100k.  Once they're generated, it will have no problem doing offline signing for any of them, it just needs to be aware of those 100k.

Thank you, etotheipi. I will wait the 0.91 version. The address generating is done, and now when I unlock the wallet I got a "no response". I will wait a few hours to see whether it will unlock the wallet after all.

legendary
Activity: 1428
Merit: 1093
Core Armory Developer
We're not comfortable with the performance yet of that many addresses.  But there's nothing technically wrong with doing it, but you might want to wait for version 0.91 which has dramatically improved performance.  It's not perfect, but I'm running with 27k addresses now (online) with no problem in 0.91.  And it was pretty slow in 0.90. 

Don't interpret slow address generation as a sign of anything.  The address chaining operation is very computationally intense, but actually using those addresses is fine, no matter how many there are.  The only thing to be aware of is that you will have to generate as many addresses on your offline computer as you are on the online computer.  Or generate them on the offline computer first before exporting the watching only wallet.   If you've already split them, it's no problem, but you'll have to go into expert mode in the offline computer and click on "# Addresses Used" in the wallet properties and tell it to generate 100k.  Once they're generated, it will have no problem doing offline signing for any of them, it just needs to be aware of those 100k.
donator
Activity: 1120
Merit: 1001
I am doing the test right now. I can see when generating the address, the RAM use goes up minute after minutes. It will take about 2 hour to generate these amount of address in a VM system.

What worries me is:

1)When so many address having been generated,whether the online client still be able to watch it? Will the online client stop working? or work too slow?
2)when I am going to use the fund in such a big wallet, whether the offline client still be able to sign that message?

Jump to: