Did you know that public keys can be created from different data of the blockchain like transaction id, block hash, Sha256(public address) or even from the merkle root? Usage of these methods allows it to regenerate those 'discoverable' private keys. When parsing blockchain with a simple bot you can look for adresses and test for different methods, trying to find some corresponding private keys. You would be surprised about the amount of these cases... Read more about it here https://sharebox.ai/54375c70353ead96cecbb216a2933cd8