I have a philosophical question here about the security of Bitcoin wallets. I would appreciate anyone that can correct my logic in my thoughts below:
1- The blockchain is a public ledger. Hence, while we cannot tell who owns the coins, we can tell what public address contains the most coins
2- While it is hard (without the private keys) to create a transaction that transfers BTC from one public address to another, it is easy to confirm that such a transaction is valid if generated with the proper keys.
Suppose that there is an unethical miner with a large amount of GH/s. He knows that the reward is 25 BTC per block mined.
Now, the miner can see through the blockchain an address (call it XXX) with 250 BTC in it. Let's assume that the private key is completely secure (i.e. the legitimate owner has placed her wallet in cold storage or a paper wallet or other very secure mechanism).
Instead of using the mining power to mine, the miner decides to use it to try to crack the private key of this particular address.
The miner will simply test random private keys and attempt 1 BTC transfers to some address (say YYY). The miner does not need to actually broadcast the transfer, based on statement 2 above, the miner can easily verify if the random test private key produces a valid transaction.
After some amount of effort e, the miner will eventually succeed in finding a private key that produces a valid transaction. At that point the unethical miner can transfer the 250 BTC to his personal account.
As long as the effort e is less that required to mine 10 blocks (250/25) it is better for the miner to attack large wallets than to mine.
Based on the above I can only conclude that there is a value v above which any Bitcoin wallet becomes insecure (due to its vulnerability to attack). This value is independent of how secure somebody tries to keep their wallet.
Can somebody help me understand the flaws of my logic?
Thank you