I've installed bitcoin wallet on my phone and had some transactions. I backed up my wallet and after backing up did some other transactions. I supposed that the back up just would restore my wallet state until the back-up time. But when I restored my back-up the later transactions were loaded.
My question arises by noting the fact that for every time I want request bitcoin, my wallet generates a new address randomly (in fact it generates a randomly private-key and then using that private-key constructs the public-key and address). So my back-up should Only have private-keys which were generated until the back-up time. How it predicts the later private-keys?
I guess that it may have a fixed seed for generating random numbers and using that fixed seed it has a chain of random numbers but if this is true, it's not secure because by just stealing that seed, one can have all private-keys I would ever have in the future.
Though I'm not sure my background knowledge about bitcoin is correct or not. So if I have wrong assumptions let me know. Thanks in advance.